@payloadcms/richtext-lexical 3.81.0-canary.3 → 3.81.0-internal-debug.1a0f4d0

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 (1053) hide show
  1. package/dist/cell/rscEntry.js +74 -72
  2. package/dist/cell/rscEntry.js.map +1 -1
  3. package/dist/dependencyChecker.spec.js +8 -7
  4. package/dist/dependencyChecker.spec.js.map +1 -1
  5. package/dist/exports/client/index.js +85 -65
  6. package/dist/exports/client/index.js.map +1 -7
  7. package/dist/exports/cssEntry.js +1 -0
  8. package/dist/exports/cssEntry.js.map +1 -1
  9. package/dist/exports/html/index.js +1 -0
  10. package/dist/exports/html/index.js.map +1 -1
  11. package/dist/exports/html-async/index.js +1 -0
  12. package/dist/exports/html-async/index.js.map +1 -1
  13. package/dist/exports/plaintext/index.js +1 -0
  14. package/dist/exports/plaintext/index.js.map +1 -1
  15. package/dist/exports/react/index.js +1 -0
  16. package/dist/exports/react/index.js.map +1 -1
  17. package/dist/exports/server/ast/mdx.js +36 -34
  18. package/dist/exports/server/ast/mdx.js.map +1 -1
  19. package/dist/exports/server/migrate.js +1 -0
  20. package/dist/exports/server/migrate.js.map +1 -1
  21. package/dist/exports/server/rsc.js +1 -0
  22. package/dist/exports/server/rsc.js.map +1 -1
  23. package/dist/exports/shared.js +1 -0
  24. package/dist/exports/shared.js.map +1 -1
  25. package/dist/features/align/client/index.js +168 -195
  26. package/dist/features/align/client/index.js.map +1 -1
  27. package/dist/features/align/client/toolbarAlignGroup.js +9 -9
  28. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -1
  29. package/dist/features/align/server/i18n.js +223 -222
  30. package/dist/features/align/server/i18n.js.map +1 -1
  31. package/dist/features/align/server/index.js +6 -5
  32. package/dist/features/align/server/index.js.map +1 -1
  33. package/dist/features/blockquote/client/index.js +65 -60
  34. package/dist/features/blockquote/client/index.js.map +1 -1
  35. package/dist/features/blockquote/markdownTransformer.js +33 -28
  36. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  37. package/dist/features/blockquote/server/i18n.js +112 -111
  38. package/dist/features/blockquote/server/i18n.js.map +1 -1
  39. package/dist/features/blockquote/server/index.js +47 -48
  40. package/dist/features/blockquote/server/index.js.map +1 -1
  41. package/dist/features/blocks/client/component/BlockContent.js +95 -69
  42. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  43. package/dist/features/blocks/client/component/components/BlockCollapsible.js +13 -14
  44. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  45. package/dist/features/blocks/client/component/components/BlockEditButton.js +9 -17
  46. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -1
  47. package/dist/features/blocks/client/component/components/BlockRemoveButton.js +9 -17
  48. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -1
  49. package/dist/features/blocks/client/component/index.js +561 -418
  50. package/dist/features/blocks/client/component/index.js.map +1 -1
  51. package/dist/features/blocks/client/component/index.scss +188 -0
  52. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +8 -11
  53. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +1 -1
  54. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +11 -23
  55. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  56. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +9 -17
  57. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -1
  58. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +9 -17
  59. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -1
  60. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +9 -17
  61. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -1
  62. package/dist/features/blocks/client/componentInline/index.js +474 -346
  63. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  64. package/dist/features/blocks/client/componentInline/index.scss +100 -0
  65. package/dist/features/blocks/client/getBlockImageComponent.js +34 -34
  66. package/dist/features/blocks/client/getBlockImageComponent.js.map +1 -1
  67. package/dist/features/blocks/client/index.js +141 -146
  68. package/dist/features/blocks/client/index.js.map +1 -1
  69. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +18 -18
  70. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  71. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +14 -15
  72. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  73. package/dist/features/blocks/client/markdown/markdownTransformer.js +328 -330
  74. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  75. package/dist/features/blocks/client/nodes/BlocksNode.js +44 -40
  76. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  77. package/dist/features/blocks/client/nodes/InlineBlocksNode.js +37 -33
  78. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  79. package/dist/features/blocks/client/plugin/commands.js +1 -1
  80. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  81. package/dist/features/blocks/client/plugin/index.js +59 -87
  82. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  83. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +158 -101
  84. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  85. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +119 -93
  86. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -1
  87. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +19 -11
  88. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -1
  89. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.scss +6 -0
  90. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +32 -20
  91. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -1
  92. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.scss +29 -0
  93. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js +84 -83
  94. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js.map +1 -1
  95. package/dist/features/blocks/premade/CodeBlock/Component/index.scss +97 -0
  96. package/dist/features/blocks/premade/CodeBlock/converter.js +36 -40
  97. package/dist/features/blocks/premade/CodeBlock/converter.js.map +1 -1
  98. package/dist/features/blocks/premade/CodeBlock/converterClient.js +1 -1
  99. package/dist/features/blocks/premade/CodeBlock/converterClient.js.map +1 -1
  100. package/dist/features/blocks/premade/CodeBlock/index.js +49 -49
  101. package/dist/features/blocks/premade/CodeBlock/index.js.map +1 -1
  102. package/dist/features/blocks/server/graphQLPopulationPromise.js +29 -44
  103. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  104. package/dist/features/blocks/server/i18n.js +334 -333
  105. package/dist/features/blocks/server/i18n.js.map +1 -1
  106. package/dist/features/blocks/server/index.js +238 -218
  107. package/dist/features/blocks/server/index.js.map +1 -1
  108. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js +123 -122
  109. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js.map +1 -1
  110. package/dist/features/blocks/server/markdown/markdownTransformer.js +347 -349
  111. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  112. package/dist/features/blocks/server/nodes/BlocksNode.js +86 -90
  113. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  114. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +84 -87
  115. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  116. package/dist/features/blocks/server/validate.js +42 -55
  117. package/dist/features/blocks/server/validate.js.map +1 -1
  118. package/dist/features/converters/htmlToLexical/index.js +21 -24
  119. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  120. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js +7 -10
  121. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -1
  122. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +16 -12
  123. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  124. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js +2 -1
  125. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -1
  126. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js +2 -1
  127. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -1
  128. package/dist/features/converters/lexicalToHtml/async/converters/link.js +31 -40
  129. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  130. package/dist/features/converters/lexicalToHtml/async/converters/list.js +29 -30
  131. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  132. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js +9 -12
  133. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -1
  134. package/dist/features/converters/lexicalToHtml/async/converters/tab.js +2 -1
  135. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -1
  136. package/dist/features/converters/lexicalToHtml/async/converters/table.js +27 -38
  137. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -1
  138. package/dist/features/converters/lexicalToHtml/async/converters/text.js +25 -26
  139. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -1
  140. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +41 -44
  141. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  142. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js +12 -11
  143. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  144. package/dist/features/converters/lexicalToHtml/async/field/index.js +56 -56
  145. package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -1
  146. package/dist/features/converters/lexicalToHtml/async/index.js +87 -97
  147. package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -1
  148. package/dist/features/converters/lexicalToHtml/async/types.js +4 -1
  149. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  150. package/dist/features/converters/lexicalToHtml/shared/cssColors.js +159 -6
  151. package/dist/features/converters/lexicalToHtml/shared/cssColors.js.map +1 -1
  152. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +57 -62
  153. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  154. package/dist/features/converters/lexicalToHtml/shared/types.js +2 -1
  155. package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -1
  156. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js +7 -10
  157. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  158. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +16 -12
  159. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  160. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js +2 -1
  161. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  162. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js +2 -1
  163. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  164. package/dist/features/converters/lexicalToHtml/sync/converters/link.js +30 -38
  165. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  166. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +29 -30
  167. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  168. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js +9 -12
  169. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  170. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js +2 -1
  171. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  172. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +27 -38
  173. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  174. package/dist/features/converters/lexicalToHtml/sync/converters/text.js +25 -26
  175. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  176. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +35 -37
  177. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  178. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js +12 -11
  179. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -1
  180. package/dist/features/converters/lexicalToHtml/sync/index.js +84 -92
  181. package/dist/features/converters/lexicalToHtml/sync/index.js.map +1 -1
  182. package/dist/features/converters/lexicalToHtml/sync/types.js +4 -1
  183. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  184. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js +7 -4
  185. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +1 -1
  186. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js +29 -34
  187. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +1 -1
  188. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js +7 -6
  189. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +1 -1
  190. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js +29 -28
  191. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +1 -1
  192. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js +7 -2
  193. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +1 -1
  194. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js +84 -84
  195. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +1 -1
  196. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js +6 -1
  197. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +1 -1
  198. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js +107 -107
  199. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +1 -1
  200. package/dist/features/converters/lexicalToHtml_deprecated/index.js +4 -4
  201. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +1 -1
  202. package/dist/features/converters/lexicalToJSX/Component/index.js +46 -36
  203. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  204. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js +14 -12
  205. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -1
  206. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +15 -13
  207. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  208. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js +7 -2
  209. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -1
  210. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js +7 -2
  211. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -1
  212. package/dist/features/converters/lexicalToJSX/converter/converters/link.js +49 -47
  213. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -1
  214. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +78 -56
  215. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  216. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js +26 -16
  217. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -1
  218. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js +2 -1
  219. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -1
  220. package/dist/features/converters/lexicalToJSX/converter/converters/table.js +73 -59
  221. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -1
  222. package/dist/features/converters/lexicalToJSX/converter/converters/text.js +74 -47
  223. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -1
  224. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +77 -61
  225. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  226. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js +12 -11
  227. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  228. package/dist/features/converters/lexicalToJSX/converter/index.js +123 -128
  229. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  230. package/dist/features/converters/lexicalToJSX/converter/types.js +4 -1
  231. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  232. package/dist/features/converters/lexicalToMarkdown/index.js +17 -19
  233. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  234. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +223 -146
  235. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  236. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +11 -13
  237. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  238. package/dist/features/converters/lexicalToPlaintext/shared/types.js +2 -1
  239. package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -1
  240. package/dist/features/converters/lexicalToPlaintext/sync/index.js +83 -82
  241. package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -1
  242. package/dist/features/converters/lexicalToPlaintext/sync/types.js +3 -1
  243. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  244. package/dist/features/converters/markdownToLexical/index.js +14 -16
  245. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  246. package/dist/features/converters/utilities/payloadPopulateFn.js +37 -38
  247. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  248. package/dist/features/converters/utilities/restPopulateFn.js +24 -30
  249. package/dist/features/converters/utilities/restPopulateFn.js.map +1 -1
  250. package/dist/features/debug/jsxConverter/client/index.js +7 -5
  251. package/dist/features/debug/jsxConverter/client/index.js.map +1 -1
  252. package/dist/features/debug/jsxConverter/client/plugin/index.js +27 -47
  253. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  254. package/dist/features/debug/jsxConverter/client/plugin/style.scss +12 -0
  255. package/dist/features/debug/jsxConverter/server/index.js +5 -4
  256. package/dist/features/debug/jsxConverter/server/index.js.map +1 -1
  257. package/dist/features/debug/testRecorder/client/index.js +7 -5
  258. package/dist/features/debug/testRecorder/client/index.js.map +1 -1
  259. package/dist/features/debug/testRecorder/client/plugin/index.js +456 -365
  260. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  261. package/dist/features/debug/testRecorder/client/plugin/index.scss +53 -0
  262. package/dist/features/debug/testRecorder/server/index.js +5 -4
  263. package/dist/features/debug/testRecorder/server/index.js.map +1 -1
  264. package/dist/features/debug/treeView/client/index.js +7 -5
  265. package/dist/features/debug/treeView/client/index.js.map +1 -1
  266. package/dist/features/debug/treeView/client/plugin/index.js +18 -23
  267. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  268. package/dist/features/debug/treeView/client/plugin/index.scss +80 -0
  269. package/dist/features/debug/treeView/server/index.js +5 -4
  270. package/dist/features/debug/treeView/server/index.js.map +1 -1
  271. package/dist/features/experimental_table/client/index.js +61 -42
  272. package/dist/features/experimental_table/client/index.js.map +1 -1
  273. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +752 -517
  274. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  275. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.scss +87 -0
  276. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +350 -316
  277. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  278. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss +11 -0
  279. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +215 -225
  280. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  281. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +104 -133
  282. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  283. package/dist/features/experimental_table/client/plugins/TablePlugin/index.scss +233 -0
  284. package/dist/features/experimental_table/client/utils/debounce.js +89 -107
  285. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  286. package/dist/features/experimental_table/client/utils/useDebounce.js +21 -39
  287. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  288. package/dist/features/experimental_table/markdownTransformer.js +123 -118
  289. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  290. package/dist/features/experimental_table/server/index.js +125 -143
  291. package/dist/features/experimental_table/server/index.js.map +1 -1
  292. package/dist/features/format/bold/feature.client.js +38 -35
  293. package/dist/features/format/bold/feature.client.js.map +1 -1
  294. package/dist/features/format/bold/feature.server.js +18 -14
  295. package/dist/features/format/bold/feature.server.js.map +1 -1
  296. package/dist/features/format/bold/markdownTransformers.js +25 -14
  297. package/dist/features/format/bold/markdownTransformers.js.map +1 -1
  298. package/dist/features/format/inlineCode/feature.client.js +31 -27
  299. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  300. package/dist/features/format/inlineCode/feature.server.js +8 -5
  301. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  302. package/dist/features/format/inlineCode/markdownTransformers.js +6 -3
  303. package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
  304. package/dist/features/format/italic/feature.client.js +32 -27
  305. package/dist/features/format/italic/feature.client.js.map +1 -1
  306. package/dist/features/format/italic/feature.server.js +9 -5
  307. package/dist/features/format/italic/feature.server.js.map +1 -1
  308. package/dist/features/format/italic/markdownTransformers.js +12 -7
  309. package/dist/features/format/italic/markdownTransformers.js.map +1 -1
  310. package/dist/features/format/shared/toolbarFormatGroup.js +8 -8
  311. package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
  312. package/dist/features/format/strikethrough/feature.client.js +31 -27
  313. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  314. package/dist/features/format/strikethrough/feature.server.js +8 -5
  315. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  316. package/dist/features/format/strikethrough/markdownTransformers.js +6 -3
  317. package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
  318. package/dist/features/format/subscript/feature.client.js +28 -26
  319. package/dist/features/format/subscript/feature.client.js.map +1 -1
  320. package/dist/features/format/subscript/feature.server.js +5 -4
  321. package/dist/features/format/subscript/feature.server.js.map +1 -1
  322. package/dist/features/format/superscript/feature.client.js +28 -26
  323. package/dist/features/format/superscript/feature.client.js.map +1 -1
  324. package/dist/features/format/superscript/feature.server.js +5 -4
  325. package/dist/features/format/superscript/feature.server.js.map +1 -1
  326. package/dist/features/format/underline/feature.client.js +28 -26
  327. package/dist/features/format/underline/feature.client.js.map +1 -1
  328. package/dist/features/format/underline/feature.server.js +5 -4
  329. package/dist/features/format/underline/feature.server.js.map +1 -1
  330. package/dist/features/heading/client/index.js +121 -142
  331. package/dist/features/heading/client/index.js.map +1 -1
  332. package/dist/features/heading/markdownTransformer.js +25 -22
  333. package/dist/features/heading/markdownTransformer.js.map +1 -1
  334. package/dist/features/heading/server/i18n.js +112 -111
  335. package/dist/features/heading/server/i18n.js.map +1 -1
  336. package/dist/features/heading/server/index.js +62 -60
  337. package/dist/features/heading/server/index.js.map +1 -1
  338. package/dist/features/horizontalRule/client/index.js +57 -48
  339. package/dist/features/horizontalRule/client/index.js.map +1 -1
  340. package/dist/features/horizontalRule/client/markdownTransformer.js +18 -15
  341. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  342. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +25 -27
  343. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  344. package/dist/features/horizontalRule/client/plugin/index.js +21 -32
  345. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  346. package/dist/features/horizontalRule/client/plugin/index.scss +23 -0
  347. package/dist/features/horizontalRule/server/i18n.js +112 -111
  348. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  349. package/dist/features/horizontalRule/server/index.js +24 -17
  350. package/dist/features/horizontalRule/server/index.js.map +1 -1
  351. package/dist/features/horizontalRule/server/markdownTransformer.js +18 -15
  352. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  353. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +69 -72
  354. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  355. package/dist/features/indent/client/IndentPlugin.js +78 -78
  356. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  357. package/dist/features/indent/client/index.js +68 -77
  358. package/dist/features/indent/client/index.js.map +1 -1
  359. package/dist/features/indent/client/toolbarIndentGroup.js +8 -8
  360. package/dist/features/indent/client/toolbarIndentGroup.js.map +1 -1
  361. package/dist/features/indent/server/i18n.js +149 -148
  362. package/dist/features/indent/server/i18n.js.map +1 -1
  363. package/dist/features/indent/server/index.js +18 -11
  364. package/dist/features/indent/server/index.js.map +1 -1
  365. package/dist/features/link/client/index.js +83 -80
  366. package/dist/features/link/client/index.js.map +1 -1
  367. package/dist/features/link/client/plugins/autoLink/index.js +280 -273
  368. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  369. package/dist/features/link/client/plugins/clickableLink/index.js +8 -4
  370. package/dist/features/link/client/plugins/clickableLink/index.js.map +1 -1
  371. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -1
  372. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  373. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +395 -308
  374. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  375. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +12 -9
  376. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  377. package/dist/features/link/client/plugins/floatingLinkEditor/index.scss +95 -0
  378. package/dist/features/link/client/plugins/floatingLinkEditor/types.js +6 -1
  379. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  380. package/dist/features/link/client/plugins/link/index.js +53 -68
  381. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  382. package/dist/features/link/markdownTransformer.js +34 -33
  383. package/dist/features/link/markdownTransformer.js.map +1 -1
  384. package/dist/features/link/nodes/AutoLinkNode.js +56 -58
  385. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  386. package/dist/features/link/nodes/LinkNode.js +286 -288
  387. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  388. package/dist/features/link/nodes/types.js +6 -1
  389. package/dist/features/link/nodes/types.js.map +1 -1
  390. package/dist/features/link/server/baseFields.js +115 -140
  391. package/dist/features/link/server/baseFields.js.map +1 -1
  392. package/dist/features/link/server/graphQLPopulationPromise.js +29 -45
  393. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  394. package/dist/features/link/server/i18n.js +149 -148
  395. package/dist/features/link/server/i18n.js.map +1 -1
  396. package/dist/features/link/server/index.js +156 -143
  397. package/dist/features/link/server/index.js.map +1 -1
  398. package/dist/features/link/server/transformExtraFields.js +15 -15
  399. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  400. package/dist/features/link/server/validate.js +35 -46
  401. package/dist/features/link/server/validate.js.map +1 -1
  402. package/dist/features/lists/checklist/client/index.js +86 -78
  403. package/dist/features/lists/checklist/client/index.js.map +1 -1
  404. package/dist/features/lists/checklist/client/plugin/index.js +8 -4
  405. package/dist/features/lists/checklist/client/plugin/index.js.map +1 -1
  406. package/dist/features/lists/checklist/markdownTransformers.js +11 -7
  407. package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
  408. package/dist/features/lists/checklist/server/i18n.js +112 -111
  409. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  410. package/dist/features/lists/checklist/server/index.js +26 -21
  411. package/dist/features/lists/checklist/server/index.js.map +1 -1
  412. package/dist/features/lists/htmlConverter.js +47 -62
  413. package/dist/features/lists/htmlConverter.js.map +1 -1
  414. package/dist/features/lists/orderedList/client/index.js +78 -72
  415. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  416. package/dist/features/lists/orderedList/markdownTransformer.js +11 -7
  417. package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
  418. package/dist/features/lists/orderedList/server/i18n.js +112 -111
  419. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  420. package/dist/features/lists/orderedList/server/index.js +26 -21
  421. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  422. package/dist/features/lists/plugin/index.js +8 -4
  423. package/dist/features/lists/plugin/index.js.map +1 -1
  424. package/dist/features/lists/shared/markdown.js +49 -48
  425. package/dist/features/lists/shared/markdown.js.map +1 -1
  426. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js +10 -9
  427. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js.map +1 -1
  428. package/dist/features/lists/shared/slashMenuListGroup.js +8 -9
  429. package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
  430. package/dist/features/lists/unorderedList/client/index.js +76 -68
  431. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  432. package/dist/features/lists/unorderedList/markdownTransformer.js +11 -7
  433. package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
  434. package/dist/features/lists/unorderedList/server/i18n.js +112 -111
  435. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  436. package/dist/features/lists/unorderedList/server/index.js +24 -17
  437. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  438. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +17 -18
  439. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  440. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +29 -30
  441. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  442. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +20 -21
  443. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  444. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +19 -21
  445. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  446. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +17 -18
  447. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  448. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +23 -24
  449. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  450. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +21 -20
  451. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  452. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +10 -1
  453. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  454. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +64 -70
  455. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  456. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js +2 -1
  457. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  458. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +7 -5
  459. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  460. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +43 -42
  461. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  462. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +21 -11
  463. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  464. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +65 -66
  465. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  466. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +16 -0
  467. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +19 -19
  468. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  469. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +26 -20
  470. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  471. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +30 -28
  472. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  473. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +27 -26
  474. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  475. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +21 -22
  476. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  477. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +22 -22
  478. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  479. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +13 -12
  480. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  481. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +23 -23
  482. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  483. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +22 -22
  484. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  485. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +16 -15
  486. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  487. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +13 -1
  488. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  489. package/dist/features/migrations/slateToLexical/converter/index.js +110 -117
  490. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  491. package/dist/features/migrations/slateToLexical/converter/types.js +2 -1
  492. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  493. package/dist/features/migrations/slateToLexical/feature.client.js +7 -5
  494. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  495. package/dist/features/migrations/slateToLexical/feature.server.js +54 -45
  496. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  497. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +21 -11
  498. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  499. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +65 -66
  500. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  501. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +16 -0
  502. package/dist/features/paragraph/client/index.js +61 -58
  503. package/dist/features/paragraph/client/index.js.map +1 -1
  504. package/dist/features/paragraph/server/i18n.js +149 -148
  505. package/dist/features/paragraph/server/i18n.js.map +1 -1
  506. package/dist/features/paragraph/server/index.js +7 -6
  507. package/dist/features/paragraph/server/index.js.map +1 -1
  508. package/dist/features/relationship/client/components/RelationshipComponent.js +147 -118
  509. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  510. package/dist/features/relationship/client/components/index.scss +95 -0
  511. package/dist/features/relationship/client/drawer/commands.js +1 -0
  512. package/dist/features/relationship/client/drawer/commands.js.map +1 -1
  513. package/dist/features/relationship/client/drawer/index.js +81 -132
  514. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  515. package/dist/features/relationship/client/index.js +59 -53
  516. package/dist/features/relationship/client/index.js.map +1 -1
  517. package/dist/features/relationship/client/nodes/RelationshipNode.js +64 -60
  518. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  519. package/dist/features/relationship/client/plugins/index.js +39 -69
  520. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  521. package/dist/features/relationship/client/utils/useEnabledRelationships.js +48 -58
  522. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  523. package/dist/features/relationship/server/graphQLPopulationPromise.js +26 -34
  524. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  525. package/dist/features/relationship/server/i18n.js +112 -111
  526. package/dist/features/relationship/server/i18n.js.map +1 -1
  527. package/dist/features/relationship/server/index.js +64 -59
  528. package/dist/features/relationship/server/index.js.map +1 -1
  529. package/dist/features/relationship/server/nodes/RelationshipNode.js +92 -95
  530. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  531. package/dist/features/shared/slashMenu/basicGroup.js +8 -9
  532. package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
  533. package/dist/features/shared/toolbar/addDropdownGroup.js +9 -8
  534. package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
  535. package/dist/features/shared/toolbar/featureButtonsGroup.js +8 -7
  536. package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
  537. package/dist/features/shared/toolbar/textDropdownGroup.js +9 -8
  538. package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
  539. package/dist/features/textState/defaultColors.js +370 -370
  540. package/dist/features/textState/defaultColors.js.map +1 -1
  541. package/dist/features/textState/feature.client.js +77 -64
  542. package/dist/features/textState/feature.client.js.map +1 -1
  543. package/dist/features/textState/feature.server.js +46 -14
  544. package/dist/features/textState/feature.server.js.map +1 -1
  545. package/dist/features/textState/i18n.js +112 -111
  546. package/dist/features/textState/i18n.js.map +1 -1
  547. package/dist/features/textState/textState.js +64 -62
  548. package/dist/features/textState/textState.js.map +1 -1
  549. package/dist/features/toolbars/fixed/client/Toolbar/index.js +251 -241
  550. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  551. package/dist/features/toolbars/fixed/client/Toolbar/index.scss +113 -0
  552. package/dist/features/toolbars/fixed/client/index.js +7 -5
  553. package/dist/features/toolbars/fixed/client/index.js.map +1 -1
  554. package/dist/features/toolbars/fixed/server/index.js +32 -16
  555. package/dist/features/toolbars/fixed/server/index.js.map +1 -1
  556. package/dist/features/toolbars/inline/client/Toolbar/index.js +326 -310
  557. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  558. package/dist/features/toolbars/inline/client/Toolbar/index.scss +58 -0
  559. package/dist/features/toolbars/inline/client/index.js +7 -5
  560. package/dist/features/toolbars/inline/client/index.js.map +1 -1
  561. package/dist/features/toolbars/inline/server/index.js +5 -4
  562. package/dist/features/toolbars/inline/server/index.js.map +1 -1
  563. package/dist/features/toolbars/shared/ToolbarButton/index.js +53 -76
  564. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  565. package/dist/features/toolbars/shared/ToolbarButton/index.scss +46 -0
  566. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +264 -208
  567. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  568. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +94 -111
  569. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  570. package/dist/features/toolbars/shared/ToolbarDropdown/index.scss +129 -0
  571. package/dist/features/toolbars/shared/useToolbarStates.js +112 -108
  572. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  573. package/dist/features/toolbars/types.js +29 -1
  574. package/dist/features/toolbars/types.js.map +1 -1
  575. package/dist/features/typeUtilities.js +3 -2
  576. package/dist/features/typeUtilities.js.map +1 -1
  577. package/dist/features/typesClient.js +61 -1
  578. package/dist/features/typesClient.js.map +1 -1
  579. package/dist/features/typesServer.js +90 -1
  580. package/dist/features/typesServer.js.map +1 -1
  581. package/dist/features/upload/client/component/index.js +242 -189
  582. package/dist/features/upload/client/component/index.js.map +1 -1
  583. package/dist/features/upload/client/component/index.scss +191 -0
  584. package/dist/features/upload/client/component/pending/index.js +19 -10
  585. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  586. package/dist/features/upload/client/drawer/commands.js +1 -1
  587. package/dist/features/upload/client/drawer/commands.js.map +1 -1
  588. package/dist/features/upload/client/drawer/index.js +83 -132
  589. package/dist/features/upload/client/drawer/index.js.map +1 -1
  590. package/dist/features/upload/client/index.js +61 -51
  591. package/dist/features/upload/client/index.js.map +1 -1
  592. package/dist/features/upload/client/nodes/UploadNode.js +67 -61
  593. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  594. package/dist/features/upload/client/plugin/index.js +290 -331
  595. package/dist/features/upload/client/plugin/index.js.map +1 -1
  596. package/dist/features/upload/server/graphQLPopulationPromise.js +48 -63
  597. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  598. package/dist/features/upload/server/i18n.js +112 -111
  599. package/dist/features/upload/server/i18n.js.map +1 -1
  600. package/dist/features/upload/server/index.js +200 -208
  601. package/dist/features/upload/server/index.js.map +1 -1
  602. package/dist/features/upload/server/markdownTransformer.js +48 -46
  603. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  604. package/dist/features/upload/server/nodes/UploadNode.js +115 -99
  605. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  606. package/dist/features/upload/server/nodes/conversions.js +41 -40
  607. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  608. package/dist/features/upload/server/validate.js +48 -62
  609. package/dist/features/upload/server/validate.js.map +1 -1
  610. package/dist/field/Diff/converters/link.js +35 -44
  611. package/dist/field/Diff/converters/link.js.map +1 -1
  612. package/dist/field/Diff/converters/listitem/index.js +75 -55
  613. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  614. package/dist/field/Diff/converters/listitem/index.scss +47 -0
  615. package/dist/field/Diff/converters/relationship/index.js +85 -63
  616. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  617. package/dist/field/Diff/converters/relationship/index.scss +73 -0
  618. package/dist/field/Diff/converters/unknown/index.js +64 -41
  619. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  620. package/dist/field/Diff/converters/unknown/index.scss +40 -0
  621. package/dist/field/Diff/converters/upload/index.js +122 -66
  622. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  623. package/dist/field/Diff/converters/upload/index.scss +115 -0
  624. package/dist/field/Diff/index.js +86 -99
  625. package/dist/field/Diff/index.js.map +1 -1
  626. package/dist/field/Diff/index.scss +102 -0
  627. package/dist/field/Field.js +234 -179
  628. package/dist/field/Field.js.map +1 -1
  629. package/dist/field/RenderLexical/index.js +123 -119
  630. package/dist/field/RenderLexical/index.js.map +1 -1
  631. package/dist/field/bundled.css +0 -1
  632. package/dist/field/index.js +61 -97
  633. package/dist/field/index.js.map +1 -1
  634. package/dist/field/index.scss +41 -0
  635. package/dist/field/rscEntry.js +86 -84
  636. package/dist/field/rscEntry.js.map +1 -1
  637. package/dist/i18n.js +223 -222
  638. package/dist/i18n.js.map +1 -1
  639. package/dist/index.js +639 -704
  640. package/dist/index.js.map +1 -1
  641. package/dist/lexical/EditorPlugin.js +21 -17
  642. package/dist/lexical/EditorPlugin.js.map +1 -1
  643. package/dist/lexical/LexicalEditor.js +275 -174
  644. package/dist/lexical/LexicalEditor.js.map +1 -1
  645. package/dist/lexical/LexicalEditor.scss +58 -0
  646. package/dist/lexical/LexicalProvider.js +110 -88
  647. package/dist/lexical/LexicalProvider.js.map +1 -1
  648. package/dist/lexical/config/client/EditorConfigProvider.js +94 -81
  649. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  650. package/dist/lexical/config/client/default.js +3 -3
  651. package/dist/lexical/config/client/default.js.map +1 -1
  652. package/dist/lexical/config/client/loader.js +30 -38
  653. package/dist/lexical/config/client/loader.js.map +1 -1
  654. package/dist/lexical/config/client/sanitize.js +188 -187
  655. package/dist/lexical/config/client/sanitize.js.map +1 -1
  656. package/dist/lexical/config/server/default.js +27 -5
  657. package/dist/lexical/config/server/default.js.map +1 -1
  658. package/dist/lexical/config/server/loader.js +105 -106
  659. package/dist/lexical/config/server/loader.js.map +1 -1
  660. package/dist/lexical/config/server/sanitize.js +114 -113
  661. package/dist/lexical/config/server/sanitize.js.map +1 -1
  662. package/dist/lexical/config/types.js +4 -1
  663. package/dist/lexical/config/types.js.map +1 -1
  664. package/dist/lexical/nodes/index.js +12 -15
  665. package/dist/lexical/nodes/index.js.map +1 -1
  666. package/dist/lexical/plugins/ClipboardPlugin/index.js +66 -70
  667. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  668. package/dist/lexical/plugins/DecoratorPlugin/index.js +208 -225
  669. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  670. package/dist/lexical/plugins/DecoratorPlugin/index.scss +13 -0
  671. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +42 -41
  672. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  673. package/dist/lexical/plugins/InsertParagraphAtEnd/index.scss +54 -0
  674. package/dist/lexical/plugins/MarkdownShortcut/index.js +11 -23
  675. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  676. package/dist/lexical/plugins/NormalizeSelection/index.js +21 -19
  677. package/dist/lexical/plugins/NormalizeSelection/index.js.map +1 -1
  678. package/dist/lexical/plugins/SelectAllPlugin/index.js +19 -17
  679. package/dist/lexical/plugins/SelectAllPlugin/index.js.map +1 -1
  680. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +399 -420
  681. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  682. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +164 -155
  683. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  684. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +10 -1
  685. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  686. package/dist/lexical/plugins/SlashMenu/index.js +204 -181
  687. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  688. package/dist/lexical/plugins/SlashMenu/index.scss +68 -0
  689. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +28 -41
  690. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  691. package/dist/lexical/plugins/TextPlugin/index.js +27 -42
  692. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  693. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +145 -130
  694. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  695. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +35 -0
  696. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +10 -10
  697. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  698. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +10 -10
  699. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  700. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +23 -26
  701. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  702. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +325 -317
  703. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  704. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.scss +80 -0
  705. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +86 -98
  706. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  707. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +16 -22
  708. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
  709. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +29 -19
  710. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  711. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js +11 -14
  712. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
  713. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +122 -133
  714. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  715. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +2 -2
  716. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  717. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js +2 -2
  718. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
  719. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +29 -24
  720. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  721. package/dist/lexical/theme/EditorTheme.js +72 -65
  722. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  723. package/dist/lexical/theme/EditorTheme.scss +361 -0
  724. package/dist/lexical/ui/ContentEditable.js +22 -35
  725. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  726. package/dist/lexical/ui/ContentEditable.scss +105 -0
  727. package/dist/lexical/ui/icons/AI/index.js +58 -31
  728. package/dist/lexical/ui/icons/AI/index.js.map +1 -1
  729. package/dist/lexical/ui/icons/Add/index.js +31 -16
  730. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  731. package/dist/lexical/ui/icons/AlignCenter/index.js +45 -25
  732. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  733. package/dist/lexical/ui/icons/AlignJustify/index.js +45 -25
  734. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  735. package/dist/lexical/ui/icons/AlignLeft/index.js +45 -25
  736. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  737. package/dist/lexical/ui/icons/AlignRight/index.js +45 -25
  738. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  739. package/dist/lexical/ui/icons/Block/index.js +54 -34
  740. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  741. package/dist/lexical/ui/icons/Blockquote/index.js +24 -16
  742. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  743. package/dist/lexical/ui/icons/Bold/index.js +24 -16
  744. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  745. package/dist/lexical/ui/icons/Checklist/index.js +39 -24
  746. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  747. package/dist/lexical/ui/icons/Code/index.js +34 -19
  748. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  749. package/dist/lexical/ui/icons/CodeBlock/index.js +22 -14
  750. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  751. package/dist/lexical/ui/icons/Collapse/index.js +23 -15
  752. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -1
  753. package/dist/lexical/ui/icons/H1/index.js +24 -16
  754. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  755. package/dist/lexical/ui/icons/H2/index.js +24 -16
  756. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  757. package/dist/lexical/ui/icons/H3/index.js +24 -16
  758. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  759. package/dist/lexical/ui/icons/H4/index.js +24 -16
  760. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  761. package/dist/lexical/ui/icons/H5/index.js +24 -16
  762. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  763. package/dist/lexical/ui/icons/H6/index.js +24 -16
  764. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  765. package/dist/lexical/ui/icons/HorizontalRule/index.js +27 -19
  766. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  767. package/dist/lexical/ui/icons/IndentDecrease/index.js +53 -28
  768. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  769. package/dist/lexical/ui/icons/IndentIncrease/index.js +53 -28
  770. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  771. package/dist/lexical/ui/icons/InlineBlocks/index.js +26 -18
  772. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -1
  773. package/dist/lexical/ui/icons/Italic/index.js +24 -16
  774. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  775. package/dist/lexical/ui/icons/Link/index.js +25 -17
  776. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  777. package/dist/lexical/ui/icons/Meatballs/index.js +39 -19
  778. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -1
  779. package/dist/lexical/ui/icons/OrderedList/index.js +61 -31
  780. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  781. package/dist/lexical/ui/icons/Relationship/index.js +58 -31
  782. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  783. package/dist/lexical/ui/icons/Strikethrough/index.js +34 -19
  784. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  785. package/dist/lexical/ui/icons/Subscript/index.js +24 -16
  786. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  787. package/dist/lexical/ui/icons/Superscript/index.js +24 -16
  788. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  789. package/dist/lexical/ui/icons/Table/index.js +25 -17
  790. package/dist/lexical/ui/icons/Table/index.js.map +1 -1
  791. package/dist/lexical/ui/icons/Text/index.js +24 -16
  792. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  793. package/dist/lexical/ui/icons/TextState/index.js +25 -19
  794. package/dist/lexical/ui/icons/TextState/index.js.map +1 -1
  795. package/dist/lexical/ui/icons/Underline/index.js +34 -19
  796. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  797. package/dist/lexical/ui/icons/UnorderedList/index.js +81 -46
  798. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  799. package/dist/lexical/ui/icons/Upload/index.js +48 -28
  800. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  801. package/dist/lexical/utils/canUseDOM.js +1 -1
  802. package/dist/lexical/utils/canUseDOM.js.map +1 -1
  803. package/dist/lexical/utils/environment.js +1 -1
  804. package/dist/lexical/utils/environment.js.map +1 -1
  805. package/dist/lexical/utils/getDOMRangeRect.js +12 -12
  806. package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
  807. package/dist/lexical/utils/getSelectedNode.js +13 -17
  808. package/dist/lexical/utils/getSelectedNode.js.map +1 -1
  809. package/dist/lexical/utils/guard.js +3 -4
  810. package/dist/lexical/utils/guard.js.map +1 -1
  811. package/dist/lexical/utils/joinClasses.js +2 -2
  812. package/dist/lexical/utils/joinClasses.js.map +1 -1
  813. package/dist/lexical/utils/markdown/createBlockNode.js +10 -9
  814. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  815. package/dist/lexical/utils/nodeFormat.js +59 -58
  816. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  817. package/dist/lexical/utils/point.js +32 -39
  818. package/dist/lexical/utils/point.js.map +1 -1
  819. package/dist/lexical/utils/rect.js +136 -166
  820. package/dist/lexical/utils/rect.js.map +1 -1
  821. package/dist/lexical/utils/setFloatingElemPosition.js +48 -56
  822. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  823. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js +49 -49
  824. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
  825. package/dist/lexical/utils/swipe.js +83 -81
  826. package/dist/lexical/utils/swipe.js.map +1 -1
  827. package/dist/lexical/utils/url.js +53 -53
  828. package/dist/lexical/utils/url.js.map +1 -1
  829. package/dist/lexical/utils/url.spec.js +214 -98
  830. package/dist/lexical/utils/url.spec.js.map +1 -1
  831. package/dist/lexical-proxy/@lexical-headless.js +1 -0
  832. package/dist/lexical-proxy/@lexical-headless.js.map +1 -1
  833. package/dist/lexical-proxy/@lexical-html.js +1 -0
  834. package/dist/lexical-proxy/@lexical-html.js.map +1 -1
  835. package/dist/lexical-proxy/@lexical-link.js +1 -0
  836. package/dist/lexical-proxy/@lexical-link.js.map +1 -1
  837. package/dist/lexical-proxy/@lexical-list.js +1 -0
  838. package/dist/lexical-proxy/@lexical-list.js.map +1 -1
  839. package/dist/lexical-proxy/@lexical-mark.js +1 -0
  840. package/dist/lexical-proxy/@lexical-mark.js.map +1 -1
  841. package/dist/lexical-proxy/@lexical-markdown.js +1 -0
  842. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  843. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +1 -0
  844. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -1
  845. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +1 -0
  846. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -1
  847. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +1 -0
  848. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -1
  849. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +1 -0
  850. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -1
  851. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +1 -0
  852. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -1
  853. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +1 -0
  854. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -1
  855. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +1 -0
  856. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -1
  857. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +1 -0
  858. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -1
  859. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +1 -0
  860. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -1
  861. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +1 -0
  862. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -1
  863. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +1 -0
  864. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -1
  865. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +1 -0
  866. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -1
  867. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +1 -0
  868. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -1
  869. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +1 -0
  870. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -1
  871. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +1 -0
  872. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -1
  873. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +1 -0
  874. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -1
  875. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +1 -0
  876. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -1
  877. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +1 -0
  878. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -1
  879. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +1 -0
  880. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -1
  881. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +1 -0
  882. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -1
  883. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +1 -0
  884. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -1
  885. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +1 -0
  886. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -1
  887. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +1 -0
  888. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -1
  889. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +1 -0
  890. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -1
  891. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +1 -0
  892. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -1
  893. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +1 -0
  894. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -1
  895. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js +1 -0
  896. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js.map +1 -1
  897. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +1 -0
  898. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -1
  899. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +1 -0
  900. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -1
  901. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +1 -0
  902. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -1
  903. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +1 -0
  904. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -1
  905. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +1 -0
  906. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -1
  907. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +1 -0
  908. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -1
  909. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +1 -0
  910. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -1
  911. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +1 -0
  912. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -1
  913. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +1 -0
  914. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -1
  915. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +1 -0
  916. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -1
  917. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +1 -0
  918. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -1
  919. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +1 -0
  920. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -1
  921. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +1 -0
  922. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -1
  923. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +1 -0
  924. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -1
  925. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +1 -0
  926. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -1
  927. package/dist/lexical-proxy/@lexical-rich-text.js +1 -0
  928. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -1
  929. package/dist/lexical-proxy/@lexical-selection.js +1 -0
  930. package/dist/lexical-proxy/@lexical-selection.js.map +1 -1
  931. package/dist/lexical-proxy/@lexical-utils.js +1 -0
  932. package/dist/lexical-proxy/@lexical-utils.js.map +1 -1
  933. package/dist/lexical-proxy/lexical.js +1 -0
  934. package/dist/lexical-proxy/lexical.js.map +1 -1
  935. package/dist/nodeTypes.js +35 -1
  936. package/dist/nodeTypes.js.map +1 -1
  937. package/dist/packages/@lexical/markdown/MarkdownExport.js +184 -179
  938. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +1 -1
  939. package/dist/packages/@lexical/markdown/MarkdownImport.js +173 -168
  940. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +1 -1
  941. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +258 -268
  942. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +1 -1
  943. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +305 -209
  944. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +1 -1
  945. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +76 -73
  946. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +1 -1
  947. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +59 -48
  948. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +1 -1
  949. package/dist/packages/@lexical/markdown/importTextTransformers.js +51 -45
  950. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +1 -1
  951. package/dist/packages/@lexical/markdown/index.js +33 -14
  952. package/dist/packages/@lexical/markdown/index.js.map +1 -1
  953. package/dist/packages/@lexical/markdown/utils.js +217 -185
  954. package/dist/packages/@lexical/markdown/utils.js.map +1 -1
  955. package/dist/populateGraphQL/defaultValue.js +29 -24
  956. package/dist/populateGraphQL/defaultValue.js.map +1 -1
  957. package/dist/populateGraphQL/populate.js +26 -37
  958. package/dist/populateGraphQL/populate.js.map +1 -1
  959. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +34 -50
  960. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  961. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js +35 -42
  962. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  963. package/dist/types.js +40 -1
  964. package/dist/types.js.map +1 -1
  965. package/dist/utilities/applyBaseFilterToFields.js +81 -84
  966. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  967. package/dist/utilities/buildEditorState.js +39 -40
  968. package/dist/utilities/buildEditorState.js.map +1 -1
  969. package/dist/utilities/buildInitialState.js +51 -52
  970. package/dist/utilities/buildInitialState.js.map +1 -1
  971. package/dist/utilities/createClientFeature.js +42 -48
  972. package/dist/utilities/createClientFeature.js.map +1 -1
  973. package/dist/utilities/createServerFeature.js +38 -48
  974. package/dist/utilities/createServerFeature.js.map +1 -1
  975. package/dist/utilities/editorConfigFactory.js +78 -79
  976. package/dist/utilities/editorConfigFactory.js.map +1 -1
  977. package/dist/utilities/fieldsDrawer/Drawer.js +45 -70
  978. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  979. package/dist/utilities/fieldsDrawer/DrawerContent.js +134 -124
  980. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  981. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +64 -115
  982. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  983. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +76 -121
  984. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  985. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +79 -141
  986. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  987. package/dist/utilities/forEachNodeRecursively.js +19 -24
  988. package/dist/utilities/forEachNodeRecursively.js.map +1 -1
  989. package/dist/utilities/generateImportMap.js +43 -49
  990. package/dist/utilities/generateImportMap.js.map +1 -1
  991. package/dist/utilities/generateSchemaMap.js +32 -37
  992. package/dist/utilities/generateSchemaMap.js.map +1 -1
  993. package/dist/utilities/getDefaultSanitizedEditorConfig.js +12 -14
  994. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  995. package/dist/utilities/initLexicalFeatures.js +68 -65
  996. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  997. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +26 -29
  998. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  999. package/dist/utilities/jsx/declare.d.js.map +1 -1
  1000. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +100 -102
  1001. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -1
  1002. package/dist/utilities/jsx/jsx.js +76 -80
  1003. package/dist/utilities/jsx/jsx.js.map +1 -1
  1004. package/dist/utilities/jsx/jsx.spec.js +225 -171
  1005. package/dist/utilities/jsx/jsx.spec.js.map +1 -1
  1006. package/dist/utilities/migrateSlateToLexical/index.js +111 -127
  1007. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -1
  1008. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +74 -78
  1009. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  1010. package/dist/utilities/recurseNodeTree.js +22 -25
  1011. package/dist/utilities/recurseNodeTree.js.map +1 -1
  1012. package/dist/utilities/upgradeLexicalData/index.js +87 -101
  1013. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  1014. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +78 -80
  1015. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  1016. package/dist/utilities/useLexicalFeature.js +14 -16
  1017. package/dist/utilities/useLexicalFeature.js.map +1 -1
  1018. package/dist/utilities/useRunDeprioritized.js +41 -37
  1019. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  1020. package/dist/validate/hasText.js +21 -20
  1021. package/dist/validate/hasText.js.map +1 -1
  1022. package/dist/validate/index.js +22 -28
  1023. package/dist/validate/index.js.map +1 -1
  1024. package/dist/validate/validateNodes.js +28 -31
  1025. package/dist/validate/validateNodes.js.map +1 -1
  1026. package/package.json +7 -7
  1027. package/dist/exports/client/Component-DOSSWC76.js +0 -2
  1028. package/dist/exports/client/Component-DOSSWC76.js.map +0 -7
  1029. package/dist/exports/client/Component-MBLHTKDK.js +0 -2
  1030. package/dist/exports/client/Component-MBLHTKDK.js.map +0 -7
  1031. package/dist/exports/client/Field-OIMYWB22.js +0 -2
  1032. package/dist/exports/client/Field-OIMYWB22.js.map +0 -7
  1033. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js +0 -2
  1034. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js.map +0 -7
  1035. package/dist/exports/client/bundled.css +0 -1
  1036. package/dist/exports/client/chunk-2S5Q7QYO.js +0 -2
  1037. package/dist/exports/client/chunk-2S5Q7QYO.js.map +0 -7
  1038. package/dist/exports/client/chunk-BZZVLW4U.js +0 -2
  1039. package/dist/exports/client/chunk-BZZVLW4U.js.map +0 -7
  1040. package/dist/exports/client/chunk-DBWINSQN.js +0 -2
  1041. package/dist/exports/client/chunk-DBWINSQN.js.map +0 -7
  1042. package/dist/exports/client/chunk-EZX4YW7S.js +0 -12
  1043. package/dist/exports/client/chunk-EZX4YW7S.js.map +0 -7
  1044. package/dist/exports/client/chunk-F26IQ5RE.js +0 -2
  1045. package/dist/exports/client/chunk-F26IQ5RE.js.map +0 -7
  1046. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  1047. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  1048. package/dist/exports/client/chunk-QJ5EETIB.js +0 -2
  1049. package/dist/exports/client/chunk-QJ5EETIB.js.map +0 -7
  1050. package/dist/exports/client/component-XIHC3W6W.js +0 -2
  1051. package/dist/exports/client/component-XIHC3W6W.js.map +0 -7
  1052. package/dist/exports/client/componentInline-NL25DNZ5.js +0 -2
  1053. package/dist/exports/client/componentInline-NL25DNZ5.js.map +0 -7
