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

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
@@ -36,7 +36,7 @@ const styles = {
36
36
  };
37
37
  function createList(Tag, block) {
38
38
  return function List(props) {
39
- return /*#__PURE__*/ React.createElement(Tag, {
39
+ return React.createElement(Tag, {
40
40
  ...props.attributes,
41
41
  className: cx(baseStyle, styles[block])
42
42
  }, props.children);
@@ -12,7 +12,7 @@ const style = css`
12
12
  }
13
13
  `;
14
14
  export function ListItem(props) {
15
- return /*#__PURE__*/ React.createElement("li", {
15
+ return React.createElement("li", {
16
16
  ...props.attributes,
17
17
  className: style
18
18
  }, props.children);
@@ -21,17 +21,17 @@ export function ToolbarListButton(props) {
21
21
  };
22
22
  }
23
23
  if (!editor) return null;
24
- return /*#__PURE__*/ React.createElement(React.Fragment, null, isNodeTypeEnabled(sdk.field, BLOCKS.UL_LIST) && /*#__PURE__*/ React.createElement(ToolbarButton, {
24
+ return React.createElement(React.Fragment, null, isNodeTypeEnabled(sdk.field, BLOCKS.UL_LIST) && React.createElement(ToolbarButton, {
25
25
  title: "UL",
26
26
  testId: "ul-toolbar-button",
27
27
  onClick: handleClick(BLOCKS.UL_LIST),
28
28
  isActive: isListTypeActive(editor, BLOCKS.UL_LIST),
29
29
  isDisabled: props.isDisabled
30
- }, /*#__PURE__*/ React.createElement(ListBulletedIcon, null)), isNodeTypeEnabled(sdk.field, BLOCKS.OL_LIST) && /*#__PURE__*/ React.createElement(ToolbarButton, {
30
+ }, React.createElement(ListBulletedIcon, null)), isNodeTypeEnabled(sdk.field, BLOCKS.OL_LIST) && React.createElement(ToolbarButton, {
31
31
  title: "OL",
32
32
  testId: "ol-toolbar-button",
33
33
  onClick: handleClick(BLOCKS.OL_LIST),
34
34
  isActive: isListTypeActive(editor, BLOCKS.OL_LIST),
35
35
  isDisabled: props.isDisabled
36
- }, /*#__PURE__*/ React.createElement(ListNumberedIcon, null)));
36
+ }, React.createElement(ListNumberedIcon, null)));
37
37
  }
@@ -28,8 +28,6 @@ export const createListPlugin = ()=>createPlateListPlugin({
28
28
  handlers: {
29
29
  onKeyDown: onKeyDownList
30
30
  },
31
- // The withList is added on ELEMENT_UL plugin in upstream code
32
- // so we need to override it here
33
31
  withOverrides: withList
34
32
  },
35
33
  [ELEMENT_OL]: {
@@ -39,14 +37,12 @@ export const createListPlugin = ()=>createPlateListPlugin({
39
37
  onKeyDown: onKeyDownList
40
38
  }
41
39
  },
42
- // ELEMENT_LIC is a child of li, Slate does ul > li > lic + ul
43
40
  [ELEMENT_LIC]: {
44
41
  type: BLOCKS.PARAGRAPH
45
42
  },
46
43
  [ELEMENT_LI]: {
47
44
  type: BLOCKS.LIST_ITEM,
48
45
  component: ListItem,
49
- // @ts-expect-error
50
46
  normalizer: [
51
47
  {
52
48
  validNode: hasListAsDirectParent,
@@ -1,9 +1,4 @@
1
- /**
2
- * Credit: Copied & modified version from Plate's list plugin to support
3
- * list items with multiple children.
4
- *
5
- * See: https://github.com/udecode/plate/blob/main/packages/nodes/list
6
- */ import { TEXT_CONTAINERS } from '@contentful/rich-text-types';
1
+ import { TEXT_CONTAINERS } from '@contentful/rich-text-types';
7
2
  import { ELEMENT_DEFAULT, getPluginType, isBlockAboveEmpty, mockPlugin } from '@udecode/plate-common';
8
3
  import { getListItemEntry, moveListItemUp, unwrapList, ELEMENT_LI } from '@udecode/plate-list';
9
4
  import { onKeyDownResetNode, SIMULATE_BACKSPACE } from '@udecode/plate-reset-node';
@@ -12,11 +7,9 @@ const listBreak = (editor)=>{
12
7
  if (!editor.selection) return false;
13
8
  const res = getListItemEntry(editor, {});
14
9
  let moved;
15
- // If selection is in a li
16
10
  if (res) {
17
- const { list, listItem } = res;
11
+ const { list , listItem } = res;
18
12
  const childNode = listItem[0].children[0];
19
- // If selected li is empty, move it up.
20
13
  if (isBlockAboveEmpty(editor) && listItem[0].children.length === 1 && TEXT_CONTAINERS.includes(childNode.type)) {
21
14
  moved = moveListItemUp(editor, {
22
15
  list,
@@ -42,16 +35,14 @@ const listBreak = (editor)=>{
42
35
  if (didReset) {
43
36
  return true;
44
37
  }
45
- /**
46
- * If selection is in li > p, insert li.
47
- */ if (!moved) {
38
+ if (!moved) {
48
39
  const inserted = insertListItem(editor);
49
40
  if (inserted) return true;
50
41
  }
51
42
  return false;
52
43
  };
53
44
  export const insertListBreak = (editor)=>{
54
- const { insertBreak } = editor;
45
+ const { insertBreak } = editor;
55
46
  return ()=>{
56
47
  if (listBreak(editor)) return;
57
48
  insertBreak();
@@ -1,7 +1,4 @@
1
- /**
2
- * Credit: Modified version of Plate's list plugin
3
- * See: https://github.com/udecode/plate/blob/main/packages/nodes/list
4
- */ import { TEXT_CONTAINERS, BLOCKS } from '@contentful/rich-text-types';
1
+ import { TEXT_CONTAINERS, BLOCKS } from '@contentful/rich-text-types';
5
2
  import { findNode } from '@udecode/plate-common';
6
3
  import { isBlockNode, isAncestorPath, getCommonNode, getNodeTexts, getParentPath, getDescendantNodeByPath } from '../../internal/queries';
7
4
  import { insertNodes } from '../../internal/transforms';
@@ -19,26 +16,19 @@ const isListRoot = (node)=>[
19
16
  BLOCKS.UL_LIST,
20
17
  BLOCKS.OL_LIST
21
18
  ].includes(node.type);
22
- /**
23
- * Removes the "empty" leading lis. Empty in this context means lis only with other lis as children.
24
- *
25
- * @returns If argument is not a list root, returns it, otherwise returns ul[] or li[].
26
- */ const trimList = (listRoot)=>{
19
+ const trimList = (listRoot)=>{
27
20
  if (!isListRoot(listRoot)) {
28
21
  return [
29
22
  listRoot
30
23
  ];
31
24
  }
32
25
  const textEntries = Array.from(getNodeTexts(listRoot));
33
- const commonAncestorEntry = textEntries.reduce((commonAncestor, textEntry)=>isAncestorPath(commonAncestor[1], textEntry[1]) ? commonAncestor : getCommonNode(listRoot, textEntry[1], commonAncestor[1]), // any list item would do, we grab the first one
34
- getFirstAncestorOfType(listRoot, textEntries[0]));
26
+ const commonAncestorEntry = textEntries.reduce((commonAncestor, textEntry)=>isAncestorPath(commonAncestor[1], textEntry[1]) ? commonAncestor : getCommonNode(listRoot, textEntry[1], commonAncestor[1]), getFirstAncestorOfType(listRoot, textEntries[0]));
35
27
  return isListRoot(commonAncestorEntry[0]) ? commonAncestorEntry[0].children : [
36
28
  commonAncestorEntry[0]
37
29
  ];
38
30
  };
39
- /**
40
- * Removes leading li when pasting a single li with a single child.
41
- */ const trimLiWrapper = (nodes)=>{
31
+ const trimLiWrapper = (nodes)=>{
42
32
  if (nodes.length !== 1) {
43
33
  return nodes;
44
34
  }
@@ -59,7 +49,7 @@ const unwrapTextContainerAtStart = (nodes)=>{
59
49
  return nodes;
60
50
  };
61
51
  export const insertListFragment = (editor)=>{
62
- const { insertFragment } = editor;
52
+ const { insertFragment } = editor;
63
53
  return (fragment)=>{
64
54
  if (!editor.selection) {
65
55
  return;
@@ -78,9 +68,6 @@ export const insertListFragment = (editor)=>{
78
68
  }
79
69
  const inlines = nodes.slice(0, firstBlockIndex);
80
70
  const blocks = nodes.slice(firstBlockIndex);
81
- // Two calls to insertNodes are required here. Otherwise, all blocks
82
- // after a text or inline element occurrence will be unwrapped for
83
- // some reason.
84
71
  insertNodes(editor, inlines, {
85
72
  at: editor.selection,
86
73
  select: true
@@ -1,12 +1,8 @@
1
- /**
2
- * Credit: Modified version of Plate's list plugin
3
- * See: https://github.com/udecode/plate/blob/main/packages/nodes/list
4
- */ import isHotkey from 'is-hotkey';
5
- import castArray from 'lodash/castArray';
1
+ import isHotkey from 'is-hotkey';
6
2
  import { getAboveNode } from '../../internal/queries';
7
3
  import { moveListItems } from './transforms/moveListItems';
8
4
  import { toggleList } from './transforms/toggleList';
9
- export const onKeyDownList = (editor, { type, options: { hotkey } })=>(e)=>{
5
+ export const onKeyDownList = (editor, { type , options: { hotkey } })=>(e)=>{
10
6
  if (e.key === 'Tab' && editor.selection) {
11
7
  const listSelected = getAboveNode(editor, {
12
8
  at: editor.selection,
@@ -23,7 +19,9 @@ export const onKeyDownList = (editor, { type, options: { hotkey } })=>(e)=>{
23
19
  }
24
20
  }
25
21
  if (!hotkey) return;
26
- const hotkeys = castArray(hotkey);
22
+ const hotkeys = Array.isArray(hotkey) ? hotkey : [
23
+ hotkey
24
+ ];
27
25
  for (const _hotkey of hotkeys){
28
26
  if (isHotkey(_hotkey)(e)) {
29
27
  toggleList(editor, {
@@ -2,9 +2,7 @@ import { BLOCKS, TEXT_CONTAINERS } from '@contentful/rich-text-types';
2
2
  import { withoutNormalizing } from '../../../internal';
3
3
  import { getAboveNode, getParentNode, isFirstChildPath, isSelectionAtBlockEnd, isSelectionAtBlockStart, getMarks, getNextPath } from '../../../internal/queries';
4
4
  import { select, insertNodes, moveChildren, splitNodes, collapseSelection } from '../../../internal/transforms';
5
- /**
6
- * Build a new list item node while preserving marks
7
- */ const emptyListItemNode = (editor, withChildren = false)=>{
5
+ const emptyListItemNode = (editor, withChildren = false)=>{
8
6
  let children = [];
9
7
  if (withChildren) {
10
8
  const marks = getMarks(editor) || {};
@@ -27,13 +25,10 @@ import { select, insertNodes, moveChildren, splitNodes, collapseSelection } from
27
25
  children
28
26
  };
29
27
  };
30
- /**
31
- * Insert list item if selection is in li>p.
32
- */ export const insertListItem = (editor)=>{
28
+ export const insertListItem = (editor)=>{
33
29
  if (!editor.selection) {
34
30
  return false;
35
31
  }
36
- // Naming it paragraph for simplicity but can be a heading as well
37
32
  const paragraph = getAboveNode(editor, {
38
33
  match: {
39
34
  type: TEXT_CONTAINERS
@@ -51,33 +46,23 @@ import { select, insertNodes, moveChildren, splitNodes, collapseSelection } from
51
46
  if (listItemNode.type !== BLOCKS.LIST_ITEM) {
52
47
  return false;
53
48
  }
54
- // We are in a li>p (or heading)
55
49
  withoutNormalizing(editor, ()=>{
56
50
  if (!editor.selection) {
57
51
  return;
58
52
  }
59
- // Check the cursor position in the current paragraph
60
53
  const isAtStart = isSelectionAtBlockStart(editor);
61
54
  const isAtEnd = isSelectionAtBlockEnd(editor);
62
55
  const isAtStartOfListItem = isAtStart && isFirstChildPath(paragraphPath);
63
56
  const shouldSplit = !isAtStart && !isAtEnd;
64
- // Split the current paragraph content if necessary
65
57
  if (shouldSplit) {
66
58
  splitNodes(editor);
67
59
  }
68
- // Insert the new li
69
60
  const newListItemPath = isAtStartOfListItem ? listItemPath : getNextPath(listItemPath);
70
- insertNodes(editor, // Add an empty paragraph to the new li if We will not move some
71
- // paragraphs over there.
72
- emptyListItemNode(editor, !shouldSplit), {
61
+ insertNodes(editor, emptyListItemNode(editor, !shouldSplit), {
73
62
  at: newListItemPath
74
63
  });
75
- // Move children *after* selection to the new li
76
64
  const fromPath = isAtStart ? paragraphPath : getNextPath(paragraphPath);
77
65
  const fromStartIndex = fromPath[fromPath.length - 1] || 0;
78
- // On split we don't add paragraph to the new li so we move
79
- // content to the very beginning. Otherwise, account for the empty
80
- // paragraph at the beginning by moving the content after
81
66
  const toPath = newListItemPath.concat([
82
67
  shouldSplit ? 0 : 1
83
68
  ]);
@@ -88,12 +73,10 @@ import { select, insertNodes, moveChildren, splitNodes, collapseSelection } from
88
73
  fromStartIndex
89
74
  });
90
75
  }
91
- // Move cursor to the start of the new li
92
76
  select(editor, newListItemPath);
93
77
  collapseSelection(editor, {
94
78
  edge: 'start'
95
79
  });
96
80
  });
97
- // Returning True skips processing other editor.insertBreak handlers
98
81
  return true;
99
82
  };
@@ -1,11 +1,8 @@
1
- /**
2
- * Credit: Modified version of Plate's list plugin
3
- * See: https://github.com/udecode/plate/blob/main/packages/nodes/list
4
- */ import { getListTypes } from '@udecode/plate-list';
1
+ import { getListTypes } from '@udecode/plate-list';
5
2
  import { withoutNormalizing } from '../../../internal';
6
3
  import { getNodeEntry, getNodeChildren, getNextPath, getPreviousPath, getLastChildPath, match } from '../../../internal/queries';
7
4
  import { wrapNodes, moveNodes } from '../../../internal/transforms';
8
- export const moveListItemDown = (editor, { list, listItem })=>{
5
+ export const moveListItemDown = (editor, { list , listItem })=>{
9
6
  const [listNode] = list;
10
7
  const [, listItemPath] = listItem;
11
8
  let previousListItemPath;
@@ -14,7 +11,6 @@ export const moveListItemDown = (editor, { list, listItem })=>{
14
11
  } catch (e) {
15
12
  return;
16
13
  }
17
- // Previous sibling is the new parent
18
14
  const previousSiblingItem = getNodeEntry(editor, previousListItemPath);
19
15
  if (previousSiblingItem) {
20
16
  const [, previousPath] = previousSiblingItem;
@@ -24,7 +20,6 @@ export const moveListItemDown = (editor, { list, listItem })=>{
24
20
  const newPath = getNextPath(getLastChildPath(subList ?? previousSiblingItem));
25
21
  withoutNormalizing(editor, ()=>{
26
22
  if (!subList) {
27
- // Create new sub-list
28
23
  wrapNodes(editor, {
29
24
  type: listNode.type,
30
25
  children: [],
@@ -33,7 +28,6 @@ export const moveListItemDown = (editor, { list, listItem })=>{
33
28
  at: listItemPath
34
29
  });
35
30
  }
36
- // Move the current item to the sub-list
37
31
  moveNodes(editor, {
38
32
  at: listItemPath,
39
33
  to: newPath
@@ -1,23 +1,18 @@
1
- /**
2
- * Credit: Modified version of Plate's list plugin
3
- * See: https://github.com/udecode/plate/blob/main/packages/nodes/list
4
- */ import { isListNested, ELEMENT_LIC, getListItemEntry, moveListItemUp } from '@udecode/plate-list';
1
+ import { isListNested, ELEMENT_LIC, getListItemEntry, moveListItemUp } from '@udecode/plate-list';
5
2
  import { withoutNormalizing } from '../../../internal';
6
3
  import { getNodeEntries, getPluginType, createPathRef, getParentPath, isAncestorPath } from '../../../internal/queries';
7
4
  import { moveListItemDown } from './moveListItemDown';
8
- export const moveListItems = (editor, { increase = true, at = editor.selection ?? undefined } = {})=>{
5
+ export const moveListItems = (editor, { increase =true , at =editor.selection ?? undefined } = {})=>{
9
6
  const _nodes = getNodeEntries(editor, {
10
7
  at,
11
8
  match: {
12
9
  type: getPluginType(editor, ELEMENT_LIC)
13
10
  }
14
11
  });
15
- // Get the selected lic
16
12
  const lics = Array.from(_nodes);
17
13
  if (!lics.length) return;
18
14
  const highestLicPaths = [];
19
15
  const highestLicPathRefs = [];
20
- // Filter out the nested lic, we just need to move the highest ones
21
16
  lics.forEach((lic)=>{
22
17
  const licPath = lic[1];
23
18
  const liPath = getParentPath(licPath);
@@ -1,13 +1,12 @@
1
- /** @jsx jsx */ import { jsx, assertOutput, createTestEditor } from '../../../test-utils';
1
+ import { jsx, assertOutput, createTestEditor } from '../../../test-utils';
2
2
  import { moveListItems } from './moveListItems';
3
3
  describe('moving list items (up/down)', ()=>{
4
- const renderEditor = (children)=>/*#__PURE__*/ jsx("editor", null, children, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
4
+ const renderEditor = (children)=>jsx("editor", null, children, jsx("hp", null, jsx("htext", null)));
5
5
  const assertTab = (t, shift = false)=>{
6
6
  test(t.title, ()=>{
7
- const { editor } = createTestEditor({
7
+ const { editor } = createTestEditor({
8
8
  input: renderEditor(t.input)
9
9
  });
10
- // Equivalent of pressing (SHIFT+)TAB
11
10
  moveListItems(editor, {
12
11
  increase: !shift
13
12
  });
@@ -20,37 +19,37 @@ describe('moving list items (up/down)', ()=>{
20
19
  const tests = [
21
20
  {
22
21
  title: 'single paragraph',
23
- input: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p2", /*#__PURE__*/ jsx("cursor", null)))),
24
- expected: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p2", /*#__PURE__*/ jsx("cursor", null))))))
22
+ input: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1")), jsx("hli", null, jsx("hp", null, "p2", jsx("cursor", null)))),
23
+ expected: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "p2", jsx("cursor", null))))))
25
24
  },
26
25
  {
27
26
  title: 'multiple paragraphs',
28
- input: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1"), /*#__PURE__*/ jsx("hp", null, "p2")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p3", /*#__PURE__*/ jsx("cursor", null)))),
29
- expected: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1"), /*#__PURE__*/ jsx("hp", null, "p2"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p3", /*#__PURE__*/ jsx("cursor", null))))))
27
+ input: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1"), jsx("hp", null, "p2")), jsx("hli", null, jsx("hp", null, "p3", jsx("cursor", null)))),
28
+ expected: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1"), jsx("hp", null, "p2"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "p3", jsx("cursor", null))))))
30
29
  },
31
30
  {
32
31
  title: 'multiple elements',
33
- input: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "a"), /*#__PURE__*/ jsx("hp", null, "b"), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "quote"))), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "c", /*#__PURE__*/ jsx("cursor", null)), /*#__PURE__*/ jsx("hp", null, "d"), /*#__PURE__*/ jsx("hembed", {
32
+ input: jsx("hul", null, jsx("hli", null, jsx("hp", null, "a"), jsx("hp", null, "b"), jsx("hquote", null, jsx("hp", null, "quote"))), jsx("hli", null, jsx("hp", null, "c", jsx("cursor", null)), jsx("hp", null, "d"), jsx("hembed", {
34
33
  type: "Asset",
35
34
  id: "asset-id"
36
35
  }))),
37
- expected: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "a"), /*#__PURE__*/ jsx("hp", null, "b"), /*#__PURE__*/ jsx("hquote", null, /*#__PURE__*/ jsx("hp", null, "quote")), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "c", /*#__PURE__*/ jsx("cursor", null)), /*#__PURE__*/ jsx("hp", null, "d"), /*#__PURE__*/ jsx("hembed", {
36
+ expected: jsx("hul", null, jsx("hli", null, jsx("hp", null, "a"), jsx("hp", null, "b"), jsx("hquote", null, jsx("hp", null, "quote")), jsx("hul", null, jsx("hli", null, jsx("hp", null, "c", jsx("cursor", null)), jsx("hp", null, "d"), jsx("hembed", {
38
37
  type: "Asset",
39
38
  id: "asset-id"
40
39
  })))))
41
40
  },
42
41
  {
43
42
  title: 'with a sub-list',
44
- input: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "sub p1")))), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p2", /*#__PURE__*/ jsx("cursor", null)))),
45
- expected: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "sub p1")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p2", /*#__PURE__*/ jsx("cursor", null))))))
43
+ input: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "sub p1")))), jsx("hli", null, jsx("hp", null, "p2", jsx("cursor", null)))),
44
+ expected: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "sub p1")), jsx("hli", null, jsx("hp", null, "p2", jsx("cursor", null))))))
46
45
  },
47
46
  {
48
47
  title: 'with a sub-list as non-last child',
49
- input: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "sub p1"))), /*#__PURE__*/ jsx("hembed", {
48
+ input: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "sub p1"))), jsx("hembed", {
50
49
  type: "Entry",
51
50
  id: "entry-id"
52
- })), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p2", /*#__PURE__*/ jsx("cursor", null)))),
53
- expected: /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "sub p1")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "p2", /*#__PURE__*/ jsx("cursor", null)))), /*#__PURE__*/ jsx("hembed", {
51
+ })), jsx("hli", null, jsx("hp", null, "p2", jsx("cursor", null)))),
52
+ expected: jsx("hul", null, jsx("hli", null, jsx("hp", null, "p1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "sub p1")), jsx("hli", null, jsx("hp", null, "p2", jsx("cursor", null)))), jsx("hembed", {
54
53
  type: "Entry",
55
54
  id: "entry-id"
56
55
  })))
@@ -1,7 +1,4 @@
1
- /**
2
- * Credit: Modified version of Plate's list plugin
3
- * See: https://github.com/udecode/plate/blob/main/packages/nodes/list
4
- */ import { BLOCKS } from '@contentful/rich-text-types';
1
+ import { BLOCKS } from '@contentful/rich-text-types';
5
2
  import { ELEMENT_LIC } from '@udecode/plate-list';
6
3
  import { getListItemEntry } from '@udecode/plate-list';
7
4
  import { withoutNormalizing } from '../../../internal';
@@ -13,15 +10,14 @@ const listTypes = [
13
10
  BLOCKS.UL_LIST,
14
11
  BLOCKS.OL_LIST
15
12
  ];
16
- export const toggleList = (editor, { type })=>withoutNormalizing(editor, ()=>{
13
+ export const toggleList = (editor, { type })=>withoutNormalizing(editor, ()=>{
17
14
  if (!editor.selection) {
18
15
  return;
19
16
  }
20
17
  if (isRangeCollapsed(editor.selection) || !isRangeAcrossBlocks(editor)) {
21
- // selection is collapsed
22
18
  const res = getListItemEntry(editor);
23
19
  if (res) {
24
- const { list } = res;
20
+ const { list } = res;
25
21
  if (list[0].type !== type) {
26
22
  setNodes(editor, {
27
23
  type
@@ -59,7 +55,6 @@ export const toggleList = (editor, { type })=>withoutNormalizing(editor, ()=>{
59
55
  }
60
56
  }
61
57
  } else {
62
- // selection is a range
63
58
  const [startPoint, endPoint] = getRangeEdges(editor.selection);
64
59
  const commonEntry = getCommonNode(editor, startPoint.path, endPoint.path);
65
60
  if (listTypes.includes(commonEntry[0].type) || commonEntry[0].type === BLOCKS.LIST_ITEM) {
@@ -1,11 +1,11 @@
1
- /** @jsx jsx */ import { BLOCKS } from '@contentful/rich-text-types';
1
+ import { BLOCKS } from '@contentful/rich-text-types';
2
2
  import { assertOutput, jsx, createTestEditor } from '../../../test-utils';
3
3
  import { toggleList } from './toggleList';
4
4
  describe('toggle on', ()=>{
5
5
  it('should turn a p to list', ()=>{
6
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, "1", /*#__PURE__*/ jsx("cursor", null)));
7
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1", /*#__PURE__*/ jsx("cursor", null)))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
8
- const { editor } = createTestEditor({
6
+ const input = jsx("editor", null, jsx("hp", null, "1", jsx("cursor", null)));
7
+ const expected = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1", jsx("cursor", null)))), jsx("hp", null, jsx("htext", null)));
8
+ const { editor } = createTestEditor({
9
9
  input
10
10
  });
11
11
  toggleList(editor, {
@@ -17,9 +17,9 @@ describe('toggle on', ()=>{
17
17
  });
18
18
  });
19
19
  it('should turn a p with a selection to list', ()=>{
20
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, "Planetas ", /*#__PURE__*/ jsx("anchor", null), "mori in", /*#__PURE__*/ jsx("focus", null), " gandavum!"));
21
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "Planetas ", /*#__PURE__*/ jsx("anchor", null), "mori in", /*#__PURE__*/ jsx("focus", null), " gandavum!"))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
22
- const { editor } = createTestEditor({
20
+ const input = jsx("editor", null, jsx("hp", null, "Planetas ", jsx("anchor", null), "mori in", jsx("focus", null), " gandavum!"));
21
+ const expected = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "Planetas ", jsx("anchor", null), "mori in", jsx("focus", null), " gandavum!"))), jsx("hp", null, jsx("htext", null)));
22
+ const { editor } = createTestEditor({
23
23
  input
24
24
  });
25
25
  toggleList(editor, {
@@ -31,9 +31,9 @@ describe('toggle on', ()=>{
31
31
  });
32
32
  });
33
33
  it('should turn multiple p to list', ()=>{
34
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("anchor", null), "1"), /*#__PURE__*/ jsx("hp", null, "2"), /*#__PURE__*/ jsx("hp", null, "3", /*#__PURE__*/ jsx("focus", null)));
35
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("anchor", null), "1")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "2")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "3", /*#__PURE__*/ jsx("focus", null)))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
36
- const { editor } = createTestEditor({
34
+ const input = jsx("editor", null, jsx("hp", null, jsx("anchor", null), "1"), jsx("hp", null, "2"), jsx("hp", null, "3", jsx("focus", null)));
35
+ const expected = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, jsx("anchor", null), "1")), jsx("hli", null, jsx("hp", null, "2")), jsx("hli", null, jsx("hp", null, "3", jsx("focus", null)))), jsx("hp", null, jsx("htext", null)));
36
+ const { editor } = createTestEditor({
37
37
  input
38
38
  });
39
39
  toggleList(editor, {
@@ -47,9 +47,9 @@ describe('toggle on', ()=>{
47
47
  });
48
48
  describe('toggle off', ()=>{
49
49
  it('should split a simple list to two', ()=>{
50
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "2", /*#__PURE__*/ jsx("cursor", null))), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "3"))));
51
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1"))), /*#__PURE__*/ jsx("hp", null, "2", /*#__PURE__*/ jsx("cursor", null)), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "3"))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
52
- const { editor } = createTestEditor({
50
+ const input = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1")), jsx("hli", null, jsx("hp", null, "2", jsx("cursor", null))), jsx("hli", null, jsx("hp", null, "3"))));
51
+ const expected = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1"))), jsx("hp", null, "2", jsx("cursor", null)), jsx("hul", null, jsx("hli", null, jsx("hp", null, "3"))), jsx("hp", null, jsx("htext", null)));
52
+ const { editor } = createTestEditor({
53
53
  input
54
54
  });
55
55
  toggleList(editor, {
@@ -61,9 +61,9 @@ describe('toggle off', ()=>{
61
61
  });
62
62
  });
63
63
  it('should split a nested list', ()=>{
64
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "11")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "12", /*#__PURE__*/ jsx("cursor", null))), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "13"))))));
65
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "11"))))), /*#__PURE__*/ jsx("hp", null, "12", /*#__PURE__*/ jsx("cursor", null)), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "13"))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
66
- const { editor } = createTestEditor({
64
+ const input = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "11")), jsx("hli", null, jsx("hp", null, "12", jsx("cursor", null))), jsx("hli", null, jsx("hp", null, "13"))))));
65
+ const expected = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "11"))))), jsx("hp", null, "12", jsx("cursor", null)), jsx("hul", null, jsx("hli", null, jsx("hp", null, "13"))), jsx("hp", null, jsx("htext", null)));
66
+ const { editor } = createTestEditor({
67
67
  input
68
68
  });
69
69
  toggleList(editor, {
@@ -75,9 +75,9 @@ describe('toggle off', ()=>{
75
75
  });
76
76
  });
77
77
  it('should turn a list to multiple p', ()=>{
78
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("anchor", null), "1")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "2")), /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "3", /*#__PURE__*/ jsx("focus", null)))));
79
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("anchor", null), "1"), /*#__PURE__*/ jsx("hp", null, "2"), /*#__PURE__*/ jsx("hp", null, "3", /*#__PURE__*/ jsx("focus", null)));
80
- const { editor } = createTestEditor({
78
+ const input = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, jsx("anchor", null), "1")), jsx("hli", null, jsx("hp", null, "2")), jsx("hli", null, jsx("hp", null, "3", jsx("focus", null)))));
79
+ const expected = jsx("editor", null, jsx("hp", null, jsx("anchor", null), "1"), jsx("hp", null, "2"), jsx("hp", null, "3", jsx("focus", null)));
80
+ const { editor } = createTestEditor({
81
81
  input
82
82
  });
