@payloadcms/richtext-lexical 4.0.0-internal.5d5a2b2 → 4.0.0-internal.5e065b3

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 (764) 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-43E5QYAA.js +2 -0
  7. package/dist/exports/client/chunk-43E5QYAA.js.map +7 -0
  8. package/dist/exports/client/chunk-ATPSL6IX.js +2 -0
  9. package/dist/exports/client/chunk-ATPSL6IX.js.map +7 -0
  10. package/dist/exports/client/component-D5QLYS7W.js +2 -0
  11. package/dist/exports/client/component-D5QLYS7W.js.map +7 -0
  12. package/dist/exports/client/componentInline-ZEP5JPTC.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 +27 -28
  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 -100
  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 +32 -23
  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/index.d.ts.map +1 -1
  46. package/dist/features/blocks/client/index.js +4 -2
  47. package/dist/features/blocks/client/index.js.map +1 -1
  48. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +1 -1
  49. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -1
  50. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +1 -1
  51. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  52. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +1 -1
  53. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -1
  54. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +5 -2
  55. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  56. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +1 -2
  57. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -1
  58. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  59. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  60. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  61. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.css +1 -1
  62. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.css +2 -4
  63. package/dist/features/blocks/premade/CodeBlock/Component/index.css +5 -5
  64. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  65. package/dist/features/blocks/server/index.d.ts.map +1 -1
  66. package/dist/features/blocks/server/index.js +6 -8
  67. package/dist/features/blocks/server/index.js.map +1 -1
  68. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +1 -1
  69. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -1
  70. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  71. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  72. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  73. package/dist/features/blocks/server/schema.d.ts.map +1 -1
  74. package/dist/features/blocks/server/schema.js +3 -2
  75. package/dist/features/blocks/server/schema.js.map +1 -1
  76. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  77. package/dist/features/blocks/server/validate.js +1 -1
  78. package/dist/features/blocks/server/validate.js.map +1 -1
  79. package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
  80. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +1 -1
  81. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  82. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  83. package/dist/features/converters/lexicalToHtml/async/converters/list.js +4 -3
  84. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  85. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +3 -3
  86. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  87. package/dist/features/converters/lexicalToHtml/shared/cssColors.d.ts.map +1 -1
  88. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -1
  89. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +3 -2
  90. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  91. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +1 -1
  92. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  93. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  94. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +4 -3
  95. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  96. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +3 -3
  97. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  98. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  99. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +2 -1
  100. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  101. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  102. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +2 -1
  103. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  104. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +4 -4
  105. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  106. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -1
  107. package/dist/features/converters/lexicalToMarkdown/index.js +1 -1
  108. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  109. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -1
  110. package/dist/features/converters/markdownToLexical/index.js +5 -2
  111. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  112. package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
  113. package/dist/features/converters/utilities/payloadPopulateFn.js +4 -2
  114. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  115. package/dist/features/debug/jsxConverter/client/plugin/style.css +2 -2
  116. package/dist/features/debug/testRecorder/client/plugin/index.css +0 -1
  117. package/dist/features/format/bold/feature.client.js +1 -1
  118. package/dist/features/format/bold/feature.client.js.map +1 -1
  119. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  120. package/dist/features/format/bold/feature.server.js +1 -1
  121. package/dist/features/format/bold/feature.server.js.map +1 -1
  122. package/dist/features/format/inlineCode/feature.client.js +1 -1
  123. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  124. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  125. package/dist/features/format/inlineCode/feature.server.js +1 -1
  126. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  127. package/dist/features/format/italic/feature.client.js +1 -1
  128. package/dist/features/format/italic/feature.client.js.map +1 -1
  129. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  130. package/dist/features/format/italic/feature.server.js +1 -1
  131. package/dist/features/format/italic/feature.server.js.map +1 -1
  132. package/dist/features/format/shared/toolbarFormatGroup.d.ts.map +1 -1
  133. package/dist/features/format/strikethrough/feature.client.js +1 -1
  134. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  135. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  136. package/dist/features/format/strikethrough/feature.server.js +1 -1
  137. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  138. package/dist/features/heading/client/index.js +2 -2
  139. package/dist/features/heading/client/index.js.map +1 -1
  140. package/dist/features/heading/constants.d.ts +2 -0
  141. package/dist/features/heading/constants.d.ts.map +1 -0
  142. package/dist/features/heading/constants.js +2 -0
  143. package/dist/features/heading/constants.js.map +1 -0
  144. package/dist/features/heading/markdownTransformer.d.ts +2 -2
  145. package/dist/features/heading/markdownTransformer.d.ts.map +1 -1
  146. package/dist/features/heading/markdownTransformer.js +6 -19
  147. package/dist/features/heading/markdownTransformer.js.map +1 -1
  148. package/dist/features/heading/server/index.d.ts.map +1 -1
  149. package/dist/features/heading/server/index.js +7 -3
  150. package/dist/features/heading/server/index.js.map +1 -1
  151. package/dist/features/heading/server/schema.d.ts.map +1 -1
  152. package/dist/features/heading/server/validate.d.ts +6 -0
  153. package/dist/features/heading/server/validate.d.ts.map +1 -0
  154. package/dist/features/heading/server/validate.js +15 -0
  155. package/dist/features/heading/server/validate.js.map +1 -0
  156. package/dist/features/horizontalRule/client/index.js +2 -2
  157. package/dist/features/horizontalRule/client/index.js.map +1 -1
  158. package/dist/features/horizontalRule/client/markdownTransformer.d.ts +2 -2
  159. package/dist/features/horizontalRule/client/markdownTransformer.d.ts.map +1 -1
  160. package/dist/features/horizontalRule/client/markdownTransformer.js +1 -1
  161. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  162. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +1 -1
  163. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  164. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +1 -1
  165. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  166. package/dist/features/horizontalRule/client/plugin/index.css +2 -2
  167. package/dist/features/horizontalRule/server/index.js +2 -2
  168. package/dist/features/horizontalRule/server/index.js.map +1 -1
  169. package/dist/features/horizontalRule/server/markdownTransformer.d.ts +2 -2
  170. package/dist/features/horizontalRule/server/markdownTransformer.d.ts.map +1 -1
  171. package/dist/features/horizontalRule/server/markdownTransformer.js +1 -1
  172. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  173. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -1
  174. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  175. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +1 -1
  176. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  177. package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
  178. package/dist/features/indent/client/IndentPlugin.js +122 -1
  179. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  180. package/dist/features/indent/client/toolbarIndentGroup.d.ts.map +1 -1
  181. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  182. package/dist/features/indent/server/i18n.js +74 -37
  183. package/dist/features/indent/server/i18n.js.map +1 -1
  184. package/dist/features/link/client/index.js +2 -2
  185. package/dist/features/link/client/index.js.map +1 -1
  186. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  187. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  188. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +11 -8
  189. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  190. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +7 -13
  191. package/dist/features/link/markdownTransformer.d.ts +4 -4
  192. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  193. package/dist/features/link/markdownTransformer.js +2 -2
  194. package/dist/features/link/markdownTransformer.js.map +1 -1
  195. package/dist/features/link/nodes/AutoLinkNode.d.ts +1 -1
  196. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  197. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  198. package/dist/features/link/nodes/LinkNode.d.ts +1 -1
  199. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  200. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  201. package/dist/features/link/server/baseFields.d.ts.map +1 -1
  202. package/dist/features/link/server/baseFields.js.map +1 -1
  203. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -1
  204. package/dist/features/link/server/index.js +4 -4
  205. package/dist/features/link/server/index.js.map +1 -1
  206. package/dist/features/link/server/schema.d.ts.map +1 -1
  207. package/dist/features/link/server/schema.js +4 -2
  208. package/dist/features/link/server/schema.js.map +1 -1
  209. package/dist/features/link/server/validate.d.ts.map +1 -1
  210. package/dist/features/link/server/validate.js +1 -1
  211. package/dist/features/link/server/validate.js.map +1 -1
  212. package/dist/features/lists/checklist/client/index.js +1 -1
  213. package/dist/features/lists/checklist/client/index.js.map +1 -1
  214. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  215. package/dist/features/lists/checklist/server/index.js +6 -3
  216. package/dist/features/lists/checklist/server/index.js.map +1 -1
  217. package/dist/features/lists/orderedList/client/index.js +1 -1
  218. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  219. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  220. package/dist/features/lists/orderedList/server/index.js +6 -3
  221. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  222. package/dist/features/lists/shared/constants.d.ts +2 -0
  223. package/dist/features/lists/shared/constants.d.ts.map +1 -0
  224. package/dist/features/lists/shared/constants.js +2 -0
  225. package/dist/features/lists/shared/constants.js.map +1 -0
  226. package/dist/features/lists/shared/validate.d.ts +5 -0
  227. package/dist/features/lists/shared/validate.d.ts.map +1 -0
  228. package/dist/features/lists/shared/validate.js +15 -0
  229. package/dist/features/lists/shared/validate.js.map +1 -0
  230. package/dist/features/lists/unorderedList/client/index.js +1 -1
  231. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  232. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  233. package/dist/features/lists/unorderedList/server/index.js +6 -3
  234. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  235. package/dist/features/relationship/client/components/index.css +3 -6
  236. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
  237. package/dist/features/relationship/client/index.d.ts +2 -2
  238. package/dist/features/relationship/client/index.d.ts.map +1 -1
  239. package/dist/features/relationship/client/index.js.map +1 -1
  240. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  241. package/dist/features/relationship/client/plugins/index.d.ts +2 -2
  242. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  243. package/dist/features/relationship/client/plugins/index.js +27 -31
  244. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  245. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts +2 -4
  246. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  247. package/dist/features/relationship/client/utils/useEnabledRelationships.js +53 -20
  248. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  249. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +2 -2
  250. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  251. package/dist/features/relationship/server/graphQLPopulationPromise.js +2 -2
  252. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  253. package/dist/features/relationship/server/index.d.ts +8 -1
  254. package/dist/features/relationship/server/index.d.ts.map +1 -1
  255. package/dist/features/relationship/server/index.js +28 -11
  256. package/dist/features/relationship/server/index.js.map +1 -1
  257. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  258. package/dist/features/relationship/server/schema.d.ts +5 -5
  259. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  260. package/dist/features/relationship/server/schema.js +27 -15
  261. package/dist/features/relationship/server/schema.js.map +1 -1
  262. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +1 -6
  263. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -1
  264. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +1 -5
  265. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -1
  266. package/dist/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -1
  267. package/dist/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -1
  268. package/dist/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -1
  269. package/dist/features/table/client/index.d.ts.map +1 -0
  270. package/dist/features/{experimental_table → table}/client/index.js +2 -2
  271. package/dist/features/table/client/index.js.map +1 -0
  272. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts +8 -0
  273. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts.map +1 -0
  274. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js +19 -0
  275. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js.map +1 -0
  276. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.css +0 -1
  277. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  278. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.js +17 -44
  279. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  280. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  281. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.js +41 -18
  282. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  283. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  284. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  285. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.css +0 -3
  286. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  287. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  288. package/dist/features/table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  289. package/dist/features/table/client/plugins/TablePlugin/index.js.map +1 -0
  290. package/dist/features/table/client/utils/debounce.d.ts.map +1 -0
  291. package/dist/features/table/client/utils/debounce.js.map +1 -0
  292. package/dist/features/table/client/utils/useDebounce.d.ts.map +1 -0
  293. package/dist/features/table/client/utils/useDebounce.js.map +1 -0
  294. package/dist/features/table/markdownTransformer.d.ts +5 -0
  295. package/dist/features/table/markdownTransformer.d.ts.map +1 -0
  296. package/dist/features/{experimental_table → table}/markdownTransformer.js +6 -3
  297. package/dist/features/table/markdownTransformer.js.map +1 -0
  298. package/dist/features/table/server/index.d.ts +3 -0
  299. package/dist/features/table/server/index.d.ts.map +1 -0
  300. package/dist/features/{experimental_table → table}/server/index.js +6 -6
  301. package/dist/features/table/server/index.js.map +1 -0
  302. package/dist/features/table/server/schema.d.ts.map +1 -0
  303. package/dist/features/table/server/schema.js.map +1 -0
  304. package/dist/features/textState/feature.client.js +1 -1
  305. package/dist/features/textState/feature.client.js.map +1 -1
  306. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts +8 -0
  307. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts.map +1 -0
  308. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js +80 -0
  309. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js.map +1 -0
  310. package/dist/features/toolbars/fixed/client/Toolbar/index.css +80 -8
  311. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  312. package/dist/features/toolbars/fixed/client/Toolbar/index.js +4 -1
  313. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  314. package/dist/features/toolbars/inline/client/Toolbar/index.css +2 -14
  315. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  316. package/dist/features/toolbars/inline/client/Toolbar/index.js +2 -2
  317. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  318. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  319. package/dist/features/toolbars/shared/ToolbarButton/index.js +1 -0
  320. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  321. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  322. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +85 -32
  323. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  324. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +23 -25
  325. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  326. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  327. package/dist/features/toolbars/shared/useToolbarStates.d.ts.map +1 -1
  328. package/dist/features/toolbars/shared/useToolbarStates.js +3 -1
  329. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  330. package/dist/features/typesClient.d.ts +1 -1
  331. package/dist/features/typesClient.d.ts.map +1 -1
  332. package/dist/features/typesClient.js.map +1 -1
  333. package/dist/features/typesServer.d.ts +19 -14
  334. package/dist/features/typesServer.d.ts.map +1 -1
  335. package/dist/features/typesServer.js.map +1 -1
  336. package/dist/features/upload/client/component/index.css +9 -11
  337. package/dist/features/upload/client/component/index.js +2 -1
  338. package/dist/features/upload/client/component/index.js.map +1 -1
  339. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  340. package/dist/features/upload/client/index.d.ts +3 -2
  341. package/dist/features/upload/client/index.d.ts.map +1 -1
  342. package/dist/features/upload/client/index.js.map +1 -1
  343. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  344. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  345. package/dist/features/upload/client/plugin/index.js +53 -56
  346. package/dist/features/upload/client/plugin/index.js.map +1 -1
  347. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +2 -2
  348. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  349. package/dist/features/upload/server/graphQLPopulationPromise.js +1 -1
  350. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  351. package/dist/features/upload/server/index.d.ts +6 -2
  352. package/dist/features/upload/server/index.d.ts.map +1 -1
  353. package/dist/features/upload/server/index.js +22 -18
  354. package/dist/features/upload/server/index.js.map +1 -1
  355. package/dist/features/upload/server/markdownTransformer.d.ts +2 -2
  356. package/dist/features/upload/server/markdownTransformer.d.ts.map +1 -1
  357. package/dist/features/upload/server/markdownTransformer.js +1 -1
  358. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  359. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  360. package/dist/features/upload/server/schema.d.ts +6 -6
  361. package/dist/features/upload/server/schema.d.ts.map +1 -1
  362. package/dist/features/upload/server/schema.js +30 -14
  363. package/dist/features/upload/server/schema.js.map +1 -1
  364. package/dist/features/upload/server/validate.d.ts +2 -2
  365. package/dist/features/upload/server/validate.d.ts.map +1 -1
  366. package/dist/features/upload/server/validate.js +4 -1
  367. package/dist/features/upload/server/validate.js.map +1 -1
  368. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  369. package/dist/field/Diff/converters/listitem/index.js +2 -1
  370. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  371. package/dist/field/Diff/converters/relationship/index.css +0 -1
  372. package/dist/field/Diff/converters/unknown/index.css +1 -2
  373. package/dist/field/Diff/converters/upload/index.css +0 -1
  374. package/dist/field/Diff/index.css +0 -2
  375. package/dist/field/Diff/index.d.ts +3 -2
  376. package/dist/field/Diff/index.d.ts.map +1 -1
  377. package/dist/field/Diff/index.js +1 -0
  378. package/dist/field/Diff/index.js.map +1 -1
  379. package/dist/field/Field.d.ts.map +1 -1
  380. package/dist/field/Field.js +26 -16
  381. package/dist/field/Field.js.map +1 -1
  382. package/dist/field/RenderLexical/index.d.ts +3 -1
  383. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  384. package/dist/field/RenderLexical/index.js +23 -23
  385. package/dist/field/RenderLexical/index.js.map +1 -1
  386. package/dist/field/ViewSelector.css +1 -1
  387. package/dist/field/ViewSelector.d.ts.map +1 -1
  388. package/dist/field/ViewSelector.js +1 -0
  389. package/dist/field/ViewSelector.js.map +1 -1
  390. package/dist/field/bundled.css +1 -1
  391. package/dist/field/index.css +7 -5
  392. package/dist/i18n.d.ts.map +1 -1
  393. package/dist/i18n.js +68 -0
  394. package/dist/i18n.js.map +1 -1
  395. package/dist/index.d.ts +3 -3
  396. package/dist/index.d.ts.map +1 -1
  397. package/dist/index.js +33 -54
  398. package/dist/index.js.map +1 -1
  399. package/dist/lexical/LexicalEditor.css +30 -19
  400. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  401. package/dist/lexical/LexicalEditor.js +62 -99
  402. package/dist/lexical/LexicalEditor.js.map +1 -1
  403. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  404. package/dist/lexical/LexicalProvider.js +7 -22
  405. package/dist/lexical/LexicalProvider.js.map +1 -1
  406. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  407. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  408. package/dist/lexical/config/server/loader.d.ts +1 -1
  409. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  410. package/dist/lexical/config/server/loader.js +2 -2
  411. package/dist/lexical/config/server/loader.js.map +1 -1
  412. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  413. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  414. package/dist/lexical/config/server/sanitize.js +2 -2
  415. package/dist/lexical/config/server/sanitize.js.map +1 -1
  416. package/dist/lexical/plugins/DecoratorPlugin/index.css +1 -1
  417. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -1
  418. package/dist/lexical/plugins/DecoratorPlugin/index.js +24 -21
  419. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  420. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +18 -25
  421. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  422. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +27 -14
  423. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  424. package/dist/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  425. package/dist/lexical/plugins/MarkdownShortcut/index.js +1 -1
  426. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  427. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts.map +1 -1
  428. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js +21 -0
  429. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +1 -1
  430. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +0 -1
  431. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  432. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +2 -21
  433. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  434. package/dist/lexical/plugins/SlashMenu/index.css +1 -7
  435. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +2 -1
  436. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +2 -2
  437. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  438. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  439. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +5 -3
  440. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  441. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +17 -3
  442. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  443. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts +7 -0
  444. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts.map +1 -0
  445. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js +65 -0
  446. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js.map +1 -0
  447. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -1
  448. package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  449. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +2 -0
  450. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  451. package/dist/lexical/theme/EditorTheme.css +18 -21
  452. package/dist/lexical/ui/ContentEditable.css +22 -17
  453. package/dist/lexical/ui/ContentEditable.d.ts +2 -1
  454. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  455. package/dist/lexical/ui/ContentEditable.js +21 -7
  456. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  457. package/dist/lexical/ui/icons/H3/index.d.ts.map +1 -1
  458. package/dist/lexical/ui/icons/H3/index.js +13 -6
  459. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  460. package/dist/lexical/ui/icons/H4/index.d.ts.map +1 -1
  461. package/dist/lexical/ui/icons/H4/index.js +13 -6
  462. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  463. package/dist/lexical/ui/icons/H5/index.d.ts.map +1 -1
  464. package/dist/lexical/ui/icons/H5/index.js +13 -6
  465. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  466. package/dist/lexical/ui/icons/H6/index.d.ts.map +1 -1
  467. package/dist/lexical/ui/icons/H6/index.js +13 -6
  468. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  469. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts +17 -0
  470. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts.map +1 -0
  471. package/dist/lexical/utils/markdown/convertFromMarkdownString.js +27 -0
  472. package/dist/lexical/utils/markdown/convertFromMarkdownString.js.map +1 -0
  473. package/dist/lexical/utils/markdown/createBlockNode.d.ts +2 -2
  474. package/dist/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  475. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  476. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts +25 -0
  477. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts.map +1 -0
  478. package/dist/lexical/utils/markdown/normalizeMarkdown.js +91 -0
  479. package/dist/lexical/utils/markdown/normalizeMarkdown.js.map +1 -0
  480. package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
  481. package/dist/lexical/utils/point.d.ts.map +1 -1
  482. package/dist/lexical/utils/rect.d.ts.map +1 -1
  483. package/dist/lexical-proxy/@lexical-markdown.d.ts +1 -1
  484. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -1
  485. package/dist/lexical-proxy/@lexical-markdown.js +1 -1
  486. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  487. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts +2 -0
  488. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts.map +1 -0
  489. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js +2 -0
  490. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js.map +1 -0
  491. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts +2 -0
  492. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts.map +1 -0
  493. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js +2 -0
  494. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js.map +1 -0
  495. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts +2 -0
  496. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts.map +1 -0
  497. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js +2 -0
  498. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js.map +1 -0
  499. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts +2 -0
  500. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts.map +1 -0
  501. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js +2 -0
  502. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js.map +1 -0
  503. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts +2 -0
  504. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts.map +1 -0
  505. package/dist/lexical-proxy/@lexical-react/ReactExtension.js +2 -0
  506. package/dist/lexical-proxy/@lexical-react/ReactExtension.js.map +1 -0
  507. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts +2 -0
  508. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts.map +1 -0
  509. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js +2 -0
  510. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js.map +1 -0
  511. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts +2 -0
  512. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts.map +1 -0
  513. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js +2 -0
  514. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js.map +1 -0
  515. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts +2 -0
  516. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts.map +1 -0
  517. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js +2 -0
  518. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js.map +1 -0
  519. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts +2 -0
  520. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts.map +1 -0
  521. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js +2 -0
  522. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js.map +1 -0
  523. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts +2 -0
  524. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts.map +1 -0
  525. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js +2 -0
  526. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js.map +1 -0
  527. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts +2 -0
  528. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts.map +1 -0
  529. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js +2 -0
  530. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js.map +1 -0
  531. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts +2 -0
  532. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts.map +1 -0
  533. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js +2 -0
  534. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js.map +1 -0
  535. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts +2 -0
  536. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts.map +1 -0
  537. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js +2 -0
  538. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js.map +1 -0
  539. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts +2 -0
  540. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts.map +1 -0
  541. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js +2 -0
  542. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js.map +1 -0
  543. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts +2 -0
  544. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts.map +1 -0
  545. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js +2 -0
  546. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js.map +1 -0
  547. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  548. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
  549. package/dist/presets/llmInstructions.d.ts +2 -0
  550. package/dist/presets/llmInstructions.d.ts.map +1 -0
  551. package/dist/presets/llmInstructions.js +13 -0
  552. package/dist/presets/llmInstructions.js.map +1 -0
  553. package/dist/types/index.d.ts +3 -3
  554. package/dist/types/index.d.ts.map +1 -1
  555. package/dist/types/index.js.map +1 -1
  556. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -1
  557. package/dist/types/nodeTypes.d.ts +1 -1
  558. package/dist/types/nodeTypes.d.ts.map +1 -1
  559. package/dist/types/nodeTypes.js.map +1 -1
  560. package/dist/types/schema.d.ts.map +1 -1
  561. package/dist/types/schema.js +12 -5
  562. package/dist/types/schema.js.map +1 -1
  563. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  564. package/dist/utilities/applyBaseFilterToFields.js +1 -2
  565. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  566. package/dist/utilities/buildInitialState.d.ts +3 -2
  567. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  568. package/dist/utilities/buildInitialState.js +1 -0
  569. package/dist/utilities/buildInitialState.js.map +1 -1
  570. package/dist/utilities/createServerFeature.d.ts +1 -1
  571. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  572. package/dist/utilities/createServerFeature.js +2 -2
  573. package/dist/utilities/createServerFeature.js.map +1 -1
  574. package/dist/utilities/editorConfigFactory.d.ts +6 -6
  575. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  576. package/dist/utilities/editorConfigFactory.js +9 -9
  577. package/dist/utilities/editorConfigFactory.js.map +1 -1
  578. package/dist/utilities/fieldsDrawer/index.css +4 -4
  579. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +1 -1
  580. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -1
  581. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -1
  582. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
  583. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts.map +1 -1
  584. package/dist/utilities/generateImportMap.d.ts +1 -1
  585. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  586. package/dist/utilities/generateImportMap.js +3 -7
  587. package/dist/utilities/generateImportMap.js.map +1 -1
  588. package/dist/utilities/generateSchemaMap.d.ts +1 -1
  589. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  590. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts +2 -2
  591. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  592. package/dist/utilities/getDefaultSanitizedEditorConfig.js +6 -17
  593. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  594. package/dist/utilities/recurseNodeTree.d.ts.map +1 -1
  595. package/dist/utilities/upgradeLexicalData/index.js +6 -3
  596. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  597. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  598. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +1 -1
  599. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  600. package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
  601. package/dist/validate/hasText.d.ts +2 -2
  602. package/dist/validate/hasText.d.ts.map +1 -1
  603. package/dist/validate/hasText.js.map +1 -1
  604. package/dist/validate/index.d.ts +1 -1
  605. package/dist/validate/index.d.ts.map +1 -1
  606. package/package.json +98 -30
  607. package/dist/@types/assets.d.js +0 -2
  608. package/dist/@types/assets.d.js.map +0 -1
  609. package/dist/dependencyChecker.spec.js +0 -16
  610. package/dist/dependencyChecker.spec.js.map +0 -1
  611. package/dist/exports/client/Field-VYBSMSRY.js +0 -2
  612. package/dist/exports/client/Field-VYBSMSRY.js.map +0 -7
  613. package/dist/exports/client/bundled.css +0 -1
  614. package/dist/exports/client/chunk-LH634DPU.js +0 -12
  615. package/dist/exports/client/chunk-LH634DPU.js.map +0 -7
  616. package/dist/exports/client/chunk-UD4DQ4AK.js +0 -2
  617. package/dist/exports/client/chunk-UD4DQ4AK.js.map +0 -7
  618. package/dist/exports/client/chunk-ZYXHC5CY.js +0 -2
  619. package/dist/exports/client/chunk-ZYXHC5CY.js.map +0 -7
  620. package/dist/exports/client/component-PHZQBOJE.js +0 -2
  621. package/dist/exports/client/component-PHZQBOJE.js.map +0 -7
  622. package/dist/exports/client/componentInline-R3EPNYWF.js +0 -2
  623. package/dist/exports/server/rsc.browser.d.ts +0 -11
  624. package/dist/exports/server/rsc.browser.d.ts.map +0 -1
  625. package/dist/exports/server/rsc.browser.js +0 -10
  626. package/dist/exports/server/rsc.browser.js.map +0 -1
  627. package/dist/features/blockquote/markdownTransformer.d.ts +0 -3
  628. package/dist/features/blockquote/markdownTransformer.d.ts.map +0 -1
  629. package/dist/features/blockquote/markdownTransformer.js +0 -33
  630. package/dist/features/blockquote/markdownTransformer.js.map +0 -1
  631. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts +0 -11
  632. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts.map +0 -1
  633. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +0 -20
  634. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +0 -1
  635. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +0 -180
  636. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +0 -1
  637. package/dist/features/experimental_table/client/index.d.ts.map +0 -1
  638. package/dist/features/experimental_table/client/index.js.map +0 -1
  639. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  640. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +0 -1
  641. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  642. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +0 -1
  643. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +0 -1
  644. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +0 -1
  645. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +0 -1
  646. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js.map +0 -1
  647. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +0 -1
  648. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +0 -1
  649. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +0 -1
  650. package/dist/features/experimental_table/client/utils/debounce.js.map +0 -1
  651. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +0 -1
  652. package/dist/features/experimental_table/client/utils/useDebounce.js.map +0 -1
  653. package/dist/features/experimental_table/markdownTransformer.d.ts +0 -5
  654. package/dist/features/experimental_table/markdownTransformer.d.ts.map +0 -1
  655. package/dist/features/experimental_table/markdownTransformer.js.map +0 -1
  656. package/dist/features/experimental_table/server/index.d.ts +0 -3
  657. package/dist/features/experimental_table/server/index.d.ts.map +0 -1
  658. package/dist/features/experimental_table/server/index.js.map +0 -1
  659. package/dist/features/experimental_table/server/schema.d.ts.map +0 -1
  660. package/dist/features/experimental_table/server/schema.js.map +0 -1
  661. package/dist/features/format/bold/markdownTransformers.d.ts +0 -6
  662. package/dist/features/format/bold/markdownTransformers.d.ts.map +0 -1
  663. package/dist/features/format/bold/markdownTransformers.js +0 -23
  664. package/dist/features/format/bold/markdownTransformers.js.map +0 -1
  665. package/dist/features/format/inlineCode/markdownTransformers.d.ts +0 -3
  666. package/dist/features/format/inlineCode/markdownTransformers.d.ts.map +0 -1
  667. package/dist/features/format/inlineCode/markdownTransformers.js +0 -6
  668. package/dist/features/format/inlineCode/markdownTransformers.js.map +0 -1
  669. package/dist/features/format/italic/markdownTransformers.d.ts +0 -4
  670. package/dist/features/format/italic/markdownTransformers.d.ts.map +0 -1
  671. package/dist/features/format/italic/markdownTransformers.js +0 -12
  672. package/dist/features/format/italic/markdownTransformers.js.map +0 -1
  673. package/dist/features/format/strikethrough/markdownTransformers.d.ts +0 -3
  674. package/dist/features/format/strikethrough/markdownTransformers.d.ts.map +0 -1
  675. package/dist/features/format/strikethrough/markdownTransformers.js +0 -6
  676. package/dist/features/format/strikethrough/markdownTransformers.js.map +0 -1
  677. package/dist/features/link/markdownTransformer.spec.js +0 -195
  678. package/dist/features/link/markdownTransformer.spec.js.map +0 -1
  679. package/dist/features/lists/checklist/markdownTransformers.d.ts +0 -3
  680. package/dist/features/lists/checklist/markdownTransformers.d.ts.map +0 -1
  681. package/dist/features/lists/checklist/markdownTransformers.js +0 -12
  682. package/dist/features/lists/checklist/markdownTransformers.js.map +0 -1
  683. package/dist/features/lists/orderedList/markdownTransformer.d.ts +0 -3
  684. package/dist/features/lists/orderedList/markdownTransformer.d.ts.map +0 -1
  685. package/dist/features/lists/orderedList/markdownTransformer.js +0 -12
  686. package/dist/features/lists/orderedList/markdownTransformer.js.map +0 -1
  687. package/dist/features/lists/shared/markdown.d.ts +0 -6
  688. package/dist/features/lists/shared/markdown.d.ts.map +0 -1
  689. package/dist/features/lists/shared/markdown.js +0 -57
  690. package/dist/features/lists/shared/markdown.js.map +0 -1
  691. package/dist/features/lists/unorderedList/markdownTransformer.d.ts +0 -3
  692. package/dist/features/lists/unorderedList/markdownTransformer.d.ts.map +0 -1
  693. package/dist/features/lists/unorderedList/markdownTransformer.js +0 -12
  694. package/dist/features/lists/unorderedList/markdownTransformer.js.map +0 -1
  695. package/dist/field/clientEntry.d.ts +0 -29
  696. package/dist/field/clientEntry.d.ts.map +0 -1
  697. package/dist/field/clientEntry.js +0 -86
  698. package/dist/field/clientEntry.js.map +0 -1
  699. package/dist/lexical/utils/guard.d.ts +0 -5
  700. package/dist/lexical/utils/guard.d.ts.map +0 -1
  701. package/dist/lexical/utils/guard.js +0 -9
  702. package/dist/lexical/utils/guard.js.map +0 -1
  703. package/dist/lexical/utils/url.spec.js +0 -114
  704. package/dist/lexical/utils/url.spec.js.map +0 -1
  705. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +0 -2
  706. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +0 -1
  707. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -2
  708. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +0 -1
  709. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts +0 -14
  710. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts.map +0 -1
  711. package/dist/packages/@lexical/markdown/MarkdownExport.js +0 -213
  712. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +0 -1
  713. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts +0 -19
  714. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts.map +0 -1
  715. package/dist/packages/@lexical/markdown/MarkdownImport.js +0 -198
  716. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +0 -1
  717. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts +0 -11
  718. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts.map +0 -1
  719. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +0 -304
  720. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +0 -1
  721. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts +0 -147
  722. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts.map +0 -1
  723. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +0 -268
  724. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +0 -1
  725. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts +0 -22
  726. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts.map +0 -1
  727. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +0 -91
  728. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +0 -1
  729. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts +0 -21
  730. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts.map +0 -1
  731. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +0 -54
  732. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +0 -1
  733. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts +0 -18
  734. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts.map +0 -1
  735. package/dist/packages/@lexical/markdown/importTextTransformers.js +0 -54
  736. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +0 -1
  737. package/dist/packages/@lexical/markdown/index.d.ts +0 -29
  738. package/dist/packages/@lexical/markdown/index.d.ts.map +0 -1
  739. package/dist/packages/@lexical/markdown/index.js +0 -39
  740. package/dist/packages/@lexical/markdown/index.js.map +0 -1
  741. package/dist/packages/@lexical/markdown/utils.d.ts +0 -34
  742. package/dist/packages/@lexical/markdown/utils.d.ts.map +0 -1
  743. package/dist/packages/@lexical/markdown/utils.js +0 -267
  744. package/dist/packages/@lexical/markdown/utils.js.map +0 -1
  745. package/dist/utilities/jsx/jsx.spec.js +0 -178
  746. package/dist/utilities/jsx/jsx.spec.js.map +0 -1
  747. /package/dist/exports/client/{componentInline-R3EPNYWF.js.map → componentInline-ZEP5JPTC.js.map} +0 -0
  748. /package/dist/features/{experimental_table → table}/client/index.d.ts +0 -0
  749. /package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.d.ts +0 -0
  750. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.css +0 -0
  751. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.d.ts +0 -0
  752. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.d.ts +0 -0
  753. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.js +0 -0
  754. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.d.ts +0 -0
  755. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.js +0 -0
  756. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.css +0 -0
  757. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.d.ts +0 -0
  758. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.js +0 -0
  759. /package/dist/features/{experimental_table → table}/client/utils/debounce.d.ts +0 -0
  760. /package/dist/features/{experimental_table → table}/client/utils/debounce.js +0 -0
  761. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.d.ts +0 -0
  762. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.js +0 -0
  763. /package/dist/features/{experimental_table → table}/server/schema.d.ts +0 -0
  764. /package/dist/features/{experimental_table → table}/server/schema.js +0 -0
