@contember/react-richtext-renderer 2.0.0-alpha.9 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/src/components/RichText.cjs.map +1 -1
- package/dist/development/src/components/RichText.js.map +1 -1
- package/dist/development/src/components/RichTextBlocksRenderer.cjs.map +1 -1
- package/dist/development/src/components/RichTextBlocksRenderer.js.map +1 -1
- package/dist/development/src/components/RichTextFieldRenderer.cjs.map +1 -1
- package/dist/development/src/components/RichTextFieldRenderer.js.map +1 -1
- package/dist/development/src/components/RichTextRenderer.cjs.map +1 -1
- package/dist/development/src/components/RichTextRenderer.js.map +1 -1
- package/dist/development/src/hooks/useRichTextBlocksSource.cjs.map +1 -1
- package/dist/development/src/hooks/useRichTextBlocksSource.js.map +1 -1
- package/dist/development/src/hooks/useRichTextFieldSource.cjs.map +1 -1
- package/dist/development/src/hooks/useRichTextFieldSource.js.map +1 -1
- package/dist/development/src/internal/components/LeafRenderer.cjs.map +1 -1
- package/dist/development/src/internal/components/LeafRenderer.js.map +1 -1
- package/dist/development/src/internal/components/RenderElementFallback.cjs.map +1 -1
- package/dist/development/src/internal/components/RenderElementFallback.js.map +1 -1
- package/dist/development/src/internal/components/RenderLeafFallback.cjs.map +1 -1
- package/dist/development/src/internal/components/RenderLeafFallback.js.map +1 -1
- package/dist/development/src/internal/defaultDeserialize.cjs.map +1 -1
- package/dist/development/src/internal/defaultDeserialize.js.map +1 -1
- package/dist/development/src/internal/renderChildren.cjs.map +1 -1
- package/dist/development/src/internal/renderChildren.js.map +1 -1
- package/dist/development/src/internal/useReferenceMetadata.cjs.map +1 -1
- package/dist/development/src/internal/useReferenceMetadata.js.map +1 -1
- package/dist/production/src/components/RichText.cjs.map +1 -1
- package/dist/production/src/components/RichText.js.map +1 -1
- package/dist/production/src/components/RichTextBlocksRenderer.cjs.map +1 -1
- package/dist/production/src/components/RichTextBlocksRenderer.js.map +1 -1
- package/dist/production/src/components/RichTextFieldRenderer.cjs.map +1 -1
- package/dist/production/src/components/RichTextFieldRenderer.js.map +1 -1
- package/dist/production/src/components/RichTextRenderer.cjs.map +1 -1
- package/dist/production/src/components/RichTextRenderer.js.map +1 -1
- package/dist/production/src/hooks/useRichTextBlocksSource.cjs.map +1 -1
- package/dist/production/src/hooks/useRichTextBlocksSource.js.map +1 -1
- package/dist/production/src/hooks/useRichTextFieldSource.cjs.map +1 -1
- package/dist/production/src/hooks/useRichTextFieldSource.js.map +1 -1
- package/dist/production/src/internal/components/ElementRenderer.cjs.map +1 -1
- package/dist/production/src/internal/components/ElementRenderer.js.map +1 -1
- package/dist/production/src/internal/components/LeafRenderer.cjs.map +1 -1
- package/dist/production/src/internal/components/LeafRenderer.js.map +1 -1
- package/dist/production/src/internal/components/RenderElementFallback.cjs.map +1 -1
- package/dist/production/src/internal/components/RenderElementFallback.js.map +1 -1
- package/dist/production/src/internal/components/RenderLeafFallback.cjs.map +1 -1
- package/dist/production/src/internal/components/RenderLeafFallback.js.map +1 -1
- package/dist/production/src/internal/defaultDeserialize.cjs.map +1 -1
- package/dist/production/src/internal/defaultDeserialize.js.map +1 -1
- package/dist/production/src/internal/renderChildren.cjs.map +1 -1
- package/dist/production/src/internal/renderChildren.js.map +1 -1
- package/dist/production/src/internal/useReferenceMetadata.cjs.map +1 -1
- package/dist/production/src/internal/useReferenceMetadata.js.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/tests/decodeBlockSource.test.tsx +27 -29
- package/tests/renderElement.test.tsx +15 -96
- package/tests/renderLeaf.test.tsx +17 -51
- package/tests/renderReferences.test.tsx +7 -31
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe, expect, test } from '
|
|
1
|
+
import { describe, expect, test } from 'bun:test'
|
|
2
2
|
import { BuiltinElements } from '../src'
|
|
3
3
|
import { renderHook } from '@testing-library/react'
|
|
4
4
|
import { useRichTextBlocksSource } from '../src/hooks/useRichTextBlocksSource'
|
|
@@ -30,34 +30,32 @@ describe('useRichTextBlocksSource', () => {
|
|
|
30
30
|
referencesField: 'references',
|
|
31
31
|
referenceDiscriminationField: 'type',
|
|
32
32
|
}))
|
|
33
|
-
expect(result.current).
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
]
|
|
60
|
-
`)
|
|
33
|
+
expect(result.current).toStrictEqual([
|
|
34
|
+
{
|
|
35
|
+
'content': {
|
|
36
|
+
'children': [
|
|
37
|
+
{
|
|
38
|
+
'children': [
|
|
39
|
+
{
|
|
40
|
+
'text': 'Foo bar',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
'referenceId': '74bfb183-3adf-4cc1-8e8e-6d5cd700cadd',
|
|
44
|
+
'type': 'reference',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
'formatVersion': 1,
|
|
48
|
+
},
|
|
49
|
+
'id': undefined,
|
|
50
|
+
'references': {
|
|
51
|
+
'74bfb183-3adf-4cc1-8e8e-6d5cd700cadd': {
|
|
52
|
+
'id': '74bfb183-3adf-4cc1-8e8e-6d5cd700cadd',
|
|
53
|
+
'type': 'image',
|
|
54
|
+
'url': 'https://example.com/image.png',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
])
|
|
61
59
|
})
|
|
62
60
|
|
|
63
61
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe, expect, test } from '
|
|
1
|
+
import { describe, expect, test } from 'bun:test'
|
|
2
2
|
import { render } from '@testing-library/react'
|
|
3
3
|
import { BuiltinElements, RichText } from '../src'
|
|
4
4
|
|
|
@@ -19,16 +19,8 @@ describe('paragraph rendering', () => {
|
|
|
19
19
|
text: 'Hello',
|
|
20
20
|
isBold: true,
|
|
21
21
|
}],
|
|
22
|
-
})]} />).container.
|
|
23
|
-
.
|
|
24
|
-
<p
|
|
25
|
-
data-contember-type="paragraph"
|
|
26
|
-
>
|
|
27
|
-
<b>
|
|
28
|
-
Hello
|
|
29
|
-
</b>
|
|
30
|
-
</p>
|
|
31
|
-
`)
|
|
22
|
+
})]} />).container.innerHTML)
|
|
23
|
+
.toEqual(`<p data-contember-type="paragraph"><b>Hello</b></p>`)
|
|
32
24
|
})
|
|
33
25
|
|
|
34
26
|
test('render table', () => {
|
|
@@ -43,24 +35,8 @@ describe('paragraph rendering', () => {
|
|
|
43
35
|
}],
|
|
44
36
|
}],
|
|
45
37
|
}],
|
|
46
|
-
})]} />).container.
|
|
47
|
-
.
|
|
48
|
-
<table
|
|
49
|
-
data-contember-type="table"
|
|
50
|
-
>
|
|
51
|
-
<tbody>
|
|
52
|
-
<tr
|
|
53
|
-
data-contember-type="tableRow"
|
|
54
|
-
>
|
|
55
|
-
<td
|
|
56
|
-
data-contember-type="tableCell"
|
|
57
|
-
>
|
|
58
|
-
Hello
|
|
59
|
-
</td>
|
|
60
|
-
</tr>
|
|
61
|
-
</tbody>
|
|
62
|
-
</table>
|
|
63
|
-
`)
|
|
38
|
+
})]} />).container.innerHTML)
|
|
39
|
+
.toEqual(`<table data-contember-type="table"><tbody><tr data-contember-type="tableRow"><td data-contember-type="tableCell">Hello</td></tr></tbody></table>`)
|
|
64
40
|
})
|
|
65
41
|
|
|
66
42
|
test('render table with header', () => {
|
|
@@ -76,26 +52,8 @@ describe('paragraph rendering', () => {
|
|
|
76
52
|
}],
|
|
77
53
|
}],
|
|
78
54
|
}],
|
|
79
|
-
})]} />).container.
|
|
80
|
-
.
|
|
81
|
-
<table
|
|
82
|
-
data-contember-type="table"
|
|
83
|
-
>
|
|
84
|
-
<thead>
|
|
85
|
-
<tr
|
|
86
|
-
data-contember-headerscope="table"
|
|
87
|
-
data-contember-type="tableRow"
|
|
88
|
-
>
|
|
89
|
-
<td
|
|
90
|
-
data-contember-type="tableCell"
|
|
91
|
-
>
|
|
92
|
-
Hello
|
|
93
|
-
</td>
|
|
94
|
-
</tr>
|
|
95
|
-
</thead>
|
|
96
|
-
<tbody />
|
|
97
|
-
</table>
|
|
98
|
-
`)
|
|
55
|
+
})]} />).container.innerHTML)
|
|
56
|
+
.toEqual(`<table data-contember-type="table"><thead><tr data-contember-type="tableRow" data-contember-headerscope="table"><td data-contember-type="tableCell">Hello</td></tr></thead><tbody></tbody></table>`)
|
|
99
57
|
})
|
|
100
58
|
|
|
101
59
|
test('render heading', () => {
|
|
@@ -105,15 +63,8 @@ describe('paragraph rendering', () => {
|
|
|
105
63
|
children: [{
|
|
106
64
|
text: 'Hello',
|
|
107
65
|
}],
|
|
108
|
-
})]} />).container.
|
|
109
|
-
.
|
|
110
|
-
<h1
|
|
111
|
-
data-contember-level="1"
|
|
112
|
-
data-contember-type="heading"
|
|
113
|
-
>
|
|
114
|
-
Hello
|
|
115
|
-
</h1>
|
|
116
|
-
`)
|
|
66
|
+
})]} />).container.innerHTML)
|
|
67
|
+
.toEqual(`<h1 data-contember-type="heading" data-contember-level="1">Hello</h1>`)
|
|
117
68
|
})
|
|
118
69
|
|
|
119
70
|
test('render list', () => {
|
|
@@ -125,18 +76,8 @@ describe('paragraph rendering', () => {
|
|
|
125
76
|
text: 'Hello',
|
|
126
77
|
}],
|
|
127
78
|
}],
|
|
128
|
-
})]} />).container.
|
|
129
|
-
.
|
|
130
|
-
<ul
|
|
131
|
-
data-contember-type="unorderedList"
|
|
132
|
-
>
|
|
133
|
-
<li
|
|
134
|
-
data-contember-type="listItem"
|
|
135
|
-
>
|
|
136
|
-
Hello
|
|
137
|
-
</li>
|
|
138
|
-
</ul>
|
|
139
|
-
`)
|
|
79
|
+
})]} />).container.innerHTML)
|
|
80
|
+
.toEqual(`<ul data-contember-type="unorderedList"><li data-contember-type="listItem">Hello</li></ul>`)
|
|
140
81
|
})
|
|
141
82
|
|
|
142
83
|
test('render ordered list', () => {
|
|
@@ -148,18 +89,8 @@ describe('paragraph rendering', () => {
|
|
|
148
89
|
text: 'Hello',
|
|
149
90
|
}],
|
|
150
91
|
}],
|
|
151
|
-
})]} />).container.
|
|
152
|
-
.
|
|
153
|
-
<ol
|
|
154
|
-
data-contember-type="orderedList"
|
|
155
|
-
>
|
|
156
|
-
<li
|
|
157
|
-
data-contember-type="listItem"
|
|
158
|
-
>
|
|
159
|
-
Hello
|
|
160
|
-
</li>
|
|
161
|
-
</ol>
|
|
162
|
-
`)
|
|
92
|
+
})]} />).container.innerHTML)
|
|
93
|
+
.toEqual(`<ol data-contember-type="orderedList"><li data-contember-type="listItem">Hello</li></ol>`)
|
|
163
94
|
})
|
|
164
95
|
|
|
165
96
|
test('custom element', () => {
|
|
@@ -189,19 +120,7 @@ describe('paragraph rendering', () => {
|
|
|
189
120
|
return <blockquote data-contember-type="blockquote">{it.children}</blockquote>
|
|
190
121
|
}
|
|
191
122
|
return it.fallback
|
|
192
|
-
}} />).container.
|
|
193
|
-
.
|
|
194
|
-
<blockquote
|
|
195
|
-
data-contember-type="blockquote"
|
|
196
|
-
>
|
|
197
|
-
<h1
|
|
198
|
-
data-contember-level="1"
|
|
199
|
-
data-contember-type="heading"
|
|
200
|
-
>
|
|
201
|
-
Hello
|
|
202
|
-
</h1>
|
|
203
|
-
Hello
|
|
204
|
-
</blockquote>
|
|
205
|
-
`)
|
|
123
|
+
}} />).container.innerHTML)
|
|
124
|
+
.toEqual(`<blockquote data-contember-type="blockquote"><h1 data-contember-type="heading" data-contember-level="1">Hello</h1>Hello</blockquote>`)
|
|
206
125
|
})
|
|
207
126
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe, expect, test } from '
|
|
1
|
+
import { describe, expect, test } from 'bun:test'
|
|
2
2
|
import { BuiltinLeaves, RichText } from '../src'
|
|
3
3
|
import { render } from '@testing-library/react'
|
|
4
4
|
|
|
@@ -16,61 +16,37 @@ describe('leaf rendering', () => {
|
|
|
16
16
|
})
|
|
17
17
|
|
|
18
18
|
test('render bold', () => {
|
|
19
|
-
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isBold')]} />).container.
|
|
20
|
-
.
|
|
21
|
-
<b>
|
|
22
|
-
Hello
|
|
23
|
-
</b>
|
|
24
|
-
`)
|
|
19
|
+
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isBold')]} />).container.innerHTML)
|
|
20
|
+
.toEqual(`<b>Hello</b>`)
|
|
25
21
|
})
|
|
26
22
|
|
|
27
23
|
test('render code', () => {
|
|
28
|
-
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isCode')]} />).container.
|
|
29
|
-
.
|
|
30
|
-
<code>
|
|
31
|
-
Hello
|
|
32
|
-
</code>
|
|
33
|
-
`)
|
|
24
|
+
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isCode')]} />).container.innerHTML)
|
|
25
|
+
.toEqual(`<code>Hello</code>`)
|
|
34
26
|
})
|
|
35
27
|
|
|
36
28
|
|
|
37
29
|
test('render highlighted', () => {
|
|
38
|
-
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isHighlighted')]} />).container.
|
|
39
|
-
.
|
|
40
|
-
<em>
|
|
41
|
-
Hello
|
|
42
|
-
</em>
|
|
43
|
-
`)
|
|
30
|
+
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isHighlighted')]} />).container.innerHTML)
|
|
31
|
+
.toEqual(`<em>Hello</em>`)
|
|
44
32
|
})
|
|
45
33
|
|
|
46
34
|
|
|
47
35
|
test('render italic', () => {
|
|
48
|
-
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isItalic')]} />).container.
|
|
49
|
-
.
|
|
50
|
-
<i>
|
|
51
|
-
Hello
|
|
52
|
-
</i>
|
|
53
|
-
`)
|
|
36
|
+
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isItalic')]} />).container.innerHTML)
|
|
37
|
+
.toEqual(`<i>Hello</i>`)
|
|
54
38
|
})
|
|
55
39
|
|
|
56
40
|
|
|
57
41
|
test('render underline', () => {
|
|
58
|
-
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isUnderlined')]} />).container.
|
|
59
|
-
.
|
|
60
|
-
<u>
|
|
61
|
-
Hello
|
|
62
|
-
</u>
|
|
63
|
-
`)
|
|
42
|
+
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isUnderlined')]} />).container.innerHTML)
|
|
43
|
+
.toEqual(`<u>Hello</u>`)
|
|
64
44
|
})
|
|
65
45
|
|
|
66
46
|
|
|
67
47
|
test('render struck through', () => {
|
|
68
|
-
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isStruckThrough')]} />).container.
|
|
69
|
-
.
|
|
70
|
-
<s>
|
|
71
|
-
Hello
|
|
72
|
-
</s>
|
|
73
|
-
`)
|
|
48
|
+
expect(render(<RichText blocks={[createLeafBlock('Hello', 'isStruckThrough')]} />).container.innerHTML)
|
|
49
|
+
.toEqual(`<s>Hello</s>`)
|
|
74
50
|
})
|
|
75
51
|
|
|
76
52
|
|
|
@@ -86,14 +62,8 @@ describe('leaf rendering', () => {
|
|
|
86
62
|
},
|
|
87
63
|
id: '1',
|
|
88
64
|
references: undefined,
|
|
89
|
-
}]} />).container.
|
|
90
|
-
.
|
|
91
|
-
<b>
|
|
92
|
-
<i>
|
|
93
|
-
Hello
|
|
94
|
-
</i>
|
|
95
|
-
</b>
|
|
96
|
-
`)
|
|
65
|
+
}]} />).container.innerHTML)
|
|
66
|
+
.toEqual(`<b><i>Hello</i></b>`)
|
|
97
67
|
})
|
|
98
68
|
|
|
99
69
|
test('render custom leaf', () => {
|
|
@@ -102,11 +72,7 @@ describe('leaf rendering', () => {
|
|
|
102
72
|
return <sup>{it.fallback}</sup>
|
|
103
73
|
}
|
|
104
74
|
return it.fallback
|
|
105
|
-
}} />).container.
|
|
106
|
-
.
|
|
107
|
-
<sup>
|
|
108
|
-
Hello
|
|
109
|
-
</sup>
|
|
110
|
-
`)
|
|
75
|
+
}} />).container.innerHTML)
|
|
76
|
+
.toEqual(`<sup>Hello</sup>`)
|
|
111
77
|
})
|
|
112
78
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe, expect, test } from '
|
|
1
|
+
import { describe, expect, test } from 'bun:test'
|
|
2
2
|
import { RichText } from '../src'
|
|
3
3
|
import { render } from '@testing-library/react'
|
|
4
4
|
|
|
@@ -21,12 +21,8 @@ describe('reference render', () => {
|
|
|
21
21
|
referenceRenderers={{
|
|
22
22
|
image: ({ reference }) => <img src={reference.url} />,
|
|
23
23
|
}}
|
|
24
|
-
/>).container.
|
|
25
|
-
.
|
|
26
|
-
<img
|
|
27
|
-
src="https://example.com/image.png"
|
|
28
|
-
/>
|
|
29
|
-
`)
|
|
24
|
+
/>).container.innerHTML)
|
|
25
|
+
.toEqual(`<img src="https://example.com/image.png">`)
|
|
30
26
|
})
|
|
31
27
|
|
|
32
28
|
test('nested reference', () => {
|
|
@@ -46,18 +42,8 @@ describe('reference render', () => {
|
|
|
46
42
|
referenceRenderers={{
|
|
47
43
|
link: ({ reference }) => <a href={reference.url} />,
|
|
48
44
|
}}
|
|
49
|
-
/>).container.
|
|
50
|
-
.
|
|
51
|
-
<p
|
|
52
|
-
data-contember-type="paragraph"
|
|
53
|
-
>
|
|
54
|
-
Lorem ipsum
|
|
55
|
-
<a
|
|
56
|
-
href="https://example.com/"
|
|
57
|
-
/>
|
|
58
|
-
sit amet.
|
|
59
|
-
</p>
|
|
60
|
-
`)
|
|
45
|
+
/>).container.innerHTML)
|
|
46
|
+
.toEqual(`<p data-contember-type="paragraph">Lorem ipsum <a href="https://example.com/"></a> sit amet.</p>`)
|
|
61
47
|
})
|
|
62
48
|
|
|
63
49
|
|
|
@@ -96,17 +82,7 @@ describe('reference render', () => {
|
|
|
96
82
|
referenceRenderers={{
|
|
97
83
|
link: ({ reference }) => <a href={reference.url} />,
|
|
98
84
|
}}
|
|
99
|
-
/>).container.
|
|
100
|
-
).
|
|
101
|
-
<p
|
|
102
|
-
data-contember-type="paragraph"
|
|
103
|
-
>
|
|
104
|
-
Lorem ipsum
|
|
105
|
-
<div>
|
|
106
|
-
err
|
|
107
|
-
</div>
|
|
108
|
-
sit amet.
|
|
109
|
-
</p>
|
|
110
|
-
`)
|
|
85
|
+
/>).container.innerHTML,
|
|
86
|
+
).toEqual(`<p data-contember-type="paragraph">Lorem ipsum <div>err</div> sit amet.</p>`)
|
|
111
87
|
})
|
|
112
88
|
})
|