@contentful/field-editor-rich-text 3.16.7 → 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 +3 -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 +3 -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
@@ -12,46 +12,20 @@ const wrapSpaceAround = (el)=>{
12
12
  }
13
13
  };
14
14
  const unwrap = (el)=>{
15
- // add a spacer to avoid the content being cramped together with
16
- // the element siblings after it's unwrapped. It may not always
17
- // be desired but it should be easy to adjust by the end user.
18
15
  wrapSpaceAround(el);
19
16
  el.replaceWith(...Array.from(el.childNodes));
20
17
  };
21
- /**
22
- * In HTML it's a valid structure to have a block element inside a link
23
- *
24
- * e.g: <a href="..."><h1> My link </h1><h2>is fancy</h2></a>
25
- *
26
- * However, that's not supported in Slate. There are generally two ways to
27
- * handle this:
28
- *
29
- * a) Unwrap inner blocks while preserving the content.
30
- * e.g. <a href="...">My link is fancy</a>
31
- *
32
- * b) Break the link into multiple elements with having each block
33
- * element as a wrapper for an anchor with the same URL
34
- * e.g. <h1><a href="...">My link</a></h1>
35
- * and <h2><a href="...">is fancy</a></h2>
36
- *
37
- * We take approach (a) in here.
38
- */ export const sanitizeAnchors = (doc)=>{
18
+ export const sanitizeAnchors = (doc)=>{
39
19
  const unsupportedTagSelector = `a :not(${[
40
- // Bold
41
20
  'b',
42
21
  'strong',
43
- // Code
44
22
  'code',
45
23
  'pre',
46
- // Italic
47
24
  'em',
48
25
  'i',
49
- // Super/subscript
50
26
  'sub',
51
27
  'sup',
52
- // Underline
53
28
  'u',
54
- // Other
55
29
  'span'
56
30
  ].join(',')})`;
57
31
  doc.querySelectorAll(unsupportedTagSelector).forEach(unwrap);
@@ -1,20 +1,15 @@
1
1
  import { sanitizeAnchors } from './sanitizeAnchors';
2
2
  import { sanitizeSheets } from './sanitizeSheets';
3
- /**
4
- * Remove all <style> tags
5
- */ const stripStyleTags = (doc)=>{
3
+ const stripStyleTags = (doc)=>{
6
4
  doc.querySelectorAll('style').forEach((e)=>{
7
5
  e.remove();
8
6
  });
9
7
  return doc;
10
8
  };
11
- /**
12
- * Remove all <meta /> tags
13
- */ const stripMetaTags = (doc)=>{
9
+ const stripMetaTags = (doc)=>{
14
10
  doc.querySelectorAll('meta').forEach((el)=>el.remove());
15
11
  return doc;
16
12
  };
17
- // Attention: Order is important
18
13
  const transformers = [
19
14
  stripStyleTags,
20
15
  sanitizeSheets,
@@ -29,27 +24,17 @@ function removeTableWrappers(table) {
29
24
  }
30
25
  }
31
26
  export const sanitizeHTML = (html)=>{
32
- // Parse the HTML string and pipe it through our transformers
33
27
  const doc = transformers.reduce((value, cb)=>cb(value), new DOMParser().parseFromString(html, 'text/html'));
34
28
  const replacers = [
35
- // remove whitespaces between some tags, as this can lead to unwanted behaviour:
36
- // - table -> empty table cells
37
- // - list -> leading whitespaces
38
29
  (innerHtml)=>innerHtml.replace(/<(\/)?(table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)(.*)>\s+<(\/)?(table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)/g, '<$1$2$3><$4$5'),
39
- // remove empty elements before the ending block element tag
40
30
  (innerHtml)=>innerHtml.replace(/(?:<[^>^/]*>)\s*(?:<\/[^>]*>)<\/(div|p|table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)/g, '</$1'),
41
- // remove whitespaces before the ending block element tag
42
31
  (innerHTML)=>innerHTML.replace(/\s*<\/(div|p|table|thead|tbody|tr|td|th|caption|col|colgroup|ol|ul|li)/g, '</$1')
43
32
  ];
44
33
  let previous;
45
34
  do {
46
- // save previous first before doing modifications
47
35
  previous = doc.body.innerHTML;
48
36
  doc.body.innerHTML = replacers.reduce((innerHTML, replacer)=>replacer(innerHTML), doc.body.innerHTML);
49
37
  }while (doc.body.innerHTML !== previous)
50
- // Removing the div container wrappers from tables
51
- // The div container including attributes and possible linebreaks inside wil be removed
52
- // TODO: can be removed with plate >= 20
53
38
  doc.querySelectorAll('table').forEach(removeTableWrappers);
54
39
  return doc.body.innerHTML;
55
40
  };
@@ -1,12 +1,6 @@
1
- /**
2
- * Remove empty spreadsheets columns/rows for performance reasons.
3
- */ export const sanitizeSheets = (doc)=>{
4
- // Ensure we are inside a spreadsheet i.e. not pasting
5
- // a table from within the editor
1
+ export const sanitizeSheets = (doc)=>{
6
2
  const supported = [
7
- // Google Sheets
8
3
  'google-sheets-html-origin',
9
- // MS Excel
10
4
  'meta[content="Excel.Sheet"]',
11
5
  'meta[content*="Microsoft Excel"]'
12
6
  ];
@@ -18,23 +12,17 @@
18
12
  };
19
13
  const tables = Array.from(doc.querySelectorAll('table'));
20
14
  for (const table of tables){
21
- // Remove empty columns first!
22
15
  table.querySelectorAll('tr').forEach((row)=>{
23
16
  isEmptyElement(row) && row.remove();
24
17
  });
25
18
  const rows = Array.from(table.querySelectorAll('tr'));
26
- // CSS :nth-of-type index starts from 1
27
19
  let colIndex = 1;
28
- // eslint-disable-next-line -- TODO: explain this disable
29
20
  while(true){
30
21
  const cells = rows.map((row)=>row.querySelector(`th:nth-of-type(${colIndex}), td:nth-of-type(${colIndex})`)).filter((cell)=>!!cell);
31
- // No more columns
32
22
  if (cells.length === 0) {
33
23
  break;
34
24
  }
35
25
  const isEmpty = cells.every((cell)=>isEmptyElement(cell));
36
- // Don't increment on deletion because columns will be shifted
37
- // left anyway. Incrementing may result in skipping
38
26
  if (!isEmpty) {
39
27
  colIndex += 1;
40
28
  continue;
@@ -1,16 +1,16 @@
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("hquote", null, /*#__PURE__*/ jsx("hp", null, "some text before", /*#__PURE__*/ jsx("hinline", {
4
+ const input = jsx("editor", null, jsx("hquote", null, jsx("hp", 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
15
  }), "some text after")));
16
16
  assertOutput({
@@ -19,16 +19,16 @@ describe('normalization', ()=>{
19
19
  });
20
20
  });
21
21
  it('unwraps nested quotes', ()=>{
22
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "some"), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", {
22
+ const input = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "some"), jsx("hquote", null, jsx("hp", null, jsx("htext", {
23
23
  bold: true,
24
24
  italic: true,
25
25
  underline: true
26
- }, "paragraph"))), /*#__PURE__*/ jsx("hp", null, "text")));
27
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "some"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", {
26
+ }, "paragraph"))), jsx("hp", null, "text")));
27
+ const expected = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "some"), jsx("hp", null, jsx("htext", {
28
28
  bold: true,
29
29
  italic: true,
30
30
  underline: true
31
- }, "paragraph")), /*#__PURE__*/ jsx("hp", null, "text")), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
31
+ }, "paragraph")), jsx("hp", null, "text")), jsx("hp", null, jsx("htext", null)));
32
32
  assertOutput({
33
33
  input,
34
34
  expected
@@ -36,37 +36,37 @@ describe('normalization', ()=>{
36
36
  });
37
37
  describe('lifts other invalid children', ()=>{
38
38
  it('block void elements', ()=>{
39
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "this"), /*#__PURE__*/ jsx("hembed", {
39
+ const input = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "this"), jsx("hembed", {
40
40
  type: "Asset",
41
41
  id: "1"
42
- }), /*#__PURE__*/ jsx("hp", null, "is"), /*#__PURE__*/ jsx("hembed", {
42
+ }), jsx("hp", null, "is"), jsx("hembed", {
43
43
  type: "Entry",
44
44
  id: "1"
45
- }), /*#__PURE__*/ jsx("hp", null, "a blockquote"), /*#__PURE__*/ jsx("hhr", null), /*#__PURE__*/ jsx("hh1", null, "Heading 1")));
46
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "this")), /*#__PURE__*/ jsx("hembed", {
45
+ }), jsx("hp", null, "a blockquote"), jsx("hhr", null), jsx("hh1", null, "Heading 1")));
46
+ const expected = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "this")), jsx("hembed", {
47
47
  type: "Asset",
48
48
  id: "1"
49
- }), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "is")), /*#__PURE__*/ jsx("hembed", {
49
+ }), jsx("hquote", null, jsx("hp", null, "is")), jsx("hembed", {
50
50
  type: "Entry",
51
51
  id: "1"
52
- }), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "a blockquote")), /*#__PURE__*/ jsx("hhr", null), /*#__PURE__*/ jsx("hh1", null, "Heading 1"), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)));
52
+ }), jsx("hquote", null, jsx("hp", null, "a blockquote")), jsx("hhr", null), jsx("hh1", null, "Heading 1"), jsx("hp", null, jsx("text", null)));
53
53
  assertOutput({
54
54
  input,
55
55
  expected
56
56
  });
