@payloadcms/richtext-lexical 4.0.0-internal.5f0cd13 → 4.0.0-internal.811e0a4

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 (384) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/cell/rscEntry.d.ts.map +1 -1
  3. package/dist/cell/rscEntry.js +5 -5
  4. package/dist/cell/rscEntry.js.map +1 -1
  5. package/dist/exports/client/Field-XH5C4HFU.js +2 -0
  6. package/dist/exports/client/Field-XH5C4HFU.js.map +7 -0
  7. package/dist/exports/client/bundled.css +1 -1
  8. package/dist/exports/client/chunk-5VIL27GI.js +2 -0
  9. package/dist/exports/client/chunk-5VIL27GI.js.map +7 -0
  10. package/dist/exports/client/chunk-ESITTE3C.js +2 -0
  11. package/dist/exports/client/chunk-ESITTE3C.js.map +7 -0
  12. package/dist/exports/client/chunk-UD4DQ4AK.js +2 -0
  13. package/dist/exports/client/chunk-UD4DQ4AK.js.map +7 -0
  14. package/dist/exports/client/chunk-X3D4LZS7.js +2 -0
  15. package/dist/exports/client/chunk-X3D4LZS7.js.map +7 -0
  16. package/dist/exports/client/{component-HKTAZ77E.js → component-PHZQBOJE.js} +2 -2
  17. package/dist/exports/client/componentInline-H24N7GUG.js +2 -0
  18. package/dist/exports/client/index.d.ts +0 -1
  19. package/dist/exports/client/index.d.ts.map +1 -1
  20. package/dist/exports/client/index.js +20 -21
  21. package/dist/exports/client/index.js.map +4 -4
  22. package/dist/features/blockquote/client/index.js +2 -2
  23. package/dist/features/blockquote/client/index.js.map +1 -1
  24. package/dist/features/blockquote/server/index.js +2 -2
  25. package/dist/features/blockquote/server/index.js.map +1 -1
  26. package/dist/features/blocks/client/component/index.css +2 -2
  27. package/dist/features/blocks/client/component/index.d.ts +1 -0
  28. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  29. package/dist/features/blocks/client/component/index.js +16 -8
  30. package/dist/features/blocks/client/component/index.js.map +1 -1
  31. package/dist/features/blocks/client/componentInline/index.css +8 -8
  32. package/dist/features/blocks/client/componentInline/index.d.ts +1 -0
  33. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  34. package/dist/features/blocks/client/componentInline/index.js +15 -7
  35. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  36. package/dist/features/blocks/client/index.d.ts.map +1 -1
  37. package/dist/features/blocks/client/index.js +4 -2
  38. package/dist/features/blocks/client/index.js.map +1 -1
  39. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +1 -1
  40. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -1
  41. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +1 -1
  42. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  43. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +1 -1
  44. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -1
  45. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +5 -2
  46. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  47. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +1 -2
  48. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -1
  49. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  50. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -1
  51. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +1 -0
  52. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  53. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.css +1 -1
  54. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.css +2 -4
  55. package/dist/features/blocks/premade/CodeBlock/Component/index.css +5 -5
  56. package/dist/features/blocks/server/index.d.ts.map +1 -1
  57. package/dist/features/blocks/server/index.js +6 -8
  58. package/dist/features/blocks/server/index.js.map +1 -1
  59. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +1 -1
  60. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -1
  61. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  62. package/dist/features/blocks/server/schema.d.ts +5 -5
  63. package/dist/features/blocks/server/schema.d.ts.map +1 -1
  64. package/dist/features/blocks/server/schema.js +28 -24
  65. package/dist/features/blocks/server/schema.js.map +1 -1
  66. package/dist/features/converters/lexicalToHtml/async/types.d.ts +13 -15
  67. package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -1
  68. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  69. package/dist/features/converters/lexicalToHtml/sync/types.d.ts +13 -15
  70. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  71. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  72. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +2 -2
  73. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  74. package/dist/features/converters/lexicalToJSX/Component/index.js +5 -4
  75. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  76. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +12 -14
  77. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  78. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  79. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -1
  80. package/dist/features/converters/lexicalToMarkdown/index.js +1 -1
  81. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  82. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +12 -14
  83. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -1
  84. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  85. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -1
  86. package/dist/features/converters/markdownToLexical/index.js +5 -2
  87. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  88. package/dist/features/debug/jsxConverter/client/plugin/style.css +2 -2
  89. package/dist/features/experimental_table/client/index.js +2 -2
  90. package/dist/features/experimental_table/client/index.js.map +1 -1
  91. package/dist/features/experimental_table/markdownTransformer.d.ts +2 -2
  92. package/dist/features/experimental_table/markdownTransformer.d.ts.map +1 -1
  93. package/dist/features/experimental_table/markdownTransformer.js +6 -3
  94. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  95. package/dist/features/experimental_table/server/index.js +2 -2
  96. package/dist/features/experimental_table/server/index.js.map +1 -1
  97. package/dist/features/experimental_table/server/schema.d.ts.map +1 -1
  98. package/dist/features/experimental_table/server/schema.js +6 -3
  99. package/dist/features/experimental_table/server/schema.js.map +1 -1
  100. package/dist/features/format/bold/feature.client.js +1 -1
  101. package/dist/features/format/bold/feature.client.js.map +1 -1
  102. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  103. package/dist/features/format/bold/feature.server.js +1 -1
  104. package/dist/features/format/bold/feature.server.js.map +1 -1
  105. package/dist/features/format/inlineCode/feature.client.js +1 -1
  106. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  107. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  108. package/dist/features/format/inlineCode/feature.server.js +1 -1
  109. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  110. package/dist/features/format/italic/feature.client.js +1 -1
  111. package/dist/features/format/italic/feature.client.js.map +1 -1
  112. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  113. package/dist/features/format/italic/feature.server.js +1 -1
  114. package/dist/features/format/italic/feature.server.js.map +1 -1
  115. package/dist/features/format/strikethrough/feature.client.js +1 -1
  116. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  117. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  118. package/dist/features/format/strikethrough/feature.server.js +1 -1
  119. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  120. package/dist/features/heading/client/index.js +2 -2
  121. package/dist/features/heading/client/index.js.map +1 -1
  122. package/dist/features/heading/markdownTransformer.d.ts +2 -2
  123. package/dist/features/heading/markdownTransformer.d.ts.map +1 -1
  124. package/dist/features/heading/markdownTransformer.js +6 -19
  125. package/dist/features/heading/markdownTransformer.js.map +1 -1
  126. package/dist/features/heading/server/index.js +2 -2
  127. package/dist/features/heading/server/index.js.map +1 -1
  128. package/dist/features/horizontalRule/client/index.js +2 -2
  129. package/dist/features/horizontalRule/client/index.js.map +1 -1
  130. package/dist/features/horizontalRule/client/markdownTransformer.d.ts +2 -2
  131. package/dist/features/horizontalRule/client/markdownTransformer.d.ts.map +1 -1
  132. package/dist/features/horizontalRule/client/markdownTransformer.js +1 -1
  133. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  134. package/dist/features/horizontalRule/client/plugin/index.css +2 -2
  135. package/dist/features/horizontalRule/server/index.js +2 -2
  136. package/dist/features/horizontalRule/server/index.js.map +1 -1
  137. package/dist/features/horizontalRule/server/markdownTransformer.d.ts +2 -2
  138. package/dist/features/horizontalRule/server/markdownTransformer.d.ts.map +1 -1
  139. package/dist/features/horizontalRule/server/markdownTransformer.js +1 -1
  140. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  141. package/dist/features/link/client/index.js +2 -2
  142. package/dist/features/link/client/index.js.map +1 -1
  143. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +3 -3
  144. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  145. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +7 -11
  146. package/dist/features/link/markdownTransformer.d.ts +4 -4
  147. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  148. package/dist/features/link/markdownTransformer.js +2 -2
  149. package/dist/features/link/markdownTransformer.js.map +1 -1
  150. package/dist/features/link/markdownTransformer.spec.js +10 -10
  151. package/dist/features/link/markdownTransformer.spec.js.map +1 -1
  152. package/dist/features/link/server/baseFields.js.map +1 -1
  153. package/dist/features/link/server/index.js +2 -2
  154. package/dist/features/link/server/index.js.map +1 -1
  155. package/dist/features/link/server/schema.d.ts.map +1 -1
  156. package/dist/features/link/server/schema.js +14 -9
  157. package/dist/features/link/server/schema.js.map +1 -1
  158. package/dist/features/lists/checklist/client/index.js +1 -1
  159. package/dist/features/lists/checklist/client/index.js.map +1 -1
  160. package/dist/features/lists/checklist/server/index.js +1 -1
  161. package/dist/features/lists/checklist/server/index.js.map +1 -1
  162. package/dist/features/lists/orderedList/client/index.js +1 -1
  163. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  164. package/dist/features/lists/orderedList/server/index.js +1 -1
  165. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  166. package/dist/features/lists/unorderedList/client/index.js +1 -1
  167. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  168. package/dist/features/lists/unorderedList/server/index.js +1 -1
  169. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  170. package/dist/features/relationship/server/schema.d.ts +3 -3
  171. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  172. package/dist/features/relationship/server/schema.js +27 -13
  173. package/dist/features/relationship/server/schema.js.map +1 -1
  174. package/dist/features/textState/feature.client.js +1 -1
  175. package/dist/features/textState/feature.client.js.map +1 -1
  176. package/dist/features/toolbars/fixed/client/Toolbar/index.css +2 -2
  177. package/dist/features/toolbars/inline/client/Toolbar/index.css +2 -13
  178. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +8 -12
  179. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  180. package/dist/features/toolbars/shared/useToolbarStates.d.ts.map +1 -1
  181. package/dist/features/toolbars/shared/useToolbarStates.js +3 -1
  182. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  183. package/dist/features/typesClient.d.ts +1 -1
  184. package/dist/features/typesClient.d.ts.map +1 -1
  185. package/dist/features/typesClient.js.map +1 -1
  186. package/dist/features/typesServer.d.ts +2 -2
  187. package/dist/features/typesServer.d.ts.map +1 -1
  188. package/dist/features/typesServer.js.map +1 -1
  189. package/dist/features/upload/client/component/index.css +11 -11
  190. package/dist/features/upload/client/plugin/index.js +5 -5
  191. package/dist/features/upload/client/plugin/index.js.map +1 -1
  192. package/dist/features/upload/server/index.js +2 -2
  193. package/dist/features/upload/server/index.js.map +1 -1
  194. package/dist/features/upload/server/markdownTransformer.d.ts +2 -2
  195. package/dist/features/upload/server/markdownTransformer.d.ts.map +1 -1
  196. package/dist/features/upload/server/markdownTransformer.js +1 -1
  197. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  198. package/dist/features/upload/server/schema.d.ts +8 -8
  199. package/dist/features/upload/server/schema.d.ts.map +1 -1
  200. package/dist/features/upload/server/schema.js +59 -23
  201. package/dist/features/upload/server/schema.js.map +1 -1
  202. package/dist/field/Diff/converters/unknown/index.css +1 -1
  203. package/dist/field/Field.js +1 -1
  204. package/dist/field/Field.js.map +1 -1
  205. package/dist/field/ViewSelector.css +1 -1
  206. package/dist/field/bundled.css +1 -1
  207. package/dist/field/index.css +5 -5
  208. package/dist/field/index.js +1 -1
  209. package/dist/field/index.js.map +1 -1
  210. package/dist/field/rscEntry.d.ts.map +1 -1
  211. package/dist/field/rscEntry.js +2 -0
  212. package/dist/field/rscEntry.js.map +1 -1
  213. package/dist/index.d.ts +2 -2
  214. package/dist/index.d.ts.map +1 -1
  215. package/dist/index.js +3 -3
  216. package/dist/index.js.map +1 -1
  217. package/dist/lexical/LexicalEditor.css +2 -2
  218. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  219. package/dist/lexical/config/client/loader.js +5 -1
  220. package/dist/lexical/config/client/loader.js.map +1 -1
  221. package/dist/lexical/plugins/DecoratorPlugin/index.css +1 -1
  222. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  223. package/dist/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  224. package/dist/lexical/plugins/MarkdownShortcut/index.js +1 -1
  225. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  226. package/dist/lexical/plugins/SlashMenu/index.css +1 -5
  227. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +1 -1
  228. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +3 -3
  229. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +1 -1
  230. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  231. package/dist/lexical/theme/EditorTheme.css +18 -19
  232. package/dist/lexical/ui/ContentEditable.css +5 -5
  233. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts +17 -0
  234. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts.map +1 -0
  235. package/dist/lexical/utils/markdown/convertFromMarkdownString.js +27 -0
  236. package/dist/lexical/utils/markdown/convertFromMarkdownString.js.map +1 -0
  237. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js +88 -0
  238. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js.map +1 -0
  239. package/dist/lexical/utils/markdown/createBlockNode.d.ts +1 -1
  240. package/dist/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  241. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  242. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts +25 -0
  243. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts.map +1 -0
  244. package/dist/lexical/utils/markdown/normalizeMarkdown.js +91 -0
  245. package/dist/lexical/utils/markdown/normalizeMarkdown.js.map +1 -0
  246. package/dist/lexical-proxy/@lexical-markdown.d.ts +1 -1
  247. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -1
  248. package/dist/lexical-proxy/@lexical-markdown.js +1 -1
  249. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  250. package/dist/types/builtInNodes.d.ts.map +1 -1
  251. package/dist/types/builtInNodes.js +17 -17
  252. package/dist/types/builtInNodes.js.map +1 -1
  253. package/dist/types/index.d.ts +16 -16
  254. package/dist/types/index.d.ts.map +1 -1
  255. package/dist/types/index.js.map +1 -1
  256. package/dist/types/jsonSchemaHelpers.d.ts +2 -0
  257. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -1
  258. package/dist/types/jsonSchemaHelpers.js +7 -3
  259. package/dist/types/jsonSchemaHelpers.js.map +1 -1
  260. package/dist/types/nodeTypes.d.ts +51 -9
  261. package/dist/types/nodeTypes.d.ts.map +1 -1
  262. package/dist/types/nodeTypes.js +3 -3
  263. package/dist/types/nodeTypes.js.map +1 -1
  264. package/dist/types/schema.d.ts.map +1 -1
  265. package/dist/types/schema.js +24 -7
  266. package/dist/types/schema.js.map +1 -1
  267. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  268. package/dist/utilities/applyBaseFilterToFields.js +1 -2
  269. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  270. package/dist/utilities/buildEditorState.d.ts +17 -3
  271. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  272. package/dist/utilities/buildEditorState.js +8 -0
  273. package/dist/utilities/buildEditorState.js.map +1 -1
  274. package/dist/utilities/buildInitialState.d.ts +2 -1
  275. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  276. package/dist/utilities/buildInitialState.js.map +1 -1
  277. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  278. package/dist/utilities/fieldsDrawer/Drawer.js +19 -10
  279. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  280. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts +4 -1
  281. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  282. package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -7
  283. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  284. package/dist/utilities/fieldsDrawer/index.css +12 -0
  285. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +29 -0
  286. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -0
  287. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js +97 -0
  288. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js.map +1 -0
  289. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +1 -1
  290. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  291. package/package.json +22 -26
  292. package/dist/exports/client/Field-G5Z2HM5Y.js +0 -2
  293. package/dist/exports/client/Field-G5Z2HM5Y.js.map +0 -7
  294. package/dist/exports/client/chunk-6QWQ7JV4.js +0 -2
  295. package/dist/exports/client/chunk-6QWQ7JV4.js.map +0 -7
  296. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  297. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  298. package/dist/exports/client/chunk-LH634DPU.js +0 -12
  299. package/dist/exports/client/chunk-LH634DPU.js.map +0 -7
  300. package/dist/exports/client/chunk-UAKNDD6R.js +0 -2
  301. package/dist/exports/client/chunk-UAKNDD6R.js.map +0 -7
  302. package/dist/exports/client/componentInline-D3A6OW76.js +0 -2
  303. package/dist/features/blockquote/markdownTransformer.d.ts +0 -3
  304. package/dist/features/blockquote/markdownTransformer.d.ts.map +0 -1
  305. package/dist/features/blockquote/markdownTransformer.js +0 -33
  306. package/dist/features/blockquote/markdownTransformer.js.map +0 -1
  307. package/dist/features/format/bold/markdownTransformers.d.ts +0 -6
  308. package/dist/features/format/bold/markdownTransformers.d.ts.map +0 -1
  309. package/dist/features/format/bold/markdownTransformers.js +0 -23
  310. package/dist/features/format/bold/markdownTransformers.js.map +0 -1
  311. package/dist/features/format/inlineCode/markdownTransformers.d.ts +0 -3
  312. package/dist/features/format/inlineCode/markdownTransformers.d.ts.map +0 -1
  313. package/dist/features/format/inlineCode/markdownTransformers.js +0 -6
  314. package/dist/features/format/inlineCode/markdownTransformers.js.map +0 -1
  315. package/dist/features/format/italic/markdownTransformers.d.ts +0 -4
  316. package/dist/features/format/italic/markdownTransformers.d.ts.map +0 -1
  317. package/dist/features/format/italic/markdownTransformers.js +0 -12
  318. package/dist/features/format/italic/markdownTransformers.js.map +0 -1
  319. package/dist/features/format/strikethrough/markdownTransformers.d.ts +0 -3
  320. package/dist/features/format/strikethrough/markdownTransformers.d.ts.map +0 -1
  321. package/dist/features/format/strikethrough/markdownTransformers.js +0 -6
  322. package/dist/features/format/strikethrough/markdownTransformers.js.map +0 -1
  323. package/dist/features/lists/checklist/markdownTransformers.d.ts +0 -3
  324. package/dist/features/lists/checklist/markdownTransformers.d.ts.map +0 -1
  325. package/dist/features/lists/checklist/markdownTransformers.js +0 -12
  326. package/dist/features/lists/checklist/markdownTransformers.js.map +0 -1
  327. package/dist/features/lists/orderedList/markdownTransformer.d.ts +0 -3
  328. package/dist/features/lists/orderedList/markdownTransformer.d.ts.map +0 -1
  329. package/dist/features/lists/orderedList/markdownTransformer.js +0 -12
  330. package/dist/features/lists/orderedList/markdownTransformer.js.map +0 -1
  331. package/dist/features/lists/shared/markdown.d.ts +0 -6
  332. package/dist/features/lists/shared/markdown.d.ts.map +0 -1
  333. package/dist/features/lists/shared/markdown.js +0 -57
  334. package/dist/features/lists/shared/markdown.js.map +0 -1
  335. package/dist/features/lists/unorderedList/markdownTransformer.d.ts +0 -3
  336. package/dist/features/lists/unorderedList/markdownTransformer.d.ts.map +0 -1
  337. package/dist/features/lists/unorderedList/markdownTransformer.js +0 -12
  338. package/dist/features/lists/unorderedList/markdownTransformer.js.map +0 -1
  339. package/dist/lexical/utils/guard.d.ts +0 -5
  340. package/dist/lexical/utils/guard.d.ts.map +0 -1
  341. package/dist/lexical/utils/guard.js +0 -9
  342. package/dist/lexical/utils/guard.js.map +0 -1
  343. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +0 -2
  344. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +0 -1
  345. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -2
  346. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +0 -1
  347. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts +0 -14
  348. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts.map +0 -1
  349. package/dist/packages/@lexical/markdown/MarkdownExport.js +0 -213
  350. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +0 -1
  351. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts +0 -19
  352. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts.map +0 -1
  353. package/dist/packages/@lexical/markdown/MarkdownImport.js +0 -198
  354. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +0 -1
  355. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts +0 -11
  356. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts.map +0 -1
  357. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +0 -304
  358. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +0 -1
  359. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts +0 -147
  360. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts.map +0 -1
  361. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +0 -268
  362. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +0 -1
  363. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts +0 -22
  364. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts.map +0 -1
  365. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +0 -91
  366. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +0 -1
  367. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts +0 -21
  368. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts.map +0 -1
  369. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +0 -54
  370. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +0 -1
  371. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts +0 -18
  372. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts.map +0 -1
  373. package/dist/packages/@lexical/markdown/importTextTransformers.js +0 -54
  374. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +0 -1
  375. package/dist/packages/@lexical/markdown/index.d.ts +0 -29
  376. package/dist/packages/@lexical/markdown/index.d.ts.map +0 -1
  377. package/dist/packages/@lexical/markdown/index.js +0 -39
  378. package/dist/packages/@lexical/markdown/index.js.map +0 -1
  379. package/dist/packages/@lexical/markdown/utils.d.ts +0 -34
  380. package/dist/packages/@lexical/markdown/utils.d.ts.map +0 -1
  381. package/dist/packages/@lexical/markdown/utils.js +0 -267
  382. package/dist/packages/@lexical/markdown/utils.js.map +0 -1
  383. /package/dist/exports/client/{component-HKTAZ77E.js.map → component-PHZQBOJE.js.map} +0 -0
  384. /package/dist/exports/client/{componentInline-D3A6OW76.js.map → componentInline-H24N7GUG.js.map} +0 -0
