@contember/react-richtext-renderer 2.1.0-alpha.9 → 2.1.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 (86) hide show
  1. package/dist/development/index.cjs +4 -4
  2. package/dist/development/index.js +2 -2
  3. package/dist/development/src/components/RichText.cjs.map +1 -1
  4. package/dist/development/src/components/RichText.js.map +1 -1
  5. package/dist/development/src/components/RichTextBlocksRenderer.cjs.map +1 -1
  6. package/dist/development/src/components/RichTextBlocksRenderer.js.map +1 -1
  7. package/dist/development/src/components/RichTextFieldRenderer.cjs.map +1 -1
  8. package/dist/development/src/components/RichTextFieldRenderer.js.map +1 -1
  9. package/dist/development/src/components/RichTextRenderer.cjs +2 -2
  10. package/dist/development/src/components/RichTextRenderer.cjs.map +1 -1
  11. package/dist/development/src/components/RichTextRenderer.js +2 -2
  12. package/dist/development/src/components/RichTextRenderer.js.map +1 -1
  13. package/dist/development/src/hooks/useRichTextBlocksSource.cjs +17 -15
  14. package/dist/development/src/hooks/useRichTextBlocksSource.cjs.map +1 -1
  15. package/dist/development/src/hooks/useRichTextBlocksSource.js +17 -15
  16. package/dist/development/src/hooks/useRichTextBlocksSource.js.map +1 -1
  17. package/dist/development/src/hooks/useRichTextFieldSource.cjs.map +1 -1
  18. package/dist/development/src/hooks/useRichTextFieldSource.js.map +1 -1
  19. package/dist/development/src/internal/components/ElementRenderer.cjs +17 -5
  20. package/dist/development/src/internal/components/ElementRenderer.cjs.map +1 -1
  21. package/dist/development/src/internal/components/ElementRenderer.js +17 -5
  22. package/dist/development/src/internal/components/ElementRenderer.js.map +1 -1
  23. package/dist/development/src/internal/components/LeafRenderer.cjs.map +1 -1
  24. package/dist/development/src/internal/components/LeafRenderer.js.map +1 -1
  25. package/dist/development/src/internal/components/RenderElementFallback.cjs.map +1 -1
  26. package/dist/development/src/internal/components/RenderElementFallback.js.map +1 -1
  27. package/dist/development/src/internal/components/RenderLeafFallback.cjs.map +1 -1
  28. package/dist/development/src/internal/components/RenderLeafFallback.js.map +1 -1
  29. package/dist/development/src/internal/defaultDeserialize.cjs.map +1 -1
  30. package/dist/development/src/internal/defaultDeserialize.js.map +1 -1
  31. package/dist/development/src/internal/renderChildren.cjs.map +1 -1
  32. package/dist/development/src/internal/renderChildren.js.map +1 -1
  33. package/dist/development/src/internal/useReferenceMetadata.cjs.map +1 -1
  34. package/dist/development/src/internal/useReferenceMetadata.js.map +1 -1
  35. package/dist/production/index.cjs +4 -4
  36. package/dist/production/index.js +2 -2
  37. package/dist/production/src/components/RichText.cjs.map +1 -1
  38. package/dist/production/src/components/RichText.js.map +1 -1
  39. package/dist/production/src/components/RichTextBlocksRenderer.cjs.map +1 -1
  40. package/dist/production/src/components/RichTextBlocksRenderer.js.map +1 -1
  41. package/dist/production/src/components/RichTextFieldRenderer.cjs.map +1 -1
  42. package/dist/production/src/components/RichTextFieldRenderer.js.map +1 -1
  43. package/dist/production/src/components/RichTextRenderer.cjs.map +1 -1
  44. package/dist/production/src/components/RichTextRenderer.js.map +1 -1
  45. package/dist/production/src/hooks/useRichTextBlocksSource.cjs +17 -15
  46. package/dist/production/src/hooks/useRichTextBlocksSource.cjs.map +1 -1
  47. package/dist/production/src/hooks/useRichTextBlocksSource.js +17 -15
  48. package/dist/production/src/hooks/useRichTextBlocksSource.js.map +1 -1
  49. package/dist/production/src/hooks/useRichTextFieldSource.cjs.map +1 -1
  50. package/dist/production/src/hooks/useRichTextFieldSource.js.map +1 -1
  51. package/dist/production/src/internal/components/ElementRenderer.cjs +9 -1
  52. package/dist/production/src/internal/components/ElementRenderer.cjs.map +1 -1
  53. package/dist/production/src/internal/components/ElementRenderer.js +9 -1
  54. package/dist/production/src/internal/components/ElementRenderer.js.map +1 -1
  55. package/dist/production/src/internal/components/LeafRenderer.cjs.map +1 -1
  56. package/dist/production/src/internal/components/LeafRenderer.js.map +1 -1
  57. package/dist/production/src/internal/components/RenderElementFallback.cjs.map +1 -1
  58. package/dist/production/src/internal/components/RenderElementFallback.js.map +1 -1
  59. package/dist/production/src/internal/components/RenderLeafFallback.cjs.map +1 -1
  60. package/dist/production/src/internal/components/RenderLeafFallback.js.map +1 -1
  61. package/dist/production/src/internal/defaultDeserialize.cjs.map +1 -1
  62. package/dist/production/src/internal/defaultDeserialize.js.map +1 -1
  63. package/dist/production/src/internal/renderChildren.cjs.map +1 -1
  64. package/dist/production/src/internal/renderChildren.js.map +1 -1
  65. package/dist/production/src/internal/useReferenceMetadata.cjs.map +1 -1
  66. package/dist/production/src/internal/useReferenceMetadata.js.map +1 -1
  67. package/dist/types/components/RichText.d.ts.map +1 -1
  68. package/dist/types/components/RichTextRenderer.d.ts.map +1 -1
  69. package/dist/types/hooks/useRichTextBlocksSource.d.ts.map +1 -1
  70. package/dist/types/internal/components/ElementRenderer.d.ts.map +1 -1
  71. package/dist/types/tsconfig.tsbuildinfo +1 -1
  72. package/dist/types/types/custom/RenderLeaf.d.ts.map +1 -1
  73. package/package.json +5 -6
  74. package/src/components/RichText.tsx +4 -2
  75. package/src/components/RichTextRenderer.tsx +0 -2
  76. package/src/hooks/useRichTextBlocksSource.ts +30 -28
  77. package/src/index.ts +0 -1
  78. package/src/internal/components/ElementRenderer.tsx +5 -2
  79. package/src/internal/components/LeafRenderer.tsx +1 -1
  80. package/src/internal/components/RenderElementFallback.tsx +3 -3
  81. package/src/types/RichTextRenderingOptions.ts +1 -1
  82. package/src/types/custom/RenderLeaf.ts +6 -8
  83. package/tests/decodeBlockSource.test.tsx +18 -17
  84. package/tests/renderElement.test.tsx +130 -83
  85. package/tests/renderLeaf.test.tsx +31 -23
  86. package/tests/renderReferences.test.tsx +82 -38
