@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.
Files changed (56) hide show
  1. package/dist/development/src/components/RichText.cjs.map +1 -1
  2. package/dist/development/src/components/RichText.js.map +1 -1
  3. package/dist/development/src/components/RichTextBlocksRenderer.cjs.map +1 -1
  4. package/dist/development/src/components/RichTextBlocksRenderer.js.map +1 -1
  5. package/dist/development/src/components/RichTextFieldRenderer.cjs.map +1 -1
  6. package/dist/development/src/components/RichTextFieldRenderer.js.map +1 -1
  7. package/dist/development/src/components/RichTextRenderer.cjs.map +1 -1
  8. package/dist/development/src/components/RichTextRenderer.js.map +1 -1
  9. package/dist/development/src/hooks/useRichTextBlocksSource.cjs.map +1 -1
  10. package/dist/development/src/hooks/useRichTextBlocksSource.js.map +1 -1
  11. package/dist/development/src/hooks/useRichTextFieldSource.cjs.map +1 -1
  12. package/dist/development/src/hooks/useRichTextFieldSource.js.map +1 -1
  13. package/dist/development/src/internal/components/LeafRenderer.cjs.map +1 -1
  14. package/dist/development/src/internal/components/LeafRenderer.js.map +1 -1
  15. package/dist/development/src/internal/components/RenderElementFallback.cjs.map +1 -1
  16. package/dist/development/src/internal/components/RenderElementFallback.js.map +1 -1
  17. package/dist/development/src/internal/components/RenderLeafFallback.cjs.map +1 -1
  18. package/dist/development/src/internal/components/RenderLeafFallback.js.map +1 -1
  19. package/dist/development/src/internal/defaultDeserialize.cjs.map +1 -1
  20. package/dist/development/src/internal/defaultDeserialize.js.map +1 -1
  21. package/dist/development/src/internal/renderChildren.cjs.map +1 -1
  22. package/dist/development/src/internal/renderChildren.js.map +1 -1
  23. package/dist/development/src/internal/useReferenceMetadata.cjs.map +1 -1
  24. package/dist/development/src/internal/useReferenceMetadata.js.map +1 -1
  25. package/dist/production/src/components/RichText.cjs.map +1 -1
  26. package/dist/production/src/components/RichText.js.map +1 -1
  27. package/dist/production/src/components/RichTextBlocksRenderer.cjs.map +1 -1
  28. package/dist/production/src/components/RichTextBlocksRenderer.js.map +1 -1
  29. package/dist/production/src/components/RichTextFieldRenderer.cjs.map +1 -1
  30. package/dist/production/src/components/RichTextFieldRenderer.js.map +1 -1
  31. package/dist/production/src/components/RichTextRenderer.cjs.map +1 -1
  32. package/dist/production/src/components/RichTextRenderer.js.map +1 -1
  33. package/dist/production/src/hooks/useRichTextBlocksSource.cjs.map +1 -1
  34. package/dist/production/src/hooks/useRichTextBlocksSource.js.map +1 -1
  35. package/dist/production/src/hooks/useRichTextFieldSource.cjs.map +1 -1
  36. package/dist/production/src/hooks/useRichTextFieldSource.js.map +1 -1
  37. package/dist/production/src/internal/components/ElementRenderer.cjs.map +1 -1
  38. package/dist/production/src/internal/components/ElementRenderer.js.map +1 -1
  39. package/dist/production/src/internal/components/LeafRenderer.cjs.map +1 -1
  40. package/dist/production/src/internal/components/LeafRenderer.js.map +1 -1
  41. package/dist/production/src/internal/components/RenderElementFallback.cjs.map +1 -1
  42. package/dist/production/src/internal/components/RenderElementFallback.js.map +1 -1
  43. package/dist/production/src/internal/components/RenderLeafFallback.cjs.map +1 -1
  44. package/dist/production/src/internal/components/RenderLeafFallback.js.map +1 -1
  45. package/dist/production/src/internal/defaultDeserialize.cjs.map +1 -1
  46. package/dist/production/src/internal/defaultDeserialize.js.map +1 -1
  47. package/dist/production/src/internal/renderChildren.cjs.map +1 -1
  48. package/dist/production/src/internal/renderChildren.js.map +1 -1
  49. package/dist/production/src/internal/useReferenceMetadata.cjs.map +1 -1
  50. package/dist/production/src/internal/useReferenceMetadata.js.map +1 -1
  51. package/dist/types/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +5 -3
  53. package/tests/decodeBlockSource.test.tsx +27 -29
  54. package/tests/renderElement.test.tsx +15 -96
  55. package/tests/renderLeaf.test.tsx +17 -51
  56. package/tests/renderReferences.test.tsx +7 -31
@@ -1,4 +1,4 @@
1
- import { describe, expect, test } from 'vitest'
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).toMatchInlineSnapshot(`
34
- [
35
- {
36
- "content": {
37
- "children": [
38
- {
39
- "children": [
40
- {
41
- "text": "Foo bar",
42
- },
43
- ],
44
- "referenceId": "74bfb183-3adf-4cc1-8e8e-6d5cd700cadd",
45
- "type": "reference",
46
- },
47
- ],
48
- "formatVersion": 1,
49
- },
50
- "id": undefined,
51
- "references": {
52
- "74bfb183-3adf-4cc1-8e8e-6d5cd700cadd": {
53
- "id": "74bfb183-3adf-4cc1-8e8e-6d5cd700cadd",
54
- "type": "image",
55
- "url": "https://example.com/image.png",
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 'vitest'
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.firstChild)
23
- .toMatchInlineSnapshot(`
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.firstChild)
47
- .toMatchInlineSnapshot(`
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.firstChild)
80
- .toMatchInlineSnapshot(`
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.firstChild)
109
- .toMatchInlineSnapshot(`
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.firstChild)
129
- .toMatchInlineSnapshot(`
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.firstChild)
152
- .toMatchInlineSnapshot(`
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.firstChild)
193
- .toMatchInlineSnapshot(`
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 'vitest'
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.firstChild)
20
- .toMatchInlineSnapshot(`
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.firstChild)
29
- .toMatchInlineSnapshot(`
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.firstChild)
39
- .toMatchInlineSnapshot(`
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.firstChild)
49
- .toMatchInlineSnapshot(`
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.firstChild)
59
- .toMatchInlineSnapshot(`
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.firstChild)
69
- .toMatchInlineSnapshot(`
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.firstChild)
90
- .toMatchInlineSnapshot(`
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.firstChild)
106
- .toMatchInlineSnapshot(`
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 'vitest'
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.firstChild)
25
- .toMatchInlineSnapshot(`
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.firstChild)
50
- .toMatchInlineSnapshot(`
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.firstChild,
100
- ).toMatchInlineSnapshot(`
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
  })