@payloadcms/richtext-lexical 3.0.0-beta.133 → 3.0.0-beta.135

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 (406) hide show
  1. package/dist/exports/client/Field-KKSJXHR7.js +2 -0
  2. package/dist/exports/client/Field-KKSJXHR7.js.map +7 -0
  3. package/dist/exports/client/bundled.css +1 -1
  4. package/dist/exports/client/chunk-2CYU43GM.js +2 -0
  5. package/dist/exports/client/chunk-2CYU43GM.js.map +7 -0
  6. package/dist/exports/client/chunk-C7S3V4EB.js +2 -0
  7. package/dist/exports/client/chunk-C7S3V4EB.js.map +7 -0
  8. package/dist/exports/client/chunk-QPPOQTHD.js +2 -0
  9. package/dist/exports/client/{chunk-OOBB5GCO.js.map → chunk-QPPOQTHD.js.map} +3 -3
  10. package/dist/exports/client/chunk-U7O7EYCP.js +2 -0
  11. package/dist/exports/client/chunk-U7O7EYCP.js.map +7 -0
  12. package/dist/exports/client/component-H3EYQ5KG.js +2 -0
  13. package/dist/exports/client/{component-YICNYPTU.js.map → component-H3EYQ5KG.js.map} +1 -1
  14. package/dist/exports/client/componentInline-ZGO3K4TA.js +2 -0
  15. package/dist/exports/client/componentInline-ZGO3K4TA.js.map +7 -0
  16. package/dist/exports/client/index.d.ts +7 -0
  17. package/dist/exports/client/index.d.ts.map +1 -1
  18. package/dist/exports/client/index.js +15 -13
  19. package/dist/exports/client/index.js.map +4 -4
  20. package/dist/exports/server/ast/mdx.d.ts +7 -0
  21. package/dist/exports/server/ast/mdx.d.ts.map +1 -0
  22. package/dist/exports/server/ast/mdx.js +37 -0
  23. package/dist/exports/server/ast/mdx.js.map +1 -0
  24. package/dist/exports/shared.d.ts +4 -0
  25. package/dist/exports/shared.d.ts.map +1 -0
  26. package/dist/exports/shared.js +4 -0
  27. package/dist/exports/shared.js.map +1 -0
  28. package/dist/features/blocks/client/component/BlockContent.d.ts +34 -9
  29. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  30. package/dist/features/blocks/client/component/BlockContent.js +63 -158
  31. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  32. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts +11 -0
  33. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts.map +1 -0
  34. package/dist/features/blocks/client/component/components/BlockCollapsible.js +37 -0
  35. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -0
  36. package/dist/features/blocks/client/component/components/BlockEditButton.d.ts +3 -0
  37. package/dist/features/blocks/client/component/components/BlockEditButton.d.ts.map +1 -0
  38. package/dist/features/blocks/client/component/components/BlockEditButton.js +22 -0
  39. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -0
  40. package/dist/features/blocks/client/component/components/BlockRemoveButton.d.ts +3 -0
  41. package/dist/features/blocks/client/component/components/BlockRemoveButton.d.ts.map +1 -0
  42. package/dist/features/blocks/client/component/components/BlockRemoveButton.js +22 -0
  43. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -0
  44. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  45. package/dist/features/blocks/client/component/index.js +242 -63
  46. package/dist/features/blocks/client/component/index.js.map +1 -1
  47. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts +5 -0
  48. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -0
  49. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +28 -0
  50. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -0
  51. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.d.ts +3 -0
  52. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.d.ts.map +1 -0
  53. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +22 -0
  54. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -0
  55. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.d.ts +3 -0
  56. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.d.ts.map +1 -0
  57. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +22 -0
  58. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -0
  59. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.d.ts +3 -0
  60. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.d.ts.map +1 -0
  61. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +22 -0
  62. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -0
  63. package/dist/features/blocks/client/componentInline/index.d.ts +13 -1
  64. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  65. package/dist/features/blocks/client/componentInline/index.js +219 -43
  66. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  67. package/dist/features/blocks/client/index.d.ts +1 -5
  68. package/dist/features/blocks/client/index.d.ts.map +1 -1
  69. package/dist/features/blocks/client/index.js +138 -157
  70. package/dist/features/blocks/client/index.js.map +1 -1
  71. package/dist/features/blocks/client/markdownTransformer.d.ts +16 -0
  72. package/dist/features/blocks/client/markdownTransformer.d.ts.map +1 -0
  73. package/dist/features/blocks/client/markdownTransformer.js +144 -0
  74. package/dist/features/blocks/client/markdownTransformer.js.map +1 -0
  75. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  76. package/dist/features/blocks/client/nodes/BlocksNode.js +1 -3
  77. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  78. package/dist/features/blocks/client/plugin/commands.d.ts +0 -4
  79. package/dist/features/blocks/client/plugin/commands.d.ts.map +1 -1
  80. package/dist/features/blocks/client/plugin/commands.js +0 -1
  81. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  82. package/dist/features/blocks/client/plugin/index.d.ts +1 -2
  83. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  84. package/dist/features/blocks/client/plugin/index.js +28 -135
  85. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  86. package/dist/features/blocks/server/index.d.ts +1 -2
  87. package/dist/features/blocks/server/index.d.ts.map +1 -1
  88. package/dist/features/blocks/server/index.js +33 -10
  89. package/dist/features/blocks/server/index.js.map +1 -1
  90. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts +22 -0
  91. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts.map +1 -0
  92. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js +136 -0
  93. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js.map +1 -0
  94. package/dist/features/blocks/server/markdownTransformer.d.ts +22 -0
  95. package/dist/features/blocks/server/markdownTransformer.d.ts.map +1 -0
  96. package/dist/features/blocks/server/markdownTransformer.js +400 -0
  97. package/dist/features/blocks/server/markdownTransformer.js.map +1 -0
  98. package/dist/features/experimental_table/client/index.d.ts.map +1 -1
  99. package/dist/features/experimental_table/client/index.js +2 -0
  100. package/dist/features/experimental_table/client/index.js.map +1 -1
  101. package/dist/features/experimental_table/markdownTransformer.d.ts +5 -0
  102. package/dist/features/experimental_table/markdownTransformer.d.ts.map +1 -0
  103. package/dist/features/experimental_table/markdownTransformer.js +127 -0
  104. package/dist/features/experimental_table/markdownTransformer.js.map +1 -0
  105. package/dist/features/experimental_table/server/index.d.ts.map +1 -1
  106. package/dist/features/experimental_table/server/index.js +2 -0
  107. package/dist/features/experimental_table/server/index.js.map +1 -1
  108. package/dist/features/typesClient.d.ts +12 -19
  109. package/dist/features/typesClient.d.ts.map +1 -1
  110. package/dist/features/typesClient.js.map +1 -1
  111. package/dist/features/typesServer.d.ts +6 -2
  112. package/dist/features/typesServer.d.ts.map +1 -1
  113. package/dist/features/typesServer.js.map +1 -1
  114. package/dist/field/Field.d.ts.map +1 -1
  115. package/dist/field/Field.js +10 -21
  116. package/dist/field/Field.js.map +1 -1
  117. package/dist/field/bundled.css +1 -1
  118. package/dist/field/index.d.ts.map +1 -1
  119. package/dist/field/index.js +23 -14
  120. package/dist/field/index.js.map +1 -1
  121. package/dist/field/rscEntry.d.ts.map +1 -1
  122. package/dist/field/rscEntry.js +23 -1
  123. package/dist/field/rscEntry.js.map +1 -1
  124. package/dist/index.d.ts +4 -1
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +4 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  129. package/dist/lexical/LexicalProvider.js +9 -18
  130. package/dist/lexical/LexicalProvider.js.map +1 -1
  131. package/dist/lexical/config/client/loader.d.ts +6 -1
  132. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  133. package/dist/lexical/config/client/loader.js +6 -0
  134. package/dist/lexical/config/client/loader.js.map +1 -1
  135. package/dist/lexical/config/client/sanitize.js +15 -14
  136. package/dist/lexical/config/client/sanitize.js.map +1 -1
  137. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  138. package/dist/lexical/config/server/sanitize.js +15 -2
  139. package/dist/lexical/config/server/sanitize.js.map +1 -1
  140. package/dist/lexical/nodes/index.d.ts +4 -0
  141. package/dist/lexical/nodes/index.d.ts.map +1 -1
  142. package/dist/lexical/nodes/index.js +8 -1
  143. package/dist/lexical/nodes/index.js.map +1 -1
  144. package/dist/lexical-proxy/@lexical-headless.d.ts +2 -0
  145. package/dist/lexical-proxy/@lexical-headless.d.ts.map +1 -0
  146. package/dist/lexical-proxy/@lexical-headless.js +2 -0
  147. package/dist/lexical-proxy/@lexical-headless.js.map +1 -0
  148. package/dist/lexical-proxy/@lexical-link.d.ts +2 -0
  149. package/dist/lexical-proxy/@lexical-link.d.ts.map +1 -0
  150. package/dist/lexical-proxy/@lexical-link.js +2 -0
  151. package/dist/lexical-proxy/@lexical-link.js.map +1 -0
  152. package/dist/lexical-proxy/@lexical-list.d.ts +2 -0
  153. package/dist/lexical-proxy/@lexical-list.d.ts.map +1 -0
  154. package/dist/lexical-proxy/@lexical-list.js +2 -0
  155. package/dist/lexical-proxy/@lexical-list.js.map +1 -0
  156. package/dist/lexical-proxy/@lexical-mark.d.ts +2 -0
  157. package/dist/lexical-proxy/@lexical-mark.d.ts.map +1 -0
  158. package/dist/lexical-proxy/@lexical-mark.js +2 -0
  159. package/dist/lexical-proxy/@lexical-mark.js.map +1 -0
  160. package/dist/lexical-proxy/@lexical-markdown.d.ts +2 -0
  161. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -0
  162. package/dist/lexical-proxy/@lexical-markdown.js +2 -0
  163. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -0
  164. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.d.ts +2 -0
  165. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.d.ts.map +1 -0
  166. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +2 -0
  167. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -0
  168. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.d.ts +2 -0
  169. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.d.ts.map +1 -0
  170. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +2 -0
  171. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -0
  172. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.d.ts +2 -0
  173. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.d.ts.map +1 -0
  174. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +2 -0
  175. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -0
  176. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.d.ts +2 -0
  177. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.d.ts.map +1 -0
  178. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +2 -0
  179. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -0
  180. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.d.ts +2 -0
  181. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.d.ts.map +1 -0
  182. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +2 -0
  183. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -0
  184. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.d.ts +2 -0
  185. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.d.ts.map +1 -0
  186. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +2 -0
  187. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -0
  188. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.d.ts +2 -0
  189. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.d.ts.map +1 -0
  190. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +2 -0
  191. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -0
  192. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.d.ts +2 -0
  193. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.d.ts.map +1 -0
  194. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +2 -0
  195. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -0
  196. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.d.ts +2 -0
  197. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.d.ts.map +1 -0
  198. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +2 -0
  199. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -0
  200. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.d.ts +2 -0
  201. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.d.ts.map +1 -0
  202. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +2 -0
  203. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -0
  204. package/dist/lexical-proxy/@lexical-react/LexicalComposer.d.ts +2 -0
  205. package/dist/lexical-proxy/@lexical-react/LexicalComposer.d.ts.map +1 -0
  206. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +2 -0
  207. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -0
  208. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.d.ts +2 -0
  209. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.d.ts.map +1 -0
  210. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +2 -0
  211. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -0
  212. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.d.ts +2 -0
  213. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.d.ts.map +1 -0
  214. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +2 -0
  215. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -0
  216. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +2 -0
  217. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +1 -0
  218. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +2 -0
  219. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -0
  220. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.d.ts +2 -0
  221. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.d.ts.map +1 -0
  222. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +2 -0
  223. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -0
  224. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.d.ts +2 -0
  225. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.d.ts.map +1 -0
  226. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +2 -0
  227. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -0
  228. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.d.ts +2 -0
  229. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.d.ts.map +1 -0
  230. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +2 -0
  231. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -0
  232. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.d.ts +2 -0
  233. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.d.ts.map +1 -0
  234. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +2 -0
  235. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -0
  236. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.d.ts +2 -0
  237. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.d.ts.map +1 -0
  238. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +2 -0
  239. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -0
  240. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.d.ts +2 -0
  241. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.d.ts.map +1 -0
  242. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +2 -0
  243. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -0
  244. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.d.ts +2 -0
  245. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.d.ts.map +1 -0
  246. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +2 -0
  247. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -0
  248. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.d.ts +2 -0
  249. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.d.ts.map +1 -0
  250. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +2 -0
  251. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -0
  252. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.d.ts +2 -0
  253. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.d.ts.map +1 -0
  254. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +2 -0
  255. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -0
  256. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.d.ts +2 -0
  257. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.d.ts.map +1 -0
  258. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +2 -0
  259. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -0
  260. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.d.ts +2 -0
  261. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.d.ts.map +1 -0
  262. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +2 -0
  263. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -0
  264. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.d.ts +2 -0
  265. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.d.ts.map +1 -0
  266. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +2 -0
  267. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -0
  268. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.d.ts +2 -0
  269. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.d.ts.map +1 -0
  270. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +2 -0
  271. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -0
  272. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.d.ts +2 -0
  273. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.d.ts.map +1 -0
  274. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +2 -0
  275. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -0
  276. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.d.ts +2 -0
  277. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.d.ts.map +1 -0
  278. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +2 -0
  279. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -0
  280. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.d.ts +2 -0
  281. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.d.ts.map +1 -0
  282. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +2 -0
  283. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -0
  284. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.d.ts +2 -0
  285. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.d.ts.map +1 -0
  286. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +2 -0
  287. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -0
  288. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.d.ts +2 -0
  289. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.d.ts.map +1 -0
  290. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +2 -0
  291. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -0
  292. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.d.ts +2 -0
  293. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.d.ts.map +1 -0
  294. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.js +2 -0
  295. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.js.map +1 -0
  296. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.d.ts +2 -0
  297. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.d.ts.map +1 -0
  298. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +2 -0
  299. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -0
  300. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.d.ts +2 -0
  301. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.d.ts.map +1 -0
  302. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +2 -0
  303. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -0
  304. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.d.ts +2 -0
  305. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.d.ts.map +1 -0
  306. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +2 -0
  307. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -0
  308. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.d.ts +2 -0
  309. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.d.ts.map +1 -0
  310. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +2 -0
  311. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -0
  312. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.d.ts +2 -0
  313. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.d.ts.map +1 -0
  314. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +2 -0
  315. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -0
  316. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.d.ts +2 -0
  317. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.d.ts.map +1 -0
  318. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +2 -0
  319. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -0
  320. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.d.ts +2 -0
  321. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.d.ts.map +1 -0
  322. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +2 -0
  323. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -0
  324. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.d.ts +2 -0
  325. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.d.ts.map +1 -0
  326. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +2 -0
  327. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -0
  328. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.d.ts +2 -0
  329. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.d.ts.map +1 -0
  330. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +2 -0
  331. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -0
  332. package/dist/lexical-proxy/@lexical-rich-text.d.ts +2 -0
  333. package/dist/lexical-proxy/@lexical-rich-text.d.ts.map +1 -0
  334. package/dist/lexical-proxy/@lexical-rich-text.js +2 -0
  335. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -0
  336. package/dist/lexical-proxy/@lexical-selection.d.ts +2 -0
  337. package/dist/lexical-proxy/@lexical-selection.d.ts.map +1 -0
  338. package/dist/lexical-proxy/@lexical-selection.js +2 -0
  339. package/dist/lexical-proxy/@lexical-selection.js.map +1 -0
  340. package/dist/lexical-proxy/@lexical-utils.d.ts +2 -0
  341. package/dist/lexical-proxy/@lexical-utils.d.ts.map +1 -0
  342. package/dist/lexical-proxy/@lexical-utils.js +2 -0
  343. package/dist/lexical-proxy/@lexical-utils.js.map +1 -0
  344. package/dist/lexical-proxy/lexical.d.ts +2 -0
  345. package/dist/lexical-proxy/lexical.d.ts.map +1 -0
  346. package/dist/lexical-proxy/lexical.js +2 -0
  347. package/dist/lexical-proxy/lexical.js.map +1 -0
  348. package/dist/types.d.ts +2 -0
  349. package/dist/types.d.ts.map +1 -1
  350. package/dist/types.js.map +1 -1
  351. package/dist/utilities/buildInitialState.d.ts +27 -0
  352. package/dist/utilities/buildInitialState.d.ts.map +1 -0
  353. package/dist/utilities/buildInitialState.js +53 -0
  354. package/dist/utilities/buildInitialState.js.map +1 -0
  355. package/dist/utilities/createClientFeature.d.ts +5 -0
  356. package/dist/utilities/createClientFeature.d.ts.map +1 -1
  357. package/dist/utilities/createClientFeature.js +6 -0
  358. package/dist/utilities/createClientFeature.js.map +1 -1
  359. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  360. package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -5
  361. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  362. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
  363. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +8 -8
  364. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  365. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
  366. package/dist/utilities/initLexicalFeatures.js +3 -2
  367. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  368. package/dist/utilities/jsx/collectTopLevelJSXInLines.d.ts +52 -0
  369. package/dist/utilities/jsx/collectTopLevelJSXInLines.d.ts.map +1 -0
  370. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +79 -0
  371. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -0
  372. package/dist/utilities/jsx/extractPropsFromJSXPropsString.d.ts +12 -0
  373. package/dist/utilities/jsx/extractPropsFromJSXPropsString.d.ts.map +1 -0
  374. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +125 -0
  375. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -0
  376. package/dist/utilities/jsx/jsx.d.ts +26 -0
  377. package/dist/utilities/jsx/jsx.d.ts.map +1 -0
  378. package/dist/utilities/jsx/jsx.js +105 -0
  379. package/dist/utilities/jsx/jsx.js.map +1 -0
  380. package/dist/utilities/jsx/jsx.spec.d.ts +2 -0
  381. package/dist/utilities/jsx/jsx.spec.d.ts.map +1 -0
  382. package/dist/utilities/jsx/jsx.spec.js +142 -0
  383. package/dist/utilities/jsx/jsx.spec.js.map +1 -0
  384. package/dist/utilities/jsx/lexicalMarkdownCopy.d.ts +11 -0
  385. package/dist/utilities/jsx/lexicalMarkdownCopy.d.ts.map +1 -0
  386. package/dist/utilities/jsx/lexicalMarkdownCopy.js +61 -0
  387. package/dist/utilities/jsx/lexicalMarkdownCopy.js.map +1 -0
  388. package/package.json +284 -7
  389. package/dist/exports/client/Field-GWJ72IYP.js +0 -2
  390. package/dist/exports/client/Field-GWJ72IYP.js.map +0 -7
  391. package/dist/exports/client/chunk-D7PD5DUW.js +0 -2
  392. package/dist/exports/client/chunk-D7PD5DUW.js.map +0 -7
  393. package/dist/exports/client/chunk-OOBB5GCO.js +0 -2
  394. package/dist/exports/client/chunk-XDEGE6I5.js +0 -2
  395. package/dist/exports/client/chunk-XDEGE6I5.js.map +0 -7
  396. package/dist/exports/client/chunk-YGRKYSDC.js +0 -2
  397. package/dist/exports/client/chunk-YGRKYSDC.js.map +0 -7
  398. package/dist/exports/client/component-KLNTKKNE.js +0 -2
  399. package/dist/exports/client/component-KLNTKKNE.js.map +0 -7
  400. package/dist/exports/client/component-YICNYPTU.js +0 -2
  401. package/dist/exports/client/componentInline-6RPSMLNJ.js +0 -2
  402. package/dist/exports/client/componentInline-6RPSMLNJ.js.map +0 -7
  403. package/dist/features/blocks/client/component/FormSavePlugin.d.ts +0 -11
  404. package/dist/features/blocks/client/component/FormSavePlugin.d.ts.map +0 -1
  405. package/dist/features/blocks/client/component/FormSavePlugin.js +0 -53
  406. package/dist/features/blocks/client/component/FormSavePlugin.js.map +0 -1