57
57
  });
58
58
  it('handles lists', ()=>{
59
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "some", /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "list item"))), "text")));
60
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "some")), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "list item"))), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "text")), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)));
59
+ const input = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "some", jsx("hul", null, jsx("hli", null, jsx("hp", null, "list item"))), "text")));
60
+ const expected = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "some")), jsx("hul", null, jsx("hli", null, jsx("hp", null, "list item"))), jsx("hquote", null, jsx("hp", null, "text")), jsx("hp", null, jsx("text", null)));
61
61
  assertOutput({
62
62
  input,
63
63
  expected
64
64
  });
65
65
  });
66
66
  it('handles tables', ()=>{
67
- const table = /*#__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"))));
68
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "some", table, "text")));
69
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "some")), table, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "text")), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)));
67
+ const table = jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 1")), jsx("htd", null, jsx("hp", null, "cell 2"))));
68
+ const input = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "some", table, "text")));
69
+ const expected = jsx("editor", null, jsx("hquote", null, jsx("hp", null, "some")), table, jsx("hquote", null, jsx("hp", null, "text")), jsx("hp", null, jsx("text", null)));
70
70
  assertOutput({
71
71
  input,
72
72
  expected
@@ -8,7 +8,7 @@ const style = css({
8
8
  fontStyle: 'normal'
9
9
  });
10
10
  export function Quote(props) {
11
- return /*#__PURE__*/ React.createElement("blockquote", {
11
+ return React.createElement("blockquote", {
12
12
  ...props.attributes,
13
13
  className: style
14
14
  }, props.children);
@@ -13,11 +13,11 @@ export function ToolbarQuoteButton(props) {
13
13
  focus(editor);
14
14
  }
15
15
  if (!editor) return null;
16
- return /*#__PURE__*/ React.createElement(ToolbarButton, {
16
+ return React.createElement(ToolbarButton, {
17
17
  title: "Blockquote",
18
18
  onClick: handleOnClick,
19
19
  testId: "quote-toolbar-button",
20
20
  isDisabled: props.isDisabled,
21
21
  isActive: isBlockSelected(editor, BLOCKS.QUOTE)
22
- }, /*#__PURE__*/ React.createElement(QuoteIcon, null));
22
+ }, React.createElement(QuoteIcon, null));
23
23
  }
@@ -25,7 +25,6 @@ export function createQuotePlugin() {
25
25
  },
26
26
  resetNode: [
27
27
  {
28
- // toggle off blockquote on backspace when it's empty
29
28
  hotkey: 'backspace',
30
29
  types: [
31
30
  BLOCKS.QUOTE
@@ -1,12 +1,7 @@
1
1
  import { BLOCKS, TEXT_CONTAINERS } from '@contentful/rich-text-types';
2
2
  import { isLastChild, hasSingleChild } from '@udecode/plate-common';
3
3
  import { getAboveNode, getBlockAbove, isAncestorEmpty } from '../../internal/queries';
4
- /**
5
- * Returns true if we are:
6
- * 1) Inside a blockquote
7
- * 2) With no only one child paragraph/heading and
8
- * 3) that child is empty
9
- */ export const shouldResetQuoteOnBackspace = (editor)=>{
4
+ export const shouldResetQuoteOnBackspace = (editor)=>{
10
5
  const container = getAboveNode(editor, {
11
6
  match: {
12
7
  type: TEXT_CONTAINERS
@@ -25,7 +25,7 @@ export function toggleQuote(editor, logAction) {
25
25
  });
26
26
  }
27
27
  export const onKeyDownToggleQuote = (editor, plugin)=>(event)=>{
28
- const { hotkey } = plugin.options;
28
+ const { hotkey } = plugin.options;
29
29
  if (hotkey && isHotkey(hotkey, event)) {
30
30
  event.preventDefault();
31
31
  toggleQuote(editor, editor.tracking.onShortcutAction);
@@ -3,7 +3,7 @@ import { Element, Point } from 'slate';
3
3
  import { getAboveNode, getText } from '../../internal/queries';
4
4
  import { deleteText, insertNodes } from '../../internal/transforms';
5
5
  export const withQuote = (editor)=>{
6
- const { insertFragment } = editor;
6
+ const { insertFragment } = editor;
7
7
  editor.insertFragment = (fragment)=>{
8
8
  const startingNode = fragment.length && fragment[0];
9
9
  const startsWithBlockquote = Element.isElement(startingNode) && startingNode.type === BLOCKS.QUOTE;
@@ -14,15 +14,13 @@ export const withQuote = (editor)=>{
14
14
  });
15
15
  const containerIsNotEmpty = containerEntry && getText(editor, containerEntry[1]) !== '';
16
16
  if (startsWithBlockquote && containerIsNotEmpty) {
17
- const { selection } = editor;
17
+ const { selection } = editor;
18
18
  const isContentSelected = (selection)=>!!selection && Point.compare(selection.anchor, selection.focus) !== 0;
19
- // if something is selected (highlighted) we replace the selection
20
19
  if (isContentSelected(selection)) {
21
20
  deleteText(editor, {
22
21
  at: selection
23
22
  });
24
23
  }
25
- // get the cursor entry again, it may be different after deletion
26
24
  const containerEntry = getAboveNode(editor, {
27
25
  match: {
28
26
  type: TEXT_CONTAINERS
@@ -3,7 +3,6 @@ import { createSelectOnBackspacePlugin as createDefaultSelectPlugin } from '@ude
3
3
  export const createSelectOnBackspacePlugin = ()=>createDefaultSelectPlugin({
4
4
  options: {
5
5
  query: {
6
- // `createTextPlugin` is taking care of block elements
7
6
  allow: [
8
7
  INLINES.EMBEDDED_ENTRY
9
8
  ]
@@ -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
  describe('Table', ()=>{
4
4
  it('removes empty table nodes', ()=>{
5
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("htable", null));
6
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)));
5
+ const input = jsx("editor", null, jsx("htable", null));
6
+ const expected = jsx("editor", null, jsx("hp", null, jsx("text", null)));
7
7
  assertOutput({
8
8
  input,
9
9
  expected
10
10
  });
11
11
  });
12
12
  it('moves tables to the root level except nested tables', ()=>{
13
- const table = /*#__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"))));
14
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, "hello", table), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "quote", table)), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "item", table))), /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell with table: ", table)))));
15
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, "hello"), table, /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "quote")), table, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "item"))), table, /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell with table: "), /*#__PURE__*/ jsx("hp", null, "Cell 1"), /*#__PURE__*/ jsx("hp", null, "Cell 2")))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
13
+ const table = jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "Cell 1")), jsx("htd", null, jsx("hp", null, "Cell 2"))));
14
+ const input = jsx("editor", null, jsx("hp", null, "hello", table), jsx("hquote", null, jsx("hp", null, "quote", table)), jsx("hul", null, jsx("hli", null, jsx("hp", null, "item", table))), jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell with table: ", table)))));
15
+ const expected = jsx("editor", null, jsx("hp", null, "hello"), table, jsx("hquote", null, jsx("hp", null, "quote")), table, jsx("hul", null, jsx("hli", null, jsx("hp", null, "item"))), table, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell with table: "), jsx("hp", null, "Cell 1"), jsx("hp", null, "Cell 2")))), jsx("hp", null, jsx("htext", null)));
16
16
  assertOutput({
17
17
  input,
18
18
  expected
19
19
  });
20
20
  });
21
21
  it('removes invalid children', ()=>{
22
- const input = /*#__PURE__*/ jsx("editor", null, /*#__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("htd", null, "invalid cell"), "invalid text"), /*#__PURE__*/ jsx("hp", null));
23
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__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("hp", null, /*#__PURE__*/ jsx("htext", null)));
22
+ const input = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "Cell 1")), jsx("htd", null, jsx("hp", null, "Cell 2"))), jsx("htd", null, "invalid cell"), "invalid text"), jsx("hp", null));
23
+ const expected = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "Cell 1")), jsx("htd", null, jsx("hp", null, "Cell 2")))), jsx("hp", null, jsx("htext", null)));
24
24
  assertOutput({
25
25
  input,
26
26
  expected
@@ -29,22 +29,22 @@ describe('normalization', ()=>{
29
29
  });
30
30
  describe('Table cell', ()=>{
31
31
  it('converts invalid children to paragraphs', ()=>{
32
- const input = /*#__PURE__*/ jsx("editor", null, /*#__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("hquote", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", {
32
+ const input = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "Cell 1")), jsx("htd", null, jsx("hp", null, "Cell 2"), jsx("hquote", null, jsx("hp", null, jsx("htext", {
33
33
  bold: true,
34
34
  italic: true,
35
35
  underline: true
36
- }, "quote"), /*#__PURE__*/ jsx("hinline", {
36
+ }, "quote"), jsx("hinline", {
37
37
  type: "Entry",
38
38
  id: "entry-id"
39
- })))))), /*#__PURE__*/ jsx("hp", null));
40
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__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("hp", null, /*#__PURE__*/ jsx("htext", {
39
+ })))))), jsx("hp", null));
40
+ const expected = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "Cell 1")), jsx("htd", null, jsx("hp", null, "Cell 2"), jsx("hp", null, jsx("htext", {
41
41
  bold: true,
42
42
  italic: true,
43
43
  underline: true
44
- }, "quote"), /*#__PURE__*/ jsx("hinline", {
44
+ }, "quote"), jsx("hinline", {
45
45
  type: "Entry",
46
46
  id: "entry-id"
47
- }), /*#__PURE__*/ jsx("htext", null))))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
47
+ }), jsx("htext", null))))), jsx("hp", null, jsx("htext", null)));
48
48
  assertOutput({
49
49
  input,
50
50
  expected
@@ -53,32 +53,32 @@ describe('normalization', ()=>{
53
53
  });
54
54
  describe('Table row', ()=>{
55
55
  it('must be wrapped in a table', ()=>{
56
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell"))));
57
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell")))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)));
56
+ const input = jsx("editor", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell"))));
57
+ const expected = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell")))), jsx("hp", null, jsx("text", null)));
58
58
  assertOutput({
59
59
  input,
60
60
  expected
61
61
  });
62
62
  });
63
63
  it('removes empty rows', ()=>{
64
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("htr", null));
65
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)));
64
+ const input = jsx("editor", null, jsx("htr", null));
65
+ const expected = jsx("editor", null, jsx("hp", null, jsx("text", null)));
66
66
  assertOutput({
67
67
  input,
68
68
  expected
69
69
  });
70
70
  });
71
71
  it('wraps invalid children in table cells', ()=>{
72
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 1")), /*#__PURE__*/ jsx("hp", null, "cell 2"))));
73
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__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("hp", null, /*#__PURE__*/ jsx("text", null)));
72
+ const input = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 1")), jsx("hp", null, "cell 2"))));
73
+ const expected = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 1")), jsx("htd", null, jsx("hp", null, "cell 2")))), jsx("hp", null, jsx("text", null)));
74
74
  assertOutput({
75
75
  input,
76
76
  expected
77
77
  });
78
78
  });