@@ -5,93 +5,90 @@ import { combineWhereConstraints } from 'payload/shared';
5
5
  * collection-level filters like multi-tenant filtering.
6
6
  *
7
7
  * Based on the fix from PR #13229 for LinkFeature
8
- */
9
- export function applyBaseFilterToFields(fields, config) {
10
- return fields.map(field => {
11
- // Handle relationship fields
12
- if (field.type === 'relationship') {
13
- const relationshipField = field;
14
- // Store the original filterOptions
15
- const originalFilterOptions = relationshipField.filterOptions;
16
- // Create new filterOptions that includes baseFilter
17
- relationshipField.filterOptions = async args => {
18
- const {
19
- relationTo,
20
- req,
21
- user
22
- } = args;
23
- // Call original filterOptions if it exists
24
- const originalResult = typeof originalFilterOptions === 'function' ? await originalFilterOptions(args) : originalFilterOptions ?? true;
25
- // If original filter returns false, respect that
26
- if (originalResult === false) {
27
- return false;
8
+ */ export function applyBaseFilterToFields(fields, config) {
9
+ return fields.map((field)=>{
10
+ // Handle relationship fields
11
+ if (field.type === 'relationship') {
12
+ const relationshipField = field;
13
+ // Store the original filterOptions
14
+ const originalFilterOptions = relationshipField.filterOptions;
15
+ // Create new filterOptions that includes baseFilter
16
+ relationshipField.filterOptions = async (args)=>{
17
+ const { relationTo, req, user } = args;
18
+ // Call original filterOptions if it exists
19
+ const originalResult = typeof originalFilterOptions === 'function' ? await originalFilterOptions(args) : originalFilterOptions ?? true;
20
+ // If original filter returns false, respect that
21
+ if (originalResult === false) {
22
+ return false;
23
+ }
24
+ // Get the collection's admin config
25
+ const admin = config.collections.find(({ slug })=>slug === relationTo)?.admin;
26
+ // Check if collection is hidden
27
+ const hidden = admin?.hidden;
28
+ if (typeof hidden === 'function' && hidden({
29
+ user
30
+ })) {
31
+ return false;
32
+ }
33
+ // Apply baseFilter (with backwards compatibility for baseListFilter)
34
+ const baseFilter = admin?.baseFilter ?? admin?.baseListFilter;
35
+ const baseFilterResult = await baseFilter?.({
36
+ limit: 0,
37
+ page: 1,
38
+ req,
39
+ sort: 'id'
40
+ });
41
+ // If no baseFilter, return original result
42
+ if (!baseFilterResult) {
43
+ return originalResult;
44
+ }
45
+ // If original result is true, just return the baseFilter
46
+ if (originalResult === true) {
47
+ return baseFilterResult;
48
+ }
49
+ // Combine original and baseFilter results
50
+ return combineWhereConstraints([
51
+ originalResult,
52
+ baseFilterResult
53
+ ], 'and');
54
+ };
55
+ return relationshipField;
28
56
  }
29
- // Get the collection's admin config
30
- const admin = config.collections.find(({
31
- slug
32
- }) => slug === relationTo)?.admin;
33
- // Check if collection is hidden
34
- const hidden = admin?.hidden;
35
- if (typeof hidden === 'function' && hidden({
36
- user
37
- })) {
38
- return false;
57
+ // Recursively process nested fields
58
+ if ('fields' in field && field.fields) {
59
+ return {
60
+ ...field,
61
+ fields: applyBaseFilterToFields(field.fields, config)
62
+ };
39
63
  }
40
- // Apply baseFilter (with backwards compatibility for baseListFilter)
41
- const baseFilter = admin?.baseFilter ?? admin?.baseListFilter;
42
- const baseFilterResult = await baseFilter?.({
43
- limit: 0,
44
- page: 1,
45
- req,
46
- sort: 'id'
47
- });
48
- // If no baseFilter, return original result
49
- if (!baseFilterResult) {
50
- return originalResult;
64
+ // Handle tabs
65
+ if (field.type === 'tabs' && 'tabs' in field) {
66
+ return {
67
+ ...field,
68
+ tabs: field.tabs.map((tab)=>({
69
+ ...tab,
70
+ fields: applyBaseFilterToFields(tab.fields, config)
71
+ }))
72
+ };
51
73
  }
52
- // If original result is true, just return the baseFilter
53
- if (originalResult === true) {
54
- return baseFilterResult;
74
+ // Handle blocks
75
+ if (field.type === 'blocks') {
76
+ const blocks = field.blockReferences ?? field.blocks ?? [];
77
+ return {
78
+ ...field,
79
+ blocks: blocks.map((block)=>{
80
+ if (typeof block === 'string') {
81
+ return block;
82
+ }
83
+ return {
84
+ ...block,
85
+ fields: applyBaseFilterToFields(block.fields, config)
86
+ };
87
+ })
88
+ };
55
89
  }
56
- // Combine original and baseFilter results
57
- return combineWhereConstraints([originalResult, baseFilterResult], 'and');
58
- };
59
- return relationshipField;
60
- }
61
- // Recursively process nested fields
62
- if ('fields' in field && field.fields) {
63
- return {
64
- ...field,
65
- fields: applyBaseFilterToFields(field.fields, config)
66
- };
67
- }
68
- // Handle tabs
69
- if (field.type === 'tabs' && 'tabs' in field) {
70
- return {
71
- ...field,
72
- tabs: field.tabs.map(tab => ({
73
- ...tab,
74
- fields: applyBaseFilterToFields(tab.fields, config)
75
- }))
76
- };
77
- }
78
- // Handle blocks
79
- if (field.type === 'blocks') {
80
- const blocks = field.blockReferences ?? field.blocks ?? [];
81
- return {
82
- ...field,
83
- blocks: blocks.map(block => {
84
- if (typeof block === 'string') {
85
- return block;
86
- }
87
- return {
88
- ...block,
89
- fields: applyBaseFilterToFields(block.fields, config)
90
- };
91
- })
92
- };
93
- }
94
- return field;
95
- });
90
+ return field;
91
+ });
96
92
  }
93
+
97
94
  //# sourceMappingURL=applyBaseFilterToFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyBaseFilterToFields.js","names":["combineWhereConstraints","applyBaseFilterToFields","fields","config","map","field","type","relationshipField","originalFilterOptions","filterOptions","args","relationTo","req","user","originalResult","admin","collections","find","slug","hidden","baseFilter","baseListFilter","baseFilterResult","limit","page","sort","tabs","tab","blocks","blockReferences","block"],"sources":["../../src/utilities/applyBaseFilterToFields.ts"],"sourcesContent":["import type { Block, Field, SanitizedConfig, TypedUser } from 'payload'\n\nimport { combineWhereConstraints } from 'payload/shared'\n\n/**\n * Recursively applies baseFilter from collection config to relationship fields\n * within blocks. This ensures that relationship drawers in blocks respect\n * collection-level filters like multi-tenant filtering.\n *\n * Based on the fix from PR #13229 for LinkFeature\n */\nexport function applyBaseFilterToFields(fields: Field[], config: SanitizedConfig): Field[] {\n return fields.map((field) => {\n // Handle relationship fields\n if (field.type === 'relationship') {\n const relationshipField = field\n\n // Store the original filterOptions\n const originalFilterOptions = relationshipField.filterOptions\n\n // Create new filterOptions that includes baseFilter\n relationshipField.filterOptions = async (args) => {\n const { relationTo, req, user } = args\n\n // Call original filterOptions if it exists\n const originalResult =\n typeof originalFilterOptions === 'function'\n ? await originalFilterOptions(args)\n : (originalFilterOptions ?? true)\n\n // If original filter returns false, respect that\n if (originalResult === false) {\n return false\n }\n\n // Get the collection's admin config\n const admin = config.collections.find(({ slug }) => slug === relationTo)?.admin\n\n // Check if collection is hidden\n const hidden = admin?.hidden\n if (typeof hidden === 'function' && hidden({ user } as { user: TypedUser })) {\n return false\n }\n\n // Apply baseFilter (with backwards compatibility for baseListFilter)\n const baseFilter = admin?.baseFilter ?? admin?.baseListFilter\n const baseFilterResult = await baseFilter?.({\n limit: 0,\n page: 1,\n req,\n sort: 'id',\n })\n\n // If no baseFilter, return original result\n if (!baseFilterResult) {\n return originalResult\n }\n\n // If original result is true, just return the baseFilter\n if (originalResult === true) {\n return baseFilterResult\n }\n\n // Combine original and baseFilter results\n return combineWhereConstraints([originalResult, baseFilterResult], 'and')\n }\n\n return relationshipField\n }\n\n // Recursively process nested fields\n if ('fields' in field && field.fields) {\n return {\n ...field,\n fields: applyBaseFilterToFields(field.fields, config),\n }\n }\n\n // Handle tabs\n if (field.type === 'tabs' && 'tabs' in field) {\n return {\n ...field,\n tabs: field.tabs.map((tab) => ({\n ...tab,\n fields: applyBaseFilterToFields(tab.fields, config),\n })),\n }\n }\n\n // Handle blocks\n if (field.type === 'blocks') {\n const blocks = (field.blockReferences ?? field.blocks ?? []) as Block[]\n return {\n ...field,\n blocks: blocks.map((block) => {\n if (typeof block === 'string') {\n return block\n }\n return {\n ...block,\n fields: applyBaseFilterToFields(block.fields, config),\n }\n }),\n }\n }\n\n return field\n })\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ;AAExC;;;;;;;AAOA,OAAO,SAASC,wBAAwBC,MAAe,EAAEC,MAAuB;EAC9E,OAAOD,MAAA,CAAOE,GAAG,CAAEC,KAAA;IACjB;IACA,IAAIA,KAAA,CAAMC,IAAI,KAAK,gBAAgB;MACjC,MAAMC,iBAAA,GAAoBF,KAAA;MAE1B;MACA,MAAMG,qBAAA,GAAwBD,iBAAA,CAAkBE,aAAa;MAE7D;MACAF,iBAAA,CAAkBE,aAAa,GAAG,MAAOC,IAAA;QACvC,MAAM;UAAEC,UAAU;UAAEC,GAAG;UAAEC;QAAI,CAAE,GAAGH,IAAA;QAElC;QACA,MAAMI,cAAA,GACJ,OAAON,qBAAA,KAA0B,aAC7B,MAAMA,qBAAA,CAAsBE,IAAA,IAC3BF,qBAAA,IAAyB;QAEhC;QACA,IAAIM,cAAA,KAAmB,OAAO;UAC5B,OAAO;QACT;QAEA;QACA,MAAMC,KAAA,GAAQZ,MAAA,CAAOa,WAAW,CAACC,IAAI,CAAC,CAAC;UAAEC;QAAI,CAAE,KAAKA,IAAA,KAASP,UAAA,GAAaI,KAAA;QAE1E;QACA,MAAMI,MAAA,GAASJ,KAAA,EAAOI,MAAA;QACtB,IAAI,OAAOA,MAAA,KAAW,cAAcA,MAAA,CAAO;UAAEN;QAAK,IAA2B;UAC3E,OAAO;QACT;QAEA;QACA,MAAMO,UAAA,GAAaL,KAAA,EAAOK,UAAA,IAAcL,KAAA,EAAOM,cAAA;QAC/C,MAAMC,gBAAA,GAAmB,MAAMF,UAAA,GAAa;UAC1CG,KAAA,EAAO;UACPC,IAAA,EAAM;UACNZ,GAAA;UACAa,IAAA,EAAM;QACR;QAEA;QACA,IAAI,CAACH,gBAAA,EAAkB;UACrB,OAAOR,cAAA;QACT;QAEA;QACA,IAAIA,cAAA,KAAmB,MAAM;UAC3B,OAAOQ,gBAAA;QACT;QAEA;QACA,OAAOtB,uBAAA,CAAwB,CAACc,cAAA,EAAgBQ,gBAAA,CAAiB,EAAE;MACrE;MAEA,OAAOf,iBAAA;IACT;IAEA;IACA,IAAI,YAAYF,KAAA,IAASA,KAAA,CAAMH,MAAM,EAAE;MACrC,OAAO;QACL,GAAGG,KAAK;QACRH,MAAA,EAAQD,uBAAA,CAAwBI,KAAA,CAAMH,MAAM,EAAEC,MAAA;MAChD;IACF;IAEA;IACA,IAAIE,KAAA,CAAMC,IAAI,KAAK,UAAU,UAAUD,KAAA,EAAO;MAC5C,OAAO;QACL,GAAGA,KAAK;QACRqB,IAAA,EAAMrB,KAAA,CAAMqB,IAAI,CAACtB,GAAG,CAAEuB,GAAA,KAAS;UAC7B,GAAGA,GAAG;UACNzB,MAAA,EAAQD,uBAAA,CAAwB0B,GAAA,CAAIzB,MAAM,EAAEC,MAAA;QAC9C;MACF;IACF;IAEA;IACA,IAAIE,KAAA,CAAMC,IAAI,KAAK,UAAU;MAC3B,MAAMsB,MAAA,GAAUvB,KAAA,CAAMwB,eAAe,IAAIxB,KAAA,CAAMuB,MAAM,IAAI,EAAE;MAC3D,OAAO;QACL,GAAGvB,KAAK;QACRuB,MAAA,EAAQA,MAAA,CAAOxB,GAAG,CAAE0B,KAAA;UAClB,IAAI,OAAOA,KAAA,KAAU,UAAU;YAC7B,OAAOA,KAAA;UACT;UACA,OAAO;YACL,GAAGA,KAAK;YACR5B,MAAA,EAAQD,uBAAA,CAAwB6B,KAAA,CAAM5B,MAAM,EAAEC,MAAA;UAChD;QACF;MACF;IACF;IAEA,OAAOE,KAAA;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/applyBaseFilterToFields.ts"],"sourcesContent":["import type { Block, Field, SanitizedConfig, TypedUser } from 'payload'\n\nimport { combineWhereConstraints } from 'payload/shared'\n\n/**\n * Recursively applies baseFilter from collection config to relationship fields\n * within blocks. This ensures that relationship drawers in blocks respect\n * collection-level filters like multi-tenant filtering.\n *\n * Based on the fix from PR #13229 for LinkFeature\n */\nexport function applyBaseFilterToFields(fields: Field[], config: SanitizedConfig): Field[] {\n return fields.map((field) => {\n // Handle relationship fields\n if (field.type === 'relationship') {\n const relationshipField = field\n\n // Store the original filterOptions\n const originalFilterOptions = relationshipField.filterOptions\n\n // Create new filterOptions that includes baseFilter\n relationshipField.filterOptions = async (args) => {\n const { relationTo, req, user } = args\n\n // Call original filterOptions if it exists\n const originalResult =\n typeof originalFilterOptions === 'function'\n ? await originalFilterOptions(args)\n : (originalFilterOptions ?? true)\n\n // If original filter returns false, respect that\n if (originalResult === false) {\n return false\n }\n\n // Get the collection's admin config\n const admin = config.collections.find(({ slug }) => slug === relationTo)?.admin\n\n // Check if collection is hidden\n const hidden = admin?.hidden\n if (typeof hidden === 'function' && hidden({ user } as { user: TypedUser })) {\n return false\n }\n\n // Apply baseFilter (with backwards compatibility for baseListFilter)\n const baseFilter = admin?.baseFilter ?? admin?.baseListFilter\n const baseFilterResult = await baseFilter?.({\n limit: 0,\n page: 1,\n req,\n sort: 'id',\n })\n\n // If no baseFilter, return original result\n if (!baseFilterResult) {\n return originalResult\n }\n\n // If original result is true, just return the baseFilter\n if (originalResult === true) {\n return baseFilterResult\n }\n\n // Combine original and baseFilter results\n return combineWhereConstraints([originalResult, baseFilterResult], 'and')\n }\n\n return relationshipField\n }\n\n // Recursively process nested fields\n if ('fields' in field && field.fields) {\n return {\n ...field,\n fields: applyBaseFilterToFields(field.fields, config),\n }\n }\n\n // Handle tabs\n if (field.type === 'tabs' && 'tabs' in field) {\n return {\n ...field,\n tabs: field.tabs.map((tab) => ({\n ...tab,\n fields: applyBaseFilterToFields(tab.fields, config),\n })),\n }\n }\n\n // Handle blocks\n if (field.type === 'blocks') {\n const blocks = (field.blockReferences ?? field.blocks ?? []) as Block[]\n return {\n ...field,\n blocks: blocks.map((block) => {\n if (typeof block === 'string') {\n return block\n }\n return {\n ...block,\n fields: applyBaseFilterToFields(block.fields, config),\n }\n }),\n }\n }\n\n return field\n })\n}\n"],"names":["combineWhereConstraints","applyBaseFilterToFields","fields","config","map","field","type","relationshipField","originalFilterOptions","filterOptions","args","relationTo","req","user","originalResult","admin","collections","find","slug","hidden","baseFilter","baseListFilter","baseFilterResult","limit","page","sort","tabs","tab","blocks","blockReferences","block"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,iBAAgB;AAExD;;;;;;CAMC,GACD,OAAO,SAASC,wBAAwBC,MAAe,EAAEC,MAAuB;IAC9E,OAAOD,OAAOE,GAAG,CAAC,CAACC;QACjB,6BAA6B;QAC7B,IAAIA,MAAMC,IAAI,KAAK,gBAAgB;YACjC,MAAMC,oBAAoBF;YAE1B,mCAAmC;YACnC,MAAMG,wBAAwBD,kBAAkBE,aAAa;YAE7D,oDAAoD;YACpDF,kBAAkBE,aAAa,GAAG,OAAOC;gBACvC,MAAM,EAAEC,UAAU,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGH;gBAElC,2CAA2C;gBAC3C,MAAMI,iBACJ,OAAON,0BAA0B,aAC7B,MAAMA,sBAAsBE,QAC3BF,yBAAyB;gBAEhC,iDAAiD;gBACjD,IAAIM,mBAAmB,OAAO;oBAC5B,OAAO;gBACT;gBAEA,oCAAoC;gBACpC,MAAMC,QAAQZ,OAAOa,WAAW,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASP,aAAaI;gBAE1E,gCAAgC;gBAChC,MAAMI,SAASJ,OAAOI;gBACtB,IAAI,OAAOA,WAAW,cAAcA,OAAO;oBAAEN;gBAAK,IAA2B;oBAC3E,OAAO;gBACT;gBAEA,qEAAqE;gBACrE,MAAMO,aAAaL,OAAOK,cAAcL,OAAOM;gBAC/C,MAAMC,mBAAmB,MAAMF,aAAa;oBAC1CG,OAAO;oBACPC,MAAM;oBACNZ;oBACAa,MAAM;gBACR;gBAEA,2CAA2C;gBAC3C,IAAI,CAACH,kBAAkB;oBACrB,OAAOR;gBACT;gBAEA,yDAAyD;gBACzD,IAAIA,mBAAmB,MAAM;oBAC3B,OAAOQ;gBACT;gBAEA,0CAA0C;gBAC1C,OAAOtB,wBAAwB;oBAACc;oBAAgBQ;iBAAiB,EAAE;YACrE;YAEA,OAAOf;QACT;QAEA,oCAAoC;QACpC,IAAI,YAAYF,SAASA,MAAMH,MAAM,EAAE;YACrC,OAAO;gBACL,GAAGG,KAAK;gBACRH,QAAQD,wBAAwBI,MAAMH,MAAM,EAAEC;YAChD;QACF;QAEA,cAAc;QACd,IAAIE,MAAMC,IAAI,KAAK,UAAU,UAAUD,OAAO;YAC5C,OAAO;gBACL,GAAGA,KAAK;gBACRqB,MAAMrB,MAAMqB,IAAI,CAACtB,GAAG,CAAC,CAACuB,MAAS,CAAA;wBAC7B,GAAGA,GAAG;wBACNzB,QAAQD,wBAAwB0B,IAAIzB,MAAM,EAAEC;oBAC9C,CAAA;YACF;QACF;QAEA,gBAAgB;QAChB,IAAIE,MAAMC,IAAI,KAAK,UAAU;YAC3B,MAAMsB,SAAUvB,MAAMwB,eAAe,IAAIxB,MAAMuB,MAAM,IAAI,EAAE;YAC3D,OAAO;gBACL,GAAGvB,KAAK;gBACRuB,QAAQA,OAAOxB,GAAG,CAAC,CAAC0B;oBAClB,IAAI,OAAOA,UAAU,UAAU;wBAC7B,OAAOA;oBACT;oBACA,OAAO;wBACL,GAAGA,KAAK;wBACR5B,QAAQD,wBAAwB6B,MAAM5B,MAAM,EAAEC;oBAChD;gBACF;YACF;QACF;QAEA,OAAOE;IACT;AACF"}
@@ -34,45 +34,44 @@
34
34
  * ],
35
35
  * })
36
36
  * ```
37
- */export function buildEditorState({
38
- nodes,
39
- text
40
- }) {
41
- const editorJSON = {
42
- root: {
43
- type: 'root',
44
- children: [],
45
- direction: 'ltr',
46
- format: '',
47
- indent: 0,
48
- version: 1
37
+ */ export function buildEditorState({ nodes, text }) {
38
+ const editorJSON = {
39
+ root: {
40
+ type: 'root',
41
+ children: [],
42
+ direction: 'ltr',
43
+ format: '',
44
+ indent: 0,
45
+ version: 1
46
+ }
47
+ };
48
+ if (text) {
49
+ editorJSON.root.children.push({
50
+ type: 'paragraph',
51
+ children: [
52
+ {
53
+ type: 'text',
54
+ detail: 0,
55
+ format: 0,
56
+ mode: 'normal',
57
+ style: '',
58
+ text,
59
+ version: 1
60
+ }
61
+ ],
62
+ direction: 'ltr',
63
+ format: '',
64
+ indent: 0,
65
+ textFormat: 0,
66
+ textStyle: '',
67
+ version: 1
68
+ });
49
69
  }
50
- };
51
- if (text) {
52
- editorJSON.root.children.push({
53
- type: 'paragraph',
54
- children: [{
55
- type: 'text',
56
- detail: 0,
57
- format: 0,
58
- mode: 'normal',
59
- style: '',
60
- text,
61
- version: 1
62
- }],
63
- direction: 'ltr',
64
- format: '',
65
- indent: 0,
66
- textFormat: 0,
67
- textStyle: '',
68
- version: 1
69
- });
70
- }
71
- if (nodes?.length) {
72
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
- editorJSON.root.children.push(...nodes);
74
- }
75
- return editorJSON;
70
+ if (nodes?.length) {
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ editorJSON.root.children.push(...nodes);
73
+ }
74
+ return editorJSON;
76
75
  }
77
76
  /**
78
77
  *
@@ -80,6 +79,6 @@
80
79
  *
81
80
  * @experimental this API may change or be removed in a minor release
82
81
  * @internal
83
- */
84
- export const buildDefaultEditorState = buildEditorState;
82
+ */ export const buildDefaultEditorState = buildEditorState;
83
+
85
84
  //# sourceMappingURL=buildEditorState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildEditorState.js","names":["buildEditorState","nodes","text","editorJSON","root","type","children","direction","format","indent","version","push","detail","mode","style","textFormat","textStyle","length","buildDefaultEditorState"],"sources":["../../src/utilities/buildEditorState.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type { DefaultNodeTypes, DefaultTypedEditorState, TypedEditorState } from '../nodeTypes.js'\n\n/**\n * Helper to build lexical editor state JSON from text and/or nodes.\n *\n * @param nodes - The nodes to include in the editor state. If you pass the `text` argument, this will append your nodes after the first paragraph node.\n * @param text - The text content to include in the editor state. This will create a paragraph node with a text node for you and set that as the first node.\n * @returns The constructed editor state JSON.\n *\n * @example\n *\n * just passing text:\n *\n * ```ts\n * const editorState = buildEditorState<DefaultNodeTypes>({ text: 'Hello world' }) // result typed as DefaultTypedEditorState\n * ```\n *\n * @example\n *\n * passing nodes:\n *\n * ```ts\n * const editorState = // result typed as TypedEditorState<DefaultNodeTypes | SerializedBlockNode> (or TypedEditorState<SerializedBlockNode>)\n * buildEditorState<DefaultNodeTypes | SerializedBlockNode>({ // or just buildEditorState<SerializedBlockNode> if you *only* want to allow block nodes\n * nodes: [\n * {\n * type: 'block',\n * fields: {\n * id: 'id',\n * blockName: 'Cool block',\n * blockType: 'myBlock',\n * },\n * format: 'left',\n * version: 1,\n * }\n * ],\n * })\n * ```\n */\nexport function buildEditorState<T extends SerializedLexicalNode>({\n nodes,\n text,\n}: {\n nodes?: TypedEditorState<T>['root']['children']\n text?: string\n}): TypedEditorState<T> {\n const editorJSON: DefaultTypedEditorState = {\n root: {\n type: 'root',\n children: [],\n direction: 'ltr',\n format: '',\n indent: 0,\n version: 1,\n },\n }\n\n if (text) {\n editorJSON.root.children.push({\n type: 'paragraph',\n children: [\n {\n type: 'text',\n detail: 0,\n format: 0,\n mode: 'normal',\n style: '',\n text,\n version: 1,\n },\n ],\n direction: 'ltr',\n format: '',\n indent: 0,\n textFormat: 0,\n textStyle: '',\n version: 1,\n })\n }\n\n if (nodes?.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n editorJSON.root.children.push(...(nodes as any))\n }\n\n return editorJSON as TypedEditorState<T>\n}\n\n/**\n *\n * Alias for `buildEditorState<DefaultNodeTypes>`\n *\n * @experimental this API may change or be removed in a minor release\n * @internal\n */\nexport const buildDefaultEditorState: typeof buildEditorState<DefaultNodeTypes> =\n buildEditorState<DefaultNodeTypes>\n"],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCA,OAAO,SAASA,iBAAkD;EAChEC,KAAK;EACLC;AAAI,CAIL;EACC,MAAMC,UAAA,GAAsC;IAC1CC,IAAA,EAAM;MACJC,IAAA,EAAM;MACNC,QAAA,EAAU,EAAE;MACZC,SAAA,EAAW;MACXC,MAAA,EAAQ;MACRC,MAAA,EAAQ;MACRC,OAAA,EAAS;IACX;EACF;EAEA,IAAIR,IAAA,EAAM;IACRC,UAAA,CAAWC,IAAI,CAACE,QAAQ,CAACK,IAAI,CAAC;MAC5BN,IAAA,EAAM;MACNC,QAAA,EAAU,CACR;QACED,IAAA,EAAM;QACNO,MAAA,EAAQ;QACRJ,MAAA,EAAQ;QACRK,IAAA,EAAM;QACNC,KAAA,EAAO;QACPZ,IAAA;QACAQ,OAAA,EAAS;MACX,EACD;MACDH,SAAA,EAAW;MACXC,MAAA,EAAQ;MACRC,MAAA,EAAQ;MACRM,UAAA,EAAY;MACZC,SAAA,EAAW;MACXN,OAAA,EAAS;IACX;EACF;EAEA,IAAIT,KAAA,EAAOgB,MAAA,EAAQ;IACjB;IACAd,UAAA,CAAWC,IAAI,CAACE,QAAQ,CAACK,IAAI,IAAKV,KAAA;EACpC;EAEA,OAAOE,UAAA;AACT;AAEA;;;;;;;AAOA,OAAO,MAAMe,uBAAA,GACXlB,gBAAA","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/buildEditorState.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type { DefaultNodeTypes, DefaultTypedEditorState, TypedEditorState } from '../nodeTypes.js'\n\n/**\n * Helper to build lexical editor state JSON from text and/or nodes.\n *\n * @param nodes - The nodes to include in the editor state. If you pass the `text` argument, this will append your nodes after the first paragraph node.\n * @param text - The text content to include in the editor state. This will create a paragraph node with a text node for you and set that as the first node.\n * @returns The constructed editor state JSON.\n *\n * @example\n *\n * just passing text:\n *\n * ```ts\n * const editorState = buildEditorState<DefaultNodeTypes>({ text: 'Hello world' }) // result typed as DefaultTypedEditorState\n * ```\n *\n * @example\n *\n * passing nodes:\n *\n * ```ts\n * const editorState = // result typed as TypedEditorState<DefaultNodeTypes | SerializedBlockNode> (or TypedEditorState<SerializedBlockNode>)\n * buildEditorState<DefaultNodeTypes | SerializedBlockNode>({ // or just buildEditorState<SerializedBlockNode> if you *only* want to allow block nodes\n * nodes: [\n * {\n * type: 'block',\n * fields: {\n * id: 'id',\n * blockName: 'Cool block',\n * blockType: 'myBlock',\n * },\n * format: 'left',\n * version: 1,\n * }\n * ],\n * })\n * ```\n */\nexport function buildEditorState<T extends SerializedLexicalNode>({\n nodes,\n text,\n}: {\n nodes?: TypedEditorState<T>['root']['children']\n text?: string\n}): TypedEditorState<T> {\n const editorJSON: DefaultTypedEditorState = {\n root: {\n type: 'root',\n children: [],\n direction: 'ltr',\n format: '',\n indent: 0,\n version: 1,\n },\n }\n\n if (text) {\n editorJSON.root.children.push({\n type: 'paragraph',\n children: [\n {\n type: 'text',\n detail: 0,\n format: 0,\n mode: 'normal',\n style: '',\n text,\n version: 1,\n },\n ],\n direction: 'ltr',\n format: '',\n indent: 0,\n textFormat: 0,\n textStyle: '',\n version: 1,\n })\n }\n\n if (nodes?.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n editorJSON.root.children.push(...(nodes as any))\n }\n\n return editorJSON as TypedEditorState<T>\n}\n\n/**\n *\n * Alias for `buildEditorState<DefaultNodeTypes>`\n *\n * @experimental this API may change or be removed in a minor release\n * @internal\n */\nexport const buildDefaultEditorState: typeof buildEditorState<DefaultNodeTypes> =\n buildEditorState<DefaultNodeTypes>\n"],"names":["buildEditorState","nodes","text","editorJSON","root","type","children","direction","format","indent","version","push","detail","mode","style","textFormat","textStyle","length","buildDefaultEditorState"],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCC,GACD,OAAO,SAASA,iBAAkD,EAChEC,KAAK,EACLC,IAAI,EAIL;IACC,MAAMC,aAAsC;QAC1CC,MAAM;YACJC,MAAM;YACNC,UAAU,EAAE;YACZC,WAAW;YACXC,QAAQ;YACRC,QAAQ;YACRC,SAAS;QACX;IACF;IAEA,IAAIR,MAAM;QACRC,WAAWC,IAAI,CAACE,QAAQ,CAACK,IAAI,CAAC;YAC5BN,MAAM;YACNC,UAAU;gBACR;oBACED,MAAM;oBACNO,QAAQ;oBACRJ,QAAQ;oBACRK,MAAM;oBACNC,OAAO;oBACPZ;oBACAQ,SAAS;gBACX;aACD;YACDH,WAAW;YACXC,QAAQ;YACRC,QAAQ;YACRM,YAAY;YACZC,WAAW;YACXN,SAAS;QACX;IACF;IAEA,IAAIT,OAAOgB,QAAQ;QACjB,8DAA8D;QAC9Dd,WAAWC,IAAI,CAACE,QAAQ,CAACK,IAAI,IAAKV;IACpC;IAEA,OAAOE;AACT;AAEA;;;;;;CAMC,GACD,OAAO,MAAMe,0BACXlB,iBAAkC"}
@@ -1,57 +1,56 @@
1
1
  import { fieldSchemasToFormState } from '@payloadcms/ui/forms/fieldSchemasToFormState';
2
- export async function buildInitialState({
3
- context,
4
- initialState: initialStateFromArgs,
5
- nodeData
6
- }) {
7
- let initialState = initialStateFromArgs ?? {};
8
- for (const node of nodeData) {
9
- if ('children' in node) {
10
- initialState = await buildInitialState({
11
- context,
12
- initialState,
13
- nodeData: node.children
14
- });
15
- }
16
- if (node.type === 'block' || node.type === 'inlineBlock') {
17
- const blockNode = node;
18
- const id = blockNode?.fields?.id;
19
- if (!id) {
20
- continue;
21
- }
22
- const schemaFieldsPath = node.type === 'block' ? `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockNode.fields.blockType}.fields` : `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${blockNode.fields.blockType}.fields`;
23
- // Build form state for the block
24
- const formStateResult = await fieldSchemasToFormState({
25
- id: context.id,
26
- clientFieldSchemaMap: context.clientFieldSchemaMap,
27
- collectionSlug: context.collectionSlug,
28
- data: blockNode.fields,
29
- documentData: context.documentData,
30
- fields: context.fieldSchemaMap.get(schemaFieldsPath)?.fields,
31
- fieldSchemaMap: context.fieldSchemaMap,
32
- initialBlockData: blockNode.fields,
33
- operation: context.operation,
34
- permissions: true,
35
- preferences: context.preferences,
36
- readOnly: context.disabled,
37
- renderAllFields: true,
38
- renderFieldFn: context.renderFieldFn,
39
- req: context.req,
40
- schemaPath: schemaFieldsPath
41
- });
42
- if (!initialState[id]) {
43
- initialState[id] = {};
44
- }
45
- initialState[id].formState = formStateResult;
46
- if (node.type === 'block') {
47
- const currentFieldPreferences = context.preferences?.fields?.[context.field.name];
48
- const collapsedArray = currentFieldPreferences?.collapsed;
49
- if (Array.isArray(collapsedArray) && collapsedArray.includes(id)) {
50
- initialState[id].collapsed = true;
2
+ export async function buildInitialState({ context, initialState: initialStateFromArgs, nodeData }) {
3
+ let initialState = initialStateFromArgs ?? {};
4
+ for (const node of nodeData){
5
+ if ('children' in node) {
6
+ initialState = await buildInitialState({
7
+ context,
8
+ initialState,
9
+ nodeData: node.children
10
+ });
11
+ }
12
+ if (node.type === 'block' || node.type === 'inlineBlock') {
13
+ const blockNode = node;
14
+ const id = blockNode?.fields?.id;
15
+ if (!id) {
16
+ continue;
17
+ }
18
+ const schemaFieldsPath = node.type === 'block' ? `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockNode.fields.blockType}.fields` : `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${blockNode.fields.blockType}.fields`;
19
+ // Build form state for the block
20
+ const formStateResult = await fieldSchemasToFormState({
21
+ id: context.id,
22
+ clientFieldSchemaMap: context.clientFieldSchemaMap,
23
+ collectionSlug: context.collectionSlug,
24
+ data: blockNode.fields,
25
+ documentData: context.documentData,
26
+ fields: context.fieldSchemaMap.get(schemaFieldsPath)?.fields,
27
+ fieldSchemaMap: context.fieldSchemaMap,
28
+ initialBlockData: blockNode.fields,
29
+ operation: context.operation,
30
+ // TODO: Type
31
+ permissions: true,
32
+ preferences: context.preferences,
33
+ readOnly: context.disabled,
34
+ renderAllFields: true,
35
+ // If this function runs, the parent lexical field is being re-rendered => thus we can assume all its sub-fields need to be re-rendered
36
+ renderFieldFn: context.renderFieldFn,
37
+ req: context.req,
38
+ schemaPath: schemaFieldsPath
39
+ });
40
+ if (!initialState[id]) {
41
+ initialState[id] = {};
42
+ }
43
+ initialState[id].formState = formStateResult;
44
+ if (node.type === 'block') {
45
+ const currentFieldPreferences = context.preferences?.fields?.[context.field.name];
46
+ const collapsedArray = currentFieldPreferences?.collapsed;
47
+ if (Array.isArray(collapsedArray) && collapsedArray.includes(id)) {
48
+ initialState[id].collapsed = true;
49
+ }
50
+ }
51
51
  }
52
- }
53
52
  }
54
- }
55
- return initialState;
53
+ return initialState;
56
54
  }
55
+
57
56
  //# sourceMappingURL=buildInitialState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildInitialState.js","names":["fieldSchemasToFormState","buildInitialState","context","initialState","initialStateFromArgs","nodeData","node","children","type","blockNode","id","fields","schemaFieldsPath","lexicalFieldSchemaPath","blockType","formStateResult","clientFieldSchemaMap","collectionSlug","data","documentData","fieldSchemaMap","get","initialBlockData","operation","permissions","preferences","readOnly","disabled","renderAllFields","renderFieldFn","req","schemaPath","formState","currentFieldPreferences","field","name","collapsedArray","collapsed","Array","isArray","includes"],"sources":["../../src/utilities/buildInitialState.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientFieldSchemaMap,\n DocumentPreferences,\n FieldSchemaMap,\n FormState,\n Operation,\n PayloadRequest,\n RichTextField,\n SanitizedFieldPermissions,\n} from 'payload'\n\nimport { fieldSchemasToFormState } from '@payloadcms/ui/forms/fieldSchemasToFormState'\n\nimport type { SerializedBlockNode } from '../nodeTypes.js'\n\nexport type InitialLexicalFormState = {\n [nodeID: string]: {\n [key: string]: any\n formState?: FormState\n }\n}\n\ntype Props = {\n context: {\n clientFieldSchemaMap: ClientFieldSchemaMap\n collectionSlug: string\n disabled?: boolean\n documentData?: any\n field: RichTextField\n fieldSchemaMap: FieldSchemaMap\n id?: number | string\n lexicalFieldSchemaPath: string\n operation: Operation\n permissions?: SanitizedFieldPermissions\n preferences: DocumentPreferences\n renderFieldFn: any\n req: PayloadRequest\n }\n initialState?: InitialLexicalFormState\n nodeData: SerializedLexicalNode[]\n}\n\nexport async function buildInitialState({\n context,\n initialState: initialStateFromArgs,\n nodeData,\n}: Props): Promise<InitialLexicalFormState> {\n let initialState: InitialLexicalFormState = initialStateFromArgs ?? {}\n for (const node of nodeData) {\n if ('children' in node) {\n initialState = await buildInitialState({\n context,\n initialState,\n nodeData: node.children as SerializedLexicalNode[],\n })\n }\n\n if (node.type === 'block' || node.type === 'inlineBlock') {\n const blockNode = node as SerializedBlockNode\n const id = blockNode?.fields?.id\n if (!id) {\n continue\n }\n\n const schemaFieldsPath =\n node.type === 'block'\n ? `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockNode.fields.blockType}.fields`\n : `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${blockNode.fields.blockType}.fields`\n\n // Build form state for the block\n\n const formStateResult = await fieldSchemasToFormState({\n id: context.id,\n clientFieldSchemaMap: context.clientFieldSchemaMap,\n collectionSlug: context.collectionSlug,\n data: blockNode.fields,\n documentData: context.documentData,\n fields: (context.fieldSchemaMap.get(schemaFieldsPath) as any)?.fields,\n fieldSchemaMap: context.fieldSchemaMap,\n initialBlockData: blockNode.fields,\n operation: context.operation as any, // TODO: Type\n permissions: true,\n preferences: context.preferences,\n readOnly: context.disabled,\n renderAllFields: true, // If this function runs, the parent lexical field is being re-rendered => thus we can assume all its sub-fields need to be re-rendered\n renderFieldFn: context.renderFieldFn,\n req: context.req,\n schemaPath: schemaFieldsPath,\n })\n\n if (!initialState[id]) {\n initialState[id] = {}\n }\n\n initialState[id].formState = formStateResult\n\n if (node.type === 'block') {\n const currentFieldPreferences = context.preferences?.fields?.[context.field.name]\n const collapsedArray = currentFieldPreferences?.collapsed\n if (Array.isArray(collapsedArray) && collapsedArray.includes(id)) {\n initialState[id].collapsed = true\n }\n }\n }\n }\n return initialState\n}\n"],"mappings":"AAYA,SAASA,uBAAuB,QAAQ;AA+BxC,OAAO,eAAeC,kBAAkB;EACtCC,OAAO;EACPC,YAAA,EAAcC,oBAAoB;EAClCC;AAAQ,CACF;EACN,IAAIF,YAAA,GAAwCC,oBAAA,IAAwB,CAAC;EACrE,KAAK,MAAME,IAAA,IAAQD,QAAA,EAAU;IAC3B,IAAI,cAAcC,IAAA,EAAM;MACtBH,YAAA,GAAe,MAAMF,iBAAA,CAAkB;QACrCC,OAAA;QACAC,YAAA;QACAE,QAAA,EAAUC,IAAA,CAAKC;MACjB;IACF;IAEA,IAAID,IAAA,CAAKE,IAAI,KAAK,WAAWF,IAAA,CAAKE,IAAI,KAAK,eAAe;MACxD,MAAMC,SAAA,GAAYH,IAAA;MAClB,MAAMI,EAAA,GAAKD,SAAA,EAAWE,MAAA,EAAQD,EAAA;MAC9B,IAAI,CAACA,EAAA,EAAI;QACP;MACF;MAEA,MAAME,gBAAA,GACJN,IAAA,CAAKE,IAAI,KAAK,UACV,GAAGN,OAAA,CAAQW,sBAAsB,mDAAmDJ,SAAA,CAAUE,MAAM,CAACG,SAAS,SAAS,GACvH,GAAGZ,OAAA,CAAQW,sBAAsB,0DAA0DJ,SAAA,CAAUE,MAAM,CAACG,SAAS,SAAS;MAEpI;MAEA,MAAMC,eAAA,GAAkB,MAAMf,uBAAA,CAAwB;QACpDU,EAAA,EAAIR,OAAA,CAAQQ,EAAE;QACdM,oBAAA,EAAsBd,OAAA,CAAQc,oBAAoB;QAClDC,cAAA,EAAgBf,OAAA,CAAQe,cAAc;QACtCC,IAAA,EAAMT,SAAA,CAAUE,MAAM;QACtBQ,YAAA,EAAcjB,OAAA,CAAQiB,YAAY;QAClCR,MAAA,EAAST,OAAA,CAAQkB,cAAc,CAACC,GAAG,CAACT,gBAAA,GAA2BD,MAAA;QAC/DS,cAAA,EAAgBlB,OAAA,CAAQkB,cAAc;QACtCE,gBAAA,EAAkBb,SAAA,CAAUE,MAAM;QAClCY,SAAA,EAAWrB,OAAA,CAAQqB,SAAS;QAC5BC,WAAA,EAAa;QACbC,WAAA,EAAavB,OAAA,CAAQuB,WAAW;QAChCC,QAAA,EAAUxB,OAAA,CAAQyB,QAAQ;QAC1BC,eAAA,EAAiB;QACjBC,aAAA,EAAe3B,OAAA,CAAQ2B,aAAa;QACpCC,GAAA,EAAK5B,OAAA,CAAQ4B,GAAG;QAChBC,UAAA,EAAYnB;MACd;MAEA,IAAI,CAACT,YAAY,CAACO,EAAA,CAAG,EAAE;QACrBP,YAAY,CAACO,EAAA,CAAG,GAAG,CAAC;MACtB;MAEAP,YAAY,CAACO,EAAA,CAAG,CAACsB,SAAS,GAAGjB,eAAA;MAE7B,IAAIT,IAAA,CAAKE,IAAI,KAAK,SAAS;QACzB,MAAMyB,uBAAA,GAA0B/B,OAAA,CAAQuB,WAAW,EAAEd,MAAA,GAAST,OAAA,CAAQgC,KAAK,CAACC,IAAI,CAAC;QACjF,MAAMC,cAAA,GAAiBH,uBAAA,EAAyBI,SAAA;QAChD,IAAIC,KAAA,CAAMC,OAAO,CAACH,cAAA,KAAmBA,cAAA,CAAeI,QAAQ,CAAC9B,EAAA,GAAK;UAChEP,YAAY,CAACO,EAAA,CAAG,CAAC2B,SAAS,GAAG;QAC/B;MACF;IACF;EACF;EACA,OAAOlC,YAAA;AACT","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/buildInitialState.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientFieldSchemaMap,\n DocumentPreferences,\n FieldSchemaMap,\n FormState,\n Operation,\n PayloadRequest,\n RichTextField,\n SanitizedFieldPermissions,\n} from 'payload'\n\nimport { fieldSchemasToFormState } from '@payloadcms/ui/forms/fieldSchemasToFormState'\n\nimport type { SerializedBlockNode } from '../nodeTypes.js'\n\nexport type InitialLexicalFormState = {\n [nodeID: string]: {\n [key: string]: any\n formState?: FormState\n }\n}\n\ntype Props = {\n context: {\n clientFieldSchemaMap: ClientFieldSchemaMap\n collectionSlug: string\n disabled?: boolean\n documentData?: any\n field: RichTextField\n fieldSchemaMap: FieldSchemaMap\n id?: number | string\n lexicalFieldSchemaPath: string\n operation: Operation\n permissions?: SanitizedFieldPermissions\n preferences: DocumentPreferences\n renderFieldFn: any\n req: PayloadRequest\n }\n initialState?: InitialLexicalFormState\n nodeData: SerializedLexicalNode[]\n}\n\nexport async function buildInitialState({\n context,\n initialState: initialStateFromArgs,\n nodeData,\n}: Props): Promise<InitialLexicalFormState> {\n let initialState: InitialLexicalFormState = initialStateFromArgs ?? {}\n for (const node of nodeData) {\n if ('children' in node) {\n initialState = await buildInitialState({\n context,\n initialState,\n nodeData: node.children as SerializedLexicalNode[],\n })\n }\n\n if (node.type === 'block' || node.type === 'inlineBlock') {\n const blockNode = node as SerializedBlockNode\n const id = blockNode?.fields?.id\n if (!id) {\n continue\n }\n\n const schemaFieldsPath =\n node.type === 'block'\n ? `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockNode.fields.blockType}.fields`\n : `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${blockNode.fields.blockType}.fields`\n\n // Build form state for the block\n\n const formStateResult = await fieldSchemasToFormState({\n id: context.id,\n clientFieldSchemaMap: context.clientFieldSchemaMap,\n collectionSlug: context.collectionSlug,\n data: blockNode.fields,\n documentData: context.documentData,\n fields: (context.fieldSchemaMap.get(schemaFieldsPath) as any)?.fields,\n fieldSchemaMap: context.fieldSchemaMap,\n initialBlockData: blockNode.fields,\n operation: context.operation as any, // TODO: Type\n permissions: true,\n preferences: context.preferences,\n readOnly: context.disabled,\n renderAllFields: true, // If this function runs, the parent lexical field is being re-rendered => thus we can assume all its sub-fields need to be re-rendered\n renderFieldFn: context.renderFieldFn,\n req: context.req,\n schemaPath: schemaFieldsPath,\n })\n\n if (!initialState[id]) {\n initialState[id] = {}\n }\n\n initialState[id].formState = formStateResult\n\n if (node.type === 'block') {\n const currentFieldPreferences = context.preferences?.fields?.[context.field.name]\n const collapsedArray = currentFieldPreferences?.collapsed\n if (Array.isArray(collapsedArray) && collapsedArray.includes(id)) {\n initialState[id].collapsed = true\n }\n }\n }\n }\n return initialState\n}\n"],"names":["fieldSchemasToFormState","buildInitialState","context","initialState","initialStateFromArgs","nodeData","node","children","type","blockNode","id","fields","schemaFieldsPath","lexicalFieldSchemaPath","blockType","formStateResult","clientFieldSchemaMap","collectionSlug","data","documentData","fieldSchemaMap","get","initialBlockData","operation","permissions","preferences","readOnly","disabled","renderAllFields","renderFieldFn","req","schemaPath","formState","currentFieldPreferences","field","name","collapsedArray","collapsed","Array","isArray","includes"],"mappings":"AAYA,SAASA,uBAAuB,QAAQ,+CAA8C;AA+BtF,OAAO,eAAeC,kBAAkB,EACtCC,OAAO,EACPC,cAAcC,oBAAoB,EAClCC,QAAQ,EACF;IACN,IAAIF,eAAwCC,wBAAwB,CAAC;IACrE,KAAK,MAAME,QAAQD,SAAU;QAC3B,IAAI,cAAcC,MAAM;YACtBH,eAAe,MAAMF,kBAAkB;gBACrCC;gBACAC;gBACAE,UAAUC,KAAKC,QAAQ;YACzB;QACF;QAEA,IAAID,KAAKE,IAAI,KAAK,WAAWF,KAAKE,IAAI,KAAK,eAAe;YACxD,MAAMC,YAAYH;YAClB,MAAMI,KAAKD,WAAWE,QAAQD;YAC9B,IAAI,CAACA,IAAI;gBACP;YACF;YAEA,MAAME,mBACJN,KAAKE,IAAI,KAAK,UACV,GAAGN,QAAQW,sBAAsB,CAAC,gDAAgD,EAAEJ,UAAUE,MAAM,CAACG,SAAS,CAAC,OAAO,CAAC,GACvH,GAAGZ,QAAQW,sBAAsB,CAAC,uDAAuD,EAAEJ,UAAUE,MAAM,CAACG,SAAS,CAAC,OAAO,CAAC;YAEpI,iCAAiC;YAEjC,MAAMC,kBAAkB,MAAMf,wBAAwB;gBACpDU,IAAIR,QAAQQ,EAAE;gBACdM,sBAAsBd,QAAQc,oBAAoB;gBAClDC,gBAAgBf,QAAQe,cAAc;gBACtCC,MAAMT,UAAUE,MAAM;gBACtBQ,cAAcjB,QAAQiB,YAAY;gBAClCR,QAAST,QAAQkB,cAAc,CAACC,GAAG,CAACT,mBAA2BD;gBAC/DS,gBAAgBlB,QAAQkB,cAAc;gBACtCE,kBAAkBb,UAAUE,MAAM;gBAClCY,WAAWrB,QAAQqB,SAAS;gBAAS,aAAa;gBAClDC,aAAa;gBACbC,aAAavB,QAAQuB,WAAW;gBAChCC,UAAUxB,QAAQyB,QAAQ;gBAC1BC,iBAAiB;gBAAM,uIAAuI;gBAC9JC,eAAe3B,QAAQ2B,aAAa;gBACpCC,KAAK5B,QAAQ4B,GAAG;gBAChBC,YAAYnB;YACd;YAEA,IAAI,CAACT,YAAY,CAACO,GAAG,EAAE;gBACrBP,YAAY,CAACO,GAAG,GAAG,CAAC;YACtB;YAEAP,YAAY,CAACO,GAAG,CAACsB,SAAS,GAAGjB;YAE7B,IAAIT,KAAKE,IAAI,KAAK,SAAS;gBACzB,MAAMyB,0BAA0B/B,QAAQuB,WAAW,EAAEd,QAAQ,CAACT,QAAQgC,KAAK,CAACC,IAAI,CAAC;gBACjF,MAAMC,iBAAiBH,yBAAyBI;gBAChD,IAAIC,MAAMC,OAAO,CAACH,mBAAmBA,eAAeI,QAAQ,CAAC9B,KAAK;oBAChEP,YAAY,CAACO,GAAG,CAAC2B,SAAS,GAAG;gBAC/B;YACF;QACF;IACF;IACA,OAAOlC;AACT"}
@@ -1,51 +1,45 @@
1
- export const createClientFeature = feature => {
2
- const featureProviderProvideClient = props => {
3
- const featureProviderClient = {
4
- clientFeatureProps: props
5
- };
6
- if (typeof feature === 'function') {
7
- featureProviderClient.feature = ({
8
- config,
9
- featureClientImportMap,
10
- featureClientSchemaMap,
11
- featureProviderMap,
12
- field,
13
- resolvedFeatures,
14
- schemaPath,
15
- unSanitizedEditorConfig
16
- }) => {
17
- const toReturn = feature({
18
- config,
19
- featureClientImportMap,
20
- featureClientSchemaMap,
21
- featureProviderMap,
22
- field,
23
- props,
24
- resolvedFeatures,
25
- schemaPath,
26
- unSanitizedEditorConfig
27
- });
28
- if (toReturn.sanitizedClientFeatureProps === null) {
29
- toReturn.sanitizedClientFeatureProps = props;
1
+ /** unSanitizedEditorConfig.features, but mapped */ // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here
2
+ // unSanitized EditorConfig,
3
+ export const createClientFeature = (feature)=>{
4
+ const featureProviderProvideClient = (props)=>{
5
+ const featureProviderClient = {
6
+ clientFeatureProps: props
7
+ };
8
+ if (typeof feature === 'function') {
9
+ featureProviderClient.feature = ({ config, featureClientImportMap, featureClientSchemaMap, featureProviderMap, field, resolvedFeatures, schemaPath, unSanitizedEditorConfig })=>{
10
+ const toReturn = feature({
11
+ config,
12
+ featureClientImportMap,
13
+ featureClientSchemaMap,
14
+ featureProviderMap,
15
+ field,
16
+ props,
17
+ resolvedFeatures,
18
+ schemaPath,
19
+ unSanitizedEditorConfig
20
+ });
21
+ if (toReturn.sanitizedClientFeatureProps === null) {
22
+ toReturn.sanitizedClientFeatureProps = props;
23
+ }
24
+ return toReturn;
25
+ };
26
+ } else {
27
+ // We have to spread feature here! Otherwise, if the arg of createClientFeature is not a function, and 2
28
+ // richText editors have the same feature (even if both call it, e.g. both call UploadFeature()),
29
+ // the second richText editor here will override sanitizedClientFeatureProps of the first feature, as both richText
30
+ // editor features share the same reference to the feature object.
31
+ // Example: richText editor 1 and 2 both have UploadFeature. richText editor 1 calls UploadFeature() with custom fields,
32
+ // richText editor 2 calls UploadFeature() with NO custom fields. If we don't spread feature here, richText editor 1
33
+ // will not have any custom fields, as richText editor 2 will override the feature object.
34
+ const newFeature = {
35
+ ...feature
36
+ };
37
+ newFeature.sanitizedClientFeatureProps = props;
38
+ featureProviderClient.feature = newFeature;
30
39
  }
31
- return toReturn;
32
- };
33
- } else {
34
- // We have to spread feature here! Otherwise, if the arg of createClientFeature is not a function, and 2
35
- // richText editors have the same feature (even if both call it, e.g. both call UploadFeature()),
36
- // the second richText editor here will override sanitizedClientFeatureProps of the first feature, as both richText
37
- // editor features share the same reference to the feature object.
38
- // Example: richText editor 1 and 2 both have UploadFeature. richText editor 1 calls UploadFeature() with custom fields,
39
- // richText editor 2 calls UploadFeature() with NO custom fields. If we don't spread feature here, richText editor 1
40
- // will not have any custom fields, as richText editor 2 will override the feature object.
41
- const newFeature = {
42
- ...feature
43
- };
44
- newFeature.sanitizedClientFeatureProps = props;
45
- featureProviderClient.feature = newFeature;
46
- }
47
- return featureProviderClient;
48
- };
49
- return featureProviderProvideClient;
40
+ return featureProviderClient;
41
+ };
42
+ return featureProviderProvideClient;
50
43
  };
44
+
51
45
  //# sourceMappingURL=createClientFeature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createClientFeature.js","names":["createClientFeature","feature","featureProviderProvideClient","props","featureProviderClient","clientFeatureProps","config","featureClientImportMap","featureClientSchemaMap","featureProviderMap","field","resolvedFeatures","schemaPath","unSanitizedEditorConfig","toReturn","sanitizedClientFeatureProps","newFeature"],"sources":["../../src/utilities/createClientFeature.ts"],"sourcesContent":["import type { ClientConfig, RichTextFieldClient } from 'payload'\n\nimport type {\n BaseClientFeatureProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n ResolvedClientFeatureMap,\n} from '../features/typesClient.js'\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\nimport type { FeatureClientSchemaMap } from '../types.js'\n\nexport type CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps> =\n | ((props: {\n config: ClientConfig\n featureClientImportMap: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n field?: RichTextFieldClient\n props: BaseClientFeatureProps<UnSanitizedClientProps>\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<ClientProps>)\n | Omit<ClientFeature<ClientProps>, 'sanitizedClientFeatureProps'>\n\nexport const createClientFeature: <\n UnSanitizedClientProps = undefined,\n ClientProps = UnSanitizedClientProps,\n>(\n args: CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps>,\n) => FeatureProviderProviderClient<UnSanitizedClientProps, ClientProps> = (feature) => {\n const featureProviderProvideClient: FeatureProviderProviderClient<any, any> = (props) => {\n const featureProviderClient: Partial<FeatureProviderClient<any, any>> = {\n clientFeatureProps: props,\n }\n\n if (typeof feature === 'function') {\n featureProviderClient.feature = ({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n featureProviderMap,\n field,\n resolvedFeatures,\n schemaPath,\n unSanitizedEditorConfig,\n }) => {\n const toReturn = feature({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n featureProviderMap,\n field,\n props,\n resolvedFeatures,\n schemaPath,\n unSanitizedEditorConfig,\n })\n\n if (toReturn.sanitizedClientFeatureProps === null) {\n toReturn.sanitizedClientFeatureProps = props\n }\n\n return toReturn\n }\n } else {\n // We have to spread feature here! Otherwise, if the arg of createClientFeature is not a function, and 2\n // richText editors have the same feature (even if both call it, e.g. both call UploadFeature()),\n // the second richText editor here will override sanitizedClientFeatureProps of the first feature, as both richText\n // editor features share the same reference to the feature object.\n // Example: richText editor 1 and 2 both have UploadFeature. richText editor 1 calls UploadFeature() with custom fields,\n // richText editor 2 calls UploadFeature() with NO custom fields. If we don't spread feature here, richText editor 1\n // will not have any custom fields, as richText editor 2 will override the feature object.\n const newFeature: ClientFeature<any> = { ...feature }\n newFeature.sanitizedClientFeatureProps = props\n featureProviderClient.feature = newFeature\n }\n return featureProviderClient as FeatureProviderClient<any, any>\n }\n\n return featureProviderProvideClient\n}\n"],"mappings":"AA8BA,OAAO,MAAMA,mBAAA,GAK8DC,OAAA;EACzE,MAAMC,4BAAA,GAAyEC,KAAA;IAC7E,MAAMC,qBAAA,GAAkE;MACtEC,kBAAA,EAAoBF;IACtB;IAEA,IAAI,OAAOF,OAAA,KAAY,YAAY;MACjCG,qBAAA,CAAsBH,OAAO,GAAG,CAAC;QAC/BK,MAAM;QACNC,sBAAsB;QACtBC,sBAAsB;QACtBC,kBAAkB;QAClBC,KAAK;QACLC,gBAAgB;QAChBC,UAAU;QACVC;MAAuB,CACxB;QACC,MAAMC,QAAA,GAAWb,OAAA,CAAQ;UACvBK,MAAA;UACAC,sBAAA;UACAC,sBAAA;UACAC,kBAAA;UACAC,KAAA;UACAP,KAAA;UACAQ,gBAAA;UACAC,UAAA;UACAC;QACF;QAEA,IAAIC,QAAA,CAASC,2BAA2B,KAAK,MAAM;UACjDD,QAAA,CAASC,2BAA2B,GAAGZ,KAAA;QACzC;QAEA,OAAOW,QAAA;MACT;IACF,OAAO;MACL;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAME,UAAA,GAAiC;QAAE,GAAGf;MAAQ;MACpDe,UAAA,CAAWD,2BAA2B,GAAGZ,KAAA;MACzCC,qBAAA,CAAsBH,OAAO,GAAGe,UAAA;IAClC;IACA,OAAOZ,qBAAA;EACT;EAEA,OAAOF,4BAAA;AACT","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/createClientFeature.ts"],"sourcesContent":["import type { ClientConfig, RichTextFieldClient } from 'payload'\n\nimport type {\n BaseClientFeatureProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n ResolvedClientFeatureMap,\n} from '../features/typesClient.js'\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\nimport type { FeatureClientSchemaMap } from '../types.js'\n\nexport type CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps> =\n | ((props: {\n config: ClientConfig\n featureClientImportMap: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n field?: RichTextFieldClient\n props: BaseClientFeatureProps<UnSanitizedClientProps>\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<ClientProps>)\n | Omit<ClientFeature<ClientProps>, 'sanitizedClientFeatureProps'>\n\nexport const createClientFeature: <\n UnSanitizedClientProps = undefined,\n ClientProps = UnSanitizedClientProps,\n>(\n args: CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps>,\n) => FeatureProviderProviderClient<UnSanitizedClientProps, ClientProps> = (feature) => {\n const featureProviderProvideClient: FeatureProviderProviderClient<any, any> = (props) => {\n const featureProviderClient: Partial<FeatureProviderClient<any, any>> = {\n clientFeatureProps: props,\n }\n\n if (typeof feature === 'function') {\n featureProviderClient.feature = ({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n featureProviderMap,\n field,\n resolvedFeatures,\n schemaPath,\n unSanitizedEditorConfig,\n }) => {\n const toReturn = feature({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n featureProviderMap,\n field,\n props,\n resolvedFeatures,\n schemaPath,\n unSanitizedEditorConfig,\n })\n\n if (toReturn.sanitizedClientFeatureProps === null) {\n toReturn.sanitizedClientFeatureProps = props\n }\n\n return toReturn\n }\n } else {\n // We have to spread feature here! Otherwise, if the arg of createClientFeature is not a function, and 2\n // richText editors have the same feature (even if both call it, e.g. both call UploadFeature()),\n // the second richText editor here will override sanitizedClientFeatureProps of the first feature, as both richText\n // editor features share the same reference to the feature object.\n // Example: richText editor 1 and 2 both have UploadFeature. richText editor 1 calls UploadFeature() with custom fields,\n // richText editor 2 calls UploadFeature() with NO custom fields. If we don't spread feature here, richText editor 1\n // will not have any custom fields, as richText editor 2 will override the feature object.\n const newFeature: ClientFeature<any> = { ...feature }\n newFeature.sanitizedClientFeatureProps = props\n featureProviderClient.feature = newFeature\n }\n return featureProviderClient as FeatureProviderClient<any, any>\n }\n\n return featureProviderProvideClient\n}\n"],"names":["createClientFeature","feature","featureProviderProvideClient","props","featureProviderClient","clientFeatureProps","config","featureClientImportMap","featureClientSchemaMap","featureProviderMap","field","resolvedFeatures","schemaPath","unSanitizedEditorConfig","toReturn","sanitizedClientFeatureProps","newFeature"],"mappings":"AAkBM,iDAAiD,GAIjD,oIAAoI;AAGpI,4BAA4B;AAKlC,OAAO,MAAMA,sBAK6D,CAACC;IACzE,MAAMC,+BAAwE,CAACC;QAC7E,MAAMC,wBAAkE;YACtEC,oBAAoBF;QACtB;QAEA,IAAI,OAAOF,YAAY,YAAY;YACjCG,sBAAsBH,OAAO,GAAG,CAAC,EAC/BK,MAAM,EACNC,sBAAsB,EACtBC,sBAAsB,EACtBC,kBAAkB,EAClBC,KAAK,EACLC,gBAAgB,EAChBC,UAAU,EACVC,uBAAuB,EACxB;gBACC,MAAMC,WAAWb,QAAQ;oBACvBK;oBACAC;oBACAC;oBACAC;oBACAC;oBACAP;oBACAQ;oBACAC;oBACAC;gBACF;gBAEA,IAAIC,SAASC,2BAA2B,KAAK,MAAM;oBACjDD,SAASC,2BAA2B,GAAGZ;gBACzC;gBAEA,OAAOW;YACT;QACF,OAAO;YACL,wGAAwG;YACxG,iGAAiG;YACjG,mHAAmH;YACnH,kEAAkE;YAClE,wHAAwH;YACxH,oHAAoH;YACpH,0FAA0F;YAC1F,MAAME,aAAiC;gBAAE,GAAGf,OAAO;YAAC;YACpDe,WAAWD,2BAA2B,GAAGZ;YACzCC,sBAAsBH,OAAO,GAAGe;QAClC;QACA,OAAOZ;IACT;IAEA,OAAOF;AACT,EAAC"}