@@ -3,10 +3,12 @@ import { RichText } from '../src'
3
3
  import { render } from '@testing-library/react'
4
4
 
5
5
  describe('reference render', () => {
6
-
7
6
  test('render ref', () => {
8
7
  const block = {
9
- content: { 'formatVersion': 1, 'children': [{ 'type': 'reference', 'children': [{ 'text': '' }], 'referenceId': '30d83f6b-fca7-4130-9fa4-4ea3de93971b' }] },
8
+ content: {
9
+ 'formatVersion': 1,
10
+ 'children': [{ 'type': 'reference', 'children': [{ 'text': '' }], 'referenceId': '30d83f6b-fca7-4130-9fa4-4ea3de93971b' }],
11
+ },
10
12
  id: '1',
11
13
  references: {
12
14
  '30d83f6b-fca7-4130-9fa4-4ea3de93971b': {
@@ -16,18 +18,32 @@ describe('reference render', () => {
16
18
  },
17
19
  },
18
20
  }
19
- expect(render(<RichText
20
- blocks={[block]}
21
- referenceRenderers={{
22
- image: ({ reference }) => <img src={reference.url} />,
23
- }}
24
- />).container.innerHTML)
21
+ expect(
22
+ render(
23
+ <RichText
24
+ blocks={[block]}
25
+ referenceRenderers={{
26
+ image: ({ reference }) => <img src={reference.url} />,
27
+ }}
28
+ />,
29
+ ).container.innerHTML,
30
+ )
25
31
  .toEqual(`<img src="https://example.com/image.png">`)
26
32
  })
27
33
 
28
34
  test('nested reference', () => {
29
35
  const block = {
30
- content: { 'formatVersion': 1, 'children': [{ 'type': 'paragraph', 'children': [{ 'text': 'Lorem ipsum ' }, { 'type': 'reference', 'children': [{ 'text': 'dolor' }], 'referenceId': '21c471a6-ae63-4d5d-bb5d-412b61519cad' }, { 'text': ' sit amet.' }] }] } as const,
36
+ content: {
37
+ 'formatVersion': 1,
38
+ 'children': [{
39
+ 'type': 'paragraph',
40
+ 'children': [{ 'text': 'Lorem ipsum ' }, {
41
+ 'type': 'reference',
42
+ 'children': [{ 'text': 'dolor' }],
43
+ 'referenceId': '21c471a6-ae63-4d5d-bb5d-412b61519cad',
44
+ }, { 'text': ' sit amet.' }],
45
+ }],
46
+ } as const,
31
47
  id: '1',
32
48
  references: {
33
49
  '21c471a6-ae63-4d5d-bb5d-412b61519cad': {
@@ -37,52 +53,80 @@ describe('reference render', () => {
37
53
  },
38
54
  },
39
55
  }
40
- expect(render(<RichText
41
- blocks={[block]}
42
- referenceRenderers={{
43
- link: ({ reference }) => <a href={reference.url} />,
44
- }}
45
- />).container.innerHTML)
56
+ expect(
57
+ render(
58
+ <RichText
59
+ blocks={[block]}
60
+ referenceRenderers={{
61
+ link: ({ reference }) => <a href={reference.url} />,
62
+ }}
63
+ />,
64
+ ).container.innerHTML,
65
+ )
46
66
  .toEqual(`<p data-contember-type="paragraph">Lorem ipsum <a href="https://example.com/"></a> sit amet.</p>`)
47
67
  })
48
68
 
49
-
50
69
  test('undefined reference', () => {
51
70
  const block = {
52
- content: { 'formatVersion': 1, 'children': [{ 'type': 'paragraph', 'children': [{ 'text': 'Lorem ipsum ' }, { 'type': 'reference', 'children': [{ 'text': 'dolor' }], 'referenceId': '21c471a6-ae63-4d5d-bb5d-412b61519cad' }, { 'text': ' sit amet.' }] }] } as const,
71
+ content: {
72
+ 'formatVersion': 1,
73
+ 'children': [{
74
+ 'type': 'paragraph',
75
+ 'children': [{ 'text': 'Lorem ipsum ' }, {
76
+ 'type': 'reference',
77
+ 'children': [{ 'text': 'dolor' }],
78
+ 'referenceId': '21c471a6-ae63-4d5d-bb5d-412b61519cad',
79
+ }, { 'text': ' sit amet.' }],
80
+ }],
81
+ } as const,
53
82
  id: '1',
54
83
  references: {},
55
84
  }
56
85
  expect(() => {
57
- render(<RichText
58
- blocks={[block]}
59
- referenceRenderers={{
60
- link: ({ reference }) => <a href={reference.url} />,
61
- }}
62
- />)
86
+ render(
87
+ <RichText
88
+ blocks={[block]}
89
+ referenceRenderers={{
90
+ link: ({ reference }) => <a href={reference.url} />,
91
+ }}
92
+ />,
93
+ )
63
94
  }).toThrow()
64
95
  })
65
96
 
66
97
  test('undefined reference handling', () => {
67
98
  const block = {
68
- content: { 'formatVersion': 1, 'children': [{ 'type': 'paragraph', 'children': [{ 'text': 'Lorem ipsum ' }, { 'type': 'reference', 'children': [{ 'text': 'dolor' }], 'referenceId': '21c471a6-ae63-4d5d-bb5d-412b61519cad' }, { 'text': ' sit amet.' }] }] } as const,
99
+ content: {
100
+ 'formatVersion': 1,
101
+ 'children': [{
102
+ 'type': 'paragraph',
103
+ 'children': [{ 'text': 'Lorem ipsum ' }, {
104
+ 'type': 'reference',
105
+ 'children': [{ 'text': 'dolor' }],
106
+ 'referenceId': '21c471a6-ae63-4d5d-bb5d-412b61519cad',
107
+ }, { 'text': ' sit amet.' }],
108
+ }],
109
+ } as const,
69
110
  id: '1',
70
111
  references: {},
71
112
  }
72
- expect(render(<RichText
73
- blocks={[block]}
74
- undefinedReferenceHandler={id => ({
75
- reference: {
76
- id,
77
- type: 'err',
78
- },
79
- referenceType: 'err',
80
- referenceRenderer: () => <div>err</div>,
81
- })}
82
- referenceRenderers={{
83
- link: ({ reference }) => <a href={reference.url} />,
84
- }}
85
- />).container.innerHTML,
113
+ expect(
114
+ render(
115
+ <RichText
116
+ blocks={[block]}
117
+ undefinedReferenceHandler={id => ({
118
+ reference: {
119
+ id,
120
+ type: 'err',
121
+ },
122
+ referenceType: 'err',
123
+ referenceRenderer: () => <div>err</div>,
124
+ })}
125
+ referenceRenderers={{
126
+ link: ({ reference }) => <a href={reference.url} />,
127
+ }}
128
+ />,
129
+ ).container.innerHTML,
86
130
  ).toEqual(`<p data-contember-type="paragraph">Lorem ipsum <div>err</div> sit amet.</p>`)
87
131
  })
88
132
  })