@@ -0,0 +1,127 @@
1
+ import { $convertFromMarkdownString, $convertToMarkdownString } from '@lexical/markdown';
2
+ import { $createTableCellNode, $createTableNode, $createTableRowNode, $isTableCellNode, $isTableNode, $isTableRowNode, TableCellHeaderStates, TableCellNode, TableNode, TableRowNode } from '@lexical/table';
3
+ import { $isParagraphNode, $isTextNode } from 'lexical';
4
+ // Very primitive table setup
5
+ const TABLE_ROW_REG_EXP = /^\|(.+)\|\s?$/;
6
+ // eslint-disable-next-line regexp/no-unused-capturing-group
7
+ const TABLE_ROW_DIVIDER_REG_EXP = /^(\| ?:?-*:? ?)+\|\s?$/;
8
+ export const TableMarkdownTransformer = ({
9
+ allTransformers
10
+ }) => ({
11
+ type: 'element',
12
+ dependencies: [TableNode, TableRowNode, TableCellNode],
13
+ export: node => {
14
+ if (!$isTableNode(node)) {
15
+ return null;
16
+ }
17
+ const output = [];
18
+ for (const row of node.getChildren()) {
19
+ const rowOutput = [];
20
+ if (!$isTableRowNode(row)) {
21
+ continue;
22
+ }
23
+ let isHeaderRow = false;
24
+ for (const cell of row.getChildren()) {
25
+ // It's TableCellNode, so it's just to make flow happy
26
+ if ($isTableCellNode(cell)) {
27
+ rowOutput.push($convertToMarkdownString(allTransformers, cell).replace(/\n/g, '\\n'));
28
+ if (cell.__headerState === TableCellHeaderStates.ROW) {
29
+ isHeaderRow = true;
30
+ }
31
+ }
32
+ }
33
+ output.push(`| ${rowOutput.join(' | ')} |`);
34
+ if (isHeaderRow) {
35
+ output.push(`| ${rowOutput.map(_ => '---').join(' | ')} |`);
36
+ }
37
+ }
38
+ return output.join('\n');
39
+ },
40
+ regExp: TABLE_ROW_REG_EXP,
41
+ replace: (parentNode, _1, match) => {
42
+ // Header row
43
+ if (TABLE_ROW_DIVIDER_REG_EXP.test(match[0])) {
44
+ const table = parentNode.getPreviousSibling();
45
+ if (!table || !$isTableNode(table)) {
46
+ return;
47
+ }
48
+ const rows = table.getChildren();
49
+ const lastRow = rows[rows.length - 1];
50
+ if (!lastRow || !$isTableRowNode(lastRow)) {
51
+ return;
52
+ }
53
+ // Add header state to row cells
54
+ lastRow.getChildren().forEach(cell => {
55
+ if (!$isTableCellNode(cell)) {
56
+ return;
57
+ }
58
+ cell.setHeaderStyles(TableCellHeaderStates.ROW, TableCellHeaderStates.ROW);
59
+ });
60
+ // Remove line
61
+ parentNode.remove();
62
+ return;
63
+ }
64
+ const matchCells = mapToTableCells(match[0], allTransformers);
65
+ if (matchCells == null) {
66
+ return;
67
+ }
68
+ const rows = [matchCells];
69
+ let sibling = parentNode.getPreviousSibling();
70
+ let maxCells = matchCells.length;
71
+ while (sibling) {
72
+ if (!$isParagraphNode(sibling)) {
73
+ break;
74
+ }
75
+ if (sibling.getChildrenSize() !== 1) {
76
+ break;
77
+ }
78
+ const firstChild = sibling.getFirstChild();
79
+ if (!$isTextNode(firstChild)) {
80
+ break;
81
+ }
82
+ const cells = mapToTableCells(firstChild.getTextContent(), allTransformers);
83
+ if (cells == null) {
84
+ break;
85
+ }
86
+ maxCells = Math.max(maxCells, cells.length);
87
+ rows.unshift(cells);
88
+ const previousSibling = sibling.getPreviousSibling();
89
+ sibling.remove();
90
+ sibling = previousSibling;
91
+ }
92
+ const table = $createTableNode();
93
+ for (const cells of rows) {
94
+ const tableRow = $createTableRowNode();
95
+ table.append(tableRow);
96
+ for (let i = 0; i < maxCells; i++) {
97
+ tableRow.append(i < cells.length ? cells[i] : $createTableCell('', allTransformers));
98
+ }
99
+ }
100
+ const previousSibling = parentNode.getPreviousSibling();
101
+ if ($isTableNode(previousSibling) && getTableColumnsSize(previousSibling) === maxCells) {
102
+ previousSibling.append(...table.getChildren());
103
+ parentNode.remove();
104
+ } else {
105
+ parentNode.replace(table);
106
+ }
107
+ table.selectEnd();
108
+ }
109
+ });
110
+ function getTableColumnsSize(table) {
111
+ const row = table.getFirstChild();
112
+ return $isTableRowNode(row) ? row.getChildrenSize() : 0;
113
+ }
114
+ const $createTableCell = (textContent, allTransformers) => {
115
+ textContent = textContent.replace(/\\n/g, '\n');
116
+ const cell = $createTableCellNode(TableCellHeaderStates.NO_STATUS);
117
+ $convertFromMarkdownString(textContent, allTransformers, cell);
118
+ return cell;
119
+ };
120
+ const mapToTableCells = (textContent, allTransformers) => {
121
+ const match = textContent.match(TABLE_ROW_REG_EXP);
122
+ if (!match || !match[1]) {
123
+ return null;
124
+ }
125
+ return match[1].split('|').map(text => $createTableCell(text, allTransformers));
126
+ };
127
+ //# sourceMappingURL=markdownTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdownTransformer.js","names":["$convertFromMarkdownString","$convertToMarkdownString","$createTableCellNode","$createTableNode","$createTableRowNode","$isTableCellNode","$isTableNode","$isTableRowNode","TableCellHeaderStates","TableCellNode","TableNode","TableRowNode","$isParagraphNode","$isTextNode","TABLE_ROW_REG_EXP","TABLE_ROW_DIVIDER_REG_EXP","TableMarkdownTransformer","allTransformers","type","dependencies","export","node","output","row","getChildren","rowOutput","isHeaderRow","cell","push","replace","__headerState","ROW","join","map","_","regExp","parentNode","_1","match","test","table","getPreviousSibling","rows","lastRow","length","forEach","setHeaderStyles","remove","matchCells","mapToTableCells","sibling","maxCells","getChildrenSize","firstChild","getFirstChild","cells","getTextContent","Math","max","unshift","previousSibling","tableRow","append","i","$createTableCell","getTableColumnsSize","selectEnd","textContent","NO_STATUS","split","text"],"sources":["../../../src/features/experimental_table/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer, Transformer } from '@lexical/markdown'\nimport type { LexicalNode } from 'lexical'\n\nimport { $convertFromMarkdownString, $convertToMarkdownString } from '@lexical/markdown'\nimport {\n $createTableCellNode,\n $createTableNode,\n $createTableRowNode,\n $isTableCellNode,\n $isTableNode,\n $isTableRowNode,\n TableCellHeaderStates,\n TableCellNode,\n TableNode,\n TableRowNode,\n} from '@lexical/table'\nimport { $isParagraphNode, $isTextNode } from 'lexical'\n\n// Very primitive table setup\nconst TABLE_ROW_REG_EXP = /^\\|(.+)\\|\\s?$/\n// eslint-disable-next-line regexp/no-unused-capturing-group\nconst TABLE_ROW_DIVIDER_REG_EXP = /^(\\| ?:?-*:? ?)+\\|\\s?$/\n\nexport const TableMarkdownTransformer: (props: {\n allTransformers: Transformer[]\n}) => ElementTransformer = ({ allTransformers }) => ({\n type: 'element',\n dependencies: [TableNode, TableRowNode, TableCellNode],\n export: (node: LexicalNode) => {\n if (!$isTableNode(node)) {\n return null\n }\n\n const output: string[] = []\n\n for (const row of node.getChildren()) {\n const rowOutput: string[] = []\n if (!$isTableRowNode(row)) {\n continue\n }\n\n let isHeaderRow = false\n for (const cell of row.getChildren()) {\n // It's TableCellNode, so it's just to make flow happy\n if ($isTableCellNode(cell)) {\n rowOutput.push($convertToMarkdownString(allTransformers, cell).replace(/\\n/g, '\\\\n'))\n if (cell.__headerState === TableCellHeaderStates.ROW) {\n isHeaderRow = true\n }\n }\n }\n\n output.push(`| ${rowOutput.join(' | ')} |`)\n if (isHeaderRow) {\n output.push(`| ${rowOutput.map((_) => '---').join(' | ')} |`)\n }\n }\n\n return output.join('\\n')\n },\n regExp: TABLE_ROW_REG_EXP,\n replace: (parentNode, _1, match) => {\n // Header row\n if (TABLE_ROW_DIVIDER_REG_EXP.test(match[0])) {\n const table = parentNode.getPreviousSibling()\n if (!table || !$isTableNode(table)) {\n return\n }\n\n const rows = table.getChildren()\n const lastRow = rows[rows.length - 1]\n if (!lastRow || !$isTableRowNode(lastRow)) {\n return\n }\n\n // Add header state to row cells\n lastRow.getChildren().forEach((cell) => {\n if (!$isTableCellNode(cell)) {\n return\n }\n cell.setHeaderStyles(TableCellHeaderStates.ROW, TableCellHeaderStates.ROW)\n })\n\n // Remove line\n parentNode.remove()\n return\n }\n\n const matchCells = mapToTableCells(match[0], allTransformers)\n\n if (matchCells == null) {\n return\n }\n\n const rows = [matchCells]\n let sibling = parentNode.getPreviousSibling()\n let maxCells = matchCells.length\n\n while (sibling) {\n if (!$isParagraphNode(sibling)) {\n break\n }\n\n if (sibling.getChildrenSize() !== 1) {\n break\n }\n\n const firstChild = sibling.getFirstChild()\n\n if (!$isTextNode(firstChild)) {\n break\n }\n\n const cells = mapToTableCells(firstChild.getTextContent(), allTransformers)\n\n if (cells == null) {\n break\n }\n\n maxCells = Math.max(maxCells, cells.length)\n rows.unshift(cells)\n const previousSibling = sibling.getPreviousSibling()\n sibling.remove()\n sibling = previousSibling\n }\n\n const table = $createTableNode()\n\n for (const cells of rows) {\n const tableRow = $createTableRowNode()\n table.append(tableRow)\n\n for (let i = 0; i < maxCells; i++) {\n tableRow.append(i < cells.length ? cells[i] : $createTableCell('', allTransformers))\n }\n }\n\n const previousSibling = parentNode.getPreviousSibling()\n if ($isTableNode(previousSibling) && getTableColumnsSize(previousSibling) === maxCells) {\n previousSibling.append(...table.getChildren())\n parentNode.remove()\n } else {\n parentNode.replace(table)\n }\n\n table.selectEnd()\n },\n})\n\nfunction getTableColumnsSize(table: TableNode) {\n const row = table.getFirstChild()\n return $isTableRowNode(row) ? row.getChildrenSize() : 0\n}\n\nconst $createTableCell = (textContent: string, allTransformers: Transformer[]): TableCellNode => {\n textContent = textContent.replace(/\\\\n/g, '\\n')\n const cell = $createTableCellNode(TableCellHeaderStates.NO_STATUS)\n $convertFromMarkdownString(textContent, allTransformers, cell)\n return cell\n}\n\nconst mapToTableCells = (\n textContent: string,\n allTransformers: Transformer[],\n): Array<TableCellNode> | null => {\n const match = textContent.match(TABLE_ROW_REG_EXP)\n if (!match || !match[1]) {\n return null\n }\n return match[1].split('|').map((text) => $createTableCell(text, allTransformers))\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/experimental_table/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,IAAI,wBAAwB,EACnD,mBAAmB,IAAI,oBAAoB,EAC3C,sBAAsB,IAAI,uBAAuB,EAClD,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAyBrC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C;IACE,IAAI,EAAE,WAAW,CAAA;CAClB,EACD,wBAAwB,CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC;IACE,IAAI,EAAE,UAAU,CAAA;CACjB,EACD,uBAAuB,CACxB,CAAA;AACD,eAAO,MAAM,yBAAyB,+FA6IpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/experimental_table/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,IAAI,wBAAwB,EACnD,mBAAmB,IAAI,oBAAoB,EAC3C,sBAAsB,IAAI,uBAAuB,EAClD,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AA0BrC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C;IACE,IAAI,EAAE,WAAW,CAAA;CAClB,EACD,wBAAwB,CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC;IACE,IAAI,EAAE,UAAU,CAAA;CACjB,EACD,uBAAuB,CACxB,CAAA;AACD,eAAO,MAAM,yBAAyB,+FA8IpC,CAAA"}
@@ -3,6 +3,7 @@ import { sanitizeFields } from 'payload';
3
3
  import { createServerFeature } from '../../../utilities/createServerFeature.js';
