@payloadcms/richtext-lexical 4.0.0-internal.293e026 → 4.0.0-internal.2a3c3bc

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 (794) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/exports/client/Field-MT4FK3IP.js +2 -0
  3. package/dist/exports/client/Field-MT4FK3IP.js.map +7 -0
  4. package/dist/exports/client/chunk-3LRZDIIG.js +2 -0
  5. package/dist/exports/client/chunk-3LRZDIIG.js.map +7 -0
  6. package/dist/exports/client/chunk-E6LSRRP2.js +2 -0
  7. package/dist/exports/client/chunk-E6LSRRP2.js.map +7 -0
  8. package/dist/exports/client/chunk-ZQX5HXUL.js +2 -0
  9. package/dist/exports/client/chunk-ZQX5HXUL.js.map +7 -0
  10. package/dist/exports/client/component-6DQLENIE.js +2 -0
  11. package/dist/exports/client/component-6DQLENIE.js.map +7 -0
  12. package/dist/exports/client/componentInline-HNE5G4TE.js +2 -0
  13. package/dist/exports/client/index.d.ts +1 -3
  14. package/dist/exports/client/index.d.ts.map +1 -1
  15. package/dist/exports/client/index.js +28 -29
  16. package/dist/exports/client/index.js.map +4 -4
  17. package/dist/features/align/client/toolbarAlignGroup.d.ts.map +1 -1
  18. package/dist/features/blockquote/client/index.js +2 -2
  19. package/dist/features/blockquote/client/index.js.map +1 -1
  20. package/dist/features/blockquote/server/index.js +2 -2
  21. package/dist/features/blockquote/server/index.js.map +1 -1
  22. package/dist/features/blocks/client/component/BlockReordering/index.d.ts +11 -0
  23. package/dist/features/blocks/client/component/BlockReordering/index.d.ts.map +1 -0
  24. package/dist/features/blocks/client/component/BlockReordering/index.js +18 -0
  25. package/dist/features/blocks/client/component/BlockReordering/index.js.map +1 -0
  26. package/dist/features/blocks/client/component/index.css +2 -2
  27. package/dist/features/blocks/client/component/index.d.ts +0 -6
  28. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  29. package/dist/features/blocks/client/component/index.js +169 -101
  30. package/dist/features/blocks/client/component/index.js.map +1 -1
  31. package/dist/features/blocks/client/component/useBlockReordering.d.ts +16 -0
  32. package/dist/features/blocks/client/component/useBlockReordering.d.ts.map +1 -0
  33. package/dist/features/blocks/client/component/useBlockReordering.js +178 -0
  34. package/dist/features/blocks/client/component/useBlockReordering.js.map +1 -0
  35. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -1
  36. package/dist/features/blocks/client/componentInline/index.css +8 -9
  37. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  38. package/dist/features/blocks/client/componentInline/index.js +30 -22
  39. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  40. package/dist/features/blocks/client/getBlockImageComponent.d.ts +1 -1
  41. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts +9 -0
  42. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts.map +1 -0
  43. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js +95 -0
  44. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js.map +1 -0
  45. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +1 -1
  46. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -1
  47. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +1 -1
  48. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  49. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +1 -1
  50. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -1
  51. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +5 -2
  52. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  53. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +1 -2
  54. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -1
  55. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  56. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  57. package/dist/features/blocks/client/nodes/BlocksNode.js +0 -10
  58. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  59. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  60. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.css +1 -1
  61. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.css +2 -4
  62. package/dist/features/blocks/premade/CodeBlock/Component/index.css +5 -5
  63. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  64. package/dist/features/blocks/server/index.js +2 -2
  65. package/dist/features/blocks/server/index.js.map +1 -1
  66. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +1 -1
  67. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -1
  68. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  69. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  70. package/dist/features/blocks/server/nodes/BlocksNode.js +1 -12
  71. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  72. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  73. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +2 -2
  74. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  75. package/dist/features/blocks/server/schema.d.ts +2 -0
  76. package/dist/features/blocks/server/schema.d.ts.map +1 -1
  77. package/dist/features/blocks/server/schema.js +10 -11
  78. package/dist/features/blocks/server/schema.js.map +1 -1
  79. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  80. package/dist/features/blocks/server/validate.js +1 -1
  81. package/dist/features/blocks/server/validate.js.map +1 -1
  82. package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
  83. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +1 -1
  84. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  85. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  86. package/dist/features/converters/lexicalToHtml/async/converters/list.js +4 -3
  87. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  88. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +3 -3
  89. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  90. package/dist/features/converters/lexicalToHtml/shared/cssColors.d.ts.map +1 -1
  91. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -1
  92. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +3 -2
  93. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  94. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +1 -1
  95. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  96. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  97. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +4 -3
  98. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  99. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +3 -3
  100. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  101. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  102. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +2 -1
  103. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  104. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  105. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +2 -1
  106. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  107. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -1
  108. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +4 -5
  109. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  110. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -1
  111. package/dist/features/converters/lexicalToMarkdown/index.js +1 -1
  112. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  113. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -1
  114. package/dist/features/converters/markdownToLexical/index.js +5 -2
  115. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  116. package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
  117. package/dist/features/converters/utilities/payloadPopulateFn.js +4 -2
  118. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  119. package/dist/features/debug/jsxConverter/client/plugin/style.css +2 -2
  120. package/dist/features/debug/testRecorder/client/plugin/index.css +0 -1
  121. package/dist/features/format/bold/feature.client.js +1 -1
  122. package/dist/features/format/bold/feature.client.js.map +1 -1
  123. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  124. package/dist/features/format/bold/feature.server.js +1 -1
  125. package/dist/features/format/bold/feature.server.js.map +1 -1
  126. package/dist/features/format/inlineCode/feature.client.js +1 -1
  127. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  128. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  129. package/dist/features/format/inlineCode/feature.server.js +1 -1
  130. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  131. package/dist/features/format/italic/feature.client.js +1 -1
  132. package/dist/features/format/italic/feature.client.js.map +1 -1
  133. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  134. package/dist/features/format/italic/feature.server.js +1 -1
  135. package/dist/features/format/italic/feature.server.js.map +1 -1
  136. package/dist/features/format/shared/toolbarFormatGroup.d.ts.map +1 -1
  137. package/dist/features/format/strikethrough/feature.client.js +1 -1
  138. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  139. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  140. package/dist/features/format/strikethrough/feature.server.js +1 -1
  141. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  142. package/dist/features/heading/client/index.js +2 -2
  143. package/dist/features/heading/client/index.js.map +1 -1
  144. package/dist/features/heading/constants.d.ts +2 -0
  145. package/dist/features/heading/constants.d.ts.map +1 -0
  146. package/dist/features/heading/constants.js +2 -0
  147. package/dist/features/heading/constants.js.map +1 -0
  148. package/dist/features/heading/markdownTransformer.d.ts +2 -2
  149. package/dist/features/heading/markdownTransformer.d.ts.map +1 -1
  150. package/dist/features/heading/markdownTransformer.js +6 -19
  151. package/dist/features/heading/markdownTransformer.js.map +1 -1
  152. package/dist/features/heading/server/index.d.ts.map +1 -1
  153. package/dist/features/heading/server/index.js +7 -3
  154. package/dist/features/heading/server/index.js.map +1 -1
  155. package/dist/features/heading/server/schema.d.ts.map +1 -1
  156. package/dist/features/heading/server/validate.d.ts +6 -0
  157. package/dist/features/heading/server/validate.d.ts.map +1 -0
  158. package/dist/features/heading/server/validate.js +15 -0
  159. package/dist/features/heading/server/validate.js.map +1 -0
  160. package/dist/features/horizontalRule/client/index.js +2 -2
  161. package/dist/features/horizontalRule/client/index.js.map +1 -1
  162. package/dist/features/horizontalRule/client/markdownTransformer.d.ts +2 -2
  163. package/dist/features/horizontalRule/client/markdownTransformer.d.ts.map +1 -1
  164. package/dist/features/horizontalRule/client/markdownTransformer.js +1 -1
  165. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  166. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +12 -2
  167. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  168. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +18 -1
  169. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  170. package/dist/features/horizontalRule/client/plugin/index.css +2 -2
  171. package/dist/features/horizontalRule/server/index.js +2 -2
  172. package/dist/features/horizontalRule/server/index.js.map +1 -1
  173. package/dist/features/horizontalRule/server/markdownTransformer.d.ts +2 -2
  174. package/dist/features/horizontalRule/server/markdownTransformer.d.ts.map +1 -1
  175. package/dist/features/horizontalRule/server/markdownTransformer.js +1 -1
  176. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  177. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -1
  178. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  179. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +3 -3
  180. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  181. package/dist/features/horizontalRule/server/schema.d.ts +1 -0
  182. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -1
  183. package/dist/features/horizontalRule/server/schema.js +6 -5
  184. package/dist/features/horizontalRule/server/schema.js.map +1 -1
  185. package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
  186. package/dist/features/indent/client/IndentPlugin.js +122 -1
  187. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  188. package/dist/features/indent/client/toolbarIndentGroup.d.ts.map +1 -1
  189. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  190. package/dist/features/indent/server/i18n.js +74 -37
  191. package/dist/features/indent/server/i18n.js.map +1 -1
  192. package/dist/features/link/client/index.js +2 -2
  193. package/dist/features/link/client/index.js.map +1 -1
  194. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  195. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  196. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +11 -8
  197. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  198. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +7 -13
  199. package/dist/features/link/markdownTransformer.d.ts +4 -4
  200. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  201. package/dist/features/link/markdownTransformer.js +2 -2
  202. package/dist/features/link/markdownTransformer.js.map +1 -1
  203. package/dist/features/link/nodes/AutoLinkNode.d.ts +1 -1
  204. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  205. package/dist/features/link/nodes/AutoLinkNode.js +2 -10
  206. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  207. package/dist/features/link/nodes/LinkNode.d.ts +1 -1
  208. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  209. package/dist/features/link/nodes/LinkNode.js +2 -15
  210. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  211. package/dist/features/link/server/baseFields.d.ts.map +1 -1
  212. package/dist/features/link/server/baseFields.js.map +1 -1
  213. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -1
  214. package/dist/features/link/server/index.js +4 -4
  215. package/dist/features/link/server/index.js.map +1 -1
  216. package/dist/features/link/server/schema.d.ts.map +1 -1
  217. package/dist/features/link/server/schema.js +4 -2
  218. package/dist/features/link/server/schema.js.map +1 -1
  219. package/dist/features/link/server/validate.d.ts.map +1 -1
  220. package/dist/features/link/server/validate.js +1 -1
  221. package/dist/features/link/server/validate.js.map +1 -1
  222. package/dist/features/lists/checklist/client/index.js +1 -1
  223. package/dist/features/lists/checklist/client/index.js.map +1 -1
  224. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  225. package/dist/features/lists/checklist/server/index.js +6 -3
  226. package/dist/features/lists/checklist/server/index.js.map +1 -1
  227. package/dist/features/lists/orderedList/client/index.js +1 -1
  228. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  229. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  230. package/dist/features/lists/orderedList/server/index.js +6 -3
  231. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  232. package/dist/features/lists/shared/constants.d.ts +2 -0
  233. package/dist/features/lists/shared/constants.d.ts.map +1 -0
  234. package/dist/features/lists/shared/constants.js +2 -0
  235. package/dist/features/lists/shared/constants.js.map +1 -0
  236. package/dist/features/lists/shared/validate.d.ts +5 -0
  237. package/dist/features/lists/shared/validate.d.ts.map +1 -0
  238. package/dist/features/lists/shared/validate.js +15 -0
  239. package/dist/features/lists/shared/validate.js.map +1 -0
  240. package/dist/features/lists/unorderedList/client/index.js +1 -1
  241. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  242. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  243. package/dist/features/lists/unorderedList/server/index.js +6 -3
  244. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  245. package/dist/features/relationship/client/components/index.css +3 -6
  246. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
  247. package/dist/features/relationship/client/index.d.ts +2 -2
  248. package/dist/features/relationship/client/index.d.ts.map +1 -1
  249. package/dist/features/relationship/client/index.js.map +1 -1
  250. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  251. package/dist/features/relationship/client/nodes/RelationshipNode.js +0 -3
  252. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  253. package/dist/features/relationship/client/plugins/index.d.ts +2 -2
  254. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  255. package/dist/features/relationship/client/plugins/index.js +27 -31
  256. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  257. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts +2 -4
  258. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  259. package/dist/features/relationship/client/utils/useEnabledRelationships.js +53 -20
  260. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  261. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +2 -2
  262. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  263. package/dist/features/relationship/server/graphQLPopulationPromise.js +2 -2
  264. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  265. package/dist/features/relationship/server/index.d.ts +8 -1
  266. package/dist/features/relationship/server/index.d.ts.map +1 -1
  267. package/dist/features/relationship/server/index.js +28 -11
  268. package/dist/features/relationship/server/index.js.map +1 -1
  269. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  270. package/dist/features/relationship/server/nodes/RelationshipNode.js +1 -5
  271. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  272. package/dist/features/relationship/server/schema.d.ts +6 -5
  273. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  274. package/dist/features/relationship/server/schema.js +31 -17
  275. package/dist/features/relationship/server/schema.js.map +1 -1
  276. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +1 -6
  277. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -1
  278. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +1 -5
  279. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -1
  280. package/dist/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -1
  281. package/dist/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -1
  282. package/dist/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -1
  283. package/dist/features/table/client/index.d.ts.map +1 -0
  284. package/dist/features/{experimental_table → table}/client/index.js +2 -2
  285. package/dist/features/table/client/index.js.map +1 -0
  286. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts +8 -0
  287. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts.map +1 -0
  288. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js +19 -0
  289. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js.map +1 -0
  290. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.css +0 -1
  291. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  292. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.js +17 -44
  293. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  294. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  295. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.js +41 -18
  296. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  297. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  298. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  299. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.css +0 -3
  300. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  301. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  302. package/dist/features/table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  303. package/dist/features/table/client/plugins/TablePlugin/index.js.map +1 -0
  304. package/dist/features/table/client/utils/debounce.d.ts.map +1 -0
  305. package/dist/features/table/client/utils/debounce.js.map +1 -0
  306. package/dist/features/table/client/utils/useDebounce.d.ts.map +1 -0
  307. package/dist/features/table/client/utils/useDebounce.js.map +1 -0
  308. package/dist/features/table/markdownTransformer.d.ts +5 -0
  309. package/dist/features/table/markdownTransformer.d.ts.map +1 -0
  310. package/dist/features/{experimental_table → table}/markdownTransformer.js +6 -3
  311. package/dist/features/table/markdownTransformer.js.map +1 -0
  312. package/dist/features/table/server/index.d.ts +3 -0
  313. package/dist/features/table/server/index.d.ts.map +1 -0
  314. package/dist/features/{experimental_table → table}/server/index.js +6 -6
  315. package/dist/features/table/server/index.js.map +1 -0
  316. package/dist/features/table/server/schema.d.ts.map +1 -0
  317. package/dist/features/table/server/schema.js.map +1 -0
  318. package/dist/features/textState/feature.client.js +1 -1
  319. package/dist/features/textState/feature.client.js.map +1 -1
  320. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts +8 -0
  321. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts.map +1 -0
  322. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js +80 -0
  323. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js.map +1 -0
  324. package/dist/features/toolbars/fixed/client/Toolbar/index.css +80 -8
  325. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  326. package/dist/features/toolbars/fixed/client/Toolbar/index.js +19 -1
  327. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  328. package/dist/features/toolbars/inline/client/Toolbar/index.css +2 -14
  329. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  330. package/dist/features/toolbars/inline/client/Toolbar/index.js +17 -2
  331. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  332. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  333. package/dist/features/toolbars/shared/ToolbarButton/index.js +1 -0
  334. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  335. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  336. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +85 -32
  337. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  338. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +23 -25
  339. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  340. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  341. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.d.ts +5 -0
  342. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.d.ts.map +1 -0
  343. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.js +79 -0
  344. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.js.map +1 -0
  345. package/dist/features/toolbars/shared/useToolbarStates.d.ts.map +1 -1
  346. package/dist/features/toolbars/shared/useToolbarStates.js +3 -1
  347. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  348. package/dist/features/typesClient.d.ts +1 -1
  349. package/dist/features/typesClient.d.ts.map +1 -1
  350. package/dist/features/typesClient.js.map +1 -1
  351. package/dist/features/typesServer.d.ts +19 -14
  352. package/dist/features/typesServer.d.ts.map +1 -1
  353. package/dist/features/typesServer.js.map +1 -1
  354. package/dist/features/upload/client/component/index.css +9 -11
  355. package/dist/features/upload/client/component/index.js +2 -1
  356. package/dist/features/upload/client/component/index.js.map +1 -1
  357. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  358. package/dist/features/upload/client/index.d.ts +3 -2
  359. package/dist/features/upload/client/index.d.ts.map +1 -1
  360. package/dist/features/upload/client/index.js.map +1 -1
  361. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  362. package/dist/features/upload/client/nodes/UploadNode.js +0 -7
  363. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  364. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  365. package/dist/features/upload/client/plugin/index.js +53 -56
  366. package/dist/features/upload/client/plugin/index.js.map +1 -1
  367. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +2 -2
  368. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  369. package/dist/features/upload/server/graphQLPopulationPromise.js +1 -1
  370. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  371. package/dist/features/upload/server/index.d.ts +7 -3
  372. package/dist/features/upload/server/index.d.ts.map +1 -1
  373. package/dist/features/upload/server/index.js +22 -18
  374. package/dist/features/upload/server/index.js.map +1 -1
  375. package/dist/features/upload/server/markdownTransformer.d.ts +2 -2
  376. package/dist/features/upload/server/markdownTransformer.d.ts.map +1 -1
  377. package/dist/features/upload/server/markdownTransformer.js +1 -1
  378. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  379. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  380. package/dist/features/upload/server/nodes/UploadNode.js +1 -9
  381. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  382. package/dist/features/upload/server/schema.d.ts +6 -18
  383. package/dist/features/upload/server/schema.d.ts.map +1 -1
  384. package/dist/features/upload/server/schema.js +34 -16
  385. package/dist/features/upload/server/schema.js.map +1 -1
  386. package/dist/features/upload/server/validate.d.ts +2 -2
  387. package/dist/features/upload/server/validate.d.ts.map +1 -1
  388. package/dist/features/upload/server/validate.js +4 -1
  389. package/dist/features/upload/server/validate.js.map +1 -1
  390. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  391. package/dist/field/Diff/converters/listitem/index.js +2 -1
  392. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  393. package/dist/field/Diff/converters/relationship/index.css +0 -1
  394. package/dist/field/Diff/converters/unknown/index.css +1 -2
  395. package/dist/field/Diff/converters/upload/index.css +0 -1
  396. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  397. package/dist/field/Diff/index.css +0 -2
  398. package/dist/field/Diff/index.d.ts +3 -2
  399. package/dist/field/Diff/index.d.ts.map +1 -1
  400. package/dist/field/Diff/index.js +3 -2
  401. package/dist/field/Diff/index.js.map +1 -1
  402. package/dist/field/Field.d.ts.map +1 -1
  403. package/dist/field/Field.js +26 -16
  404. package/dist/field/Field.js.map +1 -1
  405. package/dist/field/RenderLexical/index.d.ts +3 -1
  406. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  407. package/dist/field/RenderLexical/index.js +23 -23
  408. package/dist/field/RenderLexical/index.js.map +1 -1
  409. package/dist/field/ViewSelector.css +1 -1
  410. package/dist/field/ViewSelector.d.ts.map +1 -1
  411. package/dist/field/ViewSelector.js +1 -0
  412. package/dist/field/ViewSelector.js.map +1 -1
  413. package/dist/field/bundled.css +1 -1
  414. package/dist/field/index.css +7 -5
  415. package/dist/field/rscEntry.d.ts +2 -2
  416. package/dist/field/rscEntry.d.ts.map +1 -1
  417. package/dist/field/rscEntry.js.map +1 -1
  418. package/dist/i18n.d.ts.map +1 -1
  419. package/dist/i18n.js +68 -0
  420. package/dist/i18n.js.map +1 -1
  421. package/dist/index.d.ts +6 -6
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +33 -54
  424. package/dist/index.js.map +1 -1
  425. package/dist/lexical/LexicalEditor.css +30 -19
  426. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  427. package/dist/lexical/LexicalEditor.js +62 -99
  428. package/dist/lexical/LexicalEditor.js.map +1 -1
  429. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  430. package/dist/lexical/LexicalProvider.js +7 -22
  431. package/dist/lexical/LexicalProvider.js.map +1 -1
  432. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  433. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  434. package/dist/lexical/config/server/loader.d.ts +1 -1
  435. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  436. package/dist/lexical/config/server/loader.js +2 -2
  437. package/dist/lexical/config/server/loader.js.map +1 -1
  438. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  439. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  440. package/dist/lexical/config/server/sanitize.js +2 -2
  441. package/dist/lexical/config/server/sanitize.js.map +1 -1
  442. package/dist/lexical/plugins/DecoratorPlugin/index.css +1 -1
  443. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -1
  444. package/dist/lexical/plugins/DecoratorPlugin/index.js +24 -21
  445. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  446. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +18 -25
  447. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  448. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +27 -14
  449. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  450. package/dist/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  451. package/dist/lexical/plugins/MarkdownShortcut/index.js +1 -1
  452. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  453. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts.map +1 -1
  454. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js +21 -0
  455. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +1 -1
  456. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +0 -1
  457. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  458. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +2 -21
  459. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  460. package/dist/lexical/plugins/SlashMenu/index.css +1 -7
  461. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +2 -1
  462. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +2 -2
  463. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  464. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  465. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +5 -3
  466. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  467. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +17 -3
  468. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  469. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts +7 -0
  470. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts.map +1 -0
  471. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js +65 -0
  472. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js.map +1 -0
  473. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -1
  474. package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  475. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +2 -0
  476. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  477. package/dist/lexical/theme/EditorTheme.css +18 -21
  478. package/dist/lexical/ui/ContentEditable.css +22 -17
  479. package/dist/lexical/ui/ContentEditable.d.ts +2 -1
  480. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  481. package/dist/lexical/ui/ContentEditable.js +21 -7
  482. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  483. package/dist/lexical/ui/icons/H3/index.d.ts.map +1 -1
  484. package/dist/lexical/ui/icons/H3/index.js +13 -6
  485. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  486. package/dist/lexical/ui/icons/H4/index.d.ts.map +1 -1
  487. package/dist/lexical/ui/icons/H4/index.js +13 -6
  488. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  489. package/dist/lexical/ui/icons/H5/index.d.ts.map +1 -1
  490. package/dist/lexical/ui/icons/H5/index.js +13 -6
  491. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  492. package/dist/lexical/ui/icons/H6/index.d.ts.map +1 -1
  493. package/dist/lexical/ui/icons/H6/index.js +13 -6
  494. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  495. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts +17 -0
  496. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts.map +1 -0
  497. package/dist/lexical/utils/markdown/convertFromMarkdownString.js +27 -0
  498. package/dist/lexical/utils/markdown/convertFromMarkdownString.js.map +1 -0
  499. package/dist/lexical/utils/markdown/createBlockNode.d.ts +2 -2
  500. package/dist/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  501. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  502. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts +25 -0
  503. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts.map +1 -0
  504. package/dist/lexical/utils/markdown/normalizeMarkdown.js +91 -0
  505. package/dist/lexical/utils/markdown/normalizeMarkdown.js.map +1 -0
  506. package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
  507. package/dist/lexical/utils/point.d.ts.map +1 -1
  508. package/dist/lexical/utils/rect.d.ts.map +1 -1
  509. package/dist/lexical-proxy/@lexical-markdown.d.ts +1 -1
  510. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -1
  511. package/dist/lexical-proxy/@lexical-markdown.js +1 -1
  512. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  513. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts +2 -0
  514. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts.map +1 -0
  515. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js +2 -0
  516. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js.map +1 -0
  517. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts +2 -0
  518. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts.map +1 -0
  519. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js +2 -0
  520. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js.map +1 -0
  521. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts +2 -0
  522. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts.map +1 -0
  523. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js +2 -0
  524. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js.map +1 -0
  525. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts +2 -0
  526. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts.map +1 -0
  527. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js +2 -0
  528. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js.map +1 -0
  529. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts +2 -0
  530. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts.map +1 -0
  531. package/dist/lexical-proxy/@lexical-react/ReactExtension.js +2 -0
  532. package/dist/lexical-proxy/@lexical-react/ReactExtension.js.map +1 -0
  533. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts +2 -0
  534. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts.map +1 -0
  535. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js +2 -0
  536. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js.map +1 -0
  537. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts +2 -0
  538. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts.map +1 -0
  539. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js +2 -0
  540. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js.map +1 -0
  541. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts +2 -0
  542. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts.map +1 -0
  543. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js +2 -0
  544. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js.map +1 -0
  545. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts +2 -0
  546. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts.map +1 -0
  547. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js +2 -0
  548. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js.map +1 -0
  549. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts +2 -0
  550. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts.map +1 -0
  551. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js +2 -0
  552. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js.map +1 -0
  553. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts +2 -0
  554. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts.map +1 -0
  555. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js +2 -0
  556. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js.map +1 -0
  557. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts +2 -0
  558. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts.map +1 -0
  559. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js +2 -0
  560. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js.map +1 -0
  561. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts +2 -0
  562. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts.map +1 -0
  563. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js +2 -0
  564. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js.map +1 -0
  565. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts +2 -0
  566. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts.map +1 -0
  567. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js +2 -0
  568. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js.map +1 -0
  569. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts +2 -0
  570. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts.map +1 -0
  571. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js +2 -0
  572. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js.map +1 -0
  573. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  574. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
  575. package/dist/presets/llmInstructions.d.ts +2 -0
  576. package/dist/presets/llmInstructions.d.ts.map +1 -0
  577. package/dist/presets/llmInstructions.js +13 -0
  578. package/dist/presets/llmInstructions.js.map +1 -0
  579. package/dist/types/builtInNodes.d.ts +1 -1
  580. package/dist/types/builtInNodes.d.ts.map +1 -1
  581. package/dist/types/builtInNodes.js +8 -3
  582. package/dist/types/builtInNodes.js.map +1 -1
  583. package/dist/types/index.d.ts +4 -7
  584. package/dist/types/index.d.ts.map +1 -1
  585. package/dist/types/index.js.map +1 -1
  586. package/dist/types/jsonSchemaHelpers.d.ts +5 -1
  587. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -1
  588. package/dist/types/jsonSchemaHelpers.js +7 -2
  589. package/dist/types/jsonSchemaHelpers.js.map +1 -1
  590. package/dist/types/nodeTypes.d.ts +6 -1
  591. package/dist/types/nodeTypes.d.ts.map +1 -1
  592. package/dist/types/nodeTypes.js.map +1 -1
  593. package/dist/types/schema.d.ts.map +1 -1
  594. package/dist/types/schema.js +12 -5
  595. package/dist/types/schema.js.map +1 -1
  596. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  597. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  598. package/dist/utilities/buildInitialState.d.ts +3 -2
  599. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  600. package/dist/utilities/buildInitialState.js +1 -0
  601. package/dist/utilities/buildInitialState.js.map +1 -1
  602. package/dist/utilities/createServerFeature.d.ts +1 -1
  603. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  604. package/dist/utilities/createServerFeature.js +2 -2
  605. package/dist/utilities/createServerFeature.js.map +1 -1
  606. package/dist/utilities/editorConfigFactory.d.ts +6 -6
  607. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  608. package/dist/utilities/editorConfigFactory.js +9 -9
  609. package/dist/utilities/editorConfigFactory.js.map +1 -1
  610. package/dist/utilities/fieldsDrawer/index.css +4 -4
  611. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +1 -1
  612. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -1
  613. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -1
  614. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
  615. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts.map +1 -1
  616. package/dist/utilities/generateImportMap.d.ts +3 -3
  617. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  618. package/dist/utilities/generateImportMap.js +3 -7
  619. package/dist/utilities/generateImportMap.js.map +1 -1
  620. package/dist/utilities/generateSchemaMap.d.ts +1 -1
  621. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  622. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts +2 -2
  623. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  624. package/dist/utilities/getDefaultSanitizedEditorConfig.js +6 -17
  625. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  626. package/dist/utilities/recurseNodeTree.d.ts.map +1 -1
  627. package/dist/utilities/upgradeLexicalData/index.js +6 -3
  628. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  629. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  630. package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
  631. package/dist/validate/hasText.d.ts +2 -2
  632. package/dist/validate/hasText.d.ts.map +1 -1
  633. package/dist/validate/hasText.js.map +1 -1
  634. package/dist/validate/index.d.ts +1 -1
  635. package/dist/validate/index.d.ts.map +1 -1
  636. package/package.json +98 -30
  637. package/dist/@types/assets.d.js +0 -2
  638. package/dist/@types/assets.d.js.map +0 -1
  639. package/dist/dependencyChecker.spec.js +0 -16
  640. package/dist/dependencyChecker.spec.js.map +0 -1
  641. package/dist/exports/client/Field-VYBSMSRY.js +0 -2
  642. package/dist/exports/client/Field-VYBSMSRY.js.map +0 -7
  643. package/dist/exports/client/bundled.css +0 -1
  644. package/dist/exports/client/chunk-ESITTE3C.js +0 -2
  645. package/dist/exports/client/chunk-ESITTE3C.js.map +0 -7
  646. package/dist/exports/client/chunk-LH634DPU.js +0 -12
  647. package/dist/exports/client/chunk-LH634DPU.js.map +0 -7
  648. package/dist/exports/client/chunk-UD4DQ4AK.js +0 -2
  649. package/dist/exports/client/chunk-UD4DQ4AK.js.map +0 -7
  650. package/dist/exports/client/component-PHZQBOJE.js +0 -2
  651. package/dist/exports/client/component-PHZQBOJE.js.map +0 -7
  652. package/dist/exports/client/componentInline-H24N7GUG.js +0 -2
  653. package/dist/exports/server/rsc.browser.d.ts +0 -11
  654. package/dist/exports/server/rsc.browser.d.ts.map +0 -1
  655. package/dist/exports/server/rsc.browser.js +0 -10
  656. package/dist/exports/server/rsc.browser.js.map +0 -1
  657. package/dist/features/blockquote/markdownTransformer.d.ts +0 -3
  658. package/dist/features/blockquote/markdownTransformer.d.ts.map +0 -1
  659. package/dist/features/blockquote/markdownTransformer.js +0 -33
  660. package/dist/features/blockquote/markdownTransformer.js.map +0 -1
  661. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts +0 -11
  662. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts.map +0 -1
  663. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +0 -20
  664. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +0 -1
  665. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +0 -180
  666. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +0 -1
  667. package/dist/features/experimental_table/client/index.d.ts.map +0 -1
  668. package/dist/features/experimental_table/client/index.js.map +0 -1
  669. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  670. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +0 -1
  671. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  672. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +0 -1
  673. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +0 -1
  674. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +0 -1
  675. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +0 -1
  676. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js.map +0 -1
  677. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +0 -1
  678. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +0 -1
  679. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +0 -1
  680. package/dist/features/experimental_table/client/utils/debounce.js.map +0 -1
  681. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +0 -1
  682. package/dist/features/experimental_table/client/utils/useDebounce.js.map +0 -1
  683. package/dist/features/experimental_table/markdownTransformer.d.ts +0 -5
  684. package/dist/features/experimental_table/markdownTransformer.d.ts.map +0 -1
  685. package/dist/features/experimental_table/markdownTransformer.js.map +0 -1
  686. package/dist/features/experimental_table/server/index.d.ts +0 -3
  687. package/dist/features/experimental_table/server/index.d.ts.map +0 -1
  688. package/dist/features/experimental_table/server/index.js.map +0 -1
  689. package/dist/features/experimental_table/server/schema.d.ts.map +0 -1
  690. package/dist/features/experimental_table/server/schema.js.map +0 -1
  691. package/dist/features/format/bold/markdownTransformers.d.ts +0 -6
  692. package/dist/features/format/bold/markdownTransformers.d.ts.map +0 -1
  693. package/dist/features/format/bold/markdownTransformers.js +0 -23
  694. package/dist/features/format/bold/markdownTransformers.js.map +0 -1
  695. package/dist/features/format/inlineCode/markdownTransformers.d.ts +0 -3
  696. package/dist/features/format/inlineCode/markdownTransformers.d.ts.map +0 -1
  697. package/dist/features/format/inlineCode/markdownTransformers.js +0 -6
  698. package/dist/features/format/inlineCode/markdownTransformers.js.map +0 -1
  699. package/dist/features/format/italic/markdownTransformers.d.ts +0 -4
  700. package/dist/features/format/italic/markdownTransformers.d.ts.map +0 -1
  701. package/dist/features/format/italic/markdownTransformers.js +0 -12
  702. package/dist/features/format/italic/markdownTransformers.js.map +0 -1
  703. package/dist/features/format/strikethrough/markdownTransformers.d.ts +0 -3
  704. package/dist/features/format/strikethrough/markdownTransformers.d.ts.map +0 -1
  705. package/dist/features/format/strikethrough/markdownTransformers.js +0 -6
  706. package/dist/features/format/strikethrough/markdownTransformers.js.map +0 -1
  707. package/dist/features/link/markdownTransformer.spec.js +0 -195
  708. package/dist/features/link/markdownTransformer.spec.js.map +0 -1
  709. package/dist/features/lists/checklist/markdownTransformers.d.ts +0 -3
  710. package/dist/features/lists/checklist/markdownTransformers.d.ts.map +0 -1
  711. package/dist/features/lists/checklist/markdownTransformers.js +0 -12
  712. package/dist/features/lists/checklist/markdownTransformers.js.map +0 -1
  713. package/dist/features/lists/orderedList/markdownTransformer.d.ts +0 -3
  714. package/dist/features/lists/orderedList/markdownTransformer.d.ts.map +0 -1
  715. package/dist/features/lists/orderedList/markdownTransformer.js +0 -12
  716. package/dist/features/lists/orderedList/markdownTransformer.js.map +0 -1
  717. package/dist/features/lists/shared/markdown.d.ts +0 -6
  718. package/dist/features/lists/shared/markdown.d.ts.map +0 -1
  719. package/dist/features/lists/shared/markdown.js +0 -57
  720. package/dist/features/lists/shared/markdown.js.map +0 -1
  721. package/dist/features/lists/unorderedList/markdownTransformer.d.ts +0 -3
  722. package/dist/features/lists/unorderedList/markdownTransformer.d.ts.map +0 -1
  723. package/dist/features/lists/unorderedList/markdownTransformer.js +0 -12
  724. package/dist/features/lists/unorderedList/markdownTransformer.js.map +0 -1
  725. package/dist/field/clientEntry.d.ts +0 -29
  726. package/dist/field/clientEntry.d.ts.map +0 -1
  727. package/dist/field/clientEntry.js +0 -86
  728. package/dist/field/clientEntry.js.map +0 -1
  729. package/dist/lexical/utils/guard.d.ts +0 -5
  730. package/dist/lexical/utils/guard.d.ts.map +0 -1
  731. package/dist/lexical/utils/guard.js +0 -9
  732. package/dist/lexical/utils/guard.js.map +0 -1
  733. package/dist/lexical/utils/url.spec.js +0 -114
  734. package/dist/lexical/utils/url.spec.js.map +0 -1
  735. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +0 -2
  736. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +0 -1
  737. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -2
  738. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +0 -1
  739. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts +0 -14
  740. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts.map +0 -1
  741. package/dist/packages/@lexical/markdown/MarkdownExport.js +0 -213
  742. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +0 -1
  743. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts +0 -19
  744. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts.map +0 -1
  745. package/dist/packages/@lexical/markdown/MarkdownImport.js +0 -198
  746. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +0 -1
  747. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts +0 -11
  748. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts.map +0 -1
  749. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +0 -304
  750. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +0 -1
  751. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts +0 -147
  752. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts.map +0 -1
  753. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +0 -268
  754. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +0 -1
  755. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts +0 -22
  756. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts.map +0 -1
  757. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +0 -91
  758. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +0 -1
  759. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts +0 -21
  760. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts.map +0 -1
  761. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +0 -54
  762. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +0 -1
  763. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts +0 -18
  764. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts.map +0 -1
  765. package/dist/packages/@lexical/markdown/importTextTransformers.js +0 -54
  766. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +0 -1
  767. package/dist/packages/@lexical/markdown/index.d.ts +0 -29
  768. package/dist/packages/@lexical/markdown/index.d.ts.map +0 -1
  769. package/dist/packages/@lexical/markdown/index.js +0 -39
  770. package/dist/packages/@lexical/markdown/index.js.map +0 -1
  771. package/dist/packages/@lexical/markdown/utils.d.ts +0 -34
  772. package/dist/packages/@lexical/markdown/utils.d.ts.map +0 -1
  773. package/dist/packages/@lexical/markdown/utils.js +0 -267
  774. package/dist/packages/@lexical/markdown/utils.js.map +0 -1
  775. package/dist/utilities/jsx/jsx.spec.js +0 -178
  776. package/dist/utilities/jsx/jsx.spec.js.map +0 -1
  777. /package/dist/exports/client/{componentInline-H24N7GUG.js.map → componentInline-HNE5G4TE.js.map} +0 -0
  778. /package/dist/features/{experimental_table → table}/client/index.d.ts +0 -0
  779. /package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.d.ts +0 -0
  780. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.css +0 -0
  781. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.d.ts +0 -0
  782. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.d.ts +0 -0
  783. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.js +0 -0
  784. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.d.ts +0 -0
  785. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.js +0 -0
  786. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.css +0 -0
  787. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.d.ts +0 -0
  788. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.js +0 -0
  789. /package/dist/features/{experimental_table → table}/client/utils/debounce.d.ts +0 -0
  790. /package/dist/features/{experimental_table → table}/client/utils/debounce.js +0 -0
  791. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.d.ts +0 -0
  792. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.js +0 -0
  793. /package/dist/features/{experimental_table → table}/server/schema.d.ts +0 -0
  794. /package/dist/features/{experimental_table → table}/server/schema.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$createHeadingNode","$isHeadingNode","HeadingNode","$setBlocksType","$getSelection","$isRangeSelection","useEffect","H1Icon","H2Icon","H3Icon","H4Icon","H5Icon","H6Icon","createClientFeature","slashMenuBasicGroupWithItems","toolbarTextDropdownGroupWithItems","MarkdownTransformer","$setHeading","headingSize","selection","iconImports","h1","h2","h3","h4","h5","h6","HeadingFeatureClient","props","enabledHeadingSizes","toolbarGroups","map","i","ChildComponent","isActive","node","getNodes","getTag","parent","getParent","key","label","i18n","t","headingLevel","charAt","onSelect","editor","update","order","markdownTransformers","nodes","plugins","Component","HeadingPlugin","position","sanitizedClientFeatureProps","slashMenu","groups","length","Icon","keywords","toolbarFixed","toolbarInline","t0","$","clientProps","t1","t2","undefined","t3","at","lowestAllowed","t4","t5","registerNodeTransform","includes","setTag"],"sources":["../../../../src/features/heading/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { HeadingTagType } from '@lexical/rich-text'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text'\nimport { $setBlocksType } from '@lexical/selection'\nimport { $getSelection, $isRangeSelection } from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\nimport type { PluginComponent } from '../../typesClient.js'\nimport type { HeadingFeatureProps } from '../server/index.js'\n\nimport { H1Icon } from '../../../lexical/ui/icons/H1/index.js'\nimport { H2Icon } from '../../../lexical/ui/icons/H2/index.js'\nimport { H3Icon } from '../../../lexical/ui/icons/H3/index.js'\nimport { H4Icon } from '../../../lexical/ui/icons/H4/index.js'\nimport { H5Icon } from '../../../lexical/ui/icons/H5/index.js'\nimport { H6Icon } from '../../../lexical/ui/icons/H6/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../shared/toolbar/textDropdownGroup.js'\nimport { MarkdownTransformer } from '../markdownTransformer.js'\n\nconst $setHeading = (headingSize: HeadingTagType) => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createHeadingNode(headingSize))\n}\n\nconst iconImports = {\n h1: H1Icon,\n h2: H2Icon,\n h3: H3Icon,\n h4: H4Icon,\n h5: H5Icon,\n h6: H6Icon,\n}\n\nexport const HeadingFeatureClient = createClientFeature<HeadingFeatureProps>(({ props }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n const toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems(\n enabledHeadingSizes.map((headingSize, i) => {\n return {\n ChildComponent: iconImports[headingSize],\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isHeadingNode(node) && node.getTag() === headingSize) {\n continue\n }\n\n const parent = node.getParent()\n if ($isHeadingNode(parent) && parent.getTag() === headingSize) {\n continue\n }\n\n return false\n }\n return true\n },\n key: headingSize,\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', { headingLevel: headingSize.charAt(1) })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n order: i + 2,\n }\n }),\n ),\n ]\n\n return {\n markdownTransformers: [MarkdownTransformer(enabledHeadingSizes)],\n nodes: [HeadingNode],\n plugins: [\n {\n Component: HeadingPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: enabledHeadingSizes?.length\n ? [\n slashMenuBasicGroupWithItems(\n enabledHeadingSizes.map((headingSize) => {\n return {\n Icon: iconImports[headingSize],\n key: `heading-${headingSize.charAt(1)}`,\n keywords: ['heading', headingSize],\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', {\n headingLevel: headingSize.charAt(1),\n })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n }\n }),\n ),\n ]\n : [],\n },\n toolbarFixed: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n toolbarInline: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n }\n})\n\nconst HeadingPlugin: PluginComponent<HeadingFeatureProps> = ({ clientProps }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = clientProps\n const lowestAllowed = enabledHeadingSizes.at(-1)\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n if (!lowestAllowed || enabledHeadingSizes.length === 6) {\n return\n }\n return editor.registerNodeTransform(HeadingNode, (node) => {\n if (!enabledHeadingSizes.includes(node.getTag())) {\n node.setTag(lowestAllowed)\n }\n })\n }, [editor, enabledHeadingSizes, lowestAllowed])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$createHeadingNode","$isHeadingNode","HeadingNode","$setBlocksType","$getSelection","$isRangeSelection","useEffect","H1Icon","H2Icon","H3Icon","H4Icon","H5Icon","H6Icon","createClientFeature","slashMenuBasicGroupWithItems","toolbarTextDropdownGroupWithItems","PAYLOAD_HEADING","$setHeading","headingSize","selection","iconImports","h1","h2","h3","h4","h5","h6","HeadingFeatureClient","props","enabledHeadingSizes","toolbarGroups","map","i","ChildComponent","isActive","node","getNodes","getTag","parent","getParent","key","label","i18n","t","headingLevel","charAt","onSelect","editor","update","order","markdownTransformers","nodes","plugins","Component","HeadingPlugin","position","sanitizedClientFeatureProps","slashMenu","groups","length","Icon","keywords","toolbarFixed","toolbarInline","t0","$","clientProps","t1","t2","undefined","t3","at","lowestAllowed","t4","t5","registerNodeTransform","includes","setTag"],"sources":["../../../../src/features/heading/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { HeadingTagType } from '@lexical/rich-text'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text'\nimport { $setBlocksType } from '@lexical/selection'\nimport { $getSelection, $isRangeSelection } from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { ToolbarGroup } from '../../toolbars/types.js'\nimport type { PluginComponent } from '../../typesClient.js'\nimport type { HeadingFeatureProps } from '../server/index.js'\n\nimport { H1Icon } from '../../../lexical/ui/icons/H1/index.js'\nimport { H2Icon } from '../../../lexical/ui/icons/H2/index.js'\nimport { H3Icon } from '../../../lexical/ui/icons/H3/index.js'\nimport { H4Icon } from '../../../lexical/ui/icons/H4/index.js'\nimport { H5Icon } from '../../../lexical/ui/icons/H5/index.js'\nimport { H6Icon } from '../../../lexical/ui/icons/H6/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../shared/toolbar/textDropdownGroup.js'\nimport { PAYLOAD_HEADING } from '../markdownTransformer.js'\n\nconst $setHeading = (headingSize: HeadingTagType) => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createHeadingNode(headingSize))\n}\n\nconst iconImports = {\n h1: H1Icon,\n h2: H2Icon,\n h3: H3Icon,\n h4: H4Icon,\n h5: H5Icon,\n h6: H6Icon,\n}\n\nexport const HeadingFeatureClient = createClientFeature<HeadingFeatureProps>(({ props }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n const toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems(\n enabledHeadingSizes.map((headingSize, i) => {\n return {\n ChildComponent: iconImports[headingSize],\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isHeadingNode(node) && node.getTag() === headingSize) {\n continue\n }\n\n const parent = node.getParent()\n if ($isHeadingNode(parent) && parent.getTag() === headingSize) {\n continue\n }\n\n return false\n }\n return true\n },\n key: headingSize,\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', { headingLevel: headingSize.charAt(1) })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n order: i + 2,\n }\n }),\n ),\n ]\n\n return {\n markdownTransformers: [PAYLOAD_HEADING(enabledHeadingSizes)],\n nodes: [HeadingNode],\n plugins: [\n {\n Component: HeadingPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: enabledHeadingSizes?.length\n ? [\n slashMenuBasicGroupWithItems(\n enabledHeadingSizes.map((headingSize) => {\n return {\n Icon: iconImports[headingSize],\n key: `heading-${headingSize.charAt(1)}`,\n keywords: ['heading', headingSize],\n label: ({ i18n }) => {\n return i18n.t('lexical:heading:label', {\n headingLevel: headingSize.charAt(1),\n })\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n $setHeading(headingSize)\n })\n },\n }\n }),\n ),\n ]\n : [],\n },\n toolbarFixed: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n toolbarInline: {\n groups: enabledHeadingSizes?.length ? toolbarGroups : [],\n },\n }\n})\n\nconst HeadingPlugin: PluginComponent<HeadingFeatureProps> = ({ clientProps }) => {\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = clientProps\n const lowestAllowed = enabledHeadingSizes.at(-1)\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n if (!lowestAllowed || enabledHeadingSizes.length === 6) {\n return\n }\n return editor.registerNodeTransform(HeadingNode, (node) => {\n if (!enabledHeadingSizes.includes(node.getTag())) {\n node.setTag(lowestAllowed)\n }\n })\n }, [editor, enabledHeadingSizes, lowestAllowed])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare const ALLOWED_HEADING_TAGS: Set<string>;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/features/heading/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,aAAgD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const ALLOWED_HEADING_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']);
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["ALLOWED_HEADING_TAGS","Set"],"sources":["../../../src/features/heading/constants.ts"],"sourcesContent":["export const ALLOWED_HEADING_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])\n"],"mappings":"AAAA,OAAO,MAAMA,oBAAA,GAAuB,IAAIC,GAAA,CAAI,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK","ignoreList":[]}
@@ -1,4 +1,4 @@
1
+ import type { ElementTransformer } from '@lexical/markdown';
1
2
  import type { HeadingTagType } from '@lexical/rich-text';
2
- import type { ElementTransformer } from '../../packages/@lexical/markdown/MarkdownTransformers.js';
3
- export declare const MarkdownTransformer: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer;
3
+ export declare const PAYLOAD_HEADING: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer;
4
4
  //# sourceMappingURL=markdownTransformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../src/features/heading/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAIlG,eAAO,MAAM,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,KAAK,kBA0B5E,CAAA"}
1
+ {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../src/features/heading/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAKxD,eAAO,MAAM,eAAe,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,KAAK,kBAaxE,CAAA"}
@@ -1,26 +1,13 @@
1
- import { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text';
2
- import { createBlockNode } from '../../lexical/utils/markdown/createBlockNode.js';
3
- export const MarkdownTransformer = enabledHeadingSizes => {
1
+ // eslint-disable-next-line payload/no-conflicting-lexical-markdown-imports -- PAYLOAD_HEADING intentionally extends upstream HEADING, overriding only its regExp to respect the enabled heading levels
2
+ import { HEADING } from '@lexical/markdown';
3
+ export const PAYLOAD_HEADING = enabledHeadingSizes => {
4
4
  // Convert enabledHeadingSizes to a list of numbers (1 for h1, 2 for h2, etc.)
5
5
  const enabledSizes = enabledHeadingSizes.map(tag => Number(tag.slice(1)));
6
- // Create a regex pattern that matches any of the enabled sizes
6
+ // Only the heading levels enabled in the config should be matched on import.
7
7
  const pattern = `^(${enabledSizes.map(size => `#{${size}}`).join('|')})\\s`;
8
- const regExp = new RegExp(pattern);
9
8
  return {
10
- type: 'element',
11
- dependencies: [HeadingNode],
12
- export: (node, exportChildren) => {
13
- if (!$isHeadingNode(node)) {
14
- return null;
15
- }
16
- const level = Number(node.getTag().slice(1));
17
- return '#'.repeat(level) + ' ' + exportChildren(node);
18
- },
19
- regExp,
20
- replace: createBlockNode(match => {
21
- const tag = 'h' + match[1]?.length;
22
- return $createHeadingNode(tag);
23
- })
9
+ ...HEADING,
10
+ regExp: new RegExp(pattern)
24
11
  };
25
12
  };
26
13
  //# sourceMappingURL=markdownTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.js","names":["$createHeadingNode","$isHeadingNode","HeadingNode","createBlockNode","MarkdownTransformer","enabledHeadingSizes","enabledSizes","map","tag","Number","slice","pattern","size","join","regExp","RegExp","type","dependencies","export","node","exportChildren","level","getTag","repeat","replace","match","length"],"sources":["../../../src/features/heading/markdownTransformer.ts"],"sourcesContent":["import type { HeadingTagType } from '@lexical/rich-text'\n\nimport { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text'\n\nimport type { ElementTransformer } from '../../packages/@lexical/markdown/MarkdownTransformers.js'\n\nimport { createBlockNode } from '../../lexical/utils/markdown/createBlockNode.js'\n\nexport const MarkdownTransformer: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer = (\n enabledHeadingSizes,\n) => {\n // Convert enabledHeadingSizes to a list of numbers (1 for h1, 2 for h2, etc.)\n const enabledSizes = enabledHeadingSizes.map((tag) => Number(tag.slice(1)))\n\n // Create a regex pattern that matches any of the enabled sizes\n const pattern = `^(${enabledSizes.map((size) => `#{${size}}`).join('|')})\\\\s`\n const regExp = new RegExp(pattern)\n\n return {\n type: 'element',\n dependencies: [HeadingNode],\n export: (node, exportChildren) => {\n if (!$isHeadingNode(node)) {\n return null\n }\n const level = Number(node.getTag().slice(1))\n return '#'.repeat(level) + ' ' + exportChildren(node)\n },\n regExp,\n replace: createBlockNode((match) => {\n const tag = ('h' + match[1]?.length) as HeadingTagType\n return $createHeadingNode(tag)\n }),\n }\n}\n"],"mappings":"AAEA,SAASA,kBAAkB,EAAEC,cAAc,EAAEC,WAAW,QAAQ;AAIhE,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,mBAAA,GACXC,mBAAA;EAEA;EACA,MAAMC,YAAA,GAAeD,mBAAA,CAAoBE,GAAG,CAAEC,GAAA,IAAQC,MAAA,CAAOD,GAAA,CAAIE,KAAK,CAAC;EAEvE;EACA,MAAMC,OAAA,GAAU,KAAKL,YAAA,CAAaC,GAAG,CAAEK,IAAA,IAAS,KAAKA,IAAA,GAAO,EAAEC,IAAI,CAAC,UAAU;EAC7E,MAAMC,MAAA,GAAS,IAAIC,MAAA,CAAOJ,OAAA;EAE1B,OAAO;IACLK,IAAA,EAAM;IACNC,YAAA,EAAc,CAACf,WAAA,CAAY;IAC3BgB,MAAA,EAAQA,CAACC,IAAA,EAAMC,cAAA;MACb,IAAI,CAACnB,cAAA,CAAekB,IAAA,GAAO;QACzB,OAAO;MACT;MACA,MAAME,KAAA,GAAQZ,MAAA,CAAOU,IAAA,CAAKG,MAAM,GAAGZ,KAAK,CAAC;MACzC,OAAO,IAAIa,MAAM,CAACF,KAAA,IAAS,MAAMD,cAAA,CAAeD,IAAA;IAClD;IACAL,MAAA;IACAU,OAAA,EAASrB,eAAA,CAAiBsB,KAAA;MACxB,MAAMjB,GAAA,GAAO,MAAMiB,KAAK,CAAC,EAAE,EAAEC,MAAA;MAC7B,OAAO1B,kBAAA,CAAmBQ,GAAA;IAC5B;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"markdownTransformer.js","names":["HEADING","PAYLOAD_HEADING","enabledHeadingSizes","enabledSizes","map","tag","Number","slice","pattern","size","join","regExp","RegExp"],"sources":["../../../src/features/heading/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\nimport type { HeadingTagType } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-conflicting-lexical-markdown-imports -- PAYLOAD_HEADING intentionally extends upstream HEADING, overriding only its regExp to respect the enabled heading levels\nimport { HEADING } from '@lexical/markdown'\n\nexport const PAYLOAD_HEADING: (enabledHeadingSizes: HeadingTagType[]) => ElementTransformer = (\n enabledHeadingSizes,\n) => {\n // Convert enabledHeadingSizes to a list of numbers (1 for h1, 2 for h2, etc.)\n const enabledSizes = enabledHeadingSizes.map((tag) => Number(tag.slice(1)))\n\n // Only the heading levels enabled in the config should be matched on import.\n const pattern = `^(${enabledSizes.map((size) => `#{${size}}`).join('|')})\\\\s`\n\n return {\n ...HEADING,\n regExp: new RegExp(pattern),\n }\n}\n"],"mappings":"AAGA;AACA,SAASA,OAAO,QAAQ;AAExB,OAAO,MAAMC,eAAA,GACXC,mBAAA;EAEA;EACA,MAAMC,YAAA,GAAeD,mBAAA,CAAoBE,GAAG,CAAEC,GAAA,IAAQC,MAAA,CAAOD,GAAA,CAAIE,KAAK,CAAC;EAEvE;EACA,MAAMC,OAAA,GAAU,KAAKL,YAAA,CAAaC,GAAG,CAAEK,IAAA,IAAS,KAAKA,IAAA,GAAO,EAAEC,IAAI,CAAC,UAAU;EAE7E,OAAO;IACL,GAAGV,OAAO;IACVW,MAAA,EAAQ,IAAIC,MAAA,CAAOJ,OAAA;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAUxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,6HA8BzB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAWxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,6HA+BzB,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import { HeadingNode } from '@lexical/rich-text';
2
2
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
3
3
  import { createNode } from '../../typeUtilities.js';
4
- import { MarkdownTransformer } from '../markdownTransformer.js';
4
+ import { PAYLOAD_HEADING } from '../markdownTransformer.js';
5
5
  import { i18n } from './i18n.js';
6
6
  import { createHeadingJSONSchema } from './schema.js';
7
+ import { headingValidation } from './validate.js';
7
8
  export const HeadingFeature = createServerFeature({
8
9
  feature: ({
9
10
  props
@@ -19,10 +20,13 @@ export const HeadingFeature = createServerFeature({
19
20
  ClientFeature: '@payloadcms/richtext-lexical/client#HeadingFeatureClient',
20
21
  clientFeatureProps: props,
21
22
  i18n,
22
- markdownTransformers: enabledHeadingSizes.length > 0 ? [MarkdownTransformer(enabledHeadingSizes)] : [],
23
+ markdownTransformers: enabledHeadingSizes.length > 0 ? [PAYLOAD_HEADING(enabledHeadingSizes)] : [],
23
24
  nodes: [createNode({
24
25
  jsonSchema: createHeadingJSONSchema(enabledHeadingSizes),
25
- node: HeadingNode
26
+ node: HeadingNode,
27
+ validations: [headingValidation({
28
+ enabledHeadingSizes
29
+ })]
26
30
  })],
27
31
  sanitizedServerFeatureProps: props
28
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["HeadingNode","createServerFeature","createNode","MarkdownTransformer","i18n","createHeadingJSONSchema","HeadingFeature","feature","props","enabledHeadingSizes","sort","ClientFeature","clientFeatureProps","markdownTransformers","length","nodes","jsonSchema","node","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/heading/server/index.ts"],"sourcesContent":["import type { HeadingTagType } from '@lexical/rich-text'\n\nimport { HeadingNode } from '@lexical/rich-text'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { MarkdownTransformer } from '../markdownTransformer.js'\nimport { i18n } from './i18n.js'\nimport { createHeadingJSONSchema } from './schema.js'\n\nexport type { SerializedHeadingNode } from './schema.js'\n\nexport type HeadingFeatureProps = {\n enabledHeadingSizes?: HeadingTagType[]\n}\n\nexport const HeadingFeature = createServerFeature<\n HeadingFeatureProps,\n HeadingFeatureProps,\n HeadingFeatureProps\n>({\n feature: ({ props }) => {\n if (!props) {\n props = {}\n }\n\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n enabledHeadingSizes.sort()\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#HeadingFeatureClient',\n clientFeatureProps: props,\n i18n,\n markdownTransformers:\n enabledHeadingSizes.length > 0 ? [MarkdownTransformer(enabledHeadingSizes)] : [],\n nodes: [\n createNode({\n jsonSchema: createHeadingJSONSchema(enabledHeadingSizes),\n node: HeadingNode,\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'heading',\n})\n"],"mappings":"AAEA,SAASA,WAAW,QAAQ;AAE5B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,IAAI,QAAQ;AACrB,SAASC,uBAAuB,QAAQ;AAQxC,OAAO,MAAMC,cAAA,GAAiBL,mBAAA,CAI5B;EACAM,OAAA,EAASA,CAAC;IAAEC;EAAK,CAAE;IACjB,IAAI,CAACA,KAAA,EAAO;MACVA,KAAA,GAAQ,CAAC;IACX;IAEA,MAAM;MAAEC,mBAAA,GAAsB,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM;IAAK,CAAE,GAAGD,KAAA;IAEvEC,mBAAA,CAAoBC,IAAI;IAExB,OAAO;MACLC,aAAA,EAAe;MACfC,kBAAA,EAAoBJ,KAAA;MACpBJ,IAAA;MACAS,oBAAA,EACEJ,mBAAA,CAAoBK,MAAM,GAAG,IAAI,CAACX,mBAAA,CAAoBM,mBAAA,EAAqB,GAAG,EAAE;MAClFM,KAAA,EAAO,CACLb,UAAA,CAAW;QACTc,UAAA,EAAYX,uBAAA,CAAwBI,mBAAA;QACpCQ,IAAA,EAAMjB;MACR,GACD;MACDkB,2BAAA,EAA6BV;IAC/B;EACF;EACAW,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["HeadingNode","createServerFeature","createNode","PAYLOAD_HEADING","i18n","createHeadingJSONSchema","headingValidation","HeadingFeature","feature","props","enabledHeadingSizes","sort","ClientFeature","clientFeatureProps","markdownTransformers","length","nodes","jsonSchema","node","validations","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/heading/server/index.ts"],"sourcesContent":["import type { HeadingTagType } from '@lexical/rich-text'\n\nimport { HeadingNode } from '@lexical/rich-text'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { PAYLOAD_HEADING } from '../markdownTransformer.js'\nimport { i18n } from './i18n.js'\nimport { createHeadingJSONSchema } from './schema.js'\nimport { headingValidation } from './validate.js'\n\nexport type { SerializedHeadingNode } from './schema.js'\n\nexport type HeadingFeatureProps = {\n enabledHeadingSizes?: HeadingTagType[]\n}\n\nexport const HeadingFeature = createServerFeature<\n HeadingFeatureProps,\n HeadingFeatureProps,\n HeadingFeatureProps\n>({\n feature: ({ props }) => {\n if (!props) {\n props = {}\n }\n\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n enabledHeadingSizes.sort()\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#HeadingFeatureClient',\n clientFeatureProps: props,\n i18n,\n markdownTransformers:\n enabledHeadingSizes.length > 0 ? [PAYLOAD_HEADING(enabledHeadingSizes)] : [],\n nodes: [\n createNode({\n jsonSchema: createHeadingJSONSchema(enabledHeadingSizes),\n node: HeadingNode,\n validations: [headingValidation({ enabledHeadingSizes })],\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'heading',\n})\n"],"mappings":"AAEA,SAASA,WAAW,QAAQ;AAE5B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,eAAe,QAAQ;AAChC,SAASC,IAAI,QAAQ;AACrB,SAASC,uBAAuB,QAAQ;AACxC,SAASC,iBAAiB,QAAQ;AAQlC,OAAO,MAAMC,cAAA,GAAiBN,mBAAA,CAI5B;EACAO,OAAA,EAASA,CAAC;IAAEC;EAAK,CAAE;IACjB,IAAI,CAACA,KAAA,EAAO;MACVA,KAAA,GAAQ,CAAC;IACX;IAEA,MAAM;MAAEC,mBAAA,GAAsB,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM;IAAK,CAAE,GAAGD,KAAA;IAEvEC,mBAAA,CAAoBC,IAAI;IAExB,OAAO;MACLC,aAAA,EAAe;MACfC,kBAAA,EAAoBJ,KAAA;MACpBL,IAAA;MACAU,oBAAA,EACEJ,mBAAA,CAAoBK,MAAM,GAAG,IAAI,CAACZ,eAAA,CAAgBO,mBAAA,EAAqB,GAAG,EAAE;MAC9EM,KAAA,EAAO,CACLd,UAAA,CAAW;QACTe,UAAA,EAAYZ,uBAAA,CAAwBK,mBAAA;QACpCQ,IAAA,EAAMlB,WAAA;QACNmB,WAAA,EAAa,CAACb,iBAAA,CAAkB;UAAEI;QAAoB;MACxD,GACD;MACDU,2BAAA,EAA6BX;IAC/B;EACF;EACAY,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,WAAW,qBAAqB,CACpC,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,cAAc,GAAG,cAAc,CAC5C,SAAQ,4BAA4B,CAAC,SAAS,CAAC;IAC/C,GAAG,EAAE,IAAI,CAAA;IACT,IAAI,EAAE,SAAS,CAAA;CAChB;AAaD,eAAO,MAAM,uBAAuB,GACjC,qBAAqB,cAAc,EAAE,KAAG,YAyBxC,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,WAAW,qBAAqB,CACpC,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,cAAc,GAAG,cAAc,CAC5C,SAAQ,4BAA4B,CAAC,SAAS,CAAC;IAC/C,GAAG,EAAE,IAAI,CAAA;IACT,IAAI,EAAE,SAAS,CAAA;CAChB;AAaD,eAAO,MAAM,uBAAuB,wBACZ,cAAc,EAAE,KAAG,YAyBxC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { HeadingTagType, SerializedHeadingNode } from '@lexical/rich-text';
2
+ import type { NodeValidation } from '../../typesServer.js';
3
+ export declare const headingValidation: ({ enabledHeadingSizes, }: {
4
+ enabledHeadingSizes: HeadingTagType[];
5
+ }) => NodeValidation<SerializedHeadingNode>;
6
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D,eAAO,MAAM,iBAAiB,6BAE3B;IACD,mBAAmB,EAAE,cAAc,EAAE,CAAA;CACtC,KAAG,cAAc,CAAC,qBAAqB,CAcvC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { ALLOWED_HEADING_TAGS } from '../constants.js';
2
+ export const headingValidation = ({
3
+ enabledHeadingSizes
4
+ }) => {
5
+ const allowedHeadingTags = new Set(enabledHeadingSizes.filter(tag => ALLOWED_HEADING_TAGS.has(tag)));
6
+ return ({
7
+ node
8
+ }) => {
9
+ if (allowedHeadingTags.has(node.tag)) {
10
+ return true;
11
+ }
12
+ return allowedHeadingTags.size > 0 ? `Heading tag must be one of ${Array.from(allowedHeadingTags).join(', ')}.` : 'Headings are not enabled.';
13
+ };
14
+ };
15
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","names":["ALLOWED_HEADING_TAGS","headingValidation","enabledHeadingSizes","allowedHeadingTags","Set","filter","tag","has","node","size","Array","from","join"],"sources":["../../../../src/features/heading/server/validate.ts"],"sourcesContent":["import type { HeadingTagType, SerializedHeadingNode } from '@lexical/rich-text'\n\nimport type { NodeValidation } from '../../typesServer.js'\n\nimport { ALLOWED_HEADING_TAGS } from '../constants.js'\n\nexport const headingValidation = ({\n enabledHeadingSizes,\n}: {\n enabledHeadingSizes: HeadingTagType[]\n}): NodeValidation<SerializedHeadingNode> => {\n const allowedHeadingTags = new Set(\n enabledHeadingSizes.filter((tag) => ALLOWED_HEADING_TAGS.has(tag)),\n )\n\n return ({ node }) => {\n if (allowedHeadingTags.has(node.tag)) {\n return true\n }\n\n return allowedHeadingTags.size > 0\n ? `Heading tag must be one of ${Array.from(allowedHeadingTags).join(', ')}.`\n : 'Headings are not enabled.'\n }\n}\n"],"mappings":"AAIA,SAASA,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,iBAAA,GAAoBA,CAAC;EAChCC;AAAmB,CAGpB;EACC,MAAMC,kBAAA,GAAqB,IAAIC,GAAA,CAC7BF,mBAAA,CAAoBG,MAAM,CAAEC,GAAA,IAAQN,oBAAA,CAAqBO,GAAG,CAACD,GAAA;EAG/D,OAAO,CAAC;IAAEE;EAAI,CAAE;IACd,IAAIL,kBAAA,CAAmBI,GAAG,CAACC,IAAA,CAAKF,GAAG,GAAG;MACpC,OAAO;IACT;IAEA,OAAOH,kBAAA,CAAmBM,IAAI,GAAG,IAC7B,8BAA8BC,KAAA,CAAMC,IAAI,CAACR,kBAAA,EAAoBS,IAAI,CAAC,QAAQ,GAC1E;EACN;AACF","ignoreList":[]}
@@ -6,11 +6,11 @@ import { createClientFeature } from '../../../utilities/createClientFeature.js';
6
6
  import { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js';
7
7
  import { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js';
8
8
  import { INSERT_HORIZONTAL_RULE_COMMAND } from '../server/nodes/HorizontalRuleNode.js';
9
- import { MarkdownTransformer } from './markdownTransformer.js';
9
+ import { PAYLOAD_HORIZONTAL_RULE } from './markdownTransformer.js';
10
10
  import { $isHorizontalRuleNode, HorizontalRuleNode } from './nodes/HorizontalRuleNode.js';
11
11
  import { HorizontalRulePlugin } from './plugin/index.js';
12
12
  export const HorizontalRuleFeatureClient = createClientFeature({
13
- markdownTransformers: [MarkdownTransformer],
13
+ markdownTransformers: [PAYLOAD_HORIZONTAL_RULE],
14
14
  nodes: [HorizontalRuleNode],
15
15
  plugins: [{
16
16
  Component: HorizontalRulePlugin,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["$isNodeSelection","HorizontalRuleIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarAddDropdownGroupWithItems","INSERT_HORIZONTAL_RULE_COMMAND","MarkdownTransformer","$isHorizontalRuleNode","HorizontalRuleNode","HorizontalRulePlugin","HorizontalRuleFeatureClient","markdownTransformers","nodes","plugins","Component","position","slashMenu","groups","Icon","key","keywords","label","i18n","t","onSelect","editor","dispatchCommand","undefined","toolbarFixed","ChildComponent","isActive","selection","getNodes","length","firstNode"],"sources":["../../../../src/features/horizontalRule/client/index.tsx"],"sourcesContent":["'use client'\n\nimport { $isNodeSelection } from 'lexical'\n\nimport { HorizontalRuleIcon } from '../../../lexical/ui/icons/HorizontalRule/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js'\nimport { INSERT_HORIZONTAL_RULE_COMMAND } from '../server/nodes/HorizontalRuleNode.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\nimport { $isHorizontalRuleNode, HorizontalRuleNode } from './nodes/HorizontalRuleNode.js'\nimport { HorizontalRulePlugin } from './plugin/index.js'\n\nexport const HorizontalRuleFeatureClient = createClientFeature({\n markdownTransformers: [MarkdownTransformer],\n nodes: [HorizontalRuleNode],\n plugins: [\n {\n Component: HorizontalRulePlugin,\n position: 'normal',\n },\n ],\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: HorizontalRuleIcon,\n key: 'horizontalRule',\n keywords: ['hr', 'horizontal rule', 'line', 'separator'],\n label: ({ i18n }) => {\n return i18n.t('lexical:horizontalRule:label')\n },\n\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: [\n toolbarAddDropdownGroupWithItems([\n {\n ChildComponent: HorizontalRuleIcon,\n isActive: ({ selection }) => {\n if (!$isNodeSelection(selection) || !selection.getNodes().length) {\n return false\n }\n\n const firstNode = selection.getNodes()[0]\n return $isHorizontalRuleNode(firstNode)\n },\n key: 'horizontalRule',\n label: ({ i18n }) => {\n return i18n.t('lexical:horizontalRule:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,gBAAgB,QAAQ;AAEjC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,gCAAgC,QAAQ;AACjD,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,mBAAmB,QAAQ;AACpC,SAASC,qBAAqB,EAAEC,kBAAkB,QAAQ;AAC1D,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,2BAAA,GAA8BR,mBAAA,CAAoB;EAC7DS,oBAAA,EAAsB,CAACL,mBAAA,CAAoB;EAC3CM,KAAA,EAAO,CAACJ,kBAAA,CAAmB;EAC3BK,OAAA,EAAS,CACP;IACEC,SAAA,EAAWL,oBAAA;IACXM,QAAA,EAAU;EACZ,EACD;EACDC,SAAA,EAAW;IACTC,MAAA,EAAQ,CACNd,4BAAA,CAA6B,CAC3B;MACEe,IAAA,EAAMjB,kBAAA;MACNkB,GAAA,EAAK;MACLC,QAAA,EAAU,CAAC,MAAM,mBAAmB,QAAQ,YAAY;MACxDC,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MAEAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAACrB,8BAAA,EAAgCsB,SAAA;MACzD;IACF,EACD;EAEL;EACAC,YAAA,EAAc;IACZX,MAAA,EAAQ,CACNb,gCAAA,CAAiC,CAC/B;MACEyB,cAAA,EAAgB5B,kBAAA;MAChB6B,QAAA,EAAUA,CAAC;QAAEC;MAAS,CAAE;QACtB,IAAI,CAAC/B,gBAAA,CAAiB+B,SAAA,KAAc,CAACA,SAAA,CAAUC,QAAQ,GAAGC,MAAM,EAAE;UAChE,OAAO;QACT;QAEA,MAAMC,SAAA,GAAYH,SAAA,CAAUC,QAAQ,EAAE,CAAC,EAAE;QACzC,OAAOzB,qBAAA,CAAsB2B,SAAA;MAC/B;MACAf,GAAA,EAAK;MACLE,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MACAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAACrB,8BAAA,EAAgCsB,SAAA;MACzD;IACF,EACD;EAEL;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["$isNodeSelection","HorizontalRuleIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarAddDropdownGroupWithItems","INSERT_HORIZONTAL_RULE_COMMAND","PAYLOAD_HORIZONTAL_RULE","$isHorizontalRuleNode","HorizontalRuleNode","HorizontalRulePlugin","HorizontalRuleFeatureClient","markdownTransformers","nodes","plugins","Component","position","slashMenu","groups","Icon","key","keywords","label","i18n","t","onSelect","editor","dispatchCommand","undefined","toolbarFixed","ChildComponent","isActive","selection","getNodes","length","firstNode"],"sources":["../../../../src/features/horizontalRule/client/index.tsx"],"sourcesContent":["'use client'\n\nimport { $isNodeSelection } from 'lexical'\n\nimport { HorizontalRuleIcon } from '../../../lexical/ui/icons/HorizontalRule/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js'\nimport { INSERT_HORIZONTAL_RULE_COMMAND } from '../server/nodes/HorizontalRuleNode.js'\nimport { PAYLOAD_HORIZONTAL_RULE } from './markdownTransformer.js'\nimport { $isHorizontalRuleNode, HorizontalRuleNode } from './nodes/HorizontalRuleNode.js'\nimport { HorizontalRulePlugin } from './plugin/index.js'\n\nexport const HorizontalRuleFeatureClient = createClientFeature({\n markdownTransformers: [PAYLOAD_HORIZONTAL_RULE],\n nodes: [HorizontalRuleNode],\n plugins: [\n {\n Component: HorizontalRulePlugin,\n position: 'normal',\n },\n ],\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: HorizontalRuleIcon,\n key: 'horizontalRule',\n keywords: ['hr', 'horizontal rule', 'line', 'separator'],\n label: ({ i18n }) => {\n return i18n.t('lexical:horizontalRule:label')\n },\n\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: [\n toolbarAddDropdownGroupWithItems([\n {\n ChildComponent: HorizontalRuleIcon,\n isActive: ({ selection }) => {\n if (!$isNodeSelection(selection) || !selection.getNodes().length) {\n return false\n }\n\n const firstNode = selection.getNodes()[0]\n return $isHorizontalRuleNode(firstNode)\n },\n key: 'horizontalRule',\n label: ({ i18n }) => {\n return i18n.t('lexical:horizontalRule:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,gBAAgB,QAAQ;AAEjC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,gCAAgC,QAAQ;AACjD,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,uBAAuB,QAAQ;AACxC,SAASC,qBAAqB,EAAEC,kBAAkB,QAAQ;AAC1D,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,2BAAA,GAA8BR,mBAAA,CAAoB;EAC7DS,oBAAA,EAAsB,CAACL,uBAAA,CAAwB;EAC/CM,KAAA,EAAO,CAACJ,kBAAA,CAAmB;EAC3BK,OAAA,EAAS,CACP;IACEC,SAAA,EAAWL,oBAAA;IACXM,QAAA,EAAU;EACZ,EACD;EACDC,SAAA,EAAW;IACTC,MAAA,EAAQ,CACNd,4BAAA,CAA6B,CAC3B;MACEe,IAAA,EAAMjB,kBAAA;MACNkB,GAAA,EAAK;MACLC,QAAA,EAAU,CAAC,MAAM,mBAAmB,QAAQ,YAAY;MACxDC,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MAEAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAACrB,8BAAA,EAAgCsB,SAAA;MACzD;IACF,EACD;EAEL;EACAC,YAAA,EAAc;IACZX,MAAA,EAAQ,CACNb,gCAAA,CAAiC,CAC/B;MACEyB,cAAA,EAAgB5B,kBAAA;MAChB6B,QAAA,EAAUA,CAAC;QAAEC;MAAS,CAAE;QACtB,IAAI,CAAC/B,gBAAA,CAAiB+B,SAAA,KAAc,CAACA,SAAA,CAAUC,QAAQ,GAAGC,MAAM,EAAE;UAChE,OAAO;QACT;QAEA,MAAMC,SAAA,GAAYH,SAAA,CAAUC,QAAQ,EAAE,CAAC,EAAE;QACzC,OAAOzB,qBAAA,CAAsB2B,SAAA;MAC/B;MACAf,GAAA,EAAK;MACLE,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MACAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAACrB,8BAAA,EAAgCsB,SAAA;MACzD;IACF,EACD;EAEL;AACF","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/client/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/client/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 { $createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode } from './nodes/HorizontalRuleNode.js';
2
- export const MarkdownTransformer = {
2
+ export const PAYLOAD_HORIZONTAL_RULE = {
3
3
  type: 'element',
4
4
  dependencies: [HorizontalRuleNode],
5
5
  export: (node, exportChildren) => {
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.js","names":["$createHorizontalRuleNode","$isHorizontalRuleNode","HorizontalRuleNode","MarkdownTransformer","type","dependencies","export","node","exportChildren","regExp","replace","parentNode"],"sources":["../../../../src/features/horizontalRule/client/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '../../../packages/@lexical/markdown/MarkdownTransformers.js'\n\nimport {\n $createHorizontalRuleNode,\n $isHorizontalRuleNode,\n HorizontalRuleNode,\n} from './nodes/HorizontalRuleNode.js'\n\nexport const MarkdownTransformer: ElementTransformer = {\n type: 'element',\n dependencies: [HorizontalRuleNode],\n export: (node, exportChildren) => {\n if (!$isHorizontalRuleNode(node)) {\n return null\n }\n return '---'\n },\n // match ---\n regExp: /^---\\s*$/,\n replace: (parentNode) => {\n const node = $createHorizontalRuleNode()\n if (node) {\n parentNode.replace(node)\n }\n },\n}\n"],"mappings":"AAEA,SACEA,yBAAyB,EACzBC,qBAAqB,EACrBC,kBAAkB,QACb;AAEP,OAAO,MAAMC,mBAAA,GAA0C;EACrDC,IAAA,EAAM;EACNC,YAAA,EAAc,CAACH,kBAAA,CAAmB;EAClCI,MAAA,EAAQA,CAACC,IAAA,EAAMC,cAAA;IACb,IAAI,CAACP,qBAAA,CAAsBM,IAAA,GAAO;MAChC,OAAO;IACT;IACA,OAAO;EACT;EACA;EACAE,MAAA,EAAQ;EACRC,OAAA,EAAUC,UAAA;IACR,MAAMJ,IAAA,GAAOP,yBAAA;IACb,IAAIO,IAAA,EAAM;MACRI,UAAA,CAAWD,OAAO,CAACH,IAAA;IACrB;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"markdownTransformer.js","names":["$createHorizontalRuleNode","$isHorizontalRuleNode","HorizontalRuleNode","PAYLOAD_HORIZONTAL_RULE","type","dependencies","export","node","exportChildren","regExp","replace","parentNode"],"sources":["../../../../src/features/horizontalRule/client/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\n\nimport {\n $createHorizontalRuleNode,\n $isHorizontalRuleNode,\n HorizontalRuleNode,\n} from './nodes/HorizontalRuleNode.js'\n\nexport const PAYLOAD_HORIZONTAL_RULE: ElementTransformer = {\n type: 'element',\n dependencies: [HorizontalRuleNode],\n export: (node, exportChildren) => {\n if (!$isHorizontalRuleNode(node)) {\n return null\n }\n return '---'\n },\n // match ---\n regExp: /^---\\s*$/,\n replace: (parentNode) => {\n const node = $createHorizontalRuleNode()\n if (node) {\n parentNode.replace(node)\n }\n },\n}\n"],"mappings":"AAEA,SACEA,yBAAyB,EACzBC,qBAAqB,EACrBC,kBAAkB,QACb;AAEP,OAAO,MAAMC,uBAAA,GAA8C;EACzDC,IAAA,EAAM;EACNC,YAAA,EAAc,CAACH,kBAAA,CAAmB;EAClCI,MAAA,EAAQA,CAACC,IAAA,EAAMC,cAAA;IACb,IAAI,CAACP,qBAAA,CAAsBM,IAAA,GAAO;MAChC,OAAO;IACT;IACA,OAAO;EACT;EACA;EACAE,MAAA,EAAQ;EACRC,OAAA,EAAUC,UAAA;IACR,MAAMJ,IAAA,GAAOP,yBAAA;IACb,IAAIO,IAAA,EAAM;MACRI,UAAA,CAAWD,OAAO,CAACH,IAAA;IACrB;EACF;AACF","ignoreList":[]}
@@ -1,13 +1,23 @@
1
- import type { LexicalNode, SerializedLexicalNode } from 'lexical';
1
+ import type { DOMConversionMap, LexicalNode, SerializedLexicalNode } from 'lexical';
2
2
  import type { SerializedHorizontalRuleNode } from '../../server/schema.js';
3
3
  import { HorizontalRuleServerNode } from '../../server/nodes/HorizontalRuleNode.js';
4
4
  export declare class HorizontalRuleNode extends HorizontalRuleServerNode {
5
5
  static clone(node: HorizontalRuleServerNode): HorizontalRuleServerNode;
6
6
  static getType(): string;
7
+ /**
8
+ * Defines what happens if you copy an hr element from another page and paste it into the lexical editor
9
+ *
10
+ * This also determines the behavior of lexical's internal HTML -> Lexical converter
11
+ *
12
+ * Overrides the server implementation so pasting an `<hr>` creates the client
13
+ * {@link HorizontalRuleNode} the editor registered, instead of the server-only
14
+ * `HorizontalRuleServerNode` (which fails lexical's node class identity check).
15
+ */
16
+ static importDOM(): DOMConversionMap | null;
7
17
  /**
8
18
  * 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.
9
19
  */
10
- static importJSON(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleNode;
20
+ static importJSON(_serializedNode: Record<string, unknown> & SerializedHorizontalRuleNode): HorizontalRuleNode;
11
21
  /**
12
22
  * Allows you to render a React component within whatever createDOM returns.
13
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalRuleNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/horizontalRule/client/nodes/HorizontalRuleNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAKtF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAEnF,qBAAa,kBAAmB,SAAQ,wBAAwB;WAC9C,KAAK,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB;WAI/D,OAAO,IAAI,MAAM;IAIjC;;OAEG;WACa,UAAU,CAAC,cAAc,EAAE,4BAA4B,GAAG,kBAAkB;IAI5F;;OAEG;IACM,QAAQ;IAIR,UAAU,IAAI,qBAAqB;CAG7C;AAMD,wBAAgB,yBAAyB,IAAI,kBAAkB,CAE9D;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,kBAAkB,CAE5B"}
1
+ {"version":3,"file":"HorizontalRuleNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/horizontalRule/client/nodes/HorizontalRuleNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EACX,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAEnF,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC9D,OAAgB,KAAK,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB,CAE9E;IAED,OAAgB,OAAO,IAAI,MAAM,CAEhC;IAED;;;;;;;;OAQG;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,kBAAkB,CAEpB;IAED;;OAEG;IACM,QAAQ,SAEhB;IAEQ,UAAU,IAAI,qBAAqB,CAE3C;CACF;AAMD,wBAAgB,yBAAyB,IAAI,kBAAkB,CAE9D;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,kBAAkB,CAE5B"}
@@ -11,9 +11,26 @@ export class HorizontalRuleNode extends HorizontalRuleServerNode {
11
11
  return super.getType();
12
12
  }
13
13
  /**
14
+ * Defines what happens if you copy an hr element from another page and paste it into the lexical editor
15
+ *
16
+ * This also determines the behavior of lexical's internal HTML -> Lexical converter
17
+ *
18
+ * Overrides the server implementation so pasting an `<hr>` creates the client
19
+ * {@link HorizontalRuleNode} the editor registered, instead of the server-only
20
+ * `HorizontalRuleServerNode` (which fails lexical's node class identity check).
21
+ */
22
+ static importDOM() {
23
+ return {
24
+ hr: () => ({
25
+ conversion: $convertHorizontalRuleElement,
26
+ priority: 0
27
+ })
28
+ };
29
+ }
30
+ /**
14
31
  * 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.
15
32
  */
16
- static importJSON(serializedNode) {
33
+ static importJSON(_serializedNode) {
17
34
  return $createHorizontalRuleNode();
18
35
  }
19
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalRuleNode.js","names":["$applyNodeReplacement","React","HorizontalRuleServerNode","HorizontalRuleNode","clone","node","getType","importJSON","serializedNode","$createHorizontalRuleNode","decorate","exportJSON","$convertHorizontalRuleElement","$isHorizontalRuleNode"],"sources":["../../../../../src/features/horizontalRule/client/nodes/HorizontalRuleNode.tsx"],"sourcesContent":["'use client'\nimport type { DOMConversionOutput, LexicalNode, SerializedLexicalNode } from 'lexical'\n\nimport { $applyNodeReplacement } from 'lexical'\nimport * as React from 'react'\n\nimport type { SerializedHorizontalRuleNode } from '../../server/schema.js'\n\nimport { HorizontalRuleServerNode } from '../../server/nodes/HorizontalRuleNode.js'\n\nexport class HorizontalRuleNode extends HorizontalRuleServerNode {\n static override clone(node: HorizontalRuleServerNode): HorizontalRuleServerNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\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(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleNode {\n return $createHorizontalRuleNode()\n }\n\n /**\n * Allows you to render a React component within whatever createDOM returns.\n */\n override decorate() {\n return null\n }\n\n override exportJSON(): SerializedLexicalNode {\n return super.exportJSON()\n }\n}\n\nfunction $convertHorizontalRuleElement(): DOMConversionOutput {\n return { node: $createHorizontalRuleNode() }\n}\n\nexport function $createHorizontalRuleNode(): HorizontalRuleNode {\n return $applyNodeReplacement(new HorizontalRuleNode())\n}\n\nexport function $isHorizontalRuleNode(\n node: LexicalNode | null | undefined,\n): node is HorizontalRuleNode {\n return node instanceof HorizontalRuleNode\n}\n"],"mappings":"AAAA;;AAGA,SAASA,qBAAqB,QAAQ;AACtC,YAAYC,KAAA,MAAW;AAIvB,SAASC,wBAAwB,QAAQ;AAEzC,OAAO,MAAMC,kBAAA,SAA2BD,wBAAA;EACtC,OAAgBE,MAAMC,IAA8B,EAA4B;IAC9E,OAAO,KAAK,CAACD,KAAA,CAAMC,IAAA;EACrB;EAEA,OAAgBC,QAAA,EAAkB;IAChC,OAAO,KAAK,CAACA,OAAA;EACf;EAEA;;;EAGA,OAAgBC,WAAWC,cAA4C,EAAsB;IAC3F,OAAOC,yBAAA;EACT;EAEA;;;EAGAC,QAASA,CAAA,EAAW;IAClB,OAAO;EACT;EAESC,WAAA,EAAoC;IAC3C,OAAO,KAAK,CAACA,UAAA;EACf;AACF;AAEA,SAASC,8BAAA;EACP,OAAO;IAAEP,IAAA,EAAMI,yBAAA;EAA4B;AAC7C;AAEA,OAAO,SAASA,0BAAA;EACd,OAAOT,qBAAA,CAAsB,IAAIG,kBAAA;AACnC;AAEA,OAAO,SAASU,sBACdR,IAAoC;EAEpC,OAAOA,IAAA,YAAgBF,kBAAA;AACzB","ignoreList":[]}
1
+ {"version":3,"file":"HorizontalRuleNode.js","names":["$applyNodeReplacement","React","HorizontalRuleServerNode","HorizontalRuleNode","clone","node","getType","importDOM","hr","conversion","$convertHorizontalRuleElement","priority","importJSON","_serializedNode","$createHorizontalRuleNode","decorate","exportJSON","$isHorizontalRuleNode"],"sources":["../../../../../src/features/horizontalRule/client/nodes/HorizontalRuleNode.tsx"],"sourcesContent":["'use client'\nimport type {\n DOMConversionMap,\n DOMConversionOutput,\n LexicalNode,\n SerializedLexicalNode,\n} from 'lexical'\n\nimport { $applyNodeReplacement } from 'lexical'\nimport * as React from 'react'\n\nimport type { SerializedHorizontalRuleNode } from '../../server/schema.js'\n\nimport { HorizontalRuleServerNode } from '../../server/nodes/HorizontalRuleNode.js'\n\nexport class HorizontalRuleNode extends HorizontalRuleServerNode {\n static override clone(node: HorizontalRuleServerNode): HorizontalRuleServerNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\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 * Overrides the server implementation so pasting an `<hr>` creates the client\n * {@link HorizontalRuleNode} the editor registered, instead of the server-only\n * `HorizontalRuleServerNode` (which fails lexical's node class identity check).\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 ): HorizontalRuleNode {\n return $createHorizontalRuleNode()\n }\n\n /**\n * Allows you to render a React component within whatever createDOM returns.\n */\n override decorate() {\n return null\n }\n\n override exportJSON(): SerializedLexicalNode {\n return super.exportJSON()\n }\n}\n\nfunction $convertHorizontalRuleElement(): DOMConversionOutput {\n return { node: $createHorizontalRuleNode() }\n}\n\nexport function $createHorizontalRuleNode(): HorizontalRuleNode {\n return $applyNodeReplacement(new HorizontalRuleNode())\n}\n\nexport function $isHorizontalRuleNode(\n node: LexicalNode | null | undefined,\n): node is HorizontalRuleNode {\n return node instanceof HorizontalRuleNode\n}\n"],"mappings":"AAAA;;AAQA,SAASA,qBAAqB,QAAQ;AACtC,YAAYC,KAAA,MAAW;AAIvB,SAASC,wBAAwB,QAAQ;AAEzC,OAAO,MAAMC,kBAAA,SAA2BD,wBAAA;EACtC,OAAgBE,MAAMC,IAA8B,EAA4B;IAC9E,OAAO,KAAK,CAACD,KAAA,CAAMC,IAAA;EACrB;EAEA,OAAgBC,QAAA,EAAkB;IAChC,OAAO,KAAK,CAACA,OAAA;EACf;EAEA;;;;;;;;;EASA,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,EACnD;IACpB,OAAOC,yBAAA;EACT;EAEA;;;EAGAC,QAASA,CAAA,EAAW;IAClB,OAAO;EACT;EAESC,WAAA,EAAoC;IAC3C,OAAO,KAAK,CAACA,UAAA;EACf;AACF;AAEA,SAASN,8BAAA;EACP,OAAO;IAAEL,IAAA,EAAMS,yBAAA;EAA4B;AAC7C;AAEA,OAAO,SAASA,0BAAA;EACd,OAAOd,qBAAA,CAAsB,IAAIG,kBAAA;AACnC;AAEA,OAAO,SAASc,sBACdZ,IAAoC;EAEpC,OAAOA,IAAA,YAAgBF,kBAAA;AACzB","ignoreList":[]}
@@ -19,7 +19,7 @@
19
19
  user-select: none;
20
20
  border-radius: var(--radius-small);
21
21
  box-shadow:
22
- 0px 0px 0px 1px var(--color-bg),
23
- 0px 0px 0px 2px var(--color-border-selected);
22
+ 0 0 0 var(--stroke-width-small) var(--color-bg),
23
+ 0 0 0 var(--stroke-width-medium) var(--color-border-selected);
24
24
  }
25
25
  }
@@ -1,14 +1,14 @@
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
6
  import { horizontalRuleNodeJSONSchema } from './schema.js';
7
7
  export const HorizontalRuleFeature = createServerFeature({
8
8
  feature: {
9
9
  ClientFeature: '@payloadcms/richtext-lexical/client#HorizontalRuleFeatureClient',
10
10
  i18n,
11
- markdownTransformers: [MarkdownTransformer],
11
+ markdownTransformers: [PAYLOAD_HORIZONTAL_RULE],
12
12
  nodes: [createNode({
13
13
  jsonSchema: horizontalRuleNodeJSONSchema,
14
14
  node: HorizontalRuleServerNode
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createServerFeature","createNode","i18n","MarkdownTransformer","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 { MarkdownTransformer } 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: [MarkdownTransformer],\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,mBAAmB,QAAQ;AACpC,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,mBAAA,CAAoB;IAC3CO,KAAA,EAAO,CACLT,UAAA,CAAW;MACTU,UAAA,EAAYN,4BAAA;MACZO,IAAA,EAAMR;IACR;EAEJ;EACAS,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":[]}
@@ -22,7 +22,7 @@ export declare class HorizontalRuleServerNode extends DecoratorNode<null | React
22
22
  /**
23
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.
24
24
  */
25
- static importJSON(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleServerNode;
25
+ static importJSON(_serializedNode: Record<string, unknown> & SerializedHorizontalRuleNode): HorizontalRuleServerNode;
26
26
  /**
27
27
  * Determines how the hr element is rendered in the lexical editor. This is only the "initial" / "outer" HTML element.
28
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,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;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
  /**
@@ -60,8 +60,8 @@ export class HorizontalRuleServerNode extends DecoratorNode {
60
60
  */
61
61
  exportJSON() {
62
62
  return {
63
- type: 'horizontalrule',
64
- version: 1
63
+ ...super.exportJSON(),
64
+ type: 'horizontalrule'
65
65
  };
66
66
  }
67
67
  getTextContent() {
@@ -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 { 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: 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,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","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 ...super.exportJSON(),\n type: 'horizontalrule',\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;MACL,GAAG,KAAK,CAACA,UAAA,EAAY;MACrBC,IAAA,EAAM;IACR;EACF;EAESC,eAAA,EAAyB;IAChC,OAAO;EACT;EAESC,SAAA,EAAkB;IACzB,OAAO;EACT;EAESC,UAAA,EAAqB;IAC5B,OAAO;EACT;AACF;AAEA,SAASjB,8BAAA;EACP,OAAO;IAAEN,IAAA,EAAMU,+BAAA;EAAkC;AACnD;AAEA,OAAO,SAASA,gCAAA;EACd,OAAOhB,qBAAA,CAAsB,IAAII,wBAAA;AACnC;AAEA,OAAO,SAAS0B,4BACdxB,IAAoC;EAEpC,OAAOA,IAAA,YAAgBF,wBAAA;AACzB","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { JSONSchemaFn } from '../../typesServer.js';
2
2
  export interface SerializedHorizontalRuleNode {
3
3
  type: 'horizontalrule';
4
+ /** @deprecated Ignored when loading. Typed as required only to match Lexical's types: rich text sent through the API, CLI or MCP may not contain it. */
4
5
  version: number;
5
6
  }
6
7
  export declare const horizontalRuleNodeJSONSchema: JSONSchemaFn;
@@ -1 +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"}
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;AAIxD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,gBAAgB,CAAA;IACtB,wJAAwJ;IACxJ,OAAO,EAAE,MAAM,CAAA;CAChB;AASD,eAAO,MAAM,4BAA4B,EAAE,YAY1C,CAAA"}
@@ -1,5 +1,8 @@
1
- /** MUST stay byte-for-byte in sync with the runtime `SerializedHorizontalRuleNode` declared above. */const SERIALIZED_HORIZONTAL_RULE_NODE_TS = `export interface SerializedHorizontalRuleNode {
1
+ import { versionSchema } from '../../../types/jsonSchemaHelpers.js';
2
+ /** MUST stay byte-for-byte in sync with the runtime `SerializedHorizontalRuleNode` declared above. */
3
+ const SERIALIZED_HORIZONTAL_RULE_NODE_TS = `export interface SerializedHorizontalRuleNode {
2
4
  type: 'horizontalrule';
5
+ /** @deprecated Ignored when loading. Typed as required only to match Lexical's types: rich text sent through the API, CLI or MCP may not contain it. */
3
6
  version: number;
4
7
  }`;
5
8
  export const horizontalRuleNodeJSONSchema = ({
@@ -14,11 +17,9 @@ export const horizontalRuleNodeJSONSchema = ({
14
17
  type: 'string',
15
18
  const: 'horizontalrule'
16
19
  },
17
- version: {
18
- type: 'integer'
19
- }
20
+ version: versionSchema
20
21
  },
21
- required: ['type', 'version'],
22
+ required: ['type'],
22
23
  tsType: 'SerializedHorizontalRuleNode'
23
24
  };
24
25
  };