@payloadcms/richtext-lexical 4.0.0-internal.e7d4ebc → 4.0.0-internal.ee5d8bd

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 (611) hide show
  1. package/dist/exports/client/Field-334JNLRF.js +2 -0
  2. package/dist/exports/client/Field-334JNLRF.js.map +7 -0
  3. package/dist/exports/client/{RelationshipComponent-YCPAKOL7.js → RelationshipComponent-TVK6I4W4.js} +2 -2
  4. package/dist/exports/client/chunk-BEKGION5.js +2 -0
  5. package/dist/exports/client/chunk-BEKGION5.js.map +7 -0
  6. package/dist/exports/client/{chunk-WSAPGI3Z.js → chunk-EA5BHQ2T.js} +1 -1
  7. package/dist/exports/client/{chunk-WSAPGI3Z.js.map → chunk-EA5BHQ2T.js.map} +1 -1
  8. package/dist/exports/client/chunk-FAJJXXCW.js +2 -0
  9. package/dist/exports/client/chunk-FAJJXXCW.js.map +7 -0
  10. package/dist/exports/client/{chunk-5VIL27GI.js → chunk-IYBYNEKX.js} +1 -1
  11. package/dist/exports/client/{chunk-5VIL27GI.js.map → chunk-IYBYNEKX.js.map} +1 -1
  12. package/dist/exports/client/chunk-SE5IITBK.js +2 -0
  13. package/dist/exports/client/chunk-SE5IITBK.js.map +7 -0
  14. package/dist/exports/client/component-QENB4QTS.js +2 -0
  15. package/dist/exports/client/component-QENB4QTS.js.map +7 -0
  16. package/dist/exports/client/componentInline-AU7IBNY7.js +2 -0
  17. package/dist/exports/client/index.d.ts +1 -1
  18. package/dist/exports/client/index.d.ts.map +1 -1
  19. package/dist/exports/client/index.js +26 -26
  20. package/dist/exports/client/index.js.map +4 -4
  21. package/dist/features/align/client/index.js.map +1 -1
  22. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  23. package/dist/features/blocks/client/component/BlockReordering/index.d.ts +11 -0
  24. package/dist/features/blocks/client/component/BlockReordering/index.d.ts.map +1 -0
  25. package/dist/features/blocks/client/component/BlockReordering/index.js +18 -0
  26. package/dist/features/blocks/client/component/BlockReordering/index.js.map +1 -0
  27. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  28. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -1
  29. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -1
  30. package/dist/features/blocks/client/component/index.d.ts +0 -6
  31. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  32. package/dist/features/blocks/client/component/index.js +199 -109
  33. package/dist/features/blocks/client/component/index.js.map +1 -1
  34. package/dist/features/blocks/client/component/useBlockReordering.d.ts +16 -0
  35. package/dist/features/blocks/client/component/useBlockReordering.d.ts.map +1 -0
  36. package/dist/features/blocks/client/component/useBlockReordering.js +178 -0
  37. package/dist/features/blocks/client/component/useBlockReordering.js.map +1 -0
  38. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  39. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -1
  40. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -1
  41. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -1
  42. package/dist/features/blocks/client/componentInline/index.css +0 -1
  43. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  44. package/dist/features/blocks/client/componentInline/index.js +32 -30
  45. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  46. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts +9 -0
  47. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts.map +1 -0
  48. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js +95 -0
  49. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js.map +1 -0
  50. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  51. package/dist/features/blocks/client/nodes/BlocksNode.js +0 -10
  52. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  53. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  54. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +121 -78
  55. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  56. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +142 -87
  57. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -1
  58. package/dist/features/blocks/server/index.js +2 -2
  59. package/dist/features/blocks/server/index.js.map +1 -1
  60. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  61. package/dist/features/blocks/server/nodes/BlocksNode.js +1 -12
  62. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  63. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +2 -2
  64. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  65. package/dist/features/blocks/server/schema.d.ts +2 -0
  66. package/dist/features/blocks/server/schema.d.ts.map +1 -1
  67. package/dist/features/blocks/server/schema.js +7 -9
  68. package/dist/features/blocks/server/schema.js.map +1 -1
  69. package/dist/features/blocks/server/validate.js +1 -1
  70. package/dist/features/blocks/server/validate.js.map +1 -1
  71. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +1 -1
  72. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  73. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  74. package/dist/features/converters/lexicalToHtml/async/converters/list.js +4 -3
  75. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  76. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +3 -3
  77. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  78. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -1
  79. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +3 -2
  80. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  81. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +1 -1
  82. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  83. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  84. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +4 -3
  85. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  86. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +3 -3
  87. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  88. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  89. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  90. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  91. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +2 -1
  92. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  93. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  94. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +2 -1
  95. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  96. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -1
  97. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +4 -5
  98. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  99. package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
  100. package/dist/features/converters/utilities/payloadPopulateFn.js +4 -2
  101. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  102. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  103. package/dist/features/debug/testRecorder/client/plugin/index.css +0 -1
  104. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  105. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  106. package/dist/features/heading/client/index.js.map +1 -1
  107. package/dist/features/heading/constants.d.ts +2 -0
  108. package/dist/features/heading/constants.d.ts.map +1 -0
  109. package/dist/features/heading/constants.js +2 -0
  110. package/dist/features/heading/constants.js.map +1 -0
  111. package/dist/features/heading/server/index.d.ts.map +1 -1
  112. package/dist/features/heading/server/index.js +5 -1
  113. package/dist/features/heading/server/index.js.map +1 -1
  114. package/dist/features/heading/server/validate.d.ts +6 -0
  115. package/dist/features/heading/server/validate.d.ts.map +1 -0
  116. package/dist/features/heading/server/validate.js +15 -0
  117. package/dist/features/heading/server/validate.js.map +1 -0
  118. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +12 -2
  119. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  120. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +18 -1
  121. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  122. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  123. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -1
  124. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  125. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +3 -3
  126. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  127. package/dist/features/horizontalRule/server/schema.d.ts +1 -0
  128. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -1
  129. package/dist/features/horizontalRule/server/schema.js +6 -5
  130. package/dist/features/horizontalRule/server/schema.js.map +1 -1
  131. package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
  132. package/dist/features/indent/client/IndentPlugin.js +122 -1
  133. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  134. package/dist/features/indent/client/index.d.ts.map +1 -1
  135. package/dist/features/indent/client/index.js +0 -2
  136. package/dist/features/indent/client/index.js.map +1 -1
  137. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  138. package/dist/features/indent/server/i18n.js +74 -37
  139. package/dist/features/indent/server/i18n.js.map +1 -1
  140. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  141. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  142. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +18 -7
  143. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  144. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +0 -2
  145. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  146. package/dist/features/link/markdownTransformer.js +2 -2
  147. package/dist/features/link/markdownTransformer.js.map +1 -1
  148. package/dist/features/link/nodes/AutoLinkNode.d.ts +1 -1
  149. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  150. package/dist/features/link/nodes/AutoLinkNode.js +2 -10
  151. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  152. package/dist/features/link/nodes/LinkNode.d.ts +1 -1
  153. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  154. package/dist/features/link/nodes/LinkNode.js +2 -15
  155. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  156. package/dist/features/link/server/baseFields.js.map +1 -1
  157. package/dist/features/link/server/index.js +2 -2
  158. package/dist/features/link/server/index.js.map +1 -1
  159. package/dist/features/link/server/validate.js +1 -1
  160. package/dist/features/link/server/validate.js.map +1 -1
  161. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  162. package/dist/features/lists/checklist/server/index.js +5 -2
  163. package/dist/features/lists/checklist/server/index.js.map +1 -1
  164. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  165. package/dist/features/lists/orderedList/server/index.js +5 -2
  166. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  167. package/dist/features/lists/shared/constants.d.ts +2 -0
  168. package/dist/features/lists/shared/constants.d.ts.map +1 -0
  169. package/dist/features/lists/shared/constants.js +2 -0
  170. package/dist/features/lists/shared/constants.js.map +1 -0
  171. package/dist/features/lists/shared/schema.d.ts.map +1 -1
  172. package/dist/features/lists/shared/schema.js.map +1 -1
  173. package/dist/features/lists/shared/validate.d.ts +5 -0
  174. package/dist/features/lists/shared/validate.d.ts.map +1 -0
  175. package/dist/features/lists/shared/validate.js +15 -0
  176. package/dist/features/lists/shared/validate.js.map +1 -0
  177. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  178. package/dist/features/lists/unorderedList/server/index.js +5 -2
  179. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  180. package/dist/features/relationship/client/components/index.css +3 -6
  181. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  182. package/dist/features/relationship/client/index.d.ts +2 -2
  183. package/dist/features/relationship/client/index.d.ts.map +1 -1
  184. package/dist/features/relationship/client/index.js.map +1 -1
  185. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  186. package/dist/features/relationship/client/nodes/RelationshipNode.js +0 -3
  187. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  188. package/dist/features/relationship/client/plugins/index.d.ts +2 -2
  189. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  190. package/dist/features/relationship/client/plugins/index.js +27 -31
  191. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  192. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts +2 -4
  193. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  194. package/dist/features/relationship/client/utils/useEnabledRelationships.js +53 -20
  195. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  196. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +2 -2
  197. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  198. package/dist/features/relationship/server/graphQLPopulationPromise.js +2 -2
  199. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  200. package/dist/features/relationship/server/index.d.ts +8 -1
  201. package/dist/features/relationship/server/index.d.ts.map +1 -1
  202. package/dist/features/relationship/server/index.js +28 -11
  203. package/dist/features/relationship/server/index.js.map +1 -1
  204. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  205. package/dist/features/relationship/server/nodes/RelationshipNode.js +1 -5
  206. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  207. package/dist/features/relationship/server/schema.d.ts +3 -2
  208. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  209. package/dist/features/relationship/server/schema.js +9 -12
  210. package/dist/features/relationship/server/schema.js.map +1 -1
  211. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +1 -6
  212. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -1
  213. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +1 -5
  214. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -1
  215. package/dist/features/table/client/index.d.ts.map +1 -0
  216. package/dist/features/table/client/index.js.map +1 -0
  217. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts +8 -0
  218. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts.map +1 -0
  219. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js +19 -0
  220. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js.map +1 -0
  221. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.css +1 -2
  222. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  223. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.js +17 -44
  224. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  225. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  226. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.js +47 -24
  227. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  228. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  229. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  230. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.css +0 -3
  231. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  232. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  233. package/dist/features/table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  234. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.js +54 -18
  235. package/dist/features/table/client/plugins/TablePlugin/index.js.map +1 -0
  236. package/dist/features/table/client/utils/debounce.d.ts.map +1 -0
  237. package/dist/features/table/client/utils/debounce.js.map +1 -0
  238. package/dist/features/table/client/utils/useDebounce.d.ts.map +1 -0
  239. package/dist/features/table/client/utils/useDebounce.js.map +1 -0
  240. package/dist/features/table/markdownTransformer.d.ts.map +1 -0
  241. package/dist/features/table/markdownTransformer.js.map +1 -0
  242. package/dist/features/table/server/index.d.ts +3 -0
  243. package/dist/features/table/server/index.d.ts.map +1 -0
  244. package/dist/features/{experimental_table → table}/server/index.js +4 -4
  245. package/dist/features/table/server/index.js.map +1 -0
  246. package/dist/features/table/server/schema.d.ts.map +1 -0
  247. package/dist/features/table/server/schema.js.map +1 -0
  248. package/dist/features/textState/defaultColors.js +1 -1
  249. package/dist/features/textState/defaultColors.js.map +1 -1
  250. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts +8 -0
  251. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts.map +1 -0
  252. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js +80 -0
  253. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js.map +1 -0
  254. package/dist/features/toolbars/fixed/client/Toolbar/index.css +77 -3
  255. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  256. package/dist/features/toolbars/fixed/client/Toolbar/index.js +145 -71
  257. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  258. package/dist/features/toolbars/inline/client/Toolbar/index.css +0 -1
  259. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  260. package/dist/features/toolbars/inline/client/Toolbar/index.js +84 -37
  261. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  262. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  263. package/dist/features/toolbars/shared/ToolbarButton/index.js +27 -2
  264. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  265. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  266. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +199 -81
  267. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  268. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +16 -14
  269. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  270. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +22 -6
  271. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  272. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.d.ts +5 -0
  273. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.d.ts.map +1 -0
  274. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.js +109 -0
  275. package/dist/features/toolbars/shared/useToolbarKeyboardNavigation.js.map +1 -0
  276. package/dist/features/typesServer.d.ts +17 -12
  277. package/dist/features/typesServer.d.ts.map +1 -1
  278. package/dist/features/typesServer.js.map +1 -1
  279. package/dist/features/upload/client/component/index.css +0 -2
  280. package/dist/features/upload/client/component/index.js +2 -1
  281. package/dist/features/upload/client/component/index.js.map +1 -1
  282. package/dist/features/upload/client/drawer/index.js.map +1 -1
  283. package/dist/features/upload/client/index.d.ts +3 -2
  284. package/dist/features/upload/client/index.d.ts.map +1 -1
  285. package/dist/features/upload/client/index.js.map +1 -1
  286. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  287. package/dist/features/upload/client/nodes/UploadNode.js +0 -7
  288. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  289. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  290. package/dist/features/upload/client/plugin/index.js +50 -53
  291. package/dist/features/upload/client/plugin/index.js.map +1 -1
  292. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +2 -2
  293. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  294. package/dist/features/upload/server/graphQLPopulationPromise.js +1 -1
  295. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  296. package/dist/features/upload/server/index.d.ts +7 -3
  297. package/dist/features/upload/server/index.d.ts.map +1 -1
  298. package/dist/features/upload/server/index.js +20 -16
  299. package/dist/features/upload/server/index.js.map +1 -1
  300. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  301. package/dist/features/upload/server/nodes/UploadNode.js +1 -9
  302. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  303. package/dist/features/upload/server/schema.d.ts +4 -16
  304. package/dist/features/upload/server/schema.d.ts.map +1 -1
  305. package/dist/features/upload/server/schema.js +8 -10
  306. package/dist/features/upload/server/schema.js.map +1 -1
  307. package/dist/features/upload/server/validate.d.ts +2 -2
  308. package/dist/features/upload/server/validate.d.ts.map +1 -1
  309. package/dist/features/upload/server/validate.js +4 -1
  310. package/dist/features/upload/server/validate.js.map +1 -1
  311. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  312. package/dist/field/Diff/converters/listitem/index.js +2 -1
  313. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  314. package/dist/field/Diff/converters/relationship/index.css +0 -1
  315. package/dist/field/Diff/converters/unknown/index.css +0 -1
  316. package/dist/field/Diff/converters/upload/index.css +0 -1
  317. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  318. package/dist/field/Diff/index.css +0 -2
  319. package/dist/field/Diff/index.d.ts +3 -2
  320. package/dist/field/Diff/index.d.ts.map +1 -1
  321. package/dist/field/Diff/index.js +3 -2
  322. package/dist/field/Diff/index.js.map +1 -1
  323. package/dist/field/Field.d.ts.map +1 -1
  324. package/dist/field/Field.js +8 -1
  325. package/dist/field/Field.js.map +1 -1
  326. package/dist/field/RenderLexical/index.d.ts +3 -1
  327. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  328. package/dist/field/RenderLexical/index.js +23 -23
  329. package/dist/field/RenderLexical/index.js.map +1 -1
  330. package/dist/field/ViewSelector.d.ts.map +1 -1
  331. package/dist/field/ViewSelector.js +13 -4
  332. package/dist/field/ViewSelector.js.map +1 -1
  333. package/dist/field/bundled.css +1 -1
  334. package/dist/field/index.css +10 -11
  335. package/dist/field/index.js.map +1 -1
  336. package/dist/field/rscEntry.d.ts +2 -2
  337. package/dist/field/rscEntry.d.ts.map +1 -1
  338. package/dist/field/rscEntry.js.map +1 -1
  339. package/dist/i18n.d.ts.map +1 -1
  340. package/dist/i18n.js +112 -0
  341. package/dist/i18n.js.map +1 -1
  342. package/dist/index.d.ts +5 -5
  343. package/dist/index.d.ts.map +1 -1
  344. package/dist/index.js +27 -5
  345. package/dist/index.js.map +1 -1
  346. package/dist/lexical/LexicalEditor.css +21 -10
  347. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  348. package/dist/lexical/LexicalEditor.js +61 -64
  349. package/dist/lexical/LexicalEditor.js.map +1 -1
  350. package/dist/lexical/config/server/loader.d.ts +1 -1
  351. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  352. package/dist/lexical/config/server/loader.js +2 -2
  353. package/dist/lexical/config/server/loader.js.map +1 -1
  354. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  355. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  356. package/dist/lexical/config/server/sanitize.js +2 -2
  357. package/dist/lexical/config/server/sanitize.js.map +1 -1
  358. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  359. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -1
  360. package/dist/lexical/plugins/DecoratorPlugin/index.js +24 -21
  361. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  362. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +18 -25
  363. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  364. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +27 -14
  365. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  366. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  367. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +1 -1
  368. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +0 -1
  369. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  370. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +236 -108
  371. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  372. package/dist/lexical/plugins/SlashMenu/index.css +0 -2
  373. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  374. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  375. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +1 -0
  376. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +2 -2
  377. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  378. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +17 -0
  379. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  380. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +139 -37
  381. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  382. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.d.ts +7 -0
  383. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.d.ts.map +1 -0
  384. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.js +15 -0
  385. package/dist/lexical/plugins/handles/DraggableBlockPlugin/moveBlock.js.map +1 -0
  386. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts +7 -0
  387. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts.map +1 -0
  388. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js +62 -0
  389. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js.map +1 -0
  390. package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  391. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +2 -0
  392. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  393. package/dist/lexical/theme/EditorTheme.css +0 -2
  394. package/dist/lexical/ui/ContentEditable.css +0 -4
  395. package/dist/lexical/ui/ContentEditable.d.ts +2 -1
  396. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  397. package/dist/lexical/ui/ContentEditable.js +32 -11
  398. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  399. package/dist/lexical/ui/icons/H3/index.d.ts.map +1 -1
  400. package/dist/lexical/ui/icons/H3/index.js +13 -6
  401. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  402. package/dist/lexical/ui/icons/H4/index.d.ts.map +1 -1
  403. package/dist/lexical/ui/icons/H4/index.js +13 -6
  404. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  405. package/dist/lexical/ui/icons/H5/index.d.ts.map +1 -1
  406. package/dist/lexical/ui/icons/H5/index.js +13 -6
  407. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  408. package/dist/lexical/ui/icons/H6/index.d.ts.map +1 -1
  409. package/dist/lexical/ui/icons/H6/index.js +13 -6
  410. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  411. package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
  412. package/dist/lexical/utils/nodeFormat.js +0 -2
  413. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  414. package/dist/lexical/utils/url.d.ts.map +1 -1
  415. package/dist/lexical/utils/url.js +1 -1
  416. package/dist/lexical/utils/url.js.map +1 -1
  417. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts +2 -0
  418. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts.map +1 -0
  419. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js +2 -0
  420. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js.map +1 -0
  421. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts +2 -0
  422. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts.map +1 -0
  423. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js +2 -0
  424. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js.map +1 -0
  425. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts +2 -0
  426. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts.map +1 -0
  427. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js +2 -0
  428. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js.map +1 -0
  429. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts +2 -0
  430. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts.map +1 -0
  431. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js +2 -0
  432. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js.map +1 -0
  433. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts +2 -0
  434. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts.map +1 -0
  435. package/dist/lexical-proxy/@lexical-react/ReactExtension.js +2 -0
  436. package/dist/lexical-proxy/@lexical-react/ReactExtension.js.map +1 -0
  437. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts +2 -0
  438. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts.map +1 -0
  439. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js +2 -0
  440. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js.map +1 -0
  441. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts +2 -0
  442. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts.map +1 -0
  443. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js +2 -0
  444. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js.map +1 -0
  445. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts +2 -0
  446. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts.map +1 -0
  447. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js +2 -0
  448. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js.map +1 -0
  449. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts +2 -0
  450. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts.map +1 -0
  451. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js +2 -0
  452. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js.map +1 -0
  453. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts +2 -0
  454. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts.map +1 -0
  455. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js +2 -0
  456. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js.map +1 -0
  457. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts +2 -0
  458. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts.map +1 -0
  459. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js +2 -0
  460. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js.map +1 -0
  461. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts +2 -0
  462. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts.map +1 -0
  463. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js +2 -0
  464. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js.map +1 -0
  465. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts +2 -0
  466. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts.map +1 -0
  467. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js +2 -0
  468. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js.map +1 -0
  469. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts +2 -0
  470. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts.map +1 -0
  471. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js +2 -0
  472. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js.map +1 -0
  473. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts +2 -0
  474. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts.map +1 -0
  475. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js +2 -0
  476. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js.map +1 -0
  477. package/dist/populateGraphQL/populate.js.map +1 -1
  478. package/dist/presets/llmInstructions.d.ts +2 -0
  479. package/dist/presets/llmInstructions.d.ts.map +1 -0
  480. package/dist/presets/llmInstructions.js +13 -0
  481. package/dist/presets/llmInstructions.js.map +1 -0
  482. package/dist/types/builtInNodes.d.ts +1 -1
  483. package/dist/types/builtInNodes.d.ts.map +1 -1
  484. package/dist/types/builtInNodes.js +8 -3
  485. package/dist/types/builtInNodes.js.map +1 -1
  486. package/dist/types/index.d.ts +4 -7
  487. package/dist/types/index.d.ts.map +1 -1
  488. package/dist/types/index.js.map +1 -1
  489. package/dist/types/jsonSchemaHelpers.d.ts +5 -1
  490. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -1
  491. package/dist/types/jsonSchemaHelpers.js +7 -2
  492. package/dist/types/jsonSchemaHelpers.js.map +1 -1
  493. package/dist/types/nodeTypes.d.ts +6 -1
  494. package/dist/types/nodeTypes.d.ts.map +1 -1
  495. package/dist/types/nodeTypes.js.map +1 -1
  496. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  497. package/dist/utilities/buildEditorState.js.map +1 -1
  498. package/dist/utilities/buildInitialState.d.ts +3 -2
  499. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  500. package/dist/utilities/buildInitialState.js +1 -0
  501. package/dist/utilities/buildInitialState.js.map +1 -1
  502. package/dist/utilities/createServerFeature.d.ts +1 -1
  503. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  504. package/dist/utilities/createServerFeature.js +2 -2
  505. package/dist/utilities/createServerFeature.js.map +1 -1
  506. package/dist/utilities/editorConfigFactory.d.ts +6 -6
  507. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  508. package/dist/utilities/editorConfigFactory.js +9 -9
  509. package/dist/utilities/editorConfigFactory.js.map +1 -1
  510. package/dist/utilities/fieldsDrawer/Drawer.js +36 -36
  511. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  512. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  513. package/dist/utilities/fieldsDrawer/DrawerContent.js +6 -9
  514. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  515. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js.map +1 -1
  516. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  517. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  518. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  519. package/dist/utilities/generateImportMap.d.ts +2 -2
  520. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  521. package/dist/utilities/generateImportMap.js.map +1 -1
  522. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts +2 -2
  523. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  524. package/dist/utilities/getDefaultSanitizedEditorConfig.js +6 -17
  525. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  526. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
  527. package/dist/utilities/initLexicalFeatures.js +38 -4
  528. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  529. package/dist/utilities/upgradeLexicalData/index.js +6 -3
  530. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  531. package/dist/utilities/useLexicalFeature.js +15 -6
  532. package/dist/utilities/useLexicalFeature.js.map +1 -1
  533. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  534. package/dist/validate/hasText.d.ts +2 -2
  535. package/dist/validate/hasText.d.ts.map +1 -1
  536. package/dist/validate/hasText.js.map +1 -1
  537. package/dist/validate/index.d.ts +1 -1
  538. package/dist/validate/index.d.ts.map +1 -1
  539. package/package.json +125 -54
  540. package/dist/dependencyChecker.spec.js +0 -16
  541. package/dist/dependencyChecker.spec.js.map +0 -1
  542. package/dist/exports/client/Field-QGSHF22S.js +0 -2
  543. package/dist/exports/client/Field-QGSHF22S.js.map +0 -7
  544. package/dist/exports/client/bundled.css +0 -1
  545. package/dist/exports/client/chunk-ESITTE3C.js +0 -2
  546. package/dist/exports/client/chunk-ESITTE3C.js.map +0 -7
  547. package/dist/exports/client/chunk-UD4DQ4AK.js +0 -2
  548. package/dist/exports/client/chunk-UD4DQ4AK.js.map +0 -7
  549. package/dist/exports/client/chunk-X3D4LZS7.js +0 -2
  550. package/dist/exports/client/chunk-X3D4LZS7.js.map +0 -7
  551. package/dist/exports/client/component-PHZQBOJE.js +0 -2
  552. package/dist/exports/client/component-PHZQBOJE.js.map +0 -7
  553. package/dist/exports/client/componentInline-H24N7GUG.js +0 -2
  554. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts +0 -11
  555. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts.map +0 -1
  556. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +0 -20
  557. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +0 -1
  558. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +0 -180
  559. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +0 -1
  560. package/dist/features/experimental_table/client/index.d.ts.map +0 -1
  561. package/dist/features/experimental_table/client/index.js.map +0 -1
  562. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  563. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +0 -1
  564. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  565. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +0 -1
  566. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +0 -1
  567. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +0 -1
  568. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +0 -1
  569. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js.map +0 -1
  570. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +0 -1
  571. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +0 -1
  572. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +0 -1
  573. package/dist/features/experimental_table/client/utils/debounce.js.map +0 -1
  574. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +0 -1
  575. package/dist/features/experimental_table/client/utils/useDebounce.js.map +0 -1
  576. package/dist/features/experimental_table/markdownTransformer.d.ts.map +0 -1
  577. package/dist/features/experimental_table/markdownTransformer.js.map +0 -1
  578. package/dist/features/experimental_table/server/index.d.ts +0 -3
  579. package/dist/features/experimental_table/server/index.d.ts.map +0 -1
  580. package/dist/features/experimental_table/server/index.js.map +0 -1
  581. package/dist/features/experimental_table/server/schema.d.ts.map +0 -1
  582. package/dist/features/experimental_table/server/schema.js.map +0 -1
  583. package/dist/features/link/markdownTransformer.spec.js +0 -195
  584. package/dist/features/link/markdownTransformer.spec.js.map +0 -1
  585. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js +0 -88
  586. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js.map +0 -1
  587. package/dist/lexical/utils/url.spec.js +0 -114
  588. package/dist/lexical/utils/url.spec.js.map +0 -1
  589. package/dist/utilities/jsx/jsx.spec.js +0 -178
  590. package/dist/utilities/jsx/jsx.spec.js.map +0 -1
  591. /package/dist/exports/client/{RelationshipComponent-YCPAKOL7.js.map → RelationshipComponent-TVK6I4W4.js.map} +0 -0
  592. /package/dist/exports/client/{componentInline-H24N7GUG.js.map → componentInline-AU7IBNY7.js.map} +0 -0
  593. /package/dist/features/{experimental_table → table}/client/index.d.ts +0 -0
  594. /package/dist/features/{experimental_table → table}/client/index.js +0 -0
  595. /package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.d.ts +0 -0
  596. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.css +0 -0
  597. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.d.ts +0 -0
  598. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.d.ts +0 -0
  599. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.js +0 -0
  600. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.d.ts +0 -0
  601. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.js +0 -0
  602. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.css +0 -0
  603. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.d.ts +0 -0
  604. /package/dist/features/{experimental_table → table}/client/utils/debounce.d.ts +0 -0
  605. /package/dist/features/{experimental_table → table}/client/utils/debounce.js +0 -0
  606. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.d.ts +0 -0
  607. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.js +0 -0
  608. /package/dist/features/{experimental_table → table}/markdownTransformer.d.ts +0 -0
  609. /package/dist/features/{experimental_table → table}/markdownTransformer.js +0 -0
  610. /package/dist/features/{experimental_table → table}/server/schema.d.ts +0 -0
  611. /package/dist/features/{experimental_table → table}/server/schema.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"editorConfigFactory.js","names":["defaultEditorConfig","defaultEditorFeatures","loadFeatures","sanitizeServerFeatures","getDefaultSanitizedEditorConfig","editorConfigFactory","default","args","config","parentIsLocalized","fromEditor","lexicalAdapter","editor","isRoot","sanitizedServerEditorConfig","editorConfig","fromFeatures","featuresInputToEditorConfig","sanitizedConfig","fromField","field","fromUnsanitizedField","lexicalAdapterProvider","features","rootEditor","rootEditorFeatures","defaultFeatures","rootFeatures","lexical","resolvedFeatureMap","unSanitizedEditorConfig"],"sources":["../../src/utilities/editorConfigFactory.ts"],"sourcesContent":["import type { EditorConfig as LexicalEditorConfig } from 'lexical'\nimport type { RichTextAdapterProvider, RichTextField, SanitizedConfig } from 'payload'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type {\n FeaturesInput,\n LexicalRichTextAdapter,\n LexicalRichTextAdapterProvider,\n} from '../types/index.js'\n\nimport { defaultEditorConfig, defaultEditorFeatures } from '../lexical/config/server/default.js'\nimport { loadFeatures } from '../lexical/config/server/loader.js'\nimport { sanitizeServerFeatures } from '../lexical/config/server/sanitize.js'\nimport { getDefaultSanitizedEditorConfig } from './getDefaultSanitizedEditorConfig.js'\n\nexport const editorConfigFactory = {\n default: async (args: {\n config: SanitizedConfig\n parentIsLocalized?: boolean\n }): Promise<SanitizedServerEditorConfig> => {\n return getDefaultSanitizedEditorConfig({\n config: args.config,\n parentIsLocalized: args.parentIsLocalized ?? false,\n })\n },\n /**\n * If you have instantiated a lexical editor and are accessing it outside a field (=> this is the unsanitized editor),\n * you can extract the editor config from it.\n * This is common if you define the editor in a re-usable module scope variable and pass it to the richText field.\n *\n * This is the least efficient way to get the editor config, and not recommended. It is recommended to extract the `features` arg\n * into a separate variable and use `fromFeatures` instead.\n */\n fromEditor: async (args: {\n config: SanitizedConfig\n editor: LexicalRichTextAdapterProvider\n isRoot?: boolean\n lexical?: LexicalEditorConfig\n parentIsLocalized?: boolean\n }): Promise<SanitizedServerEditorConfig> => {\n const lexicalAdapter: LexicalRichTextAdapter = await args.editor({\n config: args.config,\n isRoot: args.isRoot ?? false,\n parentIsLocalized: args.parentIsLocalized ?? false,\n })\n\n const sanitizedServerEditorConfig: SanitizedServerEditorConfig = lexicalAdapter.editorConfig\n return sanitizedServerEditorConfig\n },\n /**\n * Create a new editor config - behaves just like instantiating a new `lexicalEditor`\n */\n fromFeatures: async (args: {\n config: SanitizedConfig\n features?: FeaturesInput\n isRoot?: boolean\n lexical?: LexicalEditorConfig\n parentIsLocalized?: boolean\n }): Promise<SanitizedServerEditorConfig> => {\n return (await featuresInputToEditorConfig(args)).sanitizedConfig\n },\n fromField: (args: { field: RichTextField }): SanitizedServerEditorConfig => {\n const lexicalAdapter: LexicalRichTextAdapter = args.field.editor as LexicalRichTextAdapter\n\n const sanitizedServerEditorConfig: SanitizedServerEditorConfig = lexicalAdapter.editorConfig\n return sanitizedServerEditorConfig\n },\n fromUnsanitizedField: async (args: {\n config: SanitizedConfig\n field: RichTextField\n isRoot?: boolean\n parentIsLocalized?: boolean\n }): Promise<SanitizedServerEditorConfig> => {\n const lexicalAdapterProvider: RichTextAdapterProvider = args.field\n .editor as RichTextAdapterProvider\n\n const lexicalAdapter: LexicalRichTextAdapter = (await lexicalAdapterProvider({\n config: args.config,\n isRoot: args.isRoot ?? false,\n parentIsLocalized: args.parentIsLocalized ?? false,\n })) as LexicalRichTextAdapter\n\n const sanitizedServerEditorConfig: SanitizedServerEditorConfig = lexicalAdapter.editorConfig\n return sanitizedServerEditorConfig\n },\n}\n\nexport const featuresInputToEditorConfig = async (args: {\n config: SanitizedConfig\n features?: FeaturesInput\n isRoot?: boolean\n lexical?: LexicalEditorConfig\n parentIsLocalized?: boolean\n}): Promise<{\n features: FeatureProviderServer<unknown, unknown, unknown>[]\n resolvedFeatureMap: ResolvedServerFeatureMap\n sanitizedConfig: SanitizedServerEditorConfig\n}> => {\n let features: FeatureProviderServer<unknown, unknown, unknown>[] = []\n if (args.features && typeof args.features === 'function') {\n const rootEditor = args.config.editor\n let rootEditorFeatures: FeatureProviderServer<unknown, unknown, unknown>[] = []\n if (typeof rootEditor === 'object' && 'features' in rootEditor) {\n rootEditorFeatures = (rootEditor as LexicalRichTextAdapter).features\n }\n features = args.features({\n defaultFeatures: defaultEditorFeatures,\n rootFeatures: rootEditorFeatures,\n })\n } else {\n features = args.features as FeatureProviderServer<unknown, unknown, unknown>[]\n }\n\n if (!features) {\n features = defaultEditorFeatures\n }\n\n const lexical = args.lexical ?? defaultEditorConfig.lexical\n\n const resolvedFeatureMap = await loadFeatures({\n config: args.config,\n isRoot: args.isRoot ?? false,\n parentIsLocalized: args.parentIsLocalized ?? false,\n unSanitizedEditorConfig: {\n features,\n lexical,\n },\n })\n\n return {\n features,\n resolvedFeatureMap,\n sanitizedConfig: {\n features: sanitizeServerFeatures(resolvedFeatureMap),\n lexical: args.lexical,\n resolvedFeatureMap,\n },\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"editorConfigFactory.js","names":["defaultEditorConfig","defaultEditorFeatures","loadFeatures","sanitizeServerFeatures","getDefaultSanitizedEditorConfig","editorConfigFactory","default","args","config","parentIsLocalized","fromEditor","lexicalAdapter","editor","isRoot","sanitizedServerEditorConfig","editorConfig","fromFeatures","featuresInputToEditorConfig","sanitizedConfig","fromField","field","fromUnsanitizedField","lexicalAdapterProvider","features","rootEditor","rootEditorFeatures","defaultFeatures","rootFeatures","lexical","resolvedFeatureMap","unSanitizedEditorConfig"],"sources":["../../src/utilities/editorConfigFactory.ts"],"sourcesContent":["import type { EditorConfig as LexicalEditorConfig } from 'lexical'\nimport type { RichTextAdapterProvider, RichTextField, SanitizedConfig } from 'payload'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type {\n FeaturesInput,\n LexicalRichTextAdapter,\n LexicalRichTextAdapterProvider,\n} from '../types/index.js'\n\nimport { defaultEditorConfig, defaultEditorFeatures } from '../lexical/config/server/default.js'\nimport { loadFeatures } from '../lexical/config/server/loader.js'\nimport { sanitizeServerFeatures } from '../lexical/config/server/sanitize.js'\nimport { getDefaultSanitizedEditorConfig } from './getDefaultSanitizedEditorConfig.js'\n\nexport const editorConfigFactory = {\n default: (args: {\n config: SanitizedConfig\n parentIsLocalized?: boolean\n }): SanitizedServerEditorConfig => {\n return getDefaultSanitizedEditorConfig({\n config: args.config,\n parentIsLocalized: args.parentIsLocalized ?? false,\n })\n },\n /**\n * If you have instantiated a lexical editor and are accessing it outside a field (=> this is the unsanitized editor),\n * you can extract the editor config from it.\n * This is common if you define the editor in a re-usable module scope variable and pass it to the richText field.\n *\n * This is the least efficient way to get the editor config, and not recommended. It is recommended to extract the `features` arg\n * into a separate variable and use `fromFeatures` instead.\n */\n fromEditor: (args: {\n config: SanitizedConfig\n editor: LexicalRichTextAdapterProvider\n isRoot?: boolean\n lexical?: LexicalEditorConfig\n parentIsLocalized?: boolean\n }): SanitizedServerEditorConfig => {\n const lexicalAdapter: LexicalRichTextAdapter = args.editor({\n config: args.config,\n isRoot: args.isRoot ?? false,\n parentIsLocalized: args.parentIsLocalized ?? false,\n })\n\n const sanitizedServerEditorConfig: SanitizedServerEditorConfig = lexicalAdapter.editorConfig\n return sanitizedServerEditorConfig\n },\n /**\n * Create a new editor config - behaves just like instantiating a new `lexicalEditor`\n */\n fromFeatures: (args: {\n config: SanitizedConfig\n features?: FeaturesInput\n isRoot?: boolean\n lexical?: LexicalEditorConfig\n parentIsLocalized?: boolean\n }): SanitizedServerEditorConfig => {\n return featuresInputToEditorConfig(args).sanitizedConfig\n },\n fromField: (args: { field: RichTextField }): SanitizedServerEditorConfig => {\n const lexicalAdapter: LexicalRichTextAdapter = args.field.editor as LexicalRichTextAdapter\n\n const sanitizedServerEditorConfig: SanitizedServerEditorConfig = lexicalAdapter.editorConfig\n return sanitizedServerEditorConfig\n },\n fromUnsanitizedField: (args: {\n config: SanitizedConfig\n field: RichTextField\n isRoot?: boolean\n parentIsLocalized?: boolean\n }): SanitizedServerEditorConfig => {\n const lexicalAdapterProvider: RichTextAdapterProvider = args.field\n .editor as RichTextAdapterProvider\n\n const lexicalAdapter: LexicalRichTextAdapter = lexicalAdapterProvider({\n config: args.config,\n isRoot: args.isRoot ?? false,\n parentIsLocalized: args.parentIsLocalized ?? false,\n }) as LexicalRichTextAdapter\n\n const sanitizedServerEditorConfig: SanitizedServerEditorConfig = lexicalAdapter.editorConfig\n return sanitizedServerEditorConfig\n },\n}\n\nexport const featuresInputToEditorConfig = (args: {\n config: SanitizedConfig\n features?: FeaturesInput\n isRoot?: boolean\n lexical?: LexicalEditorConfig\n parentIsLocalized?: boolean\n}): {\n features: FeatureProviderServer<unknown, unknown, unknown>[]\n resolvedFeatureMap: ResolvedServerFeatureMap\n sanitizedConfig: SanitizedServerEditorConfig\n} => {\n let features: FeatureProviderServer<unknown, unknown, unknown>[] = []\n if (args.features && typeof args.features === 'function') {\n const rootEditor = args.config.editor\n let rootEditorFeatures: FeatureProviderServer<unknown, unknown, unknown>[] = []\n if (typeof rootEditor === 'object' && 'features' in rootEditor) {\n rootEditorFeatures = (rootEditor as LexicalRichTextAdapter).features\n }\n features = args.features({\n defaultFeatures: defaultEditorFeatures,\n rootFeatures: rootEditorFeatures,\n })\n } else {\n features = args.features as FeatureProviderServer<unknown, unknown, unknown>[]\n }\n\n if (!features) {\n features = defaultEditorFeatures\n }\n\n const lexical = args.lexical ?? defaultEditorConfig.lexical\n\n const resolvedFeatureMap = loadFeatures({\n config: args.config,\n isRoot: args.isRoot ?? false,\n parentIsLocalized: args.parentIsLocalized ?? false,\n unSanitizedEditorConfig: {\n features,\n lexical,\n },\n })\n\n return {\n features,\n resolvedFeatureMap,\n sanitizedConfig: {\n features: sanitizeServerFeatures(resolvedFeatureMap),\n lexical: args.lexical,\n resolvedFeatureMap,\n },\n }\n}\n"],"mappings":"AAWA,SAASA,mBAAmB,EAAEC,qBAAqB,QAAQ;AAC3D,SAASC,YAAY,QAAQ;AAC7B,SAASC,sBAAsB,QAAQ;AACvC,SAASC,+BAA+B,QAAQ;AAEhD,OAAO,MAAMC,mBAAA,GAAsB;EACjCC,OAAA,EAAUC,IAAA;IAIR,OAAOH,+BAAA,CAAgC;MACrCI,MAAA,EAAQD,IAAA,CAAKC,MAAM;MACnBC,iBAAA,EAAmBF,IAAA,CAAKE,iBAAiB,IAAI;IAC/C;EACF;EACA;;;;;;;;EAQAC,UAAA,EAAaH,IAAA;IAOX,MAAMI,cAAA,GAAyCJ,IAAA,CAAKK,MAAM,CAAC;MACzDJ,MAAA,EAAQD,IAAA,CAAKC,MAAM;MACnBK,MAAA,EAAQN,IAAA,CAAKM,MAAM,IAAI;MACvBJ,iBAAA,EAAmBF,IAAA,CAAKE,iBAAiB,IAAI;IAC/C;IAEA,MAAMK,2BAAA,GAA2DH,cAAA,CAAeI,YAAY;IAC5F,OAAOD,2BAAA;EACT;EACA;;;EAGAE,YAAA,EAAeT,IAAA;IAOb,OAAOU,2BAAA,CAA4BV,IAAA,EAAMW,eAAe;EAC1D;EACAC,SAAA,EAAYZ,IAAA;IACV,MAAMI,cAAA,GAAyCJ,IAAA,CAAKa,KAAK,CAACR,MAAM;IAEhE,MAAME,2BAAA,GAA2DH,cAAA,CAAeI,YAAY;IAC5F,OAAOD,2BAAA;EACT;EACAO,oBAAA,EAAuBd,IAAA;IAMrB,MAAMe,sBAAA,GAAkDf,IAAA,CAAKa,KAAK,CAC/DR,MAAM;IAET,MAAMD,cAAA,GAAyCW,sBAAA,CAAuB;MACpEd,MAAA,EAAQD,IAAA,CAAKC,MAAM;MACnBK,MAAA,EAAQN,IAAA,CAAKM,MAAM,IAAI;MACvBJ,iBAAA,EAAmBF,IAAA,CAAKE,iBAAiB,IAAI;IAC/C;IAEA,MAAMK,2BAAA,GAA2DH,cAAA,CAAeI,YAAY;IAC5F,OAAOD,2BAAA;EACT;AACF;AAEA,OAAO,MAAMG,2BAAA,GAA+BV,IAAA;EAW1C,IAAIgB,QAAA,GAA+D,EAAE;EACrE,IAAIhB,IAAA,CAAKgB,QAAQ,IAAI,OAAOhB,IAAA,CAAKgB,QAAQ,KAAK,YAAY;IACxD,MAAMC,UAAA,GAAajB,IAAA,CAAKC,MAAM,CAACI,MAAM;IACrC,IAAIa,kBAAA,GAAyE,EAAE;IAC/E,IAAI,OAAOD,UAAA,KAAe,YAAY,cAAcA,UAAA,EAAY;MAC9DC,kBAAA,GAAqBD,UAAC,CAAsCD,QAAQ;IACtE;IACAA,QAAA,GAAWhB,IAAA,CAAKgB,QAAQ,CAAC;MACvBG,eAAA,EAAiBzB,qBAAA;MACjB0B,YAAA,EAAcF;IAChB;EACF,OAAO;IACLF,QAAA,GAAWhB,IAAA,CAAKgB,QAAQ;EAC1B;EAEA,IAAI,CAACA,QAAA,EAAU;IACbA,QAAA,GAAWtB,qBAAA;EACb;EAEA,MAAM2B,OAAA,GAAUrB,IAAA,CAAKqB,OAAO,IAAI5B,mBAAA,CAAoB4B,OAAO;EAE3D,MAAMC,kBAAA,GAAqB3B,YAAA,CAAa;IACtCM,MAAA,EAAQD,IAAA,CAAKC,MAAM;IACnBK,MAAA,EAAQN,IAAA,CAAKM,MAAM,IAAI;IACvBJ,iBAAA,EAAmBF,IAAA,CAAKE,iBAAiB,IAAI;IAC7CqB,uBAAA,EAAyB;MACvBP,QAAA;MACAK;IACF;EACF;EAEA,OAAO;IACLL,QAAA;IACAM,kBAAA;IACAX,eAAA,EAAiB;MACfK,QAAA,EAAUpB,sBAAA,CAAuB0B,kBAAA;MACjCD,OAAA,EAASrB,IAAA,CAAKqB,OAAO;MACrBC;IACF;EACF;AACF","ignoreList":[]}
@@ -12,7 +12,7 @@ import { useDrawerSubmit } from './useDrawerSubmit.js';
12
12
  * be used if you provide your field schema inside the `generateSchemaMap` prop of your feature.server.ts.
13
13
  */
14
14
  export const FieldsDrawer = t0 => {
15
- const $ = _c(17);
15
+ const $ = _c(18);
16
16
  const {
17
17
  className,
18
18
  data,
@@ -32,30 +32,29 @@ export const FieldsDrawer = t0 => {
32
32
  headerActions,
33
33
  submitRef
34
34
  } = useDrawerSubmit();
35
- const t1 = drawerTitle ?? "";
36
- let t2;
37
- if ($[0] !== closeModal || $[1] !== drawerSlug || $[2] !== handleDrawerSubmit) {
38
- t2 = (args, args2) => {
39
- closeModal(drawerSlug);
40
- setTimeout(() => {
41
- handleDrawerSubmit(args, args2);
42
- }, 1);
43
- };
44
- $[0] = closeModal;
45
- $[1] = drawerSlug;
46
- $[2] = handleDrawerSubmit;
47
- $[3] = t2;
48
- } else {
49
- t2 = $[3];
50
- }
51
- let t3;
52
- if ($[4] !== className || $[5] !== data || $[6] !== drawerSlug || $[7] !== featureKey || $[8] !== fieldMapOverride || $[9] !== headerActions || $[10] !== schemaFieldsPathOverride || $[11] !== schemaPath || $[12] !== schemaPathSuffix || $[13] !== submitRef || $[14] !== t1 || $[15] !== t2) {
53
- t3 = _jsx(EditDepthProvider, {
35
+ let t1;
36
+ if ($[0] !== className || $[1] !== closeModal || $[2] !== data || $[3] !== drawerSlug || $[4] !== drawerTitle || $[5] !== featureKey || $[6] !== fieldMapOverride || $[7] !== handleDrawerSubmit || $[8] !== headerActions || $[9] !== schemaFieldsPathOverride || $[10] !== schemaPath || $[11] !== schemaPathSuffix || $[12] !== submitRef) {
37
+ let t2;
38
+ if ($[14] !== closeModal || $[15] !== drawerSlug || $[16] !== handleDrawerSubmit) {
39
+ t2 = (args, args2) => {
40
+ closeModal(drawerSlug);
41
+ setTimeout(() => {
42
+ handleDrawerSubmit(args, args2);
43
+ }, 1);
44
+ };
45
+ $[14] = closeModal;
46
+ $[15] = drawerSlug;
47
+ $[16] = handleDrawerSubmit;
48
+ $[17] = t2;
49
+ } else {
50
+ t2 = $[17];
51
+ }
52
+ t1 = _jsx(EditDepthProvider, {
54
53
  children: _jsx(Drawer, {
55
54
  className,
56
55
  headerActions,
57
56
  slug: drawerSlug,
58
- title: t1,
57
+ title: drawerTitle ?? "",
59
58
  children: _jsx(DrawerContent, {
60
59
  data,
61
60
  featureKey,
@@ -68,22 +67,23 @@ export const FieldsDrawer = t0 => {
68
67
  })
69
68
  })
70
69
  });
71
- $[4] = className;
72
- $[5] = data;
73
- $[6] = drawerSlug;
74
- $[7] = featureKey;
75
- $[8] = fieldMapOverride;
76
- $[9] = headerActions;
77
- $[10] = schemaFieldsPathOverride;
78
- $[11] = schemaPath;
79
- $[12] = schemaPathSuffix;
80
- $[13] = submitRef;
81
- $[14] = t1;
82
- $[15] = t2;
83
- $[16] = t3;
70
+ $[0] = className;
71
+ $[1] = closeModal;
72
+ $[2] = data;
73
+ $[3] = drawerSlug;
74
+ $[4] = drawerTitle;
75
+ $[5] = featureKey;
76
+ $[6] = fieldMapOverride;
77
+ $[7] = handleDrawerSubmit;
78
+ $[8] = headerActions;
79
+ $[9] = schemaFieldsPathOverride;
80
+ $[10] = schemaPath;
81
+ $[11] = schemaPathSuffix;
82
+ $[12] = submitRef;
83
+ $[13] = t1;
84
84
  } else {
85
- t3 = $[16];
85
+ t1 = $[13];
86
86
  }
87
- return t3;
87
+ return t1;
88
88
  };
89
89
  //# sourceMappingURL=Drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","names":["c","_c","Drawer","EditDepthProvider","useModal","React","DrawerContent","useDrawerSubmit","FieldsDrawer","t0","$","className","data","drawerSlug","drawerTitle","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","closeModal","headerActions","submitRef","t1","t2","args","args2","setTimeout","t3","_jsx","children","slug","title"],"sources":["../../../src/utilities/fieldsDrawer/Drawer.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, Data, FormState, JsonObject } from 'payload'\n\nimport { Drawer, EditDepthProvider, useModal } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { DrawerContent } from './DrawerContent.js'\nimport { useDrawerSubmit } from './useDrawerSubmit.js'\n\nexport type FieldsDrawerProps = {\n readonly className?: string\n readonly data?: Data\n readonly drawerSlug: string\n readonly drawerTitle?: string\n readonly featureKey: string\n readonly fieldMapOverride?: ClientField[]\n readonly handleDrawerSubmit: (fields: FormState, data: JsonObject) => void\n readonly schemaFieldsPathOverride?: string\n readonly schemaPath: string\n readonly schemaPathSuffix?: string\n}\n\n/**\n * This FieldsDrawer component can be used to easily create a Drawer that contains a form with fields within your feature.\n * The fields are taken directly from the schema map based on your `featureKey` and `schemaPathSuffix`. Thus, this can only\n * be used if you provide your field schema inside the `generateSchemaMap` prop of your feature.server.ts.\n */\nexport const FieldsDrawer: React.FC<FieldsDrawerProps> = ({\n className,\n data,\n drawerSlug,\n drawerTitle,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n}) => {\n const { closeModal } = useModal()\n const { headerActions, submitRef } = useDrawerSubmit()\n\n // The Drawer only renders its children (and itself) if it's open. Thus, by extracting the main content\n // to DrawerContent, this should be faster\n return (\n <EditDepthProvider>\n <Drawer\n className={className}\n headerActions={headerActions}\n slug={drawerSlug}\n title={drawerTitle ?? ''}\n >\n <DrawerContent\n data={data}\n featureKey={featureKey}\n fieldMapOverride={fieldMapOverride}\n handleDrawerSubmit={(args, args2) => {\n // Simply close drawer - no need for useLexicalDrawer here as at this point,\n // we don't need to restore the cursor position. This is handled by the useEffect in useLexicalDrawer.\n closeModal(drawerSlug)\n\n // Actual drawer submit logic needs to be triggered after the drawer is closed.\n // That's because the lexical selection / cursor restore logic that is striggerer by\n // `useLexicalDrawer` neeeds to be triggered before any editor.update calls that may happen\n // in the `handleDrawerSubmit` function.\n setTimeout(() => {\n handleDrawerSubmit(args, args2)\n }, 1)\n }}\n schemaFieldsPathOverride={schemaFieldsPathOverride}\n schemaPath={schemaPath}\n schemaPathSuffix={schemaPathSuffix}\n submitRef={submitRef}\n />\n </Drawer>\n </EditDepthProvider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,MAAM,EAAEC,iBAAiB,EAAEC,QAAQ,QAAQ;AACpD,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAehC;;;;;AAKA,OAAO,MAAMC,YAAA,GAA4CC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,SAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,gBAAA;IAAAC,kBAAA;IAAAC,wBAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAX,EAWzD;EACC;IAAAY;EAAA,IAAuBjB,QAAA;EACvB;IAAAkB,aAAA;IAAAC;EAAA,IAAqChB,eAAA;EAUxB,MAAAiB,EAAA,GAAAV,WAAA,IAAe;EAAA,IAAAW,EAAA;EAAA,IAAAf,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAO,kBAAA;IAMAQ,EAAA,GAAAA,CAAAC,IAAA,EAAAC,KAAA;MAGlBN,UAAA,CAAWR,UAAA;MAMXe,UAAA;QACEX,kBAAA,CAAmBS,IAAA,EAAMC,KAAA;MAAA,IACxB;IAAA;IACLjB,CAAA,MAAAW,UAAA;IAAAX,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAO,kBAAA;IAAAP,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAnB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAM,gBAAA,IAAAN,CAAA,QAAAY,aAAA,IAAAZ,CAAA,SAAAQ,wBAAA,IAAAR,CAAA,SAAAS,UAAA,IAAAT,CAAA,SAAAU,gBAAA,IAAAV,CAAA,SAAAa,SAAA,IAAAb,CAAA,SAAAc,EAAA,IAAAd,CAAA,SAAAe,EAAA;IAvBNI,EAAA,GAAAC,IAAA,CAAA3B,iBAAA;MAAA4B,QAAA,EACED,IAAA,CAAA5B,MAAA;QAAAS,SAAA;QAAAW,aAAA;QAAAU,IAAA,EAGQnB,UAAA;QAAAoB,KAAA,EACCT,EAAe;QAAAO,QAAA,EAEtBD,IAAA,CAAAxB,aAAA;UAAAM,IAAA;UAAAG,UAAA;UAAAC,gBAAA;UAAAC,kBAAA,EAIsBQ,EAYpB;UAAAP,wBAAA;UAAAC,UAAA;UAAAC,gBAAA;UAAAG;QAAA,C;;;;;;;;;;;;;;;;;;;SAvBNM,E;CAgCJ","ignoreList":[]}
1
+ {"version":3,"file":"Drawer.js","names":["c","_c","Drawer","EditDepthProvider","useModal","React","DrawerContent","useDrawerSubmit","FieldsDrawer","t0","$","className","data","drawerSlug","drawerTitle","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","closeModal","headerActions","submitRef","t1","t2","args","args2","setTimeout","_jsx","children","slug","title"],"sources":["../../../src/utilities/fieldsDrawer/Drawer.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, Data, FormState, JsonObject } from 'payload'\n\nimport { Drawer, EditDepthProvider, useModal } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { DrawerContent } from './DrawerContent.js'\nimport { useDrawerSubmit } from './useDrawerSubmit.js'\n\nexport type FieldsDrawerProps = {\n readonly className?: string\n readonly data?: Data\n readonly drawerSlug: string\n readonly drawerTitle?: string\n readonly featureKey: string\n readonly fieldMapOverride?: ClientField[]\n readonly handleDrawerSubmit: (fields: FormState, data: JsonObject) => void\n readonly schemaFieldsPathOverride?: string\n readonly schemaPath: string\n readonly schemaPathSuffix?: string\n}\n\n/**\n * This FieldsDrawer component can be used to easily create a Drawer that contains a form with fields within your feature.\n * The fields are taken directly from the schema map based on your `featureKey` and `schemaPathSuffix`. Thus, this can only\n * be used if you provide your field schema inside the `generateSchemaMap` prop of your feature.server.ts.\n */\nexport const FieldsDrawer: React.FC<FieldsDrawerProps> = ({\n className,\n data,\n drawerSlug,\n drawerTitle,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n}) => {\n const { closeModal } = useModal()\n const { headerActions, submitRef } = useDrawerSubmit()\n\n // The Drawer only renders its children (and itself) if it's open. Thus, by extracting the main content\n // to DrawerContent, this should be faster\n return (\n <EditDepthProvider>\n <Drawer\n className={className}\n headerActions={headerActions}\n slug={drawerSlug}\n title={drawerTitle ?? ''}\n >\n <DrawerContent\n data={data}\n featureKey={featureKey}\n fieldMapOverride={fieldMapOverride}\n handleDrawerSubmit={(args, args2) => {\n // Simply close drawer - no need for useLexicalDrawer here as at this point,\n // we don't need to restore the cursor position. This is handled by the useEffect in useLexicalDrawer.\n closeModal(drawerSlug)\n\n // Actual drawer submit logic needs to be triggered after the drawer is closed.\n // That's because the lexical selection / cursor restore logic that is striggerer by\n // `useLexicalDrawer` neeeds to be triggered before any editor.update calls that may happen\n // in the `handleDrawerSubmit` function.\n setTimeout(() => {\n handleDrawerSubmit(args, args2)\n }, 1)\n }}\n schemaFieldsPathOverride={schemaFieldsPathOverride}\n schemaPath={schemaPath}\n schemaPathSuffix={schemaPathSuffix}\n submitRef={submitRef}\n />\n </Drawer>\n </EditDepthProvider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,MAAM,EAAEC,iBAAiB,EAAEC,QAAQ,QAAQ;AACpD,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAehC;;;;;AAKA,OAAO,MAAMC,YAAA,GAA4CC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,SAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,gBAAA;IAAAC,kBAAA;IAAAC,wBAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAX,EAWzD;EACC;IAAAY;EAAA,IAAuBjB,QAAA;EACvB;IAAAkB,aAAA;IAAAC;EAAA,IAAqChB,eAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAd,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAI,WAAA,IAAAJ,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAM,gBAAA,IAAAN,CAAA,QAAAO,kBAAA,IAAAP,CAAA,QAAAY,aAAA,IAAAZ,CAAA,QAAAQ,wBAAA,IAAAR,CAAA,SAAAS,UAAA,IAAAT,CAAA,SAAAU,gBAAA,IAAAV,CAAA,SAAAa,SAAA;IAAA,IAAAE,EAAA;IAAA,IAAAf,CAAA,SAAAW,UAAA,IAAAX,CAAA,SAAAG,UAAA,IAAAH,CAAA,SAAAO,kBAAA;MAgBTQ,EAAA,GAAAA,CAAAC,IAAA,EAAAC,KAAA;QAGlBN,UAAA,CAAWR,UAAA;QAMXe,UAAA,CAAW;UACTX,kBAAA,CAAmBS,IAAA,EAAMC,KAAA;QAAA,CAC3B,EAAG;MAAA,CACL;MAAAjB,CAAA,OAAAW,UAAA;MAAAX,CAAA,OAAAG,UAAA;MAAAH,CAAA,OAAAO,kBAAA;MAAAP,CAAA,OAAAe,EAAA;IAAA;MAAAA,EAAA,GAAAf,CAAA;IAAA;IAvBNc,EAAA,GAAAK,IAAA,CAAC1B,iBAAA;MAAA2B,QAAA,EACCD,IAAA,CAAC3B,MAAA;QAAAS,SAAA;QAAAW,aAAA;QAAAS,IAAA,EAGOlB,UAAA;QAAAmB,KAAA,EACClB,WAAe,IAAf,EAAe;QAAAgB,QAAA,EAEtBD,IAAA,CAACvB,aAAA;UAAAM,IAAA;UAAAG,UAAA;UAAAC,gBAAA;UAAAC,kBAAA,EAIqBQ,EAYpB;UAAAP,wBAAA;UAAAC,UAAA;UAAAC,gBAAA;UAAAG;;;;;;;;;;;;;;;;;;;;;SAvBNC,E;CAgCJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAClC;IACE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;CAChD,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,aAAa,CAAC,CAyJ1D,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAClC;IACE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;CAChD,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,aAAa,CAAC,CAuJ1D,CAAA"}
@@ -2,9 +2,8 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useLexicalEditable } from '@lexical/react/useLexicalEditable';
5
- import { Form, RenderFields, useDocumentForm, useDocumentInfo, useServerFunctions } from '@payloadcms/ui';
5
+ import { Form, RenderFields, useDocumentForm, useDocumentInfo, useEffectEvent, useServerFunctions } from '@payloadcms/ui';
6
6
  import { abortAndIgnore } from '@payloadcms/ui/shared';
7
- import { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared';
8
7
  import React, { useCallback, useEffect, useRef, useState } from 'react';
9
8
  import { v4 as uuid } from 'uuid';
10
9
  import { useEditorConfigContext } from '../../lexical/config/client/EditorConfigProvider.js';
@@ -43,6 +42,8 @@ export const DrawerContent = ({
43
42
  const schemaFieldsPath = schemaFieldsPathOverride ?? `${schemaPath}.lexical_internal_feature.${featureKey}${schemaPathSuffix ? `.${schemaPathSuffix}` : ''}`;
44
43
  const fields = fieldMapOverride ?? featureClientSchemaMap[featureKey]?.[schemaFieldsPath] // Field Schema
45
44
  ;
45
+ // Parent autosave updates this context without starting a new drawer editing session.
46
+ const getParentDocumentFields = useEffectEvent(() => parentDocumentFields);
46
47
  useEffect(() => {
47
48
  const controller = new AbortController();
48
49
  const awaitInitialState = async () => {
@@ -56,9 +57,7 @@ export const DrawerContent = ({
56
57
  fields: true
57
58
  },
58
59
  docPreferences: await getDocPreferences(),
59
- documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {
60
- excludeFiles: true
61
- }),
60
+ documentFormState: getParentDocumentFields(),
62
61
  globalSlug,
63
62
  initialBlockData: data,
64
63
  operation: 'update',
@@ -73,7 +72,7 @@ export const DrawerContent = ({
73
72
  return () => {
74
73
  abortAndIgnore(controller);
75
74
  };
76
- }, [schemaFieldsPath, id, data, getFormState, collectionSlug, isEditable, globalSlug, getDocPreferences, parentDocumentFields]);
75
+ }, [schemaFieldsPath, id, data, getFormState, collectionSlug, isEditable, globalSlug, getDocPreferences]);
77
76
  const onChange = useCallback(async ({
78
77
  formState: prevFormState
79
78
  }) => {
@@ -89,9 +88,7 @@ export const DrawerContent = ({
89
88
  fields: true
90
89
  },
91
90
  docPreferences: await getDocPreferences(),
92
- documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {
93
- excludeFiles: true
94
- }),
91
+ documentFormState: parentDocumentFields,
95
92
  formState: prevFormState,
96
93
  globalSlug,
97
94
  initialBlockFormState: prevFormState,
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useLexicalEditable","Form","RenderFields","useDocumentForm","useDocumentInfo","useServerFunctions","abortAndIgnore","deepCopyObjectSimpleWithoutReactComponents","React","useCallback","useEffect","useRef","useState","v4","uuid","useEditorConfigContext","RegisterFormSubmit","DrawerContent","data","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","submitRef","id","collectionSlug","getDocPreferences","globalSlug","fields","parentDocumentFields","isEditable","onChangeAbortControllerRef","AbortController","initialState","setInitialState","fieldProps","featureClientSchemaMap","getFormState","schemaFieldsPath","controller","awaitInitialState","state","docPermissions","docPreferences","documentFormState","excludeFiles","initialBlockData","operation","readOnly","renderAllFields","signal","onChange","formState","prevFormState","current","initialBlockFormState","_jsxs","beforeSubmit","className","disableValidationOnSubmit","Array","isArray","onSubmit","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n Form,\n RenderFields,\n useDocumentForm,\n useDocumentInfo,\n useServerFunctions,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { FieldsDrawerProps } from './Drawer.js'\n\nimport { useEditorConfigContext } from '../../lexical/config/client/EditorConfigProvider.js'\nimport { RegisterFormSubmit } from './useDrawerSubmit.js'\nimport './index.css'\n\nexport const DrawerContent: React.FC<\n {\n submitRef: React.RefObject<(() => void) | null>\n } & Omit<FieldsDrawerProps, 'drawerSlug' | 'drawerTitle'>\n> = ({\n data,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n submitRef,\n}) => {\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { fields: parentDocumentFields } = useDocumentForm()\n const isEditable = useLexicalEditable()\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const {\n fieldProps: { featureClientSchemaMap },\n } = useEditorConfigContext()\n\n const { getFormState } = useServerFunctions()\n\n const schemaFieldsPath =\n schemaFieldsPathOverride ??\n `${schemaPath}.lexical_internal_feature.${featureKey}${schemaPathSuffix ? `.${schemaPathSuffix}` : ''}`\n\n const fields: any = fieldMapOverride ?? featureClientSchemaMap[featureKey]?.[schemaFieldsPath] // Field Schema\n\n useEffect(() => {\n const controller = new AbortController()\n\n const awaitInitialState = async () => {\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: data ?? {},\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n globalSlug,\n initialBlockData: data,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n setInitialState(state)\n }\n\n void awaitInitialState()\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [\n schemaFieldsPath,\n id,\n data,\n getFormState,\n collectionSlug,\n isEditable,\n globalSlug,\n getDocPreferences,\n parentDocumentFields,\n ])\n\n const onChange = useCallback(\n async ({ formState: prevFormState }: { formState: FormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n formState: prevFormState,\n globalSlug,\n initialBlockFormState: prevFormState,\n operation: 'update',\n readOnly: !isEditable,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n return state\n },\n [\n getFormState,\n id,\n isEditable,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n schemaFieldsPath,\n ],\n )\n\n // cleanup effect\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n if (initialState === false) {\n return null\n }\n\n return (\n <Form\n beforeSubmit={[onChange]}\n className=\"fields-drawer\"\n disableValidationOnSubmit\n fields={Array.isArray(fields) ? fields : []}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={handleDrawerSubmit}\n uuid={uuid()}\n >\n <RenderFields\n fields={Array.isArray(fields) ? fields : []}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\" // See Blocks feature path for details as for why this is empty\n parentSchemaPath={schemaFieldsPath}\n permissions={true}\n readOnly={!isEditable}\n />\n <RegisterFormSubmit submitRef={submitRef} />\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useLexicalEditable","Form","RenderFields","useDocumentForm","useDocumentInfo","useEffectEvent","useServerFunctions","abortAndIgnore","React","useCallback","useEffect","useRef","useState","v4","uuid","useEditorConfigContext","RegisterFormSubmit","DrawerContent","data","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","submitRef","id","collectionSlug","getDocPreferences","globalSlug","fields","parentDocumentFields","isEditable","onChangeAbortControllerRef","AbortController","initialState","setInitialState","fieldProps","featureClientSchemaMap","getFormState","schemaFieldsPath","getParentDocumentFields","controller","awaitInitialState","state","docPermissions","docPreferences","documentFormState","initialBlockData","operation","readOnly","renderAllFields","signal","onChange","formState","prevFormState","current","initialBlockFormState","_jsxs","beforeSubmit","className","disableValidationOnSubmit","Array","isArray","onSubmit","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n Form,\n RenderFields,\n useDocumentForm,\n useDocumentInfo,\n useEffectEvent,\n useServerFunctions,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { FieldsDrawerProps } from './Drawer.js'\n\nimport { useEditorConfigContext } from '../../lexical/config/client/EditorConfigProvider.js'\nimport { RegisterFormSubmit } from './useDrawerSubmit.js'\nimport './index.css'\n\nexport const DrawerContent: React.FC<\n {\n submitRef: React.RefObject<(() => void) | null>\n } & Omit<FieldsDrawerProps, 'drawerSlug' | 'drawerTitle'>\n> = ({\n data,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n submitRef,\n}) => {\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { fields: parentDocumentFields } = useDocumentForm()\n const isEditable = useLexicalEditable()\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const {\n fieldProps: { featureClientSchemaMap },\n } = useEditorConfigContext()\n\n const { getFormState } = useServerFunctions()\n\n const schemaFieldsPath =\n schemaFieldsPathOverride ??\n `${schemaPath}.lexical_internal_feature.${featureKey}${schemaPathSuffix ? `.${schemaPathSuffix}` : ''}`\n\n const fields: any = fieldMapOverride ?? featureClientSchemaMap[featureKey]?.[schemaFieldsPath] // Field Schema\n\n // Parent autosave updates this context without starting a new drawer editing session.\n const getParentDocumentFields = useEffectEvent(() => parentDocumentFields)\n\n useEffect(() => {\n const controller = new AbortController()\n\n const awaitInitialState = async () => {\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: data ?? {},\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: getParentDocumentFields(),\n globalSlug,\n initialBlockData: data,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n setInitialState(state)\n }\n\n void awaitInitialState()\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [\n schemaFieldsPath,\n id,\n data,\n getFormState,\n collectionSlug,\n isEditable,\n globalSlug,\n getDocPreferences,\n ])\n\n const onChange = useCallback(\n async ({ formState: prevFormState }: { formState: FormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: parentDocumentFields,\n formState: prevFormState,\n globalSlug,\n initialBlockFormState: prevFormState,\n operation: 'update',\n readOnly: !isEditable,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n return state\n },\n [\n getFormState,\n id,\n isEditable,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n schemaFieldsPath,\n ],\n )\n\n // cleanup effect\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n if (initialState === false) {\n return null\n }\n\n return (\n <Form\n beforeSubmit={[onChange]}\n className=\"fields-drawer\"\n disableValidationOnSubmit\n fields={Array.isArray(fields) ? fields : []}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={handleDrawerSubmit}\n uuid={uuid()}\n >\n <RenderFields\n fields={Array.isArray(fields) ? fields : []}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\" // See Blocks feature path for details as for why this is empty\n parentSchemaPath={schemaFieldsPath}\n permissions={true}\n readOnly={!isEditable}\n />\n <RegisterFormSubmit submitRef={submitRef} />\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerSubmit.js","names":["c","_c","useForm","useTranslation","useEffect","useMemo","useRef","useDrawerSubmit","$","t","submitRef","t0","t1","Symbol","for","current","t2","label","onClick","style","headerActions","t3","RegisterFormSubmit","submit"],"sources":["../../../src/utilities/fieldsDrawer/useDrawerSubmit.ts"],"sourcesContent":["'use client'\nimport type { FC } from 'react'\nimport type React from 'react'\n\nimport { useForm, useTranslation } from '@payloadcms/ui'\nimport { useEffect, useMemo, useRef } from 'react'\n\n/**\n * Shared logic for drawers that render their submit button in the drawer header.\n *\n * The header's `onClick` is defined outside the `Form` provider, so it cannot call\n * `useForm().submit()` directly. This hook owns a ref to the form's `submit` function,\n * which is populated from inside the form via `<RegisterFormSubmit submitRef={submitRef} />`.\n *\n * Returns the `headerActions` array to spread onto a `Drawer` and the `submitRef`\n * to pass to `RegisterFormSubmit`.\n */\nexport const useDrawerSubmit = () => {\n const { t } = useTranslation()\n const submitRef = useRef<(() => void) | null>(null)\n\n const headerActions = useMemo(\n () => [\n {\n label: t('fields:saveChanges'),\n onClick: () => submitRef.current?.(),\n style: 'primary' as const,\n },\n ],\n [t],\n )\n\n return { headerActions, submitRef }\n}\n\n/**\n * Mounts inside a `<Form>` to populate `submitRef` (from `useDrawerSubmit`) with the form's\n * `submit` function, allowing drawer header actions rendered outside the form's React tree\n * to trigger submission.\n */\nexport const RegisterFormSubmit: FC<{\n submitRef: React.RefObject<(() => void) | null>\n}> = ({ submitRef }) => {\n const { submit } = useForm()\n\n useEffect(() => {\n submitRef.current = () => void submit()\n return () => {\n submitRef.current = null\n }\n }, [submit, submitRef])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,OAAO,EAAEC,cAAc,QAAQ;AACxC,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ;AAE3C;;;;;;;;;;AAUA,OAAO,MAAMC,eAAA,GAAkBA,CAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAC7B;IAAAQ;EAAA,IAAcN,cAAA;EACd,MAAAO,SAAA,GAAkBJ,MAAA,KAA4B;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAC,CAAA;IAKjCE,EAAA,GAAAF,CAAA,CAAE;IAAAD,CAAA,MAAAC,CAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IACAF,EAAA,GAAAA,CAAA,KAAMF,SAAA,CAAAK,OAAA;IAAiBP,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAG,EAAA;IAH9BK,EAAA;MAAAC,KAAA,EAEKN,EAAE;MAAAO,OAAA,EACAN,EAAuB;MAAAO,KAAA,EACzB;IAAA;IAEVX,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAPH,MAAAY,aAAA,GACQJ,EAML;EACE,IAAAK,EAAA;EAAA,IAAAb,CAAA,QAAAY,aAAA;IAGEC,EAAA;MAAAD,aAAA;MAAAV;IAAA;IAA2BF,CAAA,MAAAY,aAAA;IAAAZ,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAA,OAA3Ba,EAA2B;AAAA,CACpC;AAEA;;;;;AAKA,OAAO,MAAMC,kBAAA,GAERX,EAAA;EAAA,MAAAH,CAAA,GAAAP,EAAA;EAAC;IAAAS;EAAA,IAAAC,EAAa;EACjB;IAAAY;EAAA,IAAmBrB,OAAA;EAAA,IAAAU,EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAR,CAAA,QAAAe,MAAA,IAAAf,CAAA,QAAAE,SAAA;IAETE,EAAA,GAAAA,CAAA;MACRF,SAAA,CAAAK,OAAA,cAA+BQ,MAAA;MAAA;QAE7Bb,SAAA,CAAAK,OAAA;MAAA;IAAA;IAEDC,EAAA,IAACO,MAAA,EAAQb,SAAA;IAAUF,CAAA,MAAAe,MAAA;IAAAf,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAJ,EAAA,GAAAJ,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EALtBJ,SAAA,CAAUQ,EAKV,EAAGI,EAAmB;EAAA;AAAA,CAGxB","ignoreList":[]}
1
+ {"version":3,"file":"useDrawerSubmit.js","names":["c","_c","useForm","useTranslation","useEffect","useMemo","useRef","useDrawerSubmit","$","t","submitRef","t0","t1","Symbol","for","current","t2","label","onClick","style","headerActions","t3","RegisterFormSubmit","submit"],"sources":["../../../src/utilities/fieldsDrawer/useDrawerSubmit.ts"],"sourcesContent":["'use client'\nimport type { FC } from 'react'\nimport type React from 'react'\n\nimport { useForm, useTranslation } from '@payloadcms/ui'\nimport { useEffect, useMemo, useRef } from 'react'\n\n/**\n * Shared logic for drawers that render their submit button in the drawer header.\n *\n * The header's `onClick` is defined outside the `Form` provider, so it cannot call\n * `useForm().submit()` directly. This hook owns a ref to the form's `submit` function,\n * which is populated from inside the form via `<RegisterFormSubmit submitRef={submitRef} />`.\n *\n * Returns the `headerActions` array to spread onto a `Drawer` and the `submitRef`\n * to pass to `RegisterFormSubmit`.\n */\nexport const useDrawerSubmit = () => {\n const { t } = useTranslation()\n const submitRef = useRef<(() => void) | null>(null)\n\n const headerActions = useMemo(\n () => [\n {\n label: t('fields:saveChanges'),\n onClick: () => submitRef.current?.(),\n style: 'primary' as const,\n },\n ],\n [t],\n )\n\n return { headerActions, submitRef }\n}\n\n/**\n * Mounts inside a `<Form>` to populate `submitRef` (from `useDrawerSubmit`) with the form's\n * `submit` function, allowing drawer header actions rendered outside the form's React tree\n * to trigger submission.\n */\nexport const RegisterFormSubmit: FC<{\n submitRef: React.RefObject<(() => void) | null>\n}> = ({ submitRef }) => {\n const { submit } = useForm()\n\n useEffect(() => {\n submitRef.current = () => void submit()\n return () => {\n submitRef.current = null\n }\n }, [submit, submitRef])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,OAAO,EAAEC,cAAc,QAAQ;AACxC,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ;AAE3C;;;;;;;;;;AAUA,OAAO,MAAMC,eAAA,GAAkBA,CAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAC7B;IAAAQ;EAAA,IAAcN,cAAA;EACd,MAAAO,SAAA,GAAkBJ,MAAA,CAA4B;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAC,CAAA;IAKjCE,EAAA,GAAAF,CAAA,CAAE;IAAAD,CAAA,MAAAC,CAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IACAF,EAAA,GAAAA,CAAA,KAAMF,SAAA,CAAAK,OAAiB;IAAAP,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAG,EAAA;IAH9BK,EAAA,IACJ;MAAAC,KAAA,EACSN,EAAE;MAAAO,OAAA,EACAN,EAAuB;MAAAO,KAAA,EACzB;IACT,EACD;IAAAX,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAPH,MAAAY,aAAA,GACQJ,EAML;EACE,IAAAK,EAAA;EAAA,IAAAb,CAAA,QAAAY,aAAA;IAGEC,EAAA;MAAAD,aAAA;MAAAV;IAA2B;IAAAF,CAAA,MAAAY,aAAA;IAAAZ,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAA,OAA3Ba,EAA2B;AAAA,CACpC;AAEA;;;;;AAKA,OAAO,MAAMC,kBAAA,GAERX,EAAA;EAAA,MAAAH,CAAA,GAAAP,EAAA;EAAC;IAAAS;EAAA,IAAAC,EAAa;EACjB;IAAAY;EAAA,IAAmBrB,OAAA;EAAA,IAAAU,EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAR,CAAA,QAAAe,MAAA,IAAAf,CAAA,QAAAE,SAAA;IAETE,EAAA,GAAAA,CAAA;MACRF,SAAA,CAAAK,OAAA,GAAoB,MAAM,KAAKQ,MAAA,EAAd;MAAA,OACV;QACLb,SAAA,CAAAK,OAAA,GAAoB,IAAH;MAAA,CACnB;IAAA,CACF;IAAGC,EAAA,IAACO,MAAA,EAAQb,SAAA,CAAU;IAAAF,CAAA,MAAAe,MAAA;IAAAf,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAJ,EAAA,GAAAJ,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EALtBJ,SAAA,CAAUQ,EAKV,EAAGI,EAAmB;EAAA,OAEf;AAAA,CACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useLexicalDocumentDrawer.js","names":["c","_c","useLexicalComposerContext","useDocumentDrawer","useModal","$getPreviousSelection","$getSelection","$setSelection","useCallback","useEffect","useState","useLexicalDocumentDrawer","args","$","editor","selectionState","setSelectionState","wasOpen","setWasOpen","DocumentDrawer","DocumentDrawerToggler","t0","closeDrawer","drawerSlug","documentDrawerSlug","openDrawer","modalState","t1","read","selection","storeSelection","t2","update","clone","discrete","skipTransforms","restoreSelection","t3","closeDocumentDrawer","t4","t5","thisModalState","isOpen","setTimeout","t6","openDocumentDrawer","t7","props","_jsx","onClick","t8"],"sources":["../../../src/utilities/fieldsDrawer/useLexicalDocumentDrawer.tsx"],"sourcesContent":["'use client'\nimport type { UseDocumentDrawer } from '@payloadcms/ui'\nimport type { BaseSelection } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useDocumentDrawer, useModal } from '@payloadcms/ui'\nimport { $getPreviousSelection, $getSelection, $setSelection } from 'lexical'\nimport { useCallback, useEffect, useState } from 'react'\n\n/**\n *\n * Wrapper around useDocumentDrawer that restores and saves selection state (cursor position) when opening and closing the drawer.\n * By default, the lexical cursor position may be lost when opening a drawer and clicking somewhere on that drawer.\n */\nexport const useLexicalDocumentDrawer = (\n args: Parameters<UseDocumentDrawer>[0],\n): {\n closeDocumentDrawer: () => void\n DocumentDrawer: ReturnType<UseDocumentDrawer>[0]\n documentDrawerSlug: string\n DocumentDrawerToggler: ReturnType<UseDocumentDrawer>[1]\n openDocumentDrawer: () => void\n} => {\n const [editor] = useLexicalComposerContext()\n const [selectionState, setSelectionState] = useState<BaseSelection | null>(null)\n const [wasOpen, setWasOpen] = useState<boolean>(false)\n\n const [\n DocumentDrawer,\n DocumentDrawerToggler,\n { closeDrawer: closeDrawer, drawerSlug: documentDrawerSlug, openDrawer },\n ] = useDocumentDrawer(args)\n const { modalState } = useModal()\n\n const storeSelection = useCallback(() => {\n editor.read(() => {\n const selection = $getSelection() ?? $getPreviousSelection()\n setSelectionState(selection)\n })\n setWasOpen(true)\n }, [editor])\n\n const restoreSelection = useCallback(() => {\n if (selectionState) {\n editor.update(\n () => {\n $setSelection(selectionState.clone())\n },\n { discrete: true, skipTransforms: true },\n )\n }\n }, [editor, selectionState])\n\n const closeDocumentDrawer = () => {\n //restoreSelection() // Should already be stored by the useEffect below\n closeDrawer()\n }\n\n // We need to handle drawer closing via a useEffect, as toggleDrawer / closeDrawer will not be triggered if the drawer\n // is closed by clicking outside of the drawer. This useEffect will handle everything.\n useEffect(() => {\n if (!wasOpen) {\n return\n }\n\n const thisModalState = modalState[documentDrawerSlug]\n // Exists in modalState (thus has opened at least once before) and is closed\n if (thisModalState && !thisModalState?.isOpen) {\n setWasOpen(false)\n setTimeout(() => {\n restoreSelection()\n }, 1)\n }\n }, [modalState, documentDrawerSlug, restoreSelection, wasOpen])\n\n const openDocumentDrawer = useCallback(() => {\n storeSelection()\n openDrawer()\n }, [storeSelection, openDrawer])\n\n return {\n closeDocumentDrawer,\n DocumentDrawer,\n documentDrawerSlug,\n DocumentDrawerToggler: (props) => <DocumentDrawerToggler {...props} onClick={storeSelection} />,\n openDocumentDrawer,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useLexicalDocumentDrawer.js","names":["c","_c","useLexicalComposerContext","useDocumentDrawer","useModal","$getPreviousSelection","$getSelection","$setSelection","useCallback","useEffect","useState","useLexicalDocumentDrawer","args","$","editor","selectionState","setSelectionState","wasOpen","setWasOpen","DocumentDrawer","DocumentDrawerToggler","t0","closeDrawer","drawerSlug","documentDrawerSlug","openDrawer","modalState","t1","read","selection","storeSelection","t2","update","clone","discrete","skipTransforms","restoreSelection","t3","closeDocumentDrawer","t4","t5","thisModalState","isOpen","setTimeout","t6","openDocumentDrawer","t7","props","_jsx","onClick","t8"],"sources":["../../../src/utilities/fieldsDrawer/useLexicalDocumentDrawer.tsx"],"sourcesContent":["'use client'\nimport type { UseDocumentDrawer } from '@payloadcms/ui'\nimport type { BaseSelection } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useDocumentDrawer, useModal } from '@payloadcms/ui'\nimport { $getPreviousSelection, $getSelection, $setSelection } from 'lexical'\nimport { useCallback, useEffect, useState } from 'react'\n\n/**\n *\n * Wrapper around useDocumentDrawer that restores and saves selection state (cursor position) when opening and closing the drawer.\n * By default, the lexical cursor position may be lost when opening a drawer and clicking somewhere on that drawer.\n */\nexport const useLexicalDocumentDrawer = (\n args: Parameters<UseDocumentDrawer>[0],\n): {\n closeDocumentDrawer: () => void\n DocumentDrawer: ReturnType<UseDocumentDrawer>[0]\n documentDrawerSlug: string\n DocumentDrawerToggler: ReturnType<UseDocumentDrawer>[1]\n openDocumentDrawer: () => void\n} => {\n const [editor] = useLexicalComposerContext()\n const [selectionState, setSelectionState] = useState<BaseSelection | null>(null)\n const [wasOpen, setWasOpen] = useState<boolean>(false)\n\n const [\n DocumentDrawer,\n DocumentDrawerToggler,\n { closeDrawer: closeDrawer, drawerSlug: documentDrawerSlug, openDrawer },\n ] = useDocumentDrawer(args)\n const { modalState } = useModal()\n\n const storeSelection = useCallback(() => {\n editor.read(() => {\n const selection = $getSelection() ?? $getPreviousSelection()\n setSelectionState(selection)\n })\n setWasOpen(true)\n }, [editor])\n\n const restoreSelection = useCallback(() => {\n if (selectionState) {\n editor.update(\n () => {\n $setSelection(selectionState.clone())\n },\n { discrete: true, skipTransforms: true },\n )\n }\n }, [editor, selectionState])\n\n const closeDocumentDrawer = () => {\n //restoreSelection() // Should already be stored by the useEffect below\n closeDrawer()\n }\n\n // We need to handle drawer closing via a useEffect, as toggleDrawer / closeDrawer will not be triggered if the drawer\n // is closed by clicking outside of the drawer. This useEffect will handle everything.\n useEffect(() => {\n if (!wasOpen) {\n return\n }\n\n const thisModalState = modalState[documentDrawerSlug]\n // Exists in modalState (thus has opened at least once before) and is closed\n if (thisModalState && !thisModalState?.isOpen) {\n setWasOpen(false)\n setTimeout(() => {\n restoreSelection()\n }, 1)\n }\n }, [modalState, documentDrawerSlug, restoreSelection, wasOpen])\n\n const openDocumentDrawer = useCallback(() => {\n storeSelection()\n openDrawer()\n }, [storeSelection, openDrawer])\n\n return {\n closeDocumentDrawer,\n DocumentDrawer,\n documentDrawerSlug,\n DocumentDrawerToggler: (props) => <DocumentDrawerToggler {...props} onClick={storeSelection} />,\n openDocumentDrawer,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useLexicalDrawer.js","names":["c","_c","useLexicalComposerContext","useModal","$getPreviousSelection","$getSelection","$setSelection","useCallback","useEffect","useState","useLexicalDrawer","slug","restoreLate","$","editor","selectionState","setSelectionState","wasOpen","setWasOpen","closeModal","closeBaseModal","modalState","toggleModal","toggleBaseModal","t0","read","selection","storeSelection","t1","update","clone","discrete","skipTransforms","restoreSelection","t2","closeDrawer","isModalOpen","isOpen","t3","toggleDrawer","t4","t5","thisModalState","setTimeout","t6"],"sources":["../../../src/utilities/fieldsDrawer/useLexicalDrawer.tsx"],"sourcesContent":["'use client'\nimport type { BaseSelection } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useModal } from '@payloadcms/ui'\nimport { $getPreviousSelection, $getSelection, $setSelection } from 'lexical'\nimport { useCallback, useEffect, useState } from 'react'\n\n/**\n *\n * Wrapper around useModal that restores and saves selection state (cursor position) when opening and closing the drawer.\n * By default, the lexical cursor position may be lost when opening a drawer and clicking somewhere on that drawer.\n */\nexport const useLexicalDrawer = (slug: string, restoreLate?: boolean) => {\n const [editor] = useLexicalComposerContext()\n const [selectionState, setSelectionState] = useState<BaseSelection | null>(null)\n const [wasOpen, setWasOpen] = useState<boolean>(false)\n\n const { closeModal: closeBaseModal, modalState, toggleModal: toggleBaseModal } = useModal()\n\n const storeSelection = useCallback(() => {\n editor.read(() => {\n const selection = $getSelection() ?? $getPreviousSelection()\n setSelectionState(selection)\n })\n }, [editor])\n\n const restoreSelection = useCallback(() => {\n if (selectionState) {\n editor.update(\n () => {\n $setSelection(selectionState.clone())\n },\n { discrete: true, skipTransforms: true },\n )\n }\n }, [editor, selectionState])\n\n const closeDrawer = useCallback(() => {\n //restoreSelection() // Should already be stored by the useEffect below\n closeBaseModal(slug)\n }, [closeBaseModal, slug])\n const isModalOpen = modalState?.[slug]?.isOpen\n\n const toggleDrawer = useCallback(() => {\n if (!isModalOpen) {\n storeSelection()\n } else {\n restoreSelection()\n }\n setWasOpen(true)\n toggleBaseModal(slug)\n }, [slug, storeSelection, toggleBaseModal, restoreSelection, isModalOpen])\n\n // We need to handle drawer closing via a useEffect, as toggleDrawer / closeDrawer will not be triggered if the drawer\n // is closed by clicking outside of the drawer. This useEffect will handle everything.\n useEffect(() => {\n if (!wasOpen) {\n return\n }\n\n const thisModalState = modalState[slug]\n // Exists in modalState (thus has opened at least once before) and is closed\n if (thisModalState && !thisModalState?.isOpen) {\n setWasOpen(false)\n\n if (restoreLate) {\n // restoreLate is used for upload extra field drawers. For some reason, the selection is not restored if we call restoreSelection immediately.\n setTimeout(() => {\n restoreSelection()\n }, 0)\n } else {\n restoreSelection()\n }\n }\n }, [modalState, slug, restoreSelection, wasOpen, restoreLate])\n\n return {\n closeDrawer,\n toggleDrawer,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useLexicalDrawer.js","names":["c","_c","useLexicalComposerContext","useModal","$getPreviousSelection","$getSelection","$setSelection","useCallback","useEffect","useState","useLexicalDrawer","slug","restoreLate","$","editor","selectionState","setSelectionState","wasOpen","setWasOpen","closeModal","closeBaseModal","modalState","toggleModal","toggleBaseModal","t0","read","selection","storeSelection","t1","update","clone","discrete","skipTransforms","restoreSelection","t2","closeDrawer","isModalOpen","isOpen","t3","toggleDrawer","t4","t5","thisModalState","setTimeout","t6"],"sources":["../../../src/utilities/fieldsDrawer/useLexicalDrawer.tsx"],"sourcesContent":["'use client'\nimport type { BaseSelection } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useModal } from '@payloadcms/ui'\nimport { $getPreviousSelection, $getSelection, $setSelection } from 'lexical'\nimport { useCallback, useEffect, useState } from 'react'\n\n/**\n *\n * Wrapper around useModal that restores and saves selection state (cursor position) when opening and closing the drawer.\n * By default, the lexical cursor position may be lost when opening a drawer and clicking somewhere on that drawer.\n */\nexport const useLexicalDrawer = (slug: string, restoreLate?: boolean) => {\n const [editor] = useLexicalComposerContext()\n const [selectionState, setSelectionState] = useState<BaseSelection | null>(null)\n const [wasOpen, setWasOpen] = useState<boolean>(false)\n\n const { closeModal: closeBaseModal, modalState, toggleModal: toggleBaseModal } = useModal()\n\n const storeSelection = useCallback(() => {\n editor.read(() => {\n const selection = $getSelection() ?? $getPreviousSelection()\n setSelectionState(selection)\n })\n }, [editor])\n\n const restoreSelection = useCallback(() => {\n if (selectionState) {\n editor.update(\n () => {\n $setSelection(selectionState.clone())\n },\n { discrete: true, skipTransforms: true },\n )\n }\n }, [editor, selectionState])\n\n const closeDrawer = useCallback(() => {\n //restoreSelection() // Should already be stored by the useEffect below\n closeBaseModal(slug)\n }, [closeBaseModal, slug])\n const isModalOpen = modalState?.[slug]?.isOpen\n\n const toggleDrawer = useCallback(() => {\n if (!isModalOpen) {\n storeSelection()\n } else {\n restoreSelection()\n }\n setWasOpen(true)\n toggleBaseModal(slug)\n }, [slug, storeSelection, toggleBaseModal, restoreSelection, isModalOpen])\n\n // We need to handle drawer closing via a useEffect, as toggleDrawer / closeDrawer will not be triggered if the drawer\n // is closed by clicking outside of the drawer. This useEffect will handle everything.\n useEffect(() => {\n if (!wasOpen) {\n return\n }\n\n const thisModalState = modalState[slug]\n // Exists in modalState (thus has opened at least once before) and is closed\n if (thisModalState && !thisModalState?.isOpen) {\n setWasOpen(false)\n\n if (restoreLate) {\n // restoreLate is used for upload extra field drawers. For some reason, the selection is not restored if we call restoreSelection immediately.\n setTimeout(() => {\n restoreSelection()\n }, 0)\n } else {\n restoreSelection()\n }\n }\n }, [modalState, slug, restoreSelection, wasOpen, restoreLate])\n\n return {\n closeDrawer,\n toggleDrawer,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useLexicalListDrawer.js","names":["c","_c","useLexicalComposerContext","useListDrawer","useModal","$getNodeByKey","$getPreviousSelection","$getRoot","$getSelection","$isRangeSelection","$setSelection","useCallback","useEffect","useState","useLexicalListDrawer","args","$","editor","selectionState","setSelectionState","wasOpen","setWasOpen","BaseListDrawer","BaseListDrawerToggler","t0","closeDrawer","baseCloseDrawer","drawerSlug","listDrawerSlug","isDrawerOpen","openDrawer","baseOpenDrawer","modalState","t1","Symbol","for","selection","$storeSelection","t2","update","anchor","focus","key","clone","selectEnd","discrete","skipTransforms","restoreSelection","t3","closeListDrawer","t4","t5","thisModalState","isOpen","setTimeout","t6","props","_jsx","onClick","t7","t8","isListDrawerOpen","ListDrawer","ListDrawerToggler"],"sources":["../../../src/utilities/fieldsDrawer/useLexicalListDrawer.tsx"],"sourcesContent":["'use client'\nimport type { UseListDrawer } from '@payloadcms/ui'\nimport type { BaseSelection } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useListDrawer, useModal } from '@payloadcms/ui'\nimport {\n $getNodeByKey,\n $getPreviousSelection,\n $getRoot,\n $getSelection,\n $isRangeSelection,\n $setSelection,\n} from 'lexical'\nimport { useCallback, useEffect, useState } from 'react'\n\n/**\n *\n * Wrapper around useListDrawer that restores and saves selection state (cursor position) when opening and closing the drawer.\n * By default, the lexical cursor position may be lost when opening a drawer and clicking somewhere on that drawer.\n */\nexport const useLexicalListDrawer = (\n args: Parameters<UseListDrawer>[0],\n): {\n closeListDrawer: () => void\n isListDrawerOpen: boolean\n ListDrawer: ReturnType<UseListDrawer>[0]\n listDrawerSlug: string\n ListDrawerToggler: ReturnType<UseListDrawer>[1]\n openListDrawer: (selection?: BaseSelection) => void\n} => {\n const [editor] = useLexicalComposerContext()\n const [selectionState, setSelectionState] = useState<BaseSelection | null>(null)\n const [wasOpen, setWasOpen] = useState<boolean>(false)\n\n const [\n BaseListDrawer,\n BaseListDrawerToggler,\n {\n closeDrawer: baseCloseDrawer,\n drawerSlug: listDrawerSlug,\n isDrawerOpen,\n openDrawer: baseOpenDrawer,\n },\n ] = useListDrawer(args)\n const { modalState } = useModal()\n\n const $storeSelection = useCallback(() => {\n // editor.read() causes an error here when creating a new upload node from the slash menu. It seems like we can omit it here though, as all\n // invocations of that functions are wrapped in editor.read() or editor.update() somewhere in the call stack.\n const selection = $getSelection() ?? $getPreviousSelection()\n setSelectionState(selection)\n }, [])\n\n const restoreSelection = useCallback(() => {\n if (selectionState) {\n editor.update(\n () => {\n if ($isRangeSelection(selectionState)) {\n const { anchor, focus } = selectionState\n if ($getNodeByKey(anchor.key) && $getNodeByKey(focus.key)) {\n $setSelection(selectionState.clone())\n }\n } else {\n // not ideal, but better than losing the selection. Try to set the selection\n // in a valid place if you remove selected nodes!\n $getRoot().selectEnd()\n }\n },\n { discrete: true, skipTransforms: true },\n )\n }\n }, [editor, selectionState])\n\n const closeListDrawer = () => {\n //restoreSelection() // Should already be stored by the useEffect below\n baseCloseDrawer()\n }\n\n // We need to handle drawer closing via a useEffect, as toggleDrawer / closeDrawer will not be triggered if the drawer\n // is closed by clicking outside of the drawer. This useEffect will handle everything.\n useEffect(() => {\n if (!wasOpen) {\n return\n }\n\n const thisModalState = modalState[listDrawerSlug]\n // Exists in modalState (thus has opened at least once before) and is closed\n if (thisModalState && !thisModalState?.isOpen) {\n setWasOpen(false)\n setTimeout(() => {\n restoreSelection()\n }, 1)\n }\n }, [modalState, listDrawerSlug, restoreSelection, wasOpen])\n\n return {\n closeListDrawer,\n isListDrawerOpen: isDrawerOpen,\n ListDrawer: BaseListDrawer,\n listDrawerSlug,\n ListDrawerToggler: (props) => (\n <BaseListDrawerToggler\n {...props}\n onClick={() => {\n $storeSelection()\n }}\n />\n ),\n openListDrawer: () => {\n $storeSelection()\n baseOpenDrawer()\n setWasOpen(true)\n },\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useLexicalListDrawer.js","names":["c","_c","useLexicalComposerContext","useListDrawer","useModal","$getNodeByKey","$getPreviousSelection","$getRoot","$getSelection","$isRangeSelection","$setSelection","useCallback","useEffect","useState","useLexicalListDrawer","args","$","editor","selectionState","setSelectionState","wasOpen","setWasOpen","BaseListDrawer","BaseListDrawerToggler","t0","closeDrawer","baseCloseDrawer","drawerSlug","listDrawerSlug","isDrawerOpen","openDrawer","baseOpenDrawer","modalState","t1","Symbol","for","selection","$storeSelection","t2","update","anchor","focus","key","clone","selectEnd","discrete","skipTransforms","restoreSelection","t3","closeListDrawer","t4","t5","thisModalState","isOpen","setTimeout","t6","props","_jsx","onClick","t7","t8","isListDrawerOpen","ListDrawer","ListDrawerToggler"],"sources":["../../../src/utilities/fieldsDrawer/useLexicalListDrawer.tsx"],"sourcesContent":["'use client'\nimport type { UseListDrawer } from '@payloadcms/ui'\nimport type { BaseSelection } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useListDrawer, useModal } from '@payloadcms/ui'\nimport {\n $getNodeByKey,\n $getPreviousSelection,\n $getRoot,\n $getSelection,\n $isRangeSelection,\n $setSelection,\n} from 'lexical'\nimport { useCallback, useEffect, useState } from 'react'\n\n/**\n *\n * Wrapper around useListDrawer that restores and saves selection state (cursor position) when opening and closing the drawer.\n * By default, the lexical cursor position may be lost when opening a drawer and clicking somewhere on that drawer.\n */\nexport const useLexicalListDrawer = (\n args: Parameters<UseListDrawer>[0],\n): {\n closeListDrawer: () => void\n isListDrawerOpen: boolean\n ListDrawer: ReturnType<UseListDrawer>[0]\n listDrawerSlug: string\n ListDrawerToggler: ReturnType<UseListDrawer>[1]\n openListDrawer: (selection?: BaseSelection) => void\n} => {\n const [editor] = useLexicalComposerContext()\n const [selectionState, setSelectionState] = useState<BaseSelection | null>(null)\n const [wasOpen, setWasOpen] = useState<boolean>(false)\n\n const [\n BaseListDrawer,\n BaseListDrawerToggler,\n {\n closeDrawer: baseCloseDrawer,\n drawerSlug: listDrawerSlug,\n isDrawerOpen,\n openDrawer: baseOpenDrawer,\n },\n ] = useListDrawer(args)\n const { modalState } = useModal()\n\n const $storeSelection = useCallback(() => {\n // editor.read() causes an error here when creating a new upload node from the slash menu. It seems like we can omit it here though, as all\n // invocations of that functions are wrapped in editor.read() or editor.update() somewhere in the call stack.\n const selection = $getSelection() ?? $getPreviousSelection()\n setSelectionState(selection)\n }, [])\n\n const restoreSelection = useCallback(() => {\n if (selectionState) {\n editor.update(\n () => {\n if ($isRangeSelection(selectionState)) {\n const { anchor, focus } = selectionState\n if ($getNodeByKey(anchor.key) && $getNodeByKey(focus.key)) {\n $setSelection(selectionState.clone())\n }\n } else {\n // not ideal, but better than losing the selection. Try to set the selection\n // in a valid place if you remove selected nodes!\n $getRoot().selectEnd()\n }\n },\n { discrete: true, skipTransforms: true },\n )\n }\n }, [editor, selectionState])\n\n const closeListDrawer = () => {\n //restoreSelection() // Should already be stored by the useEffect below\n baseCloseDrawer()\n }\n\n // We need to handle drawer closing via a useEffect, as toggleDrawer / closeDrawer will not be triggered if the drawer\n // is closed by clicking outside of the drawer. This useEffect will handle everything.\n useEffect(() => {\n if (!wasOpen) {\n return\n }\n\n const thisModalState = modalState[listDrawerSlug]\n // Exists in modalState (thus has opened at least once before) and is closed\n if (thisModalState && !thisModalState?.isOpen) {\n setWasOpen(false)\n setTimeout(() => {\n restoreSelection()\n }, 1)\n }\n }, [modalState, listDrawerSlug, restoreSelection, wasOpen])\n\n return {\n closeListDrawer,\n isListDrawerOpen: isDrawerOpen,\n ListDrawer: BaseListDrawer,\n listDrawerSlug,\n ListDrawerToggler: (props) => (\n <BaseListDrawerToggler\n {...props}\n onClick={() => {\n $storeSelection()\n }}\n />\n ),\n openListDrawer: () => {\n $storeSelection()\n baseOpenDrawer()\n setWasOpen(true)\n },\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import type { RichTextAdapter } from 'payload';
2
2
  import type { ResolvedServerFeatureMap } from '../features/typesServer.js';
3
- import type { LexicalEditorProps } from '../types/index.js';
3
+ import type { LexicalEditorArgs } from '../types/index.js';
4
4
  export declare const getGenerateImportMap: (args: {
5
- lexicalEditorArgs?: LexicalEditorProps;
5
+ lexicalEditorArgs?: LexicalEditorArgs;
6
6
  resolvedFeatureMap: ResolvedServerFeatureMap;
7
7
  }) => RichTextAdapter['generateImportMap'];
8
8
  //# sourceMappingURL=generateImportMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateImportMap.d.ts","sourceRoot":"","sources":["../../src/utilities/generateImportMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,eAAO,MAAM,oBAAoB,SACxB;IACL,iBAAiB,CAAC,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,wBAAwB,CAAA;CAC7C,KAAG,eAAe,CAAC,mBAAmB,CAiDtC,CAAA"}
1
+ {"version":3,"file":"generateImportMap.d.ts","sourceRoot":"","sources":["../../src/utilities/generateImportMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,eAAO,MAAM,oBAAoB,SACxB;IACL,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,kBAAkB,EAAE,wBAAwB,CAAA;CAC7C,KAAG,eAAe,CAAC,mBAAmB,CAiDtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateImportMap.js","names":["genImportMapIterateFields","getGenerateImportMap","args","addToImportMap","baseDir","config","importMap","imports","lexicalEditorArgs","views","resolvedFeature","resolvedFeatureMap","values","componentImports","Array","isArray","Object","ClientFeature","nodes","length","node","getSubFields","subFields","fields"],"sources":["../../src/utilities/generateImportMap.tsx"],"sourcesContent":["import type { RichTextAdapter } from 'payload'\n\nimport { genImportMapIterateFields } from 'payload'\n\nimport type { ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { LexicalEditorProps } from '../types/index.js'\n\nexport const getGenerateImportMap =\n (args: {\n lexicalEditorArgs?: LexicalEditorProps\n resolvedFeatureMap: ResolvedServerFeatureMap\n }): RichTextAdapter['generateImportMap'] =>\n ({ addToImportMap, baseDir, config, importMap, imports }) => {\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell')\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalField')\n addToImportMap('@payloadcms/richtext-lexical/rsc#LexicalDiffComponent')\n\n addToImportMap(args.lexicalEditorArgs?.views)\n\n for (const resolvedFeature of args.resolvedFeatureMap.values()) {\n if ('componentImports' in resolvedFeature) {\n if (typeof resolvedFeature.componentImports === 'function') {\n resolvedFeature.componentImports({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n } else if (Array.isArray(resolvedFeature.componentImports)) {\n addToImportMap(resolvedFeature.componentImports)\n } else if (typeof resolvedFeature.componentImports === 'object') {\n addToImportMap(Object.values(resolvedFeature.componentImports))\n }\n }\n\n addToImportMap(resolvedFeature.ClientFeature)\n\n /*\n * Now run for all possible sub-fields\n */\n if (resolvedFeature.nodes?.length) {\n for (const node of resolvedFeature.nodes) {\n if (typeof node?.getSubFields !== 'function') {\n continue\n }\n const subFields = node.getSubFields({})\n if (subFields?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: subFields,\n importMap,\n imports,\n })\n }\n }\n }\n }\n }\n"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ;AAK1C,OAAO,MAAMC,oBAAA,GACVC,IAAA,IAID,CAAC;EAAEC,cAAc;EAAEC,OAAO;EAAEC,MAAM;EAAEC,SAAS;EAAEC;AAAO,CAAE;EACtDJ,cAAA,CAAe;EACfA,cAAA,CAAe;EACfA,cAAA,CAAe;EAEfA,cAAA,CAAeD,IAAA,CAAKM,iBAAiB,EAAEC,KAAA;EAEvC,KAAK,MAAMC,eAAA,IAAmBR,IAAA,CAAKS,kBAAkB,CAACC,MAAM,IAAI;IAC9D,IAAI,sBAAsBF,eAAA,EAAiB;MACzC,IAAI,OAAOA,eAAA,CAAgBG,gBAAgB,KAAK,YAAY;QAC1DH,eAAA,CAAgBG,gBAAgB,CAAC;UAC/BV,cAAA;UACAC,OAAA;UACAC,MAAA;UACAC,SAAA;UACAC;QACF;MACF,OAAO,IAAIO,KAAA,CAAMC,OAAO,CAACL,eAAA,CAAgBG,gBAAgB,GAAG;QAC1DV,cAAA,CAAeO,eAAA,CAAgBG,gBAAgB;MACjD,OAAO,IAAI,OAAOH,eAAA,CAAgBG,gBAAgB,KAAK,UAAU;QAC/DV,cAAA,CAAea,MAAA,CAAOJ,MAAM,CAACF,eAAA,CAAgBG,gBAAgB;MAC/D;IACF;IAEAV,cAAA,CAAeO,eAAA,CAAgBO,aAAa;IAE5C;;;IAGA,IAAIP,eAAA,CAAgBQ,KAAK,EAAEC,MAAA,EAAQ;MACjC,KAAK,MAAMC,IAAA,IAAQV,eAAA,CAAgBQ,KAAK,EAAE;QACxC,IAAI,OAAOE,IAAA,EAAMC,YAAA,KAAiB,YAAY;UAC5C;QACF;QACA,MAAMC,SAAA,GAAYF,IAAA,CAAKC,YAAY,CAAC,CAAC;QACrC,IAAIC,SAAA,EAAWH,MAAA,EAAQ;UACrBnB,yBAAA,CAA0B;YACxBG,cAAA;YACAC,OAAA;YACAC,MAAA;YACAkB,MAAA,EAAQD,SAAA;YACRhB,SAAA;YACAC;UACF;QACF;MACF;IACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"generateImportMap.js","names":["genImportMapIterateFields","getGenerateImportMap","args","addToImportMap","baseDir","config","importMap","imports","lexicalEditorArgs","views","resolvedFeature","resolvedFeatureMap","values","componentImports","Array","isArray","Object","ClientFeature","nodes","length","node","getSubFields","subFields","fields"],"sources":["../../src/utilities/generateImportMap.tsx"],"sourcesContent":["import type { RichTextAdapter } from 'payload'\n\nimport { genImportMapIterateFields } from 'payload'\n\nimport type { ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { LexicalEditorArgs } from '../types/index.js'\n\nexport const getGenerateImportMap =\n (args: {\n lexicalEditorArgs?: LexicalEditorArgs\n resolvedFeatureMap: ResolvedServerFeatureMap\n }): RichTextAdapter['generateImportMap'] =>\n ({ addToImportMap, baseDir, config, importMap, imports }) => {\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell')\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalField')\n addToImportMap('@payloadcms/richtext-lexical/rsc#LexicalDiffComponent')\n\n addToImportMap(args.lexicalEditorArgs?.views)\n\n for (const resolvedFeature of args.resolvedFeatureMap.values()) {\n if ('componentImports' in resolvedFeature) {\n if (typeof resolvedFeature.componentImports === 'function') {\n resolvedFeature.componentImports({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n } else if (Array.isArray(resolvedFeature.componentImports)) {\n addToImportMap(resolvedFeature.componentImports)\n } else if (typeof resolvedFeature.componentImports === 'object') {\n addToImportMap(Object.values(resolvedFeature.componentImports))\n }\n }\n\n addToImportMap(resolvedFeature.ClientFeature)\n\n /*\n * Now run for all possible sub-fields\n */\n if (resolvedFeature.nodes?.length) {\n for (const node of resolvedFeature.nodes) {\n if (typeof node?.getSubFields !== 'function') {\n continue\n }\n const subFields = node.getSubFields({})\n if (subFields?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: subFields,\n importMap,\n imports,\n })\n }\n }\n }\n }\n }\n"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ;AAK1C,OAAO,MAAMC,oBAAA,GACVC,IAAA,IAID,CAAC;EAAEC,cAAc;EAAEC,OAAO;EAAEC,MAAM;EAAEC,SAAS;EAAEC;AAAO,CAAE;EACtDJ,cAAA,CAAe;EACfA,cAAA,CAAe;EACfA,cAAA,CAAe;EAEfA,cAAA,CAAeD,IAAA,CAAKM,iBAAiB,EAAEC,KAAA;EAEvC,KAAK,MAAMC,eAAA,IAAmBR,IAAA,CAAKS,kBAAkB,CAACC,MAAM,IAAI;IAC9D,IAAI,sBAAsBF,eAAA,EAAiB;MACzC,IAAI,OAAOA,eAAA,CAAgBG,gBAAgB,KAAK,YAAY;QAC1DH,eAAA,CAAgBG,gBAAgB,CAAC;UAC/BV,cAAA;UACAC,OAAA;UACAC,MAAA;UACAC,SAAA;UACAC;QACF;MACF,OAAO,IAAIO,KAAA,CAAMC,OAAO,CAACL,eAAA,CAAgBG,gBAAgB,GAAG;QAC1DV,cAAA,CAAeO,eAAA,CAAgBG,gBAAgB;MACjD,OAAO,IAAI,OAAOH,eAAA,CAAgBG,gBAAgB,KAAK,UAAU;QAC/DV,cAAA,CAAea,MAAA,CAAOJ,MAAM,CAACF,eAAA,CAAgBG,gBAAgB;MAC/D;IACF;IAEAV,cAAA,CAAeO,eAAA,CAAgBO,aAAa;IAE5C;;;IAGA,IAAIP,eAAA,CAAgBQ,KAAK,EAAEC,MAAA,EAAQ;MACjC,KAAK,MAAMC,IAAA,IAAQV,eAAA,CAAgBQ,KAAK,EAAE;QACxC,IAAI,OAAOE,IAAA,EAAMC,YAAA,KAAiB,YAAY;UAC5C;QACF;QACA,MAAMC,SAAA,GAAYF,IAAA,CAAKC,YAAY,CAAC,CAAC;QACrC,IAAIC,SAAA,EAAWH,MAAA,EAAQ;UACrBnB,yBAAA,CAA0B;YACxBG,cAAA;YACAC,OAAA;YACAC,MAAA;YACAkB,MAAA,EAAQD,SAAA;YACRhB,SAAA;YACAC;UACF;QACF;MACF;IACF;EACF;AACF","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { SanitizedConfig } from 'payload';
2
2
  import { type SanitizedServerEditorConfig } from '../index.js';
3
- export declare const getDefaultSanitizedEditorConfig: (args: {
3
+ export declare const getDefaultSanitizedEditorConfig: ({ config, parentIsLocalized, }: {
4
4
  config: SanitizedConfig;
5
5
  parentIsLocalized: boolean;
6
- }) => Promise<SanitizedServerEditorConfig>;
6
+ }) => SanitizedServerEditorConfig;
7
7
  //# sourceMappingURL=getDefaultSanitizedEditorConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultSanitizedEditorConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/getDefaultSanitizedEditorConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAgB9D,eAAO,MAAM,+BAA+B,SAAgB;IAC1D,MAAM,EAAE,eAAe,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,KAAG,OAAO,CAAC,2BAA2B,CAoBtC,CAAA"}
1
+ {"version":3,"file":"getDefaultSanitizedEditorConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/getDefaultSanitizedEditorConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAQ9D,eAAO,MAAM,+BAA+B,mCAGzC;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,KAAG,2BAGH,CAAA"}
@@ -1,21 +1,10 @@
1
1
  import { defaultEditorConfig } from '../lexical/config/server/default.js';
2
2
  import { sanitizeServerEditorConfig } from '../lexical/config/server/sanitize.js';
3
- let cachedDefaultSanitizedServerEditorConfig = global._payload_lexical_defaultSanitizedServerEditorConfig;
4
- if (!cachedDefaultSanitizedServerEditorConfig) {
5
- cachedDefaultSanitizedServerEditorConfig = global._payload_lexical_defaultSanitizedServerEditorConfig = null;
6
- }
7
- export const getDefaultSanitizedEditorConfig = async args => {
8
- const {
9
- config,
10
- parentIsLocalized
11
- } = args;
12
- if (cachedDefaultSanitizedServerEditorConfig) {
13
- return await cachedDefaultSanitizedServerEditorConfig;
14
- }
15
- cachedDefaultSanitizedServerEditorConfig = sanitizeServerEditorConfig(defaultEditorConfig, config, parentIsLocalized);
16
- global.payload_lexical_defaultSanitizedServerEditorConfig = cachedDefaultSanitizedServerEditorConfig;
17
- cachedDefaultSanitizedServerEditorConfig = await cachedDefaultSanitizedServerEditorConfig;
18
- global.payload_lexical_defaultSanitizedServerEditorConfig = cachedDefaultSanitizedServerEditorConfig;
19
- return cachedDefaultSanitizedServerEditorConfig;
3
+ const lexicalGlobal = globalThis;
4
+ export const getDefaultSanitizedEditorConfig = ({
5
+ config,
6
+ parentIsLocalized
7
+ }) => {
8
+ return lexicalGlobal._payload_lexical_defaultSanitizedServerEditorConfig ??= sanitizeServerEditorConfig(defaultEditorConfig, config, parentIsLocalized);
20
9
  };
21
10
  //# sourceMappingURL=getDefaultSanitizedEditorConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultSanitizedEditorConfig.js","names":["defaultEditorConfig","sanitizeServerEditorConfig","cachedDefaultSanitizedServerEditorConfig","global","_payload_lexical_defaultSanitizedServerEditorConfig","getDefaultSanitizedEditorConfig","args","config","parentIsLocalized","payload_lexical_defaultSanitizedServerEditorConfig"],"sources":["../../src/utilities/getDefaultSanitizedEditorConfig.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { type SanitizedServerEditorConfig } from '../index.js'\nimport { defaultEditorConfig } from '../lexical/config/server/default.js'\nimport { sanitizeServerEditorConfig } from '../lexical/config/server/sanitize.js'\n\nlet cachedDefaultSanitizedServerEditorConfig:\n | null\n | Promise<SanitizedServerEditorConfig>\n | SanitizedServerEditorConfig = (global as any)\n ._payload_lexical_defaultSanitizedServerEditorConfig\n\nif (!cachedDefaultSanitizedServerEditorConfig) {\n cachedDefaultSanitizedServerEditorConfig = (\n global as any\n )._payload_lexical_defaultSanitizedServerEditorConfig = null\n}\n\nexport const getDefaultSanitizedEditorConfig = async (args: {\n config: SanitizedConfig\n parentIsLocalized: boolean\n}): Promise<SanitizedServerEditorConfig> => {\n const { config, parentIsLocalized } = args\n\n if (cachedDefaultSanitizedServerEditorConfig) {\n return await cachedDefaultSanitizedServerEditorConfig\n }\n\n cachedDefaultSanitizedServerEditorConfig = sanitizeServerEditorConfig(\n defaultEditorConfig,\n config,\n parentIsLocalized,\n )\n ;(global as any).payload_lexical_defaultSanitizedServerEditorConfig =\n cachedDefaultSanitizedServerEditorConfig\n\n cachedDefaultSanitizedServerEditorConfig = await cachedDefaultSanitizedServerEditorConfig\n ;(global as any).payload_lexical_defaultSanitizedServerEditorConfig =\n cachedDefaultSanitizedServerEditorConfig\n\n return cachedDefaultSanitizedServerEditorConfig\n}\n"],"mappings":"AAGA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,0BAA0B,QAAQ;AAE3C,IAAIC,wCAAA,GAG8BC,MAAC,CAChCC,mDAAmD;AAEtD,IAAI,CAACF,wCAAA,EAA0C;EAC7CA,wCAAA,GAA2CC,MACzC,CACAC,mDAAmD,GAAG;AAC1D;AAEA,OAAO,MAAMC,+BAAA,GAAkC,MAAOC,IAAA;EAIpD,MAAM;IAAEC,MAAM;IAAEC;EAAiB,CAAE,GAAGF,IAAA;EAEtC,IAAIJ,wCAAA,EAA0C;IAC5C,OAAO,MAAMA,wCAAA;EACf;EAEAA,wCAAA,GAA2CD,0BAAA,CACzCD,mBAAA,EACAO,MAAA,EACAC,iBAAA;EAEAL,MAAA,CAAeM,kDAAkD,GACjEP,wCAAA;EAEFA,wCAAA,GAA2C,MAAMA,wCAAA;EAC/CC,MAAA,CAAeM,kDAAkD,GACjEP,wCAAA;EAEF,OAAOA,wCAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getDefaultSanitizedEditorConfig.js","names":["defaultEditorConfig","sanitizeServerEditorConfig","lexicalGlobal","globalThis","getDefaultSanitizedEditorConfig","config","parentIsLocalized","_payload_lexical_defaultSanitizedServerEditorConfig"],"sources":["../../src/utilities/getDefaultSanitizedEditorConfig.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { type SanitizedServerEditorConfig } from '../index.js'\nimport { defaultEditorConfig } from '../lexical/config/server/default.js'\nimport { sanitizeServerEditorConfig } from '../lexical/config/server/sanitize.js'\n\nconst lexicalGlobal = globalThis as {\n _payload_lexical_defaultSanitizedServerEditorConfig?: SanitizedServerEditorConfig\n} & typeof globalThis\n\nexport const getDefaultSanitizedEditorConfig = ({\n config,\n parentIsLocalized,\n}: {\n config: SanitizedConfig\n parentIsLocalized: boolean\n}): SanitizedServerEditorConfig => {\n return (lexicalGlobal._payload_lexical_defaultSanitizedServerEditorConfig ??=\n sanitizeServerEditorConfig(defaultEditorConfig, config, parentIsLocalized))\n}\n"],"mappings":"AAGA,SAASA,mBAAmB,QAAQ;AACpC,SAASC,0BAA0B,QAAQ;AAE3C,MAAMC,aAAA,GAAgBC,UAAA;AAItB,OAAO,MAAMC,+BAAA,GAAkCA,CAAC;EAC9CC,MAAM;EACNC;AAAiB,CAIlB;EACC,OAAQJ,aAAA,CAAcK,mDAAmD,KACvEN,0BAAA,CAA2BD,mBAAA,EAAqBK,MAAA,EAAQC,iBAAA;AAC5D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"initLexicalFeatures.d.ts","sourceRoot":"","sources":["../../src/utilities/initLexicalFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAOtF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC1F,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,cAAc,EAAE,cAAc,CAAA;IAC9B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,EAAE,2BAA2B,CAAA;IAClD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG;IAC/C,cAAc,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,CAAA;IAC3D,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,sBAAsB,EAAE,sBAAsB,CAAA;CAC/C,CA0FA"}
1
+ {"version":3,"file":"initLexicalFeatures.d.ts","sourceRoot":"","sources":["../../src/utilities/initLexicalFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAOtF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC1F,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,cAAc,EAAE,cAAc,CAAA;IAC9B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,EAAE,2BAA2B,CAAA;IAClD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG;IAC/C,cAAc,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,CAAA;IAC3D,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,sBAAsB,EAAE,sBAAsB,CAAA;CAC/C,CA6FA"}
@@ -45,10 +45,11 @@ export function initLexicalFeatures(args) {
45
45
  const featureSchemaPath = `${args.schemaPath}.lexical_internal_feature.${featureKey}`;
46
46
  featureClientSchemaMap[featureKey] = {};
47
47
  // Like args.fieldSchemaMap, we only want to include the sub-fields of the current feature
48
- for (const [key, entry] of args.clientFieldSchemaMap.entries()) {
49
- if (key.startsWith(featureSchemaPath)) {
50
- featureClientSchemaMap[featureKey][key] = 'fields' in entry ? entry.fields : [entry];
51
- }
48
+ const featureEntries = getFeatureEntriesByPath({
49
+ clientFieldSchemaMap: args.clientFieldSchemaMap
50
+ }).get(featureSchemaPath) ?? new Map();
51
+ for (const [key, entry] of featureEntries) {
52
+ featureClientSchemaMap[featureKey][key] = 'fields' in entry ? entry.fields : [entry];
52
53
  }
53
54
  }
54
55
  if (resolvedFeature.componentImports && typeof resolvedFeature.componentImports === 'object' && !Array.isArray(resolvedFeature.componentImports)) {
@@ -69,4 +70,37 @@ export function initLexicalFeatures(args) {
69
70
  featureClientSchemaMap
70
71
  };
71
72
  }
73
+ const FEATURE_PATH_SEGMENT = '.lexical_internal_feature.';
74
+ const featureEntriesCache = new WeakMap();
75
+ /**
76
+ * Groups the client field schema map entries by the lexical feature they belong to,
77
+ * so each rich text field does not have to scan the whole client field schema map.
78
+ */
79
+ function getFeatureEntriesByPath({
80
+ clientFieldSchemaMap
81
+ }) {
82
+ const cachedEntriesByPath = featureEntriesCache.get(clientFieldSchemaMap);
83
+ if (cachedEntriesByPath) {
84
+ return cachedEntriesByPath;
85
+ }
86
+ const entriesByPath = new Map();
87
+ for (const [key, entry] of clientFieldSchemaMap) {
88
+ let segmentIndex = key.indexOf(FEATURE_PATH_SEGMENT);
89
+ // An entry of a rich text field nested in a feature also belongs to each outer feature
90
+ while (segmentIndex !== -1) {
91
+ const featureKeyStart = segmentIndex + FEATURE_PATH_SEGMENT.length;
92
+ const featureKeyEnd = key.indexOf('.', featureKeyStart);
93
+ const featurePath = featureKeyEnd === -1 ? key : key.slice(0, featureKeyEnd);
94
+ let featureEntries = entriesByPath.get(featurePath);
95
+ if (!featureEntries) {
96
+ featureEntries = new Map();
97
+ entriesByPath.set(featurePath, featureEntries);
98
+ }
99
+ featureEntries.set(key, entry);
100
+ segmentIndex = key.indexOf(FEATURE_PATH_SEGMENT, featureKeyStart);
101
+ }
102
+ }
103
+ featureEntriesCache.set(clientFieldSchemaMap, entriesByPath);
104
+ return entriesByPath;
105
+ }
72
106
  //# sourceMappingURL=initLexicalFeatures.js.map