4
4
  import { convertLexicalNodesToHTML } from '../../converters/html/converter/index.js';
5
5
  import { createNode } from '../../typeUtilities.js';
6
+ import { TableMarkdownTransformer } from '../markdownTransformer.js';
6
7
  const fields = [{
7
8
  name: 'rows',
8
9
  type: 'number',
@@ -37,6 +38,7 @@ export const EXPERIMENTAL_TableFeature = createServerFeature({
37
38
  });
38
39
  return schemaMap;
39
40
  },
41
+ markdownTransformers: [TableMarkdownTransformer],
40
42
  nodes: [createNode({
41
43
  converters: {
42
44
  html: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TableCellNode","TableNode","TableRowNode","sanitizeFields","createServerFeature","convertLexicalNodesToHTML","createNode","fields","name","type","defaultValue","required","EXPERIMENTAL_TableFeature","feature","config","isRoot","parentIsLocalized","validRelationships","collections","map","c","slug","sanitizedFields","requireFieldLevelRichTextEditor","ClientFeature","generateSchemaMap","schemaMap","Map","set","nodes","converters","html","converter","currentDepth","depth","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","nodeTypes","getType","tagName","headerState","headerStateClass","backgroundColor","colSpan","rowSpan","key"],"sources":["../../../../src/features/experimental_table/server/index.ts"],"sourcesContent":["import type {\n SerializedTableCellNode as _SerializedTableCellNode,\n SerializedTableNode as _SerializedTableNode,\n SerializedTableRowNode as _SerializedTableRowNode,\n} from '@lexical/table'\nimport type { Spread } from 'lexical'\nimport type { Config, Field, FieldSchemaMap } from 'payload'\n\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\nimport { sanitizeFields } from 'payload'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../../converters/html/converter/index.js'\nimport { createNode } from '../../typeUtilities.js'\n\nconst fields: Field[] = [\n {\n name: 'rows',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n {\n name: 'columns',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n]\n\nexport type SerializedTableCellNode = Spread<\n {\n type: 'tablecell'\n },\n _SerializedTableCellNode\n>\n\nexport type SerializedTableNode = Spread<\n {\n type: 'table'\n },\n _SerializedTableNode\n>\n\nexport type SerializedTableRowNode = Spread<\n {\n type: 'tablerow'\n },\n _SerializedTableRowNode\n>\nexport const EXPERIMENTAL_TableFeature = createServerFeature({\n feature: async ({ config, isRoot, parentIsLocalized }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n const sanitizedFields = await sanitizeFields({\n config: config as unknown as Config,\n fields,\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#TableFeatureClient',\n generateSchemaMap: () => {\n const schemaMap: FieldSchemaMap = new Map()\n\n schemaMap.set('fields', {\n fields: sanitizedFields,\n })\n\n return schemaMap\n },\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n return `<table class=\"lexical-table\" style=\"border-collapse: collapse;\">${childrenText}</table>`\n },\n nodeTypes: [TableNode.getType()],\n },\n },\n node: TableNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n\n const tagName = node.headerState > 0 ? 'th' : 'td'\n const headerStateClass = `lexical-table-cell-header-${node.headerState}`\n const backgroundColor = node.backgroundColor\n ? `background-color: ${node.backgroundColor};`\n : ''\n const colSpan = node.colSpan && node.colSpan > 1 ? `colspan=\"${node.colSpan}\"` : ''\n const rowSpan = node.rowSpan && node.rowSpan > 1 ? `rowspan=\"${node.rowSpan}\"` : ''\n\n return `<${tagName} class=\"lexical-table-cell ${headerStateClass}\" style=\"border: 1px solid #ccc; padding: 8px; ${backgroundColor}\" ${colSpan} ${rowSpan}>${childrenText}</${tagName}>`\n },\n nodeTypes: [TableCellNode.getType()],\n },\n },\n node: TableCellNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n return `<tr class=\"lexical-table-row\">${childrenText}</tr>`\n },\n nodeTypes: [TableRowNode.getType()],\n },\n },\n node: TableRowNode,\n }),\n ],\n }\n },\n key: 'experimental_table',\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["TableCellNode","TableNode","TableRowNode","sanitizeFields","createServerFeature","convertLexicalNodesToHTML","createNode","TableMarkdownTransformer","fields","name","type","defaultValue","required","EXPERIMENTAL_TableFeature","feature","config","isRoot","parentIsLocalized","validRelationships","collections","map","c","slug","sanitizedFields","requireFieldLevelRichTextEditor","ClientFeature","generateSchemaMap","schemaMap","Map","set","markdownTransformers","nodes","converters","html","converter","currentDepth","depth","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","nodeTypes","getType","tagName","headerState","headerStateClass","backgroundColor","colSpan","rowSpan","key"],"sources":["../../../../src/features/experimental_table/server/index.ts"],"sourcesContent":["import type {\n SerializedTableCellNode as _SerializedTableCellNode,\n SerializedTableNode as _SerializedTableNode,\n SerializedTableRowNode as _SerializedTableRowNode,\n} from '@lexical/table'\nimport type { Spread } from 'lexical'\nimport type { Config, Field, FieldSchemaMap } from 'payload'\n\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\nimport { sanitizeFields } from 'payload'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../../converters/html/converter/index.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { TableMarkdownTransformer } from '../markdownTransformer.js'\n\nconst fields: Field[] = [\n {\n name: 'rows',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n {\n name: 'columns',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n]\n\nexport type SerializedTableCellNode = Spread<\n {\n type: 'tablecell'\n },\n _SerializedTableCellNode\n>\n\nexport type SerializedTableNode = Spread<\n {\n type: 'table'\n },\n _SerializedTableNode\n>\n\nexport type SerializedTableRowNode = Spread<\n {\n type: 'tablerow'\n },\n _SerializedTableRowNode\n>\nexport const EXPERIMENTAL_TableFeature = createServerFeature({\n feature: async ({ config, isRoot, parentIsLocalized }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n const sanitizedFields = await sanitizeFields({\n config: config as unknown as Config,\n fields,\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#TableFeatureClient',\n generateSchemaMap: () => {\n const schemaMap: FieldSchemaMap = new Map()\n\n schemaMap.set('fields', {\n fields: sanitizedFields,\n })\n\n return schemaMap\n },\n markdownTransformers: [TableMarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n return `<table class=\"lexical-table\" style=\"border-collapse: collapse;\">${childrenText}</table>`\n },\n nodeTypes: [TableNode.getType()],\n },\n },\n node: TableNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n\n const tagName = node.headerState > 0 ? 'th' : 'td'\n const headerStateClass = `lexical-table-cell-header-${node.headerState}`\n const backgroundColor = node.backgroundColor\n ? `background-color: ${node.backgroundColor};`\n : ''\n const colSpan = node.colSpan && node.colSpan > 1 ? `colspan=\"${node.colSpan}\"` : ''\n const rowSpan = node.rowSpan && node.rowSpan > 1 ? `rowspan=\"${node.rowSpan}\"` : ''\n\n return `<${tagName} class=\"lexical-table-cell ${headerStateClass}\" style=\"border: 1px solid #ccc; padding: 8px; ${backgroundColor}\" ${colSpan} ${rowSpan}>${childrenText}</${tagName}>`\n },\n nodeTypes: [TableCellNode.getType()],\n },\n },\n node: TableCellNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n return `<tr class=\"lexical-table-row\">${childrenText}</tr>`\n },\n nodeTypes: [TableRowNode.getType()],\n },\n },\n node: TableRowNode,\n }),\n ],\n }\n },\n key: 'experimental_table',\n})\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,10 @@
1
1
  import type { Transformer } from '@lexical/markdown';
2
- import type { Klass, LexicalEditor, LexicalNode, LexicalNodeReplacement, SerializedEditorState } from 'lexical';
2
+ import type { Klass, LexicalEditor, LexicalNode, LexicalNodeReplacement } from 'lexical';
3
+ import type { RichTextFieldClient } from 'payload';
3
4
  import type React from 'react';
4
5
  import type { ClientEditorConfig } from '../lexical/config/types.js';
5
6
  import type { SlashMenuGroup } from '../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js';
7
+ import type { FeatureClientSchemaMap } from '../types.js';
6
8
  import type { ToolbarGroup } from './toolbars/types.js';
7
9
  export type FeatureProviderProviderClient<UnSanitizedClientFeatureProps = undefined, ClientFeatureProps = UnSanitizedClientFeatureProps> = (props: BaseClientFeatureProps<ClientFeatureProps>) => FeatureProviderClient<ClientFeatureProps>;
8
10
  /**
@@ -14,9 +16,12 @@ export type FeatureProviderClient<UnSanitizedClientFeatureProps = undefined, Cli
14
16
  */
15
17
  clientFeatureProps: BaseClientFeatureProps<UnSanitizedClientFeatureProps>;
16
18
  feature: ((props: {
19
+ featureClientSchemaMap: FeatureClientSchemaMap;
17
20
  /** unSanitizedEditorConfig.features, but mapped */
18
21
  featureProviderMap: ClientFeatureProviderMap;
22
+ field?: RichTextFieldClient;
19
23
  resolvedFeatures: ResolvedClientFeatureMap;
24
+ schemaPath: string;
20
25
  unSanitizedEditorConfig: ClientEditorConfig;
21
26
  }) => ClientFeature<ClientFeatureProps>) | ClientFeature<ClientFeatureProps>;
22
27
  };
