@contentful/field-editor-rich-text 3.16.8 → 3.16.10

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 (376) hide show
  1. package/dist/cjs/ContentfulEditorProvider.js +8 -8
  2. package/dist/cjs/RichTextEditor.js +20 -22
  3. package/dist/cjs/RichTextEditor.styles.js +1 -2
  4. package/dist/cjs/SdkProvider.js +5 -7
  5. package/dist/cjs/SyncEditorChanges.js +6 -15
  6. package/dist/cjs/Toolbar/_tests_/toolbar.test.js +15 -17
  7. package/dist/cjs/Toolbar/components/EmbedEntityWidget.js +9 -13
  8. package/dist/cjs/Toolbar/components/EmbeddedEntityDropdownButton.js +8 -10
  9. package/dist/cjs/Toolbar/components/StickyToolbarWrapper.js +2 -2
  10. package/dist/cjs/Toolbar/index.js +30 -33
  11. package/dist/cjs/__fixtures__/FakeSdk.js +3 -3
  12. package/dist/cjs/__fixtures__/asset/index.js +10 -10
  13. package/dist/cjs/__fixtures__/content-type/index.js +1 -1
  14. package/dist/cjs/__fixtures__/entry/index.js +7 -7
  15. package/dist/cjs/__fixtures__/fixtures.js +6 -8
  16. package/dist/cjs/__fixtures__/locale/index.js +2 -2
  17. package/dist/cjs/__fixtures__/space/index.js +1 -1
  18. package/dist/cjs/constants/Schema.js +0 -1
  19. package/dist/cjs/dialogs/HypelinkDialog/HyperlinkDialog.js +38 -43
  20. package/dist/cjs/dialogs/openRichTextDialog.js +4 -6
  21. package/dist/cjs/dialogs/renderRichTextDialog.js +4 -6
  22. package/dist/cjs/helpers/__tests__/removeInternalMarks.test.js +10 -10
  23. package/dist/cjs/helpers/callbacks.js +3 -3
  24. package/dist/cjs/helpers/config.js +2 -2
  25. package/dist/cjs/helpers/editor.js +44 -53
  26. package/dist/cjs/helpers/environment.js +3 -3
  27. package/dist/cjs/helpers/formatDateAndTime.js +4 -5
  28. package/dist/cjs/helpers/getAllowedResourcesForNodeType.js +5 -22
  29. package/dist/cjs/helpers/getLinkedContentTypeIdsForNodeType.js +5 -29
  30. package/dist/cjs/helpers/nodeFactory.js +6 -6
  31. package/dist/cjs/helpers/sdkNavigatorSlideIn.js +6 -14
  32. package/dist/cjs/helpers/sdkNavigatorSlideIn.spec.js +2 -3
  33. package/dist/cjs/helpers/toSlateValue.js +3 -14
  34. package/dist/cjs/helpers/transformers.js +5 -5
  35. package/dist/cjs/helpers/validations.js +9 -12
  36. package/dist/cjs/index.js +5 -7
  37. package/dist/cjs/internal/constants.js +2 -4
  38. package/dist/cjs/internal/hooks.js +7 -9
  39. package/dist/cjs/internal/misc.js +12 -15
  40. package/dist/cjs/internal/queries.js +108 -115
  41. package/dist/cjs/internal/transforms.js +48 -51
  42. package/dist/cjs/internal/types/editor.js +1 -3
  43. package/dist/cjs/plugins/Break/createExitBreakPlugin.test.js +3 -4
  44. package/dist/cjs/plugins/Break/createResetNodePlugin.js +0 -1
  45. package/dist/cjs/plugins/Break/createSoftBreakPlugin.test.js +3 -3
  46. package/dist/cjs/plugins/CommandPalette/components/CommandList.js +33 -35
  47. package/dist/cjs/plugins/CommandPalette/components/CommandList.styles.js +1 -1
  48. package/dist/cjs/plugins/CommandPalette/components/CommandPrompt.js +5 -7
  49. package/dist/cjs/plugins/CommandPalette/hooks/useCommandList.js +3 -7
  50. package/dist/cjs/plugins/CommandPalette/onKeyDown.js +1 -6
  51. package/dist/cjs/plugins/CommandPalette/onKeyDown.spec.js +4 -6
  52. package/dist/cjs/plugins/CommandPalette/useCommands.js +3 -3
  53. package/dist/cjs/plugins/CommandPalette/utils/fetchEntries.js +0 -2
  54. package/dist/cjs/plugins/CommandPalette/utils/trimLeadingSlash.js +1 -6
  55. package/dist/cjs/plugins/DragAndDrop/index.js +1 -9
  56. package/dist/cjs/plugins/EmbeddedEntityBlock/LinkedEntityBlock.js +8 -10
  57. package/dist/cjs/plugins/EmbeddedEntityBlock/index.js +3 -3
  58. package/dist/cjs/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.js +17 -19
  59. package/dist/cjs/plugins/EmbeddedEntityInline/LinkedEntityInline.js +7 -9
  60. package/dist/cjs/plugins/EmbeddedResourceBlock/LinkedResourceBlock.js +5 -5
  61. package/dist/cjs/plugins/EmbeddedResourceInline/FetchingWrappedResourceInlineCard.js +11 -13
  62. package/dist/cjs/plugins/EmbeddedResourceInline/LinkedResourceInline.js +5 -5
  63. package/dist/cjs/plugins/Heading/__tests__/createHeadingPlugin.test.js +32 -32
  64. package/dist/cjs/plugins/Heading/components/Heading.js +10 -13
  65. package/dist/cjs/plugins/Heading/components/ToolbarHeadingButton.js +29 -23
  66. package/dist/cjs/plugins/Heading/createHeadingPlugin.js +2 -7
  67. package/dist/cjs/plugins/Hr/index.js +14 -19
  68. package/dist/cjs/plugins/Hyperlink/HyperlinkModal.js +28 -32
  69. package/dist/cjs/plugins/Hyperlink/__tests__/createHyperlinkPlugin.test.js +8 -8
  70. package/dist/cjs/plugins/Hyperlink/components/EntityHyperlink.js +8 -10
  71. package/dist/cjs/plugins/Hyperlink/components/LinkPopover.js +17 -23
  72. package/dist/cjs/plugins/Hyperlink/components/ResourceHyperlink.js +8 -10
  73. package/dist/cjs/plugins/Hyperlink/components/ToolbarHyperlinkButton.js +4 -6
  74. package/dist/cjs/plugins/Hyperlink/components/UrlHyperlink.js +6 -8
  75. package/dist/cjs/plugins/Hyperlink/components/linkHandlers.js +3 -3
  76. package/dist/cjs/plugins/Hyperlink/components/styles.js +1 -1
  77. package/dist/cjs/plugins/Hyperlink/createHyperlinkPlugin.js +4 -10
  78. package/dist/cjs/plugins/Hyperlink/useEntityInfo.js +3 -6
  79. package/dist/cjs/plugins/Hyperlink/useResourceEntityInfo.js +4 -6
  80. package/dist/cjs/plugins/Hyperlink/utils.js +4 -4
  81. package/dist/cjs/plugins/List/__tests__/createListPlugin.test.js +13 -13
  82. package/dist/cjs/plugins/List/__tests__/insertListBreak.test.js +25 -29
  83. package/dist/cjs/plugins/List/__tests__/insertListFragment.test.js +22 -22
  84. package/dist/cjs/plugins/List/components/List.js +7 -9
  85. package/dist/cjs/plugins/List/components/ListItem.js +4 -6
  86. package/dist/cjs/plugins/List/components/ToolbarListButton.js +5 -7
  87. package/dist/cjs/plugins/List/createListPlugin.js +0 -4
  88. package/dist/cjs/plugins/List/insertListBreak.js +4 -13
  89. package/dist/cjs/plugins/List/insertListFragment.js +5 -18
  90. package/dist/cjs/plugins/List/onKeyDownList.js +6 -8
  91. package/dist/cjs/plugins/List/transforms/insertListItem.js +2 -17
  92. package/dist/cjs/plugins/List/transforms/moveListItemDown.js +2 -8
  93. package/dist/cjs/plugins/List/transforms/moveListItems.js +2 -7
  94. package/dist/cjs/plugins/List/transforms/moveListItems.test.js +14 -15
  95. package/dist/cjs/plugins/List/transforms/toggleList.js +3 -8
  96. package/dist/cjs/plugins/List/transforms/toggleList.spec.js +28 -28
  97. package/dist/cjs/plugins/List/transforms/unwrapList.js +2 -7
  98. package/dist/cjs/plugins/List/utils.js +11 -12
  99. package/dist/cjs/plugins/List/withList.js +2 -6
  100. package/dist/cjs/plugins/Marks/Bold.js +7 -9
  101. package/dist/cjs/plugins/Marks/Code.js +7 -15
  102. package/dist/cjs/plugins/Marks/Italic.js +7 -9
  103. package/dist/cjs/plugins/Marks/Subscript.js +8 -10
  104. package/dist/cjs/plugins/Marks/Superscript.js +8 -10
  105. package/dist/cjs/plugins/Marks/Underline.js +4 -6
  106. package/dist/cjs/plugins/Marks/components/MarkToolbarButton.js +7 -9
  107. package/dist/cjs/plugins/Marks/helpers.js +5 -5
  108. package/dist/cjs/plugins/Normalizer/baseRules.js +0 -2
  109. package/dist/cjs/plugins/Normalizer/createNormalizerPlugin.test.js +12 -12
  110. package/dist/cjs/plugins/Normalizer/utils.js +3 -4
  111. package/dist/cjs/plugins/Normalizer/withNormalizer.js +3 -23
  112. package/dist/cjs/plugins/Paragraph/Paragraph.js +4 -6
  113. package/dist/cjs/plugins/Paragraph/__tests__/createParagraphPlugin.test.js +32 -32
  114. package/dist/cjs/plugins/Paragraph/createParagraphPlugin.js +2 -3
  115. package/dist/cjs/plugins/PasteHTML/createPasteHTMLPlugin.js +6 -9
  116. package/dist/cjs/plugins/PasteHTML/utils/__tests__/sanitizeHTML.test.js +0 -2
  117. package/dist/cjs/plugins/PasteHTML/utils/sanitizeAnchors.js +0 -9
  118. package/dist/cjs/plugins/PasteHTML/utils/sanitizeHTML.js +2 -17
  119. package/dist/cjs/plugins/PasteHTML/utils/sanitizeSheets.js +1 -13
  120. package/dist/cjs/plugins/Quote/__test__/createQuotePlugin.test.js +21 -21
  121. package/dist/cjs/plugins/Quote/components/Quote.js +4 -6
  122. package/dist/cjs/plugins/Quote/components/ToolbarQuoteButton.js +4 -6
  123. package/dist/cjs/plugins/Quote/createQuotePlugin.js +0 -1
  124. package/dist/cjs/plugins/Quote/toggleQuote.js +5 -5
  125. package/dist/cjs/plugins/Quote/withQuote.js +2 -4
  126. package/dist/cjs/plugins/SelectOnBackspace/createSelectOnBackspacePlugin.js +0 -1
  127. package/dist/cjs/plugins/Table/__tests__/createTablePlugin.test.js +22 -22
  128. package/dist/cjs/plugins/Table/__tests__/helpers.test.js +4 -4
  129. package/dist/cjs/plugins/Table/actions/addColumn.js +4 -5
  130. package/dist/cjs/plugins/Table/actions/addRow.js +3 -6
  131. package/dist/cjs/plugins/Table/components/Cell.js +5 -7
  132. package/dist/cjs/plugins/Table/components/HeaderCell.js +5 -7
  133. package/dist/cjs/plugins/Table/components/Row.js +4 -6
  134. package/dist/cjs/plugins/Table/components/Table.js +6 -8
  135. package/dist/cjs/plugins/Table/components/TableActions.js +16 -19
  136. package/dist/cjs/plugins/Table/components/ToolbarButton.js +4 -7
  137. package/dist/cjs/plugins/Table/createTablePlugin.js +1 -11
  138. package/dist/cjs/plugins/Table/helpers.js +12 -16
  139. package/dist/cjs/plugins/Table/insertTableFragment.js +2 -15
  140. package/dist/cjs/plugins/Table/onKeyDownTable.js +2 -11
  141. package/dist/cjs/plugins/Table/tableTracking.js +6 -6
  142. package/dist/cjs/plugins/Text/__tests__/createTextPlugin.test.js +17 -19
  143. package/dist/cjs/plugins/Text/createTextPlugin.js +5 -22
  144. package/dist/cjs/plugins/Tracking/createTrackingPlugin.js +4 -5
  145. package/dist/cjs/plugins/Tracking/utils.js +3 -6
  146. package/dist/cjs/plugins/Voids/createVoidsPlugin.js +0 -5
  147. package/dist/cjs/plugins/Voids/transformVoid.js +0 -1
  148. package/dist/cjs/plugins/index.js +3 -15
  149. package/dist/cjs/plugins/shared/EmbeddedBlockToolbarIcon.js +10 -12
  150. package/dist/cjs/plugins/shared/EmbeddedBlockUtil.js +6 -16
  151. package/dist/cjs/plugins/shared/EmbeddedInlineToolbarIcon.js +8 -10
  152. package/dist/cjs/plugins/shared/EmbeddedInlineUtil.js +5 -9
  153. package/dist/cjs/plugins/shared/FetchingWrappedAssetCard.js +11 -13
  154. package/dist/cjs/plugins/shared/FetchingWrappedEntryCard.js +12 -14
  155. package/dist/cjs/plugins/shared/FetchingWrappedResourceCard.js +11 -14
  156. package/dist/cjs/plugins/shared/LinkedBlockWrapper.js +4 -8
  157. package/dist/cjs/plugins/shared/LinkedInlineWrapper.js +6 -10
  158. package/dist/cjs/plugins/shared/ResourceNewBadge.js +3 -5
  159. package/dist/cjs/plugins/shared/ToolbarButton.js +6 -8
  160. package/dist/cjs/plugins/shared/__tests__/FetchingWrappedAssetCard.test.js +5 -10
  161. package/dist/cjs/plugins/shared/__tests__/FetchingWrappedEntryCard.test.js +6 -11
  162. package/dist/cjs/plugins/shared/__tests__/FetchingWrappedResourceCard.test.js +13 -15
  163. package/dist/cjs/plugins/shared/utils.js +1 -4
  164. package/dist/cjs/test-utils/assertOutput.js +0 -1
  165. package/dist/cjs/test-utils/hyperscript.d.js +0 -1
  166. package/dist/cjs/test-utils/randomId.js +1 -3
  167. package/dist/cjs/test-utils/validation.js +5 -8
  168. package/dist/esm/ContentfulEditorProvider.js +1 -4
  169. package/dist/esm/RichTextEditor.js +13 -13
  170. package/dist/esm/RichTextEditor.styles.js +0 -1
  171. package/dist/esm/SdkProvider.js +2 -2
  172. package/dist/esm/SyncEditorChanges.js +3 -18
  173. package/dist/esm/Toolbar/_tests_/toolbar.test.js +12 -12
  174. package/dist/esm/Toolbar/components/EmbedEntityWidget.js +7 -9
  175. package/dist/esm/Toolbar/components/EmbeddedEntityDropdownButton.js +6 -6
  176. package/dist/esm/Toolbar/components/StickyToolbarWrapper.js +1 -1
  177. package/dist/esm/Toolbar/index.js +27 -28
  178. package/dist/esm/__fixtures__/FakeSdk.js +3 -3
  179. package/dist/esm/constants/Schema.js +0 -1
  180. package/dist/esm/dialogs/HypelinkDialog/HyperlinkDialog.js +31 -34
  181. package/dist/esm/dialogs/openRichTextDialog.js +2 -2
  182. package/dist/esm/dialogs/renderRichTextDialog.js +2 -2
  183. package/dist/esm/helpers/__tests__/removeInternalMarks.test.js +10 -10
  184. package/dist/esm/helpers/callbacks.js +1 -1
  185. package/dist/esm/helpers/config.js +1 -9
  186. package/dist/esm/helpers/editor.js +6 -22
  187. package/dist/esm/helpers/extractNodes.js +1 -3
  188. package/dist/esm/helpers/formatDateAndTime.js +2 -11
  189. package/dist/esm/helpers/getAllowedResourcesForNodeType.js +2 -19
  190. package/dist/esm/helpers/getLinkedContentTypeIdsForNodeType.js +2 -26
  191. package/dist/esm/helpers/sdkNavigatorSlideIn.js +6 -20
  192. package/dist/esm/helpers/sdkNavigatorSlideIn.spec.js +0 -1
  193. package/dist/esm/helpers/toSlateValue.js +3 -17
  194. package/dist/esm/helpers/validations.js +1 -5
  195. package/dist/esm/internal/misc.js +2 -23
  196. package/dist/esm/internal/queries.js +2 -11
  197. package/dist/esm/internal/transforms.js +3 -14
  198. package/dist/esm/internal/types/editor.js +1 -3
  199. package/dist/esm/plugins/Break/createExitBreakPlugin.test.js +3 -4
  200. package/dist/esm/plugins/Break/createResetNodePlugin.js +0 -1
  201. package/dist/esm/plugins/Break/createSoftBreakPlugin.test.js +3 -3
  202. package/dist/esm/plugins/CommandPalette/components/CommandList.js +30 -30
  203. package/dist/esm/plugins/CommandPalette/components/CommandPrompt.js +2 -2
  204. package/dist/esm/plugins/CommandPalette/createCommandPalettePlugin.js +1 -11
  205. package/dist/esm/plugins/CommandPalette/hooks/useCommandList.js +0 -2
  206. package/dist/esm/plugins/CommandPalette/onKeyDown.js +0 -5
  207. package/dist/esm/plugins/CommandPalette/onKeyDown.spec.js +2 -2
  208. package/dist/esm/plugins/CommandPalette/useCommands.js +3 -3
  209. package/dist/esm/plugins/CommandPalette/utils/fetchEntries.js +0 -2
  210. package/dist/esm/plugins/CommandPalette/utils/trimLeadingSlash.js +1 -6
  211. package/dist/esm/plugins/DragAndDrop/index.js +1 -9
  212. package/dist/esm/plugins/EmbeddedEntityBlock/LinkedEntityBlock.js +6 -6
  213. package/dist/esm/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.js +14 -14
  214. package/dist/esm/plugins/EmbeddedEntityInline/LinkedEntityInline.js +5 -5
  215. package/dist/esm/plugins/EmbeddedResourceBlock/LinkedResourceBlock.js +4 -4
  216. package/dist/esm/plugins/EmbeddedResourceInline/FetchingWrappedResourceInlineCard.js +9 -9
  217. package/dist/esm/plugins/EmbeddedResourceInline/LinkedResourceInline.js +4 -4
  218. package/dist/esm/plugins/Heading/__tests__/createHeadingPlugin.test.js +32 -32
  219. package/dist/esm/plugins/Heading/components/Heading.js +7 -8
  220. package/dist/esm/plugins/Heading/components/ToolbarHeadingButton.js +26 -18
  221. package/dist/esm/plugins/Heading/createHeadingPlugin.js +1 -6
  222. package/dist/esm/plugins/Hr/index.js +5 -8
  223. package/dist/esm/plugins/Hyperlink/HyperlinkModal.js +23 -25
  224. package/dist/esm/plugins/Hyperlink/__tests__/createHyperlinkPlugin.test.js +8 -8
  225. package/dist/esm/plugins/Hyperlink/components/EntityHyperlink.js +6 -6
  226. package/dist/esm/plugins/Hyperlink/components/LinkPopover.js +15 -19
  227. package/dist/esm/plugins/Hyperlink/components/ResourceHyperlink.js +6 -6
  228. package/dist/esm/plugins/Hyperlink/components/ToolbarHyperlinkButton.js +2 -2
  229. package/dist/esm/plugins/Hyperlink/components/UrlHyperlink.js +4 -4
  230. package/dist/esm/plugins/Hyperlink/createHyperlinkPlugin.js +1 -5
  231. package/dist/esm/plugins/Hyperlink/useEntityInfo.js +3 -6
  232. package/dist/esm/plugins/Hyperlink/useResourceEntityInfo.js +2 -2
  233. package/dist/esm/plugins/Hyperlink/utils.js +1 -1
  234. package/dist/esm/plugins/List/__tests__/createListPlugin.test.js +13 -13
  235. package/dist/esm/plugins/List/__tests__/insertListBreak.test.js +25 -29
  236. package/dist/esm/plugins/List/__tests__/insertListFragment.test.js +22 -22
  237. package/dist/esm/plugins/List/components/List.js +1 -1
  238. package/dist/esm/plugins/List/components/ListItem.js +1 -1
  239. package/dist/esm/plugins/List/components/ToolbarListButton.js +3 -3
  240. package/dist/esm/plugins/List/createListPlugin.js +0 -4
  241. package/dist/esm/plugins/List/insertListBreak.js +4 -13
  242. package/dist/esm/plugins/List/insertListFragment.js +5 -18
  243. package/dist/esm/plugins/List/onKeyDownList.js +5 -7
  244. package/dist/esm/plugins/List/transforms/insertListItem.js +3 -20
  245. package/dist/esm/plugins/List/transforms/moveListItemDown.js +2 -8
  246. package/dist/esm/plugins/List/transforms/moveListItems.js +2 -7
  247. package/dist/esm/plugins/List/transforms/moveListItems.test.js +14 -15
  248. package/dist/esm/plugins/List/transforms/toggleList.js +3 -8
  249. package/dist/esm/plugins/List/transforms/toggleList.spec.js +28 -28
  250. package/dist/esm/plugins/List/transforms/unwrapList.js +2 -7
  251. package/dist/esm/plugins/List/utils.js +2 -7
  252. package/dist/esm/plugins/List/withList.js +2 -6
  253. package/dist/esm/plugins/Marks/Bold.js +2 -2
  254. package/dist/esm/plugins/Marks/Code.js +2 -8
  255. package/dist/esm/plugins/Marks/Italic.js +2 -2
  256. package/dist/esm/plugins/Marks/Subscript.js +2 -2
  257. package/dist/esm/plugins/Marks/Superscript.js +2 -2
  258. package/dist/esm/plugins/Marks/Underline.js +2 -2
  259. package/dist/esm/plugins/Marks/components/MarkToolbarButton.js +4 -4
  260. package/dist/esm/plugins/Marks/helpers.js +1 -1
  261. package/dist/esm/plugins/Normalizer/baseRules.js +0 -4
  262. package/dist/esm/plugins/Normalizer/createNormalizerPlugin.test.js +12 -12
  263. package/dist/esm/plugins/Normalizer/utils.js +0 -1
  264. package/dist/esm/plugins/Normalizer/withNormalizer.js +2 -22
  265. package/dist/esm/plugins/Paragraph/Paragraph.js +1 -1
  266. package/dist/esm/plugins/Paragraph/__tests__/createParagraphPlugin.test.js +32 -32
  267. package/dist/esm/plugins/Paragraph/createParagraphPlugin.js +1 -2
  268. package/dist/esm/plugins/PasteHTML/createPasteHTMLPlugin.js +3 -9
  269. package/dist/esm/plugins/PasteHTML/utils/__tests__/sanitizeHTML.test.js +0 -2
  270. package/dist/esm/plugins/PasteHTML/utils/sanitizeAnchors.js +1 -27
  271. package/dist/esm/plugins/PasteHTML/utils/sanitizeHTML.js +2 -17
  272. package/dist/esm/plugins/PasteHTML/utils/sanitizeSheets.js +1 -13
  273. package/dist/esm/plugins/Quote/__test__/createQuotePlugin.test.js +21 -21
  274. package/dist/esm/plugins/Quote/components/Quote.js +1 -1
  275. package/dist/esm/plugins/Quote/components/ToolbarQuoteButton.js +2 -2
  276. package/dist/esm/plugins/Quote/createQuotePlugin.js +0 -1
  277. package/dist/esm/plugins/Quote/shouldResetQuote.js +1 -6
  278. package/dist/esm/plugins/Quote/toggleQuote.js +1 -1
  279. package/dist/esm/plugins/Quote/withQuote.js +2 -4
  280. package/dist/esm/plugins/SelectOnBackspace/createSelectOnBackspacePlugin.js +0 -1
  281. package/dist/esm/plugins/Table/__tests__/createTablePlugin.test.js +22 -22
  282. package/dist/esm/plugins/Table/__tests__/helpers.test.js +4 -4
  283. package/dist/esm/plugins/Table/actions/addColumn.js +1 -2
  284. package/dist/esm/plugins/Table/actions/addRow.js +0 -3
  285. package/dist/esm/plugins/Table/components/Cell.js +2 -2
  286. package/dist/esm/plugins/Table/components/HeaderCell.js +2 -2
  287. package/dist/esm/plugins/Table/components/Row.js +1 -1
  288. package/dist/esm/plugins/Table/components/Table.js +3 -3
  289. package/dist/esm/plugins/Table/components/TableActions.js +11 -12
  290. package/dist/esm/plugins/Table/components/ToolbarButton.js +2 -3
  291. package/dist/esm/plugins/Table/createTablePlugin.js +1 -11
  292. package/dist/esm/plugins/Table/helpers.js +1 -10
  293. package/dist/esm/plugins/Table/insertTableFragment.js +2 -15
  294. package/dist/esm/plugins/Table/onKeyDownTable.js +2 -11
  295. package/dist/esm/plugins/Table/tableTracking.js +6 -6
  296. package/dist/esm/plugins/Text/__tests__/createTextPlugin.test.js +17 -19
  297. package/dist/esm/plugins/Text/createTextPlugin.js +5 -22
  298. package/dist/esm/plugins/Tracking/createTrackingPlugin.js +1 -2
  299. package/dist/esm/plugins/Tracking/utils.js +0 -1
  300. package/dist/esm/plugins/Voids/createVoidsPlugin.js +0 -5
  301. package/dist/esm/plugins/Voids/transformVoid.js +1 -4
  302. package/dist/esm/plugins/index.js +0 -12
  303. package/dist/esm/plugins/shared/EmbeddedBlockToolbarIcon.js +5 -5
  304. package/dist/esm/plugins/shared/EmbeddedBlockUtil.js +5 -15
  305. package/dist/esm/plugins/shared/EmbeddedInlineToolbarIcon.js +5 -5
  306. package/dist/esm/plugins/shared/EmbeddedInlineUtil.js +4 -8
  307. package/dist/esm/plugins/shared/FetchingWrappedAssetCard.js +8 -8
  308. package/dist/esm/plugins/shared/FetchingWrappedEntryCard.js +9 -9
  309. package/dist/esm/plugins/shared/FetchingWrappedResourceCard.js +8 -9
  310. package/dist/esm/plugins/shared/LinkedBlockWrapper.js +3 -7
  311. package/dist/esm/plugins/shared/LinkedInlineWrapper.js +3 -5
  312. package/dist/esm/plugins/shared/ResourceNewBadge.js +1 -1
  313. package/dist/esm/plugins/shared/ToolbarButton.js +3 -3
  314. package/dist/esm/plugins/shared/__tests__/FetchingWrappedAssetCard.test.js +2 -5
  315. package/dist/esm/plugins/shared/__tests__/FetchingWrappedEntryCard.test.js +2 -5
  316. package/dist/esm/plugins/shared/__tests__/FetchingWrappedResourceCard.test.js +8 -8
  317. package/dist/esm/plugins/shared/utils.js +1 -4
  318. package/dist/esm/test-utils/assertOutput.js +0 -1
  319. package/dist/esm/test-utils/hyperscript.d.js +0 -1
  320. package/dist/esm/test-utils/jsx.js +1 -5
  321. package/dist/esm/test-utils/randomId.js +1 -3
  322. package/dist/esm/test-utils/setEmptyDataAttribute.js +1 -4
  323. package/dist/esm/test-utils/validation.js +4 -7
  324. package/dist/types/RichTextEditor.d.ts +2 -3
  325. package/dist/types/Toolbar/components/EmbedEntityWidget.d.ts +1 -2
  326. package/dist/types/Toolbar/components/EmbeddedEntityDropdownButton.d.ts +1 -1
  327. package/dist/types/Toolbar/components/StickyToolbarWrapper.d.ts +2 -2
  328. package/dist/types/Toolbar/index.d.ts +1 -2
  329. package/dist/types/dialogs/HypelinkDialog/HyperlinkDialog.d.ts +4 -4
  330. package/dist/types/dialogs/renderRichTextDialog.d.ts +1 -2
  331. package/dist/types/plugins/CommandPalette/components/CommandList.d.ts +1 -2
  332. package/dist/types/plugins/CommandPalette/components/CommandPrompt.d.ts +1 -2
  333. package/dist/types/plugins/EmbeddedEntityBlock/LinkedEntityBlock.d.ts +1 -2
  334. package/dist/types/plugins/EmbeddedEntityInline/FetchingWrappedInlineEntryCard.d.ts +1 -1
  335. package/dist/types/plugins/EmbeddedEntityInline/LinkedEntityInline.d.ts +1 -2
  336. package/dist/types/plugins/EmbeddedResourceBlock/LinkedResourceBlock.d.ts +1 -2
  337. package/dist/types/plugins/EmbeddedResourceInline/FetchingWrappedResourceInlineCard.d.ts +1 -1
  338. package/dist/types/plugins/EmbeddedResourceInline/LinkedResourceInline.d.ts +1 -2
  339. package/dist/types/plugins/Heading/components/Heading.d.ts +6 -6
  340. package/dist/types/plugins/Heading/components/ToolbarHeadingButton.d.ts +1 -2
  341. package/dist/types/plugins/Hr/index.d.ts +2 -2
  342. package/dist/types/plugins/Hyperlink/HyperlinkModal.d.ts +1 -2
  343. package/dist/types/plugins/Hyperlink/components/EntityHyperlink.d.ts +1 -2
  344. package/dist/types/plugins/Hyperlink/components/LinkPopover.d.ts +1 -1
  345. package/dist/types/plugins/Hyperlink/components/ResourceHyperlink.d.ts +1 -2
  346. package/dist/types/plugins/Hyperlink/components/ToolbarHyperlinkButton.d.ts +1 -2
  347. package/dist/types/plugins/Hyperlink/components/UrlHyperlink.d.ts +1 -2
  348. package/dist/types/plugins/List/components/List.d.ts +2 -3
  349. package/dist/types/plugins/List/components/ListItem.d.ts +1 -2
  350. package/dist/types/plugins/List/components/ToolbarListButton.d.ts +1 -2
  351. package/dist/types/plugins/Marks/Bold.d.ts +2 -3
  352. package/dist/types/plugins/Marks/Code.d.ts +3 -4
  353. package/dist/types/plugins/Marks/Italic.d.ts +2 -3
  354. package/dist/types/plugins/Marks/Subscript.d.ts +3 -4
  355. package/dist/types/plugins/Marks/Superscript.d.ts +3 -4
  356. package/dist/types/plugins/Marks/Underline.d.ts +2 -3
  357. package/dist/types/plugins/Marks/components/MarkToolbarButton.d.ts +1 -1
  358. package/dist/types/plugins/Paragraph/Paragraph.d.ts +1 -2
  359. package/dist/types/plugins/Quote/components/Quote.d.ts +1 -2
  360. package/dist/types/plugins/Quote/components/ToolbarQuoteButton.d.ts +1 -2
  361. package/dist/types/plugins/Table/components/Cell.d.ts +1 -2
  362. package/dist/types/plugins/Table/components/HeaderCell.d.ts +1 -2
  363. package/dist/types/plugins/Table/components/Row.d.ts +1 -2
  364. package/dist/types/plugins/Table/components/Table.d.ts +1 -2
  365. package/dist/types/plugins/Table/components/TableActions.d.ts +1 -2
  366. package/dist/types/plugins/Table/components/ToolbarButton.d.ts +1 -2
  367. package/dist/types/plugins/shared/EmbeddedBlockToolbarIcon.d.ts +1 -2
  368. package/dist/types/plugins/shared/EmbeddedInlineToolbarIcon.d.ts +1 -2
  369. package/dist/types/plugins/shared/FetchingWrappedAssetCard.d.ts +1 -2
  370. package/dist/types/plugins/shared/FetchingWrappedEntryCard.d.ts +1 -2
  371. package/dist/types/plugins/shared/FetchingWrappedResourceCard.d.ts +1 -2
  372. package/dist/types/plugins/shared/LinkedBlockWrapper.d.ts +1 -1
  373. package/dist/types/plugins/shared/LinkedInlineWrapper.d.ts +1 -1
  374. package/dist/types/plugins/shared/ResourceNewBadge.d.ts +1 -2
  375. package/dist/types/plugins/shared/ToolbarButton.d.ts +1 -2
  376. package/package.json +8 -5
