@contember/react-slate-editor-base 2.0.0-alpha.1

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 (990) hide show
  1. package/dist/development/components/RichTextEditor.cjs +93 -0
  2. package/dist/development/components/RichTextEditor.cjs.map +1 -0
  3. package/dist/development/components/RichTextEditor.js +93 -0
  4. package/dist/development/components/RichTextEditor.js.map +1 -0
  5. package/dist/development/components/triggers/EditorElementTrigger.cjs +16 -0
  6. package/dist/development/components/triggers/EditorElementTrigger.cjs.map +1 -0
  7. package/dist/development/components/triggers/EditorElementTrigger.js +16 -0
  8. package/dist/development/components/triggers/EditorElementTrigger.js.map +1 -0
  9. package/dist/development/components/triggers/EditorGenericTrigger.cjs +20 -0
  10. package/dist/development/components/triggers/EditorGenericTrigger.cjs.map +1 -0
  11. package/dist/development/components/triggers/EditorGenericTrigger.js +20 -0
  12. package/dist/development/components/triggers/EditorGenericTrigger.js.map +1 -0
  13. package/dist/development/components/triggers/EditorMarkTrigger.cjs +16 -0
  14. package/dist/development/components/triggers/EditorMarkTrigger.cjs.map +1 -0
  15. package/dist/development/components/triggers/EditorMarkTrigger.js +16 -0
  16. package/dist/development/components/triggers/EditorMarkTrigger.js.map +1 -0
  17. package/dist/development/components/triggers/EditorWrapNodeTrigger.cjs +28 -0
  18. package/dist/development/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -0
  19. package/dist/development/components/triggers/EditorWrapNodeTrigger.js +28 -0
  20. package/dist/development/components/triggers/EditorWrapNodeTrigger.js.map +1 -0
  21. package/dist/development/editor/createEditor.cjs +35 -0
  22. package/dist/development/editor/createEditor.cjs.map +1 -0
  23. package/dist/development/editor/createEditor.js +35 -0
  24. package/dist/development/editor/createEditor.js.map +1 -0
  25. package/dist/development/editor/createEditorWithEssentials.cjs +227 -0
  26. package/dist/development/editor/createEditorWithEssentials.cjs.map +1 -0
  27. package/dist/development/editor/createEditorWithEssentials.js +211 -0
  28. package/dist/development/editor/createEditorWithEssentials.js.map +1 -0
  29. package/dist/development/editor/index.cjs +44 -0
  30. package/dist/development/editor/index.cjs.map +1 -0
  31. package/dist/development/editor/index.js +44 -0
  32. package/dist/development/editor/index.js.map +1 -0
  33. package/dist/development/editor/methods/addMarks.cjs +12 -0
  34. package/dist/development/editor/methods/addMarks.cjs.map +1 -0
  35. package/dist/development/editor/methods/addMarks.js +12 -0
  36. package/dist/development/editor/methods/addMarks.js.map +1 -0
  37. package/dist/development/editor/methods/canToggleMark.cjs +7 -0
  38. package/dist/development/editor/methods/canToggleMark.cjs.map +1 -0
  39. package/dist/development/editor/methods/canToggleMark.js +7 -0
  40. package/dist/development/editor/methods/canToggleMark.js.map +1 -0
  41. package/dist/development/editor/methods/closest.cjs +18 -0
  42. package/dist/development/editor/methods/closest.cjs.map +1 -0
  43. package/dist/development/editor/methods/closest.js +18 -0
  44. package/dist/development/editor/methods/closest.js.map +1 -0
  45. package/dist/development/editor/methods/closestBlockEntry.cjs +10 -0
  46. package/dist/development/editor/methods/closestBlockEntry.cjs.map +1 -0
  47. package/dist/development/editor/methods/closestBlockEntry.js +10 -0
  48. package/dist/development/editor/methods/closestBlockEntry.js.map +1 -0
  49. package/dist/development/editor/methods/closestViableBlockContainerEntry.cjs +9 -0
  50. package/dist/development/editor/methods/closestViableBlockContainerEntry.cjs.map +1 -0
  51. package/dist/development/editor/methods/closestViableBlockContainerEntry.js +9 -0
  52. package/dist/development/editor/methods/closestViableBlockContainerEntry.js.map +1 -0
  53. package/dist/development/editor/methods/ejectElement.cjs +15 -0
  54. package/dist/development/editor/methods/ejectElement.cjs.map +1 -0
  55. package/dist/development/editor/methods/ejectElement.js +15 -0
  56. package/dist/development/editor/methods/ejectElement.js.map +1 -0
  57. package/dist/development/editor/methods/elementToSpecifics.cjs +8 -0
  58. package/dist/development/editor/methods/elementToSpecifics.cjs.map +1 -0
  59. package/dist/development/editor/methods/elementToSpecifics.js +8 -0
  60. package/dist/development/editor/methods/elementToSpecifics.js.map +1 -0
  61. package/dist/development/editor/methods/getElementDataAttributes.cjs +13 -0
  62. package/dist/development/editor/methods/getElementDataAttributes.cjs.map +1 -0
  63. package/dist/development/editor/methods/getElementDataAttributes.js +13 -0
  64. package/dist/development/editor/methods/getElementDataAttributes.js.map +1 -0
  65. package/dist/development/editor/methods/getPreviousSibling.cjs +13 -0
  66. package/dist/development/editor/methods/getPreviousSibling.cjs.map +1 -0
  67. package/dist/development/editor/methods/getPreviousSibling.js +13 -0
  68. package/dist/development/editor/methods/getPreviousSibling.js.map +1 -0
  69. package/dist/development/editor/methods/hasMarks.cjs +23 -0
  70. package/dist/development/editor/methods/hasMarks.cjs.map +1 -0
  71. package/dist/development/editor/methods/hasMarks.js +23 -0
  72. package/dist/development/editor/methods/hasMarks.js.map +1 -0
  73. package/dist/development/editor/methods/hasParentOfType.cjs +15 -0
  74. package/dist/development/editor/methods/hasParentOfType.cjs.map +1 -0
  75. package/dist/development/editor/methods/hasParentOfType.js +15 -0
  76. package/dist/development/editor/methods/hasParentOfType.js.map +1 -0
  77. package/dist/development/editor/methods/isElementType.cjs +24 -0
  78. package/dist/development/editor/methods/isElementType.cjs.map +1 -0
  79. package/dist/development/editor/methods/isElementType.js +24 -0
  80. package/dist/development/editor/methods/isElementType.js.map +1 -0
  81. package/dist/development/editor/methods/permissivelyDeserializeNodes.cjs +22 -0
  82. package/dist/development/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -0
  83. package/dist/development/editor/methods/permissivelyDeserializeNodes.js +22 -0
  84. package/dist/development/editor/methods/permissivelyDeserializeNodes.js.map +1 -0
  85. package/dist/development/editor/methods/removeMarks.cjs +12 -0
  86. package/dist/development/editor/methods/removeMarks.cjs.map +1 -0
  87. package/dist/development/editor/methods/removeMarks.js +12 -0
  88. package/dist/development/editor/methods/removeMarks.js.map +1 -0
  89. package/dist/development/editor/methods/serializeNodes.cjs +15 -0
  90. package/dist/development/editor/methods/serializeNodes.cjs.map +1 -0
  91. package/dist/development/editor/methods/serializeNodes.js +15 -0
  92. package/dist/development/editor/methods/serializeNodes.js.map +1 -0
  93. package/dist/development/editor/methods/strictlyDeserializeNodes.cjs +14 -0
  94. package/dist/development/editor/methods/strictlyDeserializeNodes.cjs.map +1 -0
  95. package/dist/development/editor/methods/strictlyDeserializeNodes.js +14 -0
  96. package/dist/development/editor/methods/strictlyDeserializeNodes.js.map +1 -0
  97. package/dist/development/editor/methods/textToSpecifics.cjs +8 -0
  98. package/dist/development/editor/methods/textToSpecifics.cjs.map +1 -0
  99. package/dist/development/editor/methods/textToSpecifics.js +8 -0
  100. package/dist/development/editor/methods/textToSpecifics.js.map +1 -0
  101. package/dist/development/editor/methods/toLatestFormat.cjs +34 -0
  102. package/dist/development/editor/methods/toLatestFormat.cjs.map +1 -0
  103. package/dist/development/editor/methods/toLatestFormat.js +34 -0
  104. package/dist/development/editor/methods/toLatestFormat.js.map +1 -0
  105. package/dist/development/editor/methods/topLevelNodes.cjs +12 -0
  106. package/dist/development/editor/methods/topLevelNodes.cjs.map +1 -0
  107. package/dist/development/editor/methods/topLevelNodes.js +12 -0
  108. package/dist/development/editor/methods/topLevelNodes.js.map +1 -0
  109. package/dist/development/index.cjs +139 -0
  110. package/dist/development/index.cjs.map +1 -0
  111. package/dist/development/index.js +136 -0
  112. package/dist/development/index.js.map +1 -0
  113. package/dist/development/internal/components/DefaultElement.cjs +11 -0
  114. package/dist/development/internal/components/DefaultElement.cjs.map +1 -0
  115. package/dist/development/internal/components/DefaultElement.js +11 -0
  116. package/dist/development/internal/components/DefaultElement.js.map +1 -0
  117. package/dist/development/internal/hooks/useRichTextFieldNodes.cjs +28 -0
  118. package/dist/development/internal/hooks/useRichTextFieldNodes.cjs.map +1 -0
  119. package/dist/development/internal/hooks/useRichTextFieldNodes.js +28 -0
  120. package/dist/development/internal/hooks/useRichTextFieldNodes.js.map +1 -0
  121. package/dist/development/internal/utils/EditorPasteUtils.cjs +47 -0
  122. package/dist/development/internal/utils/EditorPasteUtils.cjs.map +1 -0
  123. package/dist/development/internal/utils/EditorPasteUtils.js +47 -0
  124. package/dist/development/internal/utils/EditorPasteUtils.js.map +1 -0
  125. package/dist/development/internal/utils/parseUrl.cjs +14 -0
  126. package/dist/development/internal/utils/parseUrl.cjs.map +1 -0
  127. package/dist/development/internal/utils/parseUrl.js +14 -0
  128. package/dist/development/internal/utils/parseUrl.js.map +1 -0
  129. package/dist/development/plugins/attributes/alignment/alignButton.cjs +21 -0
  130. package/dist/development/plugins/attributes/alignment/alignButton.cjs.map +1 -0
  131. package/dist/development/plugins/attributes/alignment/alignButton.js +21 -0
  132. package/dist/development/plugins/attributes/alignment/alignButton.js.map +1 -0
  133. package/dist/development/plugins/behaviour/paste/HtmlDeserializer.cjs +138 -0
  134. package/dist/development/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -0
  135. package/dist/development/plugins/behaviour/paste/HtmlDeserializer.js +138 -0
  136. package/dist/development/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -0
  137. package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs +15 -0
  138. package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -0
  139. package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.js +15 -0
  140. package/dist/development/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -0
  141. package/dist/development/plugins/behaviour/paste/withPaste.cjs +24 -0
  142. package/dist/development/plugins/behaviour/paste/withPaste.cjs.map +1 -0
  143. package/dist/development/plugins/behaviour/paste/withPaste.js +24 -0
  144. package/dist/development/plugins/behaviour/paste/withPaste.js.map +1 -0
  145. package/dist/development/plugins/element/anchors/AnchorElement.cjs +44 -0
  146. package/dist/development/plugins/element/anchors/AnchorElement.cjs.map +1 -0
  147. package/dist/development/plugins/element/anchors/AnchorElement.js +44 -0
  148. package/dist/development/plugins/element/anchors/AnchorElement.js.map +1 -0
  149. package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.cjs +19 -0
  150. package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -0
  151. package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.js +19 -0
  152. package/dist/development/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -0
  153. package/dist/development/plugins/element/anchors/AnchorModifications.cjs +29 -0
  154. package/dist/development/plugins/element/anchors/AnchorModifications.cjs.map +1 -0
  155. package/dist/development/plugins/element/anchors/AnchorModifications.js +29 -0
  156. package/dist/development/plugins/element/anchors/AnchorModifications.js.map +1 -0
  157. package/dist/development/plugins/element/anchors/withAnchors.cjs +21 -0
  158. package/dist/development/plugins/element/anchors/withAnchors.cjs.map +1 -0
  159. package/dist/development/plugins/element/anchors/withAnchors.js +21 -0
  160. package/dist/development/plugins/element/anchors/withAnchors.js.map +1 -0
  161. package/dist/development/plugins/element/headings/HeadingElement.cjs +41 -0
  162. package/dist/development/plugins/element/headings/HeadingElement.cjs.map +1 -0
  163. package/dist/development/plugins/element/headings/HeadingElement.js +41 -0
  164. package/dist/development/plugins/element/headings/HeadingElement.js.map +1 -0
  165. package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.cjs +22 -0
  166. package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -0
  167. package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.js +22 -0
  168. package/dist/development/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -0
  169. package/dist/development/plugins/element/headings/withHeadings.cjs +70 -0
  170. package/dist/development/plugins/element/headings/withHeadings.cjs.map +1 -0
  171. package/dist/development/plugins/element/headings/withHeadings.js +70 -0
  172. package/dist/development/plugins/element/headings/withHeadings.js.map +1 -0
  173. package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.cjs +41 -0
  174. package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -0
  175. package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.js +41 -0
  176. package/dist/development/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -0
  177. package/dist/development/plugins/element/horizonalRules/withHorizontalRules.cjs +75 -0
  178. package/dist/development/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -0
  179. package/dist/development/plugins/element/horizonalRules/withHorizontalRules.js +75 -0
  180. package/dist/development/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -0
  181. package/dist/development/plugins/element/lists/ListElement.cjs +26 -0
  182. package/dist/development/plugins/element/lists/ListElement.cjs.map +1 -0
  183. package/dist/development/plugins/element/lists/ListElement.js +26 -0
  184. package/dist/development/plugins/element/lists/ListElement.js.map +1 -0
  185. package/dist/development/plugins/element/lists/ListHtmlDeserializer.cjs +98 -0
  186. package/dist/development/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -0
  187. package/dist/development/plugins/element/lists/ListHtmlDeserializer.js +98 -0
  188. package/dist/development/plugins/element/lists/ListHtmlDeserializer.js.map +1 -0
  189. package/dist/development/plugins/element/lists/ListItemElement.cjs +53 -0
  190. package/dist/development/plugins/element/lists/ListItemElement.cjs.map +1 -0
  191. package/dist/development/plugins/element/lists/ListItemElement.js +53 -0
  192. package/dist/development/plugins/element/lists/ListItemElement.js.map +1 -0
  193. package/dist/development/plugins/element/lists/OrderedListElement.cjs +25 -0
  194. package/dist/development/plugins/element/lists/OrderedListElement.cjs.map +1 -0
  195. package/dist/development/plugins/element/lists/OrderedListElement.js +25 -0
  196. package/dist/development/plugins/element/lists/OrderedListElement.js.map +1 -0
  197. package/dist/development/plugins/element/lists/UnorderedListElement.cjs +25 -0
  198. package/dist/development/plugins/element/lists/UnorderedListElement.cjs.map +1 -0
  199. package/dist/development/plugins/element/lists/UnorderedListElement.js +25 -0
  200. package/dist/development/plugins/element/lists/UnorderedListElement.js.map +1 -0
  201. package/dist/development/plugins/element/lists/transforms/dedentListItem.cjs +57 -0
  202. package/dist/development/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -0
  203. package/dist/development/plugins/element/lists/transforms/dedentListItem.js +57 -0
  204. package/dist/development/plugins/element/lists/transforms/dedentListItem.js.map +1 -0
  205. package/dist/development/plugins/element/lists/transforms/indentListItem.cjs +57 -0
  206. package/dist/development/plugins/element/lists/transforms/indentListItem.cjs.map +1 -0
  207. package/dist/development/plugins/element/lists/transforms/indentListItem.js +57 -0
  208. package/dist/development/plugins/element/lists/transforms/indentListItem.js.map +1 -0
  209. package/dist/development/plugins/element/lists/transforms/normalizeListElement.cjs +22 -0
  210. package/dist/development/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -0
  211. package/dist/development/plugins/element/lists/transforms/normalizeListElement.js +22 -0
  212. package/dist/development/plugins/element/lists/transforms/normalizeListElement.js.map +1 -0
  213. package/dist/development/plugins/element/lists/transforms/toggleListElement.cjs +93 -0
  214. package/dist/development/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -0
  215. package/dist/development/plugins/element/lists/transforms/toggleListElement.js +93 -0
  216. package/dist/development/plugins/element/lists/transforms/toggleListElement.js.map +1 -0
  217. package/dist/development/plugins/element/lists/withLists.cjs +153 -0
  218. package/dist/development/plugins/element/lists/withLists.cjs.map +1 -0
  219. package/dist/development/plugins/element/lists/withLists.js +153 -0
  220. package/dist/development/plugins/element/lists/withLists.js.map +1 -0
  221. package/dist/development/plugins/element/paragraphs/ParagraphElement.cjs +49 -0
  222. package/dist/development/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -0
  223. package/dist/development/plugins/element/paragraphs/ParagraphElement.js +49 -0
  224. package/dist/development/plugins/element/paragraphs/ParagraphElement.js.map +1 -0
  225. package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs +11 -0
  226. package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -0
  227. package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.js +11 -0
  228. package/dist/development/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -0
  229. package/dist/development/plugins/element/paragraphs/withParagraphs.cjs +58 -0
  230. package/dist/development/plugins/element/paragraphs/withParagraphs.cjs.map +1 -0
  231. package/dist/development/plugins/element/paragraphs/withParagraphs.js +58 -0
  232. package/dist/development/plugins/element/paragraphs/withParagraphs.js.map +1 -0
  233. package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.cjs +51 -0
  234. package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -0
  235. package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.js +51 -0
  236. package/dist/development/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -0
  237. package/dist/development/plugins/element/scrollTargets/withScrollTargets.cjs +9 -0
  238. package/dist/development/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -0
  239. package/dist/development/plugins/element/scrollTargets/withScrollTargets.js +9 -0
  240. package/dist/development/plugins/element/scrollTargets/withScrollTargets.js.map +1 -0
  241. package/dist/development/plugins/element/tables/TableCellElement.cjs +39 -0
  242. package/dist/development/plugins/element/tables/TableCellElement.cjs.map +1 -0
  243. package/dist/development/plugins/element/tables/TableCellElement.js +39 -0
  244. package/dist/development/plugins/element/tables/TableCellElement.js.map +1 -0
  245. package/dist/development/plugins/element/tables/TableElement.cjs +114 -0
  246. package/dist/development/plugins/element/tables/TableElement.cjs.map +1 -0
  247. package/dist/development/plugins/element/tables/TableElement.js +114 -0
  248. package/dist/development/plugins/element/tables/TableElement.js.map +1 -0
  249. package/dist/development/plugins/element/tables/TableElementSelection.cjs +20 -0
  250. package/dist/development/plugins/element/tables/TableElementSelection.cjs.map +1 -0
  251. package/dist/development/plugins/element/tables/TableElementSelection.js +20 -0
  252. package/dist/development/plugins/element/tables/TableElementSelection.js.map +1 -0
  253. package/dist/development/plugins/element/tables/TableModifications.cjs +134 -0
  254. package/dist/development/plugins/element/tables/TableModifications.cjs.map +1 -0
  255. package/dist/development/plugins/element/tables/TableModifications.js +134 -0
  256. package/dist/development/plugins/element/tables/TableModifications.js.map +1 -0
  257. package/dist/development/plugins/element/tables/TableRowElement.cjs +43 -0
  258. package/dist/development/plugins/element/tables/TableRowElement.cjs.map +1 -0
  259. package/dist/development/plugins/element/tables/TableRowElement.js +43 -0
  260. package/dist/development/plugins/element/tables/TableRowElement.js.map +1 -0
  261. package/dist/development/plugins/element/tables/gaugeTableColumnCount.cjs +25 -0
  262. package/dist/development/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -0
  263. package/dist/development/plugins/element/tables/gaugeTableColumnCount.js +25 -0
  264. package/dist/development/plugins/element/tables/gaugeTableColumnCount.js.map +1 -0
  265. package/dist/development/plugins/element/tables/withTables.cjs +281 -0
  266. package/dist/development/plugins/element/tables/withTables.cjs.map +1 -0
  267. package/dist/development/plugins/element/tables/withTables.js +281 -0
  268. package/dist/development/plugins/element/tables/withTables.js.map +1 -0
  269. package/dist/development/plugins/text/bold/boldMark.cjs +13 -0
  270. package/dist/development/plugins/text/bold/boldMark.cjs.map +1 -0
  271. package/dist/development/plugins/text/bold/boldMark.js +13 -0
  272. package/dist/development/plugins/text/bold/boldMark.js.map +1 -0
  273. package/dist/development/plugins/text/bold/withBold.cjs +16 -0
  274. package/dist/development/plugins/text/bold/withBold.cjs.map +1 -0
  275. package/dist/development/plugins/text/bold/withBold.js +16 -0
  276. package/dist/development/plugins/text/bold/withBold.js.map +1 -0
  277. package/dist/development/plugins/text/code/codeMark.cjs +13 -0
  278. package/dist/development/plugins/text/code/codeMark.cjs.map +1 -0
  279. package/dist/development/plugins/text/code/codeMark.js +13 -0
  280. package/dist/development/plugins/text/code/codeMark.js.map +1 -0
  281. package/dist/development/plugins/text/code/withCode.cjs +9 -0
  282. package/dist/development/plugins/text/code/withCode.cjs.map +1 -0
  283. package/dist/development/plugins/text/code/withCode.js +9 -0
  284. package/dist/development/plugins/text/code/withCode.js.map +1 -0
  285. package/dist/development/plugins/text/highlight/highlightMark.cjs +13 -0
  286. package/dist/development/plugins/text/highlight/highlightMark.cjs.map +1 -0
  287. package/dist/development/plugins/text/highlight/highlightMark.js +13 -0
  288. package/dist/development/plugins/text/highlight/highlightMark.js.map +1 -0
  289. package/dist/development/plugins/text/highlight/withHighlight.cjs +9 -0
  290. package/dist/development/plugins/text/highlight/withHighlight.cjs.map +1 -0
  291. package/dist/development/plugins/text/highlight/withHighlight.js +9 -0
  292. package/dist/development/plugins/text/highlight/withHighlight.js.map +1 -0
  293. package/dist/development/plugins/text/italic/italicMark.cjs +13 -0
  294. package/dist/development/plugins/text/italic/italicMark.cjs.map +1 -0
  295. package/dist/development/plugins/text/italic/italicMark.js +13 -0
  296. package/dist/development/plugins/text/italic/italicMark.js.map +1 -0
  297. package/dist/development/plugins/text/italic/withItalic.cjs +16 -0
  298. package/dist/development/plugins/text/italic/withItalic.cjs.map +1 -0
  299. package/dist/development/plugins/text/italic/withItalic.js +16 -0
  300. package/dist/development/plugins/text/italic/withItalic.js.map +1 -0
  301. package/dist/development/plugins/text/newline/withNewline.cjs +15 -0
  302. package/dist/development/plugins/text/newline/withNewline.cjs.map +1 -0
  303. package/dist/development/plugins/text/newline/withNewline.js +15 -0
  304. package/dist/development/plugins/text/newline/withNewline.js.map +1 -0
  305. package/dist/development/plugins/text/strikeThrough/strikeThroughMark.cjs +13 -0
  306. package/dist/development/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -0
  307. package/dist/development/plugins/text/strikeThrough/strikeThroughMark.js +13 -0
  308. package/dist/development/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -0
  309. package/dist/development/plugins/text/strikeThrough/withStrikeThrough.cjs +17 -0
  310. package/dist/development/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -0
  311. package/dist/development/plugins/text/strikeThrough/withStrikeThrough.js +17 -0
  312. package/dist/development/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -0
  313. package/dist/development/plugins/text/underline/underlineMark.cjs +13 -0
  314. package/dist/development/plugins/text/underline/underlineMark.cjs.map +1 -0
  315. package/dist/development/plugins/text/underline/underlineMark.js +13 -0
  316. package/dist/development/plugins/text/underline/underlineMark.js.map +1 -0
  317. package/dist/development/plugins/text/underline/withUnderline.cjs +17 -0
  318. package/dist/development/plugins/text/underline/withUnderline.cjs.map +1 -0
  319. package/dist/development/plugins/text/underline/withUnderline.js +17 -0
  320. package/dist/development/plugins/text/underline/withUnderline.js.map +1 -0
  321. package/dist/development/slate-reexport.cjs +10 -0
  322. package/dist/development/slate-reexport.cjs.map +1 -0
  323. package/dist/development/slate-reexport.js +8 -0
  324. package/dist/development/slate-reexport.js.map +1 -0
  325. package/dist/production/components/RichTextEditor.cjs +93 -0
  326. package/dist/production/components/RichTextEditor.cjs.map +1 -0
  327. package/dist/production/components/RichTextEditor.js +93 -0
  328. package/dist/production/components/RichTextEditor.js.map +1 -0
  329. package/dist/production/components/triggers/EditorElementTrigger.cjs +16 -0
  330. package/dist/production/components/triggers/EditorElementTrigger.cjs.map +1 -0
  331. package/dist/production/components/triggers/EditorElementTrigger.js +16 -0
  332. package/dist/production/components/triggers/EditorElementTrigger.js.map +1 -0
  333. package/dist/production/components/triggers/EditorGenericTrigger.cjs +20 -0
  334. package/dist/production/components/triggers/EditorGenericTrigger.cjs.map +1 -0
  335. package/dist/production/components/triggers/EditorGenericTrigger.js +20 -0
  336. package/dist/production/components/triggers/EditorGenericTrigger.js.map +1 -0
  337. package/dist/production/components/triggers/EditorMarkTrigger.cjs +16 -0
  338. package/dist/production/components/triggers/EditorMarkTrigger.cjs.map +1 -0
  339. package/dist/production/components/triggers/EditorMarkTrigger.js +16 -0
  340. package/dist/production/components/triggers/EditorMarkTrigger.js.map +1 -0
  341. package/dist/production/components/triggers/EditorWrapNodeTrigger.cjs +28 -0
  342. package/dist/production/components/triggers/EditorWrapNodeTrigger.cjs.map +1 -0
  343. package/dist/production/components/triggers/EditorWrapNodeTrigger.js +28 -0
  344. package/dist/production/components/triggers/EditorWrapNodeTrigger.js.map +1 -0
  345. package/dist/production/editor/createEditor.cjs +35 -0
  346. package/dist/production/editor/createEditor.cjs.map +1 -0
  347. package/dist/production/editor/createEditor.js +35 -0
  348. package/dist/production/editor/createEditor.js.map +1 -0
  349. package/dist/production/editor/createEditorWithEssentials.cjs +227 -0
  350. package/dist/production/editor/createEditorWithEssentials.cjs.map +1 -0
  351. package/dist/production/editor/createEditorWithEssentials.js +211 -0
  352. package/dist/production/editor/createEditorWithEssentials.js.map +1 -0
  353. package/dist/production/editor/index.cjs +44 -0
  354. package/dist/production/editor/index.cjs.map +1 -0
  355. package/dist/production/editor/index.js +44 -0
  356. package/dist/production/editor/index.js.map +1 -0
  357. package/dist/production/editor/methods/addMarks.cjs +12 -0
  358. package/dist/production/editor/methods/addMarks.cjs.map +1 -0
  359. package/dist/production/editor/methods/addMarks.js +12 -0
  360. package/dist/production/editor/methods/addMarks.js.map +1 -0
  361. package/dist/production/editor/methods/canToggleMark.cjs +7 -0
  362. package/dist/production/editor/methods/canToggleMark.cjs.map +1 -0
  363. package/dist/production/editor/methods/canToggleMark.js +7 -0
  364. package/dist/production/editor/methods/canToggleMark.js.map +1 -0
  365. package/dist/production/editor/methods/closest.cjs +18 -0
  366. package/dist/production/editor/methods/closest.cjs.map +1 -0
  367. package/dist/production/editor/methods/closest.js +18 -0
  368. package/dist/production/editor/methods/closest.js.map +1 -0
  369. package/dist/production/editor/methods/closestBlockEntry.cjs +10 -0
  370. package/dist/production/editor/methods/closestBlockEntry.cjs.map +1 -0
  371. package/dist/production/editor/methods/closestBlockEntry.js +10 -0
  372. package/dist/production/editor/methods/closestBlockEntry.js.map +1 -0
  373. package/dist/production/editor/methods/closestViableBlockContainerEntry.cjs +9 -0
  374. package/dist/production/editor/methods/closestViableBlockContainerEntry.cjs.map +1 -0
  375. package/dist/production/editor/methods/closestViableBlockContainerEntry.js +9 -0
  376. package/dist/production/editor/methods/closestViableBlockContainerEntry.js.map +1 -0
  377. package/dist/production/editor/methods/ejectElement.cjs +15 -0
  378. package/dist/production/editor/methods/ejectElement.cjs.map +1 -0
  379. package/dist/production/editor/methods/ejectElement.js +15 -0
  380. package/dist/production/editor/methods/ejectElement.js.map +1 -0
  381. package/dist/production/editor/methods/elementToSpecifics.cjs +8 -0
  382. package/dist/production/editor/methods/elementToSpecifics.cjs.map +1 -0
  383. package/dist/production/editor/methods/elementToSpecifics.js +8 -0
  384. package/dist/production/editor/methods/elementToSpecifics.js.map +1 -0
  385. package/dist/production/editor/methods/getElementDataAttributes.cjs +13 -0
  386. package/dist/production/editor/methods/getElementDataAttributes.cjs.map +1 -0
  387. package/dist/production/editor/methods/getElementDataAttributes.js +13 -0
  388. package/dist/production/editor/methods/getElementDataAttributes.js.map +1 -0
  389. package/dist/production/editor/methods/getPreviousSibling.cjs +13 -0
  390. package/dist/production/editor/methods/getPreviousSibling.cjs.map +1 -0
  391. package/dist/production/editor/methods/getPreviousSibling.js +13 -0
  392. package/dist/production/editor/methods/getPreviousSibling.js.map +1 -0
  393. package/dist/production/editor/methods/hasMarks.cjs +23 -0
  394. package/dist/production/editor/methods/hasMarks.cjs.map +1 -0
  395. package/dist/production/editor/methods/hasMarks.js +23 -0
  396. package/dist/production/editor/methods/hasMarks.js.map +1 -0
  397. package/dist/production/editor/methods/hasParentOfType.cjs +15 -0
  398. package/dist/production/editor/methods/hasParentOfType.cjs.map +1 -0
  399. package/dist/production/editor/methods/hasParentOfType.js +15 -0
  400. package/dist/production/editor/methods/hasParentOfType.js.map +1 -0
  401. package/dist/production/editor/methods/isElementType.cjs +24 -0
  402. package/dist/production/editor/methods/isElementType.cjs.map +1 -0
  403. package/dist/production/editor/methods/isElementType.js +24 -0
  404. package/dist/production/editor/methods/isElementType.js.map +1 -0
  405. package/dist/production/editor/methods/permissivelyDeserializeNodes.cjs +22 -0
  406. package/dist/production/editor/methods/permissivelyDeserializeNodes.cjs.map +1 -0
  407. package/dist/production/editor/methods/permissivelyDeserializeNodes.js +22 -0
  408. package/dist/production/editor/methods/permissivelyDeserializeNodes.js.map +1 -0
  409. package/dist/production/editor/methods/removeMarks.cjs +12 -0
  410. package/dist/production/editor/methods/removeMarks.cjs.map +1 -0
  411. package/dist/production/editor/methods/removeMarks.js +12 -0
  412. package/dist/production/editor/methods/removeMarks.js.map +1 -0
  413. package/dist/production/editor/methods/serializeNodes.cjs +15 -0
  414. package/dist/production/editor/methods/serializeNodes.cjs.map +1 -0
  415. package/dist/production/editor/methods/serializeNodes.js +15 -0
  416. package/dist/production/editor/methods/serializeNodes.js.map +1 -0
  417. package/dist/production/editor/methods/strictlyDeserializeNodes.cjs +14 -0
  418. package/dist/production/editor/methods/strictlyDeserializeNodes.cjs.map +1 -0
  419. package/dist/production/editor/methods/strictlyDeserializeNodes.js +14 -0
  420. package/dist/production/editor/methods/strictlyDeserializeNodes.js.map +1 -0
  421. package/dist/production/editor/methods/textToSpecifics.cjs +8 -0
  422. package/dist/production/editor/methods/textToSpecifics.cjs.map +1 -0
  423. package/dist/production/editor/methods/textToSpecifics.js +8 -0
  424. package/dist/production/editor/methods/textToSpecifics.js.map +1 -0
  425. package/dist/production/editor/methods/toLatestFormat.cjs +34 -0
  426. package/dist/production/editor/methods/toLatestFormat.cjs.map +1 -0
  427. package/dist/production/editor/methods/toLatestFormat.js +34 -0
  428. package/dist/production/editor/methods/toLatestFormat.js.map +1 -0
  429. package/dist/production/editor/methods/topLevelNodes.cjs +12 -0
  430. package/dist/production/editor/methods/topLevelNodes.cjs.map +1 -0
  431. package/dist/production/editor/methods/topLevelNodes.js +12 -0
  432. package/dist/production/editor/methods/topLevelNodes.js.map +1 -0
  433. package/dist/production/index.cjs +139 -0
  434. package/dist/production/index.cjs.map +1 -0
  435. package/dist/production/index.js +136 -0
  436. package/dist/production/index.js.map +1 -0
  437. package/dist/production/internal/components/DefaultElement.cjs +11 -0
  438. package/dist/production/internal/components/DefaultElement.cjs.map +1 -0
  439. package/dist/production/internal/components/DefaultElement.js +11 -0
  440. package/dist/production/internal/components/DefaultElement.js.map +1 -0
  441. package/dist/production/internal/hooks/useRichTextFieldNodes.cjs +28 -0
  442. package/dist/production/internal/hooks/useRichTextFieldNodes.cjs.map +1 -0
  443. package/dist/production/internal/hooks/useRichTextFieldNodes.js +28 -0
  444. package/dist/production/internal/hooks/useRichTextFieldNodes.js.map +1 -0
  445. package/dist/production/internal/utils/EditorPasteUtils.cjs +47 -0
  446. package/dist/production/internal/utils/EditorPasteUtils.cjs.map +1 -0
  447. package/dist/production/internal/utils/EditorPasteUtils.js +47 -0
  448. package/dist/production/internal/utils/EditorPasteUtils.js.map +1 -0
  449. package/dist/production/internal/utils/parseUrl.cjs +14 -0
  450. package/dist/production/internal/utils/parseUrl.cjs.map +1 -0
  451. package/dist/production/internal/utils/parseUrl.js +14 -0
  452. package/dist/production/internal/utils/parseUrl.js.map +1 -0
  453. package/dist/production/plugins/attributes/alignment/alignButton.cjs +21 -0
  454. package/dist/production/plugins/attributes/alignment/alignButton.cjs.map +1 -0
  455. package/dist/production/plugins/attributes/alignment/alignButton.js +21 -0
  456. package/dist/production/plugins/attributes/alignment/alignButton.js.map +1 -0
  457. package/dist/production/plugins/behaviour/paste/HtmlDeserializer.cjs +138 -0
  458. package/dist/production/plugins/behaviour/paste/HtmlDeserializer.cjs.map +1 -0
  459. package/dist/production/plugins/behaviour/paste/HtmlDeserializer.js +138 -0
  460. package/dist/production/plugins/behaviour/paste/HtmlDeserializer.js.map +1 -0
  461. package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs +15 -0
  462. package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.cjs.map +1 -0
  463. package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.js +15 -0
  464. package/dist/production/plugins/behaviour/paste/createMarkHtmlDeserializer.js.map +1 -0
  465. package/dist/production/plugins/behaviour/paste/withPaste.cjs +24 -0
  466. package/dist/production/plugins/behaviour/paste/withPaste.cjs.map +1 -0
  467. package/dist/production/plugins/behaviour/paste/withPaste.js +24 -0
  468. package/dist/production/plugins/behaviour/paste/withPaste.js.map +1 -0
  469. package/dist/production/plugins/element/anchors/AnchorElement.cjs +44 -0
  470. package/dist/production/plugins/element/anchors/AnchorElement.cjs.map +1 -0
  471. package/dist/production/plugins/element/anchors/AnchorElement.js +44 -0
  472. package/dist/production/plugins/element/anchors/AnchorElement.js.map +1 -0
  473. package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.cjs +19 -0
  474. package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.cjs.map +1 -0
  475. package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.js +19 -0
  476. package/dist/production/plugins/element/anchors/AnchorHtmlDeserializer.js.map +1 -0
  477. package/dist/production/plugins/element/anchors/AnchorModifications.cjs +29 -0
  478. package/dist/production/plugins/element/anchors/AnchorModifications.cjs.map +1 -0
  479. package/dist/production/plugins/element/anchors/AnchorModifications.js +29 -0
  480. package/dist/production/plugins/element/anchors/AnchorModifications.js.map +1 -0
  481. package/dist/production/plugins/element/anchors/withAnchors.cjs +21 -0
  482. package/dist/production/plugins/element/anchors/withAnchors.cjs.map +1 -0
  483. package/dist/production/plugins/element/anchors/withAnchors.js +21 -0
  484. package/dist/production/plugins/element/anchors/withAnchors.js.map +1 -0
  485. package/dist/production/plugins/element/headings/HeadingElement.cjs +41 -0
  486. package/dist/production/plugins/element/headings/HeadingElement.cjs.map +1 -0
  487. package/dist/production/plugins/element/headings/HeadingElement.js +41 -0
  488. package/dist/production/plugins/element/headings/HeadingElement.js.map +1 -0
  489. package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.cjs +22 -0
  490. package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.cjs.map +1 -0
  491. package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.js +22 -0
  492. package/dist/production/plugins/element/headings/HeadingHtmlDeserializer.js.map +1 -0
  493. package/dist/production/plugins/element/headings/withHeadings.cjs +70 -0
  494. package/dist/production/plugins/element/headings/withHeadings.cjs.map +1 -0
  495. package/dist/production/plugins/element/headings/withHeadings.js +70 -0
  496. package/dist/production/plugins/element/headings/withHeadings.js.map +1 -0
  497. package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.cjs +41 -0
  498. package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.cjs.map +1 -0
  499. package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.js +41 -0
  500. package/dist/production/plugins/element/horizonalRules/HorizontalRuleElement.js.map +1 -0
  501. package/dist/production/plugins/element/horizonalRules/withHorizontalRules.cjs +75 -0
  502. package/dist/production/plugins/element/horizonalRules/withHorizontalRules.cjs.map +1 -0
  503. package/dist/production/plugins/element/horizonalRules/withHorizontalRules.js +75 -0
  504. package/dist/production/plugins/element/horizonalRules/withHorizontalRules.js.map +1 -0
  505. package/dist/production/plugins/element/lists/ListElement.cjs +26 -0
  506. package/dist/production/plugins/element/lists/ListElement.cjs.map +1 -0
  507. package/dist/production/plugins/element/lists/ListElement.js +26 -0
  508. package/dist/production/plugins/element/lists/ListElement.js.map +1 -0
  509. package/dist/production/plugins/element/lists/ListHtmlDeserializer.cjs +98 -0
  510. package/dist/production/plugins/element/lists/ListHtmlDeserializer.cjs.map +1 -0
  511. package/dist/production/plugins/element/lists/ListHtmlDeserializer.js +98 -0
  512. package/dist/production/plugins/element/lists/ListHtmlDeserializer.js.map +1 -0
  513. package/dist/production/plugins/element/lists/ListItemElement.cjs +53 -0
  514. package/dist/production/plugins/element/lists/ListItemElement.cjs.map +1 -0
  515. package/dist/production/plugins/element/lists/ListItemElement.js +53 -0
  516. package/dist/production/plugins/element/lists/ListItemElement.js.map +1 -0
  517. package/dist/production/plugins/element/lists/OrderedListElement.cjs +25 -0
  518. package/dist/production/plugins/element/lists/OrderedListElement.cjs.map +1 -0
  519. package/dist/production/plugins/element/lists/OrderedListElement.js +25 -0
  520. package/dist/production/plugins/element/lists/OrderedListElement.js.map +1 -0
  521. package/dist/production/plugins/element/lists/UnorderedListElement.cjs +25 -0
  522. package/dist/production/plugins/element/lists/UnorderedListElement.cjs.map +1 -0
  523. package/dist/production/plugins/element/lists/UnorderedListElement.js +25 -0
  524. package/dist/production/plugins/element/lists/UnorderedListElement.js.map +1 -0
  525. package/dist/production/plugins/element/lists/transforms/dedentListItem.cjs +57 -0
  526. package/dist/production/plugins/element/lists/transforms/dedentListItem.cjs.map +1 -0
  527. package/dist/production/plugins/element/lists/transforms/dedentListItem.js +57 -0
  528. package/dist/production/plugins/element/lists/transforms/dedentListItem.js.map +1 -0
  529. package/dist/production/plugins/element/lists/transforms/indentListItem.cjs +57 -0
  530. package/dist/production/plugins/element/lists/transforms/indentListItem.cjs.map +1 -0
  531. package/dist/production/plugins/element/lists/transforms/indentListItem.js +57 -0
  532. package/dist/production/plugins/element/lists/transforms/indentListItem.js.map +1 -0
  533. package/dist/production/plugins/element/lists/transforms/normalizeListElement.cjs +22 -0
  534. package/dist/production/plugins/element/lists/transforms/normalizeListElement.cjs.map +1 -0
  535. package/dist/production/plugins/element/lists/transforms/normalizeListElement.js +22 -0
  536. package/dist/production/plugins/element/lists/transforms/normalizeListElement.js.map +1 -0
  537. package/dist/production/plugins/element/lists/transforms/toggleListElement.cjs +93 -0
  538. package/dist/production/plugins/element/lists/transforms/toggleListElement.cjs.map +1 -0
  539. package/dist/production/plugins/element/lists/transforms/toggleListElement.js +93 -0
  540. package/dist/production/plugins/element/lists/transforms/toggleListElement.js.map +1 -0
  541. package/dist/production/plugins/element/lists/withLists.cjs +153 -0
  542. package/dist/production/plugins/element/lists/withLists.cjs.map +1 -0
  543. package/dist/production/plugins/element/lists/withLists.js +153 -0
  544. package/dist/production/plugins/element/lists/withLists.js.map +1 -0
  545. package/dist/production/plugins/element/paragraphs/ParagraphElement.cjs +49 -0
  546. package/dist/production/plugins/element/paragraphs/ParagraphElement.cjs.map +1 -0
  547. package/dist/production/plugins/element/paragraphs/ParagraphElement.js +49 -0
  548. package/dist/production/plugins/element/paragraphs/ParagraphElement.js.map +1 -0
  549. package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs +11 -0
  550. package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.cjs.map +1 -0
  551. package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.js +11 -0
  552. package/dist/production/plugins/element/paragraphs/ParagraphHtmlDeserializer.js.map +1 -0
  553. package/dist/production/plugins/element/paragraphs/withParagraphs.cjs +58 -0
  554. package/dist/production/plugins/element/paragraphs/withParagraphs.cjs.map +1 -0
  555. package/dist/production/plugins/element/paragraphs/withParagraphs.js +58 -0
  556. package/dist/production/plugins/element/paragraphs/withParagraphs.js.map +1 -0
  557. package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.cjs +51 -0
  558. package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.cjs.map +1 -0
  559. package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.js +51 -0
  560. package/dist/production/plugins/element/scrollTargets/ScrollTargetElement.js.map +1 -0
  561. package/dist/production/plugins/element/scrollTargets/withScrollTargets.cjs +9 -0
  562. package/dist/production/plugins/element/scrollTargets/withScrollTargets.cjs.map +1 -0
  563. package/dist/production/plugins/element/scrollTargets/withScrollTargets.js +9 -0
  564. package/dist/production/plugins/element/scrollTargets/withScrollTargets.js.map +1 -0
  565. package/dist/production/plugins/element/tables/TableCellElement.cjs +39 -0
  566. package/dist/production/plugins/element/tables/TableCellElement.cjs.map +1 -0
  567. package/dist/production/plugins/element/tables/TableCellElement.js +39 -0
  568. package/dist/production/plugins/element/tables/TableCellElement.js.map +1 -0
  569. package/dist/production/plugins/element/tables/TableElement.cjs +114 -0
  570. package/dist/production/plugins/element/tables/TableElement.cjs.map +1 -0
  571. package/dist/production/plugins/element/tables/TableElement.js +114 -0
  572. package/dist/production/plugins/element/tables/TableElement.js.map +1 -0
  573. package/dist/production/plugins/element/tables/TableElementSelection.cjs +20 -0
  574. package/dist/production/plugins/element/tables/TableElementSelection.cjs.map +1 -0
  575. package/dist/production/plugins/element/tables/TableElementSelection.js +20 -0
  576. package/dist/production/plugins/element/tables/TableElementSelection.js.map +1 -0
  577. package/dist/production/plugins/element/tables/TableModifications.cjs +134 -0
  578. package/dist/production/plugins/element/tables/TableModifications.cjs.map +1 -0
  579. package/dist/production/plugins/element/tables/TableModifications.js +134 -0
  580. package/dist/production/plugins/element/tables/TableModifications.js.map +1 -0
  581. package/dist/production/plugins/element/tables/TableRowElement.cjs +43 -0
  582. package/dist/production/plugins/element/tables/TableRowElement.cjs.map +1 -0
  583. package/dist/production/plugins/element/tables/TableRowElement.js +43 -0
  584. package/dist/production/plugins/element/tables/TableRowElement.js.map +1 -0
  585. package/dist/production/plugins/element/tables/gaugeTableColumnCount.cjs +25 -0
  586. package/dist/production/plugins/element/tables/gaugeTableColumnCount.cjs.map +1 -0
  587. package/dist/production/plugins/element/tables/gaugeTableColumnCount.js +25 -0
  588. package/dist/production/plugins/element/tables/gaugeTableColumnCount.js.map +1 -0
  589. package/dist/production/plugins/element/tables/withTables.cjs +281 -0
  590. package/dist/production/plugins/element/tables/withTables.cjs.map +1 -0
  591. package/dist/production/plugins/element/tables/withTables.js +281 -0
  592. package/dist/production/plugins/element/tables/withTables.js.map +1 -0
  593. package/dist/production/plugins/text/bold/boldMark.cjs +13 -0
  594. package/dist/production/plugins/text/bold/boldMark.cjs.map +1 -0
  595. package/dist/production/plugins/text/bold/boldMark.js +13 -0
  596. package/dist/production/plugins/text/bold/boldMark.js.map +1 -0
  597. package/dist/production/plugins/text/bold/withBold.cjs +16 -0
  598. package/dist/production/plugins/text/bold/withBold.cjs.map +1 -0
  599. package/dist/production/plugins/text/bold/withBold.js +16 -0
  600. package/dist/production/plugins/text/bold/withBold.js.map +1 -0
  601. package/dist/production/plugins/text/code/codeMark.cjs +13 -0
  602. package/dist/production/plugins/text/code/codeMark.cjs.map +1 -0
  603. package/dist/production/plugins/text/code/codeMark.js +13 -0
  604. package/dist/production/plugins/text/code/codeMark.js.map +1 -0
  605. package/dist/production/plugins/text/code/withCode.cjs +9 -0
  606. package/dist/production/plugins/text/code/withCode.cjs.map +1 -0
  607. package/dist/production/plugins/text/code/withCode.js +9 -0
  608. package/dist/production/plugins/text/code/withCode.js.map +1 -0
  609. package/dist/production/plugins/text/highlight/highlightMark.cjs +13 -0
  610. package/dist/production/plugins/text/highlight/highlightMark.cjs.map +1 -0
  611. package/dist/production/plugins/text/highlight/highlightMark.js +13 -0
  612. package/dist/production/plugins/text/highlight/highlightMark.js.map +1 -0
  613. package/dist/production/plugins/text/highlight/withHighlight.cjs +9 -0
  614. package/dist/production/plugins/text/highlight/withHighlight.cjs.map +1 -0
  615. package/dist/production/plugins/text/highlight/withHighlight.js +9 -0
  616. package/dist/production/plugins/text/highlight/withHighlight.js.map +1 -0
  617. package/dist/production/plugins/text/italic/italicMark.cjs +13 -0
  618. package/dist/production/plugins/text/italic/italicMark.cjs.map +1 -0
  619. package/dist/production/plugins/text/italic/italicMark.js +13 -0
  620. package/dist/production/plugins/text/italic/italicMark.js.map +1 -0
  621. package/dist/production/plugins/text/italic/withItalic.cjs +16 -0
  622. package/dist/production/plugins/text/italic/withItalic.cjs.map +1 -0
  623. package/dist/production/plugins/text/italic/withItalic.js +16 -0
  624. package/dist/production/plugins/text/italic/withItalic.js.map +1 -0
  625. package/dist/production/plugins/text/newline/withNewline.cjs +15 -0
  626. package/dist/production/plugins/text/newline/withNewline.cjs.map +1 -0
  627. package/dist/production/plugins/text/newline/withNewline.js +15 -0
  628. package/dist/production/plugins/text/newline/withNewline.js.map +1 -0
  629. package/dist/production/plugins/text/strikeThrough/strikeThroughMark.cjs +13 -0
  630. package/dist/production/plugins/text/strikeThrough/strikeThroughMark.cjs.map +1 -0
  631. package/dist/production/plugins/text/strikeThrough/strikeThroughMark.js +13 -0
  632. package/dist/production/plugins/text/strikeThrough/strikeThroughMark.js.map +1 -0
  633. package/dist/production/plugins/text/strikeThrough/withStrikeThrough.cjs +17 -0
  634. package/dist/production/plugins/text/strikeThrough/withStrikeThrough.cjs.map +1 -0
  635. package/dist/production/plugins/text/strikeThrough/withStrikeThrough.js +17 -0
  636. package/dist/production/plugins/text/strikeThrough/withStrikeThrough.js.map +1 -0
  637. package/dist/production/plugins/text/underline/underlineMark.cjs +13 -0
  638. package/dist/production/plugins/text/underline/underlineMark.cjs.map +1 -0
  639. package/dist/production/plugins/text/underline/underlineMark.js +13 -0
  640. package/dist/production/plugins/text/underline/underlineMark.js.map +1 -0
  641. package/dist/production/plugins/text/underline/withUnderline.cjs +17 -0
  642. package/dist/production/plugins/text/underline/withUnderline.cjs.map +1 -0
  643. package/dist/production/plugins/text/underline/withUnderline.js +17 -0
  644. package/dist/production/plugins/text/underline/withUnderline.js.map +1 -0
  645. package/dist/production/slate-reexport.cjs +10 -0
  646. package/dist/production/slate-reexport.cjs.map +1 -0
  647. package/dist/production/slate-reexport.js +8 -0
  648. package/dist/production/slate-reexport.js.map +1 -0
  649. package/dist/types/components/RichTextEditor.d.ts +13 -0
  650. package/dist/types/components/RichTextEditor.d.ts.map +1 -0
  651. package/dist/types/components/index.d.ts +3 -0
  652. package/dist/types/components/index.d.ts.map +1 -0
  653. package/dist/types/components/triggers/EditorElementTrigger.d.ts +8 -0
  654. package/dist/types/components/triggers/EditorElementTrigger.d.ts.map +1 -0
  655. package/dist/types/components/triggers/EditorGenericTrigger.d.ts +16 -0
  656. package/dist/types/components/triggers/EditorGenericTrigger.d.ts.map +1 -0
  657. package/dist/types/components/triggers/EditorMarkTrigger.d.ts +7 -0
  658. package/dist/types/components/triggers/EditorMarkTrigger.d.ts.map +1 -0
  659. package/dist/types/components/triggers/EditorWrapNodeTrigger.d.ts +11 -0
  660. package/dist/types/components/triggers/EditorWrapNodeTrigger.d.ts.map +1 -0
  661. package/dist/types/components/triggers/index.d.ts +5 -0
  662. package/dist/types/components/triggers/index.d.ts.map +1 -0
  663. package/dist/types/editor/createEditor.d.ts +24 -0
  664. package/dist/types/editor/createEditor.d.ts.map +1 -0
  665. package/dist/types/editor/createEditorWithEssentials.d.ts +5 -0
  666. package/dist/types/editor/createEditorWithEssentials.d.ts.map +1 -0
  667. package/dist/types/editor/index.d.ts +35 -0
  668. package/dist/types/editor/index.d.ts.map +1 -0
  669. package/dist/types/editor/methods/addMarks.d.ts +3 -0
  670. package/dist/types/editor/methods/addMarks.d.ts.map +1 -0
  671. package/dist/types/editor/methods/canToggleMark.d.ts +2 -0
  672. package/dist/types/editor/methods/canToggleMark.d.ts.map +1 -0
  673. package/dist/types/editor/methods/closest.d.ts +6 -0
  674. package/dist/types/editor/methods/closest.d.ts.map +1 -0
  675. package/dist/types/editor/methods/closestBlockEntry.d.ts +6 -0
  676. package/dist/types/editor/methods/closestBlockEntry.d.ts.map +1 -0
  677. package/dist/types/editor/methods/closestViableBlockContainerEntry.d.ts +6 -0
  678. package/dist/types/editor/methods/closestViableBlockContainerEntry.d.ts.map +1 -0
  679. package/dist/types/editor/methods/ejectElement.d.ts +3 -0
  680. package/dist/types/editor/methods/ejectElement.d.ts.map +1 -0
  681. package/dist/types/editor/methods/elementToSpecifics.d.ts +2 -0
  682. package/dist/types/editor/methods/elementToSpecifics.d.ts.map +1 -0
  683. package/dist/types/editor/methods/getElementDataAttributes.d.ts +6 -0
  684. package/dist/types/editor/methods/getElementDataAttributes.d.ts.map +1 -0
  685. package/dist/types/editor/methods/getPreviousSibling.d.ts +3 -0
  686. package/dist/types/editor/methods/getPreviousSibling.d.ts.map +1 -0
  687. package/dist/types/editor/methods/hasMarks.d.ts +7 -0
  688. package/dist/types/editor/methods/hasMarks.d.ts.map +1 -0
  689. package/dist/types/editor/methods/hasParentOfType.d.ts +3 -0
  690. package/dist/types/editor/methods/hasParentOfType.d.ts.map +1 -0
  691. package/dist/types/editor/methods/index.d.ts +20 -0
  692. package/dist/types/editor/methods/index.d.ts.map +1 -0
  693. package/dist/types/editor/methods/isElementType.d.ts +3 -0
  694. package/dist/types/editor/methods/isElementType.d.ts.map +1 -0
  695. package/dist/types/editor/methods/permissivelyDeserializeNodes.d.ts +3 -0
  696. package/dist/types/editor/methods/permissivelyDeserializeNodes.d.ts.map +1 -0
  697. package/dist/types/editor/methods/removeMarks.d.ts +3 -0
  698. package/dist/types/editor/methods/removeMarks.d.ts.map +1 -0
  699. package/dist/types/editor/methods/serializeNodes.d.ts +3 -0
  700. package/dist/types/editor/methods/serializeNodes.d.ts.map +1 -0
  701. package/dist/types/editor/methods/strictlyDeserializeNodes.d.ts +3 -0
  702. package/dist/types/editor/methods/strictlyDeserializeNodes.d.ts.map +1 -0
  703. package/dist/types/editor/methods/textToSpecifics.d.ts +3 -0
  704. package/dist/types/editor/methods/textToSpecifics.d.ts.map +1 -0
  705. package/dist/types/editor/methods/toLatestFormat.d.ts +3 -0
  706. package/dist/types/editor/methods/toLatestFormat.d.ts.map +1 -0
  707. package/dist/types/editor/methods/topLevelNodes.d.ts +2 -0
  708. package/dist/types/editor/methods/topLevelNodes.d.ts.map +1 -0
  709. package/dist/types/index.d.ts +7 -0
  710. package/dist/types/index.d.ts.map +1 -0
  711. package/dist/types/internal/components/DefaultElement.d.ts +6 -0
  712. package/dist/types/internal/components/DefaultElement.d.ts.map +1 -0
  713. package/dist/types/internal/hooks/useRichTextFieldNodes.d.ts +9 -0
  714. package/dist/types/internal/hooks/useRichTextFieldNodes.d.ts.map +1 -0
  715. package/dist/types/internal/utils/EditorPasteUtils.d.ts +7 -0
  716. package/dist/types/internal/utils/EditorPasteUtils.d.ts.map +1 -0
  717. package/dist/types/internal/utils/index.d.ts +3 -0
  718. package/dist/types/internal/utils/index.d.ts.map +1 -0
  719. package/dist/types/internal/utils/parseIframeSrc.d.ts +2 -0
  720. package/dist/types/internal/utils/parseIframeSrc.d.ts.map +1 -0
  721. package/dist/types/internal/utils/parseUrl.d.ts +2 -0
  722. package/dist/types/internal/utils/parseUrl.d.ts.map +1 -0
  723. package/dist/types/plugins/attributes/alignment/alignButton.d.ts +14 -0
  724. package/dist/types/plugins/attributes/alignment/alignButton.d.ts.map +1 -0
  725. package/dist/types/plugins/attributes/alignment/index.d.ts +2 -0
  726. package/dist/types/plugins/attributes/alignment/index.d.ts.map +1 -0
  727. package/dist/types/plugins/attributes/index.d.ts +2 -0
  728. package/dist/types/plugins/attributes/index.d.ts.map +1 -0
  729. package/dist/types/plugins/behaviour/index.d.ts +2 -0
  730. package/dist/types/plugins/behaviour/index.d.ts.map +1 -0
  731. package/dist/types/plugins/behaviour/paste/HtmlDeserializer.d.ts +34 -0
  732. package/dist/types/plugins/behaviour/paste/HtmlDeserializer.d.ts.map +1 -0
  733. package/dist/types/plugins/behaviour/paste/createMarkHtmlDeserializer.d.ts +3 -0
  734. package/dist/types/plugins/behaviour/paste/createMarkHtmlDeserializer.d.ts.map +1 -0
  735. package/dist/types/plugins/behaviour/paste/index.d.ts +3 -0
  736. package/dist/types/plugins/behaviour/paste/index.d.ts.map +1 -0
  737. package/dist/types/plugins/behaviour/paste/withPaste.d.ts +3 -0
  738. package/dist/types/plugins/behaviour/paste/withPaste.d.ts.map +1 -0
  739. package/dist/types/plugins/element/anchors/AnchorElement.d.ts +14 -0
  740. package/dist/types/plugins/element/anchors/AnchorElement.d.ts.map +1 -0
  741. package/dist/types/plugins/element/anchors/AnchorHtmlDeserializer.d.ts +3 -0
  742. package/dist/types/plugins/element/anchors/AnchorHtmlDeserializer.d.ts.map +1 -0
  743. package/dist/types/plugins/element/anchors/AnchorModifications.d.ts +6 -0
  744. package/dist/types/plugins/element/anchors/AnchorModifications.d.ts.map +1 -0
  745. package/dist/types/plugins/element/anchors/index.d.ts +4 -0
  746. package/dist/types/plugins/element/anchors/index.d.ts.map +1 -0
  747. package/dist/types/plugins/element/anchors/withAnchors.d.ts +6 -0
  748. package/dist/types/plugins/element/anchors/withAnchors.d.ts.map +1 -0
  749. package/dist/types/plugins/element/headings/HeadingElement.d.ts +17 -0
  750. package/dist/types/plugins/element/headings/HeadingElement.d.ts.map +1 -0
  751. package/dist/types/plugins/element/headings/HeadingHtmlDeserializer.d.ts +3 -0
  752. package/dist/types/plugins/element/headings/HeadingHtmlDeserializer.d.ts.map +1 -0
  753. package/dist/types/plugins/element/headings/index.d.ts +4 -0
  754. package/dist/types/plugins/element/headings/index.d.ts.map +1 -0
  755. package/dist/types/plugins/element/headings/withHeadings.d.ts +6 -0
  756. package/dist/types/plugins/element/headings/withHeadings.d.ts.map +1 -0
  757. package/dist/types/plugins/element/horizonalRules/HorizontalRuleElement.d.ts +13 -0
  758. package/dist/types/plugins/element/horizonalRules/HorizontalRuleElement.d.ts.map +1 -0
  759. package/dist/types/plugins/element/horizonalRules/index.d.ts +3 -0
  760. package/dist/types/plugins/element/horizonalRules/index.d.ts.map +1 -0
  761. package/dist/types/plugins/element/horizonalRules/withHorizontalRules.d.ts +6 -0
  762. package/dist/types/plugins/element/horizonalRules/withHorizontalRules.d.ts.map +1 -0
  763. package/dist/types/plugins/element/index.d.ts +8 -0
  764. package/dist/types/plugins/element/index.d.ts.map +1 -0
  765. package/dist/types/plugins/element/lists/ListElement.d.ts +6 -0
  766. package/dist/types/plugins/element/lists/ListElement.d.ts.map +1 -0
  767. package/dist/types/plugins/element/lists/ListHtmlDeserializer.d.ts +10 -0
  768. package/dist/types/plugins/element/lists/ListHtmlDeserializer.d.ts.map +1 -0
  769. package/dist/types/plugins/element/lists/ListItemElement.d.ts +12 -0
  770. package/dist/types/plugins/element/lists/ListItemElement.d.ts.map +1 -0
  771. package/dist/types/plugins/element/lists/OrderedListElement.d.ts +12 -0
  772. package/dist/types/plugins/element/lists/OrderedListElement.d.ts.map +1 -0
  773. package/dist/types/plugins/element/lists/UnorderedListElement.d.ts +12 -0
  774. package/dist/types/plugins/element/lists/UnorderedListElement.d.ts.map +1 -0
  775. package/dist/types/plugins/element/lists/index.d.ts +6 -0
  776. package/dist/types/plugins/element/lists/index.d.ts.map +1 -0
  777. package/dist/types/plugins/element/lists/transforms/dedentListItem.d.ts +4 -0
  778. package/dist/types/plugins/element/lists/transforms/dedentListItem.d.ts.map +1 -0
  779. package/dist/types/plugins/element/lists/transforms/indentListItem.d.ts +4 -0
  780. package/dist/types/plugins/element/lists/transforms/indentListItem.d.ts.map +1 -0
  781. package/dist/types/plugins/element/lists/transforms/index.d.ts +5 -0
  782. package/dist/types/plugins/element/lists/transforms/index.d.ts.map +1 -0
  783. package/dist/types/plugins/element/lists/transforms/normalizeListElement.d.ts +7 -0
  784. package/dist/types/plugins/element/lists/transforms/normalizeListElement.d.ts.map +1 -0
  785. package/dist/types/plugins/element/lists/transforms/toggleListElement.d.ts +5 -0
  786. package/dist/types/plugins/element/lists/transforms/toggleListElement.d.ts.map +1 -0
  787. package/dist/types/plugins/element/lists/withLists.d.ts +10 -0
  788. package/dist/types/plugins/element/lists/withLists.d.ts.map +1 -0
  789. package/dist/types/plugins/element/paragraphs/ParagraphElement.d.ts +15 -0
  790. package/dist/types/plugins/element/paragraphs/ParagraphElement.d.ts.map +1 -0
  791. package/dist/types/plugins/element/paragraphs/ParagraphHtmlDeserializer.d.ts +3 -0
  792. package/dist/types/plugins/element/paragraphs/ParagraphHtmlDeserializer.d.ts.map +1 -0
  793. package/dist/types/plugins/element/paragraphs/index.d.ts +4 -0
  794. package/dist/types/plugins/element/paragraphs/index.d.ts.map +1 -0
  795. package/dist/types/plugins/element/paragraphs/withParagraphs.d.ts +6 -0
  796. package/dist/types/plugins/element/paragraphs/withParagraphs.d.ts.map +1 -0
  797. package/dist/types/plugins/element/scrollTargets/ScrollTargetElement.d.ts +14 -0
  798. package/dist/types/plugins/element/scrollTargets/ScrollTargetElement.d.ts.map +1 -0
  799. package/dist/types/plugins/element/scrollTargets/index.d.ts +3 -0
  800. package/dist/types/plugins/element/scrollTargets/index.d.ts.map +1 -0
  801. package/dist/types/plugins/element/scrollTargets/withScrollTargets.d.ts +6 -0
  802. package/dist/types/plugins/element/scrollTargets/withScrollTargets.d.ts.map +1 -0
  803. package/dist/types/plugins/element/tables/TableCellElement.d.ts +20 -0
  804. package/dist/types/plugins/element/tables/TableCellElement.d.ts.map +1 -0
  805. package/dist/types/plugins/element/tables/TableElement.d.ts +26 -0
  806. package/dist/types/plugins/element/tables/TableElement.d.ts.map +1 -0
  807. package/dist/types/plugins/element/tables/TableElementSelection.d.ts +6 -0
  808. package/dist/types/plugins/element/tables/TableElementSelection.d.ts.map +1 -0
  809. package/dist/types/plugins/element/tables/TableModifications.d.ts +14 -0
  810. package/dist/types/plugins/element/tables/TableModifications.d.ts.map +1 -0
  811. package/dist/types/plugins/element/tables/TableRowElement.d.ts +22 -0
  812. package/dist/types/plugins/element/tables/TableRowElement.d.ts.map +1 -0
  813. package/dist/types/plugins/element/tables/gaugeTableColumnCount.d.ts +3 -0
  814. package/dist/types/plugins/element/tables/gaugeTableColumnCount.d.ts.map +1 -0
  815. package/dist/types/plugins/element/tables/index.d.ts +6 -0
  816. package/dist/types/plugins/element/tables/index.d.ts.map +1 -0
  817. package/dist/types/plugins/element/tables/withTables.d.ts +10 -0
  818. package/dist/types/plugins/element/tables/withTables.d.ts.map +1 -0
  819. package/dist/types/plugins/index.d.ts +5 -0
  820. package/dist/types/plugins/index.d.ts.map +1 -0
  821. package/dist/types/plugins/text/bold/boldMark.d.ts +4 -0
  822. package/dist/types/plugins/text/bold/boldMark.d.ts.map +1 -0
  823. package/dist/types/plugins/text/bold/index.d.ts +3 -0
  824. package/dist/types/plugins/text/bold/index.d.ts.map +1 -0
  825. package/dist/types/plugins/text/bold/withBold.d.ts +3 -0
  826. package/dist/types/plugins/text/bold/withBold.d.ts.map +1 -0
  827. package/dist/types/plugins/text/code/codeMark.d.ts +4 -0
  828. package/dist/types/plugins/text/code/codeMark.d.ts.map +1 -0
  829. package/dist/types/plugins/text/code/index.d.ts +3 -0
  830. package/dist/types/plugins/text/code/index.d.ts.map +1 -0
  831. package/dist/types/plugins/text/code/withCode.d.ts +3 -0
  832. package/dist/types/plugins/text/code/withCode.d.ts.map +1 -0
  833. package/dist/types/plugins/text/highlight/highlightMark.d.ts +4 -0
  834. package/dist/types/plugins/text/highlight/highlightMark.d.ts.map +1 -0
  835. package/dist/types/plugins/text/highlight/index.d.ts +3 -0
  836. package/dist/types/plugins/text/highlight/index.d.ts.map +1 -0
  837. package/dist/types/plugins/text/highlight/withHighlight.d.ts +3 -0
  838. package/dist/types/plugins/text/highlight/withHighlight.d.ts.map +1 -0
  839. package/dist/types/plugins/text/index.d.ts +8 -0
  840. package/dist/types/plugins/text/index.d.ts.map +1 -0
  841. package/dist/types/plugins/text/italic/index.d.ts +3 -0
  842. package/dist/types/plugins/text/italic/index.d.ts.map +1 -0
  843. package/dist/types/plugins/text/italic/italicMark.d.ts +4 -0
  844. package/dist/types/plugins/text/italic/italicMark.d.ts.map +1 -0
  845. package/dist/types/plugins/text/italic/withItalic.d.ts +3 -0
  846. package/dist/types/plugins/text/italic/withItalic.d.ts.map +1 -0
  847. package/dist/types/plugins/text/newline/index.d.ts +2 -0
  848. package/dist/types/plugins/text/newline/index.d.ts.map +1 -0
  849. package/dist/types/plugins/text/newline/withNewline.d.ts +3 -0
  850. package/dist/types/plugins/text/newline/withNewline.d.ts.map +1 -0
  851. package/dist/types/plugins/text/strikeThrough/index.d.ts +3 -0
  852. package/dist/types/plugins/text/strikeThrough/index.d.ts.map +1 -0
  853. package/dist/types/plugins/text/strikeThrough/strikeThroughMark.d.ts +4 -0
  854. package/dist/types/plugins/text/strikeThrough/strikeThroughMark.d.ts.map +1 -0
  855. package/dist/types/plugins/text/strikeThrough/withStrikeThrough.d.ts +3 -0
  856. package/dist/types/plugins/text/strikeThrough/withStrikeThrough.d.ts.map +1 -0
  857. package/dist/types/plugins/text/underline/index.d.ts +3 -0
  858. package/dist/types/plugins/text/underline/index.d.ts.map +1 -0
  859. package/dist/types/plugins/text/underline/underlineMark.d.ts +4 -0
  860. package/dist/types/plugins/text/underline/underlineMark.d.ts.map +1 -0
  861. package/dist/types/plugins/text/underline/withUnderline.d.ts +3 -0
  862. package/dist/types/plugins/text/underline/withUnderline.d.ts.map +1 -0
  863. package/dist/types/slate-reexport.d.ts +3 -0
  864. package/dist/types/slate-reexport.d.ts.map +1 -0
  865. package/dist/types/slate-types.d.ts +31 -0
  866. package/dist/types/slate-types.d.ts.map +1 -0
  867. package/dist/types/tsconfig.tsbuildinfo +1 -0
  868. package/dist/types/types/editor.d.ts +43 -0
  869. package/dist/types/types/editor.d.ts.map +1 -0
  870. package/dist/types/types/htmlDeserializer.d.ts +38 -0
  871. package/dist/types/types/htmlDeserializer.d.ts.map +1 -0
  872. package/dist/types/types/index.d.ts +4 -0
  873. package/dist/types/types/index.d.ts.map +1 -0
  874. package/dist/types/types/plugins.d.ts +59 -0
  875. package/dist/types/types/plugins.d.ts.map +1 -0
  876. package/package.json +62 -0
  877. package/src/components/RichTextEditor.tsx +123 -0
  878. package/src/components/index.ts +3 -0
  879. package/src/components/triggers/EditorElementTrigger.tsx +22 -0
  880. package/src/components/triggers/EditorGenericTrigger.tsx +27 -0
  881. package/src/components/triggers/EditorMarkTrigger.tsx +21 -0
  882. package/src/components/triggers/EditorWrapNodeTrigger.tsx +36 -0
  883. package/src/components/triggers/index.ts +4 -0
  884. package/src/editor/createEditor.ts +52 -0
  885. package/src/editor/createEditorWithEssentials.tsx +248 -0
  886. package/src/editor/index.ts +48 -0
  887. package/src/editor/methods/addMarks.ts +10 -0
  888. package/src/editor/methods/canToggleMark.ts +9 -0
  889. package/src/editor/methods/closest.ts +21 -0
  890. package/src/editor/methods/closestBlockEntry.ts +14 -0
  891. package/src/editor/methods/closestViableBlockContainerEntry.ts +14 -0
  892. package/src/editor/methods/ejectElement.ts +14 -0
  893. package/src/editor/methods/elementToSpecifics.ts +8 -0
  894. package/src/editor/methods/getElementDataAttributes.ts +22 -0
  895. package/src/editor/methods/getPreviousSibling.ts +18 -0
  896. package/src/editor/methods/hasMarks.ts +30 -0
  897. package/src/editor/methods/hasParentOfType.ts +18 -0
  898. package/src/editor/methods/index.ts +19 -0
  899. package/src/editor/methods/isElementType.ts +29 -0
  900. package/src/editor/methods/permissivelyDeserializeNodes.ts +30 -0
  901. package/src/editor/methods/removeMarks.ts +10 -0
  902. package/src/editor/methods/serializeNodes.ts +18 -0
  903. package/src/editor/methods/strictlyDeserializeNodes.ts +19 -0
  904. package/src/editor/methods/textToSpecifics.ts +7 -0
  905. package/src/editor/methods/toLatestFormat.ts +37 -0
  906. package/src/editor/methods/topLevelNodes.ts +11 -0
  907. package/src/index.ts +6 -0
  908. package/src/internal/components/DefaultElement.tsx +11 -0
  909. package/src/internal/hooks/useRichTextFieldNodes.ts +38 -0
  910. package/src/internal/utils/EditorPasteUtils.ts +53 -0
  911. package/src/internal/utils/index.ts +2 -0
  912. package/src/internal/utils/parseIframeSrc.ts +13 -0
  913. package/src/internal/utils/parseUrl.ts +13 -0
  914. package/src/plugins/attributes/alignment/alignButton.ts +30 -0
  915. package/src/plugins/attributes/alignment/index.ts +1 -0
  916. package/src/plugins/attributes/index.ts +1 -0
  917. package/src/plugins/behaviour/index.ts +1 -0
  918. package/src/plugins/behaviour/paste/HtmlDeserializer.ts +180 -0
  919. package/src/plugins/behaviour/paste/createMarkHtmlDeserializer.ts +13 -0
  920. package/src/plugins/behaviour/paste/index.ts +2 -0
  921. package/src/plugins/behaviour/paste/withPaste.ts +24 -0
  922. package/src/plugins/element/anchors/AnchorElement.ts +49 -0
  923. package/src/plugins/element/anchors/AnchorHtmlDeserializer.ts +18 -0
  924. package/src/plugins/element/anchors/AnchorModifications.ts +29 -0
  925. package/src/plugins/element/anchors/index.ts +3 -0
  926. package/src/plugins/element/anchors/withAnchors.ts +23 -0
  927. package/src/plugins/element/headings/HeadingElement.ts +52 -0
  928. package/src/plugins/element/headings/HeadingHtmlDeserializer.ts +20 -0
  929. package/src/plugins/element/headings/index.ts +3 -0
  930. package/src/plugins/element/headings/withHeadings.ts +120 -0
  931. package/src/plugins/element/horizonalRules/HorizontalRuleElement.ts +48 -0
  932. package/src/plugins/element/horizonalRules/index.ts +2 -0
  933. package/src/plugins/element/horizonalRules/withHorizontalRules.ts +87 -0
  934. package/src/plugins/element/index.ts +7 -0
  935. package/src/plugins/element/lists/ListElement.ts +26 -0
  936. package/src/plugins/element/lists/ListHtmlDeserializer.ts +113 -0
  937. package/src/plugins/element/lists/ListItemElement.ts +60 -0
  938. package/src/plugins/element/lists/OrderedListElement.ts +31 -0
  939. package/src/plugins/element/lists/UnorderedListElement.ts +31 -0
  940. package/src/plugins/element/lists/index.ts +5 -0
  941. package/src/plugins/element/lists/transforms/dedentListItem.ts +70 -0
  942. package/src/plugins/element/lists/transforms/indentListItem.ts +81 -0
  943. package/src/plugins/element/lists/transforms/index.ts +4 -0
  944. package/src/plugins/element/lists/transforms/normalizeListElement.ts +20 -0
  945. package/src/plugins/element/lists/transforms/toggleListElement.ts +113 -0
  946. package/src/plugins/element/lists/withLists.ts +202 -0
  947. package/src/plugins/element/paragraphs/ParagraphElement.ts +59 -0
  948. package/src/plugins/element/paragraphs/ParagraphHtmlDeserializer.ts +9 -0
  949. package/src/plugins/element/paragraphs/index.ts +3 -0
  950. package/src/plugins/element/paragraphs/withParagraphs.ts +70 -0
  951. package/src/plugins/element/scrollTargets/ScrollTargetElement.ts +61 -0
  952. package/src/plugins/element/scrollTargets/index.ts +2 -0
  953. package/src/plugins/element/scrollTargets/withScrollTargets.ts +8 -0
  954. package/src/plugins/element/tables/TableCellElement.ts +45 -0
  955. package/src/plugins/element/tables/TableElement.ts +125 -0
  956. package/src/plugins/element/tables/TableElementSelection.ts +19 -0
  957. package/src/plugins/element/tables/TableModifications.ts +165 -0
  958. package/src/plugins/element/tables/TableRowElement.ts +47 -0
  959. package/src/plugins/element/tables/gaugeTableColumnCount.ts +35 -0
  960. package/src/plugins/element/tables/index.ts +5 -0
  961. package/src/plugins/element/tables/withTables.ts +335 -0
  962. package/src/plugins/index.ts +4 -0
  963. package/src/plugins/text/bold/boldMark.ts +11 -0
  964. package/src/plugins/text/bold/index.ts +2 -0
  965. package/src/plugins/text/bold/withBold.ts +15 -0
  966. package/src/plugins/text/code/codeMark.ts +11 -0
  967. package/src/plugins/text/code/index.ts +2 -0
  968. package/src/plugins/text/code/withCode.ts +10 -0
  969. package/src/plugins/text/highlight/highlightMark.ts +11 -0
  970. package/src/plugins/text/highlight/index.ts +2 -0
  971. package/src/plugins/text/highlight/withHighlight.ts +10 -0
  972. package/src/plugins/text/index.ts +7 -0
  973. package/src/plugins/text/italic/index.ts +2 -0
  974. package/src/plugins/text/italic/italicMark.ts +11 -0
  975. package/src/plugins/text/italic/withItalic.ts +15 -0
  976. package/src/plugins/text/newline/index.ts +1 -0
  977. package/src/plugins/text/newline/withNewline.ts +13 -0
  978. package/src/plugins/text/strikeThrough/index.ts +2 -0
  979. package/src/plugins/text/strikeThrough/strikeThroughMark.ts +10 -0
  980. package/src/plugins/text/strikeThrough/withStrikeThrough.ts +18 -0
  981. package/src/plugins/text/underline/index.ts +2 -0
  982. package/src/plugins/text/underline/underlineMark.ts +11 -0
  983. package/src/plugins/text/underline/withUnderline.ts +17 -0
  984. package/src/slate-reexport.ts +4 -0
  985. package/src/slate-types.ts +33 -0
  986. package/src/tsconfig.json +11 -0
  987. package/src/types/editor.ts +55 -0
  988. package/src/types/htmlDeserializer.ts +42 -0
  989. package/src/types/index.ts +3 -0
  990. package/src/types/plugins.ts +35 -0
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@contember/react-slate-editor-base",
3
+ "license": "Apache-2.0",
4
+ "version": "2.0.0-alpha.1",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "main": "./dist/production/index.js",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./dist/types/index.d.ts",
12
+ "development": "./dist/development/index.js",
13
+ "production": "./dist/production/index.js",
14
+ "default": "./dist/production/index.js"
15
+ },
16
+ "require": {
17
+ "types": "./dist/types/index.d.ts",
18
+ "development": "./dist/development/index.cjs",
19
+ "production": "./dist/production/index.cjs",
20
+ "default": "./dist/production/index.cjs"
21
+ }
22
+ }
23
+ },
24
+ "files": [
25
+ "dist/",
26
+ "src/"
27
+ ],
28
+ "typings": "./dist/types/index.d.ts",
29
+ "scripts": {
30
+ "build": "yarn build:js:dev && yarn build:js:prod",
31
+ "build:js:dev": "vite build --mode development",
32
+ "build:js:prod": "vite build --mode production",
33
+ "ae:build": "api-extractor run --local",
34
+ "ae:test": "api-extractor run",
35
+ "test": "vitest"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/contember/interface.git",
40
+ "directory": "packages/react-slate-editor-base"
41
+ },
42
+ "dependencies": {
43
+ "@contember/binding": "2.0.0-alpha.1",
44
+ "@contember/react-binding": "2.0.0-alpha.1",
45
+ "@contember/utilities": "2.0.0-alpha.1",
46
+ "@radix-ui/primitive": "^1.0.1",
47
+ "@radix-ui/react-slot": "^1.0.2",
48
+ "is-hotkey": "^0.2.0",
49
+ "slate": "^0.103.0",
50
+ "slate-history": "^0.100.0",
51
+ "slate-react": "^0.102.0"
52
+ },
53
+ "peerDependencies": {
54
+ "react": "^18 || ^19",
55
+ "react-dom": "^18 || ^19"
56
+ },
57
+ "devDependencies": {
58
+ "react": "^18.3.1",
59
+ "react-dom": "^18.3.1"
60
+ },
61
+ "stableVersion": "0.0.0"
62
+ }
@@ -0,0 +1,123 @@
1
+ import { Component, Field, FieldAccessor, FieldBasicProps, QueryLanguage, useEntity } from '@contember/react-binding'
2
+ import { FunctionComponent, useCallback, useMemo, useState } from 'react'
3
+ import { Descendant, Editor, Element as SlateElement, Node as SlateNode, NodeEntry, Transforms } from 'slate'
4
+ import { Slate } from 'slate-react'
5
+ import { createEditor, CreateEditorPublicOptions } from '../editor'
6
+ import { paragraphElementType } from '../plugins'
7
+ import { useRichTextFieldNodes } from '../internal/hooks/useRichTextFieldNodes'
8
+
9
+ export type RichTextEditorProps =
10
+ & FieldBasicProps
11
+ & CreateEditorPublicOptions
12
+ & {
13
+ children: React.ReactNode
14
+ }
15
+
16
+ /**
17
+ * Rich text field supports more advanced formatting capabilities. Output of this field is a JSON.
18
+ *
19
+ * @group Form Fields
20
+ */
21
+ export const RichTextEditor: FunctionComponent<RichTextEditorProps> = Component(
22
+ props => {
23
+ const entity = useEntity()
24
+ const environment = entity.environment
25
+ const getParent = entity.getAccessor
26
+
27
+ const desugaredField = useMemo(
28
+ () => QueryLanguage.desugarRelativeSingleField(props, environment),
29
+ [environment, props],
30
+ )
31
+ const fieldAccessor = useMemo(() => entity.getRelativeSingleField<string>(desugaredField), [entity, desugaredField])
32
+
33
+ // The cache is questionable, really.
34
+ const [contemberFieldElementCache] = useState(() => new WeakMap<FieldAccessor<string>, SlateElement[]>())
35
+
36
+
37
+ const [editor] = useState(() => {
38
+ const { editor } = createEditor({
39
+ plugins: props.plugins,
40
+ defaultElementType: paragraphElementType,
41
+ entity,
42
+ environment,
43
+ children: props.children,
44
+ })
45
+
46
+ const { normalizeNode } = editor
47
+ Object.assign(editor, {
48
+ insertBreak: () => {
49
+ Transforms.insertText(editor, '\n')
50
+ },
51
+ normalizeNode: (nodeEntry: NodeEntry) => {
52
+ const [node, path] = nodeEntry
53
+ if (path.length === 0 && SlateElement.isAncestor(node)) {
54
+ // Enforce that there's exactly one child and that it's
55
+ if (node.children.length > 1) {
56
+ return Editor.withoutNormalizing(editor, () => {
57
+ const targetPath = [0, (editor.children[0] as SlateElement).children.length]
58
+ Transforms.moveNodes(editor, {
59
+ at: [1],
60
+ to: targetPath,
61
+ })
62
+ Transforms.unwrapNodes(editor, { at: targetPath })
63
+ })
64
+ }
65
+ if (SlateElement.isElement(node.children[0]) && !editor.isDefaultElement(node.children[0])) {
66
+ return Editor.withoutNormalizing(editor, () => {
67
+ Transforms.wrapNodes(editor, editor.createDefaultElement([{ text: '' }]), {
68
+ at: path,
69
+ })
70
+ Transforms.unwrapNodes(editor, { at: [0, 0] })
71
+ })
72
+ }
73
+ }
74
+ if (SlateElement.isElement(node) && Editor.isBlock(editor, node) && path.length > 1) {
75
+ return Transforms.unwrapNodes(editor, { at: path })
76
+ }
77
+ normalizeNode(nodeEntry)
78
+ },
79
+ })
80
+
81
+ return editor
82
+ })
83
+
84
+ const valueNodes = useRichTextFieldNodes({
85
+ editor,
86
+ fieldAccessor,
87
+ contemberFieldElementCache,
88
+ })
89
+
90
+ const serialize = editor.serializeNodes
91
+ const onChange = useCallback(
92
+ (value: Descendant[]) => {
93
+ getParent().batchUpdates(getAccessor => {
94
+ const fieldAccessor = getAccessor().getRelativeSingleField(desugaredField)
95
+
96
+ if (SlateNode.string({ type: 'dummy', children: value }) === '' && fieldAccessor.valueOnServer === null) {
97
+ fieldAccessor.updateValue(null)
98
+ return
99
+ }
100
+
101
+ if (SlateElement.isElement(value[0])) {
102
+ fieldAccessor.updateValue(serialize(value[0].children))
103
+ contemberFieldElementCache.set(getAccessor().getRelativeSingleField(desugaredField), value as SlateElement[])
104
+ }
105
+ })
106
+ },
107
+ [getParent, contemberFieldElementCache, desugaredField, serialize],
108
+ )
109
+
110
+ return (
111
+ <Slate editor={editor} initialValue={valueNodes} onChange={onChange}>
112
+ {props.children}
113
+ </Slate>
114
+ )
115
+ },
116
+ props => (
117
+ <>
118
+ <Field defaultValue={props.defaultValue} field={props.field} isNonbearing={props.isNonbearing} />
119
+ </>
120
+ ),
121
+ 'RichTextEditor',
122
+ )
123
+
@@ -0,0 +1,3 @@
1
+ export * from './triggers'
2
+
3
+ export * from './RichTextEditor'
@@ -0,0 +1,22 @@
1
+ import * as React from 'react'
2
+ import { ReactElement } from 'react'
3
+ import { useSlate } from 'slate-react'
4
+ import { Slot } from '@radix-ui/react-slot'
5
+ import { dataAttribute } from '@contember/utilities'
6
+
7
+ export interface EditorElementTriggerProps {
8
+ elementType: string
9
+ suchThat?: Record<string, unknown>
10
+ children: ReactElement
11
+ }
12
+
13
+ export const EditorElementTrigger = ({ elementType, suchThat, ...props }: EditorElementTriggerProps) => {
14
+ const editor = useSlate()
15
+
16
+ const isActive = editor.isElementActive(elementType, suchThat)
17
+ const onClick = () => {
18
+ editor.toggleElement(elementType, suchThat)
19
+ }
20
+
21
+ return <Slot onClick={onClick} data-active={dataAttribute(isActive)} {...props} />
22
+ }
@@ -0,0 +1,27 @@
1
+ import * as React from 'react'
2
+ import { ReactElement } from 'react'
3
+ import { Slot } from '@radix-ui/react-slot'
4
+ import { Editor } from 'slate'
5
+ import { dataAttribute } from '@contember/utilities'
6
+ import { useSlate } from 'slate-react'
7
+
8
+ export interface EditorGenericTriggerProps {
9
+ isActive?: (args: { editor: Editor }) => boolean
10
+ shouldDisplay?: (args: { editor: Editor }) => boolean
11
+ toggle: (args: { editor: Editor }) => void
12
+ children: ReactElement
13
+ }
14
+
15
+ export const EditorGenericTrigger = ({ toggle, isActive, shouldDisplay, ...props }: EditorGenericTriggerProps) => {
16
+
17
+ const editor = useSlate()
18
+ const onClick = () => {
19
+ toggle({ editor })
20
+ }
21
+ const active = isActive?.({ editor }) ?? false
22
+ const display = shouldDisplay?.({ editor }) ?? true
23
+ if (!display) {
24
+ return null
25
+ }
26
+ return <Slot onClick={onClick} data-active={dataAttribute(active)} {...props} />
27
+ }
@@ -0,0 +1,21 @@
1
+ import * as React from 'react'
2
+ import { ReactElement } from 'react'
3
+ import { useSlate } from 'slate-react'
4
+ import { Slot } from '@radix-ui/react-slot'
5
+ import { dataAttribute } from '@contember/utilities'
6
+
7
+ export interface EditorMarkTriggerProps {
8
+ mark: string
9
+ children: ReactElement
10
+ }
11
+
12
+ export const EditorMarkTrigger = ({ mark, ...props }: EditorMarkTriggerProps) => {
13
+ const editor = useSlate()
14
+
15
+ const isActive = editor.hasMarks({ [mark]: true })
16
+ const onClick = () => {
17
+ editor.toggleMarks({ [mark]: true })
18
+ }
19
+
20
+ return <Slot onClick={onClick} data-active={dataAttribute(isActive)} {...props} />
21
+ }
@@ -0,0 +1,36 @@
1
+ import { Selection } from 'slate'
2
+ import { MouseEventHandler, ReactElement } from 'react'
3
+ import { useSlate } from 'slate-react'
4
+ import { Slot } from '@radix-ui/react-slot'
5
+ import * as React from 'react'
6
+ import { composeEventHandlers } from '@radix-ui/primitive'
7
+ import { EditorTransforms } from '../../slate-reexport'
8
+
9
+ export interface EditorWrapNodeTriggerProps {
10
+ elementType: string
11
+ selection?: Selection
12
+ suchThat?: Record<string, unknown>
13
+ children: ReactElement
14
+ onClick?: MouseEventHandler<HTMLElement>
15
+ }
16
+
17
+ export const EditorWrapNodeTrigger = ({ elementType, suchThat, selection, ...props }: EditorWrapNodeTriggerProps) => {
18
+ const editor = useSlate()
19
+ const onClick = () => {
20
+ if (selection) {
21
+ EditorTransforms.select(editor, selection)
22
+ }
23
+ EditorTransforms.wrapNodes(
24
+ editor,
25
+ {
26
+ type: elementType,
27
+ children: [{ text: '' }],
28
+ ...suchThat,
29
+ },
30
+ { split: true },
31
+ )
32
+ EditorTransforms.collapse(editor, { edge: 'end' })
33
+ }
34
+
35
+ return <Slot {...props} onClick={composeEventHandlers(props.onClick, onClick)} />
36
+ }
@@ -0,0 +1,4 @@
1
+ export * from './EditorElementTrigger'
2
+ export * from './EditorGenericTrigger'
3
+ export * from './EditorMarkTrigger'
4
+ export * from './EditorWrapNodeTrigger'
@@ -0,0 +1,52 @@
1
+ import { createEditorWithEssentials } from './createEditorWithEssentials'
2
+ import { Editor } from 'slate'
3
+ import { EditorPlugin, EditorPluginWrapperProps } from '../types'
4
+ import { createElement, FunctionComponent, ReactNode } from 'react'
5
+ import { EntityAccessor } from '@contember/binding'
6
+ import { Environment } from '@contember/react-binding'
7
+
8
+
9
+ export interface CreateEditorPublicOptions {
10
+ plugins?: EditorPlugin[]
11
+ }
12
+
13
+ export interface CreateEditorOptions extends CreateEditorPublicOptions {
14
+ defaultElementType: string
15
+ entity: EntityAccessor
16
+ environment: Environment
17
+ children: ReactNode
18
+ }
19
+
20
+ export const createEditor = ({
21
+ plugins = [],
22
+ defaultElementType,
23
+ entity,
24
+ environment,
25
+ children,
26
+ }: CreateEditorOptions): {
27
+ editor: Editor,
28
+ OuterWrapper: FunctionComponent<{ children: ReactNode }>
29
+ InnerWrapper: FunctionComponent<{ children: ReactNode }>
30
+ } => {
31
+ const editor = createEditorWithEssentials({ defaultElementType })
32
+ const outerWrappers: FunctionComponent<EditorPluginWrapperProps>[] = []
33
+ const innerWrappers: FunctionComponent<EditorPluginWrapperProps>[] = []
34
+ plugins?.forEach(plugin => {
35
+ if (typeof plugin === 'function') {
36
+ plugin(editor)
37
+ return
38
+ }
39
+ plugin.extendEditor?.({ editor, children, environment, entity })
40
+ if (plugin?.OuterWrapper) {
41
+ outerWrappers.push(plugin.OuterWrapper)
42
+ }
43
+ if (plugin?.InnerWrapper) {
44
+ innerWrappers.push(plugin.InnerWrapper)
45
+ }
46
+ })
47
+ return {
48
+ editor,
49
+ OuterWrapper: ({ children }) => outerWrappers.reduceRight((acc, Wrapper) => createElement(Wrapper, { editor }, acc), children),
50
+ InnerWrapper: ({ children }) => innerWrappers.reduceRight((acc, Wrapper) => createElement(Wrapper, { editor }, acc), children),
51
+ }
52
+ }
@@ -0,0 +1,248 @@
1
+ import { createElement, isValidElement, ReactElement } from 'react'
2
+ import { createEditor, Descendant, Editor, Element as SlateElement, Node as SlateNode, Path, Range as SlateRange, Text as SlateText, Transforms } from 'slate'
3
+ import * as Slate from 'slate'
4
+ import { withHistory } from 'slate-history'
5
+ import { ReactEditor, withReact } from 'slate-react'
6
+ import { EditorElementPlugin, EditorMarkPlugin } from '../types/plugins'
7
+ import { TextSpecifics } from '../types/editor'
8
+ import { DefaultElement } from '../internal/components/DefaultElement'
9
+ import { withPaste } from '../plugins/behaviour'
10
+ import { ContemberEditor } from './index'
11
+
12
+ export const createEditorWithEssentials = ({ defaultElementType }: { defaultElementType: string }): Editor => {
13
+ const underlyingEditor = withHistory(withReact(createEditor() as ReactEditor))
14
+
15
+ const editor = underlyingEditor as unknown as Editor
16
+ const { normalizeNode, isInline, isVoid, deleteBackward } = editor
17
+
18
+ const elements = new Map<string, EditorElementPlugin<any>>()
19
+ const marks = new Map<string, EditorMarkPlugin>()
20
+
21
+ Object.assign<Editor, Partial<Editor>>(editor, {
22
+ slate: Slate,
23
+ formatVersion: 1,
24
+ defaultElementType,
25
+ isDefaultElement: element => 'type' in element && (element as any).type === defaultElementType,
26
+ createDefaultElement: children => ({
27
+ type: defaultElementType,
28
+ children,
29
+ }),
30
+ insertBetweenBlocks: ([element, path], edge) => {
31
+ const edgeOffset = edge === 'before' ? 0 : 1
32
+ const targetPath = path.slice(0, -1).concat(path[path.length - 1] + edgeOffset)
33
+ Transforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]), {
34
+ at: targetPath,
35
+ select: true,
36
+ })
37
+ },
38
+
39
+ canToggleMarks: () => true,
40
+ canToggleElement: <E extends SlateElement>() => true,
41
+
42
+ hasMarks: <T extends SlateText>(marks: TextSpecifics<T>) => ContemberEditor.hasMarks(editor, marks),
43
+
44
+ // TODO in the following function, we need to conditionally trim the selection so that it doesn't potentially
45
+ // include empty strings at the edges of top-level elements.
46
+ isElementActive: <E extends SlateElement>(elementType: E['type'], suchThat?: Partial<E>) => {
47
+ return (
48
+ elements.get(elementType)?.isActive?.({ editor, suchThat })
49
+ ?? Array.from(Editor.nodes(editor, {
50
+ match: node => SlateElement.isElement(node) && ContemberEditor.isElementType(node, elementType, suchThat),
51
+ voids: false,
52
+ })).length > 0
53
+ )
54
+ },
55
+
56
+ acceptsAttributes: <E extends SlateElement>(elementType: E['type'], suchThat: Partial<E>) => {
57
+ return elements.get(elementType)?.acceptsAttributes?.({ editor, suchThat }) ?? false
58
+ },
59
+
60
+ toggleMarks: <T extends SlateText>(marks: TextSpecifics<T>) => {
61
+ if (!editor.canToggleMarks(marks)) {
62
+ return
63
+ }
64
+ const isActive = editor.hasMarks(marks)
65
+ if (isActive) {
66
+ ContemberEditor.removeMarks(editor, marks)
67
+ return false
68
+ }
69
+ ContemberEditor.addMarks(editor, marks)
70
+ return true
71
+ },
72
+ toggleElement: <E extends SlateElement>(elementType: E['type'], suchThat?: Partial<E>) => {
73
+ elements.get(elementType)?.toggleElement?.({
74
+ editor,
75
+ suchThat,
76
+ })
77
+ },
78
+
79
+ isInline: element => {
80
+ return elements.get(element.type)?.isInline ?? isInline(element)
81
+ },
82
+
83
+ isVoid: element => {
84
+ const elIsVoid = elements.get(element.type)?.isVoid
85
+ if (elIsVoid === undefined) {
86
+ return isVoid(element)
87
+ }
88
+ if (typeof elIsVoid === 'boolean') {
89
+ return elIsVoid
90
+ }
91
+ return elIsVoid({ editor, element })
92
+ },
93
+
94
+ canContainAnyBlocks: element => {
95
+ if (Editor.isEditor(element)) {
96
+ return true
97
+ }
98
+ return !editor.isInline(element)
99
+ && !editor.isVoid(element)
100
+ && (elements.has(element.type) ? elements.get(element.type)!.canContainAnyBlocks ?? false : true)
101
+ },
102
+
103
+ serializeNodes: (nodes, errorMessage) => ContemberEditor.serializeNodes(editor, nodes, errorMessage),
104
+ deserializeNodes: (serializedNodes, errorMessage) =>
105
+ ContemberEditor.permissivelyDeserializeNodes(editor, serializedNodes, errorMessage),
106
+
107
+ upgradeFormatBySingleVersion: (node, oldVersion) => {
108
+ if (SlateElement.isElement(node)) {
109
+ return {
110
+ ...node,
111
+ children: node.children.map(child => editor.upgradeFormatBySingleVersion(child, oldVersion) as Descendant),
112
+ }
113
+ }
114
+ return node
115
+ },
116
+
117
+ renderElement: props => {
118
+ const component = elements.get(props.element.type)?.render ?? DefaultElement
119
+ return createElement(component, props)
120
+ },
121
+
122
+ renderLeafChildren: props => props.children,
123
+
124
+ renderLeaf: props => {
125
+ let el: ReactElement = createElement('span', props.attributes, editor.renderLeafChildren(props))
126
+ for (const [, mark] of marks) {
127
+ if (props.leaf[mark.type] === true) {
128
+ const markerEl = mark.render({ ...props, children: el })
129
+ if (markerEl !== null) {
130
+ if (!isValidElement(markerEl)) {
131
+ throw new Error(`Mark plugin ${mark.type} returned a non-React element`)
132
+ }
133
+ el = markerEl
134
+ }
135
+ }
136
+ }
137
+ return el
138
+ },
139
+
140
+ // Just noop functions so that other plugins can safely bubble-call
141
+ onDOMBeforeInput: () => {},
142
+ onKeyDown: e => {
143
+ for (const [, mark] of marks) {
144
+ if (mark.isHotKey(e.nativeEvent)) {
145
+ editor.toggleMarks({ [mark.type]: true })
146
+ e.preventDefault()
147
+ return
148
+ }
149
+ }
150
+
151
+
152
+ // Inline void nodes cannot be deleted by default: https://github.com/ianstormtaylor/slate/issues/3456
153
+ // This is a hack to get around this issue. The problem is that when an inline void node is selected, Slate's
154
+ // beforeInput handler doesn't get triggered. However, when we put the caret right after the inline void
155
+ // and press Backspace (or the other way around with Delete), it works just fine. Furthermore, if we deleted the
156
+ // node directly, either we'd lose the selection state or Slate, not knowing about us deleting, would still
157
+ // try to delete things on its own so as to respond to the user interaction. So we take advantage of this and
158
+ // instead of deleting the void node, we just carefully move the selection and have Slate do the deleting.
159
+ if (e.key !== 'Delete' && e.key !== 'Backspace') {
160
+ return
161
+ }
162
+ const selection = editor.selection
163
+
164
+ if (selection && SlateRange.isCollapsed(selection)) {
165
+ const voidEntry = Editor.void(editor, {
166
+ at: selection,
167
+ mode: 'lowest',
168
+ voids: true,
169
+ })
170
+ if (!voidEntry) {
171
+ return
172
+ }
173
+ const [node, nodePath] = voidEntry
174
+ if (editor.isInline(node)) {
175
+ const adjacentPoint =
176
+ e.key === 'Backspace'
177
+ ? Editor.point(editor, Path.next(nodePath), {
178
+ edge: 'start',
179
+ })
180
+ : Editor.point(editor, Path.previous(nodePath), {
181
+ edge: 'end',
182
+ })
183
+ Transforms.select(editor, adjacentPoint)
184
+ }
185
+ }
186
+ },
187
+ onFocus: () => {},
188
+ onBlur: () => {},
189
+ normalizeNode: ([node, path]) => {
190
+ if (Editor.isEditor(node) && node.children.length === 0) {
191
+ Transforms.insertNodes(editor, editor.createDefaultElement([{ text: '' }]))
192
+ }
193
+ if (!SlateElement.isElement(node)) {
194
+ normalizeNode([node, path])
195
+ return
196
+ }
197
+ let defaultPrevented = false
198
+ elements.get(node.type)?.normalizeNode?.({
199
+ element: node,
200
+ path,
201
+ editor,
202
+ preventDefault: () => {
203
+ defaultPrevented = true
204
+ },
205
+ })
206
+ if (!defaultPrevented) {
207
+ normalizeNode([node, path])
208
+ }
209
+ },
210
+ registerElement: plugin => {
211
+ elements.set(plugin.type, plugin)
212
+ },
213
+ registerMark: plugin => {
214
+ marks.set(plugin.type, plugin)
215
+ },
216
+
217
+ deleteBackward: unit => {
218
+ const selection = editor.selection
219
+
220
+ if (selection && SlateRange.isCollapsed(selection)) {
221
+ const [node, nodePath] = Editor.node(editor, [selection.focus.path[0]])
222
+ if (SlateElement.isElement(node) && SlateNode.string(node) === '') {
223
+ const previous = Editor.previous(editor, {
224
+ at: nodePath,
225
+ voids: true,
226
+ })
227
+
228
+ if (previous) {
229
+ const [previousNode] = previous
230
+ if (SlateElement.isElement(previousNode) && editor.isVoid(previousNode)) {
231
+ editor.apply({
232
+ type: 'remove_node',
233
+ path: nodePath,
234
+ node,
235
+ })
236
+ return
237
+ }
238
+ }
239
+ }
240
+ }
241
+ deleteBackward(unit)
242
+ },
243
+ })
244
+
245
+ withPaste(editor)
246
+
247
+ return editor
248
+ }
@@ -0,0 +1,48 @@
1
+ import {
2
+ addMarks,
3
+ canToggleMark,
4
+ closest,
5
+ closestBlockEntry,
6
+ closestViableBlockContainerEntry,
7
+ ejectElement,
8
+ elementToSpecifics,
9
+ getElementDataAttributes,
10
+ getPreviousSibling,
11
+ hasMarks,
12
+ hasParentOfType,
13
+ isElementType,
14
+ permissivelyDeserializeNodes,
15
+ removeMarks,
16
+ serializeNodes,
17
+ strictlyDeserializeNodes,
18
+ textToSpecifics,
19
+ toLatestFormat,
20
+ topLevelNodes,
21
+ } from './methods'
22
+
23
+ export type { ElementDataAttributes } from './methods'
24
+
25
+ // TODO use export * as ContemberEditor from './methods' once the tooling is ready.
26
+ export const ContemberEditor = {
27
+ addMarks,
28
+ canToggleMark,
29
+ closest,
30
+ closestBlockEntry,
31
+ closestViableBlockContainerEntry,
32
+ ejectElement,
33
+ elementToSpecifics,
34
+ getElementDataAttributes,
35
+ getPreviousSibling,
36
+ hasMarks,
37
+ hasParentOfType,
38
+ isElementType,
39
+ permissivelyDeserializeNodes,
40
+ removeMarks,
41
+ serializeNodes,
42
+ strictlyDeserializeNodes,
43
+ textToSpecifics,
44
+ toLatestFormat,
45
+ topLevelNodes,
46
+ }
47
+
48
+ export * from './createEditor'
@@ -0,0 +1,10 @@
1
+ import { Editor as SlateEditor, Editor, Text as SlateText } from 'slate'
2
+ import { TextSpecifics } from '../../types/editor'
3
+
4
+ export const addMarks = <T extends SlateText, E extends SlateEditor>(editor: E, marks: TextSpecifics<T>) => {
5
+ Editor.withoutNormalizing(editor, () => {
6
+ for (const mark in marks) {
7
+ Editor.addMark(editor, mark, (marks as any)[mark])
8
+ }
9
+ })
10
+ }
@@ -0,0 +1,9 @@
1
+ import { Editor as SlateEditor, Text as SlateText } from 'slate'
2
+
3
+ export const canToggleMark = <T extends SlateText, E extends SlateEditor>(
4
+ editor: E,
5
+ markName: string,
6
+ markValue: unknown = true,
7
+ ) => {
8
+ return editor.canToggleMarks({ [markName]: markValue })
9
+ }