@@ -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":[]}
@@ -7,7 +7,7 @@ export declare class HorizontalRuleNode extends HorizontalRuleServerNode {
7
7
  /**
8
8
  * 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
9
  */
10
- static importJSON(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleNode;
10
+ static importJSON(_serializedNode: Record<string, unknown> & SerializedHorizontalRuleNode): HorizontalRuleNode;
11
11
  /**
12
12
  * Allows you to render a React component within whatever createDOM returns.
13
13
  */
@@ -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,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;IAC9D,OAAgB,KAAK,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB,CAE9E;IAED,OAAgB,OAAO,IAAI,MAAM,CAEhC;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"}
@@ -13,7 +13,7 @@ export class HorizontalRuleNode extends HorizontalRuleServerNode {
13
13
  /**
14
14
  * 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
15
  */
16
- static importJSON(serializedNode) {
16
+ static importJSON(_serializedNode) {
17
17
  return $createHorizontalRuleNode();
18
18
  }
19
19
  /**
@@ -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","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(\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;;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,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,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":[]}
@@ -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
  /**
@@ -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","version","getTextContent","isInline","updateDOM","$isHorizontalRuleServerNode"],"sources":["../../../../../src/features/horizontalRule/server/nodes/HorizontalRuleNode.tsx"],"sourcesContent":["import type {\n DOMConversionMap,\n DOMConversionOutput,\n DOMExportOutput,\n EditorConfig,\n LexicalCommand,\n LexicalNode,\n SerializedLexicalNode,\n} from 'lexical'\nimport type * as React from 'react'\n\nimport { addClassNamesToElement } from '@lexical/utils'\nimport { $applyNodeReplacement, createCommand, DecoratorNode } from 'lexical'\n\nimport type { SerializedHorizontalRuleNode } from '../schema.js'\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND: LexicalCommand<void> = createCommand(\n 'INSERT_HORIZONTAL_RULE_COMMAND',\n)\n\n/**\n * This node is a DecoratorNode. DecoratorNodes allow you to render React components in the editor.\n *\n * They need both createDom and decorate functions. createDom => outside of the html. decorate => React Component inside of the html.\n *\n * If we used DecoratorBlockNode instead, we would only need a decorate method\n */\nexport class HorizontalRuleServerNode extends DecoratorNode<null | React.ReactElement> {\n static override clone(node: HorizontalRuleServerNode): HorizontalRuleServerNode {\n return new this(node.__key)\n }\n\n static override getType(): string {\n return 'horizontalrule'\n }\n\n /**\n * Defines what happens if you copy an hr element from another page and paste it into the lexical editor\n *\n * This also determines the behavior of lexical's internal HTML -> Lexical converter\n */\n static override importDOM(): DOMConversionMap | null {\n return {\n hr: () => ({\n conversion: $convertHorizontalRuleElement,\n priority: 0,\n }),\n }\n }\n\n /**\n * The data for this node is stored serialized as JSON. This is the \"load function\" of that node: it takes the saved data and converts it into a node.\n */\n static override importJSON(\n _serializedNode: Record<string, unknown> & SerializedHorizontalRuleNode,\n ): HorizontalRuleServerNode {\n return $createHorizontalRuleServerNode()\n }\n\n /**\n * Determines how the hr element is rendered in the lexical editor. This is only the \"initial\" / \"outer\" HTML element.\n */\n override createDOM(config: EditorConfig): HTMLElement {\n const element = document.createElement('hr')\n addClassNamesToElement(element, config.theme.hr)\n return element\n }\n\n override decorate(): null | React.ReactElement {\n return null\n }\n\n /**\n * Opposite of importDOM, this function defines what happens when you copy an hr element from the lexical editor and paste it into another page.\n *\n * This also determines the behavior of lexical's internal Lexical -> HTML converter\n */\n override exportDOM(): DOMExportOutput {\n return { element: document.createElement('hr') }\n }\n /**\n * Opposite of importJSON. This determines what data is saved in the database / in the lexical editor state.\n */\n override exportJSON(): SerializedLexicalNode {\n return {\n type: 'horizontalrule',\n version: 1,\n }\n }\n\n override getTextContent(): string {\n return '\\n'\n }\n\n override isInline(): false {\n return false\n }\n\n override updateDOM(): boolean {\n return false\n }\n}\n\nfunction $convertHorizontalRuleElement(): DOMConversionOutput {\n return { node: $createHorizontalRuleServerNode() }\n}\n\nexport function $createHorizontalRuleServerNode(): HorizontalRuleServerNode {\n return $applyNodeReplacement(new HorizontalRuleServerNode())\n}\n\nexport function $isHorizontalRuleServerNode(\n node: LexicalNode | null | undefined,\n): node is HorizontalRuleServerNode {\n return node instanceof HorizontalRuleServerNode\n}\n"],"mappings":"AAWA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,aAAa,QAAQ;AAIpE,OAAO,MAAMC,8BAAA,GAAuDF,aAAA,CAClE;AAGF;;;;;;;AAOA,OAAO,MAAMG,wBAAA,SAAiCF,aAAA;EAC5C,OAAgBG,MAAMC,IAA8B,EAA4B;IAC9E,OAAO,IAAI,IAAI,CAACA,IAAA,CAAKC,KAAK;EAC5B;EAEA,OAAgBC,QAAA,EAAkB;IAChC,OAAO;EACT;EAEA;;;;;EAKA,OAAgBC,UAAA,EAAqC;IACnD,OAAO;MACLC,EAAA,EAAIA,CAAA,MAAO;QACTC,UAAA,EAAYC,6BAAA;QACZC,QAAA,EAAU;MACZ;IACF;EACF;EAEA;;;EAGA,OAAgBC,WACdC,eAAuE,EAC7C;IAC1B,OAAOC,+BAAA;EACT;EAEA;;;EAGAC,SAASA,CAAUC,MAAoB,EAAe;IACpD,MAAMC,OAAA,GAAUC,QAAA,CAASC,aAAa,CAAC;IACvCtB,sBAAA,CAAuBoB,OAAA,EAASD,MAAA,CAAOI,KAAK,CAACZ,EAAE;IAC/C,OAAOS,OAAA;EACT;EAESI,SAAA,EAAsC;IAC7C,OAAO;EACT;EAEA;;;;;EAKAC,SAASA,CAAA,EAA6B;IACpC,OAAO;MAAEL,OAAA,EAASC,QAAA,CAASC,aAAa,CAAC;IAAM;EACjD;EACA;;;EAGAI,UAASA,CAAA,EAAoC;IAC3C,OAAO;MACLC,IAAA,EAAM;MACNC,OAAA,EAAS;IACX;EACF;EAESC,eAAA,EAAyB;IAChC,OAAO;EACT;EAESC,SAAA,EAAkB;IACzB,OAAO;EACT;EAESC,UAAA,EAAqB;IAC5B,OAAO;EACT;AACF;AAEA,SAASlB,8BAAA;EACP,OAAO;IAAEN,IAAA,EAAMU,+BAAA;EAAkC;AACnD;AAEA,OAAO,SAASA,gCAAA;EACd,OAAOhB,qBAAA,CAAsB,IAAII,wBAAA;AACnC;AAEA,OAAO,SAAS2B,4BACdzB,IAAoC;EAEpC,OAAOA,IAAA,YAAgBF,wBAAA;AACzB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"IndentPlugin.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/client/IndentPlugin.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,kBAAkB,CAmE5D,CAAA"}
1
+ {"version":3,"file":"IndentPlugin.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/client/IndentPlugin.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,kBAAkB,CAmO5D,CAAA"}
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
3
  import { TabIndentationPlugin } from '@lexical/react/LexicalTabIndentationPlugin';
4
4
  import { $findMatchingParent, mergeRegister } from '@lexical/utils';
5
- import { $getSelection, $isElementNode, $isRangeSelection, COMMAND_PRIORITY_LOW, INDENT_CONTENT_COMMAND, KEY_TAB_COMMAND, OUTDENT_CONTENT_COMMAND, TabNode } from 'lexical';
5
+ import { $addUpdateTag, $getSelection, $isElementNode, $isRangeSelection, $isRootOrShadowRoot, BLUR_COMMAND, COMMAND_PRIORITY_HIGH, COMMAND_PRIORITY_LOW, FOCUS_COMMAND, INDENT_CONTENT_COMMAND, KEY_ESCAPE_COMMAND, KEY_TAB_COMMAND, OUTDENT_CONTENT_COMMAND, SELECTION_CHANGE_COMMAND, SKIP_DOM_SELECTION_TAG, TabNode } from 'lexical';
6
6
  import { useEffect } from 'react';
7
7
  export const IndentPlugin = ({
8
8
  clientProps
@@ -12,6 +12,127 @@ export const IndentPlugin = ({
12
12
  disabledNodes,
13
13
  disableTabNode
14
14
  } = clientProps;
15
+ useEffect(() => {
16
+ let canTabOut = false;
17
+ let hasTabbedOut = false;
18
+ const resetTabExit = () => {
19
+ canTabOut = false;
20
+ };
21
+ let restoreTabIndexes;
22
+ let restoreTabTimer;
23
+ let rootEvents;
24
+ function resetKeyboardExit() {
25
+ resetTabExit();
26
+ hasTabbedOut = false;
27
+ }
28
+ function handleKeyDownCapture(event) {
29
+ if (event.key !== 'Tab' || !canTabOut) {
30
+ if (!['Escape', 'Shift', 'Tab'].includes(event.key)) {
31
+ resetTabExit();
32
+ }
33
+ return;
34
+ }
35
+ const root = editor.getRootElement();
36
+ if (!root) {
37
+ return;
38
+ }
39
+ resetTabExit();
40
+ hasTabbedOut = true;
41
+ event.stopPropagation();
42
+ restoreTabIndexes?.();
43
+ clearTimeout(restoreTabTimer);
44
+ const container = root.closest('.rich-text-lexical') ?? root;
45
+ const tabStops = new Set([root, ...container.querySelectorAll('[tabindex], [contenteditable="true"], a[href], button, input, select, textarea, summary, iframe, audio[controls], video[controls]')]);
46
+ const tabIndexes = new Map();
47
+ // Let the browser take Tab outside the entire editor, including decorator controls.
48
+ // Restore its tab stops after the native focus move so ordinary Tab navigation is unchanged.
49
+ for (const element of tabStops) {
50
+ tabIndexes.set(element, element.getAttribute('tabindex'));
51
+ element.setAttribute('tabindex', '-1');
52
+ }
53
+ restoreTabIndexes = () => {
54
+ for (const [element, tabIndex] of tabIndexes) {
55
+ if (tabIndex === null) {
56
+ element.removeAttribute('tabindex');
57
+ } else {
58
+ element.setAttribute('tabindex', tabIndex);
59
+ }
60
+ }
61
+ restoreTabIndexes = undefined;
62
+ };
63
+ restoreTabTimer = setTimeout(() => restoreTabIndexes?.(), 0);
64
+ editor.update(() => $addUpdateTag(SKIP_DOM_SELECTION_TAG));
65
+ }
66
+ function handleKeyDown(event) {
67
+ if (event.key === 'Escape' && !event.defaultPrevented && editor.isEditable()) {
68
+ // A second press can dismiss the containing drawer; holding Escape must not.
69
+ if (canTabOut && !event.repeat) {
70
+ return;
71
+ }
72
+ // Menus handle Escape first. This also reaches inputs inside decorator blocks.
73
+ event.preventDefault();
74
+ event.stopPropagation();
75
+ canTabOut = true;
76
+ }
77
+ }
78
+ const unregisterRootListener = editor.registerRootListener(root => {
79
+ rootEvents?.abort();
80
+ rootEvents = new AbortController();
81
+ const {
82
+ signal
83
+ } = rootEvents;
84
+ /* eslint-disable @eslint-react/web-api/no-leaked-event-listener -- Aborted on root replacement and effect cleanup. */
85
+ root?.addEventListener('pointerdown', resetKeyboardExit, {
86
+ signal
87
+ });
88
+ root?.addEventListener('keydown', handleKeyDownCapture, {
89
+ capture: true,
90
+ signal
91
+ });
92
+ root?.addEventListener('keydown', handleKeyDown, {
93
+ signal
94
+ });
95
+ /* eslint-enable @eslint-react/web-api/no-leaked-event-listener */
96
+ });
97
+ const unregisterCommands = mergeRegister(editor.registerCommand(KEY_ESCAPE_COMMAND, event => {
98
+ if (!editor.isEditable()) {
99
+ return false;
100
+ }
101
+ handleKeyDown(event);
102
+ return true;
103
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_TAB_COMMAND, () => {
104
+ const selection = $getSelection();
105
+ const isRootSelection = $isRangeSelection(selection) && selection.isCollapsed() && $isRootOrShadowRoot(selection.anchor.getNode());
106
+ // A root selection between decorator blocks has no text block to indent.
107
+ if (!isRootSelection) {
108
+ return false;
109
+ }
110
+ resetTabExit();
111
+ hasTabbedOut = true;
112
+ $addUpdateTag(SKIP_DOM_SELECTION_TAG);
113
+ return true;
114
+ }, COMMAND_PRIORITY_HIGH), editor.registerCommand(BLUR_COMMAND, () => {
115
+ resetTabExit();
116
+ return false;
117
+ }, COMMAND_PRIORITY_HIGH), editor.registerCommand(FOCUS_COMMAND, () => {
118
+ resetKeyboardExit();
119
+ return false;
120
+ }, COMMAND_PRIORITY_HIGH), editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
121
+ const root = editor.getRootElement();
122
+ // A delayed selectionchange must not reclaim focus after native Tab navigation.
123
+ if (hasTabbedOut && root?.ownerDocument.activeElement !== root) {
124
+ $addUpdateTag(SKIP_DOM_SELECTION_TAG);
125
+ }
126
+ return false;
127
+ }, COMMAND_PRIORITY_HIGH));
128
+ return () => {
129
+ unregisterCommands();
130
+ unregisterRootListener();
131
+ rootEvents?.abort();
132
+ clearTimeout(restoreTabTimer);
133
+ restoreTabIndexes?.();
134
+ };
135
+ }, [editor]);
15
136
  useEffect(() => {
16
137
  if (!editor || !disabledNodes?.length) {
17
138
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"IndentPlugin.js","names":["useLexicalComposerContext","TabIndentationPlugin","$findMatchingParent","mergeRegister","$getSelection","$isElementNode","$isRangeSelection","COMMAND_PRIORITY_LOW","INDENT_CONTENT_COMMAND","KEY_TAB_COMMAND","OUTDENT_CONTENT_COMMAND","TabNode","useEffect","IndentPlugin","clientProps","editor","disabledNodes","disableTabNode","length","registerCommand","$handleIndentAndOutdent","block","includes","getType","indent","getIndent","setIndent","registerUpdateListener","dirtyElements","editorState","update","nodeKey","node","_nodeMap","get","currentIndent","event","preventDefault","dispatchCommand","shiftKey","undefined","registerNodeTransform","remove","_jsx","indentOrOutdent","selection","alreadyHandled","Set","nodes","getNodes","i","key","getKey","has","parentBlock","parentNode","isInline","parentKey","canIndent","add","size"],"sources":["../../../../src/features/indent/client/IndentPlugin.tsx"],"sourcesContent":["import type { ElementNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { TabIndentationPlugin } from '@lexical/react/LexicalTabIndentationPlugin'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport {\n $getSelection,\n $isElementNode,\n $isRangeSelection,\n COMMAND_PRIORITY_LOW,\n INDENT_CONTENT_COMMAND,\n KEY_TAB_COMMAND,\n OUTDENT_CONTENT_COMMAND,\n TabNode,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../typesClient.js'\nimport type { IndentFeatureProps } from '../server/index.js'\n\nexport const IndentPlugin: PluginComponent<IndentFeatureProps> = ({ clientProps }) => {\n const [editor] = useLexicalComposerContext()\n const { disabledNodes, disableTabNode } = clientProps\n\n useEffect(() => {\n if (!editor || !disabledNodes?.length) {\n return\n }\n return mergeRegister(\n editor.registerCommand(\n INDENT_CONTENT_COMMAND,\n () => {\n return $handleIndentAndOutdent((block) => {\n if (!disabledNodes.includes(block.getType())) {\n const indent = block.getIndent()\n block.setIndent(indent + 1)\n }\n })\n },\n COMMAND_PRIORITY_LOW,\n ),\n // If we disable indenting for certain nodes, we need to ensure that these are not indented,\n // if they get transformed from an indented state (e.g. an indented list node gets transformed into a\n // paragraph node for which indenting is disabled).\n editor.registerUpdateListener(({ dirtyElements, editorState }) => {\n editor.update(() => {\n for (const [nodeKey] of dirtyElements) {\n const node = editorState._nodeMap.get(nodeKey)\n if ($isElementNode(node) && disabledNodes.includes(node.getType())) {\n const currentIndent = node.getIndent()\n if (currentIndent > 0) {\n node.setIndent(0)\n }\n }\n }\n })\n }),\n )\n }, [editor, disabledNodes])\n\n useEffect(() => {\n if (!editor || !disableTabNode) {\n return\n }\n return mergeRegister(\n // This is so that when you press Tab in the middle of a paragraph,\n // it indents the paragraph, instead of inserting a TabNode.\n editor.registerCommand<KeyboardEvent>(\n KEY_TAB_COMMAND,\n (event) => {\n event.preventDefault()\n return editor.dispatchCommand(\n event.shiftKey ? OUTDENT_CONTENT_COMMAND : INDENT_CONTENT_COMMAND,\n undefined,\n )\n },\n COMMAND_PRIORITY_LOW,\n ),\n // Tab isn't the only way to insert a TabNode. We have to make sure\n // it doesn't happen, for example, when pasting from the clipboard.\n editor.registerNodeTransform(TabNode, (node) => {\n node.remove()\n }),\n )\n }, [editor, disableTabNode])\n\n return <TabIndentationPlugin />\n}\n\nfunction $handleIndentAndOutdent(indentOrOutdent: (block: ElementNode) => void): boolean {\n const selection = $getSelection()\n if (!$isRangeSelection(selection)) {\n return false\n }\n const alreadyHandled = new Set()\n const nodes = selection.getNodes()\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i]!\n const key = node.getKey()\n if (alreadyHandled.has(key)) {\n continue\n }\n const parentBlock = $findMatchingParent(\n node,\n (parentNode): parentNode is ElementNode =>\n $isElementNode(parentNode) && !parentNode.isInline(),\n )\n if (parentBlock === null) {\n continue\n }\n const parentKey = parentBlock.getKey()\n if (parentBlock.canIndent() && !alreadyHandled.has(parentKey)) {\n alreadyHandled.add(parentKey)\n indentOrOutdent(parentBlock)\n }\n }\n return alreadyHandled.size > 0\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"IndentPlugin.js","names":["useLexicalComposerContext","TabIndentationPlugin","$findMatchingParent","mergeRegister","$addUpdateTag","$getSelection","$isElementNode","$isRangeSelection","$isRootOrShadowRoot","BLUR_COMMAND","COMMAND_PRIORITY_HIGH","COMMAND_PRIORITY_LOW","FOCUS_COMMAND","INDENT_CONTENT_COMMAND","KEY_ESCAPE_COMMAND","KEY_TAB_COMMAND","OUTDENT_CONTENT_COMMAND","SELECTION_CHANGE_COMMAND","SKIP_DOM_SELECTION_TAG","TabNode","useEffect","IndentPlugin","clientProps","editor","disabledNodes","disableTabNode","canTabOut","hasTabbedOut","resetTabExit","restoreTabIndexes","restoreTabTimer","rootEvents","resetKeyboardExit","handleKeyDownCapture","event","key","includes","root","getRootElement","stopPropagation","clearTimeout","container","closest","tabStops","Set","querySelectorAll","tabIndexes","Map","element","set","getAttribute","setAttribute","tabIndex","removeAttribute","undefined","setTimeout","update","handleKeyDown","defaultPrevented","isEditable","repeat","preventDefault","unregisterRootListener","registerRootListener","abort","AbortController","signal","addEventListener","capture","unregisterCommands","registerCommand","selection","isRootSelection","isCollapsed","anchor","getNode","ownerDocument","activeElement","length","$handleIndentAndOutdent","block","getType","indent","getIndent","setIndent","registerUpdateListener","dirtyElements","editorState","nodeKey","node","_nodeMap","get","currentIndent","dispatchCommand","shiftKey","registerNodeTransform","remove","_jsx","indentOrOutdent","alreadyHandled","nodes","getNodes","i","getKey","has","parentBlock","parentNode","isInline","parentKey","canIndent","add","size"],"sources":["../../../../src/features/indent/client/IndentPlugin.tsx"],"sourcesContent":["import type { ElementNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { TabIndentationPlugin } from '@lexical/react/LexicalTabIndentationPlugin'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport {\n $addUpdateTag,\n $getSelection,\n $isElementNode,\n $isRangeSelection,\n $isRootOrShadowRoot,\n BLUR_COMMAND,\n COMMAND_PRIORITY_HIGH,\n COMMAND_PRIORITY_LOW,\n FOCUS_COMMAND,\n INDENT_CONTENT_COMMAND,\n KEY_ESCAPE_COMMAND,\n KEY_TAB_COMMAND,\n OUTDENT_CONTENT_COMMAND,\n SELECTION_CHANGE_COMMAND,\n SKIP_DOM_SELECTION_TAG,\n TabNode,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../typesClient.js'\nimport type { IndentFeatureProps } from '../server/index.js'\n\nexport const IndentPlugin: PluginComponent<IndentFeatureProps> = ({ clientProps }) => {\n const [editor] = useLexicalComposerContext()\n const { disabledNodes, disableTabNode } = clientProps\n\n useEffect(() => {\n let canTabOut = false\n let hasTabbedOut = false\n const resetTabExit = () => {\n canTabOut = false\n }\n let restoreTabIndexes: (() => void) | undefined\n let restoreTabTimer: ReturnType<typeof setTimeout> | undefined\n let rootEvents: AbortController | undefined\n\n function resetKeyboardExit() {\n resetTabExit()\n hasTabbedOut = false\n }\n\n function handleKeyDownCapture(event: KeyboardEvent) {\n if (event.key !== 'Tab' || !canTabOut) {\n if (!['Escape', 'Shift', 'Tab'].includes(event.key)) {\n resetTabExit()\n }\n return\n }\n\n const root = editor.getRootElement()\n\n if (!root) {\n return\n }\n resetTabExit()\n hasTabbedOut = true\n event.stopPropagation()\n restoreTabIndexes?.()\n clearTimeout(restoreTabTimer)\n\n const container = root.closest('.rich-text-lexical') ?? root\n const tabStops = new Set([\n root,\n ...container.querySelectorAll<HTMLElement>(\n '[tabindex], [contenteditable=\"true\"], a[href], button, input, select, textarea, summary, iframe, audio[controls], video[controls]',\n ),\n ])\n const tabIndexes = new Map<HTMLElement, null | string>()\n\n // Let the browser take Tab outside the entire editor, including decorator controls.\n // Restore its tab stops after the native focus move so ordinary Tab navigation is unchanged.\n for (const element of tabStops) {\n tabIndexes.set(element, element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n }\n restoreTabIndexes = () => {\n for (const [element, tabIndex] of tabIndexes) {\n if (tabIndex === null) {\n element.removeAttribute('tabindex')\n } else {\n element.setAttribute('tabindex', tabIndex)\n }\n }\n restoreTabIndexes = undefined\n }\n restoreTabTimer = setTimeout(() => restoreTabIndexes?.(), 0)\n editor.update(() => $addUpdateTag(SKIP_DOM_SELECTION_TAG))\n }\n\n function handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && !event.defaultPrevented && editor.isEditable()) {\n // A second press can dismiss the containing drawer; holding Escape must not.\n if (canTabOut && !event.repeat) {\n return\n }\n // Menus handle Escape first. This also reaches inputs inside decorator blocks.\n event.preventDefault()\n event.stopPropagation()\n canTabOut = true\n }\n }\n\n const unregisterRootListener = editor.registerRootListener((root) => {\n rootEvents?.abort()\n rootEvents = new AbortController()\n const { signal } = rootEvents\n\n /* eslint-disable @eslint-react/web-api/no-leaked-event-listener -- Aborted on root replacement and effect cleanup. */\n root?.addEventListener('pointerdown', resetKeyboardExit, { signal })\n root?.addEventListener('keydown', handleKeyDownCapture, { capture: true, signal })\n root?.addEventListener('keydown', handleKeyDown, { signal })\n /* eslint-enable @eslint-react/web-api/no-leaked-event-listener */\n })\n\n const unregisterCommands = mergeRegister(\n editor.registerCommand(\n KEY_ESCAPE_COMMAND,\n (event) => {\n if (!editor.isEditable()) {\n return false\n }\n handleKeyDown(event)\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_TAB_COMMAND,\n () => {\n const selection = $getSelection()\n const isRootSelection =\n $isRangeSelection(selection) &&\n selection.isCollapsed() &&\n $isRootOrShadowRoot(selection.anchor.getNode())\n\n // A root selection between decorator blocks has no text block to indent.\n if (!isRootSelection) {\n return false\n }\n resetTabExit()\n hasTabbedOut = true\n $addUpdateTag(SKIP_DOM_SELECTION_TAG)\n return true\n },\n COMMAND_PRIORITY_HIGH,\n ),\n editor.registerCommand(\n BLUR_COMMAND,\n () => {\n resetTabExit()\n return false\n },\n COMMAND_PRIORITY_HIGH,\n ),\n editor.registerCommand(\n FOCUS_COMMAND,\n () => {\n resetKeyboardExit()\n return false\n },\n COMMAND_PRIORITY_HIGH,\n ),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n const root = editor.getRootElement()\n\n // A delayed selectionchange must not reclaim focus after native Tab navigation.\n if (hasTabbedOut && root?.ownerDocument.activeElement !== root) {\n $addUpdateTag(SKIP_DOM_SELECTION_TAG)\n }\n return false\n },\n COMMAND_PRIORITY_HIGH,\n ),\n )\n\n return () => {\n unregisterCommands()\n unregisterRootListener()\n rootEvents?.abort()\n clearTimeout(restoreTabTimer)\n restoreTabIndexes?.()\n }\n }, [editor])\n\n useEffect(() => {\n if (!editor || !disabledNodes?.length) {\n return\n }\n return mergeRegister(\n editor.registerCommand(\n INDENT_CONTENT_COMMAND,\n () => {\n return $handleIndentAndOutdent((block) => {\n if (!disabledNodes.includes(block.getType())) {\n const indent = block.getIndent()\n block.setIndent(indent + 1)\n }\n })\n },\n COMMAND_PRIORITY_LOW,\n ),\n // If we disable indenting for certain nodes, we need to ensure that these are not indented,\n // if they get transformed from an indented state (e.g. an indented list node gets transformed into a\n // paragraph node for which indenting is disabled).\n editor.registerUpdateListener(({ dirtyElements, editorState }) => {\n editor.update(() => {\n for (const [nodeKey] of dirtyElements) {\n const node = editorState._nodeMap.get(nodeKey)\n if ($isElementNode(node) && disabledNodes.includes(node.getType())) {\n const currentIndent = node.getIndent()\n if (currentIndent > 0) {\n node.setIndent(0)\n }\n }\n }\n })\n }),\n )\n }, [editor, disabledNodes])\n\n useEffect(() => {\n if (!editor || !disableTabNode) {\n return\n }\n return mergeRegister(\n // This is so that when you press Tab in the middle of a paragraph,\n // it indents the paragraph, instead of inserting a TabNode.\n editor.registerCommand<KeyboardEvent>(\n KEY_TAB_COMMAND,\n (event) => {\n event.preventDefault()\n return editor.dispatchCommand(\n event.shiftKey ? OUTDENT_CONTENT_COMMAND : INDENT_CONTENT_COMMAND,\n undefined,\n )\n },\n COMMAND_PRIORITY_LOW,\n ),\n // Tab isn't the only way to insert a TabNode. We have to make sure\n // it doesn't happen, for example, when pasting from the clipboard.\n editor.registerNodeTransform(TabNode, (node) => {\n node.remove()\n }),\n )\n }, [editor, disableTabNode])\n\n return <TabIndentationPlugin />\n}\n\nfunction $handleIndentAndOutdent(indentOrOutdent: (block: ElementNode) => void): boolean {\n const selection = $getSelection()\n if (!$isRangeSelection(selection)) {\n return false\n }\n const alreadyHandled = new Set()\n const nodes = selection.getNodes()\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i]!\n const key = node.getKey()\n if (alreadyHandled.has(key)) {\n continue\n }\n const parentBlock = $findMatchingParent(\n node,\n (parentNode): parentNode is ElementNode =>\n $isElementNode(parentNode) && !parentNode.isInline(),\n )\n if (parentBlock === null) {\n continue\n }\n const parentKey = parentBlock.getKey()\n if (parentBlock.canIndent() && !alreadyHandled.has(parentKey)) {\n alreadyHandled.add(parentKey)\n indentOrOutdent(parentBlock)\n }\n }\n return alreadyHandled.size > 0\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"toolbarIndentGroup.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/client/toolbarIndentGroup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE7E,eAAO,MAAM,2BAA2B,GAAI,OAAO,gBAAgB,EAAE,KAAG,YAOvE,CAAA"}
1
+ {"version":3,"file":"toolbarIndentGroup.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/client/toolbarIndentGroup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE7E,eAAO,MAAM,2BAA2B,UAAW,gBAAgB,EAAE,KAAG,YAOvE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAqJ1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAkN1C,CAAA"}