@@ -28,15 +33,10 @@ export type PluginComponentWithAnchor<ClientFeatureProps = any> = React.FC<{
28
33
  clientProps: ClientFeatureProps;
29
34
  }>;
30
35
  export type ClientFeature<ClientFeatureProps> = {
31
- hooks?: {
32
- load?: ({ incomingEditorState, }: {
33
- incomingEditorState: SerializedEditorState;
34
- }) => SerializedEditorState;
35
- save?: ({ incomingEditorState, }: {
36
- incomingEditorState: SerializedEditorState;
37
- }) => SerializedEditorState;
38
- };
39
- markdownTransformers?: Transformer[];
36
+ markdownTransformers?: (((props: {
37
+ allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>;
38
+ allTransformers: Transformer[];
39
+ }) => Transformer) | Transformer)[];
40
40
  nodes?: Array<Klass<LexicalNode> | LexicalNodeReplacement>;
41
41
  /**
42
42
  * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more "outside" functionality
@@ -152,14 +152,7 @@ export type SanitizedPlugin = {
152
152
  export type SanitizedClientFeatures = {
153
153
  /** The keys of all enabled features */
154
154
  enabledFeatures: string[];
155
- hooks: {
156
- load: Array<({ incomingEditorState, }: {
157
- incomingEditorState: SerializedEditorState;
158
- }) => SerializedEditorState>;
159
- save: Array<({ incomingEditorState, }: {
160
- incomingEditorState: SerializedEditorState;
161
- }) => SerializedEditorState>;
162
- };
155
+ markdownTransformers: Transformer[];
163
156
  /**
164
157
  * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more "outside" functionality
165
158
  */
@@ -181,5 +174,5 @@ export type SanitizedClientFeatures = {
181
174
  */
182
175
  groups: SlashMenuGroup[];
183
176
  };
184
- } & Required<Pick<ResolvedClientFeature<unknown>, 'markdownTransformers' | 'nodes' | 'providers' | 'toolbarFixed' | 'toolbarInline'>>;
177
+ } & Required<Pick<ResolvedClientFeature<unknown>, 'nodes' | 'providers' | 'toolbarFixed' | 'toolbarInline'>>;
185
178
  //# sourceMappingURL=typesClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typesClient.d.ts","sourceRoot":"","sources":["../../src/features/typesClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typesClient.d.ts","sourceRoot":"","sources":["../../src/features/typesClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typesClient.js","names":[],"sources":["../../src/features/typesClient.ts"],"sourcesContent":["import type { Transformer } from '@lexical/markdown'\nimport type {\n Klass,\n LexicalEditor,\n LexicalNode,\n LexicalNodeReplacement,\n SerializedEditorState,\n} from 'lexical'\nimport type React from 'react'\n\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\nimport type { SlashMenuGroup } from '../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { ToolbarGroup } from './toolbars/types.js'\n\nexport type FeatureProviderProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = (props: BaseClientFeatureProps<ClientFeatureProps>) => FeatureProviderClient<ClientFeatureProps>\n\n/**\n * No dependencies => Features need to be sorted on the server first, then sent to client in right order\n */\nexport type FeatureProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = {\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n clientFeatureProps: BaseClientFeatureProps<UnSanitizedClientFeatureProps>\n feature:\n | ((props: {\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedClientFeatureMap\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ClientEditorConfig\n }) => ClientFeature<ClientFeatureProps>)\n | ClientFeature<ClientFeatureProps>\n}\n\nexport type PluginComponent<ClientFeatureProps = any> = React.FC<{\n clientProps: ClientFeatureProps\n}>\nexport type PluginComponentWithAnchor<ClientFeatureProps = any> = React.FC<{\n anchorElem: HTMLElement\n clientProps: ClientFeatureProps\n}>\n\nexport type ClientFeature<ClientFeatureProps> = {\n hooks?: {\n load?: ({\n incomingEditorState,\n }: {\n incomingEditorState: SerializedEditorState\n }) => SerializedEditorState\n save?: ({\n incomingEditorState,\n }: {\n incomingEditorState: SerializedEditorState\n }) => SerializedEditorState\n }\n markdownTransformers?: Transformer[]\n nodes?: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'aboveContainer' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor<ClientFeatureProps>\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n Component: PluginComponent<ClientFeatureProps>\n position: 'belowContainer' // Determines at which position the Component will be added.\n }\n >\n /**\n * Client Features can register their own providers, which will be nested below the EditorConfigProvider\n */\n providers?: Array<React.FC>\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n sanitizedClientFeatureProps?: BaseClientFeatureProps<ClientFeatureProps>\n slashMenu?: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups?: ({\n editor,\n queryString,\n }: {\n editor: LexicalEditor\n queryString: string\n }) => SlashMenuGroup[]\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups?: SlashMenuGroup[]\n }\n /**\n * An opt-in, classic fixed toolbar which stays at the top of the editor\n */\n toolbarFixed?: {\n groups: ToolbarGroup[]\n }\n /**\n * The default, floating toolbar which appears when you select text.\n */\n toolbarInline?: {\n /**\n * Array of toolbar groups / sections. Each section can contain multiple toolbar items.\n */\n groups: ToolbarGroup[]\n }\n}\n\nexport type BaseClientFeatureProps<ClientFeatureProps> = ClientFeatureProps extends undefined\n ? {\n featureKey: string\n order: number\n }\n : {\n featureKey: string\n order: number\n } & ClientFeatureProps\n\nexport type ResolvedClientFeature<ClientFeatureProps> = {\n key: string\n order: number\n} & ClientFeature<ClientFeatureProps>\n\nexport type ResolvedClientFeatureMap = Map<string, ResolvedClientFeature<any>>\n\nexport type ClientFeatureProviderMap = Map<string, FeatureProviderClient<any, any>>\n\n/**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\nexport type SanitizedPlugin =\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor\n desktopOnly?: boolean\n key: string\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'aboveContainer'\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'belowContainer'\n }\n\nexport type SanitizedClientFeatures = {\n /** The keys of all enabled features */\n enabledFeatures: string[]\n hooks: {\n load: Array<\n ({\n incomingEditorState,\n }: {\n incomingEditorState: SerializedEditorState\n }) => SerializedEditorState\n >\n save: Array<\n ({\n incomingEditorState,\n }: {\n incomingEditorState: SerializedEditorState\n }) => SerializedEditorState\n >\n }\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<SanitizedPlugin>\n slashMenu: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups: Array<\n ({ editor, queryString }: { editor: LexicalEditor; queryString: string }) => SlashMenuGroup[]\n >\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups: SlashMenuGroup[]\n }\n} & Required<\n Pick<\n ResolvedClientFeature<unknown>,\n 'markdownTransformers' | 'nodes' | 'providers' | 'toolbarFixed' | 'toolbarInline'\n >\n>\n"],"mappings":"AAiNA","ignoreList":[]}