@@ -9,13 +9,13 @@ import { useLinkTracking } from '../links-tracking';
9
9
  import { LinkedInlineWrapper } from '../shared/LinkedInlineWrapper';
10
10
  import { FetchingWrappedInlineEntryCard } from './FetchingWrappedInlineEntryCard';
11
11
  export function LinkedEntityInline(props) {
12
- const { attributes, children, element } = props;
13
- const { onEntityFetchComplete } = useLinkTracking();
12
+ const { attributes , children , element } = props;
13
+ const { onEntityFetchComplete } = useLinkTracking();
14
14
  const isSelected = useSelected();
15
15
  const editor = useContentfulEditor();
16
16
  const sdk = useSdkContext();
17
17
  const isDisabled = useReadOnly();
18
- const { id: entryId } = element.data.target.sys;
18
+ const { id: entryId } = element.data.target.sys;
19
19
  function handleEditClick() {
20
20
  return sdk.navigator.openEntry(entryId, {
21
21
  slideIn: {
@@ -32,9 +32,9 @@ export function LinkedEntityInline(props) {
32
32
  at: pathToElement
33
33
  });
34
34
  }
35
- return /*#__PURE__*/ React.createElement(LinkedInlineWrapper, {
35
+ return React.createElement(LinkedInlineWrapper, {
36
36
  attributes: attributes,
37
- card: /*#__PURE__*/ React.createElement(FetchingWrappedInlineEntryCard, {
37
+ card: React.createElement(FetchingWrappedInlineEntryCard, {
38
38
  sdk: sdk,
39
39
  entryId: entryId,
40
40
  isSelected: isSelected,
@@ -7,8 +7,8 @@ import { useLinkTracking } from '../links-tracking';
7
7
  import { FetchingWrappedResourceCard } from '../shared/FetchingWrappedResourceCard';
8
8
  import { LinkedBlockWrapper } from '../shared/LinkedBlockWrapper';
9
9
  export function LinkedResourceBlock(props) {
10
- const { attributes, children, element } = props;
11
- const { onEntityFetchComplete } = useLinkTracking();
10
+ const { attributes , children , element } = props;
11
+ const { onEntityFetchComplete } = useLinkTracking();
12
12
  const isSelected = useSelected();
13
13
  const editor = useContentfulEditor();
14
14
  const sdk = useSdkContext();
@@ -24,10 +24,10 @@ export function LinkedResourceBlock(props) {
24
24
  editor,
25
25
  element
26
26
  ]);
27
- return /*#__PURE__*/ React.createElement(LinkedBlockWrapper, {
27
+ return React.createElement(LinkedBlockWrapper, {
28
28
  attributes: attributes,
29
29
  link: element.data.target,
30
- card: /*#__PURE__*/ React.createElement(FetchingWrappedResourceCard, {
30
+ card: React.createElement(FetchingWrappedResourceCard, {
31
31
  sdk: sdk,
32
32
  link: link,
33
33
  isDisabled: isDisabled,
@@ -4,10 +4,10 @@ import { useResource } from '@contentful/field-editor-reference';
4
4
  import { entityHelpers } from '@contentful/field-editor-shared';
5
5
  import { INLINES } from '@contentful/rich-text-types';
6
6
  import { truncateTitle } from '../../plugins/shared/utils';
7
- const { getEntryTitle, getEntryStatus } = entityHelpers;
7
+ const { getEntryTitle , getEntryStatus } = entityHelpers;
8
8
  export function FetchingWrappedResourceInlineCard(props) {
9
- const { link, onEntityFetchComplete } = props;
10
- const { data, status: requestStatus } = useResource(link.linkType, link.urn);
9
+ const { link , onEntityFetchComplete } = props;
10
+ const { data , status: requestStatus } = useResource(link.linkType, link.urn);
11
11
  React.useEffect(()=>{
12
12
  if (requestStatus === 'success') {
13
13
  onEntityFetchComplete?.();
@@ -17,18 +17,18 @@ export function FetchingWrappedResourceInlineCard(props) {
17
17
  requestStatus
18
18
  ]);
19
19
  if (requestStatus === 'error') {
20
- return /*#__PURE__*/ React.createElement(InlineEntryCard, {
20
+ return React.createElement(InlineEntryCard, {
21
21
  title: "Entry missing or inaccessible",
22
22
  testId: INLINES.EMBEDDED_RESOURCE,
23
23
  isSelected: props.isSelected
24
24
  });
25
25
  }
26
26
  if (requestStatus === 'loading' || data === undefined) {
27
- return /*#__PURE__*/ React.createElement(InlineEntryCard, {
27
+ return React.createElement(InlineEntryCard, {
28
28
  isLoading: true
29
29
  });
30
30
  }
31
- const { resource: entry, contentType, defaultLocaleCode, space } = data;
31
+ const { resource: entry , contentType , defaultLocaleCode , space } = data;
32
32
  const title = getEntryTitle({
33
33
  entry,
34
34
  contentType,
@@ -38,18 +38,18 @@ export function FetchingWrappedResourceInlineCard(props) {
38
38
  });
39
39
  const truncatedTitle = truncateTitle(title, 40);
40
40
  const status = getEntryStatus(entry.sys);
41
- return /*#__PURE__*/ React.createElement(InlineEntryCard, {
41
+ return React.createElement(InlineEntryCard, {
42
42
  testId: INLINES.EMBEDDED_RESOURCE,
43
43
  isSelected: props.isSelected,
44
44
  title: `${contentType.name}: ${truncatedTitle} (Space: ${space.name} – Env.: ${entry.sys.environment.sys.id})`,
45
45
  status: status,
46
46
  actions: [
47
- /*#__PURE__*/ React.createElement(MenuItem, {
47
+ React.createElement(MenuItem, {
48
48
  key: "remove",
49
49
  onClick: props.onRemove,
50
50
  disabled: props.isDisabled,
51
51
  testId: "delete"
52
52
  }, "Remove")
53
53
  ]
54
- }, /*#__PURE__*/ React.createElement(Text, null, title));
54
+ }, React.createElement(Text, null, title));
55
55
  }
@@ -7,8 +7,8 @@ import { useLinkTracking } from '../links-tracking';
7
7
  import { LinkedInlineWrapper } from '../shared/LinkedInlineWrapper';
8
8
  import { FetchingWrappedResourceInlineCard } from './FetchingWrappedResourceInlineCard';
9
9
  export function LinkedResourceInline(props) {
10
- const { attributes, children, element } = props;
11
- const { onEntityFetchComplete } = useLinkTracking();
10
+ const { attributes , children , element } = props;
11
+ const { onEntityFetchComplete } = useLinkTracking();
12
12
  const isSelected = useSelected();
13
13
  const editor = useContentfulEditor();
14
14
  const sdk = useSdkContext();
@@ -21,10 +21,10 @@ export function LinkedResourceInline(props) {
21
21
  at: pathToElement
22
22
  });
23
23
  }
24
- return /*#__PURE__*/ React.createElement(LinkedInlineWrapper, {
24
+ return React.createElement(LinkedInlineWrapper, {
25
25
  attributes: attributes,
26
26
  link: element.data.target,
27
- card: /*#__PURE__*/ React.createElement(FetchingWrappedResourceInlineCard, {
27
+ card: React.createElement(FetchingWrappedResourceInlineCard, {
28
28
  sdk: sdk,
29
29
  link: link,
30
30
  isDisabled: isDisabled,
@@ -1,26 +1,26 @@
1
- /* eslint-disable react/no-unknown-property */ /** @jsx jsx */ import { assertOutput, jsx } from '../../../test-utils';
1
+ import { assertOutput, jsx } from '../../../test-utils';
2
2
  describe('normalization', ()=>{
3
3
  it('can contain inline entries & hyperlinks', ()=>{
4
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some text before", /*#__PURE__*/ jsx("hinline", {
4
+ const input = jsx("editor", null, jsx("hh1", null, "some text before", jsx("hinline", {
5
5
  type: "Entry",
6
6
  id: "inline-entry"
7
- }), /*#__PURE__*/ jsx("hlink", {
7
+ }), jsx("hlink", {
8
8
  uri: "https://contentful.com"
9
- }), /*#__PURE__*/ jsx("hlink", {
9
+ }), jsx("hlink", {
10
10
  entry: "entry-id"
11
- }), /*#__PURE__*/ jsx("hlink", {
11
+ }), jsx("hlink", {
12
12
  resource: "resource-urn"
13
- }), /*#__PURE__*/ jsx("hlink", {
13
+ }), jsx("hlink", {
14
14
  asset: "asset-id"
15
- }), "some text after"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
15
+ }), "some text after"), jsx("hp", null, jsx("htext", null)));
16
16
  assertOutput({
17
17
  input,
18
18
  expected: input
19
19
  });
20
20
  });
21
21
  it('unwraps nested paragraphs', ()=>{
22
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "one", ' ', /*#__PURE__*/ jsx("hp", null, "two ", /*#__PURE__*/ jsx("hp", null, "three ")), "four"));
23
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "one two three four"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
22
+ const input = jsx("editor", null, jsx("hh1", null, "one", ' ', jsx("hp", null, "two ", jsx("hp", null, "three ")), "four"));
23
+ const expected = jsx("editor", null, jsx("hh1", null, "one two three four"), jsx("hp", null, jsx("htext", null)));
24
24
  assertOutput({
25
25
  input,
26
26
  expected
@@ -28,84 +28,84 @@ describe('normalization', ()=>{
28
28
  });
29
29
  describe('lifts other invalid children', ()=>{
30
30
  it('block void elements', ()=>{
31
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, /*#__PURE__*/ jsx("hembed", {
31
+ const input = jsx("editor", null, jsx("hh1", null, jsx("hembed", {
32
32
  type: "Asset",
33
33
  id: "1"
34
- }), " start"), /*#__PURE__*/ jsx("hh1", null, "end ", /*#__PURE__*/ jsx("hembed", {
34
+ }), " start"), jsx("hh1", null, "end ", jsx("hembed", {
35
35
  type: "Asset",
36
36
  id: "2"
37
- })), /*#__PURE__*/ jsx("hh1", null, "in ", /*#__PURE__*/ jsx("hembed", {
37
+ })), jsx("hh1", null, "in ", jsx("hembed", {
38
38
  type: "Asset",
39
39
  id: "3"
40
- }), " between"), /*#__PURE__*/ jsx("hh1", null, /*#__PURE__*/ jsx("hembed", {
40
+ }), " between"), jsx("hh1", null, jsx("hembed", {
41
41
  type: "Entry",
42
42
  id: "1"
43
- }), " start"), /*#__PURE__*/ jsx("hh1", null, "end ", /*#__PURE__*/ jsx("hembed", {
43
+ }), " start"), jsx("hh1", null, "end ", jsx("hembed", {
44
44
  type: "Entry",
45
45
  id: "2"
46
- })), /*#__PURE__*/ jsx("hh1", null, "in ", /*#__PURE__*/ jsx("hembed", {
46
+ })), jsx("hh1", null, "in ", jsx("hembed", {
47
47
  type: "Entry",
48
48
  id: "3"
49
- }), " between"), /*#__PURE__*/ jsx("hh1", null, /*#__PURE__*/ jsx("hhr", null), " start"), /*#__PURE__*/ jsx("hh1", null, "end ", /*#__PURE__*/ jsx("hhr", null)), /*#__PURE__*/ jsx("hh1", null, "in ", /*#__PURE__*/ jsx("hhr", null), " between"));
50
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hembed", {
49
+ }), " between"), jsx("hh1", null, jsx("hhr", null), " start"), jsx("hh1", null, "end ", jsx("hhr", null)), jsx("hh1", null, "in ", jsx("hhr", null), " between"));
50
+ const expected = jsx("editor", null, jsx("hembed", {
51
51
  type: "Asset",
52
52
  id: "1"
53
- }), /*#__PURE__*/ jsx("hh1", null, " start"), /*#__PURE__*/ jsx("hh1", null, "end "), /*#__PURE__*/ jsx("hembed", {
53
+ }), jsx("hh1", null, " start"), jsx("hh1", null, "end "), jsx("hembed", {
54
54
  type: "Asset",
55
55
  id: "2"
56
- }), /*#__PURE__*/ jsx("hh1", null, "in "), /*#__PURE__*/ jsx("hembed", {
56
+ }), jsx("hh1", null, "in "), jsx("hembed", {
57
57
  type: "Asset",
58
58
  id: "3"
59
- }), /*#__PURE__*/ jsx("hh1", null, " between"), /*#__PURE__*/ jsx("hembed", {
59
+ }), jsx("hh1", null, " between"), jsx("hembed", {
60
60
  type: "Entry",
61
61
  id: "1"
62
- }), /*#__PURE__*/ jsx("hh1", null, " start"), /*#__PURE__*/ jsx("hh1", null, "end "), /*#__PURE__*/ jsx("hembed", {
62
+ }), jsx("hh1", null, " start"), jsx("hh1", null, "end "), jsx("hembed", {
63
63
  type: "Entry",
64
64
  id: "2"
65
- }), /*#__PURE__*/ jsx("hh1", null, "in "), /*#__PURE__*/ jsx("hembed", {
65
+ }), jsx("hh1", null, "in "), jsx("hembed", {
66
66
  type: "Entry",
67
67
  id: "3"
68
- }), /*#__PURE__*/ jsx("hh1", null, " between"), /*#__PURE__*/ jsx("hhr", null), /*#__PURE__*/ jsx("hh1", null, " start"), /*#__PURE__*/ jsx("hh1", null, "end "), /*#__PURE__*/ jsx("hhr", null), /*#__PURE__*/ jsx("hh1", null, "in "), /*#__PURE__*/ jsx("hhr", null), /*#__PURE__*/ jsx("hh1", null, " between"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
68
+ }), jsx("hh1", null, " between"), jsx("hhr", null), jsx("hh1", null, " start"), jsx("hh1", null, "end "), jsx("hhr", null), jsx("hh1", null, "in "), jsx("hhr", null), jsx("hh1", null, " between"), jsx("hp", null, jsx("htext", null)));
69
69
  assertOutput({
70
70
  input,
71
71
  expected
72
72
  });
73
73
  });
74
74
  it('nested headings', ()=>{
75
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some", /*#__PURE__*/ jsx("hh1", null, /*#__PURE__*/ jsx("htext", {
75
+ const input = jsx("editor", null, jsx("hh1", null, "some", jsx("hh1", null, jsx("htext", {
76
76
  bold: true,
77
77
  italic: true,
78
78
  underline: true
79
79
  }, "paragraph")), "text"));
80
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some"), /*#__PURE__*/ jsx("hh1", null, /*#__PURE__*/ jsx("htext", {
80
+ const expected = jsx("editor", null, jsx("hh1", null, "some"), jsx("hh1", null, jsx("htext", {
81
81
  bold: true,
82
82
  italic: true,
83
83
  underline: true
84
- }, "paragraph")), /*#__PURE__*/ jsx("hh1", null, "text"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
84
+ }, "paragraph")), jsx("hh1", null, "text"), jsx("hp", null, jsx("htext", null)));
85
85
  assertOutput({
86
86
  input,
87
87
  expected
88
88
  });
89
89
  });
90
90
  it('handles quotes', ()=>{
91
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some", /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "quote")), "text"));
92
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some"), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "quote")), /*#__PURE__*/ jsx("hh1", null, "text"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
91
+ const input = jsx("editor", null, jsx("hh1", null, "some", jsx("hquote", null, jsx("hp", null, "quote")), "text"));
92
+ const expected = jsx("editor", null, jsx("hh1", null, "some"), jsx("hquote", null, jsx("hp", null, "quote")), jsx("hh1", null, "text"), jsx("hp", null, jsx("htext", null)));
93
93
  assertOutput({
94
94
  input,
95
95
  expected
96
96
  });
97
97
  });
98
98
  it('handles lists', ()=>{
99
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some", /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "list item"))), "text"));
100
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "list item"))), /*#__PURE__*/ jsx("hh1", null, "text"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
99
+ const input = jsx("editor", null, jsx("hh1", null, "some", jsx("hul", null, jsx("hli", null, jsx("hp", null, "list item"))), "text"));
100
+ const expected = jsx("editor", null, jsx("hh1", null, "some"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "list item"))), jsx("hh1", null, "text"), jsx("hp", null, jsx("htext", null)));
101
101
  assertOutput({
102
102
  input,
103
103
  expected
104
104
  });
105
105
  });
106
106
  it('handles tables', ()=>{
107
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some", /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 1")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 2")))), "text"));
108
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hh1", null, "some"), /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 1")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 2")))), /*#__PURE__*/ jsx("hh1", null, "text"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
107
+ const input = jsx("editor", null, jsx("hh1", null, "some", jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 1")), jsx("htd", null, jsx("hp", null, "cell 2")))), "text"));
108
+ const expected = jsx("editor", null, jsx("hh1", null, "some"), jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 1")), jsx("htd", null, jsx("hp", null, "cell 2")))), jsx("hh1", null, "text"), jsx("hp", null, jsx("htext", null)));
109
109
  assertOutput({
110
110
  input,
111
111
  expected
@@ -55,20 +55,19 @@ const styles = {
55
55
  `
56
56
  }
57
57
  };
58
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- TODO: explain this disable
59
58
  function createHeading(Tag, block) {
60
59
  return function Heading(props) {
61
- return /*#__PURE__*/ React.createElement(Tag, {
60
+ return React.createElement(Tag, {
62
61
  ...props.attributes,
63
62
  className: cx(styles.headings.root, styles.headings[block])
64
63
  }, props.children);
65
64
  };
66
65
  }
67
66
  export const HeadingComponents = {
68
- [BLOCKS.HEADING_1]: /*#__PURE__*/ React.memo(createHeading('h1', BLOCKS.HEADING_1)),
69
- [BLOCKS.HEADING_2]: /*#__PURE__*/ React.memo(createHeading('h2', BLOCKS.HEADING_2)),
70
- [BLOCKS.HEADING_3]: /*#__PURE__*/ React.memo(createHeading('h3', BLOCKS.HEADING_3)),
71
- [BLOCKS.HEADING_4]: /*#__PURE__*/ React.memo(createHeading('h4', BLOCKS.HEADING_4)),
72
- [BLOCKS.HEADING_5]: /*#__PURE__*/ React.memo(createHeading('h5', BLOCKS.HEADING_5)),
73
- [BLOCKS.HEADING_6]: /*#__PURE__*/ React.memo(createHeading('h6', BLOCKS.HEADING_6))
67
+ [BLOCKS.HEADING_1]: React.memo(createHeading('h1', BLOCKS.HEADING_1)),
68
+ [BLOCKS.HEADING_2]: React.memo(createHeading('h2', BLOCKS.HEADING_2)),
69
+ [BLOCKS.HEADING_3]: React.memo(createHeading('h3', BLOCKS.HEADING_3)),
70
+ [BLOCKS.HEADING_4]: React.memo(createHeading('h4', BLOCKS.HEADING_4)),
71
+ [BLOCKS.HEADING_5]: React.memo(createHeading('h5', BLOCKS.HEADING_5)),
72
+ [BLOCKS.HEADING_6]: React.memo(createHeading('h6', BLOCKS.HEADING_6))
74
73
  };
@@ -9,6 +9,10 @@ import { getElementFromCurrentSelection, focus, isBlockSelected, toggleElement }
9
9
  import { isNodeTypeEnabled } from '../../../helpers/validations';
10
10
  import { useSdkContext } from '../../../SdkProvider';
11
11
  const styles = {
12
+ button: css({
13
+ minWidth: '125px',
14
+ justifyContent: 'space-between'
15
+ }),
12
16
  dropdown: {
13
17
  root: css`
14
18
  font-weight: ${tokens.fontWeightDemiBold};
@@ -52,13 +56,22 @@ export function ToolbarHeadingButton(props) {
52
56
  const [selected, setSelected] = React.useState(BLOCKS.PARAGRAPH);
53
57
  React.useEffect(()=>{
54
58
  if (!editor?.selection) return;
55
- const [element] = getElementFromCurrentSelection(editor);
56
- const type = element.type;
57
- setSelected(LABELS[type] ? type : BLOCKS.PARAGRAPH);
59
+ const elements = getElementFromCurrentSelection(editor);
60
+ for (const element of elements){
61
+ if (typeof element === 'object' && 'type' in element) {
62
+ const el = element;
63
+ const match = LABELS[el.type];
64
+ if (match) {
65
+ setSelected(el.type);
66
+ return;
67
+ }
68
+ }
69
+ }
70
+ setSelected(BLOCKS.PARAGRAPH);
58
71
  }, [
59
72
  editor?.operations,
60
73
  editor?.selection
61
- ]); // eslint-disable-line -- TODO: explain this disable
74
+ ]);
62
75
  const [nodeTypesByEnablement, someHeadingsEnabled] = React.useMemo(()=>{
63
76
  const nodeTypesByEnablement = Object.fromEntries(Object.keys(LABELS).map((nodeType)=>[
64
77
  nodeType,
@@ -79,13 +92,7 @@ export function ToolbarHeadingButton(props) {
79
92
  setSelected(type);
80
93
  setOpen(false);
81
94
  const prevOnChange = editor.onChange;
82
- /*
83
- The focus might happen at point in time when
84
- `toggleElement` (helper for toggleNodeType) changes aren't rendered yet, causing the browser
85
- to place the cursor at the start of the text.
86
- We wait for the change event before focusing
87
- the editor again. This ensures the cursor is back at the previous
88
- position.*/ editor.onChange = (...args)=>{
95
+ editor.onChange = (...args)=>{
89
96
  focus(editor);
90
97
  editor.onChange = prevOnChange;
91
98
  prevOnChange(...args);
@@ -101,25 +108,26 @@ export function ToolbarHeadingButton(props) {
101
108
  };
102
109
  }
103
110
  if (!editor) return null;
104
- return /*#__PURE__*/ React.createElement(Menu, {
111
+ return React.createElement(Menu, {
105
112
  isOpen: isOpen,
106
113
  onClose: ()=>setOpen(false)
107
- }, /*#__PURE__*/ React.createElement(Menu.Trigger, null, /*#__PURE__*/ React.createElement(Button, {
114
+ }, React.createElement(Menu.Trigger, null, React.createElement(Button, {
108
115
  size: "small",
109
116
  testId: "toolbar-heading-toggle",
110
117
  variant: "transparent",
111
- endIcon: /*#__PURE__*/ React.createElement(ChevronDownIcon, null),
118
+ endIcon: React.createElement(ChevronDownIcon, null),
112
119
  isDisabled: props.isDisabled,
113
- onClick: ()=>someHeadingsEnabled && setOpen(!isOpen)
114
- }, LABELS[selected])), /*#__PURE__*/ React.createElement(Menu.List, {
120
+ onClick: ()=>someHeadingsEnabled && setOpen(!isOpen),
121
+ className: styles.button
122
+ }, LABELS[selected])), React.createElement(Menu.List, {
115
123
  testId: "dropdown-heading-list"
116
- }, ' ', Object.keys(LABELS).map((nodeType)=>nodeTypesByEnablement[nodeType] && /*#__PURE__*/ React.createElement(Menu.Item, {
124
+ }, Object.keys(LABELS).map((nodeType)=>nodeTypesByEnablement[nodeType] && React.createElement(Menu.Item, {
117
125
  key: nodeType,
118
126
  isInitiallyFocused: selected === nodeType,
119
127
  onClick: handleOnSelectItem(nodeType),
120
128
  testId: `dropdown-option-${nodeType}`,
121
129
  disabled: props.isDisabled
122
- }, /*#__PURE__*/ React.createElement("span", {
130
+ }, React.createElement("span", {
123
131
  className: cx(styles.dropdown.root, styles.dropdown[nodeType])
124
132
  }, LABELS[nodeType]))).filter(Boolean)));
125
133
  }
@@ -5,7 +5,7 @@ import { transformLift, transformUnwrap } from '../../helpers/transformers';
5
5
  import { isMarkActive, getAboveNode } from '../../internal/queries';
6
6
  import { COMMAND_PROMPT } from '../CommandPalette/constants';
7
7
  import { HeadingComponents } from './components/Heading';
8
- const buildHeadingEventHandler = (type)=>(editor, { options: { hotkey } })=>(event)=>{
8
+ const buildHeadingEventHandler = (type)=>(editor, { options: { hotkey } })=>(event)=>{
9
9
  if (editor.selection && hotkey && isHotkey(hotkey, event)) {
10
10
  const isActive = isBlockSelected(editor, type);
11
11
  editor.tracking.onShortcutAction(isActive ? 'remove' : 'insert', {
@@ -20,7 +20,6 @@ const buildHeadingEventHandler = (type)=>(editor, { options: { hotkey } })=>(eve
20
20
  export const createHeadingPlugin = ()=>({
21
21
  key: 'HeadingPlugin',
22
22
  softBreak: [
23
- // create a new line with SHIFT+Enter inside a heading
24
23
  {
25
24
  hotkey: 'shift+enter',
26
25
  query: {
@@ -43,16 +42,12 @@ export const createHeadingPlugin = ()=>({
43
42
  then: (editor)=>{
44
43
  return {
45
44
  exitBreak: [
46
- // Pressing ENTER at the start or end of a heading text inserts a
47
- // normal paragraph.
48
45
  {
49
46
  hotkey: 'enter',
50
47
  query: {
51
48
  allow: HEADINGS,
52
49
  end: true,
53
50
  start: true,
54
- // Exclude headings inside lists as it interferes with the list's
55
- // insertBreak implementation
56
51
  filter: ([, path])=>!getAboveNode(editor, {
57
52
  at: path,
58
53
  match: {
@@ -72,32 +72,29 @@ export function ToolbarHrButton(props) {
72
72
  };
73
73
  const hasText = !!getText(editor, editor.selection.focus.path);
74
74
  hasText ? insertNodes(editor, hr) : setNodes(editor, hr);
75
- // Move focus to the next paragraph (added by TrailingParagraph plugin)
76
75
  moveToTheNextLine(editor);
77
76
  focus(editor);
78
77
  }
79
78
  if (!editor) return null;
80
- return /*#__PURE__*/ React.createElement(ToolbarButton, {
79
+ return React.createElement(ToolbarButton, {
81
80
  title: "HR",
82
81
  isDisabled: props.isDisabled,
83
82
  onClick: handleOnClick,
84
83
  testId: "hr-toolbar-button",
85
84
  isActive: isBlockSelected(editor, BLOCKS.HR)
86
- }, /*#__PURE__*/ React.createElement(HorizontalRuleIcon, null));
85
+ }, React.createElement(HorizontalRuleIcon, null));
87
86
  }
88
87
  export function Hr(props) {
89
88
  const isSelected = Slate.useSelected();
90
89
  const isFocused = Slate.useFocused();
91
- return /*#__PURE__*/ React.createElement("div", {
90
+ return React.createElement("div", {
92
91
  ...props.attributes,
93
92
  className: styles.container,
94
- // COMPAT: To make HR copyable in Safari, we verify this attribute below on `deserialize`
95
93
  "data-void-element": BLOCKS.HR
96
- }, /*#__PURE__*/ React.createElement("div", {
94
+ }, React.createElement("div", {
97
95
  draggable: true,
98
- // Moving `contentEditable` to this div makes it to be selectable when being the first void element, e.g pressing ctrl + a to select everything
99
96
  contentEditable: false
100
- }, /*#__PURE__*/ React.createElement("hr", {
97
+ }, React.createElement("hr", {
101
98
  className: cx(styles.hr, isSelected && isFocused ? styles.hrSelected : undefined)
102
99
  })), props.children);
103
100
  }
@@ -78,7 +78,7 @@ export function HyperlinkModal(props) {
78
78
  });
79
79
  }
80
80
  function entityToLink(entity) {
81
- const { id, type } = entity.sys;
81
+ const { id , type } = entity.sys;
82
82
  return {
83
83
  sys: {
84
84
  id,
@@ -88,8 +88,7 @@ export function HyperlinkModal(props) {
88
88
  };
89
89
  }
90
90
  function entityToResourceLink(entity) {
91
- const { urn } = entity.sys;
92
- // @ts-expect-error wait for update of app-sdk version
91
+ const { urn } = entity.sys;
93
92
  return {
94
93
  sys: {
95
94
  urn,
@@ -122,7 +121,6 @@ export function HyperlinkModal(props) {
122
121
  const options = {
123
122
  allowedResources: getAllowedResourcesForNodeType(props.sdk.field, INLINES.RESOURCE_HYPERLINK)
124
123
  };
125
- // @ts-expect-error wait for update of app-sdk version
126
124
  const entry = await props.sdk.dialogs.selectSingleResourceEntry(options);
127
125
  if (entry) {
128
126
  setLinkTarget('');
@@ -143,30 +141,30 @@ export function HyperlinkModal(props) {
143
141
  event.preventDefault();
144
142
  setLinkEntity(null);
145
143
  }
146
- return /*#__PURE__*/ React.createElement(EntityProvider, {
144
+ return React.createElement(EntityProvider, {
147
145
  sdk: props.sdk
148
- }, /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(ModalContent, null, /*#__PURE__*/ React.createElement(Form, null, !props.linkType && /*#__PURE__*/ React.createElement(FormControl, {
146
+ }, React.createElement(React.Fragment, null, React.createElement(ModalContent, null, React.createElement(Form, null, !props.linkType && React.createElement(FormControl, {
149
147
  id: "link-text",
150
148
  isRequired: true
151
- }, /*#__PURE__*/ React.createElement(FormControl.Label, null, "Link text"), /*#__PURE__*/ React.createElement(TextInput, {
149
+ }, React.createElement(FormControl.Label, null, "Link text"), React.createElement(TextInput, {
152
150
  testId: "link-text-input",
153
151
  name: "link-text",
154
152
  value: linkText,
155
153
  onChange: (event)=>setLinkText(event.target.value)
156
- })), enabledLinkTypes.length > 1 && /*#__PURE__*/ React.createElement(FormControl, {
154
+ })), enabledLinkTypes.length > 1 && React.createElement(FormControl, {
157
155
  id: "link-type"
158
- }, /*#__PURE__*/ React.createElement(FormControl.Label, null, "Link type"), /*#__PURE__*/ React.createElement(Select, {
156
+ }, React.createElement(FormControl.Label, null, "Link type"), React.createElement(Select, {
159
157
  value: linkType,
160
158
  onChange: (event)=>setLinkType(event.target.value),
161
159
  testId: "link-type-input",
162
160
  isDisabled: props.readonly
163
- }, enabledLinkTypes.map((nodeType)=>/*#__PURE__*/ React.createElement(Select.Option, {
161
+ }, enabledLinkTypes.map((nodeType)=>React.createElement(Select.Option, {
164
162
  key: nodeType,
165
163
  value: nodeType
166
- }, LINK_TYPE_SELECTION_VALUES[nodeType])))), linkType === INLINES.HYPERLINK && /*#__PURE__*/ React.createElement(FormControl, {
164
+ }, LINK_TYPE_SELECTION_VALUES[nodeType])))), linkType === INLINES.HYPERLINK && React.createElement(FormControl, {
167
165
  id: "linkTarget",
168
166
  isRequired: true
169
- }, /*#__PURE__*/ React.createElement(FormControl.Label, null, "Link target"), /*#__PURE__*/ React.createElement(TextInput, {
167
+ }, React.createElement(FormControl.Label, null, "Link target"), React.createElement(TextInput, {
170
168
  ref: linkTargetInputRef,
171
169
  name: "linkTarget",
172
170
  value: linkTarget,
@@ -176,46 +174,46 @@ export function HyperlinkModal(props) {
176
174
  },
177
175
  testId: "link-target-input",
178
176
  isDisabled: props.readonly
179
- }), /*#__PURE__*/ React.createElement(FormControl.HelpText, null, "A protocol may be required, e.g. https://")), linkType !== INLINES.HYPERLINK && /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement(FormLabel, {
177
+ }), React.createElement(FormControl.HelpText, null, "A protocol may be required, e.g. https://")), linkType !== INLINES.HYPERLINK && React.createElement("div", null, React.createElement(FormLabel, {
180
178
  isRequired: true,
181
179
  htmlFor: ""
182
- }, "Link target", ' '), linkEntity && linkEntity.sys.linkType === SYS_LINK_TYPES[linkType] ? /*#__PURE__*/ React.createElement(React.Fragment, null, !props.readonly && /*#__PURE__*/ React.createElement(TextLink, {
180
+ }, "Link target", ' '), linkEntity && linkEntity.sys.linkType === SYS_LINK_TYPES[linkType] ? React.createElement(React.Fragment, null, !props.readonly && React.createElement(TextLink, {
183
181
  testId: "entity-selection-link",
184
182
  onClick: resetLinkEntity,
185
183
  className: styles.removeSelectionLabel
186
- }, "Remove selection"), /*#__PURE__*/ React.createElement("div", null, linkType === INLINES.ENTRY_HYPERLINK && isEntryLink(linkEntity) && /*#__PURE__*/ React.createElement(FetchingWrappedEntryCard, {
184
+ }, "Remove selection"), React.createElement("div", null, linkType === INLINES.ENTRY_HYPERLINK && isEntryLink(linkEntity) && React.createElement(FetchingWrappedEntryCard, {
187
185
  sdk: props.sdk,
188
186
  locale: props.sdk.field.locale,
189
187
  entryId: linkEntity.sys.id,
190
188
  isDisabled: true,
191
189
  isSelected: false
192
- }), linkType === INLINES.RESOURCE_HYPERLINK && isResourceLink(linkEntity) && /*#__PURE__*/ React.createElement(FetchingWrappedResourceCard, {
190
+ }), linkType === INLINES.RESOURCE_HYPERLINK && isResourceLink(linkEntity) && React.createElement(FetchingWrappedResourceCard, {
193
191
  sdk: props.sdk,
194
192
  link: linkEntity.sys,
195
193
  isDisabled: true,
196
194
  isSelected: false
197
- }), linkType === INLINES.ASSET_HYPERLINK && isAssetLink(linkEntity) && /*#__PURE__*/ React.createElement(FetchingWrappedAssetCard, {
195
+ }), linkType === INLINES.ASSET_HYPERLINK && isAssetLink(linkEntity) && React.createElement(FetchingWrappedAssetCard, {
198
196
  sdk: props.sdk,
199
197
  locale: props.sdk.field.locale,
200
198
  assetId: linkEntity.sys.id,
201
199
  isDisabled: true,
202
200
  isSelected: false
203
- }))) : /*#__PURE__*/ React.createElement("div", null, linkType === INLINES.ENTRY_HYPERLINK && /*#__PURE__*/ React.createElement(TextLink, {
201
+ }))) : React.createElement("div", null, linkType === INLINES.ENTRY_HYPERLINK && React.createElement(TextLink, {
204
202
  testId: "entity-selection-link",
205
203
  onClick: selectEntry
206
- }, "Select entry"), linkType === INLINES.RESOURCE_HYPERLINK && /*#__PURE__*/ React.createElement(TextLink, {
204
+ }, "Select entry"), linkType === INLINES.RESOURCE_HYPERLINK && React.createElement(TextLink, {
207
205
  testId: "entity-selection-link",
208
206
  onClick: selectResourceEntry
209
- }, "Select entry"), linkType === INLINES.ASSET_HYPERLINK && /*#__PURE__*/ React.createElement(TextLink, {
207
+ }, "Select entry"), linkType === INLINES.ASSET_HYPERLINK && React.createElement(TextLink, {
210
208
  testId: "entity-selection-link",
211
209
  onClick: selectAsset
212
- }, "Select asset"))))), /*#__PURE__*/ React.createElement(ModalControls, null, /*#__PURE__*/ React.createElement(Button, {
210
+ }, "Select asset"))))), React.createElement(ModalControls, null, React.createElement(Button, {
213
211
  type: "button",
214
212
  onClick: ()=>props.onClose(null),
215
213
  variant: "secondary",
216
214
  testId: "cancel-cta",
217
215
  size: "small"
218
- }, "Cancel"), /*#__PURE__*/ React.createElement(Button, {
216
+ }, "Cancel"), React.createElement(Button, {
219
217
  type: "submit",
220
218
  variant: "positive",
221
219
  size: "small",
@@ -251,8 +249,8 @@ export async function addOrEditLink(editor, sdk, logAction, targetPath) {
251
249
  shouldCloseOnEscapePress: true,
252
250
  shouldCloseOnOverlayClick: true,
253
251
  allowHeightOverflow: true
254
- }, ({ onClose })=>{
255
- return /*#__PURE__*/ React.createElement(HyperlinkModal, {
252
+ }, ({ onClose })=>{
253
+ return React.createElement(HyperlinkModal, {
256
254
  linkTarget: linkTarget,
257
255
  linkText: currentLinkText,
258
256
  linkType: linkType,
@@ -268,7 +266,7 @@ export async function addOrEditLink(editor, sdk, logAction, targetPath) {
268
266
  logAction(isEditing ? 'cancelEditHyperlinkDialog' : 'cancelCreateHyperlinkDialog');
269
267
  return;
270
268
  }
271
- const { linkText: text, linkTarget: url, linkType: type, linkEntity: target } = data;
269
+ const { linkText: text , linkTarget: url , linkType: type , linkEntity: target } = data;
272
270
  withoutNormalizing(editor, ()=>{
273
271
  insertLink(editor, {
274
272
  text,