83
83
  toggleList(editor, {
@@ -91,9 +91,9 @@ describe('toggle off', ()=>{
91
91
  });
92
92
  describe('toggle over', ()=>{
93
93
  it('should toggle different list types', ()=>{
94
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1", /*#__PURE__*/ jsx("cursor", null)))));
95
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hol", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1"))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
96
- const { editor } = createTestEditor({
94
+ const input = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1", jsx("cursor", null)))));
95
+ const expected = jsx("editor", null, jsx("hol", null, jsx("hli", null, jsx("hp", null, "1"))), jsx("hp", null, jsx("htext", null)));
96
+ const { editor } = createTestEditor({
97
97
  input
98
98
  });
99
99
  toggleList(editor, {
@@ -105,9 +105,9 @@ describe('toggle over', ()=>{
105
105
  });
106
106
  });
107
107
  it('should only toggle the nested list', ()=>{
108
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "11", /*#__PURE__*/ jsx("cursor", null)))))));
109
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "1"), /*#__PURE__*/ jsx("hol", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "11", /*#__PURE__*/ jsx("cursor", null)))))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
110
- const { editor } = createTestEditor({
108
+ const input = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "11", jsx("cursor", null)))))));
109
+ const expected = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, "1"), jsx("hol", null, jsx("hli", null, jsx("hp", null, "11", jsx("cursor", null)))))), jsx("hp", null, jsx("htext", null)));
110
+ const { editor } = createTestEditor({
111
111
  input
112
112
  });