1
+ {"version":3,"file":"typesClient.js","names":[],"sources":["../../src/features/typesClient.ts"],"sourcesContent":["import type { Transformer } from '@lexical/markdown'\nimport type { Klass, LexicalEditor, LexicalNode, LexicalNodeReplacement } from 'lexical'\nimport type { RichTextFieldClient } from 'payload'\nimport type React from 'react'\n\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\nimport type { SlashMenuGroup } from '../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { FeatureClientSchemaMap } from '../types.js'\nimport type { ToolbarGroup } from './toolbars/types.js'\n\nexport type FeatureProviderProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = (props: BaseClientFeatureProps<ClientFeatureProps>) => FeatureProviderClient<ClientFeatureProps>\n\n/**\n * No dependencies => Features need to be sorted on the server first, then sent to client in right order\n */\nexport type FeatureProviderClient<\n UnSanitizedClientFeatureProps = undefined,\n ClientFeatureProps = UnSanitizedClientFeatureProps,\n> = {\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n clientFeatureProps: BaseClientFeatureProps<UnSanitizedClientFeatureProps>\n feature:\n | ((props: {\n featureClientSchemaMap: FeatureClientSchemaMap\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n field?: RichTextFieldClient\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedClientFeatureMap\n schemaPath: string\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ClientEditorConfig\n }) => ClientFeature<ClientFeatureProps>)\n | ClientFeature<ClientFeatureProps>\n}\n\nexport type PluginComponent<ClientFeatureProps = any> = React.FC<{\n clientProps: ClientFeatureProps\n}>\nexport type PluginComponentWithAnchor<ClientFeatureProps = any> = React.FC<{\n anchorElem: HTMLElement\n clientProps: ClientFeatureProps\n}>\n\nexport type ClientFeature<ClientFeatureProps> = {\n markdownTransformers?: (\n | ((props: {\n allNodes: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n allTransformers: Transformer[]\n }) => Transformer)\n | Transformer\n )[]\n nodes?: Array<Klass<LexicalNode> | LexicalNodeReplacement>\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'aboveContainer' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent<ClientFeatureProps>\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor<ClientFeatureProps>\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n Component: PluginComponent<ClientFeatureProps>\n position: 'belowContainer' // Determines at which position the Component will be added.\n }\n >\n /**\n * Client Features can register their own providers, which will be nested below the EditorConfigProvider\n */\n providers?: Array<React.FC>\n /**\n * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to\n */\n sanitizedClientFeatureProps?: BaseClientFeatureProps<ClientFeatureProps>\n slashMenu?: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups?: ({\n editor,\n queryString,\n }: {\n editor: LexicalEditor\n queryString: string\n }) => SlashMenuGroup[]\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups?: SlashMenuGroup[]\n }\n /**\n * An opt-in, classic fixed toolbar which stays at the top of the editor\n */\n toolbarFixed?: {\n groups: ToolbarGroup[]\n }\n /**\n * The default, floating toolbar which appears when you select text.\n */\n toolbarInline?: {\n /**\n * Array of toolbar groups / sections. Each section can contain multiple toolbar items.\n */\n groups: ToolbarGroup[]\n }\n}\n\nexport type BaseClientFeatureProps<ClientFeatureProps> = ClientFeatureProps extends undefined\n ? {\n featureKey: string\n order: number\n }\n : {\n featureKey: string\n order: number\n } & ClientFeatureProps\n\nexport type ResolvedClientFeature<ClientFeatureProps> = {\n key: string\n order: number\n} & ClientFeature<ClientFeatureProps>\n\nexport type ResolvedClientFeatureMap = Map<string, ResolvedClientFeature<any>>\n\nexport type ClientFeatureProviderMap = Map<string, FeatureProviderClient<any, any>>\n\n/**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\nexport type SanitizedPlugin =\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'bottom' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'normal' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponent\n key: string\n position: 'top' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n // plugins are anything which is not directly part of the editor. Like, creating a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n Component: PluginComponentWithAnchor\n desktopOnly?: boolean\n key: string\n position: 'floatingAnchorElem' // Determines at which position the Component will be added.\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'aboveContainer'\n }\n | {\n clientProps: any\n Component: PluginComponent\n key: string\n position: 'belowContainer'\n }\n\nexport type SanitizedClientFeatures = {\n /** The keys of all enabled features */\n enabledFeatures: string[]\n markdownTransformers: Transformer[]\n\n /**\n * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more \"outside\" functionality\n */\n plugins?: Array<SanitizedPlugin>\n slashMenu: {\n /**\n * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).\n * Thus, to re-calculate the available groups, this function will be called every time you type after the /.\n *\n * The groups provided by dynamicGroups will be merged with the static groups provided by the groups property.\n */\n dynamicGroups: Array<\n ({ editor, queryString }: { editor: LexicalEditor; queryString: string }) => SlashMenuGroup[]\n >\n /**\n * Static array of groups together with the items in them. These will always be present.\n * While typing after the /, they will be filtered by the query string and the keywords, key and display name of the items.\n */\n groups: SlashMenuGroup[]\n }\n} & Required<\n Pick<ResolvedClientFeature<unknown>, 'nodes' | 'providers' | 'toolbarFixed' | 'toolbarInline'>\n>\n"],"mappings":"AA0MA","ignoreList":[]}
@@ -253,7 +253,10 @@ export type ServerFeature<ServerProps, ClientFeatureProps> = {
253
253
  * In order to access these translations, you would use `i18n.t('lexical:horizontalRule:label')`.
254
254
  */
255
255
  i18n?: Partial<GenericLanguages>;
256
- markdownTransformers?: Transformer[];
256
+ markdownTransformers?: (((props: {
257
+ allNodes: Array<NodeWithHooks>;
258
+ allTransformers: Transformer[];
259
+ }) => Transformer) | Transformer)[];
257
260
  nodes?: Array<NodeWithHooks>;
258
261
  /** Props which were passed into your feature will have to be passed here. This will allow them to be used / read in other places of the code, e.g. wherever you can use useEditorConfigContext */
259
262
  sanitizedServerFeatureProps?: ServerProps;
@@ -299,6 +302,7 @@ export type SanitizedServerFeatures = {
299
302
  }) => JsonObject>;
300
303
  graphQLPopulationPromises: Map<string, Array<PopulationPromise>>;
