@payloadcms/richtext-lexical 3.70.0 → 3.71.0-internal-debug.80dab4c

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 (1052) 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 +37 -35
  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 +553 -410
  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 +468 -340
  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 +17 -12
  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 +7 -10
  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 +28 -37
  129. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  130. package/dist/features/converters/lexicalToHtml/async/converters/list.js +18 -26
  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.d.ts.map +1 -1
  141. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +43 -45
  142. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  143. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js +12 -11
  144. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  145. package/dist/features/converters/lexicalToHtml/async/field/index.js +56 -56
  146. package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -1
  147. package/dist/features/converters/lexicalToHtml/async/index.js +87 -97
  148. package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -1
  149. package/dist/features/converters/lexicalToHtml/async/types.js +4 -1
  150. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  151. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +57 -62
  152. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  153. package/dist/features/converters/lexicalToHtml/shared/types.js +2 -1
  154. package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -1
  155. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js +7 -10
  156. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  157. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +7 -10
  158. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  159. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js +2 -1
  160. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  161. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js +2 -1
  162. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  163. package/dist/features/converters/lexicalToHtml/sync/converters/link.js +27 -35
  164. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  165. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +18 -26
  166. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  167. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js +9 -12
  168. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  169. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js +2 -1
  170. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  171. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +27 -38
  172. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  173. package/dist/features/converters/lexicalToHtml/sync/converters/text.js +25 -26
  174. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  175. package/dist/features/converters/lexicalToHtml/sync/converters/upload.d.ts.map +1 -1
  176. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +37 -38
  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.d.ts.map +1 -1
  225. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +77 -60
  226. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  227. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js +12 -11
  228. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  229. package/dist/features/converters/lexicalToJSX/converter/index.js +123 -128
  230. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  231. package/dist/features/converters/lexicalToJSX/converter/types.js +4 -1
  232. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  233. package/dist/features/converters/lexicalToMarkdown/index.js +17 -19
  234. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  235. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +223 -146
  236. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  237. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +11 -13
  238. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  239. package/dist/features/converters/lexicalToPlaintext/shared/types.js +2 -1
  240. package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -1
  241. package/dist/features/converters/lexicalToPlaintext/sync/index.js +83 -82
  242. package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -1
  243. package/dist/features/converters/lexicalToPlaintext/sync/types.js +3 -1
  244. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  245. package/dist/features/converters/markdownToLexical/index.js +14 -16
  246. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  247. package/dist/features/converters/utilities/payloadPopulateFn.js +37 -38
  248. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  249. package/dist/features/converters/utilities/restPopulateFn.js +24 -30
  250. package/dist/features/converters/utilities/restPopulateFn.js.map +1 -1
  251. package/dist/features/debug/jsxConverter/client/index.js +7 -5
  252. package/dist/features/debug/jsxConverter/client/index.js.map +1 -1
  253. package/dist/features/debug/jsxConverter/client/plugin/index.js +27 -47
  254. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  255. package/dist/features/debug/jsxConverter/client/plugin/style.scss +12 -0
  256. package/dist/features/debug/jsxConverter/server/index.js +5 -4
  257. package/dist/features/debug/jsxConverter/server/index.js.map +1 -1
  258. package/dist/features/debug/testRecorder/client/index.js +7 -5
  259. package/dist/features/debug/testRecorder/client/index.js.map +1 -1
  260. package/dist/features/debug/testRecorder/client/plugin/index.js +456 -365
  261. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  262. package/dist/features/debug/testRecorder/client/plugin/index.scss +53 -0
  263. package/dist/features/debug/testRecorder/server/index.js +5 -4
  264. package/dist/features/debug/testRecorder/server/index.js.map +1 -1
  265. package/dist/features/debug/treeView/client/index.js +7 -5
  266. package/dist/features/debug/treeView/client/index.js.map +1 -1
  267. package/dist/features/debug/treeView/client/plugin/index.js +18 -23
  268. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  269. package/dist/features/debug/treeView/client/plugin/index.scss +80 -0
  270. package/dist/features/debug/treeView/server/index.js +5 -4
  271. package/dist/features/debug/treeView/server/index.js.map +1 -1
  272. package/dist/features/experimental_table/client/index.js +61 -42
  273. package/dist/features/experimental_table/client/index.js.map +1 -1
  274. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +752 -517
  275. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  276. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.scss +87 -0
  277. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +350 -316
  278. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  279. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss +11 -0
  280. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +215 -225
  281. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  282. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +104 -133
  283. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  284. package/dist/features/experimental_table/client/plugins/TablePlugin/index.scss +233 -0
  285. package/dist/features/experimental_table/client/utils/debounce.js +89 -107
  286. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  287. package/dist/features/experimental_table/client/utils/useDebounce.js +21 -39
  288. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  289. package/dist/features/experimental_table/markdownTransformer.js +123 -118
  290. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  291. package/dist/features/experimental_table/server/index.js +125 -143
  292. package/dist/features/experimental_table/server/index.js.map +1 -1
  293. package/dist/features/format/bold/feature.client.js +38 -35
  294. package/dist/features/format/bold/feature.client.js.map +1 -1
  295. package/dist/features/format/bold/feature.server.js +18 -14
  296. package/dist/features/format/bold/feature.server.js.map +1 -1
  297. package/dist/features/format/bold/markdownTransformers.js +25 -14
  298. package/dist/features/format/bold/markdownTransformers.js.map +1 -1
  299. package/dist/features/format/inlineCode/feature.client.js +31 -27
  300. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  301. package/dist/features/format/inlineCode/feature.server.js +8 -5
  302. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  303. package/dist/features/format/inlineCode/markdownTransformers.js +6 -3
  304. package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
  305. package/dist/features/format/italic/feature.client.js +32 -27
  306. package/dist/features/format/italic/feature.client.js.map +1 -1
  307. package/dist/features/format/italic/feature.server.js +9 -5
  308. package/dist/features/format/italic/feature.server.js.map +1 -1
  309. package/dist/features/format/italic/markdownTransformers.js +12 -7
  310. package/dist/features/format/italic/markdownTransformers.js.map +1 -1
  311. package/dist/features/format/shared/toolbarFormatGroup.js +8 -8
  312. package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
  313. package/dist/features/format/strikethrough/feature.client.js +31 -27
  314. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  315. package/dist/features/format/strikethrough/feature.server.js +8 -5
  316. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  317. package/dist/features/format/strikethrough/markdownTransformers.js +6 -3
  318. package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
  319. package/dist/features/format/subscript/feature.client.js +28 -26
  320. package/dist/features/format/subscript/feature.client.js.map +1 -1
  321. package/dist/features/format/subscript/feature.server.js +5 -4
  322. package/dist/features/format/subscript/feature.server.js.map +1 -1
  323. package/dist/features/format/superscript/feature.client.js +28 -26
  324. package/dist/features/format/superscript/feature.client.js.map +1 -1
  325. package/dist/features/format/superscript/feature.server.js +5 -4
  326. package/dist/features/format/superscript/feature.server.js.map +1 -1
  327. package/dist/features/format/underline/feature.client.js +28 -26
  328. package/dist/features/format/underline/feature.client.js.map +1 -1
  329. package/dist/features/format/underline/feature.server.js +5 -4
  330. package/dist/features/format/underline/feature.server.js.map +1 -1
  331. package/dist/features/heading/client/index.js +121 -142
  332. package/dist/features/heading/client/index.js.map +1 -1
  333. package/dist/features/heading/markdownTransformer.js +25 -22
  334. package/dist/features/heading/markdownTransformer.js.map +1 -1
  335. package/dist/features/heading/server/i18n.js +112 -111
  336. package/dist/features/heading/server/i18n.js.map +1 -1
  337. package/dist/features/heading/server/index.js +62 -60
  338. package/dist/features/heading/server/index.js.map +1 -1
  339. package/dist/features/horizontalRule/client/index.js +57 -48
  340. package/dist/features/horizontalRule/client/index.js.map +1 -1
  341. package/dist/features/horizontalRule/client/markdownTransformer.js +18 -15
  342. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  343. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +25 -27
  344. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  345. package/dist/features/horizontalRule/client/plugin/index.js +21 -32
  346. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  347. package/dist/features/horizontalRule/client/plugin/index.scss +23 -0
  348. package/dist/features/horizontalRule/server/i18n.js +112 -111
  349. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  350. package/dist/features/horizontalRule/server/index.js +24 -17
  351. package/dist/features/horizontalRule/server/index.js.map +1 -1
  352. package/dist/features/horizontalRule/server/markdownTransformer.js +18 -15
  353. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  354. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +69 -72
  355. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  356. package/dist/features/indent/client/IndentPlugin.js +78 -78
  357. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  358. package/dist/features/indent/client/index.js +68 -77
  359. package/dist/features/indent/client/index.js.map +1 -1
  360. package/dist/features/indent/client/toolbarIndentGroup.js +8 -8
  361. package/dist/features/indent/client/toolbarIndentGroup.js.map +1 -1
  362. package/dist/features/indent/server/i18n.js +149 -148
  363. package/dist/features/indent/server/i18n.js.map +1 -1
  364. package/dist/features/indent/server/index.js +18 -11
  365. package/dist/features/indent/server/index.js.map +1 -1
  366. package/dist/features/link/client/index.js +83 -80
  367. package/dist/features/link/client/index.js.map +1 -1
  368. package/dist/features/link/client/plugins/autoLink/index.js +280 -273
  369. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  370. package/dist/features/link/client/plugins/clickableLink/index.js +8 -4
  371. package/dist/features/link/client/plugins/clickableLink/index.js.map +1 -1
  372. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -1
  373. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  374. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +378 -297
  375. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  376. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +12 -9
  377. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  378. package/dist/features/link/client/plugins/floatingLinkEditor/index.scss +92 -0
  379. package/dist/features/link/client/plugins/floatingLinkEditor/types.js +6 -1
  380. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  381. package/dist/features/link/client/plugins/link/index.js +53 -68
  382. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  383. package/dist/features/link/markdownTransformer.js +34 -33
  384. package/dist/features/link/markdownTransformer.js.map +1 -1
  385. package/dist/features/link/nodes/AutoLinkNode.js +56 -58
  386. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  387. package/dist/features/link/nodes/LinkNode.js +286 -288
  388. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  389. package/dist/features/link/nodes/types.js +6 -1
  390. package/dist/features/link/nodes/types.js.map +1 -1
  391. package/dist/features/link/server/baseFields.js +115 -140
  392. package/dist/features/link/server/baseFields.js.map +1 -1
  393. package/dist/features/link/server/graphQLPopulationPromise.js +29 -45
  394. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  395. package/dist/features/link/server/i18n.js +149 -148
  396. package/dist/features/link/server/i18n.js.map +1 -1
  397. package/dist/features/link/server/index.js +156 -143
  398. package/dist/features/link/server/index.js.map +1 -1
  399. package/dist/features/link/server/transformExtraFields.js +15 -15
  400. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  401. package/dist/features/link/server/validate.js +35 -46
  402. package/dist/features/link/server/validate.js.map +1 -1
  403. package/dist/features/lists/checklist/client/index.js +86 -78
  404. package/dist/features/lists/checklist/client/index.js.map +1 -1
  405. package/dist/features/lists/checklist/client/plugin/index.js +8 -4
  406. package/dist/features/lists/checklist/client/plugin/index.js.map +1 -1
  407. package/dist/features/lists/checklist/markdownTransformers.js +11 -7
  408. package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
  409. package/dist/features/lists/checklist/server/i18n.js +112 -111
  410. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  411. package/dist/features/lists/checklist/server/index.js +26 -21
  412. package/dist/features/lists/checklist/server/index.js.map +1 -1
  413. package/dist/features/lists/htmlConverter.js +47 -62
  414. package/dist/features/lists/htmlConverter.js.map +1 -1
  415. package/dist/features/lists/orderedList/client/index.js +78 -72
  416. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  417. package/dist/features/lists/orderedList/markdownTransformer.js +11 -7
  418. package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
  419. package/dist/features/lists/orderedList/server/i18n.js +112 -111
  420. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  421. package/dist/features/lists/orderedList/server/index.js +26 -21
  422. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  423. package/dist/features/lists/plugin/index.js +8 -4
  424. package/dist/features/lists/plugin/index.js.map +1 -1
  425. package/dist/features/lists/shared/markdown.js +49 -48
  426. package/dist/features/lists/shared/markdown.js.map +1 -1
  427. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js +10 -9
  428. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js.map +1 -1
  429. package/dist/features/lists/shared/slashMenuListGroup.js +8 -9
  430. package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
  431. package/dist/features/lists/unorderedList/client/index.js +76 -68
  432. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  433. package/dist/features/lists/unorderedList/markdownTransformer.js +11 -7
  434. package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
  435. package/dist/features/lists/unorderedList/server/i18n.js +112 -111
  436. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  437. package/dist/features/lists/unorderedList/server/index.js +24 -17
  438. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  439. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +17 -18
  440. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  441. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +29 -30
  442. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  443. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +20 -21
  444. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  445. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +19 -21
  446. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  447. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +17 -18
  448. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  449. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +23 -24
  450. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  451. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +21 -20
  452. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  453. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +10 -1
  454. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  455. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +64 -70
  456. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  457. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js +2 -1
  458. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  459. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +7 -5
  460. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  461. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +43 -42
  462. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  463. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +21 -11
  464. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  465. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +65 -66
  466. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  467. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +16 -0
  468. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +19 -19
  469. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  470. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +26 -20
  471. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  472. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +30 -28
  473. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  474. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +27 -26
  475. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  476. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +21 -22
  477. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  478. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +22 -22
  479. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  480. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +13 -12
  481. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  482. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +23 -23
  483. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  484. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +22 -22
  485. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  486. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +16 -15
  487. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  488. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +13 -1
  489. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  490. package/dist/features/migrations/slateToLexical/converter/index.js +110 -117
  491. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  492. package/dist/features/migrations/slateToLexical/converter/types.js +2 -1
  493. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  494. package/dist/features/migrations/slateToLexical/feature.client.js +7 -5
  495. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  496. package/dist/features/migrations/slateToLexical/feature.server.js +54 -45
  497. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  498. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +21 -11
  499. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  500. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +65 -66
  501. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  502. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +16 -0
  503. package/dist/features/paragraph/client/index.js +61 -58
  504. package/dist/features/paragraph/client/index.js.map +1 -1
  505. package/dist/features/paragraph/server/i18n.js +149 -148
  506. package/dist/features/paragraph/server/i18n.js.map +1 -1
  507. package/dist/features/paragraph/server/index.js +7 -6
  508. package/dist/features/paragraph/server/index.js.map +1 -1
  509. package/dist/features/relationship/client/components/RelationshipComponent.js +147 -118
  510. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  511. package/dist/features/relationship/client/components/index.scss +95 -0
  512. package/dist/features/relationship/client/drawer/commands.js +1 -0
  513. package/dist/features/relationship/client/drawer/commands.js.map +1 -1
  514. package/dist/features/relationship/client/drawer/index.js +81 -132
  515. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  516. package/dist/features/relationship/client/index.js +59 -53
  517. package/dist/features/relationship/client/index.js.map +1 -1
  518. package/dist/features/relationship/client/nodes/RelationshipNode.js +64 -60
  519. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  520. package/dist/features/relationship/client/plugins/index.js +39 -69
  521. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  522. package/dist/features/relationship/client/utils/useEnabledRelationships.js +48 -58
  523. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  524. package/dist/features/relationship/server/graphQLPopulationPromise.js +26 -34
  525. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  526. package/dist/features/relationship/server/i18n.js +112 -111
  527. package/dist/features/relationship/server/i18n.js.map +1 -1
  528. package/dist/features/relationship/server/index.js +64 -59
  529. package/dist/features/relationship/server/index.js.map +1 -1
  530. package/dist/features/relationship/server/nodes/RelationshipNode.js +92 -95
  531. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  532. package/dist/features/shared/slashMenu/basicGroup.js +8 -9
  533. package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
  534. package/dist/features/shared/toolbar/addDropdownGroup.js +9 -8
  535. package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
  536. package/dist/features/shared/toolbar/featureButtonsGroup.js +8 -7
  537. package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
  538. package/dist/features/shared/toolbar/textDropdownGroup.js +9 -8
  539. package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
  540. package/dist/features/textState/defaultColors.js +370 -370
  541. package/dist/features/textState/defaultColors.js.map +1 -1
  542. package/dist/features/textState/feature.client.js +77 -64
  543. package/dist/features/textState/feature.client.js.map +1 -1
  544. package/dist/features/textState/feature.server.js +46 -14
  545. package/dist/features/textState/feature.server.js.map +1 -1
  546. package/dist/features/textState/i18n.js +112 -111
  547. package/dist/features/textState/i18n.js.map +1 -1
  548. package/dist/features/textState/textState.js +64 -62
  549. package/dist/features/textState/textState.js.map +1 -1
  550. package/dist/features/toolbars/fixed/client/Toolbar/index.js +263 -297
  551. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  552. package/dist/features/toolbars/fixed/client/Toolbar/index.scss +113 -0
  553. package/dist/features/toolbars/fixed/client/index.js +7 -5
  554. package/dist/features/toolbars/fixed/client/index.js.map +1 -1
  555. package/dist/features/toolbars/fixed/server/index.js +32 -16
  556. package/dist/features/toolbars/fixed/server/index.js.map +1 -1
  557. package/dist/features/toolbars/inline/client/Toolbar/index.js +343 -366
  558. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  559. package/dist/features/toolbars/inline/client/Toolbar/index.scss +58 -0
  560. package/dist/features/toolbars/inline/client/index.js +7 -5
  561. package/dist/features/toolbars/inline/client/index.js.map +1 -1
  562. package/dist/features/toolbars/inline/server/index.js +5 -4
  563. package/dist/features/toolbars/inline/server/index.js.map +1 -1
  564. package/dist/features/toolbars/shared/ToolbarButton/index.js +103 -145
  565. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  566. package/dist/features/toolbars/shared/ToolbarButton/index.scss +46 -0
  567. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +264 -208
  568. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  569. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +172 -176
  570. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  571. package/dist/features/toolbars/shared/ToolbarDropdown/index.scss +129 -0
  572. package/dist/features/toolbars/types.js +29 -1
  573. package/dist/features/toolbars/types.js.map +1 -1
  574. package/dist/features/typeUtilities.js +3 -2
  575. package/dist/features/typeUtilities.js.map +1 -1
  576. package/dist/features/typesClient.js +61 -1
  577. package/dist/features/typesClient.js.map +1 -1
  578. package/dist/features/typesServer.js +90 -1
  579. package/dist/features/typesServer.js.map +1 -1
  580. package/dist/features/upload/client/component/index.js +242 -189
  581. package/dist/features/upload/client/component/index.js.map +1 -1
  582. package/dist/features/upload/client/component/index.scss +191 -0
  583. package/dist/features/upload/client/component/pending/index.js +19 -10
  584. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  585. package/dist/features/upload/client/drawer/commands.js +1 -1
  586. package/dist/features/upload/client/drawer/commands.js.map +1 -1
  587. package/dist/features/upload/client/drawer/index.js +83 -132
  588. package/dist/features/upload/client/drawer/index.js.map +1 -1
  589. package/dist/features/upload/client/index.js +61 -51
  590. package/dist/features/upload/client/index.js.map +1 -1
  591. package/dist/features/upload/client/nodes/UploadNode.js +67 -61
  592. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  593. package/dist/features/upload/client/plugin/index.js +290 -331
  594. package/dist/features/upload/client/plugin/index.js.map +1 -1
  595. package/dist/features/upload/server/graphQLPopulationPromise.js +48 -63
  596. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  597. package/dist/features/upload/server/i18n.js +112 -111
  598. package/dist/features/upload/server/i18n.js.map +1 -1
  599. package/dist/features/upload/server/index.d.ts.map +1 -1
  600. package/dist/features/upload/server/index.js +197 -206
  601. package/dist/features/upload/server/index.js.map +1 -1
  602. package/dist/features/upload/server/nodes/UploadNode.js +115 -99
  603. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  604. package/dist/features/upload/server/nodes/conversions.js +41 -40
  605. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  606. package/dist/features/upload/server/validate.js +48 -62
  607. package/dist/features/upload/server/validate.js.map +1 -1
  608. package/dist/field/Diff/converters/link.js +32 -41
  609. package/dist/field/Diff/converters/link.js.map +1 -1
  610. package/dist/field/Diff/converters/listitem/index.js +75 -55
  611. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  612. package/dist/field/Diff/converters/listitem/index.scss +47 -0
  613. package/dist/field/Diff/converters/relationship/index.js +85 -63
  614. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  615. package/dist/field/Diff/converters/relationship/index.scss +73 -0
  616. package/dist/field/Diff/converters/unknown/index.js +64 -41
  617. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  618. package/dist/field/Diff/converters/unknown/index.scss +40 -0
  619. package/dist/field/Diff/converters/upload/index.d.ts.map +1 -1
  620. package/dist/field/Diff/converters/upload/index.js +122 -69
  621. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  622. package/dist/field/Diff/converters/upload/index.scss +115 -0
  623. package/dist/field/Diff/index.js +59 -66
  624. package/dist/field/Diff/index.js.map +1 -1
  625. package/dist/field/Diff/index.scss +102 -0
  626. package/dist/field/Field.js +226 -167
  627. package/dist/field/Field.js.map +1 -1
  628. package/dist/field/RenderLexical/index.js +123 -119
  629. package/dist/field/RenderLexical/index.js.map +1 -1
  630. package/dist/field/bundled.css +0 -1
  631. package/dist/field/index.js +61 -97
  632. package/dist/field/index.js.map +1 -1
  633. package/dist/field/index.scss +41 -0
  634. package/dist/field/rscEntry.js +86 -84
  635. package/dist/field/rscEntry.js.map +1 -1
  636. package/dist/i18n.js +223 -222
  637. package/dist/i18n.js.map +1 -1
  638. package/dist/index.js +639 -704
  639. package/dist/index.js.map +1 -1
  640. package/dist/lexical/EditorPlugin.js +21 -17
  641. package/dist/lexical/EditorPlugin.js.map +1 -1
  642. package/dist/lexical/LexicalEditor.js +274 -171
  643. package/dist/lexical/LexicalEditor.js.map +1 -1
  644. package/dist/lexical/LexicalEditor.scss +54 -0
  645. package/dist/lexical/LexicalProvider.js +109 -86
  646. package/dist/lexical/LexicalProvider.js.map +1 -1
  647. package/dist/lexical/config/client/EditorConfigProvider.js +94 -81
  648. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  649. package/dist/lexical/config/client/default.js +3 -3
  650. package/dist/lexical/config/client/default.js.map +1 -1
  651. package/dist/lexical/config/client/loader.js +30 -38
  652. package/dist/lexical/config/client/loader.js.map +1 -1
  653. package/dist/lexical/config/client/sanitize.js +188 -187
  654. package/dist/lexical/config/client/sanitize.js.map +1 -1
  655. package/dist/lexical/config/server/default.js +27 -5
  656. package/dist/lexical/config/server/default.js.map +1 -1
  657. package/dist/lexical/config/server/loader.js +105 -106
  658. package/dist/lexical/config/server/loader.js.map +1 -1
  659. package/dist/lexical/config/server/sanitize.js +114 -113
  660. package/dist/lexical/config/server/sanitize.js.map +1 -1
  661. package/dist/lexical/config/types.js +4 -1
  662. package/dist/lexical/config/types.js.map +1 -1
  663. package/dist/lexical/nodes/index.js +12 -15
  664. package/dist/lexical/nodes/index.js.map +1 -1
  665. package/dist/lexical/plugins/ClipboardPlugin/index.js +66 -70
  666. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  667. package/dist/lexical/plugins/DecoratorPlugin/index.js +208 -225
  668. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  669. package/dist/lexical/plugins/DecoratorPlugin/index.scss +13 -0
  670. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +42 -41
  671. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  672. package/dist/lexical/plugins/InsertParagraphAtEnd/index.scss +54 -0
  673. package/dist/lexical/plugins/MarkdownShortcut/index.js +11 -23
  674. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  675. package/dist/lexical/plugins/NormalizeSelection/index.js +21 -19
  676. package/dist/lexical/plugins/NormalizeSelection/index.js.map +1 -1
  677. package/dist/lexical/plugins/SelectAllPlugin/index.js +19 -17
  678. package/dist/lexical/plugins/SelectAllPlugin/index.js.map +1 -1
  679. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +399 -420
  680. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  681. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +164 -155
  682. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  683. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +10 -1
  684. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  685. package/dist/lexical/plugins/SlashMenu/index.js +204 -181
  686. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  687. package/dist/lexical/plugins/SlashMenu/index.scss +68 -0
  688. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +28 -41
  689. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  690. package/dist/lexical/plugins/TextPlugin/index.js +27 -42
  691. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  692. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +145 -130
  693. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  694. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +35 -0
  695. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +10 -10
  696. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  697. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +10 -10
  698. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  699. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +23 -26
  700. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  701. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +325 -317
  702. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  703. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.scss +80 -0
  704. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +86 -98
  705. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  706. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +16 -22
  707. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
  708. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +29 -19
  709. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  710. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js +11 -14
  711. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
  712. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +122 -133
  713. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  714. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +2 -2
  715. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  716. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js +2 -2
  717. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
  718. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +29 -24
  719. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  720. package/dist/lexical/theme/EditorTheme.js +72 -65
  721. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  722. package/dist/lexical/theme/EditorTheme.scss +357 -0
  723. package/dist/lexical/ui/ContentEditable.js +22 -35
  724. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  725. package/dist/lexical/ui/ContentEditable.scss +105 -0
  726. package/dist/lexical/ui/icons/AI/index.js +58 -31
  727. package/dist/lexical/ui/icons/AI/index.js.map +1 -1
  728. package/dist/lexical/ui/icons/Add/index.js +31 -16
  729. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  730. package/dist/lexical/ui/icons/AlignCenter/index.js +45 -25
  731. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  732. package/dist/lexical/ui/icons/AlignJustify/index.js +45 -25
  733. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  734. package/dist/lexical/ui/icons/AlignLeft/index.js +45 -25
  735. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  736. package/dist/lexical/ui/icons/AlignRight/index.js +45 -25
  737. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  738. package/dist/lexical/ui/icons/Block/index.js +54 -34
  739. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  740. package/dist/lexical/ui/icons/Blockquote/index.js +24 -16
  741. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  742. package/dist/lexical/ui/icons/Bold/index.js +24 -16
  743. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  744. package/dist/lexical/ui/icons/Checklist/index.js +39 -24
  745. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  746. package/dist/lexical/ui/icons/Code/index.js +34 -19
  747. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  748. package/dist/lexical/ui/icons/CodeBlock/index.js +22 -14
  749. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  750. package/dist/lexical/ui/icons/Collapse/index.js +23 -15
  751. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -1
  752. package/dist/lexical/ui/icons/H1/index.js +24 -16
  753. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  754. package/dist/lexical/ui/icons/H2/index.js +24 -16
  755. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  756. package/dist/lexical/ui/icons/H3/index.js +24 -16
  757. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  758. package/dist/lexical/ui/icons/H4/index.js +24 -16
  759. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  760. package/dist/lexical/ui/icons/H5/index.js +24 -16
  761. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  762. package/dist/lexical/ui/icons/H6/index.js +24 -16
  763. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  764. package/dist/lexical/ui/icons/HorizontalRule/index.js +27 -19
  765. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  766. package/dist/lexical/ui/icons/IndentDecrease/index.js +53 -28
  767. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  768. package/dist/lexical/ui/icons/IndentIncrease/index.js +53 -28
  769. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  770. package/dist/lexical/ui/icons/InlineBlocks/index.js +26 -18
  771. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -1
  772. package/dist/lexical/ui/icons/Italic/index.js +24 -16
  773. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  774. package/dist/lexical/ui/icons/Link/index.js +25 -17
  775. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  776. package/dist/lexical/ui/icons/Meatballs/index.js +39 -19
  777. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -1
  778. package/dist/lexical/ui/icons/OrderedList/index.js +61 -31
  779. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  780. package/dist/lexical/ui/icons/Relationship/index.js +58 -31
  781. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  782. package/dist/lexical/ui/icons/Strikethrough/index.js +34 -19
  783. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  784. package/dist/lexical/ui/icons/Subscript/index.js +24 -16
  785. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  786. package/dist/lexical/ui/icons/Superscript/index.js +24 -16
  787. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  788. package/dist/lexical/ui/icons/Table/index.js +25 -17
  789. package/dist/lexical/ui/icons/Table/index.js.map +1 -1
  790. package/dist/lexical/ui/icons/Text/index.js +24 -16
  791. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  792. package/dist/lexical/ui/icons/TextState/index.js +25 -19
  793. package/dist/lexical/ui/icons/TextState/index.js.map +1 -1
  794. package/dist/lexical/ui/icons/Underline/index.js +34 -19
  795. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  796. package/dist/lexical/ui/icons/UnorderedList/index.js +81 -46
  797. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  798. package/dist/lexical/ui/icons/Upload/index.js +48 -28
  799. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  800. package/dist/lexical/utils/canUseDOM.js +1 -1
  801. package/dist/lexical/utils/canUseDOM.js.map +1 -1
  802. package/dist/lexical/utils/environment.js +1 -1
  803. package/dist/lexical/utils/environment.js.map +1 -1
  804. package/dist/lexical/utils/getDOMRangeRect.js +12 -12
  805. package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
  806. package/dist/lexical/utils/getSelectedNode.js +13 -17
  807. package/dist/lexical/utils/getSelectedNode.js.map +1 -1
  808. package/dist/lexical/utils/guard.js +3 -4
  809. package/dist/lexical/utils/guard.js.map +1 -1
  810. package/dist/lexical/utils/joinClasses.js +2 -2
  811. package/dist/lexical/utils/joinClasses.js.map +1 -1
  812. package/dist/lexical/utils/markdown/createBlockNode.js +10 -9
  813. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  814. package/dist/lexical/utils/nodeFormat.js +59 -58
  815. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  816. package/dist/lexical/utils/point.js +32 -39
  817. package/dist/lexical/utils/point.js.map +1 -1
  818. package/dist/lexical/utils/rect.js +136 -166
  819. package/dist/lexical/utils/rect.js.map +1 -1
  820. package/dist/lexical/utils/setFloatingElemPosition.js +48 -56
  821. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  822. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js +22 -22
  823. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
  824. package/dist/lexical/utils/swipe.js +83 -81
  825. package/dist/lexical/utils/swipe.js.map +1 -1
  826. package/dist/lexical/utils/url.js +53 -53
  827. package/dist/lexical/utils/url.js.map +1 -1
  828. package/dist/lexical/utils/url.spec.js +214 -98
  829. package/dist/lexical/utils/url.spec.js.map +1 -1
  830. package/dist/lexical-proxy/@lexical-headless.js +1 -0
  831. package/dist/lexical-proxy/@lexical-headless.js.map +1 -1
  832. package/dist/lexical-proxy/@lexical-html.js +1 -0
  833. package/dist/lexical-proxy/@lexical-html.js.map +1 -1
  834. package/dist/lexical-proxy/@lexical-link.js +1 -0
  835. package/dist/lexical-proxy/@lexical-link.js.map +1 -1
  836. package/dist/lexical-proxy/@lexical-list.js +1 -0
  837. package/dist/lexical-proxy/@lexical-list.js.map +1 -1
  838. package/dist/lexical-proxy/@lexical-mark.js +1 -0
  839. package/dist/lexical-proxy/@lexical-mark.js.map +1 -1
  840. package/dist/lexical-proxy/@lexical-markdown.js +1 -0
  841. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  842. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +1 -0
  843. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -1
  844. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +1 -0
  845. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -1
  846. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +1 -0
  847. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -1
  848. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +1 -0
  849. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -1
  850. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +1 -0
  851. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -1
  852. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +1 -0
  853. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -1
  854. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +1 -0
  855. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -1
  856. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +1 -0
  857. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -1
  858. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +1 -0
  859. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -1
  860. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +1 -0
  861. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -1
  862. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +1 -0
  863. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -1
  864. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +1 -0
  865. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -1
  866. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +1 -0
  867. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -1
  868. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +1 -0
  869. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -1
  870. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +1 -0
  871. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -1
  872. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +1 -0
  873. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -1
  874. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +1 -0
  875. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -1
  876. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +1 -0
  877. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -1
  878. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +1 -0
  879. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -1
  880. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +1 -0
  881. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -1
  882. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +1 -0
  883. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -1
  884. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +1 -0
  885. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -1
  886. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +1 -0
  887. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -1
  888. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +1 -0
  889. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -1
  890. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +1 -0
  891. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -1
  892. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +1 -0
  893. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -1
  894. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js +1 -0
  895. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js.map +1 -1
  896. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +1 -0
  897. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -1
  898. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +1 -0
  899. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -1
  900. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +1 -0
  901. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -1
  902. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +1 -0
  903. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -1
  904. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +1 -0
  905. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -1
  906. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +1 -0
  907. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -1
  908. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +1 -0
  909. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -1
  910. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +1 -0
  911. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -1
  912. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +1 -0
  913. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -1
  914. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +1 -0
  915. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -1
  916. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +1 -0
  917. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -1
  918. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +1 -0
  919. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -1
  920. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +1 -0
  921. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -1
  922. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +1 -0
  923. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -1
  924. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +1 -0
  925. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -1
  926. package/dist/lexical-proxy/@lexical-rich-text.js +1 -0
  927. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -1
  928. package/dist/lexical-proxy/@lexical-selection.js +1 -0
  929. package/dist/lexical-proxy/@lexical-selection.js.map +1 -1
  930. package/dist/lexical-proxy/@lexical-utils.js +1 -0
  931. package/dist/lexical-proxy/@lexical-utils.js.map +1 -1
  932. package/dist/lexical-proxy/lexical.js +1 -0
  933. package/dist/lexical-proxy/lexical.js.map +1 -1
  934. package/dist/nodeTypes.js +35 -1
  935. package/dist/nodeTypes.js.map +1 -1
  936. package/dist/packages/@lexical/markdown/MarkdownExport.js +184 -179
  937. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +1 -1
  938. package/dist/packages/@lexical/markdown/MarkdownImport.js +174 -169
  939. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +1 -1
  940. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +258 -268
  941. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +1 -1
  942. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +305 -209
  943. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +1 -1
  944. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +76 -73
  945. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +1 -1
  946. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +59 -48
  947. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +1 -1
  948. package/dist/packages/@lexical/markdown/importTextTransformers.js +51 -45
  949. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +1 -1
  950. package/dist/packages/@lexical/markdown/index.js +33 -14
  951. package/dist/packages/@lexical/markdown/index.js.map +1 -1
  952. package/dist/packages/@lexical/markdown/utils.js +217 -185
  953. package/dist/packages/@lexical/markdown/utils.js.map +1 -1
  954. package/dist/populateGraphQL/defaultValue.js +29 -24
  955. package/dist/populateGraphQL/defaultValue.js.map +1 -1
  956. package/dist/populateGraphQL/populate.js +26 -37
  957. package/dist/populateGraphQL/populate.js.map +1 -1
  958. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +34 -50
  959. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  960. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js +35 -42
  961. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  962. package/dist/types.js +40 -1
  963. package/dist/types.js.map +1 -1
  964. package/dist/utilities/applyBaseFilterToFields.js +81 -84
  965. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  966. package/dist/utilities/buildEditorState.js +39 -40
  967. package/dist/utilities/buildEditorState.js.map +1 -1
  968. package/dist/utilities/buildInitialState.js +51 -52
  969. package/dist/utilities/buildInitialState.js.map +1 -1
  970. package/dist/utilities/createClientFeature.js +42 -48
  971. package/dist/utilities/createClientFeature.js.map +1 -1
  972. package/dist/utilities/createServerFeature.js +38 -48
  973. package/dist/utilities/createServerFeature.js.map +1 -1
  974. package/dist/utilities/editorConfigFactory.js +78 -79
  975. package/dist/utilities/editorConfigFactory.js.map +1 -1
  976. package/dist/utilities/fieldsDrawer/Drawer.js +45 -70
  977. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  978. package/dist/utilities/fieldsDrawer/DrawerContent.js +130 -120
  979. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  980. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +64 -115
  981. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  982. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +76 -121
  983. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  984. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +79 -141
  985. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  986. package/dist/utilities/forEachNodeRecursively.js +19 -24
  987. package/dist/utilities/forEachNodeRecursively.js.map +1 -1
  988. package/dist/utilities/generateImportMap.js +43 -49
  989. package/dist/utilities/generateImportMap.js.map +1 -1
  990. package/dist/utilities/generateSchemaMap.js +32 -37
  991. package/dist/utilities/generateSchemaMap.js.map +1 -1
  992. package/dist/utilities/getDefaultSanitizedEditorConfig.js +12 -14
  993. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  994. package/dist/utilities/initLexicalFeatures.js +68 -65
  995. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  996. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +26 -29
  997. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  998. package/dist/utilities/jsx/declare.d.js.map +1 -1
  999. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +100 -102
  1000. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -1
  1001. package/dist/utilities/jsx/jsx.js +76 -80
  1002. package/dist/utilities/jsx/jsx.js.map +1 -1
  1003. package/dist/utilities/jsx/jsx.spec.js +225 -171
  1004. package/dist/utilities/jsx/jsx.spec.js.map +1 -1
  1005. package/dist/utilities/migrateSlateToLexical/index.js +112 -128
  1006. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -1
  1007. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +74 -78
  1008. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  1009. package/dist/utilities/recurseNodeTree.js +22 -25
  1010. package/dist/utilities/recurseNodeTree.js.map +1 -1
  1011. package/dist/utilities/upgradeLexicalData/index.js +88 -102
  1012. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  1013. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +78 -80
  1014. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  1015. package/dist/utilities/useLexicalFeature.js +14 -16
  1016. package/dist/utilities/useLexicalFeature.js.map +1 -1
  1017. package/dist/utilities/useRunDeprioritized.js +41 -37
  1018. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  1019. package/dist/validate/hasText.js +21 -20
  1020. package/dist/validate/hasText.js.map +1 -1
  1021. package/dist/validate/index.js +22 -28
  1022. package/dist/validate/index.js.map +1 -1
  1023. package/dist/validate/validateNodes.js +28 -31
  1024. package/dist/validate/validateNodes.js.map +1 -1
  1025. package/package.json +7 -7
  1026. package/dist/exports/client/Component-DOSSWC76.js +0 -2
  1027. package/dist/exports/client/Component-DOSSWC76.js.map +0 -7
  1028. package/dist/exports/client/Component-MBLHTKDK.js +0 -2
  1029. package/dist/exports/client/Component-MBLHTKDK.js.map +0 -7
  1030. package/dist/exports/client/Field-2A2VQXKP.js +0 -2
  1031. package/dist/exports/client/Field-2A2VQXKP.js.map +0 -7
  1032. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js +0 -2
  1033. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js.map +0 -7
  1034. package/dist/exports/client/bundled.css +0 -1
  1035. package/dist/exports/client/chunk-AFXLIYGL.js +0 -12
  1036. package/dist/exports/client/chunk-AFXLIYGL.js.map +0 -7
  1037. package/dist/exports/client/chunk-BZZVLW4U.js +0 -2
  1038. package/dist/exports/client/chunk-BZZVLW4U.js.map +0 -7
  1039. package/dist/exports/client/chunk-DBWINSQN.js +0 -2
  1040. package/dist/exports/client/chunk-DBWINSQN.js.map +0 -7
  1041. package/dist/exports/client/chunk-F26IQ5RE.js +0 -2
  1042. package/dist/exports/client/chunk-F26IQ5RE.js.map +0 -7
  1043. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  1044. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  1045. package/dist/exports/client/chunk-O6XRT2H3.js +0 -2
  1046. package/dist/exports/client/chunk-O6XRT2H3.js.map +0 -7
  1047. package/dist/exports/client/chunk-TRHFMZ3F.js +0 -2
  1048. package/dist/exports/client/chunk-TRHFMZ3F.js.map +0 -7
  1049. package/dist/exports/client/component-YQ22OGQW.js +0 -2
  1050. package/dist/exports/client/component-YQ22OGQW.js.map +0 -7
  1051. package/dist/exports/client/componentInline-5OVPQNQH.js +0 -2
  1052. package/dist/exports/client/componentInline-5OVPQNQH.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"}