79
79
  it('ensures all table rows have the same width', ()=>{
80
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 1"))), /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 2")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 3")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 4"))), /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 5")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 6")))));
81
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__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, /*#__PURE__*/ jsx("text", null))), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)))), /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 2")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 3")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 4"))), /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 5")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, "cell 6")), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null))))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("text", null)));
80
+ const input = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 1"))), jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 2")), jsx("htd", null, jsx("hp", null, "cell 3")), jsx("htd", null, jsx("hp", null, "cell 4"))), jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 5")), jsx("htd", null, jsx("hp", null, "cell 6")))));
81
+ const expected = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 1")), jsx("htd", null, jsx("hp", null, jsx("text", null))), jsx("htd", null, jsx("hp", null, jsx("text", null)))), jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 2")), jsx("htd", null, jsx("hp", null, "cell 3")), jsx("htd", null, jsx("hp", null, "cell 4"))), jsx("htr", null, jsx("htd", null, jsx("hp", null, "cell 5")), jsx("htd", null, jsx("hp", null, "cell 6")), jsx("htd", null, jsx("hp", null, jsx("text", null))))), jsx("hp", null, jsx("text", null)));
82
82
  assertOutput({
83
83
  input,
84
84
  expected
@@ -1,12 +1,12 @@
1
- /** @jsx jsx */ import { jsx, assertOutput, createTestEditor } from '../../../test-utils';
1
+ import { jsx, assertOutput, createTestEditor } from '../../../test-utils';
2
2
  import { insertTableAndFocusFirstCell } from '../helpers';
3
3
  test('insertTableAndFocusFirstCell', ()=>{
4
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null), /*#__PURE__*/ jsx("cursor", null)), /*#__PURE__*/ jsx("hp", null));
5
- const { editor } = createTestEditor({
4
+ const input = jsx("editor", null, jsx("hp", null, jsx("htext", null), jsx("cursor", null)), jsx("hp", null));
5
+ const { editor } = createTestEditor({
6
6
  input
7
7
  });
8
8
  insertTableAndFocusFirstCell(editor);
9
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("htable", null, /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("hth", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null), /*#__PURE__*/ jsx("cursor", null))), /*#__PURE__*/ jsx("hth", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)))), /*#__PURE__*/ jsx("htr", null, /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null))), /*#__PURE__*/ jsx("htd", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null))))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
9
+ const expected = jsx("editor", null, jsx("htable", null, jsx("htr", null, jsx("hth", null, jsx("hp", null, jsx("htext", null), jsx("cursor", null))), jsx("hth", null, jsx("hp", null, jsx("htext", null)))), jsx("htr", null, jsx("htd", null, jsx("hp", null, jsx("htext", null))), jsx("htd", null, jsx("hp", null, jsx("htext", null))))), jsx("hp", null, jsx("htext", null)));
10
10
  assertOutput({
11
11
  input,
12
12
  expected
@@ -2,7 +2,7 @@ import { BLOCKS } from '@contentful/rich-text-types';
2
2
  import { getEmptyCellNode } from '@udecode/plate-table';
3
3
  import { getAboveNode, getNextPath, someNode } from '../../../internal/queries';
4
4
  import { insertNodes } from '../../../internal/transforms';
5
- const addColumn = (editor, { header }, getNextCellPath)=>{
5
+ const addColumn = (editor, { header }, getNextCellPath)=>{
6
6
  if (someNode(editor, {
7
7
  match: {
8
8
  type: BLOCKS.TABLE
@@ -31,7 +31,6 @@ const addColumn = (editor, { header }, getNextCellPath)=>{
31
31
  header: header && rowIdx === 0
32
32
  }), {
33
33
  at: newCellPath,
34
- // Select the first cell of the new column
35
34
  select: rowIdx === 0
36
35
  });
37
36
  });
@@ -21,10 +21,8 @@ const addRow = (editor, getNextRowPath)=>{
21
21
  colCount: currentRowElem.children.length
22
22
  }), {
23
23
  at: nextRowPath,
24
- // Note: this selects the last cell of the new row
25
24
  select: true
26
25
  });
27
- // Select the first cell in the current row
28
26
  select(editor, getStartPoint(editor, nextRowPath));
29
27
  }
30
28
  }
