@payloadcms/richtext-lexical 4.0.0-internal.e16cf59 → 4.0.0-internal.e38d3ac

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 (1059) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/cell/rscEntry.d.ts +1 -1
  3. package/dist/cell/rscEntry.d.ts.map +1 -1
  4. package/dist/cell/rscEntry.js +5 -5
  5. package/dist/cell/rscEntry.js.map +1 -1
  6. package/dist/exports/client/Field-F22V5L4V.js +2 -0
  7. package/dist/exports/client/Field-F22V5L4V.js.map +7 -0
  8. package/dist/exports/client/RelationshipComponent-YCPAKOL7.js +2 -0
  9. package/dist/exports/client/RelationshipComponent-YCPAKOL7.js.map +7 -0
  10. package/dist/exports/client/bundled.css +1 -1
  11. package/dist/exports/client/chunk-43E5QYAA.js +2 -0
  12. package/dist/exports/client/chunk-43E5QYAA.js.map +7 -0
  13. package/dist/exports/client/chunk-5VIL27GI.js +2 -0
  14. package/dist/exports/client/chunk-5VIL27GI.js.map +7 -0
  15. package/dist/exports/client/chunk-ESITTE3C.js +2 -0
  16. package/dist/exports/client/chunk-ESITTE3C.js.map +7 -0
  17. package/dist/exports/client/chunk-LN6VX25I.js +2 -0
  18. package/dist/exports/client/chunk-LN6VX25I.js.map +7 -0
  19. package/dist/exports/client/{chunk-BZZVLW4U.js → chunk-RJ5MAOKZ.js} +1 -1
  20. package/dist/exports/client/chunk-RJ5MAOKZ.js.map +7 -0
  21. package/dist/exports/client/chunk-WSAPGI3Z.js +2 -0
  22. package/dist/exports/client/chunk-WSAPGI3Z.js.map +7 -0
  23. package/dist/exports/client/component-D5QLYS7W.js +2 -0
  24. package/dist/exports/client/component-D5QLYS7W.js.map +7 -0
  25. package/dist/exports/client/componentInline-H24N7GUG.js +2 -0
  26. package/dist/exports/client/index.d.ts +1 -2
  27. package/dist/exports/client/index.d.ts.map +1 -1
  28. package/dist/exports/client/index.js +23 -24
  29. package/dist/exports/client/index.js.map +4 -4
  30. package/dist/exports/react/index.d.ts +1 -1
  31. package/dist/exports/react/index.d.ts.map +1 -1
  32. package/dist/exports/react/index.js.map +1 -1
  33. package/dist/features/align/client/toolbarAlignGroup.d.ts.map +1 -1
  34. package/dist/features/align/client/toolbarAlignGroup.js +1 -0
  35. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -1
  36. package/dist/features/blockquote/client/index.js +2 -2
  37. package/dist/features/blockquote/client/index.js.map +1 -1
  38. package/dist/features/blockquote/server/index.d.ts +1 -4
  39. package/dist/features/blockquote/server/index.d.ts.map +1 -1
  40. package/dist/features/blockquote/server/index.js +4 -41
  41. package/dist/features/blockquote/server/index.js.map +1 -1
  42. package/dist/features/blockquote/server/schema.d.ts +8 -0
  43. package/dist/features/blockquote/server/schema.d.ts.map +1 -0
  44. package/dist/features/blockquote/server/schema.js +15 -0
  45. package/dist/features/blockquote/server/schema.js.map +1 -0
  46. package/dist/features/blocks/client/component/BlockContent.d.ts +10 -0
  47. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  48. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  49. package/dist/features/blocks/client/component/index.css +178 -0
  50. package/dist/features/blocks/client/component/index.d.ts +4 -3
  51. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  52. package/dist/features/blocks/client/component/index.js +89 -24
  53. package/dist/features/blocks/client/component/index.js.map +1 -1
  54. package/dist/features/blocks/client/componentInline/index.css +85 -0
  55. package/dist/features/blocks/client/componentInline/index.d.ts +4 -3
  56. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  57. package/dist/features/blocks/client/componentInline/index.js +33 -12
  58. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  59. package/dist/features/blocks/client/getBlockImageComponent.d.ts +1 -1
  60. package/dist/features/blocks/client/index.d.ts.map +1 -1
  61. package/dist/features/blocks/client/index.js +4 -4
  62. package/dist/features/blocks/client/index.js.map +1 -1
  63. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +1 -1
  64. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -1
  65. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +1 -1
  66. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  67. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +1 -1
  68. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -1
  69. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +5 -2
  70. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  71. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +1 -2
  72. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -1
  73. package/dist/features/blocks/client/markdown/markdownTransformer.js +4 -4
  74. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  75. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +2 -2
  76. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  77. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  78. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +2 -2
  79. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  80. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  81. package/dist/features/blocks/client/plugin/index.d.ts +1 -1
  82. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  83. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  84. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts +1 -1
  85. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -1
  86. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +4 -0
  87. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  88. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.css +26 -0
  89. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts +1 -1
  90. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts.map +1 -1
  91. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +4 -1
  92. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -1
  93. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.css +38 -0
  94. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts +1 -1
  95. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts.map +1 -1
  96. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +7 -8
  97. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -1
  98. package/dist/features/blocks/premade/CodeBlock/Component/index.css +171 -0
  99. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts +1 -2
  100. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  101. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  102. package/dist/features/blocks/server/index.d.ts +1 -0
  103. package/dist/features/blocks/server/index.d.ts.map +1 -1
  104. package/dist/features/blocks/server/index.js +26 -74
  105. package/dist/features/blocks/server/index.js.map +1 -1
  106. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +1 -1
  107. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -1
  108. package/dist/features/blocks/server/markdown/markdownTransformer.js +4 -4
  109. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  110. package/dist/features/blocks/server/nodes/BlocksNode.d.ts +1 -18
  111. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  112. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  113. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +2 -10
  114. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  115. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  116. package/dist/features/blocks/server/schema.d.ts +45 -0
  117. package/dist/features/blocks/server/schema.d.ts.map +1 -0
  118. package/dist/features/blocks/server/schema.js +140 -0
  119. package/dist/features/blocks/server/schema.js.map +1 -0
  120. package/dist/features/blocks/server/validate.d.ts +1 -2
  121. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  122. package/dist/features/blocks/server/validate.js.map +1 -1
  123. package/dist/features/converters/htmlToLexical/index.d.ts +1 -1
  124. package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
  125. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  126. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.d.ts +1 -1
  127. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.d.ts.map +1 -1
  128. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -1
  129. package/dist/features/converters/lexicalToHtml/async/converters/heading.d.ts +1 -1
  130. package/dist/features/converters/lexicalToHtml/async/converters/heading.d.ts.map +1 -1
  131. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  132. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.d.ts +1 -1
  133. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.d.ts.map +1 -1
  134. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -1
  135. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.d.ts +1 -1
  136. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.d.ts.map +1 -1
  137. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -1
  138. package/dist/features/converters/lexicalToHtml/async/converters/link.d.ts +1 -1
  139. package/dist/features/converters/lexicalToHtml/async/converters/link.d.ts.map +1 -1
  140. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  141. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts +1 -1
  142. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  143. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  144. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.d.ts +1 -1
  145. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.d.ts.map +1 -1
  146. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -1
  147. package/dist/features/converters/lexicalToHtml/async/converters/tab.d.ts +1 -1
  148. package/dist/features/converters/lexicalToHtml/async/converters/tab.d.ts.map +1 -1
  149. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -1
  150. package/dist/features/converters/lexicalToHtml/async/converters/table.d.ts +1 -1
  151. package/dist/features/converters/lexicalToHtml/async/converters/table.d.ts.map +1 -1
  152. package/dist/features/converters/lexicalToHtml/async/converters/table.js +1 -1
  153. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -1
  154. package/dist/features/converters/lexicalToHtml/async/converters/text.d.ts +1 -1
  155. package/dist/features/converters/lexicalToHtml/async/converters/text.d.ts.map +1 -1
  156. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -1
  157. package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts +1 -1
  158. package/dist/features/converters/lexicalToHtml/async/converters/upload.d.ts.map +1 -1
  159. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  160. package/dist/features/converters/lexicalToHtml/async/defaultConverters.d.ts +1 -1
  161. package/dist/features/converters/lexicalToHtml/async/defaultConverters.d.ts.map +1 -1
  162. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  163. package/dist/features/converters/lexicalToHtml/async/types.d.ts +15 -16
  164. package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -1
  165. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  166. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  167. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.d.ts +1 -1
  168. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.d.ts.map +1 -1
  169. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  170. package/dist/features/converters/lexicalToHtml/sync/converters/heading.d.ts +1 -1
  171. package/dist/features/converters/lexicalToHtml/sync/converters/heading.d.ts.map +1 -1
  172. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  173. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.d.ts +1 -1
  174. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.d.ts.map +1 -1
  175. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  176. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.d.ts +1 -1
  177. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.d.ts.map +1 -1
  178. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  179. package/dist/features/converters/lexicalToHtml/sync/converters/link.d.ts +1 -1
  180. package/dist/features/converters/lexicalToHtml/sync/converters/link.d.ts.map +1 -1
  181. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  182. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts +1 -1
  183. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  184. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  185. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.d.ts +1 -1
  186. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.d.ts.map +1 -1
  187. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  188. package/dist/features/converters/lexicalToHtml/sync/converters/tab.d.ts +1 -1
  189. package/dist/features/converters/lexicalToHtml/sync/converters/tab.d.ts.map +1 -1
  190. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  191. package/dist/features/converters/lexicalToHtml/sync/converters/table.d.ts +1 -1
  192. package/dist/features/converters/lexicalToHtml/sync/converters/table.d.ts.map +1 -1
  193. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +1 -1
  194. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  195. package/dist/features/converters/lexicalToHtml/sync/converters/text.d.ts +1 -1
  196. package/dist/features/converters/lexicalToHtml/sync/converters/text.d.ts.map +1 -1
  197. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  198. package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts +1 -1
  199. package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts.map +1 -1
  200. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  201. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.d.ts +1 -1
  202. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.d.ts.map +1 -1
  203. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -1
  204. package/dist/features/converters/lexicalToHtml/sync/types.d.ts +15 -16
  205. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  206. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  207. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +6 -4
  208. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  209. package/dist/features/converters/lexicalToJSX/Component/index.js +5 -4
  210. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  211. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.d.ts +1 -1
  212. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.d.ts.map +1 -1
  213. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -1
  214. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts +1 -1
  215. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  216. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  217. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.d.ts +1 -1
  218. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.d.ts.map +1 -1
  219. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -1
  220. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.d.ts +1 -1
  221. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.d.ts.map +1 -1
  222. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -1
  223. package/dist/features/converters/lexicalToJSX/converter/converters/link.d.ts +1 -1
  224. package/dist/features/converters/lexicalToJSX/converter/converters/link.d.ts.map +1 -1
  225. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -1
  226. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts +1 -1
  227. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  228. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  229. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.d.ts +1 -1
  230. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.d.ts.map +1 -1
  231. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -1
  232. package/dist/features/converters/lexicalToJSX/converter/converters/tab.d.ts +1 -1
  233. package/dist/features/converters/lexicalToJSX/converter/converters/tab.d.ts.map +1 -1
  234. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -1
  235. package/dist/features/converters/lexicalToJSX/converter/converters/table.d.ts +1 -1
  236. package/dist/features/converters/lexicalToJSX/converter/converters/table.d.ts.map +1 -1
  237. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -1
  238. package/dist/features/converters/lexicalToJSX/converter/converters/text.d.ts +1 -1
  239. package/dist/features/converters/lexicalToJSX/converter/converters/text.d.ts.map +1 -1
  240. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -1
  241. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts +1 -1
  242. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -1
  243. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  244. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.d.ts +1 -1
  245. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.d.ts.map +1 -1
  246. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  247. package/dist/features/converters/lexicalToJSX/converter/index.d.ts +1 -1
  248. package/dist/features/converters/lexicalToJSX/converter/index.d.ts.map +1 -1
  249. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  250. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +13 -15
  251. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  252. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  253. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -1
  254. package/dist/features/converters/lexicalToMarkdown/index.js +1 -1
  255. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  256. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  257. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  258. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +13 -15
  259. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -1
  260. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  261. package/dist/features/converters/markdownToLexical/index.d.ts +1 -1
  262. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -1
  263. package/dist/features/converters/markdownToLexical/index.js +5 -2
  264. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  265. package/dist/features/debug/jsxConverter/client/plugin/index.d.ts +1 -1
  266. package/dist/features/debug/jsxConverter/client/plugin/index.d.ts.map +1 -1
  267. package/dist/features/debug/jsxConverter/client/plugin/index.js +1 -0
  268. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  269. package/dist/features/debug/jsxConverter/client/plugin/style.css +9 -0
  270. package/dist/features/debug/testRecorder/client/plugin/index.css +50 -0
  271. package/dist/features/debug/testRecorder/client/plugin/index.d.ts +1 -1
  272. package/dist/features/debug/testRecorder/client/plugin/index.d.ts.map +1 -1
  273. package/dist/features/debug/testRecorder/client/plugin/index.js +1 -0
  274. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  275. package/dist/features/debug/treeView/client/plugin/index.css +81 -0
  276. package/dist/features/debug/treeView/client/plugin/index.d.ts +1 -1
  277. package/dist/features/debug/treeView/client/plugin/index.d.ts.map +1 -1
  278. package/dist/features/debug/treeView/client/plugin/index.js +1 -0
  279. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  280. package/dist/features/format/bold/feature.client.js +1 -1
  281. package/dist/features/format/bold/feature.client.js.map +1 -1
  282. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  283. package/dist/features/format/bold/feature.server.js +1 -1
  284. package/dist/features/format/bold/feature.server.js.map +1 -1
  285. package/dist/features/format/inlineCode/feature.client.js +1 -1
  286. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  287. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  288. package/dist/features/format/inlineCode/feature.server.js +1 -1
  289. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  290. package/dist/features/format/italic/feature.client.js +1 -1
  291. package/dist/features/format/italic/feature.client.js.map +1 -1
  292. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  293. package/dist/features/format/italic/feature.server.js +1 -1
  294. package/dist/features/format/italic/feature.server.js.map +1 -1
  295. package/dist/features/format/strikethrough/feature.client.js +1 -1
  296. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  297. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  298. package/dist/features/format/strikethrough/feature.server.js +1 -1
  299. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  300. package/dist/features/heading/client/index.js +2 -2
  301. package/dist/features/heading/client/index.js.map +1 -1
  302. package/dist/features/heading/markdownTransformer.d.ts +2 -2
  303. package/dist/features/heading/markdownTransformer.d.ts.map +1 -1
  304. package/dist/features/heading/markdownTransformer.js +6 -19
  305. package/dist/features/heading/markdownTransformer.js.map +1 -1
  306. package/dist/features/heading/server/index.d.ts +2 -4
  307. package/dist/features/heading/server/index.d.ts.map +1 -1
  308. package/dist/features/heading/server/index.js +4 -41
  309. package/dist/features/heading/server/index.js.map +1 -1
  310. package/dist/features/heading/server/schema.d.ts +10 -0
  311. package/dist/features/heading/server/schema.d.ts.map +1 -0
  312. package/dist/features/heading/server/schema.js +37 -0
  313. package/dist/features/heading/server/schema.js.map +1 -0
  314. package/dist/features/horizontalRule/client/index.js +2 -2
  315. package/dist/features/horizontalRule/client/index.js.map +1 -1
  316. package/dist/features/horizontalRule/client/markdownTransformer.d.ts +2 -2
  317. package/dist/features/horizontalRule/client/markdownTransformer.d.ts.map +1 -1
  318. package/dist/features/horizontalRule/client/markdownTransformer.js +1 -1
  319. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  320. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +2 -2
  321. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  322. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +1 -1
  323. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  324. package/dist/features/horizontalRule/client/plugin/index.css +25 -0
  325. package/dist/features/horizontalRule/client/plugin/index.d.ts +1 -1
  326. package/dist/features/horizontalRule/client/plugin/index.d.ts.map +1 -1
  327. package/dist/features/horizontalRule/client/plugin/index.js +73 -4
  328. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  329. package/dist/features/horizontalRule/server/index.d.ts +1 -0
  330. package/dist/features/horizontalRule/server/index.d.ts.map +1 -1
  331. package/dist/features/horizontalRule/server/index.js +4 -10
  332. package/dist/features/horizontalRule/server/index.js.map +1 -1
  333. package/dist/features/horizontalRule/server/markdownTransformer.d.ts +2 -2
  334. package/dist/features/horizontalRule/server/markdownTransformer.d.ts.map +1 -1
  335. package/dist/features/horizontalRule/server/markdownTransformer.js +1 -1
  336. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  337. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +2 -6
  338. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  339. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +1 -1
  340. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  341. package/dist/features/horizontalRule/server/schema.d.ts +7 -0
  342. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -0
  343. package/dist/features/horizontalRule/server/schema.js +25 -0
  344. package/dist/features/horizontalRule/server/schema.js.map +1 -0
  345. package/dist/features/link/client/index.d.ts.map +1 -1
  346. package/dist/features/link/client/index.js +2 -2
  347. package/dist/features/link/client/index.js.map +1 -1
  348. package/dist/features/link/client/plugins/autoLink/index.d.ts +1 -1
  349. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  350. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  351. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  352. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +28 -8
  353. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  354. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +107 -0
  355. package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts +1 -1
  356. package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  357. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +1 -0
  358. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  359. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts +1 -1
  360. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts.map +1 -1
  361. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  362. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  363. package/dist/features/link/markdownTransformer.d.ts +5 -5
  364. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  365. package/dist/features/link/markdownTransformer.js +2 -2
  366. package/dist/features/link/markdownTransformer.js.map +1 -1
  367. package/dist/features/link/markdownTransformer.spec.js +10 -10
  368. package/dist/features/link/markdownTransformer.spec.js.map +1 -1
  369. package/dist/features/link/nodes/AutoLinkNode.d.ts +4 -4
  370. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  371. package/dist/features/link/nodes/AutoLinkNode.js +2 -1
  372. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  373. package/dist/features/link/nodes/LinkNode.d.ts +4 -4
  374. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  375. package/dist/features/link/nodes/LinkNode.js +2 -1
  376. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  377. package/dist/features/link/server/baseFields.js.map +1 -1
  378. package/dist/features/link/server/graphQLPopulationPromise.d.ts +1 -1
  379. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -1
  380. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  381. package/dist/features/link/server/index.d.ts +2 -1
  382. package/dist/features/link/server/index.d.ts.map +1 -1
  383. package/dist/features/link/server/index.js +7 -75
  384. package/dist/features/link/server/index.js.map +1 -1
  385. package/dist/features/link/server/schema.d.ts +32 -0
  386. package/dist/features/link/server/schema.d.ts.map +1 -0
  387. package/dist/features/link/server/schema.js +171 -0
  388. package/dist/features/link/server/schema.js.map +1 -0
  389. package/dist/features/link/server/validate.d.ts +1 -1
  390. package/dist/features/link/server/validate.d.ts.map +1 -1
  391. package/dist/features/link/server/validate.js.map +1 -1
  392. package/dist/features/lists/checklist/client/index.js +1 -1
  393. package/dist/features/lists/checklist/client/index.js.map +1 -1
  394. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  395. package/dist/features/lists/checklist/server/index.js +4 -8
  396. package/dist/features/lists/checklist/server/index.js.map +1 -1
  397. package/dist/features/lists/orderedList/client/index.js +1 -1
  398. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  399. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  400. package/dist/features/lists/orderedList/server/index.js +4 -8
  401. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  402. package/dist/features/lists/plugin/index.d.ts +0 -9
  403. package/dist/features/lists/plugin/index.d.ts.map +1 -1
  404. package/dist/features/lists/plugin/index.js.map +1 -1
  405. package/dist/features/lists/shared/schema.d.ts +18 -0
  406. package/dist/features/lists/shared/schema.d.ts.map +1 -0
  407. package/dist/features/lists/shared/schema.js +62 -0
  408. package/dist/features/lists/shared/schema.js.map +1 -0
  409. package/dist/features/lists/unorderedList/client/index.js +1 -1
  410. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  411. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  412. package/dist/features/lists/unorderedList/server/index.js +4 -8
  413. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  414. package/dist/features/relationship/client/components/RelationshipComponent.d.ts +2 -2
  415. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  416. package/dist/features/relationship/client/components/RelationshipComponent.js +29 -4
  417. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  418. package/dist/features/relationship/client/components/index.css +112 -0
  419. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts +1 -1
  420. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  421. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  422. package/dist/features/relationship/client/plugins/index.d.ts +1 -1
  423. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  424. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  425. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  426. package/dist/features/relationship/client/utils/useEnabledRelationships.js +9 -40
  427. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  428. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +1 -1
  429. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  430. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  431. package/dist/features/relationship/server/index.d.ts +1 -0
  432. package/dist/features/relationship/server/index.d.ts.map +1 -1
  433. package/dist/features/relationship/server/index.js +2 -0
  434. package/dist/features/relationship/server/index.js.map +1 -1
  435. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +1 -10
  436. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  437. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  438. package/dist/features/relationship/server/schema.d.ts +28 -0
  439. package/dist/features/relationship/server/schema.d.ts.map +1 -0
  440. package/dist/features/relationship/server/schema.js +97 -0
  441. package/dist/features/relationship/server/schema.js.map +1 -0
  442. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +23 -0
  443. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -0
  444. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +34 -0
  445. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -0
  446. package/dist/features/table/client/index.d.ts.map +1 -0
  447. package/dist/features/{experimental_table → table}/client/index.js +2 -2
  448. package/dist/features/table/client/index.js.map +1 -0
  449. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.css +91 -0
  450. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.d.ts +1 -1
  451. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  452. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.js +3 -2
  453. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  454. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.css +11 -0
  455. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.d.ts +1 -1
  456. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  457. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.js +1 -0
  458. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  459. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  460. package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.js +1 -1
  461. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  462. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.css +166 -0
  463. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts +17 -0
  464. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  465. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js +219 -0
  466. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  467. package/dist/features/table/client/plugins/TablePlugin/index.css +235 -0
  468. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.d.ts +1 -1
  469. package/dist/features/table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  470. package/dist/features/table/client/plugins/TablePlugin/index.js +143 -0
  471. package/dist/features/table/client/plugins/TablePlugin/index.js.map +1 -0
  472. package/dist/features/table/client/utils/debounce.d.ts.map +1 -0
  473. package/dist/features/table/client/utils/debounce.js.map +1 -0
  474. package/dist/features/table/client/utils/useDebounce.d.ts.map +1 -0
  475. package/dist/features/table/client/utils/useDebounce.js.map +1 -0
  476. package/dist/features/table/markdownTransformer.d.ts +5 -0
  477. package/dist/features/table/markdownTransformer.d.ts.map +1 -0
  478. package/dist/features/{experimental_table → table}/markdownTransformer.js +6 -3
  479. package/dist/features/table/markdownTransformer.js.map +1 -0
  480. package/dist/features/table/server/index.d.ts +3 -0
  481. package/dist/features/table/server/index.d.ts.map +1 -0
  482. package/dist/features/table/server/index.js +56 -0
  483. package/dist/features/table/server/index.js.map +1 -0
  484. package/dist/features/table/server/schema.d.ts +27 -0
  485. package/dist/features/table/server/schema.d.ts.map +1 -0
  486. package/dist/features/table/server/schema.js +107 -0
  487. package/dist/features/table/server/schema.js.map +1 -0
  488. package/dist/features/textState/feature.client.js +1 -1
  489. package/dist/features/textState/feature.client.js.map +1 -1
  490. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts +8 -0
  491. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts.map +1 -0
  492. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js +80 -0
  493. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js.map +1 -0
  494. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.spec.js +65 -0
  495. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.spec.js.map +1 -0
  496. package/dist/features/toolbars/fixed/client/Toolbar/index.css +159 -0
  497. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts +1 -1
  498. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  499. package/dist/features/toolbars/fixed/client/Toolbar/index.js +5 -1
  500. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  501. package/dist/features/toolbars/inline/client/Toolbar/index.css +31 -0
  502. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts +1 -1
  503. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  504. package/dist/features/toolbars/inline/client/Toolbar/index.js +1 -0
  505. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  506. package/dist/features/toolbars/shared/ToolbarButton/index.css +57 -0
  507. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts +1 -1
  508. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  509. package/dist/features/toolbars/shared/ToolbarButton/index.js +80 -74
  510. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  511. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  512. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +5 -2
  513. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  514. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +208 -0
  515. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts +1 -1
  516. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  517. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +11 -7
  518. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  519. package/dist/features/toolbars/shared/useToolbarStates.d.ts.map +1 -1
  520. package/dist/features/toolbars/shared/useToolbarStates.js +3 -1
  521. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  522. package/dist/features/toolbars/types.d.ts +5 -1
  523. package/dist/features/toolbars/types.d.ts.map +1 -1
  524. package/dist/features/toolbars/types.js.map +1 -1
  525. package/dist/features/typesClient.d.ts +2 -2
  526. package/dist/features/typesClient.d.ts.map +1 -1
  527. package/dist/features/typesClient.js.map +1 -1
  528. package/dist/features/typesServer.d.ts +20 -60
  529. package/dist/features/typesServer.d.ts.map +1 -1
  530. package/dist/features/typesServer.js.map +1 -1
  531. package/dist/features/upload/client/component/index.css +214 -0
  532. package/dist/features/upload/client/component/index.d.ts +2 -2
  533. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  534. package/dist/features/upload/client/component/index.js +88 -64
  535. package/dist/features/upload/client/component/index.js.map +1 -1
  536. package/dist/features/upload/client/component/pending/index.d.ts +0 -1
  537. package/dist/features/upload/client/component/pending/index.d.ts.map +1 -1
  538. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  539. package/dist/features/upload/client/nodes/UploadNode.d.ts +1 -1
  540. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  541. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  542. package/dist/features/upload/client/plugin/index.d.ts +1 -1
  543. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  544. package/dist/features/upload/client/plugin/index.js +5 -5
  545. package/dist/features/upload/client/plugin/index.js.map +1 -1
  546. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +1 -1
  547. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  548. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  549. package/dist/features/upload/server/index.d.ts +1 -0
  550. package/dist/features/upload/server/index.d.ts.map +1 -1
  551. package/dist/features/upload/server/index.js +7 -84
  552. package/dist/features/upload/server/index.js.map +1 -1
  553. package/dist/features/upload/server/markdownTransformer.d.ts +2 -2
  554. package/dist/features/upload/server/markdownTransformer.d.ts.map +1 -1
  555. package/dist/features/upload/server/markdownTransformer.js +1 -1
  556. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  557. package/dist/features/upload/server/nodes/UploadNode.d.ts +1 -55
  558. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  559. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  560. package/dist/features/upload/server/nodes/conversions.d.ts.map +1 -1
  561. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  562. package/dist/features/upload/server/schema.d.ts +52 -0
  563. package/dist/features/upload/server/schema.d.ts.map +1 -0
  564. package/dist/features/upload/server/schema.js +149 -0
  565. package/dist/features/upload/server/schema.js.map +1 -0
  566. package/dist/features/upload/server/validate.d.ts +1 -1
  567. package/dist/features/upload/server/validate.d.ts.map +1 -1
  568. package/dist/features/upload/server/validate.js.map +1 -1
  569. package/dist/field/Diff/converters/link.d.ts +1 -1
  570. package/dist/field/Diff/converters/link.d.ts.map +1 -1
  571. package/dist/field/Diff/converters/link.js.map +1 -1
  572. package/dist/field/Diff/converters/listitem/index.css +80 -0
  573. package/dist/field/Diff/converters/listitem/index.d.ts +2 -2
  574. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  575. package/dist/field/Diff/converters/listitem/index.js +1 -0
  576. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  577. package/dist/field/Diff/converters/relationship/index.css +108 -0
  578. package/dist/field/Diff/converters/relationship/index.d.ts +2 -2
  579. package/dist/field/Diff/converters/relationship/index.d.ts.map +1 -1
  580. package/dist/field/Diff/converters/relationship/index.js +11 -28
  581. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  582. package/dist/field/Diff/converters/unknown/index.css +37 -0
  583. package/dist/field/Diff/converters/unknown/index.d.ts +1 -1
  584. package/dist/field/Diff/converters/unknown/index.d.ts.map +1 -1
  585. package/dist/field/Diff/converters/unknown/index.js +1 -0
  586. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  587. package/dist/field/Diff/converters/upload/index.css +175 -0
  588. package/dist/field/Diff/converters/upload/index.d.ts +2 -2
  589. package/dist/field/Diff/converters/upload/index.d.ts.map +1 -1
  590. package/dist/field/Diff/converters/upload/index.js +7 -2
  591. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  592. package/dist/field/Diff/index.css +156 -0
  593. package/dist/field/Diff/index.d.ts +1 -1
  594. package/dist/field/Diff/index.d.ts.map +1 -1
  595. package/dist/field/Diff/index.js +1 -0
  596. package/dist/field/Diff/index.js.map +1 -1
  597. package/dist/field/Field.d.ts +3 -3
  598. package/dist/field/Field.d.ts.map +1 -1
  599. package/dist/field/Field.js +30 -26
  600. package/dist/field/Field.js.map +1 -1
  601. package/dist/field/RenderLexical/index.d.ts +2 -2
  602. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  603. package/dist/field/RenderLexical/index.js.map +1 -1
  604. package/dist/field/RichTextViewProvider.d.ts +1 -1
  605. package/dist/field/RichTextViewProvider.d.ts.map +1 -1
  606. package/dist/field/RichTextViewProvider.js.map +1 -1
  607. package/dist/field/ViewSelector.css +32 -0
  608. package/dist/field/ViewSelector.d.ts +1 -1
  609. package/dist/field/ViewSelector.d.ts.map +1 -1
  610. package/dist/field/ViewSelector.js +1 -0
  611. package/dist/field/ViewSelector.js.map +1 -1
  612. package/dist/field/bundled.css +1 -1
  613. package/dist/field/index.css +60 -0
  614. package/dist/field/index.d.ts +1 -1
  615. package/dist/field/index.d.ts.map +1 -1
  616. package/dist/field/index.js +1 -1
  617. package/dist/field/index.js.map +1 -1
  618. package/dist/field/rscEntry.d.ts +1 -1
  619. package/dist/field/rscEntry.d.ts.map +1 -1
  620. package/dist/field/rscEntry.js +2 -0
  621. package/dist/field/rscEntry.js.map +1 -1
  622. package/dist/hooks.d.ts +6 -0
  623. package/dist/hooks.d.ts.map +1 -0
  624. package/dist/hooks.js +548 -0
  625. package/dist/hooks.js.map +1 -0
  626. package/dist/i18n.d.ts.map +1 -1
  627. package/dist/i18n.js +68 -0
  628. package/dist/i18n.js.map +1 -1
  629. package/dist/index.d.ts +14 -20
  630. package/dist/index.d.ts.map +1 -1
  631. package/dist/index.js +16 -633
  632. package/dist/index.js.map +1 -1
  633. package/dist/lexical/LexicalEditor.css +50 -0
  634. package/dist/lexical/LexicalEditor.d.ts +1 -1
  635. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  636. package/dist/lexical/LexicalEditor.js +1 -0
  637. package/dist/lexical/LexicalEditor.js.map +1 -1
  638. package/dist/lexical/LexicalProvider.d.ts +1 -1
  639. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  640. package/dist/lexical/LexicalProvider.js.map +1 -1
  641. package/dist/lexical/config/client/EditorConfigProvider.d.ts +1 -1
  642. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  643. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  644. package/dist/lexical/config/client/loader.d.ts +1 -1
  645. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  646. package/dist/lexical/config/client/loader.js +5 -1
  647. package/dist/lexical/config/client/loader.js.map +1 -1
  648. package/dist/lexical/config/client/sanitize.d.ts +1 -1
  649. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  650. package/dist/lexical/config/client/sanitize.js.map +1 -1
  651. package/dist/lexical/config/server/loader.d.ts +1 -1
  652. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  653. package/dist/lexical/config/server/loader.js +2 -2
  654. package/dist/lexical/config/server/loader.js.map +1 -1
  655. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  656. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  657. package/dist/lexical/config/server/sanitize.js +11 -19
  658. package/dist/lexical/config/server/sanitize.js.map +1 -1
  659. package/dist/lexical/config/types.d.ts +1 -1
  660. package/dist/lexical/config/types.d.ts.map +1 -1
  661. package/dist/lexical/config/types.js.map +1 -1
  662. package/dist/lexical/nodes/index.d.ts +1 -1
  663. package/dist/lexical/nodes/index.d.ts.map +1 -1
  664. package/dist/lexical/nodes/index.js.map +1 -1
  665. package/dist/lexical/plugins/DecoratorPlugin/index.css +11 -0
  666. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts +1 -1
  667. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -1
  668. package/dist/lexical/plugins/DecoratorPlugin/index.js +1 -0
  669. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  670. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +44 -0
  671. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts +1 -1
  672. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  673. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +28 -14
  674. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  675. package/dist/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  676. package/dist/lexical/plugins/MarkdownShortcut/index.js +1 -1
  677. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  678. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts.map +1 -1
  679. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js +21 -0
  680. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +1 -1
  681. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +0 -1
  682. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  683. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +1 -20
  684. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  685. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +1 -1
  686. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  687. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  688. package/dist/lexical/plugins/SlashMenu/index.css +60 -0
  689. package/dist/lexical/plugins/SlashMenu/index.d.ts +1 -1
  690. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  691. package/dist/lexical/plugins/SlashMenu/index.js +2 -0
  692. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  693. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +40 -0
  694. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts +1 -1
  695. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  696. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +1 -0
  697. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  698. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +85 -0
  699. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts +1 -1
  700. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  701. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +16 -9
  702. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  703. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +1 -1
  704. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  705. package/dist/lexical/theme/EditorTheme.css +358 -0
  706. package/dist/lexical/theme/EditorTheme.d.ts.map +1 -1
  707. package/dist/lexical/theme/EditorTheme.js +1 -0
  708. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  709. package/dist/lexical/ui/ContentEditable.css +100 -0
  710. package/dist/lexical/ui/ContentEditable.d.ts +1 -1
  711. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  712. package/dist/lexical/ui/ContentEditable.js +1 -0
  713. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  714. package/dist/lexical/ui/icons/Code/index.js +1 -1
  715. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  716. package/dist/lexical/ui/icons/CodeBlock/index.js +1 -1
  717. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  718. package/dist/lexical/ui/icons/Link/index.js +1 -1
  719. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  720. package/dist/lexical/ui/icons/Page/index.d.ts +5 -0
  721. package/dist/lexical/ui/icons/Page/index.d.ts.map +1 -0
  722. package/dist/lexical/ui/icons/Page/index.js +21 -0
  723. package/dist/lexical/ui/icons/Page/index.js.map +1 -0
  724. package/dist/lexical/ui/icons/Trash/index.d.ts +10 -0
  725. package/dist/lexical/ui/icons/Trash/index.d.ts.map +1 -0
  726. package/dist/lexical/ui/icons/Trash/index.js +29 -0
  727. package/dist/lexical/ui/icons/Trash/index.js.map +1 -0
  728. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts +17 -0
  729. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts.map +1 -0
  730. package/dist/lexical/utils/markdown/convertFromMarkdownString.js +27 -0
  731. package/dist/lexical/utils/markdown/convertFromMarkdownString.js.map +1 -0
  732. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js +88 -0
  733. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js.map +1 -0
  734. package/dist/lexical/utils/markdown/createBlockNode.d.ts +2 -2
  735. package/dist/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  736. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  737. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts +25 -0
  738. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts.map +1 -0
  739. package/dist/lexical/utils/markdown/normalizeMarkdown.js +91 -0
  740. package/dist/lexical/utils/markdown/normalizeMarkdown.js.map +1 -0
  741. package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
  742. package/dist/lexical/utils/point.d.ts.map +1 -1
  743. package/dist/lexical/utils/rect.d.ts.map +1 -1
  744. package/dist/lexical-proxy/@lexical-markdown.d.ts +1 -1
  745. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -1
  746. package/dist/lexical-proxy/@lexical-markdown.js +1 -1
  747. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  748. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts +2 -0
  749. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts.map +1 -0
  750. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js +2 -0
  751. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js.map +1 -0
  752. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts +2 -0
  753. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts.map +1 -0
  754. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js +2 -0
  755. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js.map +1 -0
  756. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts +2 -0
  757. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts.map +1 -0
  758. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js +2 -0
  759. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js.map +1 -0
  760. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts +2 -0
  761. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts.map +1 -0
  762. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js +2 -0
  763. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js.map +1 -0
  764. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts +2 -0
  765. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts.map +1 -0
  766. package/dist/lexical-proxy/@lexical-react/ReactExtension.js +2 -0
  767. package/dist/lexical-proxy/@lexical-react/ReactExtension.js.map +1 -0
  768. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts +2 -0
  769. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts.map +1 -0
  770. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js +2 -0
  771. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js.map +1 -0
  772. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts +2 -0
  773. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts.map +1 -0
  774. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js +2 -0
  775. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js.map +1 -0
  776. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts +2 -0
  777. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts.map +1 -0
  778. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js +2 -0
  779. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js.map +1 -0
  780. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts +2 -0
  781. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts.map +1 -0
  782. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js +2 -0
  783. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js.map +1 -0
  784. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts +2 -0
  785. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts.map +1 -0
  786. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js +2 -0
  787. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js.map +1 -0
  788. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts +2 -0
  789. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts.map +1 -0
  790. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js +2 -0
  791. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js.map +1 -0
  792. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts +2 -0
  793. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts.map +1 -0
  794. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js +2 -0
  795. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js.map +1 -0
  796. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts +2 -0
  797. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts.map +1 -0
  798. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js +2 -0
  799. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js.map +1 -0
  800. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts +2 -0
  801. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts.map +1 -0
  802. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js +2 -0
  803. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js.map +1 -0
  804. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts +2 -0
  805. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts.map +1 -0
  806. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js +2 -0
  807. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js.map +1 -0
  808. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +1 -1
  809. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  810. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  811. package/dist/types/builtInNodes.d.ts +14 -0
  812. package/dist/types/builtInNodes.d.ts.map +1 -0
  813. package/dist/types/builtInNodes.js +203 -0
  814. package/dist/types/builtInNodes.js.map +1 -0
  815. package/dist/{types.d.ts → types/index.d.ts} +26 -27
  816. package/dist/types/index.d.ts.map +1 -0
  817. package/dist/types/index.js +2 -0
  818. package/dist/types/index.js.map +1 -0
  819. package/dist/types/jsonSchemaHelpers.d.ts +30 -0
  820. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -0
  821. package/dist/types/jsonSchemaHelpers.js +58 -0
  822. package/dist/types/jsonSchemaHelpers.js.map +1 -0
  823. package/dist/types/nodeTypes.d.ts +128 -0
  824. package/dist/types/nodeTypes.d.ts.map +1 -0
  825. package/dist/types/nodeTypes.js +6 -0
  826. package/dist/types/nodeTypes.js.map +1 -0
  827. package/dist/types/schema.d.ts +6 -0
  828. package/dist/types/schema.d.ts.map +1 -0
  829. package/dist/types/schema.js +90 -0
  830. package/dist/types/schema.js.map +1 -0
  831. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  832. package/dist/utilities/applyBaseFilterToFields.js +1 -2
  833. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  834. package/dist/utilities/buildEditorState.d.ts +18 -4
  835. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  836. package/dist/utilities/buildEditorState.js +8 -0
  837. package/dist/utilities/buildEditorState.js.map +1 -1
  838. package/dist/utilities/buildInitialState.d.ts +2 -1
  839. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  840. package/dist/utilities/buildInitialState.js.map +1 -1
  841. package/dist/utilities/createClientFeature.d.ts +1 -1
  842. package/dist/utilities/createClientFeature.d.ts.map +1 -1
  843. package/dist/utilities/createClientFeature.js.map +1 -1
  844. package/dist/utilities/createServerFeature.d.ts +1 -1
  845. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  846. package/dist/utilities/createServerFeature.js +2 -2
  847. package/dist/utilities/createServerFeature.js.map +1 -1
  848. package/dist/utilities/editorConfigFactory.d.ts +7 -7
  849. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  850. package/dist/utilities/editorConfigFactory.js +9 -9
  851. package/dist/utilities/editorConfigFactory.js.map +1 -1
  852. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  853. package/dist/utilities/fieldsDrawer/Drawer.js +19 -10
  854. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  855. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts +4 -1
  856. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  857. package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -7
  858. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  859. package/dist/utilities/fieldsDrawer/index.css +12 -0
  860. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +29 -0
  861. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -0
  862. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js +97 -0
  863. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js.map +1 -0
  864. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts +1 -0
  865. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -1
  866. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +34 -18
  867. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  868. package/dist/utilities/generateImportMap.d.ts +2 -2
  869. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  870. package/dist/utilities/generateImportMap.js.map +1 -1
  871. package/dist/utilities/generateSchemaMap.d.ts +1 -1
  872. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts +2 -2
  873. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  874. package/dist/utilities/getDefaultSanitizedEditorConfig.js +6 -17
  875. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  876. package/dist/utilities/initLexicalFeatures.d.ts +1 -1
  877. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
  878. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  879. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +1 -1
  880. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  881. package/package.json +101 -32
  882. package/dist/exports/client/Field-NXLXFFLW.js +0 -2
  883. package/dist/exports/client/Field-NXLXFFLW.js.map +0 -7
  884. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js +0 -2
  885. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js.map +0 -7
  886. package/dist/exports/client/chunk-BZZVLW4U.js.map +0 -7
  887. package/dist/exports/client/chunk-DZDHVMML.js +0 -2
  888. package/dist/exports/client/chunk-DZDHVMML.js.map +0 -7
  889. package/dist/exports/client/chunk-F26IQ5RE.js +0 -2
  890. package/dist/exports/client/chunk-F26IQ5RE.js.map +0 -7
  891. package/dist/exports/client/chunk-FTT5KJ6W.js +0 -12
  892. package/dist/exports/client/chunk-FTT5KJ6W.js.map +0 -7
  893. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  894. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  895. package/dist/exports/client/chunk-QJ5EETIB.js +0 -2
  896. package/dist/exports/client/chunk-QJ5EETIB.js.map +0 -7
  897. package/dist/exports/client/component-XIHC3W6W.js +0 -2
  898. package/dist/exports/client/component-XIHC3W6W.js.map +0 -7
  899. package/dist/exports/client/componentInline-LCHKRXOV.js +0 -2
  900. package/dist/features/blockquote/markdownTransformer.d.ts +0 -3
  901. package/dist/features/blockquote/markdownTransformer.d.ts.map +0 -1
  902. package/dist/features/blockquote/markdownTransformer.js +0 -33
  903. package/dist/features/blockquote/markdownTransformer.js.map +0 -1
  904. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.d.ts +0 -4
  905. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.d.ts.map +0 -1
  906. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js +0 -7
  907. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +0 -1
  908. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.d.ts +0 -4
  909. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.d.ts.map +0 -1
  910. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js +0 -38
  911. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +0 -1
  912. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.d.ts +0 -4
  913. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.d.ts.map +0 -1
  914. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js +0 -9
  915. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +0 -1
  916. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.d.ts +0 -4
  917. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.d.ts.map +0 -1
  918. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js +0 -33
  919. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +0 -1
  920. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.d.ts +0 -6
  921. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.d.ts.map +0 -1
  922. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js +0 -9
  923. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +0 -1
  924. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.d.ts +0 -70
  925. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.d.ts.map +0 -1
  926. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js +0 -104
  927. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +0 -1
  928. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.d.ts +0 -27
  929. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.d.ts.map +0 -1
  930. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js +0 -2
  931. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +0 -1
  932. package/dist/features/converters/lexicalToHtml_deprecated/field/index.d.ts +0 -39
  933. package/dist/features/converters/lexicalToHtml_deprecated/field/index.d.ts.map +0 -1
  934. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js +0 -122
  935. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +0 -1
  936. package/dist/features/converters/lexicalToHtml_deprecated/index.d.ts +0 -12
  937. package/dist/features/converters/lexicalToHtml_deprecated/index.d.ts.map +0 -1
  938. package/dist/features/converters/lexicalToHtml_deprecated/index.js +0 -11
  939. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +0 -1
  940. package/dist/features/experimental_table/client/index.d.ts.map +0 -1
  941. package/dist/features/experimental_table/client/index.js.map +0 -1
  942. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  943. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +0 -1
  944. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  945. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +0 -1
  946. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +0 -1
  947. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +0 -1
  948. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +0 -1
  949. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +0 -152
  950. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +0 -1
  951. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +0 -1
  952. package/dist/features/experimental_table/client/utils/debounce.js.map +0 -1
  953. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +0 -1
  954. package/dist/features/experimental_table/client/utils/useDebounce.js.map +0 -1
  955. package/dist/features/experimental_table/markdownTransformer.d.ts +0 -5
  956. package/dist/features/experimental_table/markdownTransformer.d.ts.map +0 -1
  957. package/dist/features/experimental_table/markdownTransformer.js.map +0 -1
  958. package/dist/features/experimental_table/server/index.d.ts +0 -8
  959. package/dist/features/experimental_table/server/index.d.ts.map +0 -1
  960. package/dist/features/experimental_table/server/index.js +0 -154
  961. package/dist/features/experimental_table/server/index.js.map +0 -1
  962. package/dist/features/format/bold/markdownTransformers.d.ts +0 -6
  963. package/dist/features/format/bold/markdownTransformers.d.ts.map +0 -1
  964. package/dist/features/format/bold/markdownTransformers.js +0 -23
  965. package/dist/features/format/bold/markdownTransformers.js.map +0 -1
  966. package/dist/features/format/inlineCode/markdownTransformers.d.ts +0 -3
  967. package/dist/features/format/inlineCode/markdownTransformers.d.ts.map +0 -1
  968. package/dist/features/format/inlineCode/markdownTransformers.js +0 -6
  969. package/dist/features/format/inlineCode/markdownTransformers.js.map +0 -1
  970. package/dist/features/format/italic/markdownTransformers.d.ts +0 -4
  971. package/dist/features/format/italic/markdownTransformers.d.ts.map +0 -1
  972. package/dist/features/format/italic/markdownTransformers.js +0 -12
  973. package/dist/features/format/italic/markdownTransformers.js.map +0 -1
  974. package/dist/features/format/strikethrough/markdownTransformers.d.ts +0 -3
  975. package/dist/features/format/strikethrough/markdownTransformers.d.ts.map +0 -1
  976. package/dist/features/format/strikethrough/markdownTransformers.js +0 -6
  977. package/dist/features/format/strikethrough/markdownTransformers.js.map +0 -1
  978. package/dist/features/link/nodes/types.d.ts +0 -27
  979. package/dist/features/link/nodes/types.d.ts.map +0 -1
  980. package/dist/features/link/nodes/types.js +0 -2
  981. package/dist/features/link/nodes/types.js.map +0 -1
  982. package/dist/features/lists/checklist/markdownTransformers.d.ts +0 -3
  983. package/dist/features/lists/checklist/markdownTransformers.d.ts.map +0 -1
  984. package/dist/features/lists/checklist/markdownTransformers.js +0 -12
  985. package/dist/features/lists/checklist/markdownTransformers.js.map +0 -1
  986. package/dist/features/lists/htmlConverter.d.ts +0 -5
  987. package/dist/features/lists/htmlConverter.d.ts.map +0 -1
  988. package/dist/features/lists/htmlConverter.js +0 -81
  989. package/dist/features/lists/htmlConverter.js.map +0 -1
  990. package/dist/features/lists/orderedList/markdownTransformer.d.ts +0 -3
  991. package/dist/features/lists/orderedList/markdownTransformer.d.ts.map +0 -1
  992. package/dist/features/lists/orderedList/markdownTransformer.js +0 -12
  993. package/dist/features/lists/orderedList/markdownTransformer.js.map +0 -1
  994. package/dist/features/lists/shared/markdown.d.ts +0 -6
  995. package/dist/features/lists/shared/markdown.d.ts.map +0 -1
  996. package/dist/features/lists/shared/markdown.js +0 -57
  997. package/dist/features/lists/shared/markdown.js.map +0 -1
  998. package/dist/features/lists/unorderedList/markdownTransformer.d.ts +0 -3
  999. package/dist/features/lists/unorderedList/markdownTransformer.d.ts.map +0 -1
  1000. package/dist/features/lists/unorderedList/markdownTransformer.js +0 -12
  1001. package/dist/features/lists/unorderedList/markdownTransformer.js.map +0 -1
  1002. package/dist/lexical/utils/guard.d.ts +0 -5
  1003. package/dist/lexical/utils/guard.d.ts.map +0 -1
  1004. package/dist/lexical/utils/guard.js +0 -9
  1005. package/dist/lexical/utils/guard.js.map +0 -1
  1006. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +0 -2
  1007. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +0 -1
  1008. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -2
  1009. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +0 -1
  1010. package/dist/nodeTypes.d.ts +0 -74
  1011. package/dist/nodeTypes.d.ts.map +0 -1
  1012. package/dist/nodeTypes.js +0 -5
  1013. package/dist/nodeTypes.js.map +0 -1
  1014. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts +0 -14
  1015. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts.map +0 -1
  1016. package/dist/packages/@lexical/markdown/MarkdownExport.js +0 -213
  1017. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +0 -1
  1018. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts +0 -19
  1019. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts.map +0 -1
  1020. package/dist/packages/@lexical/markdown/MarkdownImport.js +0 -198
  1021. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +0 -1
  1022. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts +0 -11
  1023. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts.map +0 -1
  1024. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +0 -304
  1025. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +0 -1
  1026. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts +0 -147
  1027. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts.map +0 -1
  1028. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +0 -268
  1029. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +0 -1
  1030. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts +0 -22
  1031. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts.map +0 -1
  1032. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +0 -91
  1033. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +0 -1
  1034. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts +0 -21
  1035. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts.map +0 -1
  1036. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +0 -54
  1037. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +0 -1
  1038. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts +0 -18
  1039. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts.map +0 -1
  1040. package/dist/packages/@lexical/markdown/importTextTransformers.js +0 -54
  1041. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +0 -1
  1042. package/dist/packages/@lexical/markdown/index.d.ts +0 -29
  1043. package/dist/packages/@lexical/markdown/index.d.ts.map +0 -1
  1044. package/dist/packages/@lexical/markdown/index.js +0 -39
  1045. package/dist/packages/@lexical/markdown/index.js.map +0 -1
  1046. package/dist/packages/@lexical/markdown/utils.d.ts +0 -34
  1047. package/dist/packages/@lexical/markdown/utils.d.ts.map +0 -1
  1048. package/dist/packages/@lexical/markdown/utils.js +0 -267
  1049. package/dist/packages/@lexical/markdown/utils.js.map +0 -1
  1050. package/dist/types.d.ts.map +0 -1
  1051. package/dist/types.js +0 -2
  1052. package/dist/types.js.map +0 -1
  1053. /package/dist/exports/client/{componentInline-LCHKRXOV.js.map → componentInline-H24N7GUG.js.map} +0 -0
  1054. /package/dist/features/{experimental_table → table}/client/index.d.ts +0 -0
  1055. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.d.ts +0 -0
  1056. /package/dist/features/{experimental_table → table}/client/utils/debounce.d.ts +0 -0
  1057. /package/dist/features/{experimental_table → table}/client/utils/debounce.js +0 -0
  1058. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.d.ts +0 -0
  1059. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.js +0 -0