301
304
  hooks: RichTextHooks;
305
+ markdownTransformers: Transformer[];
302
306
  nodeHooks?: {
303
307
  afterChange?: Map<string, Array<AfterChangeNodeHook<SerializedLexicalNode>>>;
304
308
  afterRead?: Map<string, Array<AfterReadNodeHook<SerializedLexicalNode>>>;
@@ -307,5 +311,5 @@ export type SanitizedServerFeatures = {
307
311
  }; /** The node types mapped to their populationPromises */
308
312
  /** The node types mapped to their validations */
309
313
  validations: Map<string, Array<NodeValidation>>;
310
- } & Required<Pick<ResolvedServerFeature<any, any>, 'i18n' | 'markdownTransformers' | 'nodes'>>;
314
+ } & Required<Pick<ResolvedServerFeature<any, any>, 'i18n' | 'nodes'>>;
311
315
  //# sourceMappingURL=typesServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typesServer.d.ts","sourceRoot":"","sources":["../../src/features/typesServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typesServer.d.ts","sourceRoot":"","sources":["../../src/features/typesServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typesServer.js","names":[],"sources":["../../src/features/typesServer.ts"],"sourcesContent":["import type { Transformer } from '@lexical/markdown'\nimport type { GenericLanguages, I18nClient } from '@payloadcms/translations'\nimport type { JSONSchema4 } from 'json-schema'\nimport type {\n Klass,\n LexicalNode,\n LexicalNodeReplacement,\n SerializedEditorState,\n SerializedLexicalNode,\n} from 'lexical'\nimport type {\n Config,\n Field,\n FieldSchemaMap,\n JsonObject,\n Payload,\n PayloadComponent,\n PayloadRequest,\n PopulateType,\n ReplaceAny,\n RequestContext,\n RichTextField,\n RichTextHooks,\n SanitizedConfig,\n ValidateOptions,\n ValidationFieldError,\n} from 'payload'\n\nimport type { ServerEditorConfig } from '../lexical/config/types.js'\nimport type { AdapterProps } from '../types.js'\nimport type { HTMLConverter } from './converters/html/converter/types.js'\nimport type { BaseClientFeatureProps } from './typesClient.js'\n\nexport type PopulationPromise<T extends SerializedLexicalNode = SerializedLexicalNode> = ({\n context,\n currentDepth,\n depth,\n draft,\n editorPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: {\n context: RequestContext\n currentDepth: number\n depth: number\n draft: boolean\n /**\n * This maps all population promises to the node type\n */\n editorPopulationPromises: Map<string, Array<PopulationPromise>>\n field: RichTextField<SerializedEditorState, AdapterProps>\n /**\n * fieldPromises are used for things like field hooks. They will be awaited before awaiting populationPromises\n */\n fieldPromises: Promise<void>[]\n findMany: boolean\n flattenLocales: boolean\n node: T\n overrideAccess: boolean\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n siblingDoc: JsonObject\n}) => void\n\nexport type NodeValidation<T extends SerializedLexicalNode = SerializedLexicalNode> = ({\n node,\n nodeValidations,\n validation,\n}: {\n node: T\n nodeValidations: Map<string, Array<NodeValidation>>\n validation: {\n options: ValidateOptions<unknown, unknown, RichTextField, SerializedEditorState>\n value: SerializedEditorState\n }\n}) => Promise<string | true> | string | true\n\nexport type FeatureProviderProviderServer<\n UnSanitizedServerFeatureProps = undefined,\n ServerFeatureProps = UnSanitizedServerFeatureProps,\n ClientFeatureProps = undefined,\n> = (\n props?: UnSanitizedServerFeatureProps,\n) => FeatureProviderServer<UnSanitizedServerFeatureProps, ServerFeatureProps, ClientFeatureProps>\n\nexport type FeatureProviderServer<\n UnSanitizedServerFeatureProps = undefined,\n ServerFeatureProps = UnSanitizedServerFeatureProps,\n ClientFeatureProps = undefined,\n> = {\n /** Keys of dependencies needed for this feature. These dependencies do not have to be loaded first, but they have to exist, otherwise an error will be thrown. */\n dependencies?: string[]\n /** Keys of priority dependencies needed for this feature. These dependencies have to be loaded first AND have to exist, otherwise an error will be thrown. They will be available in the `feature` property. */\n dependenciesPriority?: string[]\n /** Keys of soft-dependencies needed for this feature. These are optional. Payload will attempt to load them before this feature, but doesn't throw an error if that's not possible. */\n dependenciesSoft?: string[]\n\n /**\n * This is being called during the payload sanitization process\n */\n feature:\n | ((props: {\n config: SanitizedConfig\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ServerFeatureProviderMap\n isRoot?: boolean\n parentIsLocalized: boolean\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedServerFeatureMap\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ServerEditorConfig\n }) =>\n | Promise<ServerFeature<ServerFeatureProps, ClientFeatureProps>>\n | ServerFeature<ServerFeatureProps, ClientFeatureProps>)\n | ServerFeature<ServerFeatureProps, ClientFeatureProps>\n key: string\n /** Props which were passed into your feature will have to be passed here. This will allow them to be used / read in other places of the code, e.g. wherever you can use useEditorConfigContext */\n serverFeatureProps: UnSanitizedServerFeatureProps\n}\n\nexport type AfterReadNodeHookArgs<T extends SerializedLexicalNode> = {\n /**\n * Only available in `afterRead` hooks.\n */\n currentDepth: number\n /**\n * Only available in `afterRead` hooks.\n */\n depth: number\n draft: boolean\n fallbackLocale: string\n /**\n * Only available in `afterRead` field hooks.\n */\n fieldPromises: Promise<void>[]\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany: boolean\n flattenLocales: boolean\n /**\n * The requested locale.\n */\n locale: string\n overrideAccess: boolean\n /**\n * Only available in `afterRead` hooks.\n */\n populateArg?: PopulateType\n /**\n * Only available in `afterRead` field hooks.\n */\n populationPromises: Promise<void>[]\n /**\n * Only available in `afterRead` hooks.\n */\n showHiddenFields: boolean\n /**\n * Only available in `afterRead` hooks.\n */\n triggerAccessControl: boolean\n /**\n * Only available in `afterRead` hooks.\n */\n triggerHooks: boolean\n}\n\nexport type AfterChangeNodeHookArgs<T extends SerializedLexicalNode> = {\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation: 'create' | 'delete' | 'read' | 'update'\n /** The value of the node before any changes. Not available in afterRead hooks */\n originalNode: T\n}\nexport type BeforeValidateNodeHookArgs<T extends SerializedLexicalNode> = {\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation: 'create' | 'delete' | 'read' | 'update'\n /** The value of the node before any changes. Not available in afterRead hooks */\n originalNode: T\n overrideAccess: boolean\n}\n\nexport type BeforeChangeNodeHookArgs<T extends SerializedLexicalNode> = {\n /**\n * Only available in `beforeChange` hooks.\n */\n errors: ValidationFieldError[]\n mergeLocaleActions: (() => Promise<void>)[]\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation: 'create' | 'delete' | 'read' | 'update'\n /** The value of the node before any changes. Not available in afterRead hooks */\n originalNode: T\n /**\n * The original node with locales (not modified by any hooks).\n */\n originalNodeWithLocales?: T\n skipValidation: boolean\n}\n\nexport type BaseNodeHookArgs<T extends SerializedLexicalNode> = {\n context: RequestContext\n /** The value of the node. */\n node: T\n parentRichTextFieldPath: (number | string)[]\n parentRichTextFieldSchemaPath: string[]\n /** The payload request object. It is mocked for Local API operations. */\n req: PayloadRequest\n}\n\nexport type AfterReadNodeHook<T extends SerializedLexicalNode> = (\n args: AfterReadNodeHookArgs<T> & BaseNodeHookArgs<T>,\n) => Promise<T> | T\n\nexport type AfterChangeNodeHook<T extends SerializedLexicalNode> = (\n args: AfterChangeNodeHookArgs<T> & BaseNodeHookArgs<T>,\n) => Promise<T> | T\n\nexport type BeforeChangeNodeHook<T extends SerializedLexicalNode> = (\n args: BaseNodeHookArgs<T> & BeforeChangeNodeHookArgs<T>,\n) => Promise<T> | T\n\nexport type BeforeValidateNodeHook<T extends SerializedLexicalNode> = (\n args: BaseNodeHookArgs<T> & BeforeValidateNodeHookArgs<T>,\n) => Promise<T> | T\n\n// Define the node with hooks that use the node's exportJSON return type\nexport type NodeWithHooks<T extends LexicalNode = any> = {\n /**\n * Allows you to define how a node can be serialized into different formats. Currently, only supports html.\n * Markdown converters are defined in `markdownTransformers` and not here.\n */\n converters?: {\n html?: HTMLConverter<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>\n }\n /**\n * If a node includes sub-fields (e.g. block and link nodes), passing those subFields here will make payload\n * automatically populate, run hooks, and generate component import maps for them\n */\n getSubFields?: (args: {\n /**\n * Optional. If not provided, all possible sub-fields should be returned.\n */\n node?: ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>\n req?: PayloadRequest\n }) => Field[] | null\n /**\n * If a node includes sub-fields, the sub-fields data needs to be returned here, alongside `getSubFields` which returns their schema.\n */\n getSubFieldsData?: (args: {\n node: ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>\n req: PayloadRequest\n }) => JsonObject\n /**\n * Allows you to run population logic when a node's data was requested from graphQL.\n * While `getSubFields` and `getSubFieldsData` automatically handle populating sub-fields (since they run hooks on them), those are only populated in the Rest API.\n * This is because the Rest API hooks do not have access to the 'depth' property provided by graphQL.\n * In order for them to be populated correctly in graphQL, the population logic needs to be provided here.\n */\n graphQLPopulationPromises?: Array<\n PopulationPromise<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>\n >\n /**\n * Just like payload fields, you can provide hooks which are run for this specific node. These are called Node Hooks.\n */\n hooks?: {\n afterChange?: Array<AfterChangeNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n afterRead?: Array<AfterReadNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n beforeChange?: Array<BeforeChangeNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n beforeValidate?: Array<\n BeforeValidateNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>\n >\n }\n /**\n * The actual lexical node needs to be provided here. This also supports [lexical node replacements](https://lexical.dev/docs/concepts/node-replacement).\n */\n node: Klass<T> | LexicalNodeReplacement\n /**\n * This allows you to provide node validations, which are run when your document is being validated, alongside other payload fields.\n * You can use it to throw a validation error for a specific node in case its data is incorrect.\n */\n validations?: Array<NodeValidation<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n}\n\nexport type ServerFeature<ServerProps, ClientFeatureProps> = {\n ClientFeature?: PayloadComponent<never, BaseClientFeatureProps<ClientFeatureProps>>\n /**\n * This determines what props will be available on the Client.\n */\n clientFeatureProps?: ClientFeatureProps\n // @ts-expect-error - TODO: fix this\n componentImports?: Config['admin']['importMap']['generators'][0] | PayloadComponent[]\n generatedTypes?: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n isRequired,\n }: {\n collectionIDFieldTypes: { [key: string]: 'number' | 'string' }\n config?: SanitizedConfig\n /**\n * Current schema which will be modified by this function.\n */\n currentSchema: JSONSchema4\n field: RichTextField<SerializedEditorState, AdapterProps>\n /**\n * Allows you to define new top-level interfaces that can be re-used in the output schema.\n */\n interfaceNameDefinitions: Map<string, JSONSchema4>\n isRequired: boolean\n }) => JSONSchema4\n }\n generateSchemaMap?: (args: {\n config: SanitizedConfig\n field: RichTextField\n i18n: I18nClient\n props: ServerProps\n schemaMap: FieldSchemaMap\n schemaPath: string\n }) => FieldSchemaMap | null\n hooks?: RichTextHooks\n /**\n * Here you can provide i18n translations for your feature. These will only be available on the server and client.\n *\n * Translations here are automatically scoped to `lexical.featureKey.yourKey`\n *\n * @Example\n * ```ts\n * i18n: {\n * en: {\n * label: 'Horizontal Rule',\n * },\n * de: {\n * label: 'Trennlinie',\n * },\n * }\n * ```\n * In order to access these translations, you would use `i18n.t('lexical:horizontalRule:label')`.\n */\n i18n?: Partial<GenericLanguages>\n markdownTransformers?: Transformer[]\n nodes?: Array<NodeWithHooks>\n\n /** Props which were passed into your feature will have to be passed here. This will allow them to be used / read in other places of the code, e.g. wherever you can use useEditorConfigContext */\n sanitizedServerFeatureProps?: ServerProps\n}\n\nexport type ResolvedServerFeature<ServerProps, ClientFeatureProps> = {\n order: number\n} & Required<\n Pick<\n FeatureProviderServer<ServerProps, ClientFeatureProps>,\n 'dependencies' | 'dependenciesPriority' | 'dependenciesSoft' | 'key'\n >\n> &\n ServerFeature<ServerProps, ClientFeatureProps>\n\nexport type ResolvedServerFeatureMap = Map<string, ResolvedServerFeature<any, any>>\n\nexport type ServerFeatureProviderMap = Map<string, FeatureProviderServer<any, any, any>>\n\nexport type SanitizedServerFeatures = {\n /** The node types mapped to their converters */\n converters: {\n html: HTMLConverter[]\n }\n /** The keys of all enabled features */\n enabledFeatures: string[]\n generatedTypes: {\n modifyOutputSchemas: Array<\n ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n isRequired,\n }: {\n collectionIDFieldTypes: { [key: string]: 'number' | 'string' }\n config?: SanitizedConfig\n /**\n * Current schema which will be modified by this function.\n */\n currentSchema: JSONSchema4\n field: RichTextField<SerializedEditorState, AdapterProps>\n /**\n * Allows you to define new top-level interfaces that can be re-used in the output schema.\n */\n interfaceNameDefinitions: Map<string, JSONSchema4>\n isRequired: boolean\n }) => JSONSchema4\n >\n }\n /** The node types mapped to their hooks */\n\n getSubFields?: Map<\n string,\n (args: { node: SerializedLexicalNode; req: PayloadRequest }) => Field[] | null\n >\n getSubFieldsData?: Map<\n string,\n (args: { node: SerializedLexicalNode; req: PayloadRequest }) => JsonObject\n >\n graphQLPopulationPromises: Map<string, Array<PopulationPromise>>\n hooks: RichTextHooks\n nodeHooks?: {\n afterChange?: Map<string, Array<AfterChangeNodeHook<SerializedLexicalNode>>>\n afterRead?: Map<string, Array<AfterReadNodeHook<SerializedLexicalNode>>>\n beforeChange?: Map<string, Array<BeforeChangeNodeHook<SerializedLexicalNode>>>\n beforeValidate?: Map<string, Array<BeforeValidateNodeHook<SerializedLexicalNode>>>\n } /** The node types mapped to their populationPromises */\n /** The node types mapped to their validations */\n validations: Map<string, Array<NodeValidation>>\n} & Required<Pick<ResolvedServerFeature<any, any>, 'i18n' | 'markdownTransformers' | 'nodes'>>\n"],"mappings":"AAiXA","ignoreList":[]}