@@ -36,7 +34,6 @@ export const addRowBelow = (editor)=>{
36
34
  };
37
35
  export const addRowAbove = (editor)=>{
38
36
  addRow(editor, (currentRowPath)=>{
39
- // The new row will be in in-place of the old row
40
37
  return currentRowPath;
41
38
  });
42
39
  };
@@ -17,9 +17,9 @@ const style = css`
17
17
  `;
18
18
  export const Cell = (props)=>{
19
19
  const isSelected = useSelected();
20
- return /*#__PURE__*/ React.createElement("td", {
20
+ return React.createElement("td", {
21
21
  ...props.attributes,
22
22
  ...props.element.data,
23
23
  className: style
24
- }, isSelected && /*#__PURE__*/ React.createElement(TableActions, null), props.children);
24
+ }, isSelected && React.createElement(TableActions, null), props.children);
25
25
  };
@@ -20,9 +20,9 @@ const style = css`
20
20
  `;
21
21
  export const HeaderCell = (props)=>{
22
22
  const isSelected = useSelected();
23
- return /*#__PURE__*/ React.createElement("th", {
23
+ return React.createElement("th", {
24
24
  ...props.attributes,
25
25
  ...props.element.data,
26
26
  className: style
27
- }, isSelected && /*#__PURE__*/ React.createElement(TableActions, null), props.children);
27
+ }, isSelected && React.createElement(TableActions, null), props.children);
28
28
  };