@@ -2,11 +2,13 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
5
- import { $insertNodeToNearestRoot } from '@lexical/utils';
6
- import { $getSelection, $isRangeSelection, COMMAND_PRIORITY_EDITOR } from 'lexical';
5
+ import { $findMatchingParent, $insertNodeToNearestRoot } from '@lexical/utils';
6
+ import { $getRoot, $getSelection, $isRangeSelection, $isRootOrShadowRoot, COMMAND_PRIORITY_EDITOR } from 'lexical';
7
7
  import { useEffect } from 'react';
8
8
  import { INSERT_HORIZONTAL_RULE_COMMAND } from '../../server/nodes/HorizontalRuleNode.js';
9
- import { $createHorizontalRuleNode } from '../nodes/HorizontalRuleNode.js';
9
+ import { $createHorizontalRuleNode, $isHorizontalRuleNode } from '../nodes/HorizontalRuleNode.js';
10
+ import './index.css';
11
+ const HR_SELECTED_CLASS = 'LexicalEditorTheme__hrSelected';
10
12
  /**
11
13
  * Registers the INSERT_HORIZONTAL_RULE_COMMAND lexical command and defines the behavior for when it is called.
12
14
  */
@@ -16,7 +18,68 @@ export const HorizontalRulePlugin = () => {
16
18
  let t0;
17
19
  let t1;
18
20
  if ($[0] !== editor) {
19
- t0 = () => editor.registerCommand(INSERT_HORIZONTAL_RULE_COMMAND, _temp, COMMAND_PRIORITY_EDITOR);
21
+ t0 = () => {
22
+ const unregisterCommand = editor.registerCommand(INSERT_HORIZONTAL_RULE_COMMAND, _temp, COMMAND_PRIORITY_EDITOR);
23
+ const unregisterUpdateListener = editor.registerUpdateListener(t2 => {
24
+ const {
25
+ editorState
26
+ } = t2;
27
+ editorState.read(() => {
28
+ const root = $getRoot();
29
+ const children = root.getChildren();
30
+ const selection_0 = $getSelection();
31
+ const hrEntries = [];
32
+ for (let i = 0; i < children.length; i++) {
33
+ const child = children[i];
34
+ if ($isHorizontalRuleNode(child)) {
35
+ const element = editor.getElementByKey(child.getKey());
36
+ if (element) {
37
+ hrEntries.push({
38
+ element,
39
+ index: i
40
+ });
41
+ }
42
+ }
43
+ }
44
+ if (hrEntries.length === 0) {
45
+ return;
46
+ }
47
+ if (!$isRangeSelection(selection_0) || selection_0.isCollapsed()) {
48
+ for (const {
49
+ element: element_0
50
+ } of hrEntries) {
51
+ element_0.classList.remove(HR_SELECTED_CLASS);
52
+ }
53
+ return;
54
+ }
55
+ const anchorNode = selection_0.anchor.getNode();
56
+ const focusNode_0 = selection_0.focus.getNode();
57
+ const anchorTopLevel = $findMatchingParent(anchorNode, _temp2) || anchorNode;
58
+ const focusTopLevel = $findMatchingParent(focusNode_0, _temp3) || focusNode_0;
59
+ const anchorIdx = children.indexOf(anchorTopLevel);
60
+ const focusIdx = children.indexOf(focusTopLevel);
61
+ if (anchorIdx === -1 || focusIdx === -1) {
62
+ return;
63
+ }
64
+ const startIdx = Math.min(anchorIdx, focusIdx);
65
+ const endIdx = Math.max(anchorIdx, focusIdx);
66
+ for (const {
67
+ element: element_1,
68
+ index
69
+ } of hrEntries) {
70
+ if (index >= startIdx && index <= endIdx) {
71
+ element_1.classList.add(HR_SELECTED_CLASS);
72
+ } else {
73
+ element_1.classList.remove(HR_SELECTED_CLASS);
74
+ }
75
+ }
76
+ });
77
+ });
78
+ return () => {
79
+ unregisterCommand();
80
+ unregisterUpdateListener();
81
+ };
82
+ };
20
83
  t1 = [editor];
21
84
  $[0] = editor;
22
85
  $[1] = t0;
@@ -40,4 +103,10 @@ function _temp(type) {
40
103
  }
41
104
  return true;
42
105
  }
106
+ function _temp2(n) {
107
+ return $isRootOrShadowRoot(n.getParent());
108
+ }
109
+ function _temp3(n_0) {
110
+ return $isRootOrShadowRoot(n_0.getParent());
111
+ }
43
112
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$insertNodeToNearestRoot","$getSelection","$isRangeSelection","COMMAND_PRIORITY_EDITOR","useEffect","INSERT_HORIZONTAL_RULE_COMMAND","$createHorizontalRuleNode","HorizontalRulePlugin","$","editor","t0","t1","registerCommand","_temp","type","selection","focusNode","focus","getNode","horizontalRuleNode"],"sources":["../../../../../src/features/horizontalRule/client/plugin/index.tsx"],"sourcesContent":["'use client'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot } from '@lexical/utils'\nimport { $getSelection, $isRangeSelection, COMMAND_PRIORITY_EDITOR } from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\n\nimport { INSERT_HORIZONTAL_RULE_COMMAND } from '../../server/nodes/HorizontalRuleNode.js'\nimport { $createHorizontalRuleNode } from '../nodes/HorizontalRuleNode.js'\nimport './index.scss'\n\n/**\n * Registers the INSERT_HORIZONTAL_RULE_COMMAND lexical command and defines the behavior for when it is called.\n */\nexport const HorizontalRulePlugin: PluginComponent<undefined> = () => {\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n return editor.registerCommand(\n INSERT_HORIZONTAL_RULE_COMMAND,\n (type) => {\n const selection = $getSelection()\n\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n const focusNode = selection.focus.getNode()\n\n if (focusNode !== null) {\n const horizontalRuleNode = $createHorizontalRuleNode()\n $insertNodeToNearestRoot(horizontalRuleNode)\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,wBAAwB,QAAQ;AACzC,SAASC,aAAa,EAAEC,iBAAiB,EAAEC,uBAAuB,QAAQ;AAC1E,SAASC,SAAS,QAAQ;AAI1B,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,yBAAyB,QAAQ;AAG1C;;;AAGA,OAAO,MAAMC,oBAAA,GAAmDA,CAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAC9D,OAAAW,MAAA,IAAiBV,yBAAA;EAAA,IAAAW,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAH,CAAA,QAAAC,MAAA;IAEPC,EAAA,GAAAA,CAAA,KACDD,MAAA,CAAAG,eAAA,CAAAP,8BAAA,EAAAQ,KAAA,EAAAV,uBAkBL;IAEDQ,EAAA,IAACF,MAAA;IAAOD,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAE,EAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAD,EAAA,GAAAF,CAAA;IAAAG,EAAA,GAAAH,CAAA;EAAA;EArBXJ,SAAA,CAAUM,EAqBV,EAAGC,EAAQ;EAAA;AAAA,CAGb;AA3BgE,SAAAE,MAAAC,IAAA;EAOxD,MAAAC,SAAA,GAAkBd,aAAA;EAAA,KAEbC,iBAAA,CAAkBa,SAAA;IAAA;EAAA;EAIvB,MAAAC,SAAA,GAAkBD,SAAA,CAAAE,KAAA,CAAAC,OAAA,CAAuB;EAAA,IAErCF,SAAA,SAAc;IAChB,MAAAG,kBAAA,GAA2Bb,yBAAA;IAC3BN,wBAAA,CAAyBmB,kBAAA;EAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$findMatchingParent","$insertNodeToNearestRoot","$getRoot","$getSelection","$isRangeSelection","$isRootOrShadowRoot","COMMAND_PRIORITY_EDITOR","useEffect","INSERT_HORIZONTAL_RULE_COMMAND","$createHorizontalRuleNode","$isHorizontalRuleNode","HR_SELECTED_CLASS","HorizontalRulePlugin","$","editor","t0","t1","unregisterCommand","registerCommand","_temp","unregisterUpdateListener","registerUpdateListener","t2","editorState","read","root","children","getChildren","selection_0","hrEntries","i","length","child","element","getElementByKey","getKey","push","index","selection","isCollapsed","element_0","classList","remove","anchorNode","anchor","getNode","focusNode_0","focus","anchorTopLevel","_temp2","focusTopLevel","focusNode","_temp3","anchorIdx","indexOf","focusIdx","startIdx","Math","min","endIdx","max","element_1","add","type","horizontalRuleNode","n","getParent","n_0"],"sources":["../../../../../src/features/horizontalRule/client/plugin/index.tsx"],"sourcesContent":["'use client'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $findMatchingParent, $insertNodeToNearestRoot } from '@lexical/utils'\nimport {\n $getRoot,\n $getSelection,\n $isRangeSelection,\n $isRootOrShadowRoot,\n COMMAND_PRIORITY_EDITOR,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\n\nimport { INSERT_HORIZONTAL_RULE_COMMAND } from '../../server/nodes/HorizontalRuleNode.js'\nimport { $createHorizontalRuleNode, $isHorizontalRuleNode } from '../nodes/HorizontalRuleNode.js'\nimport './index.css'\n\nconst HR_SELECTED_CLASS = 'LexicalEditorTheme__hrSelected'\n\n/**\n * Registers the INSERT_HORIZONTAL_RULE_COMMAND lexical command and defines the behavior for when it is called.\n */\nexport const HorizontalRulePlugin: PluginComponent<undefined> = () => {\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n const unregisterCommand = editor.registerCommand(\n INSERT_HORIZONTAL_RULE_COMMAND,\n (type) => {\n const selection = $getSelection()\n\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n const focusNode = selection.focus.getNode()\n\n if (focusNode !== null) {\n const horizontalRuleNode = $createHorizontalRuleNode()\n $insertNodeToNearestRoot(horizontalRuleNode)\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n\n const unregisterUpdateListener = editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n const root = $getRoot()\n const children = root.getChildren()\n const selection = $getSelection()\n\n // Collect all HR nodes and their elements\n const hrEntries: Array<{ element: HTMLElement; index: number }> = []\n for (let i = 0; i < children.length; i++) {\n const child = children[i]\n if ($isHorizontalRuleNode(child)) {\n const element = editor.getElementByKey(child.getKey())\n if (element) {\n hrEntries.push({ element, index: i })\n }\n }\n }\n\n if (hrEntries.length === 0) {\n return\n }\n\n if (!$isRangeSelection(selection) || selection.isCollapsed()) {\n // Remove range-selection highlighting from all HRs\n for (const { element } of hrEntries) {\n element.classList.remove(HR_SELECTED_CLASS)\n }\n return\n }\n\n const anchorNode = selection.anchor.getNode()\n const focusNode = selection.focus.getNode()\n\n const anchorTopLevel =\n $findMatchingParent(anchorNode, (n) => $isRootOrShadowRoot(n.getParent())) || anchorNode\n const focusTopLevel =\n $findMatchingParent(focusNode, (n) => $isRootOrShadowRoot(n.getParent())) || focusNode\n\n const anchorIdx = children.indexOf(anchorTopLevel)\n const focusIdx = children.indexOf(focusTopLevel)\n\n if (anchorIdx === -1 || focusIdx === -1) {\n return\n }\n\n const startIdx = Math.min(anchorIdx, focusIdx)\n const endIdx = Math.max(anchorIdx, focusIdx)\n\n for (const { element, index } of hrEntries) {\n if (index >= startIdx && index <= endIdx) {\n element.classList.add(HR_SELECTED_CLASS)\n } else {\n element.classList.remove(HR_SELECTED_CLASS)\n }\n }\n })\n })\n\n return () => {\n unregisterCommand()\n unregisterUpdateListener()\n }\n }, [editor])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,mBAAmB,EAAEC,wBAAwB,QAAQ;AAC9D,SACEC,QAAQ,EACRC,aAAa,EACbC,iBAAiB,EACjBC,mBAAmB,EACnBC,uBAAuB,QAClB;AACP,SAASC,SAAS,QAAQ;AAI1B,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,yBAAyB,EAAEC,qBAAqB,QAAQ;AACjE,OAAO;AAEP,MAAMC,iBAAA,GAAoB;AAE1B;;;AAGA,OAAO,MAAMC,oBAAA,GAAmDA,CAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAC9D,OAAAgB,MAAA,IAAiBf,yBAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAH,CAAA,QAAAC,MAAA;IAEPC,EAAA,GAAAA,CAAA;MACR,MAAAE,iBAAA,GAA0BH,MAAA,CAAAI,eAAA,CAAAV,8BAAA,EAAAW,KAAA,EAAAb,uBAkBxB;MAGF,MAAAc,wBAAA,GAAiCN,MAAA,CAAAO,sBAAA,CAAAC,EAAA;QAA+B;UAAAC;QAAA,IAAAD,EAAe;QAC7EC,WAAA,CAAAC,IAAA;UACE,MAAAC,IAAA,GAAavB,QAAA;UACb,MAAAwB,QAAA,GAAiBD,IAAA,CAAAE,WAAA,CAAgB;UACjC,MAAAC,WAAA,GAAkBzB,aAAA;UAGlB,MAAA0B,SAAA;UAAoE,SAAAC,CAAA,MACpDA,CAAA,GAAIJ,QAAA,CAAAK,MAAe,EAAED,CAAA;YACnC,MAAAE,KAAA,GAAcN,QAAQ,CAACI,CAAA;YAAE,IACrBpB,qBAAA,CAAsBsB,KAAA;cACxB,MAAAC,OAAA,GAAgBnB,MAAA,CAAAoB,eAAA,CAAuBF,KAAA,CAAAG,MAAA,CAAY;cAAA,IAC/CF,OAAA;gBACFJ,SAAA,CAAAO,IAAA;kBAAAH,OAAA;kBAAAI,KAAA,EAAiCP;gBAAA,CAAE;cAAA;YAAA;UAAA;UAAA,IAKrCD,SAAA,CAAAE,MAAA,MAAqB;YAAA;UAAA;UAAA,IAIrB,CAAC3B,iBAAA,CAAkBkC,WAAA,KAAcA,WAAA,CAAAC,WAAA,CAAqB;YAAA,KAEnD;cAAAN,OAAA,EAAAO;YAAA,CAAiB,IAAIX,SAAA;cACxBI,SAAA,CAAAQ,SAAA,CAAAC,MAAA,CAAA/B,iBAAyB;YAAA;YAAA;UAAA;UAK7B,MAAAgC,UAAA,GAAmBL,WAAA,CAAAM,MAAA,CAAAC,OAAA,CAAwB;UAC3C,MAAAC,WAAA,GAAkBR,WAAA,CAAAS,KAAA,CAAAF,OAAA,CAAuB;UAEzC,MAAAG,cAAA,GACEhD,mBAAA,CAAoB2C,UAAA,EAAAM,MAAkD,KAAQN,UAAA;UAChF,MAAAO,aAAA,GACElD,mBAAA,CAAoBmD,WAAA,EAAAC,MAAiD,KAAQD,WAAA;UAE/E,MAAAE,SAAA,GAAkB3B,QAAA,CAAA4B,OAAA,CAAiBN,cAAA;UACnC,MAAAO,QAAA,GAAiB7B,QAAA,CAAA4B,OAAA,CAAiBJ,aAAA;UAAA,IAE9BG,SAAA,OAAe,IAAKE,QAAA,OAAc;YAAA;UAAA;UAItC,MAAAC,QAAA,GAAiBC,IAAA,CAAAC,GAAA,CAASL,SAAA,EAAWE,QAAA;UACrC,MAAAI,MAAA,GAAeF,IAAA,CAAAG,GAAA,CAASP,SAAA,EAAWE,QAAA;UAAA,KAE9B;YAAAtB,OAAA,EAAA4B,SAAA;YAAAxB;UAAA,CAAwB,IAAIR,SAAA;YAAA,IAC3BQ,KAAA,IAASmB,QAAA,IAAYnB,KAAA,IAASsB,MAAA;cAChC1B,SAAA,CAAAQ,SAAA,CAAAqB,GAAA,CAAAnD,iBAAsB;YAAA;cAEtBsB,SAAA,CAAAQ,SAAA,CAAAC,MAAA,CAAA/B,iBAAyB;YAAA;UAAA;QAAA,CAG/B;MAAA,CACF;MAAA;QAGEM,iBAAA;QACAG,wBAAA;MAAA;IAAA;IAEDJ,EAAA,IAACF,MAAA;IAAOD,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAE,EAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAD,EAAA,GAAAF,CAAA;IAAAG,EAAA,GAAAH,CAAA;EAAA;EApFXN,SAAA,CAAUQ,EAoFV,EAAGC,EAAQ;EAAA;AAAA,CAGb;AA1FgE,SAAAG,MAAA4C,IAAA;EAOxD,MAAAzB,SAAA,GAAkBnC,aAAA;EAAA,KAEbC,iBAAA,CAAkBkC,SAAA;IAAA;EAAA;EAIvB,MAAAa,SAAA,GAAkBb,SAAA,CAAAS,KAAA,CAAAF,OAAA,CAAuB;EAAA,IAErCM,SAAA,SAAc;IAChB,MAAAa,kBAAA,GAA2BvD,yBAAA;IAC3BR,wBAAA,CAAyB+D,kBAAA;EAAA;EAAA;AAAA;AAjB6B,SAAAf,OAAAgB,CAAA;EAAA,OA2Df5D,mBAAA,CAAoB4D,CAAA,CAAAC,SAAA,CAAW;AAAA;AA3DhB,SAAAd,OAAAe,GAAA;EAAA,OA6DhB9D,mBAAA,CAAoB4D,GAAA,CAAAC,SAAA,CAAW;AAAA","ignoreList":[]}
@@ -1,2 +1,3 @@
1
+ export type { SerializedHorizontalRuleNode } from './schema.js';
1
2
  export declare const HorizontalRuleFeature: import("../../typesServer.js").FeatureProviderProviderServer<undefined, undefined, undefined>;
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/horizontalRule/server/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,+FAoBhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/horizontalRule/server/index.ts"],"names":[],"mappings":"AAOA,YAAY,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,qBAAqB,+FAahC,CAAA"}
@@ -1,22 +1,16 @@
1
1
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
2
2
  import { createNode } from '../../typeUtilities.js';
3
3
  import { i18n } from './i18n.js';
4
- import { MarkdownTransformer } from './markdownTransformer.js';
4
+ import { PAYLOAD_HORIZONTAL_RULE } from './markdownTransformer.js';
5
5
  import { HorizontalRuleServerNode } from './nodes/HorizontalRuleNode.js';
6
+ import { horizontalRuleNodeJSONSchema } from './schema.js';
6
7
  export const HorizontalRuleFeature = createServerFeature({
7
8
  feature: {
8
9
  ClientFeature: '@payloadcms/richtext-lexical/client#HorizontalRuleFeatureClient',
9
10
  i18n,
10
- markdownTransformers: [MarkdownTransformer],
11
+ markdownTransformers: [PAYLOAD_HORIZONTAL_RULE],
11
12
  nodes: [createNode({
12
- converters: {
13
- html: {
14
- converter: () => {
15
- return `<hr/>`;
16
- },
17
- nodeTypes: [HorizontalRuleServerNode.getType()]
18
- }
19
- },
13
+ jsonSchema: horizontalRuleNodeJSONSchema,
20
14
  node: HorizontalRuleServerNode
21
15
  })]
22
16
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createServerFeature","createNode","i18n","MarkdownTransformer","HorizontalRuleServerNode","HorizontalRuleFeature","feature","ClientFeature","markdownTransformers","nodes","converters","html","converter","nodeTypes","getType","node","key"],"sources":["../../../../src/features/horizontalRule/server/index.ts"],"sourcesContent":["import { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\nimport { HorizontalRuleServerNode } from './nodes/HorizontalRuleNode.js'\n\nexport const HorizontalRuleFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#HorizontalRuleFeatureClient',\n i18n,\n markdownTransformers: [MarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: () => {\n return `<hr/>`\n },\n nodeTypes: [HorizontalRuleServerNode.getType()],\n },\n },\n node: HorizontalRuleServerNode,\n }),\n ],\n },\n key: 'horizontalRule',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,IAAI,QAAQ;AACrB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,wBAAwB,QAAQ;AAEzC,OAAO,MAAMC,qBAAA,GAAwBL,mBAAA,CAAoB;EACvDM,OAAA,EAAS;IACPC,aAAA,EAAe;IACfL,IAAA;IACAM,oBAAA,EAAsB,CAACL,mBAAA,CAAoB;IAC3CM,KAAA,EAAO,CACLR,UAAA,CAAW;MACTS,UAAA,EAAY;QACVC,IAAA,EAAM;UACJC,SAAA,EAAWA,CAAA;YACT,OAAO,OAAO;UAChB;UACAC,SAAA,EAAW,CAACT,wBAAA,CAAyBU,OAAO;QAC9C;MACF;MACAC,IAAA,EAAMX;IACR;EAEJ;EACAY,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createServerFeature","createNode","i18n","PAYLOAD_HORIZONTAL_RULE","HorizontalRuleServerNode","horizontalRuleNodeJSONSchema","HorizontalRuleFeature","feature","ClientFeature","markdownTransformers","nodes","jsonSchema","node","key"],"sources":["../../../../src/features/horizontalRule/server/index.ts"],"sourcesContent":["import { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { PAYLOAD_HORIZONTAL_RULE } from './markdownTransformer.js'\nimport { HorizontalRuleServerNode } from './nodes/HorizontalRuleNode.js'\nimport { horizontalRuleNodeJSONSchema } from './schema.js'\n\nexport type { SerializedHorizontalRuleNode } from './schema.js'\n\nexport const HorizontalRuleFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#HorizontalRuleFeatureClient',\n i18n,\n markdownTransformers: [PAYLOAD_HORIZONTAL_RULE],\n nodes: [\n createNode({\n jsonSchema: horizontalRuleNodeJSONSchema,\n node: HorizontalRuleServerNode,\n }),\n ],\n },\n key: 'horizontalRule',\n})\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,IAAI,QAAQ;AACrB,SAASC,uBAAuB,QAAQ;AACxC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,4BAA4B,QAAQ;AAI7C,OAAO,MAAMC,qBAAA,GAAwBN,mBAAA,CAAoB;EACvDO,OAAA,EAAS;IACPC,aAAA,EAAe;IACfN,IAAA;IACAO,oBAAA,EAAsB,CAACN,uBAAA,CAAwB;IAC/CO,KAAA,EAAO,CACLT,UAAA,CAAW;MACTU,UAAA,EAAYN,4BAAA;MACZO,IAAA,EAAMR;IACR;EAEJ;EACAS,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import type { ElementTransformer } from '../../../packages/@lexical/markdown/MarkdownTransformers.js';
2
- export declare const MarkdownTransformer: ElementTransformer;
1
+ import type { ElementTransformer } from '@lexical/markdown';
2
+ export declare const PAYLOAD_HORIZONTAL_RULE: ElementTransformer;
3
3
  //# sourceMappingURL=markdownTransformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../../src/features/horizontalRule/server/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAA;AAQrG,eAAO,MAAM,mBAAmB,EAAE,kBAiBjC,CAAA"}
1
+ {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../../src/features/horizontalRule/server/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAQ3D,eAAO,MAAM,uBAAuB,EAAE,kBAiBrC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { $createHorizontalRuleServerNode, $isHorizontalRuleServerNode, HorizontalRuleServerNode } from './nodes/HorizontalRuleNode.js';
2
- export const MarkdownTransformer = {
2
+ export const PAYLOAD_HORIZONTAL_RULE = {
3
3
  type: 'element',
4
4
  dependencies: [HorizontalRuleServerNode],
5
5
  export: (node, exportChildren) => {
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.js","names":["$createHorizontalRuleServerNode","$isHorizontalRuleServerNode","HorizontalRuleServerNode","MarkdownTransformer","type","dependencies","export","node","exportChildren","regExp","replace","parentNode"],"sources":["../../../../src/features/horizontalRule/server/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '../../../packages/@lexical/markdown/MarkdownTransformers.js'\n\nimport {\n $createHorizontalRuleServerNode,\n $isHorizontalRuleServerNode,\n HorizontalRuleServerNode,\n} from './nodes/HorizontalRuleNode.js'\n\nexport const MarkdownTransformer: ElementTransformer = {\n type: 'element',\n dependencies: [HorizontalRuleServerNode],\n export: (node, exportChildren) => {\n if (!$isHorizontalRuleServerNode(node)) {\n return null\n }\n return '---'\n },\n // match ---\n regExp: /^---\\s*$/,\n replace: (parentNode) => {\n const node = $createHorizontalRuleServerNode()\n if (node) {\n parentNode.replace(node)\n }\n },\n}\n"],"mappings":"AAEA,SACEA,+BAA+B,EAC/BC,2BAA2B,EAC3BC,wBAAwB,QACnB;AAEP,OAAO,MAAMC,mBAAA,GAA0C;EACrDC,IAAA,EAAM;EACNC,YAAA,EAAc,CAACH,wBAAA,CAAyB;EACxCI,MAAA,EAAQA,CAACC,IAAA,EAAMC,cAAA;IACb,IAAI,CAACP,2BAAA,CAA4BM,IAAA,GAAO;MACtC,OAAO;IACT;IACA,OAAO;EACT;EACA;EACAE,MAAA,EAAQ;EACRC,OAAA,EAAUC,UAAA;IACR,MAAMJ,IAAA,GAAOP,+BAAA;IACb,IAAIO,IAAA,EAAM;MACRI,UAAA,CAAWD,OAAO,CAACH,IAAA;IACrB;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"markdownTransformer.js","names":["$createHorizontalRuleServerNode","$isHorizontalRuleServerNode","HorizontalRuleServerNode","PAYLOAD_HORIZONTAL_RULE","type","dependencies","export","node","exportChildren","regExp","replace","parentNode"],"sources":["../../../../src/features/horizontalRule/server/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\n\nimport {\n $createHorizontalRuleServerNode,\n $isHorizontalRuleServerNode,\n HorizontalRuleServerNode,\n} from './nodes/HorizontalRuleNode.js'\n\nexport const PAYLOAD_HORIZONTAL_RULE: ElementTransformer = {\n type: 'element',\n dependencies: [HorizontalRuleServerNode],\n export: (node, exportChildren) => {\n if (!$isHorizontalRuleServerNode(node)) {\n return null\n }\n return '---'\n },\n // match ---\n regExp: /^---\\s*$/,\n replace: (parentNode) => {\n const node = $createHorizontalRuleServerNode()\n if (node) {\n parentNode.replace(node)\n }\n },\n}\n"],"mappings":"AAEA,SACEA,+BAA+B,EAC/BC,2BAA2B,EAC3BC,wBAAwB,QACnB;AAEP,OAAO,MAAMC,uBAAA,GAA8C;EACzDC,IAAA,EAAM;EACNC,YAAA,EAAc,CAACH,wBAAA,CAAyB;EACxCI,MAAA,EAAQA,CAACC,IAAA,EAAMC,cAAA;IACb,IAAI,CAACP,2BAAA,CAA4BM,IAAA,GAAO;MACtC,OAAO;IACT;IACA,OAAO;EACT;EACA;EACAE,MAAA,EAAQ;EACRC,OAAA,EAAUC,UAAA;IACR,MAAMJ,IAAA,GAAOP,+BAAA;IACb,IAAIO,IAAA,EAAM;MACRI,UAAA,CAAWD,OAAO,CAACH,IAAA;IACrB;EACF;AACF","ignoreList":[]}
@@ -1,11 +1,7 @@
1
1
  import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalCommand, LexicalNode, SerializedLexicalNode } from 'lexical';
2
2
  import type * as React from 'react';
3
3
  import { DecoratorNode } from 'lexical';
4
- import type { StronglyTypedLeafNode } from '../../../../nodeTypes.js';
5
- /**
6
- * Serialized representation of a horizontal rule node. Serialized = converted to JSON. This is what is stored in the database / in the lexical editor state.
7
- */
8
- export type SerializedHorizontalRuleNode = StronglyTypedLeafNode<SerializedLexicalNode, 'horizontalrule'>;
4
+ import type { SerializedHorizontalRuleNode } from '../schema.js';
9
5
  export declare const INSERT_HORIZONTAL_RULE_COMMAND: LexicalCommand<void>;
10
6
  /**
11
7
  * This node is a DecoratorNode. DecoratorNodes allow you to render React components in the editor.
@@ -26,7 +22,7 @@ export declare class HorizontalRuleServerNode extends DecoratorNode<null | React
26
22
  /**
27
23
  * The data for this node is stored serialized as JSON. This is the "load function" of that node: it takes the saved data and converts it into a node.
28
24
  */
29
- static importJSON(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleServerNode;
25
+ static importJSON(_serializedNode: Record<string, unknown> & SerializedHorizontalRuleNode): HorizontalRuleServerNode;
30
26
  /**
31
27
  * Determines how the hr element is rendered in the lexical editor. This is only the "initial" / "outer" HTML element.
32
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalRuleNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/horizontalRule/server/nodes/HorizontalRuleNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAGnC,OAAO,EAAwC,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,qBAAqB,CAC9D,qBAAqB,EACrB,gBAAgB,CACjB,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,cAAc,CAAC,IAAI,CAE/D,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;WACpE,KAAK,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB;WAI/D,OAAO,IAAI,MAAM;IAIjC;;;;OAIG;WACa,SAAS,IAAI,gBAAgB,GAAG,IAAI;IASpD;;OAEG;WACa,UAAU,CACxB,cAAc,EAAE,4BAA4B,GAC3C,wBAAwB;IAI3B;;OAEG;IACM,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW;IAM5C,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY;IAI9C;;;;OAIG;IACM,SAAS,IAAI,eAAe;IAGrC;;OAEG;IACM,UAAU,IAAI,qBAAqB;IAOnC,cAAc,IAAI,MAAM;IAIxB,QAAQ,IAAI,KAAK;IAIjB,SAAS,IAAI,OAAO;CAG9B;AAMD,wBAAgB,+BAA+B,IAAI,wBAAwB,CAE1E;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,wBAAwB,CAElC"}
1
+ {"version":3,"file":"HorizontalRuleNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/horizontalRule/server/nodes/HorizontalRuleNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAGnC,OAAO,EAAwC,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;AAEhE,eAAO,MAAM,8BAA8B,EAAE,cAAc,CAAC,IAAI,CAE/D,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;IACpF,OAAgB,KAAK,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB,CAE9E;IAED,OAAgB,OAAO,IAAI,MAAM,CAEhC;IAED;;;;OAIG;IACH,OAAgB,SAAS,IAAI,gBAAgB,GAAG,IAAI,CAOnD;IAED;;OAEG;IACH,OAAgB,UAAU,CACxB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,4BAA4B,GACtE,wBAAwB,CAE1B;IAED;;OAEG;IACM,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAIpD;IAEQ,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY,CAE7C;IAED;;;;OAIG;IACM,SAAS,IAAI,eAAe,CAEpC;IACD;;OAEG;IACM,UAAU,IAAI,qBAAqB,CAK3C;IAEQ,cAAc,IAAI,MAAM,CAEhC;IAEQ,QAAQ,IAAI,KAAK,CAEzB;IAEQ,SAAS,IAAI,OAAO,CAE5B;CACF;AAMD,wBAAgB,+BAA+B,IAAI,wBAAwB,CAE1E;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,wBAAwB,CAElC"}
@@ -31,7 +31,7 @@ export class HorizontalRuleServerNode extends DecoratorNode {
31
31
  /**
32
32
  * The data for this node is stored serialized as JSON. This is the "load function" of that node: it takes the saved data and converts it into a node.
33
33
  */
34
- static importJSON(serializedNode) {
34
+ static importJSON(_serializedNode) {
35
35
  return $createHorizontalRuleServerNode();
36
36
  }
37
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalRuleNode.js","names":["addClassNamesToElement","$applyNodeReplacement","createCommand","DecoratorNode","INSERT_HORIZONTAL_RULE_COMMAND","HorizontalRuleServerNode","clone","node","__key","getType","importDOM","hr","conversion","$convertHorizontalRuleElement","priority","importJSON","serializedNode","$createHorizontalRuleServerNode","createDOM","config","element","document","createElement","theme","decorate","exportDOM","exportJSON","type","version","getTextContent","isInline","updateDOM","$isHorizontalRuleServerNode"],"sources":["../../../../../src/features/horizontalRule/server/nodes/HorizontalRuleNode.tsx"],"sourcesContent":["import type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n EditorConfig,\n LexicalCommand,\n LexicalNode,\n SerializedLexicalNode,\n} from 'lexical'\nimport type * as React from 'react'\n\nimport { addClassNamesToElement } from '@lexical/utils'\nimport { $applyNodeReplacement, createCommand, DecoratorNode } from 'lexical'\n\nimport type { StronglyTypedLeafNode } from '../../../../nodeTypes.js'\n\n/**\n * Serialized representation of a horizontal rule node. Serialized = converted to JSON. This is what is stored in the database / in the lexical editor state.\n */\nexport type SerializedHorizontalRuleNode = StronglyTypedLeafNode<\n SerializedLexicalNode,\n 'horizontalrule'\n>\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND: LexicalCommand<void> = createCommand(\n 'INSERT_HORIZONTAL_RULE_COMMAND',\n)\n\n/**\n * This node is a DecoratorNode. DecoratorNodes allow you to render React components in the editor.\n *\n * They need both createDom and decorate functions. createDom => outside of the html. decorate => React Component inside of the html.\n *\n * If we used DecoratorBlockNode instead, we would only need a decorate method\n */\nexport class HorizontalRuleServerNode extends DecoratorNode<null | React.ReactElement> {\n static override clone(node: HorizontalRuleServerNode): HorizontalRuleServerNode {\n return new this(node.__key)\n }\n\n static override getType(): string {\n return 'horizontalrule'\n }\n\n /**\n * Defines what happens if you copy an hr element from another page and paste it into the lexical editor\n *\n * This also determines the behavior of lexical's internal HTML -> Lexical converter\n */\n static override importDOM(): DOMConversionMap | null {\n return {\n hr: () => ({\n conversion: $convertHorizontalRuleElement,\n priority: 0,\n }),\n }\n }\n\n /**\n * The data for this node is stored serialized as JSON. This is the \"load function\" of that node: it takes the saved data and converts it into a node.\n */\n static override importJSON(\n serializedNode: SerializedHorizontalRuleNode,\n ): HorizontalRuleServerNode {\n return $createHorizontalRuleServerNode()\n }\n\n /**\n * Determines how the hr element is rendered in the lexical editor. This is only the \"initial\" / \"outer\" HTML element.\n */\n override createDOM(config: EditorConfig): HTMLElement {\n const element = document.createElement('hr')\n addClassNamesToElement(element, config.theme.hr)\n return element\n }\n\n override decorate(): null | React.ReactElement {\n return null\n }\n\n /**\n * Opposite of importDOM, this function defines what happens when you copy an hr element from the lexical editor and paste it into another page.\n *\n * This also determines the behavior of lexical's internal Lexical -> HTML converter\n */\n override exportDOM(): DOMExportOutput {\n return { element: document.createElement('hr') }\n }\n /**\n * Opposite of importJSON. This determines what data is saved in the database / in the lexical editor state.\n */\n override exportJSON(): SerializedLexicalNode {\n return {\n type: 'horizontalrule',\n version: 1,\n }\n }\n\n override getTextContent(): string {\n return '\\n'\n }\n\n override isInline(): false {\n return false\n }\n\n override updateDOM(): boolean {\n return false\n }\n}\n\nfunction $convertHorizontalRuleElement(): DOMConversionOutput {\n return { node: $createHorizontalRuleServerNode() }\n}\n\nexport function $createHorizontalRuleServerNode(): HorizontalRuleServerNode {\n return $applyNodeReplacement(new HorizontalRuleServerNode())\n}\n\nexport function $isHorizontalRuleServerNode(\n node: LexicalNode | null | undefined,\n): node is HorizontalRuleServerNode {\n return node instanceof HorizontalRuleServerNode\n}\n"],"mappings":"AAWA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,aAAa,QAAQ;AAYpE,OAAO,MAAMC,8BAAA,GAAuDF,aAAA,CAClE;AAGF;;;;;;;AAOA,OAAO,MAAMG,wBAAA,SAAiCF,aAAA;EAC5C,OAAgBG,MAAMC,IAA8B,EAA4B;IAC9E,OAAO,IAAI,IAAI,CAACA,IAAA,CAAKC,KAAK;EAC5B;EAEA,OAAgBC,QAAA,EAAkB;IAChC,OAAO;EACT;EAEA;;;;;EAKA,OAAgBC,UAAA,EAAqC;IACnD,OAAO;MACLC,EAAA,EAAIA,CAAA,MAAO;QACTC,UAAA,EAAYC,6BAAA;QACZC,QAAA,EAAU;MACZ;IACF;EACF;EAEA;;;EAGA,OAAgBC,WACdC,cAA4C,EAClB;IAC1B,OAAOC,+BAAA;EACT;EAEA;;;EAGAC,SAASA,CAAUC,MAAoB,EAAe;IACpD,MAAMC,OAAA,GAAUC,QAAA,CAASC,aAAa,CAAC;IACvCtB,sBAAA,CAAuBoB,OAAA,EAASD,MAAA,CAAOI,KAAK,CAACZ,EAAE;IAC/C,OAAOS,OAAA;EACT;EAESI,SAAA,EAAsC;IAC7C,OAAO;EACT;EAEA;;;;;EAKAC,SAASA,CAAA,EAA6B;IACpC,OAAO;MAAEL,OAAA,EAASC,QAAA,CAASC,aAAa,CAAC;IAAM;EACjD;EACA;;;EAGAI,UAASA,CAAA,EAAoC;IAC3C,OAAO;MACLC,IAAA,EAAM;MACNC,OAAA,EAAS;IACX;EACF;EAESC,eAAA,EAAyB;IAChC,OAAO;EACT;EAESC,SAAA,EAAkB;IACzB,OAAO;EACT;EAESC,UAAA,EAAqB;IAC5B,OAAO;EACT;AACF;AAEA,SAASlB,8BAAA;EACP,OAAO;IAAEN,IAAA,EAAMU,+BAAA;EAAkC;AACnD;AAEA,OAAO,SAASA,gCAAA;EACd,OAAOhB,qBAAA,CAAsB,IAAII,wBAAA;AACnC;AAEA,OAAO,SAAS2B,4BACdzB,IAAoC;EAEpC,OAAOA,IAAA,YAAgBF,wBAAA;AACzB","ignoreList":[]}
1
+ {"version":3,"file":"HorizontalRuleNode.js","names":["addClassNamesToElement","$applyNodeReplacement","createCommand","DecoratorNode","INSERT_HORIZONTAL_RULE_COMMAND","HorizontalRuleServerNode","clone","node","__key","getType","importDOM","hr","conversion","$convertHorizontalRuleElement","priority","importJSON","_serializedNode","$createHorizontalRuleServerNode","createDOM","config","element","document","createElement","theme","decorate","exportDOM","exportJSON","type","version","getTextContent","isInline","updateDOM","$isHorizontalRuleServerNode"],"sources":["../../../../../src/features/horizontalRule/server/nodes/HorizontalRuleNode.tsx"],"sourcesContent":["import type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n EditorConfig,\n LexicalCommand,\n LexicalNode,\n SerializedLexicalNode,\n} from 'lexical'\nimport type * as React from 'react'\n\nimport { addClassNamesToElement } from '@lexical/utils'\nimport { $applyNodeReplacement, createCommand, DecoratorNode } from 'lexical'\n\nimport type { SerializedHorizontalRuleNode } from '../schema.js'\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND: LexicalCommand<void> = createCommand(\n 'INSERT_HORIZONTAL_RULE_COMMAND',\n)\n\n/**\n * This node is a DecoratorNode. DecoratorNodes allow you to render React components in the editor.\n *\n * They need both createDom and decorate functions. createDom => outside of the html. decorate => React Component inside of the html.\n *\n * If we used DecoratorBlockNode instead, we would only need a decorate method\n */\nexport class HorizontalRuleServerNode extends DecoratorNode<null | React.ReactElement> {\n static override clone(node: HorizontalRuleServerNode): HorizontalRuleServerNode {\n return new this(node.__key)\n }\n\n static override getType(): string {\n return 'horizontalrule'\n }\n\n /**\n * Defines what happens if you copy an hr element from another page and paste it into the lexical editor\n *\n * This also determines the behavior of lexical's internal HTML -> Lexical converter\n */\n static override importDOM(): DOMConversionMap | null {\n return {\n hr: () => ({\n conversion: $convertHorizontalRuleElement,\n priority: 0,\n }),\n }\n }\n\n /**\n * The data for this node is stored serialized as JSON. This is the \"load function\" of that node: it takes the saved data and converts it into a node.\n */\n static override importJSON(\n _serializedNode: Record<string, unknown> & SerializedHorizontalRuleNode,\n ): HorizontalRuleServerNode {\n return $createHorizontalRuleServerNode()\n }\n\n /**\n * Determines how the hr element is rendered in the lexical editor. This is only the \"initial\" / \"outer\" HTML element.\n */\n override createDOM(config: EditorConfig): HTMLElement {\n const element = document.createElement('hr')\n addClassNamesToElement(element, config.theme.hr)\n return element\n }\n\n override decorate(): null | React.ReactElement {\n return null\n }\n\n /**\n * Opposite of importDOM, this function defines what happens when you copy an hr element from the lexical editor and paste it into another page.\n *\n * This also determines the behavior of lexical's internal Lexical -> HTML converter\n */\n override exportDOM(): DOMExportOutput {\n return { element: document.createElement('hr') }\n }\n /**\n * Opposite of importJSON. This determines what data is saved in the database / in the lexical editor state.\n */\n override exportJSON(): SerializedLexicalNode {\n return {\n type: 'horizontalrule',\n version: 1,\n }\n }\n\n override getTextContent(): string {\n return '\\n'\n }\n\n override isInline(): false {\n return false\n }\n\n override updateDOM(): boolean {\n return false\n }\n}\n\nfunction $convertHorizontalRuleElement(): DOMConversionOutput {\n return { node: $createHorizontalRuleServerNode() }\n}\n\nexport function $createHorizontalRuleServerNode(): HorizontalRuleServerNode {\n return $applyNodeReplacement(new HorizontalRuleServerNode())\n}\n\nexport function $isHorizontalRuleServerNode(\n node: LexicalNode | null | undefined,\n): node is HorizontalRuleServerNode {\n return node instanceof HorizontalRuleServerNode\n}\n"],"mappings":"AAWA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,aAAa,QAAQ;AAIpE,OAAO,MAAMC,8BAAA,GAAuDF,aAAA,CAClE;AAGF;;;;;;;AAOA,OAAO,MAAMG,wBAAA,SAAiCF,aAAA;EAC5C,OAAgBG,MAAMC,IAA8B,EAA4B;IAC9E,OAAO,IAAI,IAAI,CAACA,IAAA,CAAKC,KAAK;EAC5B;EAEA,OAAgBC,QAAA,EAAkB;IAChC,OAAO;EACT;EAEA;;;;;EAKA,OAAgBC,UAAA,EAAqC;IACnD,OAAO;MACLC,EAAA,EAAIA,CAAA,MAAO;QACTC,UAAA,EAAYC,6BAAA;QACZC,QAAA,EAAU;MACZ;IACF;EACF;EAEA;;;EAGA,OAAgBC,WACdC,eAAuE,EAC7C;IAC1B,OAAOC,+BAAA;EACT;EAEA;;;EAGAC,SAASA,CAAUC,MAAoB,EAAe;IACpD,MAAMC,OAAA,GAAUC,QAAA,CAASC,aAAa,CAAC;IACvCtB,sBAAA,CAAuBoB,OAAA,EAASD,MAAA,CAAOI,KAAK,CAACZ,EAAE;IAC/C,OAAOS,OAAA;EACT;EAESI,SAAA,EAAsC;IAC7C,OAAO;EACT;EAEA;;;;;EAKAC,SAASA,CAAA,EAA6B;IACpC,OAAO;MAAEL,OAAA,EAASC,QAAA,CAASC,aAAa,CAAC;IAAM;EACjD;EACA;;;EAGAI,UAASA,CAAA,EAAoC;IAC3C,OAAO;MACLC,IAAA,EAAM;MACNC,OAAA,EAAS;IACX;EACF;EAESC,eAAA,EAAyB;IAChC,OAAO;EACT;EAESC,SAAA,EAAkB;IACzB,OAAO;EACT;EAESC,UAAA,EAAqB;IAC5B,OAAO;EACT;AACF;AAEA,SAASlB,8BAAA;EACP,OAAO;IAAEN,IAAA,EAAMU,+BAAA;EAAkC;AACnD;AAEA,OAAO,SAASA,gCAAA;EACd,OAAOhB,qBAAA,CAAsB,IAAII,wBAAA;AACnC;AAEA,OAAO,SAAS2B,4BACdzB,IAAoC;EAEpC,OAAOA,IAAA,YAAgBF,wBAAA;AACzB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { JSONSchemaFn } from '../../typesServer.js';
2
+ export interface SerializedHorizontalRuleNode {
3
+ type: 'horizontalrule';
4
+ version: number;
5
+ }
6
+ export declare const horizontalRuleNodeJSONSchema: JSONSchemaFn;
7
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/features/horizontalRule/server/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB;AAQD,eAAO,MAAM,4BAA4B,EAAE,YAY1C,CAAA"}
@@ -0,0 +1,25 @@
1
+ /** MUST stay byte-for-byte in sync with the runtime `SerializedHorizontalRuleNode` declared above. */const SERIALIZED_HORIZONTAL_RULE_NODE_TS = `export interface SerializedHorizontalRuleNode {
2
+ type: 'horizontalrule';
3
+ version: number;
4
+ }`;
5
+ export const horizontalRuleNodeJSONSchema = ({
6
+ typeStringDefinitions
7
+ }) => {
8
+ typeStringDefinitions.add(SERIALIZED_HORIZONTAL_RULE_NODE_TS);
9
+ return {
10
+ type: 'object',
11
+ additionalProperties: false,
12
+ properties: {
13
+ type: {
14
+ type: 'string',
15
+ const: 'horizontalrule'
16
+ },
17
+ version: {
18
+ type: 'integer'
19
+ }
20
+ },
21
+ required: ['type', 'version'],
22
+ tsType: 'SerializedHorizontalRuleNode'
23
+ };
24
+ };
25
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","names":["SERIALIZED_HORIZONTAL_RULE_NODE_TS","horizontalRuleNodeJSONSchema","typeStringDefinitions","add","type","additionalProperties","properties","const","version","required","tsType"],"sources":["../../../../src/features/horizontalRule/server/schema.ts"],"sourcesContent":["import type { JSONSchemaFn } from '../../typesServer.js'\n\nexport interface SerializedHorizontalRuleNode {\n type: 'horizontalrule'\n version: number\n}\n\n/** MUST stay byte-for-byte in sync with the runtime `SerializedHorizontalRuleNode` declared above. */\nconst SERIALIZED_HORIZONTAL_RULE_NODE_TS = `export interface SerializedHorizontalRuleNode {\n type: 'horizontalrule';\n version: number;\n}`\n\nexport const horizontalRuleNodeJSONSchema: JSONSchemaFn = ({ typeStringDefinitions }) => {\n typeStringDefinitions.add(SERIALIZED_HORIZONTAL_RULE_NODE_TS)\n return {\n type: 'object',\n additionalProperties: false,\n properties: {\n type: { type: 'string', const: 'horizontalrule' },\n version: { type: 'integer' },\n },\n required: ['type', 'version'],\n tsType: 'SerializedHorizontalRuleNode',\n }\n}\n"],"mappings":"AAOA,sGACA,MAAMA,kCAAA,GAAqC;;;EAGzC;AAEF,OAAO,MAAMC,4BAAA,GAA6CA,CAAC;EAAEC;AAAqB,CAAE;EAClFA,qBAAA,CAAsBC,GAAG,CAACH,kCAAA;EAC1B,OAAO;IACLI,IAAA,EAAM;IACNC,oBAAA,EAAsB;IACtBC,UAAA,EAAY;MACVF,IAAA,EAAM;QAAEA,IAAA,EAAM;QAAUG,KAAA,EAAO;MAAiB;MAChDC,OAAA,EAAS;QAAEJ,IAAA,EAAM;MAAU;IAC7B;IACAK,QAAA,EAAU,CAAC,QAAQ,UAAU;IAC7BC,MAAA,EAAQ;EACV;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/link/client/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAevE,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CACzC,GAAG,6BAA6B,CAAA;AAsDjC,eAAO,MAAM,iBAAiB,wFAgC3B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/link/client/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAgBvE,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CACzC,GAAG,6BAA6B,CAAA;AAsDjC,eAAO,MAAM,iBAAiB,wFAgC3B,CAAA"}
@@ -6,7 +6,7 @@ import { LinkIcon } from '../../../lexical/ui/icons/Link/index.js';
6
6
  import { getSelectedNode } from '../../../lexical/utils/getSelectedNode.js';
7
7
  import { createClientFeature } from '../../../utilities/createClientFeature.js';
8
8
  import { toolbarFeatureButtonsGroupWithItems } from '../../shared/toolbar/featureButtonsGroup.js';
9
- import { LinkMarkdownTransformer } from '../markdownTransformer.js';
9
+ import { PAYLOAD_LINK } from '../markdownTransformer.js';
10
10
  import { AutoLinkNode } from '../nodes/AutoLinkNode.js';
11
11
  import { $isLinkNode, LinkNode, TOGGLE_LINK_COMMAND } from '../nodes/LinkNode.js';
12
12
  import { AutoLinkPlugin } from './plugins/autoLink/index.js';
@@ -70,7 +70,7 @@ const toolbarGroups = [toolbarFeatureButtonsGroupWithItems([{
70
70
  export const LinkFeatureClient = createClientFeature(({
71
71
  props
72
72
  }) => ({
73
- markdownTransformers: [LinkMarkdownTransformer],
73
+ markdownTransformers: [PAYLOAD_LINK],
74
74
  nodes: [LinkNode, props?.disableAutoLinks === true ? null : AutoLinkNode].filter(Boolean),
75
75
  plugins: [{
76
76
  Component: LinkPlugin,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["$findMatchingParent","$getSelection","$isRangeSelection","LinkIcon","getSelectedNode","createClientFeature","toolbarFeatureButtonsGroupWithItems","LinkMarkdownTransformer","AutoLinkNode","$isLinkNode","LinkNode","TOGGLE_LINK_COMMAND","AutoLinkPlugin","ClickableLinkPlugin","FloatingLinkEditorPlugin","TOGGLE_LINK_WITH_MODAL_COMMAND","LinkPlugin","toolbarGroups","ChildComponent","isActive","selection","selectedNode","linkParent","isEnabled","getTextContent","length","key","label","i18n","t","onSelect","editor","selectedText","selectedNodes","getEditorState","read","getNodes","linkFields","doc","dispatchCommand","fields","text","order","LinkFeatureClient","props","markdownTransformers","nodes","disableAutoLinks","filter","Boolean","plugins","Component","position","sanitizedClientFeatureProps","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/link/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Klass, LexicalNode } from 'lexical'\n\nimport { $findMatchingParent } from '@lexical/utils'\nimport { $getSelection, $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\nimport type { ClientFeature } from '../../typesClient.js'\nimport type { LinkFields } from '../nodes/types.js'\nimport type { ExclusiveLinkCollectionsProps } from '../server/index.js'\n\nimport { LinkIcon } from '../../../lexical/ui/icons/Link/index.js'\nimport { getSelectedNode } from '../../../lexical/utils/getSelectedNode.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFeatureButtonsGroupWithItems } from '../../shared/toolbar/featureButtonsGroup.js'\nimport { LinkMarkdownTransformer } from '../markdownTransformer.js'\nimport { AutoLinkNode } from '../nodes/AutoLinkNode.js'\nimport { $isLinkNode, LinkNode, TOGGLE_LINK_COMMAND } from '../nodes/LinkNode.js'\nimport { AutoLinkPlugin } from './plugins/autoLink/index.js'\nimport { ClickableLinkPlugin } from './plugins/clickableLink/index.js'\nimport { FloatingLinkEditorPlugin } from './plugins/floatingLinkEditor/index.js'\nimport { TOGGLE_LINK_WITH_MODAL_COMMAND } from './plugins/floatingLinkEditor/LinkEditor/commands.js'\nimport { LinkPlugin } from './plugins/link/index.js'\n\nexport type ClientProps = {\n defaultLinkType?: string\n defaultLinkURL?: string\n disableAutoLinks?: 'creationOnly' | true\n} & ExclusiveLinkCollectionsProps\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFeatureButtonsGroupWithItems([\n {\n ChildComponent: LinkIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection)) {\n const selectedNode = getSelectedNode(selection)\n const linkParent = $findMatchingParent(selectedNode, $isLinkNode)\n return linkParent != null\n }\n return false\n },\n isEnabled: ({ selection }) => {\n return !!($isRangeSelection(selection) && $getSelection()?.getTextContent()?.length)\n },\n key: 'link',\n label: ({ i18n }) => {\n return i18n.t('lexical:link:label')\n },\n onSelect: ({ editor, isActive }) => {\n if (!isActive) {\n let selectedText: string | undefined\n let selectedNodes: LexicalNode[] = []\n editor.getEditorState().read(() => {\n selectedText = $getSelection()?.getTextContent()\n // We need to selected nodes here before the drawer opens, as clicking around in the drawer may change the original selection\n selectedNodes = $getSelection()?.getNodes() ?? []\n })\n\n if (!selectedText?.length) {\n return\n }\n\n const linkFields: Partial<LinkFields> = {\n doc: null,\n }\n\n editor.dispatchCommand(TOGGLE_LINK_WITH_MODAL_COMMAND, {\n fields: linkFields,\n selectedNodes,\n text: selectedText,\n })\n } else {\n // remove link\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null)\n }\n },\n order: 1,\n },\n ]),\n]\n\nexport const LinkFeatureClient = createClientFeature<ClientProps>(({ props }) => ({\n markdownTransformers: [LinkMarkdownTransformer],\n nodes: [LinkNode, props?.disableAutoLinks === true ? null : AutoLinkNode].filter(\n Boolean,\n ) as Array<Klass<LexicalNode>>,\n plugins: [\n {\n Component: LinkPlugin,\n position: 'normal',\n },\n props?.disableAutoLinks === true || props?.disableAutoLinks === 'creationOnly'\n ? null\n : {\n Component: AutoLinkPlugin,\n position: 'normal',\n },\n {\n Component: ClickableLinkPlugin,\n position: 'normal',\n },\n {\n Component: FloatingLinkEditorPlugin,\n position: 'floatingAnchorElem',\n },\n ].filter(Boolean) as ClientFeature<ClientProps>['plugins'],\n sanitizedClientFeatureProps: props,\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n}))\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["$findMatchingParent","$getSelection","$isRangeSelection","LinkIcon","getSelectedNode","createClientFeature","toolbarFeatureButtonsGroupWithItems","PAYLOAD_LINK","AutoLinkNode","$isLinkNode","LinkNode","TOGGLE_LINK_COMMAND","AutoLinkPlugin","ClickableLinkPlugin","FloatingLinkEditorPlugin","TOGGLE_LINK_WITH_MODAL_COMMAND","LinkPlugin","toolbarGroups","ChildComponent","isActive","selection","selectedNode","linkParent","isEnabled","getTextContent","length","key","label","i18n","t","onSelect","editor","selectedText","selectedNodes","getEditorState","read","getNodes","linkFields","doc","dispatchCommand","fields","text","order","LinkFeatureClient","props","markdownTransformers","nodes","disableAutoLinks","filter","Boolean","plugins","Component","position","sanitizedClientFeatureProps","toolbarFixed","groups","toolbarInline"],"sources":["../../../../src/features/link/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Klass, LexicalNode } from 'lexical'\n\nimport { $findMatchingParent } from '@lexical/utils'\nimport { $getSelection, $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\nimport type { ClientFeature } from '../../typesClient.js'\nimport type { ExclusiveLinkCollectionsProps } from '../server/index.js'\nimport type { LinkFields } from '../server/schema.js'\n\nimport { LinkIcon } from '../../../lexical/ui/icons/Link/index.js'\nimport { getSelectedNode } from '../../../lexical/utils/getSelectedNode.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { toolbarFeatureButtonsGroupWithItems } from '../../shared/toolbar/featureButtonsGroup.js'\nimport { PAYLOAD_LINK } from '../markdownTransformer.js'\nimport { AutoLinkNode } from '../nodes/AutoLinkNode.js'\nimport { $isLinkNode, LinkNode, TOGGLE_LINK_COMMAND } from '../nodes/LinkNode.js'\nimport { AutoLinkPlugin } from './plugins/autoLink/index.js'\nimport { ClickableLinkPlugin } from './plugins/clickableLink/index.js'\nimport { FloatingLinkEditorPlugin } from './plugins/floatingLinkEditor/index.js'\nimport { TOGGLE_LINK_WITH_MODAL_COMMAND } from './plugins/floatingLinkEditor/LinkEditor/commands.js'\nimport { LinkPlugin } from './plugins/link/index.js'\n\nexport type ClientProps = {\n defaultLinkType?: string\n defaultLinkURL?: string\n disableAutoLinks?: 'creationOnly' | true\n} & ExclusiveLinkCollectionsProps\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarFeatureButtonsGroupWithItems([\n {\n ChildComponent: LinkIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection)) {\n const selectedNode = getSelectedNode(selection)\n const linkParent = $findMatchingParent(selectedNode, $isLinkNode)\n return linkParent != null\n }\n return false\n },\n isEnabled: ({ selection }) => {\n return !!($isRangeSelection(selection) && $getSelection()?.getTextContent()?.length)\n },\n key: 'link',\n label: ({ i18n }) => {\n return i18n.t('lexical:link:label')\n },\n onSelect: ({ editor, isActive }) => {\n if (!isActive) {\n let selectedText: string | undefined\n let selectedNodes: LexicalNode[] = []\n editor.getEditorState().read(() => {\n selectedText = $getSelection()?.getTextContent()\n // We need to selected nodes here before the drawer opens, as clicking around in the drawer may change the original selection\n selectedNodes = $getSelection()?.getNodes() ?? []\n })\n\n if (!selectedText?.length) {\n return\n }\n\n const linkFields: Partial<LinkFields> = {\n doc: null,\n }\n\n editor.dispatchCommand(TOGGLE_LINK_WITH_MODAL_COMMAND, {\n fields: linkFields,\n selectedNodes,\n text: selectedText,\n })\n } else {\n // remove link\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null)\n }\n },\n order: 1,\n },\n ]),\n]\n\nexport const LinkFeatureClient = createClientFeature<ClientProps>(({ props }) => ({\n markdownTransformers: [PAYLOAD_LINK],\n nodes: [LinkNode, props?.disableAutoLinks === true ? null : AutoLinkNode].filter(\n Boolean,\n ) as Array<Klass<LexicalNode>>,\n plugins: [\n {\n Component: LinkPlugin,\n position: 'normal',\n },\n props?.disableAutoLinks === true || props?.disableAutoLinks === 'creationOnly'\n ? null\n : {\n Component: AutoLinkPlugin,\n position: 'normal',\n },\n {\n Component: ClickableLinkPlugin,\n position: 'normal',\n },\n {\n Component: FloatingLinkEditorPlugin,\n position: 'floatingAnchorElem',\n },\n ].filter(Boolean) as ClientFeature<ClientProps>['plugins'],\n sanitizedClientFeatureProps: props,\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n}))\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { PluginComponent } from '../../../../typesClient.js';
2
- import type { LinkFields } from '../../../nodes/types.js';
2
+ import type { LinkFields } from '../../../server/schema.js';
3
3
  import type { ClientProps } from '../../index.js';
4
4
  interface LinkMatcherResult {
5
5
  fields?: LinkFields;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/link/client/plugins/autoLink/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAOjD,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;SAYrB;AAwZD,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,WAAW,CAMvD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/link/client/plugins/autoLink/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAOjD,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;SAYrB;AAwZD,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,WAAW,CAMvD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","mergeRegister","$createTextNode","$getSelection","$isElementNode","$isLineBreakNode","$isNodeSelection","$isRangeSelection","$isTextNode","TextNode","TextNodeValue","useEffect","$createAutoLinkNode","$isAutoLinkNode","AutoLinkNode","$isLinkNode","createLinkMatcherWithRegExp","regExp","urlTransformer","text","match","exec","index","length","url","findFirstMatch","matchers","matcher","PUNCTUATION_OR_SPACE","isSeparator","char","undefined","test","endsWithSeparator","textContent","startsWithSeparator","startsWithTLD","isEmail","isPreviousNodeValid","node","previousNode","getPreviousSibling","getLastDescendant","getTextContent","isNextNodeValid","nextNode","getNextSibling","getFirstDescendant","isContentAroundIsValid","matchStart","matchEnd","nodes","contentBeforeIsValid","contentAfterIsValid","extractMatchingNodes","startIndex","endIndex","unmodifiedBeforeNodes","matchingNodes","unmodifiedAfterNodes","matchingOffset","currentOffset","currentNodes","currentNode","currentNodeText","currentNodeLength","currentNodeStart","currentNodeEnd","push","shift","$createAutoLinkNode_","fields","linkType","linkNode","remainingTextNode","linkTextNode","splitText","textNode","setFormat","getFormat","setDetail","getDetail","setStyle","getStyle","append","replace","firstTextNode","offset","firstLinkTextNode","linkNodes","forEach","endNode","selection","selectedTextNode","getNodes","find","select","anchor","focus","$handleLinkCreation","onChange","initialText","map","join","invalidMatchEnd","matchLength","isValid","actualMatchStart","actualMatchEnd","substring","handleLinkEdit","children","getChildren","childrenLength","i","child","isSimpleText","replaceWithChildren","getFields","flds","setFields","handleBadNeighbors","previousSibling","nextSibling","isEmailURI","startsWith","j","insertAfter","remove","getLatest","getTextNodesToMatch","textNodesToMatch","useAutoLink","editor","$","t0","t1","hasNodes","Error","onChangeWrapped","prevUrl","registerNodeTransform","parent","getParentOrThrow","previous","URL_REGEX","EMAIL_REGEX","MATCHERS","AutoLinkPlugin"],"sources":["../../../../../../src/features/link/client/plugins/autoLink/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementNode, LexicalEditor, LexicalNode, TextNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { mergeRegister } from '@lexical/utils'\nimport {\n $createTextNode,\n $getSelection,\n $isElementNode,\n $isLineBreakNode,\n $isNodeSelection,\n $isRangeSelection,\n $isTextNode,\n TextNode as TextNodeValue,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\nimport type { LinkFields } from '../../../nodes/types.js'\nimport type { ClientProps } from '../../index.js'\n\nimport { $createAutoLinkNode, $isAutoLinkNode, AutoLinkNode } from '../../../nodes/AutoLinkNode.js'\nimport { $isLinkNode } from '../../../nodes/LinkNode.js'\n\ntype ChangeHandler = (url: null | string, prevUrl: null | string) => void\n\ninterface LinkMatcherResult {\n fields?: LinkFields\n index: number\n length: number\n text: string\n url: string\n}\n\nexport type LinkMatcher = (text: string) => LinkMatcherResult | null\n\nexport function createLinkMatcherWithRegExp(\n regExp: RegExp,\n urlTransformer: (text: string) => string = (text) => text,\n) {\n return (text: string) => {\n const match = regExp.exec(text)\n if (match === null) {\n return null\n }\n return {\n index: match.index,\n length: match[0].length,\n text: match[0],\n url: urlTransformer(match[0]),\n }\n }\n}\n\nfunction findFirstMatch(text: string, matchers: LinkMatcher[]): LinkMatcherResult | null {\n for (const matcher of matchers) {\n const match = matcher(text)\n\n if (match != null) {\n return match\n }\n }\n\n return null\n}\n\nconst PUNCTUATION_OR_SPACE = /[.,;\\s]/\n\nfunction isSeparator(char: string | undefined): boolean {\n return char !== undefined && PUNCTUATION_OR_SPACE.test(char)\n}\n\nfunction endsWithSeparator(textContent: string): boolean {\n return isSeparator(textContent[textContent.length - 1])\n}\n\nfunction startsWithSeparator(textContent: string): boolean {\n return isSeparator(textContent[0])\n}\n\n/**\n * Check if the text content starts with a fullstop followed by a top-level domain.\n * Meaning if the text content can be a beginning of a top level domain.\n * @param textContent\n * @param isEmail\n * @returns boolean\n */\nfunction startsWithTLD(textContent: string, isEmail: boolean): boolean {\n if (isEmail) {\n return /^\\.[a-z]{2,}/i.test(textContent)\n } else {\n return /^\\.[a-z0-9]+/i.test(textContent)\n }\n}\n\nfunction isPreviousNodeValid(node: LexicalNode): boolean {\n let previousNode = node.getPreviousSibling()\n if ($isElementNode(previousNode)) {\n previousNode = previousNode.getLastDescendant()\n }\n return (\n previousNode === null ||\n $isLineBreakNode(previousNode) ||\n ($isTextNode(previousNode) && endsWithSeparator(previousNode.getTextContent()))\n )\n}\n\nfunction isNextNodeValid(node: LexicalNode): boolean {\n let nextNode = node.getNextSibling()\n if ($isElementNode(nextNode)) {\n nextNode = nextNode.getFirstDescendant()\n }\n return (\n nextNode === null ||\n $isLineBreakNode(nextNode) ||\n ($isTextNode(nextNode) && startsWithSeparator(nextNode.getTextContent()))\n )\n}\n\nfunction isContentAroundIsValid(\n matchStart: number,\n matchEnd: number,\n text: string,\n nodes: TextNode[],\n): boolean {\n const contentBeforeIsValid =\n matchStart > 0 ? isSeparator(text[matchStart - 1]) : isPreviousNodeValid(nodes[0]!)\n if (!contentBeforeIsValid) {\n return false\n }\n\n const contentAfterIsValid =\n matchEnd < text.length ? isSeparator(text[matchEnd]) : isNextNodeValid(nodes[nodes.length - 1]!)\n return contentAfterIsValid\n}\n\nfunction extractMatchingNodes(\n nodes: TextNode[],\n startIndex: number,\n endIndex: number,\n): [\n matchingOffset: number,\n unmodifiedBeforeNodes: TextNode[],\n matchingNodes: TextNode[],\n unmodifiedAfterNodes: TextNode[],\n] {\n const unmodifiedBeforeNodes: TextNode[] = []\n const matchingNodes: TextNode[] = []\n const unmodifiedAfterNodes: TextNode[] = []\n let matchingOffset = 0\n\n let currentOffset = 0\n const currentNodes = [...nodes]\n\n while (currentNodes.length > 0) {\n const currentNode = currentNodes[0]!\n const currentNodeText = currentNode.getTextContent()\n const currentNodeLength = currentNodeText.length\n const currentNodeStart = currentOffset\n const currentNodeEnd = currentOffset + currentNodeLength\n\n if (currentNodeEnd <= startIndex) {\n unmodifiedBeforeNodes.push(currentNode)\n matchingOffset += currentNodeLength\n } else if (currentNodeStart >= endIndex) {\n unmodifiedAfterNodes.push(currentNode)\n } else {\n matchingNodes.push(currentNode)\n }\n currentOffset += currentNodeLength\n currentNodes.shift()\n }\n return [matchingOffset, unmodifiedBeforeNodes, matchingNodes, unmodifiedAfterNodes]\n}\n\nfunction $createAutoLinkNode_(\n nodes: TextNode[],\n startIndex: number,\n endIndex: number,\n match: LinkMatcherResult,\n): TextNode | undefined {\n const fields = {\n linkType: 'custom',\n url: match.url,\n ...match.fields,\n } as LinkFields\n\n const linkNode = $createAutoLinkNode({ fields })\n if (nodes.length === 1) {\n const remainingTextNode = nodes[0]!\n let linkTextNode: TextNode | undefined\n if (startIndex === 0) {\n ;[linkTextNode] = remainingTextNode.splitText(endIndex)\n } else {\n ;[, linkTextNode] = remainingTextNode.splitText(startIndex, endIndex)\n }\n if (linkTextNode) {\n const textNode = $createTextNode(match.text)\n textNode.setFormat(linkTextNode.getFormat())\n textNode.setDetail(linkTextNode.getDetail())\n textNode.setStyle(linkTextNode.getStyle())\n linkNode.append(textNode)\n linkTextNode.replace(linkNode)\n }\n return remainingTextNode\n } else if (nodes.length > 1) {\n const firstTextNode = nodes[0]!\n let offset = firstTextNode.getTextContent().length\n let firstLinkTextNode\n if (startIndex === 0) {\n firstLinkTextNode = firstTextNode\n } else {\n ;[, firstLinkTextNode] = firstTextNode.splitText(startIndex)\n }\n const linkNodes: LexicalNode[] = []\n let remainingTextNode\n nodes.forEach((currentNode) => {\n const currentNodeText = currentNode.getTextContent()\n const currentNodeLength = currentNodeText.length\n const currentNodeStart = offset\n const currentNodeEnd = offset + currentNodeLength\n if (currentNodeStart < endIndex) {\n if (currentNodeEnd <= endIndex) {\n linkNodes.push(currentNode)\n } else {\n const [linkTextNode, endNode] = currentNode.splitText(endIndex - currentNodeStart)\n if (linkTextNode) {\n linkNodes.push(linkTextNode)\n }\n remainingTextNode = endNode\n }\n }\n offset += currentNodeLength\n })\n\n if (firstLinkTextNode) {\n const selection = $getSelection()\n const selectedTextNode = selection ? selection.getNodes().find($isTextNode) : undefined\n const textNode = $createTextNode(firstLinkTextNode.getTextContent())\n textNode.setFormat(firstLinkTextNode.getFormat())\n textNode.setDetail(firstLinkTextNode.getDetail())\n textNode.setStyle(firstLinkTextNode.getStyle())\n linkNode.append(textNode, ...linkNodes)\n // it does not preserve caret position if caret was at the first text node\n // so we need to restore caret position\n if (selectedTextNode && selectedTextNode === firstLinkTextNode) {\n if ($isRangeSelection(selection)) {\n textNode.select(selection.anchor.offset, selection.focus.offset)\n } else if ($isNodeSelection(selection)) {\n textNode.select(0, textNode.getTextContent().length)\n }\n }\n firstLinkTextNode.replace(linkNode)\n return remainingTextNode\n }\n }\n return undefined\n}\n\nfunction $handleLinkCreation(\n nodes: TextNode[],\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n let currentNodes = [...nodes]\n const initialText = currentNodes.map((node) => node.getTextContent()).join('')\n let text = initialText\n\n let match\n let invalidMatchEnd = 0\n\n while ((match = findFirstMatch(text, matchers)) != null && match !== null) {\n const matchStart: number = match.index\n const matchLength: number = match.length\n const matchEnd = matchStart + matchLength\n const isValid = isContentAroundIsValid(\n invalidMatchEnd + matchStart,\n invalidMatchEnd + matchEnd,\n initialText,\n currentNodes,\n )\n\n if (isValid) {\n const [matchingOffset, , matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(\n currentNodes,\n invalidMatchEnd + matchStart,\n invalidMatchEnd + matchEnd,\n )\n\n const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset\n const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset\n const remainingTextNode = $createAutoLinkNode_(\n matchingNodes,\n actualMatchStart,\n actualMatchEnd,\n match,\n )\n currentNodes = remainingTextNode\n ? [remainingTextNode, ...unmodifiedAfterNodes]\n : unmodifiedAfterNodes\n onChange(match.url, null)\n invalidMatchEnd = 0\n } else {\n invalidMatchEnd += matchEnd\n }\n\n text = text.substring(matchEnd)\n }\n}\n\nfunction handleLinkEdit(\n linkNode: AutoLinkNode,\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n // Check children are simple text\n const children = linkNode.getChildren()\n const childrenLength = children.length\n for (let i = 0; i < childrenLength; i++) {\n const child = children[i]\n if (!$isTextNode(child) || !child.isSimpleText()) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n }\n\n // Check text content fully matches\n const text = linkNode.getTextContent()\n const match = findFirstMatch(text, matchers)\n if (match === null || match.text !== text) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n\n // Check neighbors\n if (!isPreviousNodeValid(linkNode) || !isNextNodeValid(linkNode)) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n\n const url = linkNode.getFields()?.url\n if (url !== match?.url) {\n const flds = linkNode.getFields()\n flds.url = match?.url\n linkNode.setFields(flds)\n onChange(match.url, url ?? null)\n }\n}\n\n// Bad neighbors are edits in neighbor nodes that make AutoLinks incompatible.\n// Given the creation preconditions, these can only be simple text nodes.\nfunction handleBadNeighbors(\n textNode: TextNode,\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n const previousSibling = textNode.getPreviousSibling()\n const nextSibling = textNode.getNextSibling()\n const text = textNode.getTextContent()\n\n if ($isAutoLinkNode(previousSibling)) {\n const isEmailURI = previousSibling.getFields()?.url\n ? (previousSibling.getFields()?.url?.startsWith('mailto:') ?? false)\n : false\n if (!startsWithSeparator(text) || startsWithTLD(text, isEmailURI)) {\n previousSibling.append(textNode)\n handleLinkEdit(previousSibling, matchers, onChange)\n onChange(null, previousSibling.getFields()?.url ?? null)\n }\n }\n\n if ($isAutoLinkNode(nextSibling) && !endsWithSeparator(text)) {\n replaceWithChildren(nextSibling)\n handleLinkEdit(nextSibling, matchers, onChange)\n onChange(null, nextSibling.getFields()?.url ?? null)\n }\n}\n\nfunction replaceWithChildren(node: ElementNode): LexicalNode[] {\n const children = node.getChildren()\n const childrenLength = children.length\n\n for (let j = childrenLength - 1; j >= 0; j--) {\n node.insertAfter(children[j]!)\n }\n\n node.remove()\n return children.map((child) => child.getLatest())\n}\n\nfunction getTextNodesToMatch(textNode: TextNode): TextNode[] {\n // check if next siblings are simple text nodes till a node contains a space separator\n const textNodesToMatch = [textNode]\n let nextSibling = textNode.getNextSibling()\n while (nextSibling !== null && $isTextNode(nextSibling) && nextSibling.isSimpleText()) {\n textNodesToMatch.push(nextSibling)\n if (/\\s/.test(nextSibling.getTextContent())) {\n break\n }\n nextSibling = nextSibling.getNextSibling()\n }\n return textNodesToMatch\n}\n\nfunction useAutoLink(\n editor: LexicalEditor,\n matchers: LinkMatcher[],\n onChange?: ChangeHandler,\n): void {\n useEffect(() => {\n if (!editor.hasNodes([AutoLinkNode])) {\n throw new Error('LexicalAutoLinkPlugin: AutoLinkNode not registered on editor')\n }\n\n const onChangeWrapped = (url: null | string, prevUrl: null | string): void => {\n if (onChange != null) {\n onChange(url, prevUrl)\n }\n }\n\n return mergeRegister(\n editor.registerNodeTransform(TextNodeValue, (textNode: TextNode) => {\n const parent = textNode.getParentOrThrow()\n const previous = textNode.getPreviousSibling()\n if ($isAutoLinkNode(parent)) {\n handleLinkEdit(parent, matchers, onChangeWrapped)\n } else if (!$isLinkNode(parent)) {\n if (\n textNode.isSimpleText() &&\n (startsWithSeparator(textNode.getTextContent()) || !$isAutoLinkNode(previous))\n ) {\n const textNodesToMatch = getTextNodesToMatch(textNode)\n $handleLinkCreation(textNodesToMatch, matchers, onChangeWrapped)\n }\n\n handleBadNeighbors(textNode, matchers, onChangeWrapped)\n }\n }),\n )\n }, [editor, matchers, onChange])\n}\n\nconst URL_REGEX =\n /((https?:\\/\\/(www\\.)?)|(www\\.))[-\\w@:%.+~#=]{1,256}\\.[a-zA-Z\\d()]{1,6}\\b([-\\w()@:%+.~#?&/=]*)(?<![-.+():%])/\n\nconst EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\])|(([a-z\\-\\d]+\\.)+[a-z]{2,}))/i\n\nconst MATCHERS = [\n createLinkMatcherWithRegExp(URL_REGEX, (text) => {\n return text.startsWith('http') ? text : `https://${text}`\n }),\n createLinkMatcherWithRegExp(EMAIL_REGEX, (text) => {\n return `mailto:${text}`\n }),\n]\n\nexport const AutoLinkPlugin: PluginComponent<ClientProps> = () => {\n const [editor] = useLexicalComposerContext()\n\n useAutoLink(editor, MATCHERS)\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","mergeRegister","$createTextNode","$getSelection","$isElementNode","$isLineBreakNode","$isNodeSelection","$isRangeSelection","$isTextNode","TextNode","TextNodeValue","useEffect","$createAutoLinkNode","$isAutoLinkNode","AutoLinkNode","$isLinkNode","createLinkMatcherWithRegExp","regExp","urlTransformer","text","match","exec","index","length","url","findFirstMatch","matchers","matcher","PUNCTUATION_OR_SPACE","isSeparator","char","undefined","test","endsWithSeparator","textContent","startsWithSeparator","startsWithTLD","isEmail","isPreviousNodeValid","node","previousNode","getPreviousSibling","getLastDescendant","getTextContent","isNextNodeValid","nextNode","getNextSibling","getFirstDescendant","isContentAroundIsValid","matchStart","matchEnd","nodes","contentBeforeIsValid","contentAfterIsValid","extractMatchingNodes","startIndex","endIndex","unmodifiedBeforeNodes","matchingNodes","unmodifiedAfterNodes","matchingOffset","currentOffset","currentNodes","currentNode","currentNodeText","currentNodeLength","currentNodeStart","currentNodeEnd","push","shift","$createAutoLinkNode_","fields","linkType","linkNode","remainingTextNode","linkTextNode","splitText","textNode","setFormat","getFormat","setDetail","getDetail","setStyle","getStyle","append","replace","firstTextNode","offset","firstLinkTextNode","linkNodes","forEach","endNode","selection","selectedTextNode","getNodes","find","select","anchor","focus","$handleLinkCreation","onChange","initialText","map","join","invalidMatchEnd","matchLength","isValid","actualMatchStart","actualMatchEnd","substring","handleLinkEdit","children","getChildren","childrenLength","i","child","isSimpleText","replaceWithChildren","getFields","flds","setFields","handleBadNeighbors","previousSibling","nextSibling","isEmailURI","startsWith","j","insertAfter","remove","getLatest","getTextNodesToMatch","textNodesToMatch","useAutoLink","editor","$","t0","t1","hasNodes","Error","onChangeWrapped","prevUrl","registerNodeTransform","parent","getParentOrThrow","previous","URL_REGEX","EMAIL_REGEX","MATCHERS","AutoLinkPlugin"],"sources":["../../../../../../src/features/link/client/plugins/autoLink/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementNode, LexicalEditor, LexicalNode, TextNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { mergeRegister } from '@lexical/utils'\nimport {\n $createTextNode,\n $getSelection,\n $isElementNode,\n $isLineBreakNode,\n $isNodeSelection,\n $isRangeSelection,\n $isTextNode,\n TextNode as TextNodeValue,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\nimport type { LinkFields } from '../../../server/schema.js'\nimport type { ClientProps } from '../../index.js'\n\nimport { $createAutoLinkNode, $isAutoLinkNode, AutoLinkNode } from '../../../nodes/AutoLinkNode.js'\nimport { $isLinkNode } from '../../../nodes/LinkNode.js'\n\ntype ChangeHandler = (url: null | string, prevUrl: null | string) => void\n\ninterface LinkMatcherResult {\n fields?: LinkFields\n index: number\n length: number\n text: string\n url: string\n}\n\nexport type LinkMatcher = (text: string) => LinkMatcherResult | null\n\nexport function createLinkMatcherWithRegExp(\n regExp: RegExp,\n urlTransformer: (text: string) => string = (text) => text,\n) {\n return (text: string) => {\n const match = regExp.exec(text)\n if (match === null) {\n return null\n }\n return {\n index: match.index,\n length: match[0].length,\n text: match[0],\n url: urlTransformer(match[0]),\n }\n }\n}\n\nfunction findFirstMatch(text: string, matchers: LinkMatcher[]): LinkMatcherResult | null {\n for (const matcher of matchers) {\n const match = matcher(text)\n\n if (match != null) {\n return match\n }\n }\n\n return null\n}\n\nconst PUNCTUATION_OR_SPACE = /[.,;\\s]/\n\nfunction isSeparator(char: string | undefined): boolean {\n return char !== undefined && PUNCTUATION_OR_SPACE.test(char)\n}\n\nfunction endsWithSeparator(textContent: string): boolean {\n return isSeparator(textContent[textContent.length - 1])\n}\n\nfunction startsWithSeparator(textContent: string): boolean {\n return isSeparator(textContent[0])\n}\n\n/**\n * Check if the text content starts with a fullstop followed by a top-level domain.\n * Meaning if the text content can be a beginning of a top level domain.\n * @param textContent\n * @param isEmail\n * @returns boolean\n */\nfunction startsWithTLD(textContent: string, isEmail: boolean): boolean {\n if (isEmail) {\n return /^\\.[a-z]{2,}/i.test(textContent)\n } else {\n return /^\\.[a-z0-9]+/i.test(textContent)\n }\n}\n\nfunction isPreviousNodeValid(node: LexicalNode): boolean {\n let previousNode = node.getPreviousSibling()\n if ($isElementNode(previousNode)) {\n previousNode = previousNode.getLastDescendant()\n }\n return (\n previousNode === null ||\n $isLineBreakNode(previousNode) ||\n ($isTextNode(previousNode) && endsWithSeparator(previousNode.getTextContent()))\n )\n}\n\nfunction isNextNodeValid(node: LexicalNode): boolean {\n let nextNode = node.getNextSibling()\n if ($isElementNode(nextNode)) {\n nextNode = nextNode.getFirstDescendant()\n }\n return (\n nextNode === null ||\n $isLineBreakNode(nextNode) ||\n ($isTextNode(nextNode) && startsWithSeparator(nextNode.getTextContent()))\n )\n}\n\nfunction isContentAroundIsValid(\n matchStart: number,\n matchEnd: number,\n text: string,\n nodes: TextNode[],\n): boolean {\n const contentBeforeIsValid =\n matchStart > 0 ? isSeparator(text[matchStart - 1]) : isPreviousNodeValid(nodes[0]!)\n if (!contentBeforeIsValid) {\n return false\n }\n\n const contentAfterIsValid =\n matchEnd < text.length ? isSeparator(text[matchEnd]) : isNextNodeValid(nodes[nodes.length - 1]!)\n return contentAfterIsValid\n}\n\nfunction extractMatchingNodes(\n nodes: TextNode[],\n startIndex: number,\n endIndex: number,\n): [\n matchingOffset: number,\n unmodifiedBeforeNodes: TextNode[],\n matchingNodes: TextNode[],\n unmodifiedAfterNodes: TextNode[],\n] {\n const unmodifiedBeforeNodes: TextNode[] = []\n const matchingNodes: TextNode[] = []\n const unmodifiedAfterNodes: TextNode[] = []\n let matchingOffset = 0\n\n let currentOffset = 0\n const currentNodes = [...nodes]\n\n while (currentNodes.length > 0) {\n const currentNode = currentNodes[0]!\n const currentNodeText = currentNode.getTextContent()\n const currentNodeLength = currentNodeText.length\n const currentNodeStart = currentOffset\n const currentNodeEnd = currentOffset + currentNodeLength\n\n if (currentNodeEnd <= startIndex) {\n unmodifiedBeforeNodes.push(currentNode)\n matchingOffset += currentNodeLength\n } else if (currentNodeStart >= endIndex) {\n unmodifiedAfterNodes.push(currentNode)\n } else {\n matchingNodes.push(currentNode)\n }\n currentOffset += currentNodeLength\n currentNodes.shift()\n }\n return [matchingOffset, unmodifiedBeforeNodes, matchingNodes, unmodifiedAfterNodes]\n}\n\nfunction $createAutoLinkNode_(\n nodes: TextNode[],\n startIndex: number,\n endIndex: number,\n match: LinkMatcherResult,\n): TextNode | undefined {\n const fields = {\n linkType: 'custom',\n url: match.url,\n ...match.fields,\n } as LinkFields\n\n const linkNode = $createAutoLinkNode({ fields })\n if (nodes.length === 1) {\n const remainingTextNode = nodes[0]!\n let linkTextNode: TextNode | undefined\n if (startIndex === 0) {\n ;[linkTextNode] = remainingTextNode.splitText(endIndex)\n } else {\n ;[, linkTextNode] = remainingTextNode.splitText(startIndex, endIndex)\n }\n if (linkTextNode) {\n const textNode = $createTextNode(match.text)\n textNode.setFormat(linkTextNode.getFormat())\n textNode.setDetail(linkTextNode.getDetail())\n textNode.setStyle(linkTextNode.getStyle())\n linkNode.append(textNode)\n linkTextNode.replace(linkNode)\n }\n return remainingTextNode\n } else if (nodes.length > 1) {\n const firstTextNode = nodes[0]!\n let offset = firstTextNode.getTextContent().length\n let firstLinkTextNode\n if (startIndex === 0) {\n firstLinkTextNode = firstTextNode\n } else {\n ;[, firstLinkTextNode] = firstTextNode.splitText(startIndex)\n }\n const linkNodes: LexicalNode[] = []\n let remainingTextNode\n nodes.forEach((currentNode) => {\n const currentNodeText = currentNode.getTextContent()\n const currentNodeLength = currentNodeText.length\n const currentNodeStart = offset\n const currentNodeEnd = offset + currentNodeLength\n if (currentNodeStart < endIndex) {\n if (currentNodeEnd <= endIndex) {\n linkNodes.push(currentNode)\n } else {\n const [linkTextNode, endNode] = currentNode.splitText(endIndex - currentNodeStart)\n if (linkTextNode) {\n linkNodes.push(linkTextNode)\n }\n remainingTextNode = endNode\n }\n }\n offset += currentNodeLength\n })\n\n if (firstLinkTextNode) {\n const selection = $getSelection()\n const selectedTextNode = selection ? selection.getNodes().find($isTextNode) : undefined\n const textNode = $createTextNode(firstLinkTextNode.getTextContent())\n textNode.setFormat(firstLinkTextNode.getFormat())\n textNode.setDetail(firstLinkTextNode.getDetail())\n textNode.setStyle(firstLinkTextNode.getStyle())\n linkNode.append(textNode, ...linkNodes)\n // it does not preserve caret position if caret was at the first text node\n // so we need to restore caret position\n if (selectedTextNode && selectedTextNode === firstLinkTextNode) {\n if ($isRangeSelection(selection)) {\n textNode.select(selection.anchor.offset, selection.focus.offset)\n } else if ($isNodeSelection(selection)) {\n textNode.select(0, textNode.getTextContent().length)\n }\n }\n firstLinkTextNode.replace(linkNode)\n return remainingTextNode\n }\n }\n return undefined\n}\n\nfunction $handleLinkCreation(\n nodes: TextNode[],\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n let currentNodes = [...nodes]\n const initialText = currentNodes.map((node) => node.getTextContent()).join('')\n let text = initialText\n\n let match\n let invalidMatchEnd = 0\n\n while ((match = findFirstMatch(text, matchers)) != null && match !== null) {\n const matchStart: number = match.index\n const matchLength: number = match.length\n const matchEnd = matchStart + matchLength\n const isValid = isContentAroundIsValid(\n invalidMatchEnd + matchStart,\n invalidMatchEnd + matchEnd,\n initialText,\n currentNodes,\n )\n\n if (isValid) {\n const [matchingOffset, , matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(\n currentNodes,\n invalidMatchEnd + matchStart,\n invalidMatchEnd + matchEnd,\n )\n\n const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset\n const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset\n const remainingTextNode = $createAutoLinkNode_(\n matchingNodes,\n actualMatchStart,\n actualMatchEnd,\n match,\n )\n currentNodes = remainingTextNode\n ? [remainingTextNode, ...unmodifiedAfterNodes]\n : unmodifiedAfterNodes\n onChange(match.url, null)\n invalidMatchEnd = 0\n } else {\n invalidMatchEnd += matchEnd\n }\n\n text = text.substring(matchEnd)\n }\n}\n\nfunction handleLinkEdit(\n linkNode: AutoLinkNode,\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n // Check children are simple text\n const children = linkNode.getChildren()\n const childrenLength = children.length\n for (let i = 0; i < childrenLength; i++) {\n const child = children[i]\n if (!$isTextNode(child) || !child.isSimpleText()) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n }\n\n // Check text content fully matches\n const text = linkNode.getTextContent()\n const match = findFirstMatch(text, matchers)\n if (match === null || match.text !== text) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n\n // Check neighbors\n if (!isPreviousNodeValid(linkNode) || !isNextNodeValid(linkNode)) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n\n const url = linkNode.getFields()?.url\n if (url !== match?.url) {\n const flds = linkNode.getFields()\n flds.url = match?.url\n linkNode.setFields(flds)\n onChange(match.url, url ?? null)\n }\n}\n\n// Bad neighbors are edits in neighbor nodes that make AutoLinks incompatible.\n// Given the creation preconditions, these can only be simple text nodes.\nfunction handleBadNeighbors(\n textNode: TextNode,\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n const previousSibling = textNode.getPreviousSibling()\n const nextSibling = textNode.getNextSibling()\n const text = textNode.getTextContent()\n\n if ($isAutoLinkNode(previousSibling)) {\n const isEmailURI = previousSibling.getFields()?.url\n ? (previousSibling.getFields()?.url?.startsWith('mailto:') ?? false)\n : false\n if (!startsWithSeparator(text) || startsWithTLD(text, isEmailURI)) {\n previousSibling.append(textNode)\n handleLinkEdit(previousSibling, matchers, onChange)\n onChange(null, previousSibling.getFields()?.url ?? null)\n }\n }\n\n if ($isAutoLinkNode(nextSibling) && !endsWithSeparator(text)) {\n replaceWithChildren(nextSibling)\n handleLinkEdit(nextSibling, matchers, onChange)\n onChange(null, nextSibling.getFields()?.url ?? null)\n }\n}\n\nfunction replaceWithChildren(node: ElementNode): LexicalNode[] {\n const children = node.getChildren()\n const childrenLength = children.length\n\n for (let j = childrenLength - 1; j >= 0; j--) {\n node.insertAfter(children[j]!)\n }\n\n node.remove()\n return children.map((child) => child.getLatest())\n}\n\nfunction getTextNodesToMatch(textNode: TextNode): TextNode[] {\n // check if next siblings are simple text nodes till a node contains a space separator\n const textNodesToMatch = [textNode]\n let nextSibling = textNode.getNextSibling()\n while (nextSibling !== null && $isTextNode(nextSibling) && nextSibling.isSimpleText()) {\n textNodesToMatch.push(nextSibling)\n if (/\\s/.test(nextSibling.getTextContent())) {\n break\n }\n nextSibling = nextSibling.getNextSibling()\n }\n return textNodesToMatch\n}\n\nfunction useAutoLink(\n editor: LexicalEditor,\n matchers: LinkMatcher[],\n onChange?: ChangeHandler,\n): void {\n useEffect(() => {\n if (!editor.hasNodes([AutoLinkNode])) {\n throw new Error('LexicalAutoLinkPlugin: AutoLinkNode not registered on editor')\n }\n\n const onChangeWrapped = (url: null | string, prevUrl: null | string): void => {\n if (onChange != null) {\n onChange(url, prevUrl)\n }\n }\n\n return mergeRegister(\n editor.registerNodeTransform(TextNodeValue, (textNode: TextNode) => {\n const parent = textNode.getParentOrThrow()\n const previous = textNode.getPreviousSibling()\n if ($isAutoLinkNode(parent)) {\n handleLinkEdit(parent, matchers, onChangeWrapped)\n } else if (!$isLinkNode(parent)) {\n if (\n textNode.isSimpleText() &&\n (startsWithSeparator(textNode.getTextContent()) || !$isAutoLinkNode(previous))\n ) {\n const textNodesToMatch = getTextNodesToMatch(textNode)\n $handleLinkCreation(textNodesToMatch, matchers, onChangeWrapped)\n }\n\n handleBadNeighbors(textNode, matchers, onChangeWrapped)\n }\n }),\n )\n }, [editor, matchers, onChange])\n}\n\nconst URL_REGEX =\n /((https?:\\/\\/(www\\.)?)|(www\\.))[-\\w@:%.+~#=]{1,256}\\.[a-zA-Z\\d()]{1,6}\\b([-\\w()@:%+.~#?&/=]*)(?<![-.+():%])/\n\nconst EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\])|(([a-z\\-\\d]+\\.)+[a-z]{2,}))/i\n\nconst MATCHERS = [\n createLinkMatcherWithRegExp(URL_REGEX, (text) => {\n return text.startsWith('http') ? text : `https://${text}`\n }),\n createLinkMatcherWithRegExp(EMAIL_REGEX, (text) => {\n return `mailto:${text}`\n }),\n]\n\nexport const AutoLinkPlugin: PluginComponent<ClientProps> = () => {\n const [editor] = useLexicalComposerContext()\n\n useAutoLink(editor, MATCHERS)\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAoE,MAAM,OAAO,CAAA;AAqBxF,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,KAAK,CAAC,SAAS,CAuZvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAoE,MAAM,OAAO,CAAA;AAwBxF,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,KAAK,CAAC,SAAS,CAgavF"}