1
+ {"version":3,"file":"typesServer.js","names":[],"sources":["../../src/features/typesServer.ts"],"sourcesContent":["import type { Transformer } from '@lexical/markdown'\nimport type { GenericLanguages, I18nClient } from '@payloadcms/translations'\nimport type { JSONSchema4 } from 'json-schema'\nimport type {\n Klass,\n LexicalNode,\n LexicalNodeReplacement,\n SerializedEditorState,\n SerializedLexicalNode,\n} from 'lexical'\nimport type {\n Config,\n Field,\n FieldSchemaMap,\n JsonObject,\n Payload,\n PayloadComponent,\n PayloadRequest,\n PopulateType,\n ReplaceAny,\n RequestContext,\n RichTextField,\n RichTextHooks,\n SanitizedConfig,\n ValidateOptions,\n ValidationFieldError,\n} from 'payload'\n\nimport type { ServerEditorConfig } from '../lexical/config/types.js'\nimport type { AdapterProps } from '../types.js'\nimport type { HTMLConverter } from './converters/html/converter/types.js'\nimport type { BaseClientFeatureProps } from './typesClient.js'\n\nexport type PopulationPromise<T extends SerializedLexicalNode = SerializedLexicalNode> = ({\n context,\n currentDepth,\n depth,\n draft,\n editorPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: {\n context: RequestContext\n currentDepth: number\n depth: number\n draft: boolean\n /**\n * This maps all population promises to the node type\n */\n editorPopulationPromises: Map<string, Array<PopulationPromise>>\n field: RichTextField<SerializedEditorState, AdapterProps>\n /**\n * fieldPromises are used for things like field hooks. They will be awaited before awaiting populationPromises\n */\n fieldPromises: Promise<void>[]\n findMany: boolean\n flattenLocales: boolean\n node: T\n overrideAccess: boolean\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n siblingDoc: JsonObject\n}) => void\n\nexport type NodeValidation<T extends SerializedLexicalNode = SerializedLexicalNode> = ({\n node,\n nodeValidations,\n validation,\n}: {\n node: T\n nodeValidations: Map<string, Array<NodeValidation>>\n validation: {\n options: ValidateOptions<unknown, unknown, RichTextField, SerializedEditorState>\n value: SerializedEditorState\n }\n}) => Promise<string | true> | string | true\n\nexport type FeatureProviderProviderServer<\n UnSanitizedServerFeatureProps = undefined,\n ServerFeatureProps = UnSanitizedServerFeatureProps,\n ClientFeatureProps = undefined,\n> = (\n props?: UnSanitizedServerFeatureProps,\n) => FeatureProviderServer<UnSanitizedServerFeatureProps, ServerFeatureProps, ClientFeatureProps>\n\nexport type FeatureProviderServer<\n UnSanitizedServerFeatureProps = undefined,\n ServerFeatureProps = UnSanitizedServerFeatureProps,\n ClientFeatureProps = undefined,\n> = {\n /** Keys of dependencies needed for this feature. These dependencies do not have to be loaded first, but they have to exist, otherwise an error will be thrown. */\n dependencies?: string[]\n /** Keys of priority dependencies needed for this feature. These dependencies have to be loaded first AND have to exist, otherwise an error will be thrown. They will be available in the `feature` property. */\n dependenciesPriority?: string[]\n /** Keys of soft-dependencies needed for this feature. These are optional. Payload will attempt to load them before this feature, but doesn't throw an error if that's not possible. */\n dependenciesSoft?: string[]\n\n /**\n * This is being called during the payload sanitization process\n */\n feature:\n | ((props: {\n config: SanitizedConfig\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ServerFeatureProviderMap\n isRoot?: boolean\n parentIsLocalized: boolean\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedServerFeatureMap\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ServerEditorConfig\n }) =>\n | Promise<ServerFeature<ServerFeatureProps, ClientFeatureProps>>\n | ServerFeature<ServerFeatureProps, ClientFeatureProps>)\n | ServerFeature<ServerFeatureProps, ClientFeatureProps>\n key: string\n /** Props which were passed into your feature will have to be passed here. This will allow them to be used / read in other places of the code, e.g. wherever you can use useEditorConfigContext */\n serverFeatureProps: UnSanitizedServerFeatureProps\n}\n\nexport type AfterReadNodeHookArgs<T extends SerializedLexicalNode> = {\n /**\n * Only available in `afterRead` hooks.\n */\n currentDepth: number\n /**\n * Only available in `afterRead` hooks.\n */\n depth: number\n draft: boolean\n fallbackLocale: string\n /**\n * Only available in `afterRead` field hooks.\n */\n fieldPromises: Promise<void>[]\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany: boolean\n flattenLocales: boolean\n /**\n * The requested locale.\n */\n locale: string\n overrideAccess: boolean\n /**\n * Only available in `afterRead` hooks.\n */\n populateArg?: PopulateType\n /**\n * Only available in `afterRead` field hooks.\n */\n populationPromises: Promise<void>[]\n /**\n * Only available in `afterRead` hooks.\n */\n showHiddenFields: boolean\n /**\n * Only available in `afterRead` hooks.\n */\n triggerAccessControl: boolean\n /**\n * Only available in `afterRead` hooks.\n */\n triggerHooks: boolean\n}\n\nexport type AfterChangeNodeHookArgs<T extends SerializedLexicalNode> = {\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation: 'create' | 'delete' | 'read' | 'update'\n /** The value of the node before any changes. Not available in afterRead hooks */\n originalNode: T\n}\nexport type BeforeValidateNodeHookArgs<T extends SerializedLexicalNode> = {\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation: 'create' | 'delete' | 'read' | 'update'\n /** The value of the node before any changes. Not available in afterRead hooks */\n originalNode: T\n overrideAccess: boolean\n}\n\nexport type BeforeChangeNodeHookArgs<T extends SerializedLexicalNode> = {\n /**\n * Only available in `beforeChange` hooks.\n */\n errors: ValidationFieldError[]\n mergeLocaleActions: (() => Promise<void>)[]\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation: 'create' | 'delete' | 'read' | 'update'\n /** The value of the node before any changes. Not available in afterRead hooks */\n originalNode: T\n /**\n * The original node with locales (not modified by any hooks).\n */\n originalNodeWithLocales?: T\n skipValidation: boolean\n}\n\nexport type BaseNodeHookArgs<T extends SerializedLexicalNode> = {\n context: RequestContext\n /** The value of the node. */\n node: T\n parentRichTextFieldPath: (number | string)[]\n parentRichTextFieldSchemaPath: string[]\n /** The payload request object. It is mocked for Local API operations. */\n req: PayloadRequest\n}\n\nexport type AfterReadNodeHook<T extends SerializedLexicalNode> = (\n args: AfterReadNodeHookArgs<T> & BaseNodeHookArgs<T>,\n) => Promise<T> | T\n\nexport type AfterChangeNodeHook<T extends SerializedLexicalNode> = (\n args: AfterChangeNodeHookArgs<T> & BaseNodeHookArgs<T>,\n) => Promise<T> | T\n\nexport type BeforeChangeNodeHook<T extends SerializedLexicalNode> = (\n args: BaseNodeHookArgs<T> & BeforeChangeNodeHookArgs<T>,\n) => Promise<T> | T\n\nexport type BeforeValidateNodeHook<T extends SerializedLexicalNode> = (\n args: BaseNodeHookArgs<T> & BeforeValidateNodeHookArgs<T>,\n) => Promise<T> | T\n\n// Define the node with hooks that use the node's exportJSON return type\nexport type NodeWithHooks<T extends LexicalNode = any> = {\n /**\n * Allows you to define how a node can be serialized into different formats. Currently, only supports html.\n * Markdown converters are defined in `markdownTransformers` and not here.\n */\n converters?: {\n html?: HTMLConverter<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>\n }\n /**\n * If a node includes sub-fields (e.g. block and link nodes), passing those subFields here will make payload\n * automatically populate, run hooks, and generate component import maps for them\n */\n getSubFields?: (args: {\n /**\n * Optional. If not provided, all possible sub-fields should be returned.\n */\n node?: ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>\n req?: PayloadRequest\n }) => Field[] | null\n /**\n * If a node includes sub-fields, the sub-fields data needs to be returned here, alongside `getSubFields` which returns their schema.\n */\n getSubFieldsData?: (args: {\n node: ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>\n req: PayloadRequest\n }) => JsonObject\n /**\n * Allows you to run population logic when a node's data was requested from graphQL.\n * While `getSubFields` and `getSubFieldsData` automatically handle populating sub-fields (since they run hooks on them), those are only populated in the Rest API.\n * This is because the Rest API hooks do not have access to the 'depth' property provided by graphQL.\n * In order for them to be populated correctly in graphQL, the population logic needs to be provided here.\n */\n graphQLPopulationPromises?: Array<\n PopulationPromise<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>\n >\n /**\n * Just like payload fields, you can provide hooks which are run for this specific node. These are called Node Hooks.\n */\n hooks?: {\n afterChange?: Array<AfterChangeNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n afterRead?: Array<AfterReadNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n beforeChange?: Array<BeforeChangeNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n beforeValidate?: Array<\n BeforeValidateNodeHook<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>\n >\n }\n /**\n * The actual lexical node needs to be provided here. This also supports [lexical node replacements](https://lexical.dev/docs/concepts/node-replacement).\n */\n node: Klass<T> | LexicalNodeReplacement\n /**\n * This allows you to provide node validations, which are run when your document is being validated, alongside other payload fields.\n * You can use it to throw a validation error for a specific node in case its data is incorrect.\n */\n validations?: Array<NodeValidation<ReturnType<ReplaceAny<T, LexicalNode>['exportJSON']>>>\n}\n\nexport type ServerFeature<ServerProps, ClientFeatureProps> = {\n ClientFeature?: PayloadComponent<never, BaseClientFeatureProps<ClientFeatureProps>>\n /**\n * This determines what props will be available on the Client.\n */\n clientFeatureProps?: ClientFeatureProps\n // @ts-expect-error - TODO: fix this\n componentImports?: Config['admin']['importMap']['generators'][0] | PayloadComponent[]\n generatedTypes?: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n isRequired,\n }: {\n collectionIDFieldTypes: { [key: string]: 'number' | 'string' }\n config?: SanitizedConfig\n /**\n * Current schema which will be modified by this function.\n */\n currentSchema: JSONSchema4\n field: RichTextField<SerializedEditorState, AdapterProps>\n /**\n * Allows you to define new top-level interfaces that can be re-used in the output schema.\n */\n interfaceNameDefinitions: Map<string, JSONSchema4>\n isRequired: boolean\n }) => JSONSchema4\n }\n generateSchemaMap?: (args: {\n config: SanitizedConfig\n field: RichTextField\n i18n: I18nClient\n props: ServerProps\n schemaMap: FieldSchemaMap\n schemaPath: string\n }) => FieldSchemaMap | null\n hooks?: RichTextHooks\n /**\n * Here you can provide i18n translations for your feature. These will only be available on the server and client.\n *\n * Translations here are automatically scoped to `lexical.featureKey.yourKey`\n *\n * @Example\n * ```ts\n * i18n: {\n * en: {\n * label: 'Horizontal Rule',\n * },\n * de: {\n * label: 'Trennlinie',\n * },\n * }\n * ```\n * In order to access these translations, you would use `i18n.t('lexical:horizontalRule:label')`.\n */\n i18n?: Partial<GenericLanguages>\n markdownTransformers?: (\n | ((props: { allNodes: Array<NodeWithHooks>; allTransformers: Transformer[] }) => Transformer)\n | Transformer\n )[]\n nodes?: Array<NodeWithHooks>\n\n /** Props which were passed into your feature will have to be passed here. This will allow them to be used / read in other places of the code, e.g. wherever you can use useEditorConfigContext */\n sanitizedServerFeatureProps?: ServerProps\n}\n\nexport type ResolvedServerFeature<ServerProps, ClientFeatureProps> = {\n order: number\n} & Required<\n Pick<\n FeatureProviderServer<ServerProps, ClientFeatureProps>,\n 'dependencies' | 'dependenciesPriority' | 'dependenciesSoft' | 'key'\n >\n> &\n ServerFeature<ServerProps, ClientFeatureProps>\n\nexport type ResolvedServerFeatureMap = Map<string, ResolvedServerFeature<any, any>>\n\nexport type ServerFeatureProviderMap = Map<string, FeatureProviderServer<any, any, any>>\n\nexport type SanitizedServerFeatures = {\n /** The node types mapped to their converters */\n converters: {\n html: HTMLConverter[]\n }\n /** The keys of all enabled features */\n enabledFeatures: string[]\n generatedTypes: {\n modifyOutputSchemas: Array<\n ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n isRequired,\n }: {\n collectionIDFieldTypes: { [key: string]: 'number' | 'string' }\n config?: SanitizedConfig\n /**\n * Current schema which will be modified by this function.\n */\n currentSchema: JSONSchema4\n field: RichTextField<SerializedEditorState, AdapterProps>\n /**\n * Allows you to define new top-level interfaces that can be re-used in the output schema.\n */\n interfaceNameDefinitions: Map<string, JSONSchema4>\n isRequired: boolean\n }) => JSONSchema4\n >\n }\n /** The node types mapped to their hooks */\n\n getSubFields?: Map<\n string,\n (args: { node: SerializedLexicalNode; req: PayloadRequest }) => Field[] | null\n >\n getSubFieldsData?: Map<\n string,\n (args: { node: SerializedLexicalNode; req: PayloadRequest }) => JsonObject\n >\n graphQLPopulationPromises: Map<string, Array<PopulationPromise>>\n hooks: RichTextHooks\n markdownTransformers: Transformer[]\n nodeHooks?: {\n afterChange?: Map<string, Array<AfterChangeNodeHook<SerializedLexicalNode>>>\n afterRead?: Map<string, Array<AfterReadNodeHook<SerializedLexicalNode>>>\n beforeChange?: Map<string, Array<BeforeChangeNodeHook<SerializedLexicalNode>>>\n beforeValidate?: Map<string, Array<BeforeValidateNodeHook<SerializedLexicalNode>>>\n } /** The node types mapped to their populationPromises */\n /** The node types mapped to their validations */\n validations: Map<string, Array<NodeValidation>>\n} & Required<Pick<ResolvedServerFeature<any, any>, 'i18n' | 'nodes'>>\n"],"mappings":"AAoXA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/field/Field.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG5D,OAAO,eAAe,CAAA;AACtB,OAAO,cAAc,CAAA;AACrB,OAAO,mCAAmC,CAAA;AAI1C,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAC/B;IACE,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAA;CACnD,GAAG,yBAAyB,CAsG9B,CAAA;AAaD,eAAO,MAAM,QAAQ,EAAE,OAAO,iBAAoD,CAAA"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/field/Field.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG5D,OAAO,eAAe,CAAA;AACtB,OAAO,cAAc,CAAA;AACrB,OAAO,mCAAmC,CAAA;AAI1C,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAC/B;IACE,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAA;CACnD,GAAG,yBAAyB,CA8F9B,CAAA;AAaD,eAAO,MAAM,QAAQ,EAAE,OAAO,iBAAoD,CAAA"}
@@ -2,7 +2,8 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { FieldLabel, useEditDepth, useField, withCondition } from '@payloadcms/ui';
5
- import React, { useCallback } from 'react';
5
+ import { mergeFieldStyles } from '@payloadcms/ui/shared';
6
+ import React, { useCallback, useMemo } from 'react';
6
7
  import { ErrorBoundary } from 'react-error-boundary';
7
8
  import { LexicalProvider } from '../lexical/LexicalProvider.js';
8
9
  import './bundled.css';
@@ -10,13 +11,12 @@ const baseClass = 'rich-text-lexical';
10
11
  const RichTextComponent = props => {
11
12
  const {
12
13
  editorConfig,
14
+ field,
13
15
  field: {
14
16
  name,
15
17
  admin: {
16
18
  className,
17
- readOnly: readOnlyFromAdmin,
18
- style,
19
- width
19
+ readOnly: readOnlyFromAdmin
20
20
  } = {},
21
21
  label,
22
22
  localized,
@@ -33,7 +33,6 @@ const RichTextComponent = props => {
33
33
  if (typeof validate === 'function') {
34
34
  return validate(value, {
35
35
  ...validationOptions,
36
- props,
37
36
  required
38
37
  });
39
38
  }
@@ -64,12 +63,13 @@ const RichTextComponent = props => {
64
63
  const disabled = readOnlyFromProps || formProcessing || formInitializing;
65
64
  const classes = [baseClass, 'field-type', className, showError && 'error', disabled && `${baseClass}--read-only`, editorConfig?.admin?.hideGutter !== true ? `${baseClass}--show-gutter` : null].filter(Boolean).join(' ');
66
65
  const pathWithEditDepth = `${path}.${editDepth}`;
66
+ const handleChange = useCallback(editorState => {
67
+ setValue(editorState.toJSON());
68
+ }, [setValue]);
69
+ const styles = useMemo(() => mergeFieldStyles(field), [field]);
67
70
  return /*#__PURE__*/_jsxs("div", {
68
71
  className: classes,
69
- style: {
70
- ...style,
71
- width
72
- },
72
+ style: styles,
73
73
  children: [Error, Label || /*#__PURE__*/_jsx(FieldLabel, {
74
74
  label: label,
75
75
  localized: localized,
@@ -83,18 +83,7 @@ const RichTextComponent = props => {
83
83
  composerKey: pathWithEditDepth,
84
84
  editorConfig: editorConfig,
85
85
  fieldProps: props,
86
- onChange: editorState => {
87
- let serializedEditorState = editorState.toJSON();
88
- // Transform state through save hooks
89
- if (editorConfig?.features?.hooks?.save?.length) {
90
- editorConfig.features.hooks.save.forEach(hook => {
91
- serializedEditorState = hook({
92
- incomingEditorState: serializedEditorState
93
- });
94
- });
95
- }
96
- setValue(serializedEditorState);
97
- },
86
+ onChange: handleChange,
98
87
  readOnly: disabled,
99
88
  value: value_0
100
89
  }, JSON.stringify({