@@ -9,7 +9,7 @@ const style = css`
9
9
  background-color: transparent !important;
10
10
  }
11
11
  `;
12
- export const Row = (props)=>/*#__PURE__*/ React.createElement("tr", {
12
+ export const Row = (props)=>React.createElement("tr", {
13
13
  ...props.attributes,
14
14
  className: style
15
15
  }, props.children);
@@ -13,10 +13,10 @@ const style = css`
13
13
  overflow: hidden;
14
14
  `;
15
15
  export const Table = (props)=>{
16
- return /*#__PURE__*/ React.createElement("div", {
16
+ return React.createElement("div", {
17
17
  "data-block-type": BLOCKS.TABLE
18
- }, /*#__PURE__*/ React.createElement("table", {
18
+ }, React.createElement("table", {
19
19
  className: style,
20
20
  ...props.attributes
21
- }, /*#__PURE__*/ React.createElement("tbody", null, props.children)));
21
+ }, React.createElement("tbody", null, props.children)));
22
22
  };
@@ -70,7 +70,6 @@ export const TableActions = ()=>{
70
70
  header: isHeaderEnabled
71
71
  });
72
72
  });
73
- // Tracking
74
73
  const actionName = `${type}Table${element === 'Table' ? '' : element}`;
75
74
  editor.tracking.onViewportAction(actionName, {
76
75
  tableSize
@@ -83,37 +82,37 @@ export const TableActions = ()=>{
83
82
  if (isDisabled) {
84
83
  return null;
85
84
  }
86
- return /*#__PURE__*/ React.createElement(Menu, {
85
+ return React.createElement(Menu, {
87
86
  placement: "left",
88
87
  isOpen: isOpen,
89
88
  onOpen: ()=>{
90
89
  setOpen(true);
91
90
  },
92
91
  onClose: close
93
- }, /*#__PURE__*/ React.createElement(Menu.Trigger, null, /*#__PURE__*/ React.createElement(IconButton, {
92
+ }, React.createElement(Menu.Trigger, null, React.createElement(IconButton, {
94
93
  size: "small",
95
94
  variant: "transparent",
96
95
  tabIndex: -1,
97
96
  className: styles.topRight,
98
- icon: /*#__PURE__*/ React.createElement(ChevronDownIcon, null),
97
+ icon: React.createElement(ChevronDownIcon, null),
99
98
  "aria-label": "Open table menu",
100
99
  testId: "cf-table-actions-button"
101
- })), /*#__PURE__*/ React.createElement(Menu.List, null, /*#__PURE__*/ React.createElement(Menu.Item, {
100
+ })), React.createElement(Menu.List, null, React.createElement(Menu.Item, {
102
101
  onClick: action(addRowAbove, 'insert', 'Row'),
103
102
  disabled: !canInsertRowAbove
104
- }, "Add row above"), /*#__PURE__*/ React.createElement(Menu.Item, {
103
+ }, "Add row above"), React.createElement(Menu.Item, {
105
104
  onClick: action(addRowBelow, 'insert', 'Row')
106
- }, "Add row below"), /*#__PURE__*/ React.createElement(Menu.Item, {
105
+ }, "Add row below"), React.createElement(Menu.Item, {
107
106
  onClick: action(addColumnLeft, 'insert', 'Column')
108
- }, "Add column left"), /*#__PURE__*/ React.createElement(Menu.Item, {
107
+ }, "Add column left"), React.createElement(Menu.Item, {
109
108
  onClick: action(addColumnRight, 'insert', 'Column')
110
- }, "Add column right"), /*#__PURE__*/ React.createElement(Menu.Divider, null), /*#__PURE__*/ React.createElement(Menu.Item, {
109
+ }, "Add column right"), React.createElement(Menu.Divider, null), React.createElement(Menu.Item, {
111
110
  onClick: toggleHeader
112
- }, isHeaderEnabled ? 'Disable table header' : 'Enable table header'), /*#__PURE__*/ React.createElement(Menu.Divider, null), /*#__PURE__*/ React.createElement(Menu.Item, {
111
+ }, isHeaderEnabled ? 'Disable table header' : 'Enable table header'), React.createElement(Menu.Divider, null), React.createElement(Menu.Item, {
113
112
  onClick: action(deleteRow, 'remove', 'Row')
114
- }, "Delete row"), /*#__PURE__*/ React.createElement(Menu.Item, {
113
+ }, "Delete row"), React.createElement(Menu.Item, {
115
114
  onClick: action(deleteColumn, 'remove', 'Column')
116
- }, "Delete column"), /*#__PURE__*/ React.createElement(Menu.Item, {
115
+ }, "Delete column"), React.createElement(Menu.Item, {
117
116
  onClick: action(deleteTable, 'remove', 'Table')
118
117
  }, "Delete table")));
119
118
  };