File tree Expand file tree Collapse file tree 10 files changed +39
-7
lines changed
packages/richtext-lexical/src
components/RichText/converter
features/converters/html/converter Expand file tree Collapse file tree 10 files changed +39
-7
lines changed Original file line number Diff line number Diff line change
1
+ import type { SerializedTabNode } from '../../../../../../nodeTypes.js'
2
+ import type { JSXConverters } from '../types.js'
3
+
4
+ export const TabJSXConverter : JSXConverters < SerializedTabNode > = {
5
+ tab : ( { node } ) => {
6
+ // Tab
7
+ return node . text
8
+ } ,
9
+ }
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import { LinebreakJSXConverter } from './converters/linebreak.js'
8
8
import { LinkJSXConverter } from './converters/link.js'
9
9
import { ListJSXConverter } from './converters/list.js'
10
10
import { ParagraphJSXConverter } from './converters/paragraph.js'
11
+ import { TabJSXConverter } from './converters/tab.js'
11
12
import { TableJSXConverter } from './converters/table.js'
12
13
import { TextJSXConverter } from './converters/text.js'
13
14
import { UploadJSXConverter } from './converters/upload.js'
@@ -23,4 +24,5 @@ export const defaultJSXConverters: JSXConverters<DefaultNodeTypes> = {
23
24
...ListJSXConverter ,
24
25
...LinkJSXConverter ( { } ) ,
25
26
...UploadJSXConverter ,
27
+ ...TabJSXConverter ,
26
28
}
Original file line number Diff line number Diff line change @@ -5,8 +5,10 @@ export { LinebreakJSXConverter } from './components/RichText/converter/converter
5
5
export { LinkJSXConverter } from './components/RichText/converter/converters/link.js'
6
6
export { ListJSXConverter } from './components/RichText/converter/converters/list.js'
7
7
export { ParagraphJSXConverter } from './components/RichText/converter/converters/paragraph.js'
8
+ export { TabJSXConverter } from './components/RichText/converter/converters/tab.js'
8
9
export { TableJSXConverter } from './components/RichText/converter/converters/table.js'
9
10
export { TextJSXConverter } from './components/RichText/converter/converters/text.js'
11
+
10
12
export { UploadJSXConverter } from './components/RichText/converter/converters/upload.js'
11
13
12
14
export { defaultJSXConverters } from './components/RichText/converter/defaultConverters.js'
Original file line number Diff line number Diff line change 1
- import type { SerializedParagraphNode } from 'lexical'
2
-
1
+ import type { SerializedLineBreakNode } from '../../../../../nodeTypes.js'
3
2
import type { HTMLConverter } from '../types.js'
4
3
5
- export const LinebreakHTMLConverter : HTMLConverter < SerializedParagraphNode > = {
4
+ export const LinebreakHTMLConverter : HTMLConverter < SerializedLineBreakNode > = {
6
5
converter ( ) {
7
6
return `<br>`
8
7
} ,
Original file line number Diff line number Diff line change 1
- import type { SerializedParagraphNode } from 'lexical'
2
-
1
+ import type { SerializedParagraphNode } from '../../../../../nodeTypes.js'
3
2
import type { HTMLConverter } from '../types.js'
4
3
5
4
import { convertLexicalNodesToHTML } from '../index.js'
Original file line number Diff line number Diff line change
1
+ import type { SerializedTabNode } from '../../../../../nodeTypes.js'
2
+ import type { HTMLConverter } from '../types.js'
3
+
4
+ export const TabHTMLConverter : HTMLConverter < SerializedTabNode > = {
5
+ converter ( { node } ) {
6
+ return node . text
7
+ } ,
8
+ nodeTypes : [ 'tab' ] ,
9
+ }
Original file line number Diff line number Diff line change 1
- import type { SerializedTextNode } from 'lexical'
2
-
3
1
import escapeHTML from 'escape-html'
4
2
3
+ import type { SerializedTextNode } from '../../../../../nodeTypes.js'
5
4
import type { HTMLConverter } from '../types.js'
6
5
7
6
import { NodeFormat } from '../../../../../lexical/utils/nodeFormat.js'
Original file line number Diff line number Diff line change @@ -2,10 +2,12 @@ import type { HTMLConverter } from './types.js'
2
2
3
3
import { LinebreakHTMLConverter } from './converters/linebreak.js'
4
4
import { ParagraphHTMLConverter } from './converters/paragraph.js'
5
+ import { TabHTMLConverter } from './converters/tab.js'
5
6
import { TextHTMLConverter } from './converters/text.js'
6
7
7
8
export const defaultHTMLConverters : HTMLConverter < any > [ ] = [
8
9
ParagraphHTMLConverter ,
9
10
TextHTMLConverter ,
10
11
LinebreakHTMLConverter ,
12
+ TabHTMLConverter ,
11
13
]
Original file line number Diff line number Diff line change @@ -869,6 +869,8 @@ export {
869
869
export { LinebreakHTMLConverter } from './features/converters/html/converter/converters/linebreak.js'
870
870
export { ParagraphHTMLConverter } from './features/converters/html/converter/converters/paragraph.js'
871
871
872
+ export { TabHTMLConverter } from './features/converters/html/converter/converters/tab.js'
873
+
872
874
export { TextHTMLConverter } from './features/converters/html/converter/converters/text.js'
873
875
export { defaultHTMLConverters } from './features/converters/html/converter/defaultConverters.js'
874
876
export {
Original file line number Diff line number Diff line change 1
1
import type {
2
2
SerializedLineBreakNode as _SerializedLineBreakNode ,
3
+ SerializedTabNode as _SerializedTabNode ,
3
4
SerializedTextNode as _SerializedTextNode ,
4
5
SerializedEditorState ,
5
6
SerializedElementNode ,
@@ -55,6 +56,14 @@ export type SerializedTextNode = Spread<
55
56
_SerializedTextNode
56
57
>
57
58
59
+ export type SerializedTabNode = Spread <
60
+ {
61
+ children ?: never // required so that our typed editor state doesn't automatically add children
62
+ type : 'tab'
63
+ } ,
64
+ _SerializedTabNode
65
+ >
66
+
58
67
export type SerializedLineBreakNode = Spread <
59
68
{
60
69
children ?: never // required so that our typed editor state doesn't automatically add children
You can’t perform that action at this time.
0 commit comments