113
113
  toggleList(editor, {
@@ -119,9 +119,9 @@ describe('toggle over', ()=>{
119
119
  });
120
120
  });
121
121
  it('should only toggle everything that is selected', ()=>{
122
- const input = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("anchor", null), "1"), /*#__PURE__*/ jsx("hul", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "11", /*#__PURE__*/ jsx("focus", null)))))));
123
- const expected = /*#__PURE__*/ jsx("editor", null, /*#__PURE__*/ jsx("hol", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("anchor", null), "1"), /*#__PURE__*/ jsx("hol", null, /*#__PURE__*/ jsx("hli", null, /*#__PURE__*/ jsx("hp", null, "11", /*#__PURE__*/ jsx("focus", null)))))), /*#__PURE__*/ jsx("hp", null, /*#__PURE__*/ jsx("htext", null)));
124
- const { editor } = createTestEditor({
122
+ const input = jsx("editor", null, jsx("hul", null, jsx("hli", null, jsx("hp", null, jsx("anchor", null), "1"), jsx("hul", null, jsx("hli", null, jsx("hp", null, "11", jsx("focus", null)))))));
123
+ const expected = jsx("editor", null, jsx("hol", null, jsx("hli", null, jsx("hp", null, jsx("anchor", null), "1"), jsx("hol", null, jsx("hli", null, jsx("hp", null, "11", jsx("focus", null)))))), jsx("hp", null, jsx("htext", null)));
124
+ const { editor } = createTestEditor({
125
125
  input
126
126
  });
127
127
  toggleList(editor, {
@@ -1,7 +1,4 @@
1
- /**
2
- * Credit: Modified version of Plate's list plugin
3
- * See: https://github.com/udecode/plate/blob/main/packages/nodes/list
4
- */ import { BLOCKS } from '@contentful/rich-text-types';
1
+ import { BLOCKS } from '@contentful/rich-text-types';
5
2
  import { withoutNormalizing } from '../../../internal';
6
3
  import { getNodeEntries, isElement } from '../../../internal/queries';
7
4
  import { unwrapNodes, liftNodes } from '../../../internal/transforms';
@@ -11,17 +8,15 @@ function hasUnliftedListItems(editor, at) {
11
8
  match: (node, path)=>isElement(node) && node.type === BLOCKS.LIST_ITEM && path.length >= 2
12
9
  }).next().done;
13
10
  }
14
- export const unwrapList = (editor, { at } = {})=>{
11
+ export const unwrapList = (editor, { at } = {})=>{
15
12
  withoutNormalizing(editor, ()=>{
16
13
  do {
17
- // lift list items to the root level
18
14
  liftNodes(editor, {
19
15
  at,
20
16
  match: (node)=>isElement(node) && node.type === BLOCKS.LIST_ITEM,
21
17
  mode: 'lowest'
22
18
  });
23
19
  }while (!hasUnliftedListItems(editor, at))
24
- // finally unwrap all lifted items
25
20
  unwrapNodes(editor, {
26
21
  at,
27
22
  match: {