@@ -7,7 +7,7 @@
7
7
  }
8
8
 
9
9
  & > .field-error.tooltip {
10
- right: auto;
10
+ inset-inline-end: auto;
11
11
  position: static;
12
12
  margin-bottom: 0.2em;
13
13
  max-width: fit-content;
@@ -27,7 +27,7 @@
27
27
  gap: var(--spacer-2);
28
28
 
29
29
  label.field-label:not(.unstyled) {
30
- margin-right: unset;
30
+ margin-inline-end: unset;
31
31
  padding-bottom: unset;
32
32
  }
33
33
  }
@@ -35,6 +35,9 @@
35
35
  .rich-text-lexical__wrap {
36
36
  width: 100%;
37
37
  position: relative;
38
+ display: flex;
39
+ flex-direction: column;
40
+ gap: var(--spacer-2);
38
41
  }
39
42
 
40
43
  .rich-text-lexical--read-only {
@@ -47,9 +50,6 @@
47
50
  to {
48
51
  background-color: var(--color-bg-hover);
49
52
  }
50
- to {
51
- background-color: var(--color-bg-hover);
52
- }
53
53
  }
54
54
 
55
55
  animation: fadeInBackground 0.5s ease forwards;
@@ -82,7 +82,7 @@ export const RichTextFieldImpl = props => {
82
82
  const filteredClientFeatures = currentViewConfig?.filterFeatures ? currentViewConfig.filterFeatures(clientFeatures) : clientFeatures;
83
83
  const featureProvidersLocal = [];
84
84
  for (const clientFeature of Object.values(filteredClientFeatures)) {
85
- if (!clientFeature.clientFeatureProvider) {
85
+ if (!clientFeature.clientFeatureProvider || !clientFeature.clientFeatureProps) {
86
86
  continue;
87
87
  }
88
88
  featureProvidersLocal.push(clientFeature.clientFeatureProvider(clientFeature.clientFeatureProps));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","ShimmerEffect","useConfig","React","lazy","Suspense","useEffect","useState","defaultEditorLexicalConfig","loadClientFeatures","sanitizeClientEditorConfig","RichTextViewProvider","useRichTextView","RichTextEditor","then","module","default","RichText","RichTextField","props","_jsx","inheritable","views","RichTextFieldImpl","$","admin","t0","clientFeatures","featureClientImportMap","t1","featureClientSchemaMap","field","lexicalEditorConfig","t2","schemaPath","t3","undefined","_admin","t4","_lexicalEditorConfig","currentView","currentViewAdminConfig","viewLexical","lexical","t5","currentViewLexicalEditorConfig","config","finalSanitizedEditorConfig","setFinalSanitizedEditorConfig","t6","t7","view","currentViewConfig","filteredClientFeatures","filterFeatures","featureProvidersLocal","clientFeature","Object","values","clientFeatureProvider","push","clientFeatureProps","resolvedClientFeatures","name","unSanitizedEditorConfig","features","t8","fallback","height","_createElement","editorConfig","key"],"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\nimport type { RichTextFieldClient } from 'payload'\n\nimport { ShimmerEffect, useConfig } from '@payloadcms/ui'\nimport React, { lazy, Suspense, useEffect, useState } from 'react'\n\nimport type { FeatureProviderClient } from '../features/typesClient.js'\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { LexicalFieldAdminClientProps, LexicalRichTextFieldProps } from '../types/index.js'\n\nimport { defaultEditorLexicalConfig } from '../lexical/config/client/default.js'\nimport { loadClientFeatures } from '../lexical/config/client/loader.js'\nimport { sanitizeClientEditorConfig } from '../lexical/config/client/sanitize.js'\nimport { RichTextViewProvider, useRichTextView } from './RichTextViewProvider.js'\n\nconst RichTextEditor = lazy(() =>\n import('./Field.js').then((module) => ({ default: module.RichText })),\n)\n\nexport const RichTextField: React.FC<LexicalRichTextFieldProps> = (props) => {\n return (\n <RichTextViewProvider inheritable={true} views={props.views}>\n <RichTextFieldImpl {...props} />\n </RichTextViewProvider>\n )\n}\n\nexport const RichTextFieldImpl: React.FC<LexicalRichTextFieldProps> = (props) => {\n const {\n admin: _admin = {},\n clientFeatures,\n featureClientImportMap = {},\n featureClientSchemaMap,\n field,\n lexicalEditorConfig: _lexicalEditorConfig = defaultEditorLexicalConfig,\n schemaPath,\n views,\n } = props\n const { currentView } = useRichTextView()\n const currentViewAdminConfig: LexicalFieldAdminClientProps = views?.[currentView]?.admin ?? _admin\n const viewLexical = views?.[currentView]?.lexical\n // Resolve function form of lexical config if provided\n const currentViewLexicalEditorConfig: LexicalEditorConfig =\n typeof viewLexical === 'function'\n ? viewLexical(_lexicalEditorConfig)\n : (viewLexical ?? _lexicalEditorConfig)\n\n const { config } = useConfig()\n\n const [finalSanitizedEditorConfig, setFinalSanitizedEditorConfig] =\n useState<null | SanitizedClientEditorConfig>(null)\n\n useEffect(() => {\n if (finalSanitizedEditorConfig && finalSanitizedEditorConfig.view === currentView) {\n return\n }\n\n const currentViewConfig = views?.[currentView]\n const filteredClientFeatures = currentViewConfig?.filterFeatures\n ? currentViewConfig.filterFeatures(clientFeatures)\n : clientFeatures\n\n const featureProvidersLocal: FeatureProviderClient<any, any>[] = []\n for (const clientFeature of Object.values(filteredClientFeatures)) {\n if (!clientFeature.clientFeatureProvider) {\n continue\n }\n featureProvidersLocal.push(\n clientFeature.clientFeatureProvider(clientFeature.clientFeatureProps),\n ) // Execute the clientFeatureProvider function here, as the server cannot execute functions imported from use client files\n }\n\n const resolvedClientFeatures = loadClientFeatures({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field: field as RichTextFieldClient,\n schemaPath: schemaPath ?? field.name,\n unSanitizedEditorConfig: {\n features: featureProvidersLocal,\n lexical: currentViewLexicalEditorConfig,\n },\n })\n\n setFinalSanitizedEditorConfig(\n sanitizeClientEditorConfig(\n resolvedClientFeatures,\n currentViewLexicalEditorConfig,\n currentViewAdminConfig,\n currentView,\n ),\n )\n }, [\n currentViewAdminConfig,\n clientFeatures,\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field,\n finalSanitizedEditorConfig,\n currentViewLexicalEditorConfig,\n schemaPath,\n currentView,\n views,\n ]) // TODO: Optimize this and use useMemo for this in the future. This might break sub-richtext-blocks from the blocks feature. Need to investigate\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n {finalSanitizedEditorConfig && (\n <RichTextEditor\n {...props}\n editorConfig={finalSanitizedEditorConfig}\n key={finalSanitizedEditorConfig.view}\n />\n )}\n </Suspense>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","ShimmerEffect","useConfig","React","lazy","Suspense","useEffect","useState","defaultEditorLexicalConfig","loadClientFeatures","sanitizeClientEditorConfig","RichTextViewProvider","useRichTextView","RichTextEditor","then","module","default","RichText","RichTextField","props","_jsx","inheritable","views","RichTextFieldImpl","$","admin","t0","clientFeatures","featureClientImportMap","t1","featureClientSchemaMap","field","lexicalEditorConfig","t2","schemaPath","t3","undefined","_admin","t4","_lexicalEditorConfig","currentView","currentViewAdminConfig","viewLexical","lexical","t5","currentViewLexicalEditorConfig","config","finalSanitizedEditorConfig","setFinalSanitizedEditorConfig","t6","t7","view","currentViewConfig","filteredClientFeatures","filterFeatures","featureProvidersLocal","clientFeature","Object","values","clientFeatureProvider","clientFeatureProps","push","resolvedClientFeatures","name","unSanitizedEditorConfig","features","t8","fallback","height","_createElement","editorConfig","key"],"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\nimport type { RichTextFieldClient } from 'payload'\n\nimport { ShimmerEffect, useConfig } from '@payloadcms/ui'\nimport React, { lazy, Suspense, useEffect, useState } from 'react'\n\nimport type { FeatureProviderClient } from '../features/typesClient.js'\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { LexicalFieldAdminClientProps, LexicalRichTextFieldProps } from '../types/index.js'\n\nimport { defaultEditorLexicalConfig } from '../lexical/config/client/default.js'\nimport { loadClientFeatures } from '../lexical/config/client/loader.js'\nimport { sanitizeClientEditorConfig } from '../lexical/config/client/sanitize.js'\nimport { RichTextViewProvider, useRichTextView } from './RichTextViewProvider.js'\n\nconst RichTextEditor = lazy(() =>\n import('./Field.js').then((module) => ({ default: module.RichText })),\n)\n\nexport const RichTextField: React.FC<LexicalRichTextFieldProps> = (props) => {\n return (\n <RichTextViewProvider inheritable={true} views={props.views}>\n <RichTextFieldImpl {...props} />\n </RichTextViewProvider>\n )\n}\n\nexport const RichTextFieldImpl: React.FC<LexicalRichTextFieldProps> = (props) => {\n const {\n admin: _admin = {},\n clientFeatures,\n featureClientImportMap = {},\n featureClientSchemaMap,\n field,\n lexicalEditorConfig: _lexicalEditorConfig = defaultEditorLexicalConfig,\n schemaPath,\n views,\n } = props\n const { currentView } = useRichTextView()\n const currentViewAdminConfig: LexicalFieldAdminClientProps = views?.[currentView]?.admin ?? _admin\n const viewLexical = views?.[currentView]?.lexical\n // Resolve function form of lexical config if provided\n const currentViewLexicalEditorConfig: LexicalEditorConfig =\n typeof viewLexical === 'function'\n ? viewLexical(_lexicalEditorConfig)\n : (viewLexical ?? _lexicalEditorConfig)\n\n const { config } = useConfig()\n\n const [finalSanitizedEditorConfig, setFinalSanitizedEditorConfig] =\n useState<null | SanitizedClientEditorConfig>(null)\n\n useEffect(() => {\n if (finalSanitizedEditorConfig && finalSanitizedEditorConfig.view === currentView) {\n return\n }\n\n const currentViewConfig = views?.[currentView]\n const filteredClientFeatures = currentViewConfig?.filterFeatures\n ? currentViewConfig.filterFeatures(clientFeatures)\n : clientFeatures\n\n const featureProvidersLocal: FeatureProviderClient<any, any>[] = []\n for (const clientFeature of Object.values(filteredClientFeatures)) {\n if (!clientFeature.clientFeatureProvider || !clientFeature.clientFeatureProps) {\n continue\n }\n featureProvidersLocal.push(\n clientFeature.clientFeatureProvider(clientFeature.clientFeatureProps),\n )\n }\n\n const resolvedClientFeatures = loadClientFeatures({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field: field as RichTextFieldClient,\n schemaPath: schemaPath ?? field.name,\n unSanitizedEditorConfig: {\n features: featureProvidersLocal,\n lexical: currentViewLexicalEditorConfig,\n },\n })\n\n setFinalSanitizedEditorConfig(\n sanitizeClientEditorConfig(\n resolvedClientFeatures,\n currentViewLexicalEditorConfig,\n currentViewAdminConfig,\n currentView,\n ),\n )\n }, [\n currentViewAdminConfig,\n clientFeatures,\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field,\n finalSanitizedEditorConfig,\n currentViewLexicalEditorConfig,\n schemaPath,\n currentView,\n views,\n ]) // TODO: Optimize this and use useMemo for this in the future. This might break sub-richtext-blocks from the blocks feature. Need to investigate\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n {finalSanitizedEditorConfig && (\n <RichTextEditor\n {...props}\n editorConfig={finalSanitizedEditorConfig}\n key={finalSanitizedEditorConfig.view}\n />\n )}\n </Suspense>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"rscEntry.d.ts","sourceRoot":"","sources":["../../src/field/rscEntry.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,mBAAmB,CAAA;AAO1B,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,qBAAqB,EAAE,2BAA2B,CAAA;CACnD,GAAG,oBAAoB,GACtB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GACxB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,GAC3C,oBAAoB,CAyGvB,CAAA"}
1
+ {"version":3,"file":"rscEntry.d.ts","sourceRoot":"","sources":["../../src/field/rscEntry.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,mBAAmB,CAAA;AAO1B,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,qBAAqB,EAAE,2BAA2B,CAAA;CACnD,GAAG,oBAAoB,GACtB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GACxB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,GAC3C,oBAAoB,CA0GvB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { getTranslation } from '@payloadcms/translations';
3
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
3
4
  import { renderField } from '@payloadcms/ui/forms/renderField';
4
5
  import { getFromImportMap } from 'payload/shared';
5
6
  import React from 'react';
@@ -43,6 +44,7 @@ export const RscEntryLexicalField = async args => {
43
44
  operation: args.operation,
44
45
  permissions: args.permissions,
45
46
  preferences: args.preferences,
47
+ renderComponent: args.renderComponent || RenderServerComponent,
46
48
  renderFieldFn: renderField,
47
49
  req: args.req
48
50
  },
@@ -1 +1 @@
1
- {"version":3,"file":"rscEntry.js","names":["getTranslation","renderField","getFromImportMap","React","RichTextField","buildInitialState","initLexicalFeatures","RscEntryLexicalField","args","field","path","clientField","name","schemaPath","disabled","readOnly","admin","Error","clientFeatures","featureClientImportMap","featureClientSchemaMap","clientFieldSchemaMap","fieldSchemaMap","i18n","payload","sanitizedEditorConfig","initialLexicalFormState","siblingData","root","children","length","context","id","collectionSlug","documentData","data","lexicalFieldSchemaPath","operation","permissions","preferences","renderFieldFn","req","nodeData","placeholderFromArgs","placeholder","undefined","hideGutter","hideInsertParagraphAtEnd","hideAddBlockButton","hideDraggableBlockElement","props","forceRender","lexicalEditorConfig","lexical","renderedBlocks","views","viewMap","importMap","PayloadComponent","silent","Object","keys","key","_jsx"],"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientComponentProps,\n FieldPaths,\n RichTextFieldClient,\n RichTextField as RichTextFieldType,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { renderField } from '@payloadcms/ui/forms/renderField'\nimport { getFromImportMap } from 'payload/shared'\nimport React from 'react'\n\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type {\n LexicalEditorProps,\n LexicalEditorViewMap,\n LexicalFieldAdminClientProps,\n LexicalRichTextFieldProps,\n} from '../types/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { buildInitialState } from '../utilities/buildInitialState.js'\nimport { initLexicalFeatures } from '../utilities/initLexicalFeatures.js'\n\nexport const RscEntryLexicalField: React.FC<\n {\n sanitizedEditorConfig: SanitizedServerEditorConfig\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n Pick<LexicalEditorProps, 'admin' | 'views'> &\n ServerComponentProps\n> = async (args) => {\n const field: RichTextFieldType = args.field as RichTextFieldType\n const path = args.path ?? (args.clientField as RichTextFieldClient).name\n const schemaPath = args.schemaPath ?? path\n\n const disabled = args?.readOnly || field?.admin?.readOnly\n\n if (!(args?.clientField as RichTextFieldClient)?.name) {\n throw new Error('Initialized lexical RSC field without a field name')\n }\n\n const { clientFeatures, featureClientImportMap, featureClientSchemaMap } = initLexicalFeatures({\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n fieldSchemaMap: args.fieldSchemaMap,\n i18n: args.i18n,\n path,\n payload: args.payload,\n sanitizedEditorConfig: args.sanitizedEditorConfig,\n schemaPath,\n })\n\n let initialLexicalFormState = {}\n if (args.siblingData?.[field.name]?.root?.children?.length) {\n initialLexicalFormState = await buildInitialState({\n context: {\n id: args.id,\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n collectionSlug: args.collectionSlug,\n disabled,\n documentData: args.data,\n field,\n fieldSchemaMap: args.fieldSchemaMap,\n lexicalFieldSchemaPath: schemaPath,\n operation: args.operation,\n permissions: args.permissions,\n preferences: args.preferences,\n renderFieldFn: renderField,\n req: args.req,\n },\n nodeData: args.siblingData?.[field.name]?.root?.children as SerializedLexicalNode[],\n })\n }\n\n const placeholderFromArgs = args.admin?.placeholder\n const placeholder = placeholderFromArgs\n ? getTranslation(placeholderFromArgs, args.i18n)\n : undefined\n\n const admin: LexicalFieldAdminClientProps = {}\n if (placeholder) {\n admin.placeholder = placeholder\n }\n if (args.admin?.hideGutter) {\n admin.hideGutter = true\n }\n if (args.admin?.hideInsertParagraphAtEnd) {\n admin.hideInsertParagraphAtEnd = true\n }\n if (args.admin?.hideAddBlockButton) {\n admin.hideAddBlockButton = true\n }\n if (args.admin?.hideDraggableBlockElement) {\n admin.hideDraggableBlockElement = true\n }\n\n const props: LexicalRichTextFieldProps = {\n clientFeatures,\n featureClientSchemaMap, // TODO: Does client need this? Why cant this just live in the server\n field: args.clientField as RichTextFieldClient,\n forceRender: args.forceRender,\n initialLexicalFormState,\n lexicalEditorConfig: args.sanitizedEditorConfig.lexical,\n path,\n permissions: args.permissions,\n readOnly: args.readOnly,\n renderedBlocks: args.renderedBlocks,\n schemaPath,\n }\n if (args?.views) {\n const viewMap = getFromImportMap<LexicalEditorViewMap>({\n importMap: args.payload.importMap,\n PayloadComponent: args.views,\n schemaPath: 'lexical-viewMap',\n silent: true,\n })\n if (viewMap) {\n props.views = viewMap\n }\n }\n\n if (Object.keys(admin).length) {\n props.admin = admin\n }\n if (Object.keys(featureClientImportMap).length) {\n props.featureClientImportMap = featureClientImportMap\n }\n\n for (const key in props) {\n if (props[key as keyof LexicalRichTextFieldProps] === undefined) {\n delete props[key as keyof LexicalRichTextFieldProps]\n }\n }\n\n return <RichTextField {...props} />\n}\n"],"mappings":";AASA,SAASA,cAAc,QAAQ;AAC/B,SAASC,WAAW,QAAQ;AAC5B,SAASC,gBAAgB,QAAQ;AACjC,OAAOC,KAAA,MAAW;AAUlB;AACA,SAASC,aAAa,QAAQ;AAC9B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,oBAAA,GAOT,MAAOC,IAAA;EACT,MAAMC,KAAA,GAA2BD,IAAA,CAAKC,KAAK;EAC3C,MAAMC,IAAA,GAAOF,IAAA,CAAKE,IAAI,IAAIF,IAAC,CAAKG,WAAW,CAAyBC,IAAI;EACxE,MAAMC,UAAA,GAAaL,IAAA,CAAKK,UAAU,IAAIH,IAAA;EAEtC,MAAMI,QAAA,GAAWN,IAAA,EAAMO,QAAA,IAAYN,KAAA,EAAOO,KAAA,EAAOD,QAAA;EAEjD,IAAI,CAAEP,IAAA,EAAMG,WAAA,EAAqCC,IAAA,EAAM;IACrD,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC,cAAc;IAAEC,sBAAsB;IAAEC;EAAsB,CAAE,GAAGd,mBAAA,CAAoB;IAC7Fe,oBAAA,EAAsBb,IAAA,CAAKa,oBAAoB;IAC/CC,cAAA,EAAgBd,IAAA,CAAKc,cAAc;IACnCC,IAAA,EAAMf,IAAA,CAAKe,IAAI;IACfb,IAAA;IACAc,OAAA,EAAShB,IAAA,CAAKgB,OAAO;IACrBC,qBAAA,EAAuBjB,IAAA,CAAKiB,qBAAqB;IACjDZ;EACF;EAEA,IAAIa,uBAAA,GAA0B,CAAC;EAC/B,IAAIlB,IAAA,CAAKmB,WAAW,GAAGlB,KAAA,CAAMG,IAAI,CAAC,EAAEgB,IAAA,EAAMC,QAAA,EAAUC,MAAA,EAAQ;IAC1DJ,uBAAA,GAA0B,MAAMrB,iBAAA,CAAkB;MAChD0B,OAAA,EAAS;QACPC,EAAA,EAAIxB,IAAA,CAAKwB,EAAE;QACXX,oBAAA,EAAsBb,IAAA,CAAKa,oBAAoB;QAC/CY,cAAA,EAAgBzB,IAAA,CAAKyB,cAAc;QACnCnB,QAAA;QACAoB,YAAA,EAAc1B,IAAA,CAAK2B,IAAI;QACvB1B,KAAA;QACAa,cAAA,EAAgBd,IAAA,CAAKc,cAAc;QACnCc,sBAAA,EAAwBvB,UAAA;QACxBwB,SAAA,EAAW7B,IAAA,CAAK6B,SAAS;QACzBC,WAAA,EAAa9B,IAAA,CAAK8B,WAAW;QAC7BC,WAAA,EAAa/B,IAAA,CAAK+B,WAAW;QAC7BC,aAAA,EAAevC,WAAA;QACfwC,GAAA,EAAKjC,IAAA,CAAKiC;MACZ;MACAC,QAAA,EAAUlC,IAAA,CAAKmB,WAAW,GAAGlB,KAAA,CAAMG,IAAI,CAAC,EAAEgB,IAAA,EAAMC;IAClD;EACF;EAEA,MAAMc,mBAAA,GAAsBnC,IAAA,CAAKQ,KAAK,EAAE4B,WAAA;EACxC,MAAMA,WAAA,GAAcD,mBAAA,GAChB3C,cAAA,CAAe2C,mBAAA,EAAqBnC,IAAA,CAAKe,IAAI,IAC7CsB,SAAA;EAEJ,MAAM7B,KAAA,GAAsC,CAAC;EAC7C,IAAI4B,WAAA,EAAa;IACf5B,KAAA,CAAM4B,WAAW,GAAGA,WAAA;EACtB;EACA,IAAIpC,IAAA,CAAKQ,KAAK,EAAE8B,UAAA,EAAY;IAC1B9B,KAAA,CAAM8B,UAAU,GAAG;EACrB;EACA,IAAItC,IAAA,CAAKQ,KAAK,EAAE+B,wBAAA,EAA0B;IACxC/B,KAAA,CAAM+B,wBAAwB,GAAG;EACnC;EACA,IAAIvC,IAAA,CAAKQ,KAAK,EAAEgC,kBAAA,EAAoB;IAClChC,KAAA,CAAMgC,kBAAkB,GAAG;EAC7B;EACA,IAAIxC,IAAA,CAAKQ,KAAK,EAAEiC,yBAAA,EAA2B;IACzCjC,KAAA,CAAMiC,yBAAyB,GAAG;EACpC;EAEA,MAAMC,KAAA,GAAmC;IACvChC,cAAA;IACAE,sBAAA;IACAX,KAAA,EAAOD,IAAA,CAAKG,WAAW;IACvBwC,WAAA,EAAa3C,IAAA,CAAK2C,WAAW;IAC7BzB,uBAAA;IACA0B,mBAAA,EAAqB5C,IAAA,CAAKiB,qBAAqB,CAAC4B,OAAO;IACvD3C,IAAA;IACA4B,WAAA,EAAa9B,IAAA,CAAK8B,WAAW;IAC7BvB,QAAA,EAAUP,IAAA,CAAKO,QAAQ;IACvBuC,cAAA,EAAgB9C,IAAA,CAAK8C,cAAc;IACnCzC;EACF;EACA,IAAIL,IAAA,EAAM+C,KAAA,EAAO;IACf,MAAMC,OAAA,GAAUtD,gBAAA,CAAuC;MACrDuD,SAAA,EAAWjD,IAAA,CAAKgB,OAAO,CAACiC,SAAS;MACjCC,gBAAA,EAAkBlD,IAAA,CAAK+C,KAAK;MAC5B1C,UAAA,EAAY;MACZ8C,MAAA,EAAQ;IACV;IACA,IAAIH,OAAA,EAAS;MACXN,KAAA,CAAMK,KAAK,GAAGC,OAAA;IAChB;EACF;EAEA,IAAII,MAAA,CAAOC,IAAI,CAAC7C,KAAA,EAAOc,MAAM,EAAE;IAC7BoB,KAAA,CAAMlC,KAAK,GAAGA,KAAA;EAChB;EACA,IAAI4C,MAAA,CAAOC,IAAI,CAAC1C,sBAAA,EAAwBW,MAAM,EAAE;IAC9CoB,KAAA,CAAM/B,sBAAsB,GAAGA,sBAAA;EACjC;EAEA,KAAK,MAAM2C,GAAA,IAAOZ,KAAA,EAAO;IACvB,IAAIA,KAAK,CAACY,GAAA,CAAuC,KAAKjB,SAAA,EAAW;MAC/D,OAAOK,KAAK,CAACY,GAAA,CAAuC;IACtD;EACF;EAEA,oBAAOC,IAAA,CAAC3D,aAAA;IAAe,GAAG8C;;AAC5B","ignoreList":[]}
1
+ {"version":3,"file":"rscEntry.js","names":["getTranslation","RenderServerComponent","renderField","getFromImportMap","React","RichTextField","buildInitialState","initLexicalFeatures","RscEntryLexicalField","args","field","path","clientField","name","schemaPath","disabled","readOnly","admin","Error","clientFeatures","featureClientImportMap","featureClientSchemaMap","clientFieldSchemaMap","fieldSchemaMap","i18n","payload","sanitizedEditorConfig","initialLexicalFormState","siblingData","root","children","length","context","id","collectionSlug","documentData","data","lexicalFieldSchemaPath","operation","permissions","preferences","renderComponent","renderFieldFn","req","nodeData","placeholderFromArgs","placeholder","undefined","hideGutter","hideInsertParagraphAtEnd","hideAddBlockButton","hideDraggableBlockElement","props","forceRender","lexicalEditorConfig","lexical","renderedBlocks","views","viewMap","importMap","PayloadComponent","silent","Object","keys","key","_jsx"],"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientComponentProps,\n FieldPaths,\n RichTextFieldClient,\n RichTextField as RichTextFieldType,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderField } from '@payloadcms/ui/forms/renderField'\nimport { getFromImportMap } from 'payload/shared'\nimport React from 'react'\n\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type {\n LexicalEditorProps,\n LexicalEditorViewMap,\n LexicalFieldAdminClientProps,\n LexicalRichTextFieldProps,\n} from '../types/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { buildInitialState } from '../utilities/buildInitialState.js'\nimport { initLexicalFeatures } from '../utilities/initLexicalFeatures.js'\n\nexport const RscEntryLexicalField: React.FC<\n {\n sanitizedEditorConfig: SanitizedServerEditorConfig\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n Pick<LexicalEditorProps, 'admin' | 'views'> &\n ServerComponentProps\n> = async (args) => {\n const field: RichTextFieldType = args.field as RichTextFieldType\n const path = args.path ?? (args.clientField as RichTextFieldClient).name\n const schemaPath = args.schemaPath ?? path\n\n const disabled = args?.readOnly || field?.admin?.readOnly\n\n if (!(args?.clientField as RichTextFieldClient)?.name) {\n throw new Error('Initialized lexical RSC field without a field name')\n }\n\n const { clientFeatures, featureClientImportMap, featureClientSchemaMap } = initLexicalFeatures({\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n fieldSchemaMap: args.fieldSchemaMap,\n i18n: args.i18n,\n path,\n payload: args.payload,\n sanitizedEditorConfig: args.sanitizedEditorConfig,\n schemaPath,\n })\n\n let initialLexicalFormState = {}\n if (args.siblingData?.[field.name]?.root?.children?.length) {\n initialLexicalFormState = await buildInitialState({\n context: {\n id: args.id,\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n collectionSlug: args.collectionSlug,\n disabled,\n documentData: args.data,\n field,\n fieldSchemaMap: args.fieldSchemaMap,\n lexicalFieldSchemaPath: schemaPath,\n operation: args.operation,\n permissions: args.permissions,\n preferences: args.preferences,\n renderComponent: args.renderComponent || RenderServerComponent,\n renderFieldFn: renderField,\n req: args.req,\n },\n nodeData: args.siblingData?.[field.name]?.root?.children as SerializedLexicalNode[],\n })\n }\n\n const placeholderFromArgs = args.admin?.placeholder\n const placeholder = placeholderFromArgs\n ? getTranslation(placeholderFromArgs, args.i18n)\n : undefined\n\n const admin: LexicalFieldAdminClientProps = {}\n if (placeholder) {\n admin.placeholder = placeholder\n }\n if (args.admin?.hideGutter) {\n admin.hideGutter = true\n }\n if (args.admin?.hideInsertParagraphAtEnd) {\n admin.hideInsertParagraphAtEnd = true\n }\n if (args.admin?.hideAddBlockButton) {\n admin.hideAddBlockButton = true\n }\n if (args.admin?.hideDraggableBlockElement) {\n admin.hideDraggableBlockElement = true\n }\n\n const props: LexicalRichTextFieldProps = {\n clientFeatures,\n featureClientSchemaMap, // TODO: Does client need this? Why cant this just live in the server\n field: args.clientField as RichTextFieldClient,\n forceRender: args.forceRender,\n initialLexicalFormState,\n lexicalEditorConfig: args.sanitizedEditorConfig.lexical,\n path,\n permissions: args.permissions,\n readOnly: args.readOnly,\n renderedBlocks: args.renderedBlocks,\n schemaPath,\n }\n if (args?.views) {\n const viewMap = getFromImportMap<LexicalEditorViewMap>({\n importMap: args.payload.importMap,\n PayloadComponent: args.views,\n schemaPath: 'lexical-viewMap',\n silent: true,\n })\n if (viewMap) {\n props.views = viewMap\n }\n }\n\n if (Object.keys(admin).length) {\n props.admin = admin\n }\n if (Object.keys(featureClientImportMap).length) {\n props.featureClientImportMap = featureClientImportMap\n }\n\n for (const key in props) {\n if (props[key as keyof LexicalRichTextFieldProps] === undefined) {\n delete props[key as keyof LexicalRichTextFieldProps]\n }\n }\n\n return <RichTextField {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { AdapterProps, LexicalEditorProps, LexicalRichTextAdapterProvider } from './types/index.js';
2
- export declare const lexicalTargetVersion = "0.41.0";
2
+ export declare const lexicalTargetVersion = "0.45.0";
3
3
  export declare function lexicalEditor(args?: LexicalEditorProps): LexicalRichTextAdapterProvider;
4
4
  export { AlignFeature } from './features/align/server/index.js';
5
5
  export { BlockquoteFeature } from './features/blockquote/server/index.js';
@@ -60,9 +60,9 @@ export type { ClientEditorConfig, SanitizedClientEditorConfig, SanitizedServerEd
60
60
  export type { AdapterProps };
61
61
  export { getEnabledNodes, getEnabledNodesFromServerNodes } from './lexical/nodes/index.js';
62
62
  export type { SlashMenuGroup, SlashMenuItem, } from './lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js';
63
+ export { $convertFromMarkdownString } from './lexical/utils/markdown/convertFromMarkdownString.js';
63
64
  export { DETAIL_TYPE_TO_DETAIL, DOUBLE_LINE_BREAK, ELEMENT_FORMAT_TO_TYPE, ELEMENT_TYPE_TO_FORMAT, IS_ALL_FORMATTING, LTR_REGEX, NodeFormat, NON_BREAKING_SPACE, RTL_REGEX, TEXT_MODE_TO_TYPE, TEXT_TYPE_TO_FORMAT, TEXT_TYPE_TO_MODE, } from './lexical/utils/nodeFormat.js';
64
65
  export { sanitizeUrl, validateUrl } from './lexical/utils/url.js';
65
- export { $convertFromMarkdownString } from './packages/@lexical/markdown/index.js';
66
66
  export { defaultRichTextValue } from './populateGraphQL/defaultValue.js';
67
67
  export { populate } from './populateGraphQL/populate.js';
68
68
  export type { ClientFeaturesMap, LexicalEditorNodeMap, LexicalEditorProps, LexicalEditorViewMap, LexicalFieldAdminProps, LexicalRichTextAdapter, NodeMapValue, SerializedNodeBase, ViewMapBlockComponentProps, } from './types/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,14 +10,14 @@ import { getGenerateSchemaMap } from './utilities/generateSchemaMap.js';
10
10
  import { getDefaultSanitizedEditorConfig } from './utilities/getDefaultSanitizedEditorConfig.js';
11
11
  import { richTextValidateHOC } from './validate/index.js';
12
12
  let checkedDependencies = false;
13
- export const lexicalTargetVersion = '0.41.0';
13
+ export const lexicalTargetVersion = '0.45.0';
14
14
  export function lexicalEditor(args) {
15
15
  if (process.env.NODE_ENV !== 'production' && process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' && !checkedDependencies) {
16
16
  checkedDependencies = true;
17
17
  void checkDependencies({
18
18
  dependencyGroups: [{
19
19
  name: 'lexical',
20
- dependencies: ['lexical', '@lexical/headless', '@lexical/link', '@lexical/list', '@lexical/mark', '@lexical/react', '@lexical/rich-text', '@lexical/selection', '@lexical/utils'],
20
+ dependencies: ['lexical', '@lexical/headless', '@lexical/link', '@lexical/list', '@lexical/mark', '@lexical/markdown', '@lexical/react', '@lexical/rich-text', '@lexical/selection', '@lexical/utils'],
21
21
  targetVersion: lexicalTargetVersion
22
22
  }]
23
23
  });
@@ -180,9 +180,9 @@ export { defaultEditorConfig, defaultEditorFeatures, defaultEditorLexicalConfig
180
180
  export { loadFeatures, sortFeaturesForOptimalLoading } from './lexical/config/server/loader.js';
181
181
  export { sanitizeServerEditorConfig, sanitizeServerFeatures } from './lexical/config/server/sanitize.js';
182
182
  export { getEnabledNodes, getEnabledNodesFromServerNodes } from './lexical/nodes/index.js';
183
+ export { $convertFromMarkdownString } from './lexical/utils/markdown/convertFromMarkdownString.js';
183
184
  export { DETAIL_TYPE_TO_DETAIL, DOUBLE_LINE_BREAK, ELEMENT_FORMAT_TO_TYPE, ELEMENT_TYPE_TO_FORMAT, IS_ALL_FORMATTING, LTR_REGEX, NodeFormat, NON_BREAKING_SPACE, RTL_REGEX, TEXT_MODE_TO_TYPE, TEXT_TYPE_TO_FORMAT, TEXT_TYPE_TO_MODE } from './lexical/utils/nodeFormat.js';
184
185
  export { sanitizeUrl, validateUrl } from './lexical/utils/url.js';
185
- export { $convertFromMarkdownString } from './packages/@lexical/markdown/index.js';
186
186
  export { defaultRichTextValue } from './populateGraphQL/defaultValue.js';
187
187
  export { populate } from './populateGraphQL/populate.js';
188
188
  export { buildDefaultEditorState, buildEditorState } from './utilities/buildEditorState.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["checkDependencies","deepMergeSimple","getLexicalHooks","i18n","defaultEditorFeatures","populateLexicalPopulationPromises","getFieldToJSONSchema","featuresInputToEditorConfig","getGenerateImportMap","getGenerateSchemaMap","getDefaultSanitizedEditorConfig","richTextValidateHOC","checkedDependencies","lexicalTargetVersion","lexicalEditor","args","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersion","config","isRoot","parentIsLocalized","features","resolvedFeatureMap","finalSanitizedEditorConfig","lexical","result","sanitizedConfig","featureI18n","supportedLanguages","supportedLanguagesToMerge","_lang","lang","lexicalI18nForLang","general","translations","CellComponent","DiffComponent","editorConfig","FieldComponent","path","serverProps","admin","views","generateImportMap","lexicalEditorArgs","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","size","editorPopulationPromises","hooks","jsonSchema","validate","AlignFeature","BlockquoteFeature","CodeBlock","BlocksFeature","$createServerBlockNode","$isServerBlockNode","ServerBlockNode","$createServerInlineBlockNode","$isServerInlineBlockNode","ServerInlineBlockNode","convertHTMLToLexical","lexicalHTMLField","convertLexicalToMarkdown","convertMarkdownToLexical","getPayloadPopulateFn","getRestPopulateFn","DebugJsxConverterFeature","TestRecorderFeature","TreeViewFeature","EXPERIMENTAL_TableFeature","BoldFeature","InlineCodeFeature","ItalicFeature","StrikethroughFeature","SubscriptFeature","SuperscriptFeature","UnderlineFeature","HeadingFeature","HorizontalRuleFeature","IndentFeature","$createAutoLinkNode","$isAutoLinkNode","AutoLinkNode","$createLinkNode","$isLinkNode","LinkNode","LinkFeature","ChecklistFeature","OrderedListFeature","UnorderedListFeature","ParagraphFeature","RelationshipFeature","RelationshipServerNode","defaultColors","TextStateFeature","FixedToolbarFeature","InlineToolbarFeature","createNode","UploadFeature","UploadServerNode","defaultEditorConfig","defaultEditorLexicalConfig","loadFeatures","sortFeaturesForOptimalLoading","sanitizeServerEditorConfig","sanitizeServerFeatures","getEnabledNodes","getEnabledNodesFromServerNodes","DETAIL_TYPE_TO_DETAIL","DOUBLE_LINE_BREAK","ELEMENT_FORMAT_TO_TYPE","ELEMENT_TYPE_TO_FORMAT","IS_ALL_FORMATTING","LTR_REGEX","NodeFormat","NON_BREAKING_SPACE","RTL_REGEX","TEXT_MODE_TO_TYPE","TEXT_TYPE_TO_FORMAT","TEXT_TYPE_TO_MODE","sanitizeUrl","validateUrl","$convertFromMarkdownString","defaultRichTextValue","populate","buildDefaultEditorState","buildEditorState","createServerFeature","editorConfigFactory","extractPropsFromJSXPropsString","extractFrontmatter","frontmatterToObject","objectToFrontmatter","propsToJSXString","upgradeLexicalData"],"sources":["../src/index.ts"],"sourcesContent":["import type { GenericLanguages, GenericTranslationsObject } from '@payloadcms/translations'\n\nimport { checkDependencies, deepMergeSimple } from 'payload'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from './features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from './lexical/config/types.js'\nimport type {\n AdapterProps,\n LexicalEditorProps,\n LexicalRichTextAdapterProvider,\n} from './types/index.js'\n\nimport { getLexicalHooks } from './hooks.js'\nimport { i18n } from './i18n.js'\nimport { defaultEditorFeatures } from './lexical/config/server/default.js'\nimport { populateLexicalPopulationPromises } from './populateGraphQL/populateLexicalPopulationPromises.js'\nimport { getFieldToJSONSchema } from './types/schema.js'\nimport { featuresInputToEditorConfig } from './utilities/editorConfigFactory.js'\nimport { getGenerateImportMap } from './utilities/generateImportMap.js'\nimport { getGenerateSchemaMap } from './utilities/generateSchemaMap.js'\nimport { getDefaultSanitizedEditorConfig } from './utilities/getDefaultSanitizedEditorConfig.js'\nimport { richTextValidateHOC } from './validate/index.js'\n\nlet checkedDependencies = false\n\nexport const lexicalTargetVersion = '0.41.0'\n\nexport function lexicalEditor(args?: LexicalEditorProps): LexicalRichTextAdapterProvider {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n checkedDependencies = true\n void checkDependencies({\n dependencyGroups: [\n {\n name: 'lexical',\n dependencies: [\n 'lexical',\n '@lexical/headless',\n '@lexical/link',\n '@lexical/list',\n '@lexical/mark',\n '@lexical/react',\n '@lexical/rich-text',\n '@lexical/selection',\n '@lexical/utils',\n ],\n targetVersion: lexicalTargetVersion,\n },\n ],\n })\n }\n return async ({ config, isRoot, parentIsLocalized }) => {\n let features: FeatureProviderServer<unknown, unknown, unknown>[] = []\n let resolvedFeatureMap: ResolvedServerFeatureMap\n\n let finalSanitizedEditorConfig: SanitizedServerEditorConfig // For server only\n if (!args || (!args.features && !args.lexical)) {\n finalSanitizedEditorConfig = await getDefaultSanitizedEditorConfig({\n config,\n parentIsLocalized,\n })\n\n features = defaultEditorFeatures\n\n resolvedFeatureMap = finalSanitizedEditorConfig.resolvedFeatureMap\n } else {\n const result = await featuresInputToEditorConfig({\n config,\n features: args?.features,\n isRoot,\n lexical: args?.lexical,\n parentIsLocalized,\n })\n finalSanitizedEditorConfig = result.sanitizedConfig\n features = result.features\n resolvedFeatureMap = result.resolvedFeatureMap\n }\n\n const featureI18n: Partial<GenericLanguages> = finalSanitizedEditorConfig.features.i18n\n const supportedLanguages = config.i18n?.supportedLanguages\n const supportedLanguagesToMerge: Partial<GenericLanguages> = {}\n for (const _lang in supportedLanguages) {\n if (!(_lang in i18n)) {\n if (featureI18n[_lang as keyof typeof i18n]) {\n supportedLanguagesToMerge[_lang as keyof typeof i18n] =\n featureI18n[_lang as keyof typeof i18n]\n }\n continue\n }\n const lang = _lang as keyof typeof i18n\n const lexicalI18nForLang = ((featureI18n[lang] ??= {}).lexical ??=\n {}) as GenericTranslationsObject\n\n lexicalI18nForLang.general = i18n[lang] ?? {}\n supportedLanguagesToMerge[lang] = featureI18n[lang]\n }\n\n config.i18n.translations = deepMergeSimple(config.i18n.translations, supportedLanguagesToMerge)\n\n return {\n CellComponent: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell',\n DiffComponent: '@payloadcms/richtext-lexical/rsc#LexicalDiffComponent',\n editorConfig: finalSanitizedEditorConfig,\n features,\n FieldComponent: {\n path: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalField',\n serverProps: {\n admin: args?.admin,\n views: args?.views,\n // SanitizedEditorConfig is manually passed by `renderField` in `fieldSchemasToFormState/renderField.tsx`\n // in order to reduce the size of the field schema\n },\n },\n generateImportMap: getGenerateImportMap({\n lexicalEditorArgs: args,\n resolvedFeatureMap,\n }),\n generateSchemaMap: getGenerateSchemaMap({\n resolvedFeatureMap,\n }),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n // check if there are any features with nodes which have populationPromises for this field\n if (finalSanitizedEditorConfig?.features?.graphQLPopulationPromises?.size) {\n populateLexicalPopulationPromises({\n context,\n currentDepth: currentDepth ?? 0,\n depth,\n draft,\n editorPopulationPromises: finalSanitizedEditorConfig.features.graphQLPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: getLexicalHooks({\n editorConfig: finalSanitizedEditorConfig,\n }),\n jsonSchema: getFieldToJSONSchema({ editorConfig: finalSanitizedEditorConfig }),\n validate: richTextValidateHOC({\n editorConfig: finalSanitizedEditorConfig,\n }),\n }\n }\n}\n\nexport { AlignFeature } from './features/align/server/index.js'\nexport { BlockquoteFeature } from './features/blockquote/server/index.js'\nexport { CodeBlock } from './features/blocks/premade/CodeBlock/index.js'\nexport { BlocksFeature } from './features/blocks/server/index.js'\nexport type {\n BlocksFeatureProps,\n LexicalBlockClientProps,\n LexicalBlockLabelClientProps,\n LexicalBlockLabelServerProps,\n LexicalBlockServerProps,\n LexicalInlineBlockClientProps,\n LexicalInlineBlockLabelClientProps,\n LexicalInlineBlockLabelServerProps,\n LexicalInlineBlockServerProps,\n} from './features/blocks/server/index.js'\n\nexport {\n $createServerBlockNode,\n $isServerBlockNode,\n ServerBlockNode,\n} from './features/blocks/server/nodes/BlocksNode.js'\nexport {\n $createServerInlineBlockNode,\n $isServerInlineBlockNode,\n ServerInlineBlockNode,\n} from './features/blocks/server/nodes/InlineBlocksNode.js'\n\nexport type { BlockFields, InlineBlockFields } from './features/blocks/server/schema.js'\n\nexport { convertHTMLToLexical } from './features/converters/htmlToLexical/index.js'\n\nexport { lexicalHTMLField } from './features/converters/lexicalToHtml/async/field/index.js'\n\nexport { convertLexicalToMarkdown } from './features/converters/lexicalToMarkdown/index.js'\nexport { convertMarkdownToLexical } from './features/converters/markdownToLexical/index.js'\nexport { getPayloadPopulateFn } from './features/converters/utilities/payloadPopulateFn.js'\n\nexport { getRestPopulateFn } from './features/converters/utilities/restPopulateFn.js'\nexport { DebugJsxConverterFeature } from './features/debug/jsxConverter/server/index.js'\nexport { TestRecorderFeature } from './features/debug/testRecorder/server/index.js'\nexport { TreeViewFeature } from './features/debug/treeView/server/index.js'\nexport { EXPERIMENTAL_TableFeature } from './features/experimental_table/server/index.js'\nexport { BoldFeature } from './features/format/bold/feature.server.js'\nexport { InlineCodeFeature } from './features/format/inlineCode/feature.server.js'\n\nexport { ItalicFeature } from './features/format/italic/feature.server.js'\nexport { StrikethroughFeature } from './features/format/strikethrough/feature.server.js'\nexport { SubscriptFeature } from './features/format/subscript/feature.server.js'\nexport { SuperscriptFeature } from './features/format/superscript/feature.server.js'\nexport { UnderlineFeature } from './features/format/underline/feature.server.js'\nexport { HeadingFeature, type HeadingFeatureProps } from './features/heading/server/index.js'\nexport { HorizontalRuleFeature } from './features/horizontalRule/server/index.js'\n\nexport { IndentFeature } from './features/indent/server/index.js'\nexport {\n $createAutoLinkNode,\n $isAutoLinkNode,\n AutoLinkNode,\n} from './features/link/nodes/AutoLinkNode.js'\nexport { $createLinkNode, $isLinkNode, LinkNode } from './features/link/nodes/LinkNode.js'\n\nexport { LinkFeature, type LinkFeatureServerProps } from './features/link/server/index.js'\nexport type { LinkFields } from './features/link/server/schema.js'\n\nexport { ChecklistFeature } from './features/lists/checklist/server/index.js'\nexport { OrderedListFeature } from './features/lists/orderedList/server/index.js'\n\nexport { UnorderedListFeature } from './features/lists/unorderedList/server/index.js'\n\nexport { ParagraphFeature } from './features/paragraph/server/index.js'\n\nexport {\n RelationshipFeature,\n type RelationshipFeatureProps,\n} from './features/relationship/server/index.js'\n\nexport { RelationshipServerNode } from './features/relationship/server/nodes/RelationshipNode.js'\nexport type { RelationshipData } from './features/relationship/server/schema.js'\nexport { defaultColors } from './features/textState/defaultColors.js'\nexport { TextStateFeature } from './features/textState/feature.server.js'\n\nexport { FixedToolbarFeature } from './features/toolbars/fixed/server/index.js'\n\nexport { InlineToolbarFeature } from './features/toolbars/inline/server/index.js'\nexport type { ToolbarGroup, ToolbarGroupItem } from './features/toolbars/types.js'\nexport type {\n BaseClientFeatureProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n PluginComponent,\n PluginComponentWithAnchor,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n SanitizedClientFeatures,\n SanitizedPlugin,\n} from './features/typesClient.js'\n\nexport type {\n AfterChangeNodeHook,\n AfterChangeNodeHookArgs,\n AfterReadNodeHook,\n AfterReadNodeHookArgs,\n BaseNodeHookArgs,\n BeforeChangeNodeHook,\n BeforeChangeNodeHookArgs,\n BeforeValidateNodeHook,\n BeforeValidateNodeHookArgs,\n FeatureProviderProviderServer,\n FeatureProviderServer,\n NodeValidation,\n NodeWithHooks,\n PopulationPromise,\n ResolvedServerFeature,\n ResolvedServerFeatureMap,\n SanitizedServerFeatures,\n ServerFeature,\n ServerFeatureProviderMap,\n} from './features/typesServer.js'\n\nexport { createNode } from './features/typeUtilities.js' // Only useful in feature.server.ts\n\nexport { UploadFeature } from './features/upload/server/index.js'\nexport type { UploadFeatureProps } from './features/upload/server/index.js'\n\nexport { UploadServerNode } from './features/upload/server/nodes/UploadNode.js'\nexport type { UploadData } from './features/upload/server/schema.js'\nexport type { EditorConfigContextType } from './lexical/config/client/EditorConfigProvider.js'\n\nexport {\n defaultEditorConfig,\n defaultEditorFeatures,\n defaultEditorLexicalConfig,\n} from './lexical/config/server/default.js'\nexport { loadFeatures, sortFeaturesForOptimalLoading } from './lexical/config/server/loader.js'\n\nexport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './lexical/config/server/sanitize.js'\nexport type {\n ClientEditorConfig,\n SanitizedClientEditorConfig,\n SanitizedServerEditorConfig,\n ServerEditorConfig,\n} from './lexical/config/types.js'\nexport type { AdapterProps }\n\nexport { getEnabledNodes, getEnabledNodesFromServerNodes } from './lexical/nodes/index.js'\n\nexport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from './lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nexport {\n DETAIL_TYPE_TO_DETAIL,\n DOUBLE_LINE_BREAK,\n ELEMENT_FORMAT_TO_TYPE,\n ELEMENT_TYPE_TO_FORMAT,\n IS_ALL_FORMATTING,\n LTR_REGEX,\n NodeFormat,\n NON_BREAKING_SPACE,\n RTL_REGEX,\n TEXT_MODE_TO_TYPE,\n TEXT_TYPE_TO_FORMAT,\n TEXT_TYPE_TO_MODE,\n} from './lexical/utils/nodeFormat.js'\n\nexport { sanitizeUrl, validateUrl } from './lexical/utils/url.js'\n\nexport { $convertFromMarkdownString } from './packages/@lexical/markdown/index.js'\n\nexport { defaultRichTextValue } from './populateGraphQL/defaultValue.js'\nexport { populate } from './populateGraphQL/populate.js'\nexport type {\n ClientFeaturesMap,\n LexicalEditorNodeMap,\n LexicalEditorProps,\n LexicalEditorViewMap,\n LexicalFieldAdminProps,\n LexicalRichTextAdapter,\n NodeMapValue,\n SerializedNodeBase,\n ViewMapBlockComponentProps,\n} from './types/index.js'\n\nexport type * from './types/nodeTypes.js'\n\nexport { buildDefaultEditorState, buildEditorState } from './utilities/buildEditorState.js'\nexport { createServerFeature } from './utilities/createServerFeature.js'\n\nexport { editorConfigFactory } from './utilities/editorConfigFactory.js'\nexport type { FieldsDrawerProps } from './utilities/fieldsDrawer/Drawer.js'\n\nexport { extractPropsFromJSXPropsString } from './utilities/jsx/extractPropsFromJSXPropsString.js'\n\nexport {\n extractFrontmatter,\n frontmatterToObject,\n objectToFrontmatter,\n propsToJSXString,\n} from './utilities/jsx/jsx.js'\nexport { upgradeLexicalData } from './utilities/upgradeLexicalData/index.js'\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["checkDependencies","deepMergeSimple","getLexicalHooks","i18n","defaultEditorFeatures","populateLexicalPopulationPromises","getFieldToJSONSchema","featuresInputToEditorConfig","getGenerateImportMap","getGenerateSchemaMap","getDefaultSanitizedEditorConfig","richTextValidateHOC","checkedDependencies","lexicalTargetVersion","lexicalEditor","args","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersion","config","isRoot","parentIsLocalized","features","resolvedFeatureMap","finalSanitizedEditorConfig","lexical","result","sanitizedConfig","featureI18n","supportedLanguages","supportedLanguagesToMerge","_lang","lang","lexicalI18nForLang","general","translations","CellComponent","DiffComponent","editorConfig","FieldComponent","path","serverProps","admin","views","generateImportMap","lexicalEditorArgs","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","size","editorPopulationPromises","hooks","jsonSchema","validate","AlignFeature","BlockquoteFeature","CodeBlock","BlocksFeature","$createServerBlockNode","$isServerBlockNode","ServerBlockNode","$createServerInlineBlockNode","$isServerInlineBlockNode","ServerInlineBlockNode","convertHTMLToLexical","lexicalHTMLField","convertLexicalToMarkdown","convertMarkdownToLexical","getPayloadPopulateFn","getRestPopulateFn","DebugJsxConverterFeature","TestRecorderFeature","TreeViewFeature","EXPERIMENTAL_TableFeature","BoldFeature","InlineCodeFeature","ItalicFeature","StrikethroughFeature","SubscriptFeature","SuperscriptFeature","UnderlineFeature","HeadingFeature","HorizontalRuleFeature","IndentFeature","$createAutoLinkNode","$isAutoLinkNode","AutoLinkNode","$createLinkNode","$isLinkNode","LinkNode","LinkFeature","ChecklistFeature","OrderedListFeature","UnorderedListFeature","ParagraphFeature","RelationshipFeature","RelationshipServerNode","defaultColors","TextStateFeature","FixedToolbarFeature","InlineToolbarFeature","createNode","UploadFeature","UploadServerNode","defaultEditorConfig","defaultEditorLexicalConfig","loadFeatures","sortFeaturesForOptimalLoading","sanitizeServerEditorConfig","sanitizeServerFeatures","getEnabledNodes","getEnabledNodesFromServerNodes","$convertFromMarkdownString","DETAIL_TYPE_TO_DETAIL","DOUBLE_LINE_BREAK","ELEMENT_FORMAT_TO_TYPE","ELEMENT_TYPE_TO_FORMAT","IS_ALL_FORMATTING","LTR_REGEX","NodeFormat","NON_BREAKING_SPACE","RTL_REGEX","TEXT_MODE_TO_TYPE","TEXT_TYPE_TO_FORMAT","TEXT_TYPE_TO_MODE","sanitizeUrl","validateUrl","defaultRichTextValue","populate","buildDefaultEditorState","buildEditorState","createServerFeature","editorConfigFactory","extractPropsFromJSXPropsString","extractFrontmatter","frontmatterToObject","objectToFrontmatter","propsToJSXString","upgradeLexicalData"],"sources":["../src/index.ts"],"sourcesContent":["import type { GenericLanguages, GenericTranslationsObject } from '@payloadcms/translations'\n\nimport { checkDependencies, deepMergeSimple } from 'payload'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from './features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from './lexical/config/types.js'\nimport type {\n AdapterProps,\n LexicalEditorProps,\n LexicalRichTextAdapterProvider,\n} from './types/index.js'\n\nimport { getLexicalHooks } from './hooks.js'\nimport { i18n } from './i18n.js'\nimport { defaultEditorFeatures } from './lexical/config/server/default.js'\nimport { populateLexicalPopulationPromises } from './populateGraphQL/populateLexicalPopulationPromises.js'\nimport { getFieldToJSONSchema } from './types/schema.js'\nimport { featuresInputToEditorConfig } from './utilities/editorConfigFactory.js'\nimport { getGenerateImportMap } from './utilities/generateImportMap.js'\nimport { getGenerateSchemaMap } from './utilities/generateSchemaMap.js'\nimport { getDefaultSanitizedEditorConfig } from './utilities/getDefaultSanitizedEditorConfig.js'\nimport { richTextValidateHOC } from './validate/index.js'\n\nlet checkedDependencies = false\n\nexport const lexicalTargetVersion = '0.45.0'\n\nexport function lexicalEditor(args?: LexicalEditorProps): LexicalRichTextAdapterProvider {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n checkedDependencies = true\n void checkDependencies({\n dependencyGroups: [\n {\n name: 'lexical',\n dependencies: [\n 'lexical',\n '@lexical/headless',\n '@lexical/link',\n '@lexical/list',\n '@lexical/mark',\n '@lexical/markdown',\n '@lexical/react',\n '@lexical/rich-text',\n '@lexical/selection',\n '@lexical/utils',\n ],\n targetVersion: lexicalTargetVersion,\n },\n ],\n })\n }\n return async ({ config, isRoot, parentIsLocalized }) => {\n let features: FeatureProviderServer<unknown, unknown, unknown>[] = []\n let resolvedFeatureMap: ResolvedServerFeatureMap\n\n let finalSanitizedEditorConfig: SanitizedServerEditorConfig // For server only\n if (!args || (!args.features && !args.lexical)) {\n finalSanitizedEditorConfig = await getDefaultSanitizedEditorConfig({\n config,\n parentIsLocalized,\n })\n\n features = defaultEditorFeatures\n\n resolvedFeatureMap = finalSanitizedEditorConfig.resolvedFeatureMap\n } else {\n const result = await featuresInputToEditorConfig({\n config,\n features: args?.features,\n isRoot,\n lexical: args?.lexical,\n parentIsLocalized,\n })\n finalSanitizedEditorConfig = result.sanitizedConfig\n features = result.features\n resolvedFeatureMap = result.resolvedFeatureMap\n }\n\n const featureI18n: Partial<GenericLanguages> = finalSanitizedEditorConfig.features.i18n\n const supportedLanguages = config.i18n?.supportedLanguages\n const supportedLanguagesToMerge: Partial<GenericLanguages> = {}\n for (const _lang in supportedLanguages) {\n if (!(_lang in i18n)) {\n if (featureI18n[_lang as keyof typeof i18n]) {\n supportedLanguagesToMerge[_lang as keyof typeof i18n] =\n featureI18n[_lang as keyof typeof i18n]\n }\n continue\n }\n const lang = _lang as keyof typeof i18n\n const lexicalI18nForLang = ((featureI18n[lang] ??= {}).lexical ??=\n {}) as GenericTranslationsObject\n\n lexicalI18nForLang.general = i18n[lang] ?? {}\n supportedLanguagesToMerge[lang] = featureI18n[lang]\n }\n\n config.i18n.translations = deepMergeSimple(config.i18n.translations, supportedLanguagesToMerge)\n\n return {\n CellComponent: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell',\n DiffComponent: '@payloadcms/richtext-lexical/rsc#LexicalDiffComponent',\n editorConfig: finalSanitizedEditorConfig,\n features,\n FieldComponent: {\n path: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalField',\n serverProps: {\n admin: args?.admin,\n views: args?.views,\n },\n },\n generateImportMap: getGenerateImportMap({\n lexicalEditorArgs: args,\n resolvedFeatureMap,\n }),\n generateSchemaMap: getGenerateSchemaMap({\n resolvedFeatureMap,\n }),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n // check if there are any features with nodes which have populationPromises for this field\n if (finalSanitizedEditorConfig?.features?.graphQLPopulationPromises?.size) {\n populateLexicalPopulationPromises({\n context,\n currentDepth: currentDepth ?? 0,\n depth,\n draft,\n editorPopulationPromises: finalSanitizedEditorConfig.features.graphQLPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n parentIsLocalized,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: getLexicalHooks({\n editorConfig: finalSanitizedEditorConfig,\n }),\n jsonSchema: getFieldToJSONSchema({ editorConfig: finalSanitizedEditorConfig }),\n validate: richTextValidateHOC({\n editorConfig: finalSanitizedEditorConfig,\n }),\n }\n }\n}\n\nexport { AlignFeature } from './features/align/server/index.js'\nexport { BlockquoteFeature } from './features/blockquote/server/index.js'\nexport { CodeBlock } from './features/blocks/premade/CodeBlock/index.js'\nexport { BlocksFeature } from './features/blocks/server/index.js'\nexport type {\n BlocksFeatureProps,\n LexicalBlockClientProps,\n LexicalBlockLabelClientProps,\n LexicalBlockLabelServerProps,\n LexicalBlockServerProps,\n LexicalInlineBlockClientProps,\n LexicalInlineBlockLabelClientProps,\n LexicalInlineBlockLabelServerProps,\n LexicalInlineBlockServerProps,\n} from './features/blocks/server/index.js'\n\nexport {\n $createServerBlockNode,\n $isServerBlockNode,\n ServerBlockNode,\n} from './features/blocks/server/nodes/BlocksNode.js'\nexport {\n $createServerInlineBlockNode,\n $isServerInlineBlockNode,\n ServerInlineBlockNode,\n} from './features/blocks/server/nodes/InlineBlocksNode.js'\n\nexport type { BlockFields, InlineBlockFields } from './features/blocks/server/schema.js'\n\nexport { convertHTMLToLexical } from './features/converters/htmlToLexical/index.js'\n\nexport { lexicalHTMLField } from './features/converters/lexicalToHtml/async/field/index.js'\n\nexport { convertLexicalToMarkdown } from './features/converters/lexicalToMarkdown/index.js'\nexport { convertMarkdownToLexical } from './features/converters/markdownToLexical/index.js'\nexport { getPayloadPopulateFn } from './features/converters/utilities/payloadPopulateFn.js'\n\nexport { getRestPopulateFn } from './features/converters/utilities/restPopulateFn.js'\nexport { DebugJsxConverterFeature } from './features/debug/jsxConverter/server/index.js'\nexport { TestRecorderFeature } from './features/debug/testRecorder/server/index.js'\nexport { TreeViewFeature } from './features/debug/treeView/server/index.js'\nexport { EXPERIMENTAL_TableFeature } from './features/experimental_table/server/index.js'\nexport { BoldFeature } from './features/format/bold/feature.server.js'\nexport { InlineCodeFeature } from './features/format/inlineCode/feature.server.js'\n\nexport { ItalicFeature } from './features/format/italic/feature.server.js'\nexport { StrikethroughFeature } from './features/format/strikethrough/feature.server.js'\nexport { SubscriptFeature } from './features/format/subscript/feature.server.js'\nexport { SuperscriptFeature } from './features/format/superscript/feature.server.js'\nexport { UnderlineFeature } from './features/format/underline/feature.server.js'\nexport { HeadingFeature, type HeadingFeatureProps } from './features/heading/server/index.js'\nexport { HorizontalRuleFeature } from './features/horizontalRule/server/index.js'\n\nexport { IndentFeature } from './features/indent/server/index.js'\nexport {\n $createAutoLinkNode,\n $isAutoLinkNode,\n AutoLinkNode,\n} from './features/link/nodes/AutoLinkNode.js'\nexport { $createLinkNode, $isLinkNode, LinkNode } from './features/link/nodes/LinkNode.js'\n\nexport { LinkFeature, type LinkFeatureServerProps } from './features/link/server/index.js'\nexport type { LinkFields } from './features/link/server/schema.js'\n\nexport { ChecklistFeature } from './features/lists/checklist/server/index.js'\nexport { OrderedListFeature } from './features/lists/orderedList/server/index.js'\n\nexport { UnorderedListFeature } from './features/lists/unorderedList/server/index.js'\n\nexport { ParagraphFeature } from './features/paragraph/server/index.js'\n\nexport {\n RelationshipFeature,\n type RelationshipFeatureProps,\n} from './features/relationship/server/index.js'\n\nexport { RelationshipServerNode } from './features/relationship/server/nodes/RelationshipNode.js'\nexport type { RelationshipData } from './features/relationship/server/schema.js'\nexport { defaultColors } from './features/textState/defaultColors.js'\nexport { TextStateFeature } from './features/textState/feature.server.js'\n\nexport { FixedToolbarFeature } from './features/toolbars/fixed/server/index.js'\n\nexport { InlineToolbarFeature } from './features/toolbars/inline/server/index.js'\nexport type { ToolbarGroup, ToolbarGroupItem } from './features/toolbars/types.js'\nexport type {\n BaseClientFeatureProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n PluginComponent,\n PluginComponentWithAnchor,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n SanitizedClientFeatures,\n SanitizedPlugin,\n} from './features/typesClient.js'\n\nexport type {\n AfterChangeNodeHook,\n AfterChangeNodeHookArgs,\n AfterReadNodeHook,\n AfterReadNodeHookArgs,\n BaseNodeHookArgs,\n BeforeChangeNodeHook,\n BeforeChangeNodeHookArgs,\n BeforeValidateNodeHook,\n BeforeValidateNodeHookArgs,\n FeatureProviderProviderServer,\n FeatureProviderServer,\n NodeValidation,\n NodeWithHooks,\n PopulationPromise,\n ResolvedServerFeature,\n ResolvedServerFeatureMap,\n SanitizedServerFeatures,\n ServerFeature,\n ServerFeatureProviderMap,\n} from './features/typesServer.js'\n\nexport { createNode } from './features/typeUtilities.js' // Only useful in feature.server.ts\n\nexport { UploadFeature } from './features/upload/server/index.js'\nexport type { UploadFeatureProps } from './features/upload/server/index.js'\n\nexport { UploadServerNode } from './features/upload/server/nodes/UploadNode.js'\nexport type { UploadData } from './features/upload/server/schema.js'\nexport type { EditorConfigContextType } from './lexical/config/client/EditorConfigProvider.js'\n\nexport {\n defaultEditorConfig,\n defaultEditorFeatures,\n defaultEditorLexicalConfig,\n} from './lexical/config/server/default.js'\nexport { loadFeatures, sortFeaturesForOptimalLoading } from './lexical/config/server/loader.js'\n\nexport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './lexical/config/server/sanitize.js'\nexport type {\n ClientEditorConfig,\n SanitizedClientEditorConfig,\n SanitizedServerEditorConfig,\n ServerEditorConfig,\n} from './lexical/config/types.js'\nexport type { AdapterProps }\n\nexport { getEnabledNodes, getEnabledNodesFromServerNodes } from './lexical/nodes/index.js'\n\nexport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from './lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nexport { $convertFromMarkdownString } from './lexical/utils/markdown/convertFromMarkdownString.js'\n\nexport {\n DETAIL_TYPE_TO_DETAIL,\n DOUBLE_LINE_BREAK,\n ELEMENT_FORMAT_TO_TYPE,\n ELEMENT_TYPE_TO_FORMAT,\n IS_ALL_FORMATTING,\n LTR_REGEX,\n NodeFormat,\n NON_BREAKING_SPACE,\n RTL_REGEX,\n TEXT_MODE_TO_TYPE,\n TEXT_TYPE_TO_FORMAT,\n TEXT_TYPE_TO_MODE,\n} from './lexical/utils/nodeFormat.js'\n\nexport { sanitizeUrl, validateUrl } from './lexical/utils/url.js'\n\nexport { defaultRichTextValue } from './populateGraphQL/defaultValue.js'\nexport { populate } from './populateGraphQL/populate.js'\nexport type {\n ClientFeaturesMap,\n LexicalEditorNodeMap,\n LexicalEditorProps,\n LexicalEditorViewMap,\n LexicalFieldAdminProps,\n LexicalRichTextAdapter,\n NodeMapValue,\n SerializedNodeBase,\n ViewMapBlockComponentProps,\n} from './types/index.js'\n\nexport type * from './types/nodeTypes.js'\n\nexport { buildDefaultEditorState, buildEditorState } from './utilities/buildEditorState.js'\nexport { createServerFeature } from './utilities/createServerFeature.js'\n\nexport { editorConfigFactory } from './utilities/editorConfigFactory.js'\nexport type { FieldsDrawerProps } from './utilities/fieldsDrawer/Drawer.js'\n\nexport { extractPropsFromJSXPropsString } from './utilities/jsx/extractPropsFromJSXPropsString.js'\n\nexport {\n extractFrontmatter,\n frontmatterToObject,\n objectToFrontmatter,\n propsToJSXString,\n} from './utilities/jsx/jsx.js'\nexport { upgradeLexicalData } from './utilities/upgradeLexicalData/index.js'\n"],"mappings":"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","ignoreList":[]}
@@ -35,7 +35,7 @@
35
35
  > .editor
36
36
  > div
37
37
  > .LexicalEditorTheme__placeholder {
38
- left: var(--spacer-5);
38
+ inset-inline-start: var(--spacer-5);
39
39
  }
40
40
 
41
41
  .rich-text-lexical:not(.rich-text-lexical--show-gutter)
@@ -45,6 +45,6 @@
45
45
  > .editor
46
46
  > div
47
47
  > .LexicalEditorTheme__placeholder {
48
- left: 0;
48
+ inset-inline-start: 0;
49
49
  }
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/lexical/config/client/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAEhE,OAAO,KAAK,EAGV,wBAAwB,EACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,EACL,UAAU,EACV,uBAAuB,GACxB,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB,EAAE,kBAAkB,CAAA;CAC5C,GAAG,wBAAwB,CAoD3B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/lexical/config/client/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAEhE,OAAO,KAAK,EAGV,wBAAwB,EACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,EACL,UAAU,EACV,uBAAuB,GACxB,EAAE;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB,EAAE,kBAAkB,CAAA;CAC5C,GAAG,wBAAwB,CA0D3B"}
@@ -13,12 +13,16 @@ export function loadClientFeatures({
13
13
  unSanitizedEditorConfig
14
14
  }) {
15
15
  const featureProviderMap = new Map();
16
+ const validFeatures = [];
16
17
  for (const featureProvider of unSanitizedEditorConfig.features) {
17
18
  if (!featureProvider?.clientFeatureProps?.featureKey || featureProvider?.clientFeatureProps?.order === undefined || featureProvider?.clientFeatureProps?.order === null) {
18
- throw new Error('A Feature you have installed does not return the client props as clientFeatureProps. Please make sure to always return those props, even if they are null, as other important props like order and featureKey are later on injected.');
19
+ console.warn('A Feature you have installed does not return the client props as clientFeatureProps. Please make sure to always return those props, even if they are null, as other important props like order and featureKey are later on injected. Skipping feature.');
20
+ continue;
19
21
  }
20
22
  featureProviderMap.set(featureProvider.clientFeatureProps.featureKey, featureProvider);
23
+ validFeatures.push(featureProvider);
21
24
  }
25
+ unSanitizedEditorConfig.features = validFeatures;
22
26
  // sort unSanitizedEditorConfig.features by order
23
27
  unSanitizedEditorConfig.features = unSanitizedEditorConfig.features.sort((a, b) => a.clientFeatureProps.order - b.clientFeatureProps.order);
24
28
  const resolvedFeatures = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","names":["loadClientFeatures","config","featureClientImportMap","featureClientSchemaMap","field","schemaPath","unSanitizedEditorConfig","featureProviderMap","Map","featureProvider","features","clientFeatureProps","featureKey","order","undefined","Error","set","sort","a","b","resolvedFeatures","loaded","feature","key"],"sources":["../../../../src/lexical/config/client/loader.ts"],"sourcesContent":["'use client'\n\nimport type { ClientConfig, RichTextFieldClient } from 'payload'\n\nimport type {\n ClientFeatureProviderMap,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n} from '../../../features/typesClient.js'\nimport type { FeatureClientSchemaMap } from '../../../types/index.js'\nimport type { ClientEditorConfig } from '../types.js'\n\n/**\n * This function expects client functions to ALREADY be ordered & dependencies checked on the server\n * @param unSanitizedEditorConfig\n */\nexport function loadClientFeatures({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field,\n schemaPath,\n unSanitizedEditorConfig,\n}: {\n config: ClientConfig\n featureClientImportMap: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n field?: RichTextFieldClient\n schemaPath: string\n unSanitizedEditorConfig: ClientEditorConfig\n}): ResolvedClientFeatureMap {\n const featureProviderMap: ClientFeatureProviderMap = new Map()\n\n for (const featureProvider of unSanitizedEditorConfig.features) {\n if (\n !featureProvider?.clientFeatureProps?.featureKey ||\n featureProvider?.clientFeatureProps?.order === undefined ||\n featureProvider?.clientFeatureProps?.order === null\n ) {\n throw new Error(\n 'A Feature you have installed does not return the client props as clientFeatureProps. Please make sure to always return those props, even if they are null, as other important props like order and featureKey are later on injected.',\n )\n }\n featureProviderMap.set(featureProvider.clientFeatureProps.featureKey, featureProvider)\n }\n\n // sort unSanitizedEditorConfig.features by order\n unSanitizedEditorConfig.features = unSanitizedEditorConfig.features.sort(\n (a, b) => a.clientFeatureProps.order - b.clientFeatureProps.order,\n )\n\n const resolvedFeatures: ResolvedClientFeatureMap = new Map()\n\n // Make sure all dependencies declared in the respective features exist\n let loaded = 0\n for (const featureProvider of unSanitizedEditorConfig.features) {\n const feature: Partial<ResolvedClientFeature<any>> =\n typeof featureProvider.feature === 'function'\n ? featureProvider.feature({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n featureProviderMap,\n field,\n resolvedFeatures,\n schemaPath,\n unSanitizedEditorConfig,\n })\n : featureProvider.feature\n\n feature.key = featureProvider.clientFeatureProps.featureKey\n feature.order = loaded\n\n resolvedFeatures.set(\n featureProvider.clientFeatureProps.featureKey,\n feature as ResolvedClientFeature<any>,\n )\n\n loaded++\n }\n\n return resolvedFeatures\n}\n"],"mappings":"AAAA;;AAYA;;;;AAIA,OAAO,SAASA,mBAAmB;EACjCC,MAAM;EACNC,sBAAsB;EACtBC,sBAAsB;EACtBC,KAAK;EACLC,UAAU;EACVC;AAAuB,CAQxB;EACC,MAAMC,kBAAA,GAA+C,IAAIC,GAAA;EAEzD,KAAK,MAAMC,eAAA,IAAmBH,uBAAA,CAAwBI,QAAQ,EAAE;IAC9D,IACE,CAACD,eAAA,EAAiBE,kBAAA,EAAoBC,UAAA,IACtCH,eAAA,EAAiBE,kBAAA,EAAoBE,KAAA,KAAUC,SAAA,IAC/CL,eAAA,EAAiBE,kBAAA,EAAoBE,KAAA,KAAU,MAC/C;MACA,MAAM,IAAIE,KAAA,CACR;IAEJ;IACAR,kBAAA,CAAmBS,GAAG,CAACP,eAAA,CAAgBE,kBAAkB,CAACC,UAAU,EAAEH,eAAA;EACxE;EAEA;EACAH,uBAAA,CAAwBI,QAAQ,GAAGJ,uBAAA,CAAwBI,QAAQ,CAACO,IAAI,CACtE,CAACC,CAAA,EAAGC,CAAA,KAAMD,CAAA,CAAEP,kBAAkB,CAACE,KAAK,GAAGM,CAAA,CAAER,kBAAkB,CAACE,KAAK;EAGnE,MAAMO,gBAAA,GAA6C,IAAIZ,GAAA;EAEvD;EACA,IAAIa,MAAA,GAAS;EACb,KAAK,MAAMZ,eAAA,IAAmBH,uBAAA,CAAwBI,QAAQ,EAAE;IAC9D,MAAMY,OAAA,GACJ,OAAOb,eAAA,CAAgBa,OAAO,KAAK,aAC/Bb,eAAA,CAAgBa,OAAO,CAAC;MACtBrB,MAAA;MACAC,sBAAA;MACAC,sBAAA;MACAI,kBAAA;MACAH,KAAA;MACAgB,gBAAA;MACAf,UAAA;MACAC;IACF,KACAG,eAAA,CAAgBa,OAAO;IAE7BA,OAAA,CAAQC,GAAG,GAAGd,eAAA,CAAgBE,kBAAkB,CAACC,UAAU;IAC3DU,OAAA,CAAQT,KAAK,GAAGQ,MAAA;IAEhBD,gBAAA,CAAiBJ,GAAG,CAClBP,eAAA,CAAgBE,kBAAkB,CAACC,UAAU,EAC7CU,OAAA;IAGFD,MAAA;EACF;EAEA,OAAOD,gBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"loader.js","names":["loadClientFeatures","config","featureClientImportMap","featureClientSchemaMap","field","schemaPath","unSanitizedEditorConfig","featureProviderMap","Map","validFeatures","featureProvider","features","clientFeatureProps","featureKey","order","undefined","console","warn","set","push","sort","a","b","resolvedFeatures","loaded","feature","key"],"sources":["../../../../src/lexical/config/client/loader.ts"],"sourcesContent":["'use client'\n\nimport type { ClientConfig, RichTextFieldClient } from 'payload'\n\nimport type {\n ClientFeatureProviderMap,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n} from '../../../features/typesClient.js'\nimport type { FeatureClientSchemaMap } from '../../../types/index.js'\nimport type { ClientEditorConfig } from '../types.js'\n\n/**\n * This function expects client functions to ALREADY be ordered & dependencies checked on the server\n * @param unSanitizedEditorConfig\n */\nexport function loadClientFeatures({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field,\n schemaPath,\n unSanitizedEditorConfig,\n}: {\n config: ClientConfig\n featureClientImportMap: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n field?: RichTextFieldClient\n schemaPath: string\n unSanitizedEditorConfig: ClientEditorConfig\n}): ResolvedClientFeatureMap {\n const featureProviderMap: ClientFeatureProviderMap = new Map()\n\n const validFeatures: typeof unSanitizedEditorConfig.features = []\n\n for (const featureProvider of unSanitizedEditorConfig.features) {\n if (\n !featureProvider?.clientFeatureProps?.featureKey ||\n featureProvider?.clientFeatureProps?.order === undefined ||\n featureProvider?.clientFeatureProps?.order === null\n ) {\n console.warn(\n 'A Feature you have installed does not return the client props as clientFeatureProps. Please make sure to always return those props, even if they are null, as other important props like order and featureKey are later on injected. Skipping feature.',\n )\n continue\n }\n featureProviderMap.set(featureProvider.clientFeatureProps.featureKey, featureProvider)\n validFeatures.push(featureProvider)\n }\n\n unSanitizedEditorConfig.features = validFeatures\n\n // sort unSanitizedEditorConfig.features by order\n unSanitizedEditorConfig.features = unSanitizedEditorConfig.features.sort(\n (a, b) => a.clientFeatureProps.order - b.clientFeatureProps.order,\n )\n\n const resolvedFeatures: ResolvedClientFeatureMap = new Map()\n\n // Make sure all dependencies declared in the respective features exist\n let loaded = 0\n for (const featureProvider of unSanitizedEditorConfig.features) {\n const feature: Partial<ResolvedClientFeature<any>> =\n typeof featureProvider.feature === 'function'\n ? featureProvider.feature({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n featureProviderMap,\n field,\n resolvedFeatures,\n schemaPath,\n unSanitizedEditorConfig,\n })\n : featureProvider.feature\n\n feature.key = featureProvider.clientFeatureProps.featureKey\n feature.order = loaded\n\n resolvedFeatures.set(\n featureProvider.clientFeatureProps.featureKey,\n feature as ResolvedClientFeature<any>,\n )\n\n loaded++\n }\n\n return resolvedFeatures\n}\n"],"mappings":"AAAA;;AAYA;;;;AAIA,OAAO,SAASA,mBAAmB;EACjCC,MAAM;EACNC,sBAAsB;EACtBC,sBAAsB;EACtBC,KAAK;EACLC,UAAU;EACVC;AAAuB,CAQxB;EACC,MAAMC,kBAAA,GAA+C,IAAIC,GAAA;EAEzD,MAAMC,aAAA,GAAyD,EAAE;EAEjE,KAAK,MAAMC,eAAA,IAAmBJ,uBAAA,CAAwBK,QAAQ,EAAE;IAC9D,IACE,CAACD,eAAA,EAAiBE,kBAAA,EAAoBC,UAAA,IACtCH,eAAA,EAAiBE,kBAAA,EAAoBE,KAAA,KAAUC,SAAA,IAC/CL,eAAA,EAAiBE,kBAAA,EAAoBE,KAAA,KAAU,MAC/C;MACAE,OAAA,CAAQC,IAAI,CACV;MAEF;IACF;IACAV,kBAAA,CAAmBW,GAAG,CAACR,eAAA,CAAgBE,kBAAkB,CAACC,UAAU,EAAEH,eAAA;IACtED,aAAA,CAAcU,IAAI,CAACT,eAAA;EACrB;EAEAJ,uBAAA,CAAwBK,QAAQ,GAAGF,aAAA;EAEnC;EACAH,uBAAA,CAAwBK,QAAQ,GAAGL,uBAAA,CAAwBK,QAAQ,CAACS,IAAI,CACtE,CAACC,CAAA,EAAGC,CAAA,KAAMD,CAAA,CAAET,kBAAkB,CAACE,KAAK,GAAGQ,CAAA,CAAEV,kBAAkB,CAACE,KAAK;EAGnE,MAAMS,gBAAA,GAA6C,IAAIf,GAAA;EAEvD;EACA,IAAIgB,MAAA,GAAS;EACb,KAAK,MAAMd,eAAA,IAAmBJ,uBAAA,CAAwBK,QAAQ,EAAE;IAC9D,MAAMc,OAAA,GACJ,OAAOf,eAAA,CAAgBe,OAAO,KAAK,aAC/Bf,eAAA,CAAgBe,OAAO,CAAC;MACtBxB,MAAA;MACAC,sBAAA;MACAC,sBAAA;MACAI,kBAAA;MACAH,KAAA;MACAmB,gBAAA;MACAlB,UAAA;MACAC;IACF,KACAI,eAAA,CAAgBe,OAAO;IAE7BA,OAAA,CAAQC,GAAG,GAAGhB,eAAA,CAAgBE,kBAAkB,CAACC,UAAU;IAC3DY,OAAA,CAAQX,KAAK,GAAGU,MAAA;IAEhBD,gBAAA,CAAiBL,GAAG,CAClBR,eAAA,CAAgBE,kBAAkB,CAACC,UAAU,EAC7CY,OAAA;IAGFD,MAAA;EACF;EAEA,OAAOD,gBAAA;AACT","ignoreList":[]}
@@ -5,7 +5,7 @@
5
5
  }
6
6
 
7
7
  .decorator-selected {
8
- box-shadow: 0 0 0 2px var(--color-border-selected) !important;
8
+ box-shadow: 0 0 0 var(--stroke-width-medium) var(--color-border-selected) !important;
9
9
  outline: none !important;
10
10
  }
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$findMatchingParent","mergeRegister","$createNodeSelection","$getEditor","$getNearestNodeFromDOMNode","$getSelection","$isDecoratorNode","$isElementNode","$isLineBreakNode","$isNodeSelection","$isRangeSelection","$isRootOrShadowRoot","$isTextNode","$setSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_ARROW_DOWN_COMMAND","KEY_ARROW_UP_COMMAND","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","SELECTION_CHANGE_COMMAND","useEffect","DecoratorPlugin","$","editor","$onDelete","_temp2","t0","t1","registerCommand","_temp3","_temp4","_temp6","_temp8","event_2","selection_1","selection","event","preventDefault","nextSibling","getNodes","getNextSibling","element_0","getElementByKey","getKey","element","$selectDecorator","node","firstDescendant","getFirstDescendant","block_0","INTERNAL_$isBlock","block","selectEnd","lastPoint","isBackward","anchor","focus","lastNode","getNode","lastSelectedBlock","_temp7","nextBlock","findLaterSiblingBlock","nextBlockElement","node_1","event_1","selection_0","prevSibling","getPreviousSibling","lastDescendant","getLastDescendant","selectStart","firstPoint","firstNode","firstSelectedBlock","_temp5","prevBlock","findFirstSiblingBlock","prevBlockElement","node_0","decorator_0","$getSelectedDecorator","document","querySelector","classList","remove","decorator","add","event_0","$getDecoratorByMouseEvent","target","isInteractive","HTMLElement","isContentEditable","closest","forEach","_temp","undefined","nodes","length","scrollIntoView","behavior","isInline","firstChild","getFirstChild","isLeafElement","canBeEmpty","current"],"sources":["../../../../src/lexical/plugins/DecoratorPlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DecoratorNode, ElementNode, LexicalNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport {\n $createNodeSelection,\n $getEditor,\n $getNearestNodeFromDOMNode,\n $getSelection,\n $isDecoratorNode,\n $isElementNode,\n $isLineBreakNode,\n $isNodeSelection,\n $isRangeSelection,\n $isRootOrShadowRoot,\n $isTextNode,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport './index.css'\n\n// TODO: This should ideally be fixed in Lexical. See\n// https://github.com/facebook/lexical/pull/7072\nexport function DecoratorPlugin() {\n const [editor] = useLexicalComposerContext()\n\n const $onDelete = (event: KeyboardEvent) => {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return false\n }\n event.preventDefault()\n selection.getNodes().forEach((node) => {\n node.remove()\n })\n return true\n }\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const decorator = $getDecoratorByMouseEvent(event)\n if (!decorator) {\n return true\n }\n const { target } = event\n const isInteractive =\n !(target instanceof HTMLElement) ||\n target.isContentEditable ||\n target.closest(\n 'button, textarea, input, .react-select, .code-editor, .no-select-decorator, [role=\"button\"]',\n )\n if (isInteractive) {\n $setSelection(null)\n } else {\n $selectDecorator(decorator)\n }\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n const decorator = $getSelectedDecorator()\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n if (decorator) {\n decorator.element?.classList.add('decorator-selected')\n return true\n }\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n const prevSibling = selection.getNodes()[0]?.getPreviousSibling()\n if ($isDecoratorNode(prevSibling)) {\n const element = $getEditor().getElementByKey(prevSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: prevSibling })\n event.preventDefault()\n return true\n }\n return false\n }\n if (!$isElementNode(prevSibling)) {\n return false\n }\n const lastDescendant = prevSibling.getLastDescendant() ?? prevSibling\n if (!lastDescendant) {\n return false\n }\n const block = $findMatchingParent(lastDescendant, INTERNAL_$isBlock)\n block?.selectStart()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get first selected block\n const firstPoint = selection.isBackward() ? selection.anchor : selection.focus\n const firstNode = firstPoint.getNode()\n const firstSelectedBlock = $findMatchingParent(firstNode, (node) => {\n return findFirstSiblingBlock(node) !== null\n })\n const prevBlock = firstSelectedBlock?.getPreviousSibling()\n if (!firstSelectedBlock || prevBlock !== findFirstSiblingBlock(firstSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(prevBlock)) {\n const prevBlockElement = $getEditor().getElementByKey(prevBlock.getKey())\n if (prevBlockElement) {\n $selectDecorator({ element: prevBlockElement, node: prevBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n event.preventDefault()\n const nextSibling = selection.getNodes()[0]?.getNextSibling()\n if ($isDecoratorNode(nextSibling)) {\n const element = $getEditor().getElementByKey(nextSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: nextSibling })\n }\n return true\n }\n if (!$isElementNode(nextSibling)) {\n return true\n }\n const firstDescendant = nextSibling.getFirstDescendant() ?? nextSibling\n if (!firstDescendant) {\n return true\n }\n const block = $findMatchingParent(firstDescendant, INTERNAL_$isBlock)\n block?.selectEnd()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get last selected block\n const lastPoint = selection.isBackward() ? selection.anchor : selection.focus\n const lastNode = lastPoint.getNode()\n const lastSelectedBlock = $findMatchingParent(lastNode, (node) => {\n return findLaterSiblingBlock(node) !== null\n })\n const nextBlock = lastSelectedBlock?.getNextSibling()\n if (!lastSelectedBlock || nextBlock !== findLaterSiblingBlock(lastSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(nextBlock)) {\n const nextBlockElement = $getEditor().getElementByKey(nextBlock.getKey())\n if (nextBlockElement) {\n $selectDecorator({ element: nextBlockElement, node: nextBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor])\n\n return null\n}\n\nfunction $getDecoratorByMouseEvent(\n event: MouseEvent,\n): { element: HTMLElement; node: DecoratorNode<unknown> } | undefined {\n if (!(event.target instanceof HTMLElement)) {\n return undefined\n }\n const element = event.target.closest('[data-lexical-decorator=\"true\"]')\n if (!(element instanceof HTMLElement)) {\n return undefined\n }\n const node = $getNearestNodeFromDOMNode(element)\n return $isDecoratorNode(node) ? { element, node } : undefined\n}\n\nfunction $getSelectedDecorator() {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return undefined\n }\n const nodes = selection.getNodes()\n if (nodes.length !== 1) {\n return undefined\n }\n const node = nodes[0]\n return $isDecoratorNode(node)\n ? {\n decorator: node,\n element: $getEditor().getElementByKey(node.getKey()),\n }\n : undefined\n}\n\nfunction $selectDecorator({\n element,\n node,\n}: {\n element: HTMLElement\n node: DecoratorNode<unknown>\n}) {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const selection = $createNodeSelection()\n selection.add(node.getKey())\n $setSelection(selection)\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n element.classList.add('decorator-selected')\n}\n\n/**\n * Copied from https://github.com/facebook/lexical/blob/main/packages/lexical/src/LexicalUtils.ts\n *\n * This function returns true for a DecoratorNode that is not inline OR\n * an ElementNode that is:\n * - not a root or shadow root\n * - not inline\n * - can't be empty\n * - has no children or an inline first child\n */\nexport function INTERNAL_$isBlock(node: LexicalNode): node is DecoratorNode<unknown> | ElementNode {\n if ($isDecoratorNode(node) && !node.isInline()) {\n return true\n }\n if (!$isElementNode(node) || $isRootOrShadowRoot(node)) {\n return false\n }\n\n const firstChild = node.getFirstChild()\n const isLeafElement =\n firstChild === null ||\n $isLineBreakNode(firstChild) ||\n $isTextNode(firstChild) ||\n firstChild.isInline()\n\n return !node.isInline() && node.canBeEmpty() !== false && isLeafElement\n}\n\nfunction findLaterSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getNextSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getNextSibling()\n }\n return null\n}\n\nfunction findFirstSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getPreviousSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getPreviousSibling()\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$findMatchingParent","mergeRegister","$createNodeSelection","$getEditor","$getNearestNodeFromDOMNode","$getSelection","$isDecoratorNode","$isElementNode","$isLineBreakNode","$isNodeSelection","$isRangeSelection","$isRootOrShadowRoot","$isTextNode","$setSelection","CLICK_COMMAND","COMMAND_PRIORITY_LOW","KEY_ARROW_DOWN_COMMAND","KEY_ARROW_UP_COMMAND","KEY_BACKSPACE_COMMAND","KEY_DELETE_COMMAND","SELECTION_CHANGE_COMMAND","useEffect","DecoratorPlugin","$","editor","$onDelete","_temp2","t0","t1","registerCommand","_temp3","_temp4","_temp6","_temp8","event_2","selection_1","selection","event","preventDefault","nextSibling","getNodes","getNextSibling","element_0","getElementByKey","getKey","element","$selectDecorator","firstDescendant","getFirstDescendant","block_0","INTERNAL_$isBlock","block","selectEnd","lastPoint","isBackward","anchor","focus","lastNode","getNode","lastSelectedBlock","_temp7","nextBlock","findLaterSiblingBlock","nextBlockElement","node","node_1","event_1","selection_0","prevSibling","getPreviousSibling","lastDescendant","getLastDescendant","selectStart","firstPoint","firstNode","firstSelectedBlock","_temp5","prevBlock","findFirstSiblingBlock","prevBlockElement","node_0","decorator_0","$getSelectedDecorator","document","querySelector","classList","remove","decorator","add","event_0","$getDecoratorByMouseEvent","target","isInteractive","HTMLElement","isContentEditable","closest","forEach","_temp","undefined","nodes","length","scrollIntoView","behavior","isInline","firstChild","getFirstChild","isLeafElement","canBeEmpty","current"],"sources":["../../../../src/lexical/plugins/DecoratorPlugin/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DecoratorNode, ElementNode, LexicalNode } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport {\n $createNodeSelection,\n $getEditor,\n $getNearestNodeFromDOMNode,\n $getSelection,\n $isDecoratorNode,\n $isElementNode,\n $isLineBreakNode,\n $isNodeSelection,\n $isRangeSelection,\n $isRootOrShadowRoot,\n $isTextNode,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport './index.css'\n\n// TODO: This should ideally be fixed in Lexical. See\n// https://github.com/facebook/lexical/pull/7072\nexport function DecoratorPlugin() {\n const [editor] = useLexicalComposerContext()\n\n const $onDelete = (event: KeyboardEvent) => {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return false\n }\n event.preventDefault()\n selection.getNodes().forEach((node) => {\n node.remove()\n })\n return true\n }\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const decorator = $getDecoratorByMouseEvent(event)\n if (!decorator) {\n return true\n }\n const { target } = event\n const isInteractive =\n !(target instanceof HTMLElement) ||\n target.isContentEditable ||\n target.closest(\n 'button, textarea, input, .react-select, .code-editor, .no-select-decorator, [role=\"button\"]',\n )\n if (isInteractive) {\n $setSelection(null)\n } else {\n $selectDecorator(decorator)\n }\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(KEY_DELETE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(KEY_BACKSPACE_COMMAND, $onDelete, COMMAND_PRIORITY_LOW),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n const decorator = $getSelectedDecorator()\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n if (decorator) {\n decorator.element?.classList.add('decorator-selected')\n return true\n }\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n const prevSibling = selection.getNodes()[0]?.getPreviousSibling()\n if ($isDecoratorNode(prevSibling)) {\n const element = $getEditor().getElementByKey(prevSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: prevSibling })\n event.preventDefault()\n return true\n }\n return false\n }\n if (!$isElementNode(prevSibling)) {\n return false\n }\n const lastDescendant = prevSibling.getLastDescendant() ?? prevSibling\n if (!lastDescendant) {\n return false\n }\n const block = $findMatchingParent(lastDescendant, INTERNAL_$isBlock)\n block?.selectStart()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get first selected block\n const firstPoint = selection.isBackward() ? selection.anchor : selection.focus\n const firstNode = firstPoint.getNode()\n const firstSelectedBlock = $findMatchingParent(firstNode, (node) => {\n return findFirstSiblingBlock(node) !== null\n })\n const prevBlock = firstSelectedBlock?.getPreviousSibling()\n if (!firstSelectedBlock || prevBlock !== findFirstSiblingBlock(firstSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(prevBlock)) {\n const prevBlockElement = $getEditor().getElementByKey(prevBlock.getKey())\n if (prevBlockElement) {\n $selectDecorator({ element: prevBlockElement, node: prevBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n (event) => {\n // CASE 1: Node selection\n const selection = $getSelection()\n if ($isNodeSelection(selection)) {\n event.preventDefault()\n const nextSibling = selection.getNodes()[0]?.getNextSibling()\n if ($isDecoratorNode(nextSibling)) {\n const element = $getEditor().getElementByKey(nextSibling.getKey())\n if (element) {\n $selectDecorator({ element, node: nextSibling })\n }\n return true\n }\n if (!$isElementNode(nextSibling)) {\n return true\n }\n const firstDescendant = nextSibling.getFirstDescendant() ?? nextSibling\n if (!firstDescendant) {\n return true\n }\n const block = $findMatchingParent(firstDescendant, INTERNAL_$isBlock)\n block?.selectEnd()\n event.preventDefault()\n return true\n }\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n // CASE 2: Range selection\n // Get last selected block\n const lastPoint = selection.isBackward() ? selection.anchor : selection.focus\n const lastNode = lastPoint.getNode()\n const lastSelectedBlock = $findMatchingParent(lastNode, (node) => {\n return findLaterSiblingBlock(node) !== null\n })\n const nextBlock = lastSelectedBlock?.getNextSibling()\n if (!lastSelectedBlock || nextBlock !== findLaterSiblingBlock(lastSelectedBlock)) {\n return false\n }\n\n if ($isDecoratorNode(nextBlock)) {\n const nextBlockElement = $getEditor().getElementByKey(nextBlock.getKey())\n if (nextBlockElement) {\n $selectDecorator({ element: nextBlockElement, node: nextBlock })\n event.preventDefault()\n return true\n }\n }\n\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor])\n\n return null\n}\n\nfunction $getDecoratorByMouseEvent(\n event: MouseEvent,\n): { element: HTMLElement; node: DecoratorNode<unknown> } | undefined {\n if (!(event.target instanceof HTMLElement)) {\n return undefined\n }\n const element = event.target.closest('[data-lexical-decorator=\"true\"]')\n if (!(element instanceof HTMLElement)) {\n return undefined\n }\n const node = $getNearestNodeFromDOMNode(element)\n return $isDecoratorNode(node) ? { element, node } : undefined\n}\n\nfunction $getSelectedDecorator() {\n const selection = $getSelection()\n if (!$isNodeSelection(selection)) {\n return undefined\n }\n const nodes = selection.getNodes()\n if (nodes.length !== 1) {\n return undefined\n }\n const node = nodes[0]\n return $isDecoratorNode(node)\n ? {\n decorator: node,\n element: $getEditor().getElementByKey(node.getKey()),\n }\n : undefined\n}\n\nfunction $selectDecorator({\n element,\n node,\n}: {\n element: HTMLElement\n node: DecoratorNode<unknown>\n}) {\n document.querySelector('.decorator-selected')?.classList.remove('decorator-selected')\n const selection = $createNodeSelection()\n selection.add(node.getKey())\n $setSelection(selection)\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n element.classList.add('decorator-selected')\n}\n\n/**\n * Copied from https://github.com/facebook/lexical/blob/main/packages/lexical/src/LexicalUtils.ts\n *\n * This function returns true for a DecoratorNode that is not inline OR\n * an ElementNode that is:\n * - not a root or shadow root\n * - not inline\n * - can't be empty\n * - has no children or an inline first child\n */\nexport function INTERNAL_$isBlock(node: LexicalNode): node is DecoratorNode<unknown> | ElementNode {\n if ($isDecoratorNode(node) && !node.isInline()) {\n return true\n }\n if (!$isElementNode(node) || $isRootOrShadowRoot(node)) {\n return false\n }\n\n const firstChild = node.getFirstChild()\n const isLeafElement =\n firstChild === null ||\n $isLineBreakNode(firstChild) ||\n $isTextNode(firstChild) ||\n firstChild.isInline()\n\n return !node.isInline() && node.canBeEmpty() !== false && isLeafElement\n}\n\nfunction findLaterSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getNextSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getNextSibling()\n }\n return null\n}\n\nfunction findFirstSiblingBlock(node: LexicalNode): LexicalNode | null {\n let current = node.getPreviousSibling()\n while (current !== null) {\n if (INTERNAL_$isBlock(current)) {\n return current\n }\n current = current.getPreviousSibling()\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/MarkdownShortcut/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAS1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lexical/plugins/MarkdownShortcut/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAS1C,CAAA"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
+ import { registerMarkdownShortcuts } from '@lexical/markdown';
4
5
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
5
6
  import * as React from 'react';
6
- import { registerMarkdownShortcuts } from '../../../packages/@lexical/markdown/MarkdownShortcuts.js';
7
7
  import { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js';
8
8
  export const MarkdownShortcutPlugin = () => {
9
9
  const $ = _c(4);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","React","registerMarkdownShortcuts","useEditorConfigContext","MarkdownShortcutPlugin","$","editorConfig","editor","t0","t1","features","markdownTransformers","useEffect"],"sources":["../../../../src/lexical/plugins/MarkdownShortcut/index.tsx"],"sourcesContent":["'use client'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport * as React from 'react'\n\nimport { registerMarkdownShortcuts } from '../../../packages/@lexical/markdown/MarkdownShortcuts.js'\nimport { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js'\n\nexport const MarkdownShortcutPlugin: React.FC = () => {\n const { editorConfig } = useEditorConfigContext()\n const [editor] = useLexicalComposerContext()\n\n React.useEffect(() => {\n return registerMarkdownShortcuts(editor, editorConfig.features.markdownTransformers ?? [])\n }, [editor, editorConfig.features.markdownTransformers])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,yBAAyB,QAAQ;AAC1C,YAAYC,KAAA,MAAW;AAEvB,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,MAAMC,sBAAA,GAAmCA,CAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAC9C;IAAAO;EAAA,IAAyBH,sBAAA;EACzB,OAAAI,MAAA,IAAiBP,yBAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAE,MAAA,IAAAF,CAAA,QAAAC,YAAA,CAAAI,QAAA,CAAAC,oBAAA;IAEDH,EAAA,GAAAA,CAAA,KACPN,yBAAA,CAA0BK,MAAA,EAAQD,YAAA,CAAAI,QAAA,CAAAC,oBAAA,MAAgD;IACxFF,EAAA,IAACF,MAAA,EAAQD,YAAA,CAAAI,QAAA,CAAAC,oBAAA;IAA2CN,CAAA,MAAAE,MAAA;IAAAF,CAAA,MAAAC,YAAA,CAAAI,QAAA,CAAAC,oBAAA;IAAAN,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAD,EAAA,GAAAH,CAAA;IAAAI,EAAA,GAAAJ,CAAA;EAAA;EAFvDJ,KAAA,CAAAW,SAAA,CAAgBJ,EAEhB,EAAGC,EAAoD;EAAA;AAAA,CAGzD","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","registerMarkdownShortcuts","useLexicalComposerContext","React","useEditorConfigContext","MarkdownShortcutPlugin","$","editorConfig","editor","t0","t1","features","markdownTransformers","useEffect"],"sources":["../../../../src/lexical/plugins/MarkdownShortcut/index.tsx"],"sourcesContent":["'use client'\n\nimport { registerMarkdownShortcuts } from '@lexical/markdown'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport * as React from 'react'\n\nimport { useEditorConfigContext } from '../../config/client/EditorConfigProvider.js'\n\nexport const MarkdownShortcutPlugin: React.FC = () => {\n const { editorConfig } = useEditorConfigContext()\n const [editor] = useLexicalComposerContext()\n\n React.useEffect(() => {\n return registerMarkdownShortcuts(editor, editorConfig.features.markdownTransformers ?? [])\n }, [editor, editorConfig.features.markdownTransformers])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,yBAAyB,QAAQ;AAC1C,YAAYC,KAAA,MAAW;AAEvB,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,MAAMC,sBAAA,GAAmCA,CAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAC9C;IAAAO;EAAA,IAAyBH,sBAAA;EACzB,OAAAI,MAAA,IAAiBN,yBAAA;EAAA,IAAAO,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAE,MAAA,IAAAF,CAAA,QAAAC,YAAA,CAAAI,QAAA,CAAAC,oBAAA;IAEDH,EAAA,GAAAA,CAAA,KACPR,yBAAA,CAA0BO,MAAA,EAAQD,YAAA,CAAAI,QAAA,CAAAC,oBAAA,MAAgD;IACxFF,EAAA,IAACF,MAAA,EAAQD,YAAA,CAAAI,QAAA,CAAAC,oBAAA;IAA2CN,CAAA,MAAAE,MAAA;IAAAF,CAAA,MAAAC,YAAA,CAAAI,QAAA,CAAAC,oBAAA;IAAAN,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAD,EAAA,GAAAH,CAAA;IAAAI,EAAA,GAAAJ,CAAA;EAAA;EAFvDH,KAAA,CAAAU,SAAA,CAAgBJ,EAEhB,EAAGC,EAAoD;EAAA;AAAA,CAGzD","ignoreList":[]}
@@ -16,11 +16,7 @@
16
16
  overflow-y: auto;
17
17
  z-index: 10;
18
18
  position: absolute;
19
- box-shadow:
20
- 0 2px 6px 0 rgba(0, 0, 0, 0.12),
21
- 0 10px 16px 0 rgba(0, 0, 0, 0.08),
22
- 0 0 0.5px 0 rgba(0, 0, 0, 0.12),
23
- 0 0 0 1px rgba(0, 0, 0, 0.04);
19
+ box-shadow: var(--elevation-400-menu-panel);
24
20
  }
25
21
 
26
22
  .slash-menu-popup__group {
@@ -6,7 +6,7 @@
6
6
  cursor: pointer;
7
7
  opacity: 0;
8
8
  position: absolute;
9
- left: 0;
9
+ inset-inline-start: 0;
10
10
  top: 0;
11
11
  will-change: transform;
12
12