@payloadcms/richtext-lexical 4.0.0-internal.e55ccef → 4.0.0-internal.ea6e8f8

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 (525) hide show
  1. package/dist/exports/client/Field-MT4FK3IP.js +2 -0
  2. package/dist/exports/client/Field-MT4FK3IP.js.map +7 -0
  3. package/dist/exports/client/chunk-3LRZDIIG.js +2 -0
  4. package/dist/exports/client/{chunk-X3D4LZS7.js.map → chunk-3LRZDIIG.js.map} +4 -4
  5. package/dist/exports/client/chunk-E6LSRRP2.js +2 -0
  6. package/dist/exports/client/chunk-E6LSRRP2.js.map +7 -0
  7. package/dist/exports/client/chunk-ZQX5HXUL.js +2 -0
  8. package/dist/exports/client/chunk-ZQX5HXUL.js.map +7 -0
  9. package/dist/exports/client/component-6DQLENIE.js +2 -0
  10. package/dist/exports/client/component-6DQLENIE.js.map +7 -0
  11. package/dist/exports/client/componentInline-HNE5G4TE.js +2 -0
  12. package/dist/exports/client/index.d.ts +1 -1
  13. package/dist/exports/client/index.d.ts.map +1 -1
  14. package/dist/exports/client/index.js +23 -23
  15. package/dist/exports/client/index.js.map +4 -4
  16. package/dist/features/blocks/client/component/BlockReordering/index.d.ts +11 -0
  17. package/dist/features/blocks/client/component/BlockReordering/index.d.ts.map +1 -0
  18. package/dist/features/blocks/client/component/BlockReordering/index.js +18 -0
  19. package/dist/features/blocks/client/component/BlockReordering/index.js.map +1 -0
  20. package/dist/features/blocks/client/component/index.d.ts +0 -6
  21. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  22. package/dist/features/blocks/client/component/index.js +169 -101
  23. package/dist/features/blocks/client/component/index.js.map +1 -1
  24. package/dist/features/blocks/client/component/useBlockReordering.d.ts +16 -0
  25. package/dist/features/blocks/client/component/useBlockReordering.d.ts.map +1 -0
  26. package/dist/features/blocks/client/component/useBlockReordering.js +178 -0
  27. package/dist/features/blocks/client/component/useBlockReordering.js.map +1 -0
  28. package/dist/features/blocks/client/componentInline/index.css +0 -1
  29. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  30. package/dist/features/blocks/client/componentInline/index.js +30 -22
  31. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  32. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts +9 -0
  33. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.d.ts.map +1 -0
  34. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js +95 -0
  35. package/dist/features/blocks/client/getCachedFormStateIfDataMatches.js.map +1 -0
  36. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  37. package/dist/features/blocks/client/nodes/BlocksNode.js +0 -10
  38. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  39. package/dist/features/blocks/server/index.js +2 -2
  40. package/dist/features/blocks/server/index.js.map +1 -1
  41. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  42. package/dist/features/blocks/server/nodes/BlocksNode.js +1 -12
  43. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  44. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +2 -2
  45. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  46. package/dist/features/blocks/server/schema.d.ts +2 -0
  47. package/dist/features/blocks/server/schema.d.ts.map +1 -1
  48. package/dist/features/blocks/server/schema.js +7 -9
  49. package/dist/features/blocks/server/schema.js.map +1 -1
  50. package/dist/features/blocks/server/validate.js +1 -1
  51. package/dist/features/blocks/server/validate.js.map +1 -1
  52. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +1 -1
  53. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  54. package/dist/features/converters/lexicalToHtml/async/converters/list.d.ts.map +1 -1
  55. package/dist/features/converters/lexicalToHtml/async/converters/list.js +4 -3
  56. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  57. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +3 -3
  58. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  59. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.d.ts.map +1 -1
  60. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +3 -2
  61. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  62. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +1 -1
  63. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  64. package/dist/features/converters/lexicalToHtml/sync/converters/list.d.ts.map +1 -1
  65. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +4 -3
  66. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  67. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +3 -3
  68. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  69. package/dist/features/converters/lexicalToJSX/converter/converters/heading.d.ts.map +1 -1
  70. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +2 -1
  71. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  72. package/dist/features/converters/lexicalToJSX/converter/converters/list.d.ts.map +1 -1
  73. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +2 -1
  74. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  75. package/dist/features/converters/lexicalToJSX/converter/converters/upload.d.ts.map +1 -1
  76. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +4 -5
  77. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  78. package/dist/features/converters/utilities/payloadPopulateFn.d.ts.map +1 -1
  79. package/dist/features/converters/utilities/payloadPopulateFn.js +4 -2
  80. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  81. package/dist/features/debug/testRecorder/client/plugin/index.css +0 -1
  82. package/dist/features/heading/constants.d.ts +2 -0
  83. package/dist/features/heading/constants.d.ts.map +1 -0
  84. package/dist/features/heading/constants.js +2 -0
  85. package/dist/features/heading/constants.js.map +1 -0
  86. package/dist/features/heading/server/index.d.ts.map +1 -1
  87. package/dist/features/heading/server/index.js +5 -1
  88. package/dist/features/heading/server/index.js.map +1 -1
  89. package/dist/features/heading/server/validate.d.ts +6 -0
  90. package/dist/features/heading/server/validate.d.ts.map +1 -0
  91. package/dist/features/heading/server/validate.js +15 -0
  92. package/dist/features/heading/server/validate.js.map +1 -0
  93. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +12 -2
  94. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  95. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +18 -1
  96. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  97. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -1
  98. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  99. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +3 -3
  100. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  101. package/dist/features/horizontalRule/server/schema.d.ts +1 -0
  102. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -1
  103. package/dist/features/horizontalRule/server/schema.js +6 -5
  104. package/dist/features/horizontalRule/server/schema.js.map +1 -1
  105. package/dist/features/indent/client/IndentPlugin.d.ts.map +1 -1
  106. package/dist/features/indent/client/IndentPlugin.js +122 -1
  107. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  108. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  109. package/dist/features/indent/server/i18n.js +74 -37
  110. package/dist/features/indent/server/i18n.js.map +1 -1
  111. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  112. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +8 -5
  113. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  114. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +0 -2
  115. package/dist/features/link/nodes/AutoLinkNode.d.ts +1 -1
  116. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  117. package/dist/features/link/nodes/AutoLinkNode.js +2 -10
  118. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  119. package/dist/features/link/nodes/LinkNode.d.ts +1 -1
  120. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  121. package/dist/features/link/nodes/LinkNode.js +2 -15
  122. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  123. package/dist/features/link/server/index.js +2 -2
  124. package/dist/features/link/server/index.js.map +1 -1
  125. package/dist/features/link/server/validate.js +1 -1
  126. package/dist/features/link/server/validate.js.map +1 -1
  127. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  128. package/dist/features/lists/checklist/server/index.js +5 -2
  129. package/dist/features/lists/checklist/server/index.js.map +1 -1
  130. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  131. package/dist/features/lists/orderedList/server/index.js +5 -2
  132. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  133. package/dist/features/lists/shared/constants.d.ts +2 -0
  134. package/dist/features/lists/shared/constants.d.ts.map +1 -0
  135. package/dist/features/lists/shared/constants.js +2 -0
  136. package/dist/features/lists/shared/constants.js.map +1 -0
  137. package/dist/features/lists/shared/validate.d.ts +5 -0
  138. package/dist/features/lists/shared/validate.d.ts.map +1 -0
  139. package/dist/features/lists/shared/validate.js +15 -0
  140. package/dist/features/lists/shared/validate.js.map +1 -0
  141. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  142. package/dist/features/lists/unorderedList/server/index.js +5 -2
  143. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  144. package/dist/features/relationship/client/components/index.css +3 -6
  145. package/dist/features/relationship/client/index.d.ts +2 -2
  146. package/dist/features/relationship/client/index.d.ts.map +1 -1
  147. package/dist/features/relationship/client/index.js.map +1 -1
  148. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  149. package/dist/features/relationship/client/nodes/RelationshipNode.js +0 -3
  150. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  151. package/dist/features/relationship/client/plugins/index.d.ts +2 -2
  152. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  153. package/dist/features/relationship/client/plugins/index.js +27 -31
  154. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  155. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts +2 -4
  156. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  157. package/dist/features/relationship/client/utils/useEnabledRelationships.js +53 -20
  158. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  159. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +2 -2
  160. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  161. package/dist/features/relationship/server/graphQLPopulationPromise.js +2 -2
  162. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  163. package/dist/features/relationship/server/index.d.ts +8 -1
  164. package/dist/features/relationship/server/index.d.ts.map +1 -1
  165. package/dist/features/relationship/server/index.js +28 -11
  166. package/dist/features/relationship/server/index.js.map +1 -1
  167. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  168. package/dist/features/relationship/server/nodes/RelationshipNode.js +1 -5
  169. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  170. package/dist/features/relationship/server/schema.d.ts +3 -2
  171. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  172. package/dist/features/relationship/server/schema.js +9 -12
  173. package/dist/features/relationship/server/schema.js.map +1 -1
  174. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +1 -6
  175. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -1
  176. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +1 -5
  177. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -1
  178. package/dist/features/table/client/index.d.ts.map +1 -0
  179. package/dist/features/table/client/index.js.map +1 -0
  180. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts +8 -0
  181. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.d.ts.map +1 -0
  182. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js +19 -0
  183. package/dist/features/table/client/plugins/TableActionMenuPlugin/computeSelectionCount.js.map +1 -0
  184. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.css +0 -1
  185. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  186. package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.js +17 -44
  187. package/dist/features/table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  188. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  189. package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.js +41 -18
  190. package/dist/features/table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  191. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  192. package/dist/features/table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  193. package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.css +0 -3
  194. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +1 -0
  195. package/dist/features/table/client/plugins/TablePlugin/TableGridPopup/index.js.map +1 -0
  196. package/dist/features/table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  197. package/dist/features/table/client/plugins/TablePlugin/index.js.map +1 -0
  198. package/dist/features/table/client/utils/debounce.d.ts.map +1 -0
  199. package/dist/features/table/client/utils/debounce.js.map +1 -0
  200. package/dist/features/table/client/utils/useDebounce.d.ts.map +1 -0
  201. package/dist/features/table/client/utils/useDebounce.js.map +1 -0
  202. package/dist/features/table/markdownTransformer.d.ts.map +1 -0
  203. package/dist/features/table/markdownTransformer.js.map +1 -0
  204. package/dist/features/table/server/index.d.ts +3 -0
  205. package/dist/features/table/server/index.d.ts.map +1 -0
  206. package/dist/features/{experimental_table → table}/server/index.js +4 -4
  207. package/dist/features/table/server/index.js.map +1 -0
  208. package/dist/features/table/server/schema.d.ts.map +1 -0
  209. package/dist/features/table/server/schema.js.map +1 -0
  210. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts +8 -0
  211. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.d.ts.map +1 -0
  212. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js +80 -0
  213. package/dist/features/toolbars/fixed/client/Toolbar/horizontalWheelScroll.js.map +1 -0
  214. package/dist/features/toolbars/fixed/client/Toolbar/index.css +78 -6
  215. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  216. package/dist/features/toolbars/fixed/client/Toolbar/index.js +4 -1
  217. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  218. package/dist/features/toolbars/inline/client/Toolbar/index.css +0 -1
  219. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  220. package/dist/features/toolbars/inline/client/Toolbar/index.js +2 -2
  221. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  222. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  223. package/dist/features/toolbars/shared/ToolbarButton/index.js +1 -0
  224. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  225. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  226. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +85 -32
  227. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  228. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +16 -14
  229. package/dist/features/typesServer.d.ts +17 -12
  230. package/dist/features/typesServer.d.ts.map +1 -1
  231. package/dist/features/typesServer.js.map +1 -1
  232. package/dist/features/upload/client/component/index.css +0 -2
  233. package/dist/features/upload/client/component/index.js +2 -1
  234. package/dist/features/upload/client/component/index.js.map +1 -1
  235. package/dist/features/upload/client/index.d.ts +3 -2
  236. package/dist/features/upload/client/index.d.ts.map +1 -1
  237. package/dist/features/upload/client/index.js.map +1 -1
  238. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  239. package/dist/features/upload/client/nodes/UploadNode.js +0 -7
  240. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  241. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  242. package/dist/features/upload/client/plugin/index.js +50 -53
  243. package/dist/features/upload/client/plugin/index.js.map +1 -1
  244. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +2 -2
  245. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  246. package/dist/features/upload/server/graphQLPopulationPromise.js +1 -1
  247. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  248. package/dist/features/upload/server/index.d.ts +7 -3
  249. package/dist/features/upload/server/index.d.ts.map +1 -1
  250. package/dist/features/upload/server/index.js +20 -16
  251. package/dist/features/upload/server/index.js.map +1 -1
  252. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  253. package/dist/features/upload/server/nodes/UploadNode.js +1 -9
  254. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  255. package/dist/features/upload/server/schema.d.ts +4 -16
  256. package/dist/features/upload/server/schema.d.ts.map +1 -1
  257. package/dist/features/upload/server/schema.js +8 -10
  258. package/dist/features/upload/server/schema.js.map +1 -1
  259. package/dist/features/upload/server/validate.d.ts +2 -2
  260. package/dist/features/upload/server/validate.d.ts.map +1 -1
  261. package/dist/features/upload/server/validate.js +4 -1
  262. package/dist/features/upload/server/validate.js.map +1 -1
  263. package/dist/field/Diff/converters/listitem/index.d.ts.map +1 -1
  264. package/dist/field/Diff/converters/listitem/index.js +2 -1
  265. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  266. package/dist/field/Diff/converters/relationship/index.css +0 -1
  267. package/dist/field/Diff/converters/unknown/index.css +0 -1
  268. package/dist/field/Diff/converters/upload/index.css +0 -1
  269. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  270. package/dist/field/Diff/index.css +0 -2
  271. package/dist/field/Diff/index.d.ts +3 -2
  272. package/dist/field/Diff/index.d.ts.map +1 -1
  273. package/dist/field/Diff/index.js +3 -2
  274. package/dist/field/Diff/index.js.map +1 -1
  275. package/dist/field/Field.d.ts.map +1 -1
  276. package/dist/field/Field.js +8 -1
  277. package/dist/field/Field.js.map +1 -1
  278. package/dist/field/RenderLexical/index.d.ts +3 -1
  279. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  280. package/dist/field/RenderLexical/index.js +23 -23
  281. package/dist/field/RenderLexical/index.js.map +1 -1
  282. package/dist/field/ViewSelector.d.ts.map +1 -1
  283. package/dist/field/ViewSelector.js +1 -0
  284. package/dist/field/ViewSelector.js.map +1 -1
  285. package/dist/field/bundled.css +1 -1
  286. package/dist/field/index.css +10 -11
  287. package/dist/i18n.d.ts.map +1 -1
  288. package/dist/i18n.js +68 -0
  289. package/dist/i18n.js.map +1 -1
  290. package/dist/index.d.ts +2 -2
  291. package/dist/index.d.ts.map +1 -1
  292. package/dist/index.js +27 -5
  293. package/dist/index.js.map +1 -1
  294. package/dist/lexical/LexicalEditor.css +30 -21
  295. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  296. package/dist/lexical/LexicalEditor.js +61 -64
  297. package/dist/lexical/LexicalEditor.js.map +1 -1
  298. package/dist/lexical/config/server/loader.d.ts +1 -1
  299. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  300. package/dist/lexical/config/server/loader.js +2 -2
  301. package/dist/lexical/config/server/loader.js.map +1 -1
  302. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  303. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  304. package/dist/lexical/config/server/sanitize.js +2 -2
  305. package/dist/lexical/config/server/sanitize.js.map +1 -1
  306. package/dist/lexical/plugins/DecoratorPlugin/index.d.ts.map +1 -1
  307. package/dist/lexical/plugins/DecoratorPlugin/index.js +24 -21
  308. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  309. package/dist/lexical/plugins/InsertParagraphAtEnd/index.css +18 -25
  310. package/dist/lexical/plugins/InsertParagraphAtEnd/index.d.ts.map +1 -1
  311. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +27 -14
  312. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  313. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +0 -1
  314. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  315. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +2 -21
  316. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  317. package/dist/lexical/plugins/SlashMenu/index.css +0 -2
  318. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +1 -0
  319. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +2 -2
  320. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  321. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +1 -0
  322. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  323. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +16 -2
  324. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  325. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts +7 -0
  326. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.d.ts.map +1 -0
  327. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js +65 -0
  328. package/dist/lexical/plugins/handles/DraggableBlockPlugin/useKeyboardReordering.js.map +1 -0
  329. package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  330. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +2 -0
  331. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  332. package/dist/lexical/theme/EditorTheme.css +0 -2
  333. package/dist/lexical/ui/ContentEditable.css +16 -15
  334. package/dist/lexical/ui/ContentEditable.d.ts +2 -1
  335. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  336. package/dist/lexical/ui/ContentEditable.js +21 -7
  337. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  338. package/dist/lexical/ui/icons/H3/index.d.ts.map +1 -1
  339. package/dist/lexical/ui/icons/H3/index.js +13 -6
  340. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  341. package/dist/lexical/ui/icons/H4/index.d.ts.map +1 -1
  342. package/dist/lexical/ui/icons/H4/index.js +13 -6
  343. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  344. package/dist/lexical/ui/icons/H5/index.d.ts.map +1 -1
  345. package/dist/lexical/ui/icons/H5/index.js +13 -6
  346. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  347. package/dist/lexical/ui/icons/H6/index.d.ts.map +1 -1
  348. package/dist/lexical/ui/icons/H6/index.js +13 -6
  349. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  350. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts +2 -0
  351. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.d.ts.map +1 -0
  352. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js +2 -0
  353. package/dist/lexical-proxy/@lexical-react/ExtensionComponent.js.map +1 -0
  354. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts +2 -0
  355. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.d.ts.map +1 -0
  356. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js +2 -0
  357. package/dist/lexical-proxy/@lexical-react/LexicalExtensionComposer.js.map +1 -0
  358. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts +2 -0
  359. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.d.ts.map +1 -0
  360. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js +2 -0
  361. package/dist/lexical-proxy/@lexical-react/LexicalExtensionEditorComposer.js.map +1 -0
  362. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts +2 -0
  363. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.d.ts.map +1 -0
  364. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js +2 -0
  365. package/dist/lexical-proxy/@lexical-react/LexicalSelectionAlwaysOnDisplay.js.map +1 -0
  366. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts +2 -0
  367. package/dist/lexical-proxy/@lexical-react/ReactExtension.d.ts.map +1 -0
  368. package/dist/lexical-proxy/@lexical-react/ReactExtension.js +2 -0
  369. package/dist/lexical-proxy/@lexical-react/ReactExtension.js.map +1 -0
  370. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts +2 -0
  371. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.d.ts.map +1 -0
  372. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js +2 -0
  373. package/dist/lexical-proxy/@lexical-react/ReactPluginHostExtension.js.map +1 -0
  374. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts +2 -0
  375. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.d.ts.map +1 -0
  376. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js +2 -0
  377. package/dist/lexical-proxy/@lexical-react/ReactProviderExtension.js.map +1 -0
  378. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts +2 -0
  379. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.d.ts.map +1 -0
  380. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js +2 -0
  381. package/dist/lexical-proxy/@lexical-react/TreeViewExtension.js.map +1 -0
  382. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts +2 -0
  383. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.d.ts.map +1 -0
  384. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js +2 -0
  385. package/dist/lexical-proxy/@lexical-react/useExtensionComponent.js.map +1 -0
  386. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts +2 -0
  387. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.d.ts.map +1 -0
  388. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js +2 -0
  389. package/dist/lexical-proxy/@lexical-react/useExtensionSignalValue.js.map +1 -0
  390. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts +2 -0
  391. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.d.ts.map +1 -0
  392. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js +2 -0
  393. package/dist/lexical-proxy/@lexical-react/useLexicalAriaLiveRegion.js.map +1 -0
  394. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts +2 -0
  395. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.d.ts.map +1 -0
  396. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js +2 -0
  397. package/dist/lexical-proxy/@lexical-react/useLexicalFocusManagerRef.js.map +1 -0
  398. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts +2 -0
  399. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.d.ts.map +1 -0
  400. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js +2 -0
  401. package/dist/lexical-proxy/@lexical-react/useLexicalFocusTrapRef.js.map +1 -0
  402. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts +2 -0
  403. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.d.ts.map +1 -0
  404. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js +2 -0
  405. package/dist/lexical-proxy/@lexical-react/useLexicalRovingTabIndexRef.js.map +1 -0
  406. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts +2 -0
  407. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.d.ts.map +1 -0
  408. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js +2 -0
  409. package/dist/lexical-proxy/@lexical-react/useLexicalSlotRef.js.map +1 -0
  410. package/dist/populateGraphQL/populate.d.ts.map +1 -1
  411. package/dist/populateGraphQL/populate.js +2 -1
  412. package/dist/populateGraphQL/populate.js.map +1 -1
  413. package/dist/presets/llmInstructions.d.ts +2 -0
  414. package/dist/presets/llmInstructions.d.ts.map +1 -0
  415. package/dist/presets/llmInstructions.js +13 -0
  416. package/dist/presets/llmInstructions.js.map +1 -0
  417. package/dist/types/builtInNodes.d.ts +1 -1
  418. package/dist/types/builtInNodes.d.ts.map +1 -1
  419. package/dist/types/builtInNodes.js +8 -3
  420. package/dist/types/builtInNodes.js.map +1 -1
  421. package/dist/types/index.d.ts +3 -3
  422. package/dist/types/index.d.ts.map +1 -1
  423. package/dist/types/index.js.map +1 -1
  424. package/dist/types/jsonSchemaHelpers.d.ts +5 -1
  425. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -1
  426. package/dist/types/jsonSchemaHelpers.js +7 -2
  427. package/dist/types/jsonSchemaHelpers.js.map +1 -1
  428. package/dist/types/nodeTypes.d.ts +6 -1
  429. package/dist/types/nodeTypes.d.ts.map +1 -1
  430. package/dist/types/nodeTypes.js.map +1 -1
  431. package/dist/utilities/buildInitialState.d.ts +3 -2
  432. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  433. package/dist/utilities/buildInitialState.js +1 -0
  434. package/dist/utilities/buildInitialState.js.map +1 -1
  435. package/dist/utilities/createServerFeature.d.ts +1 -1
  436. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  437. package/dist/utilities/createServerFeature.js +2 -2
  438. package/dist/utilities/createServerFeature.js.map +1 -1
  439. package/dist/utilities/editorConfigFactory.d.ts +6 -6
  440. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  441. package/dist/utilities/editorConfigFactory.js +9 -9
  442. package/dist/utilities/editorConfigFactory.js.map +1 -1
  443. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts +2 -2
  444. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  445. package/dist/utilities/getDefaultSanitizedEditorConfig.js +6 -17
  446. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  447. package/dist/utilities/upgradeLexicalData/index.js +6 -3
  448. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  449. package/dist/validate/hasText.d.ts +2 -2
  450. package/dist/validate/hasText.d.ts.map +1 -1
  451. package/dist/validate/hasText.js.map +1 -1
  452. package/dist/validate/index.d.ts +1 -1
  453. package/dist/validate/index.d.ts.map +1 -1
  454. package/package.json +99 -25
  455. package/dist/dependencyChecker.spec.js +0 -16
  456. package/dist/dependencyChecker.spec.js.map +0 -1
  457. package/dist/exports/client/Field-QGSHF22S.js +0 -2
  458. package/dist/exports/client/Field-QGSHF22S.js.map +0 -7
  459. package/dist/exports/client/bundled.css +0 -1
  460. package/dist/exports/client/chunk-ESITTE3C.js +0 -2
  461. package/dist/exports/client/chunk-ESITTE3C.js.map +0 -7
  462. package/dist/exports/client/chunk-UD4DQ4AK.js +0 -2
  463. package/dist/exports/client/chunk-UD4DQ4AK.js.map +0 -7
  464. package/dist/exports/client/chunk-X3D4LZS7.js +0 -2
  465. package/dist/exports/client/component-PHZQBOJE.js +0 -2
  466. package/dist/exports/client/component-PHZQBOJE.js.map +0 -7
  467. package/dist/exports/client/componentInline-H24N7GUG.js +0 -2
  468. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts +0 -11
  469. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts.map +0 -1
  470. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +0 -20
  471. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +0 -1
  472. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +0 -180
  473. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +0 -1
  474. package/dist/features/experimental_table/client/index.d.ts.map +0 -1
  475. package/dist/features/experimental_table/client/index.js.map +0 -1
  476. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  477. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +0 -1
  478. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  479. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +0 -1
  480. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +0 -1
  481. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +0 -1
  482. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.d.ts.map +0 -1
  483. package/dist/features/experimental_table/client/plugins/TablePlugin/TableGridPopup/index.js.map +0 -1
  484. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +0 -1
  485. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +0 -1
  486. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +0 -1
  487. package/dist/features/experimental_table/client/utils/debounce.js.map +0 -1
  488. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +0 -1
  489. package/dist/features/experimental_table/client/utils/useDebounce.js.map +0 -1
  490. package/dist/features/experimental_table/markdownTransformer.d.ts.map +0 -1
  491. package/dist/features/experimental_table/markdownTransformer.js.map +0 -1
  492. package/dist/features/experimental_table/server/index.d.ts +0 -3
  493. package/dist/features/experimental_table/server/index.d.ts.map +0 -1
  494. package/dist/features/experimental_table/server/index.js.map +0 -1
  495. package/dist/features/experimental_table/server/schema.d.ts.map +0 -1
  496. package/dist/features/experimental_table/server/schema.js.map +0 -1
  497. package/dist/features/link/markdownTransformer.spec.js +0 -195
  498. package/dist/features/link/markdownTransformer.spec.js.map +0 -1
  499. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js +0 -88
  500. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js.map +0 -1
  501. package/dist/lexical/utils/url.spec.js +0 -114
  502. package/dist/lexical/utils/url.spec.js.map +0 -1
  503. package/dist/utilities/jsx/jsx.spec.js +0 -178
  504. package/dist/utilities/jsx/jsx.spec.js.map +0 -1
  505. /package/dist/exports/client/{componentInline-H24N7GUG.js.map → componentInline-HNE5G4TE.js.map} +0 -0
  506. /package/dist/features/{experimental_table → table}/client/index.d.ts +0 -0
  507. /package/dist/features/{experimental_table → table}/client/index.js +0 -0
  508. /package/dist/features/{experimental_table → table}/client/plugins/TableActionMenuPlugin/index.d.ts +0 -0
  509. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.css +0 -0
  510. /package/dist/features/{experimental_table → table}/client/plugins/TableCellResizerPlugin/index.d.ts +0 -0
  511. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.d.ts +0 -0
  512. /package/dist/features/{experimental_table → table}/client/plugins/TableHoverActionsPlugin/index.js +0 -0
  513. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.d.ts +0 -0
  514. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/TableGridPopup/index.js +0 -0
  515. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.css +0 -0
  516. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.d.ts +0 -0
  517. /package/dist/features/{experimental_table → table}/client/plugins/TablePlugin/index.js +0 -0
  518. /package/dist/features/{experimental_table → table}/client/utils/debounce.d.ts +0 -0
  519. /package/dist/features/{experimental_table → table}/client/utils/debounce.js +0 -0
  520. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.d.ts +0 -0
  521. /package/dist/features/{experimental_table → table}/client/utils/useDebounce.js +0 -0
  522. /package/dist/features/{experimental_table → table}/markdownTransformer.d.ts +0 -0
  523. /package/dist/features/{experimental_table → table}/markdownTransformer.js +0 -0
  524. /package/dist/features/{experimental_table → table}/server/schema.d.ts +0 -0
  525. /package/dist/features/{experimental_table → table}/server/schema.js +0 -0
@@ -1,2 +0,0 @@
1
- import{a as ue,b as me,c as de}from"./chunk-5VIL27GI.js";import{b as ae}from"./chunk-RJ5MAOKZ.js";import{jsx as l,jsxs as S}from"react/jsx-runtime";import{useLexicalComposerContext as Ke}from"@lexical/react/LexicalComposerContext";import{useLexicalEditable as Je}from"@lexical/react/useLexicalEditable";import{getTranslation as fe}from"@payloadcms/translations";import{Button as pe,Drawer as ze,EditDepthProvider as Ve,Form as He,formatDrawerSlug as We,RenderFields as Xe,ShimmerEffect as Ge,useConfig as Ue,useDocumentForm as qe,useDocumentInfo as Qe,useEditDepth as Ye,useServerFunctions as Ze,useTranslation as et}from"@payloadcms/ui";import{abortAndIgnore as J}from"@payloadcms/ui/shared";import{$getNodeByKey as z,SKIP_DOM_SELECTION_TAG as be}from"lexical";import{deepCopyObjectSimpleWithoutReactComponents as V,reduceFieldsToValues as tt}from"payload/shared";import y,{createContext as ot,useCallback as H,useEffect as T,useMemo as B,useRef as _}from"react";import{v4 as nt}from"uuid";import{jsx as Le}from"react/jsx-runtime";import Pe from"bson-objectid";import{$applyNodeReplacement as Re}from"lexical";import je from"react";import{addClassNamesToElement as Ne}from"@lexical/utils";import Oe from"bson-objectid";import{$applyNodeReplacement as Te,DecoratorNode as Ee}from"lexical";var x=class extends Ee{__cacheBuster;__fields;constructor({cacheBuster:t,fields:e,key:i}){super(i),this.__fields=e,this.__cacheBuster=t||0}static clone(t){return new this({cacheBuster:t.__cacheBuster,fields:t.__fields,key:t.__key})}static getType(){return"inlineBlock"}static importDOM(){return{}}static importJSON(t){return $e(t.fields)}static isInline(){return!1}canIndent(){return!0}createDOM(t){let e=document.createElement("span");return Ne(e,t?.theme?.inlineBlock),e}decorate(t,e){return null}exportDOM(){let t=document.createElement("span");t.classList.add("inline-block-container");let e=document.createTextNode(this.getTextContent());return t.append(e),{element:t}}exportJSON(){return{type:"inlineBlock",fields:this.getFields(),version:1}}getCacheBuster(){return this.getLatest().__cacheBuster}getFields(){return this.getLatest().__fields}getTextContent(){return"Block Field"}isInline(){return!0}setFields(t,e){let i=this.getWritable();i.__fields=t,e||i.__cacheBuster++}updateDOM(){return!1}};function $e(c){return Te(new x({fields:{...c,id:c?.id||new Oe.default().toHexString()}}))}var Me=je.lazy(()=>import("./componentInline-H24N7GUG.js").then(c=>({default:c.InlineBlockComponent}))),O=class extends x{static clone(t){return super.clone(t)}static getType(){return super.getType()}static importJSON(t){return Ae(t.fields)}decorate(...[t,e,i,f]){return Le(Me,{cacheBuster:this.getCacheBuster(),className:e.theme.inlineBlock??"LexicalEditorTheme__inlineBlock",CustomBlock:i,CustomLabel:f,formData:this.getFields(),nodeKey:this.getKey()})}exportJSON(){return super.exportJSON()}};function Ae(c){return Re(new O({fields:{...c,id:c?.id||new Pe.default().toHexString()}}))}function K(c){return c instanceof O}var he=ot({initialState:!1}),ke=()=>y.use(he),Nt=c=>{let{cacheBuster:t,className:e,CustomBlock:i,CustomLabel:f,formData:o,nodeKey:a}=c,[k]=Ke(),u=Je(),{i18n:E,t:h}=et(),{createdInlineBlock:W,fieldProps:{featureClientSchemaMap:Be,initialLexicalFormState:Ce,schemaPath:X},setCreatedInlineBlock:G,uuid:ge}=ae(),{fields:F}=qe(),{getFormState:D}=Ze(),xe=Ye(),U=_(!1),[m,$]=y.useState(()=>{let r=Ce?.[o.id]?.formState;return r?Object.fromEntries(Object.entries(r).map(([s,n])=>[s,s in o?{...n,initialValue:o[s],value:o[s]}:n])):!1}),q=_(!1),Q=_(t);T(()=>{q.current?(Q.current!==t&&$(!1),Q.current=t):q.current=!0},[t]);let[Se]=y.useState(()=>nt()),[Y,Z]=y.useState(()=>{if(!f)return m?._components?.customComponents?.BlockLabel??void 0}),[ee,te]=y.useState(()=>{if(!i)return m?._components?.customComponents?.Block??void 0}),oe=B(()=>i?l(i,{className:e,formData:o,isEditor:!0,isJSXConverter:!1,nodeKey:a,useInlineBlockComponentContext:ke}):ee,[i,e,o,a,ee]),L=B(()=>f?l(f,{className:e,formData:o,isEditor:!0,isJSXConverter:!1,nodeKey:a,useInlineBlockComponentContext:ke}):Y,[f,e,o,a,Y]),ne=We({slug:`lexical-inlineBlocks-create-${ge}-${o.id}`,depth:xe}),{toggleDrawer:b}=de(ne,!0),_e=_(null),{id:I,collectionSlug:w,getDocPreferences:v,globalSlug:N}=Qe(),{config:ye}=Ue(),Fe=`${X}.lexical_internal_feature.blocks.lexical_inline_blocks.${o.blockType}`,P=Be.blocks?.[Fe]?.[0]?.blocks?.[0],d=typeof P=="string"?ye.blocksMap[P]:P,re=d?.fields??[];T(()=>{!U.current&&W?.getKey()===a&&(re.length>2&&b(),G?.(void 0),U.current=!0)},[re.length,W,a,G,b]);let se=H(()=>{k.update(()=>{z(a)?.remove()})},[k,a]),C=d?.labels?.singular?fe(d?.labels.singular,E):d?.slug,R=_(new AbortController),g=`${X}.lexical_internal_feature.blocks.lexical_inline_blocks.${d?.slug}.fields`;T(()=>{let r=new AbortController;return o&&!m&&(async()=>{let{state:n}=await D({id:I,collectionSlug:w,data:o,docPermissions:{fields:!0},docPreferences:await v(),documentFormState:V(F,{excludeFiles:!0}),globalSlug:N,initialBlockData:o,initialBlockFormState:o,operation:"update",readOnly:!u,renderAllFields:!0,schemaPath:g,signal:r.signal});if(n){let p=tt(V(n,{excludeFiles:!0}),!0);k.update(()=>{let A=z(a);if(A&&K(A)){let ce=p;ce.blockType=o.blockType,A.setFields(ce,!0)}},{tag:be}),$(n),f||Z(n._components?.customComponents?.BlockLabel),i||te(n._components?.customComponents?.Block)}})(),()=>{J(r)}},[D,k,a,u,f,i,g,I,o,m,w,N,v,F]);let le=H(async({formState:r,submit:s})=>{J(R.current);let n=new AbortController;R.current=n;let{state:p}=await D({id:I,collectionSlug:w,docPermissions:{fields:!0},docPreferences:await v(),documentFormState:V(F,{excludeFiles:!0}),formState:r,globalSlug:N,initialBlockFormState:r,operation:"update",readOnly:!u,renderAllFields:!!s,schemaPath:g,signal:n.signal});return p?(s&&(f||Z(p._components?.customComponents?.BlockLabel),i||te(p._components?.customComponents?.Block)),p):r},[D,I,w,v,F,N,u,g,i,f]);T(()=>{let r=(s,n)=>Object.keys(n).some(p=>n[p]&&s[p]!==n[p].value);return()=>{m&&r(o,m)&&$(!1),J(R.current)}},[o,m]);let De=H((r,s)=>{s.blockType=o.blockType,k.update(()=>{let n=z(a);n&&K(n)&&n.setFields(s,!0)},{tag:be})},[k,a,o]),{headerActions:Ie,submitRef:we}=ue(),j=B(()=>()=>l(pe,{buttonStyle:"ghost",className:`${e}__removeButton`,disabled:!u,icon:"x",onClick:r=>{r.preventDefault(),r.stopPropagation(),se()},round:!0,size:"medium",tooltip:h("lexical:blocks:inlineBlocks:remove",{label:C})}),[e,C,u,se,h]),ve=B(()=>()=>l(pe,{buttonStyle:"ghost",className:`${e}__editButton`,disabled:!u,el:"button",icon:"edit",onClick:()=>{b()},round:!0,size:"medium",tooltip:h("lexical:blocks:inlineBlocks:edit",{label:C})}),[e,C,u,h,b]),M=B(()=>({children:r,className:s})=>l("div",{className:[`${e}__container`,e+"-"+o.blockType,s].filter(Boolean).join(" "),...u?{onClick:()=>b(),onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),b())},role:"button",tabIndex:0}:{},ref:_e,children:r}),[e,o.blockType,u,b]),ie=B(()=>L?()=>L:()=>l("div",{children:d?.labels?fe(d?.labels.singular,E):""}),[L,d?.labels,E]);return d?S(He,{beforeSubmit:[async({formState:r})=>await le({formState:r,submit:!0})],disableValidationOnSubmit:!0,el:"div",fields:d?.fields,initialState:m||{},onChange:[le],onSubmit:(r,s)=>{De(r,s),b()},uuid:Se,children:[l(Ve,{children:l(ze,{className:"",headerActions:Ie,slug:ne,title:h(`lexical:blocks:inlineBlocks:${o?.id?"edit":"create"}`,{label:C??h("lexical:blocks:inlineBlocks:label")}),children:m?S("div",{className:"fields-drawer",children:[l(Xe,{fields:d?.fields,forceRender:!0,parentIndexPath:"",parentPath:"",parentSchemaPath:g,permissions:!0,readOnly:!u}),l(me,{submitRef:we})]}):null})}),oe?l(he,{value:{EditButton:ve,initialState:m,InlineBlockContainer:M,Label:ie,nodeKey:a,RemoveButton:j},children:oe}):S(M,{children:[m?l(ie,{}):l(Ge,{height:"15px",width:"40px"}),u?l("div",{className:`${e}__actions`,children:l(j,{})}):null]})]}):S(M,{className:`${e}-not-found`,children:[S("span",{children:["Error: Block '",o.blockType,"' not found"]}),u?l("div",{className:`${e}__actions`,children:l(j,{})}):null]})};export{ke as a,Nt as b,O as c,Ae as d,K as e};
2
- //# sourceMappingURL=chunk-ESITTE3C.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/features/blocks/client/componentInline/index.tsx", "../../../src/features/blocks/client/nodes/InlineBlocksNode.tsx", "../../../src/features/blocks/server/nodes/InlineBlocksNode.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport type { BlocksFieldClient, ClientBlock, Data, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n Drawer,\n EditDepthProvider,\n Form,\n formatDrawerSlug,\n RenderFields,\n ShimmerEffect,\n useConfig,\n useDocumentForm,\n useDocumentInfo,\n useEditDepth,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { $getNodeByKey, SKIP_DOM_SELECTION_TAG } from 'lexical'\n\nimport './index.css'\nimport '../../../../utilities/fieldsDrawer/index.css'\n\nimport { deepCopyObjectSimpleWithoutReactComponents, reduceFieldsToValues } from 'payload/shared'\nimport React, { createContext, useCallback, useEffect, useMemo, useRef } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { ViewMapInlineBlockComponentProps } from '../../../../types/index.js'\nimport type { InlineBlockFields } from '../../server/schema.js'\nimport type { BlockComponentProps } from '../component/index.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport {\n RegisterFormSubmit,\n useDrawerSubmit,\n} from '../../../../utilities/fieldsDrawer/useDrawerSubmit.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\n\nexport type InlineBlockComponentProps<\n TFormData extends Record<string, unknown> = InlineBlockFields,\n> = {\n readonly CustomBlock?: React.FC<ViewMapInlineBlockComponentProps>\n readonly CustomLabel?: React.FC<ViewMapInlineBlockComponentProps>\n} & Pick<BlockComponentProps<TFormData>, 'cacheBuster' | 'className' | 'formData' | 'nodeKey'>\n\nexport type InlineBlockComponentContextType = {\n EditButton?: React.FC\n initialState: false | FormState | undefined\n InlineBlockContainer?: React.FC<{ children: React.ReactNode }>\n Label?: React.FC\n nodeKey?: string\n RemoveButton?: React.FC\n}\n\nconst InlineBlockComponentContext = createContext<InlineBlockComponentContextType>({\n initialState: false,\n})\n\nexport const useInlineBlockComponentContext = () => React.use(InlineBlockComponentContext)\n\nexport const InlineBlockComponent: React.FC<InlineBlockComponentProps<InlineBlockFields>> = (\n props,\n) => {\n const {\n cacheBuster,\n className: baseClass,\n CustomBlock: CustomBlockFromProps,\n CustomLabel: CustomLabelFromProps,\n formData,\n nodeKey,\n } = props\n\n const [editor] = useLexicalComposerContext()\n const isEditable = useLexicalEditable()\n const { i18n, t } = useTranslation<object, string>()\n const {\n createdInlineBlock,\n fieldProps: { featureClientSchemaMap, initialLexicalFormState, schemaPath },\n setCreatedInlineBlock,\n uuid: uuidFromContext,\n } = useEditorConfigContext()\n const { fields: parentDocumentFields } = useDocumentForm()\n\n const { getFormState } = useServerFunctions()\n const editDepth = useEditDepth()\n const firstTimeDrawer = useRef(false)\n\n const [initialState, setInitialState] = React.useState<false | FormState | undefined>(() => {\n // Initial form state that was calculated server-side. May have stale values\n const cachedFormState = initialLexicalFormState?.[formData.id]?.formState\n if (!cachedFormState) {\n return false\n }\n\n // Merge current formData values into the cached form state\n // This ensures that when the component remounts (e.g., due to view changes), we don't lose user edits\n return Object.fromEntries(\n Object.entries(cachedFormState).map(([fieldName, fieldState]) => [\n fieldName,\n fieldName in formData\n ? {\n ...fieldState,\n initialValue: formData[fieldName],\n value: formData[fieldName],\n }\n : fieldState,\n ]),\n )\n })\n\n const hasMounted = useRef(false)\n const prevCacheBuster = useRef(cacheBuster)\n useEffect(() => {\n if (hasMounted.current) {\n if (prevCacheBuster.current !== cacheBuster) {\n setInitialState(false)\n }\n prevCacheBuster.current = cacheBuster\n } else {\n hasMounted.current = true\n }\n }, [cacheBuster])\n\n const [formUuid] = React.useState(() => uuid())\n\n // Server-rendered custom components (from admin.components, NOT viewMap).\n // When viewMap components exist, we render them directly with formData instead.\n const [CustomLabel, setCustomLabel] = React.useState<React.ReactNode | undefined>(() => {\n if (CustomLabelFromProps) {\n return undefined\n }\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n return initialState?.['_components']?.customComponents?.BlockLabel ?? undefined\n })\n\n const [CustomBlock, setCustomBlock] = React.useState<React.ReactNode | undefined>(() => {\n if (CustomBlockFromProps) {\n return undefined\n }\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n return initialState?.['_components']?.customComponents?.Block ?? undefined\n })\n\n const resolvedCustomBlock = useMemo(() => {\n if (CustomBlockFromProps) {\n return (\n <CustomBlockFromProps\n className={baseClass}\n formData={formData}\n isEditor={true}\n isJSXConverter={false}\n nodeKey={nodeKey}\n // eslint-disable-next-line react-compiler/react-compiler -- intentionally passed as a prop for custom block components to call\n useInlineBlockComponentContext={useInlineBlockComponentContext}\n />\n )\n }\n return CustomBlock\n }, [CustomBlockFromProps, baseClass, formData, nodeKey, CustomBlock])\n\n const resolvedCustomLabel = useMemo(() => {\n if (CustomLabelFromProps) {\n return (\n <CustomLabelFromProps\n className={baseClass}\n formData={formData}\n isEditor={true}\n isJSXConverter={false}\n nodeKey={nodeKey}\n // eslint-disable-next-line react-compiler/react-compiler -- intentionally passed as a prop for custom block components to call\n useInlineBlockComponentContext={useInlineBlockComponentContext}\n />\n )\n }\n return CustomLabel\n }, [CustomLabelFromProps, baseClass, formData, nodeKey, CustomLabel])\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-inlineBlocks-create-${uuidFromContext}-${formData.id}`,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n const inlineBlockElemElemRef = useRef<HTMLDivElement | null>(null)\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { config } = useConfig()\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${formData.blockType}`\n\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient | undefined = clientSchemaMap?.[\n componentMapRenderedBlockPath\n ]?.[0] as BlocksFieldClient | undefined\n\n const blockOrSlug = blocksField?.blocks?.[0]\n const clientBlock: ClientBlock | undefined =\n typeof blockOrSlug === 'string' ? config.blocksMap[blockOrSlug] : blockOrSlug\n\n const clientBlockFields = clientBlock?.fields ?? []\n\n // Open drawer on \"mount\"\n useEffect(() => {\n if (!firstTimeDrawer.current && createdInlineBlock?.getKey() === nodeKey) {\n // > 2 because they always have \"id\" and \"blockName\" fields\n if (clientBlockFields.length > 2) {\n toggleDrawer()\n }\n setCreatedInlineBlock?.(undefined)\n firstTimeDrawer.current = true\n }\n }, [clientBlockFields.length, createdInlineBlock, nodeKey, setCreatedInlineBlock, toggleDrawer])\n\n const removeInlineBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock?.labels.singular, i18n)\n : clientBlock?.slug\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${clientBlock?.slug}.fields`\n\n // Initial state for newly created blocks\n useEffect(() => {\n const abortController = new AbortController()\n\n const awaitInitialState = async () => {\n /*\n * This will only run if a new block is created. For all existing blocks that are loaded when the document is loaded, or when the form is saved,\n * this is not run, as the lexical field RSC will fetch the state server-side and pass it to the client. That way, we avoid unnecessary client-side\n * requests. Though for newly created blocks, we need to fetch the state client-side, as the server doesn't know about the block yet.\n */\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: formData,\n docPermissions: { fields: true },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n globalSlug,\n initialBlockData: formData,\n initialBlockFormState: formData,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n const newFormStateData: InlineBlockFields = reduceFieldsToValues(\n deepCopyObjectSimpleWithoutReactComponents(state, { excludeFiles: true }),\n true,\n ) as InlineBlockFields\n\n // Things like default values may come back from the server => update the node with the new data\n editor.update(\n () => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n const newData = newFormStateData\n newData.blockType = formData.blockType\n\n node.setFields(newData, true)\n }\n },\n // Without this, the outer editor's reconciler resets DOM selection\n // back into its own root, kicking focus out of any nested richText.\n { tag: SKIP_DOM_SELECTION_TAG },\n )\n\n setInitialState(state)\n if (!CustomLabelFromProps) {\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n }\n if (!CustomBlockFromProps) {\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n }\n }\n\n if (formData && !initialState) {\n void awaitInitialState()\n }\n\n return () => {\n abortAndIgnore(abortController)\n }\n }, [\n getFormState,\n editor,\n nodeKey,\n isEditable,\n CustomLabelFromProps,\n CustomBlockFromProps,\n schemaFieldsPath,\n id,\n formData,\n initialState,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n parentDocumentFields,\n ])\n\n /**\n * HANDLE ONCHANGE\n */\n const onChange = useCallback(\n async ({ formState: prevFormState, submit }: { formState: FormState; submit?: boolean }) => {\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 renderAllFields: submit ? true : false,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n if (submit) {\n if (!CustomLabelFromProps) {\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n }\n if (!CustomBlockFromProps) {\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n }\n\n return state\n },\n [\n getFormState,\n id,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n isEditable,\n schemaFieldsPath,\n CustomBlockFromProps,\n CustomLabelFromProps,\n ],\n )\n // cleanup effect\n useEffect(() => {\n const isStateOutOfSync = (formData: InlineBlockFields, initialState: FormState) => {\n return Object.keys(initialState).some(\n (key) => initialState[key] && formData[key] !== initialState[key].value,\n )\n }\n\n return () => {\n // If the component is unmounted (either via removeInlineBlock or via lexical itself) and the form state got changed before,\n // we need to reset the initial state to force a re-fetch of the initial state when it gets mounted again (e.g. via lexical history undo).\n // Otherwise it would use an outdated initial state.\n if (initialState && isStateOutOfSync(formData, initialState)) {\n setInitialState(false)\n }\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [formData, initialState])\n\n /**\n * HANDLE FORM SUBMIT\n */\n const onFormSubmit = useCallback(\n (formState: FormState, newData: Data) => {\n newData.blockType = formData.blockType\n\n editor.update(\n () => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n node.setFields(newData as InlineBlockFields, true)\n }\n },\n // Without this, the outer editor's reconciler resets DOM selection\n // back into its own root, kicking focus out of any nested richText.\n { tag: SKIP_DOM_SELECTION_TAG },\n )\n },\n [editor, nodeKey, formData],\n )\n\n const { headerActions, submitRef } = useDrawerSubmit()\n\n const RemoveButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__removeButton`}\n disabled={!isEditable}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n removeInlineBlock()\n }}\n round\n size=\"medium\"\n tooltip={t('lexical:blocks:inlineBlocks:remove', { label: blockDisplayName })}\n />\n ),\n [baseClass, blockDisplayName, isEditable, removeInlineBlock, t],\n )\n\n const EditButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__editButton`}\n disabled={!isEditable}\n el=\"button\"\n icon=\"edit\"\n onClick={() => {\n toggleDrawer()\n }}\n round\n size=\"medium\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n ),\n [baseClass, blockDisplayName, isEditable, t, toggleDrawer],\n )\n\n const InlineBlockContainer = useMemo(\n () =>\n ({ children, className }: { children: React.ReactNode; className?: string }) => (\n <div\n className={[`${baseClass}__container`, baseClass + '-' + formData.blockType, className]\n .filter(Boolean)\n .join(' ')}\n {...(isEditable\n ? {\n onClick: () => toggleDrawer(),\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n toggleDrawer()\n }\n },\n role: 'button',\n tabIndex: 0,\n }\n : {})}\n ref={inlineBlockElemElemRef}\n >\n {children}\n </div>\n ),\n [baseClass, formData.blockType, isEditable, toggleDrawer],\n )\n\n const Label = useMemo(() => {\n if (resolvedCustomLabel) {\n return () => resolvedCustomLabel\n } else {\n return () => (\n <div>{clientBlock?.labels ? getTranslation(clientBlock?.labels.singular, i18n) : ''}</div>\n )\n }\n }, [resolvedCustomLabel, clientBlock?.labels, i18n])\n\n if (!clientBlock) {\n return (\n <InlineBlockContainer className={`${baseClass}-not-found`}>\n <span>Error: Block '{formData.blockType}' not found</span>\n {isEditable ? (\n <div className={`${baseClass}__actions`}>\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\n )\n }\n\n return (\n <Form\n beforeSubmit={[\n async ({ formState }) => {\n // This is only called when form is submitted from drawer\n return await onChange({ formState, submit: true })\n },\n ]}\n disableValidationOnSubmit\n el=\"div\"\n fields={clientBlock?.fields}\n initialState={initialState || {}}\n onChange={[onChange]}\n onSubmit={(formState, data) => {\n onFormSubmit(formState, data)\n toggleDrawer()\n }}\n uuid={formUuid}\n >\n <EditDepthProvider>\n <Drawer\n className={''}\n headerActions={headerActions}\n slug={drawerSlug}\n title={t(`lexical:blocks:inlineBlocks:${formData?.id ? 'edit' : 'create'}`, {\n label: blockDisplayName ?? t('lexical:blocks:inlineBlocks:label'),\n })}\n >\n {initialState ? (\n <div className=\"fields-drawer\">\n <RenderFields\n fields={clientBlock?.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 </div>\n ) : null}\n </Drawer>\n </EditDepthProvider>\n {resolvedCustomBlock ? (\n <InlineBlockComponentContext\n value={{\n EditButton,\n initialState,\n InlineBlockContainer,\n Label,\n nodeKey,\n RemoveButton,\n }}\n >\n {resolvedCustomBlock}\n </InlineBlockComponentContext>\n ) : (\n <InlineBlockContainer>\n {initialState ? <Label /> : <ShimmerEffect height=\"15px\" width=\"40px\" />}\n {isEditable ? (\n <div className={`${baseClass}__actions`}>\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\n )}\n </Form>\n )\n}\n", "'use client'\nimport ObjectID from 'bson-objectid'\nimport {\n $applyNodeReplacement,\n type EditorConfig,\n type LexicalEditor,\n type LexicalNode,\n} from 'lexical'\nimport React, { type JSX } from 'react'\n\nimport type { ViewMapInlineBlockComponentProps } from '../../../../types/index.js'\nimport type { InlineBlockFields, SerializedInlineBlockNode } from '../../server/schema.js'\n\nimport { ServerInlineBlockNode } from '../../server/nodes/InlineBlocksNode.js'\n\nconst InlineBlockComponent = React.lazy(() =>\n import('../componentInline/index.js').then((module) => ({\n default: module.InlineBlockComponent,\n })),\n)\n\nexport type InlineBlockDecorateFunction = (\n editor: LexicalEditor,\n config: EditorConfig,\n CustomBlock?: React.FC<ViewMapInlineBlockComponentProps>,\n CustomLabel?: React.FC<ViewMapInlineBlockComponentProps>,\n) => JSX.Element\n\nexport class InlineBlockNode extends ServerInlineBlockNode {\n static override clone(node: ServerInlineBlockNode): ServerInlineBlockNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\n }\n\n static override importJSON(serializedNode: SerializedInlineBlockNode): InlineBlockNode {\n const node = $createInlineBlockNode(serializedNode.fields)\n return node\n }\n\n override decorate(\n ...[_editor, config, CustomBlock, CustomLabel]: Parameters<InlineBlockDecorateFunction>\n ): ReturnType<InlineBlockDecorateFunction> {\n return (\n <InlineBlockComponent\n cacheBuster={this.getCacheBuster()}\n className={config.theme.inlineBlock ?? 'LexicalEditorTheme__inlineBlock'}\n CustomBlock={CustomBlock}\n CustomLabel={CustomLabel}\n formData={this.getFields()}\n nodeKey={this.getKey()}\n />\n )\n }\n\n override exportJSON(): SerializedInlineBlockNode {\n return super.exportJSON()\n }\n}\n\nexport function $createInlineBlockNode(fields: Exclude<InlineBlockFields, 'id'>): InlineBlockNode {\n return $applyNodeReplacement(\n new InlineBlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n }),\n )\n}\n\nexport function $isInlineBlockNode(\n node: InlineBlockNode | LexicalNode | null | undefined,\n): node is InlineBlockNode {\n return node instanceof InlineBlockNode\n}\n", "import type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n} from 'lexical'\nimport type React from 'react'\nimport type { JSX } from 'react'\n\nimport { addClassNamesToElement } from '@lexical/utils'\nimport ObjectID from 'bson-objectid'\nimport { $applyNodeReplacement, DecoratorNode } from 'lexical'\n\nimport type { InlineBlockFields, SerializedInlineBlockNode } from '../schema.js'\n\nexport class ServerInlineBlockNode extends DecoratorNode<null | React.ReactElement> {\n __cacheBuster: number\n __fields: InlineBlockFields\n\n constructor({\n cacheBuster,\n fields,\n key,\n }: {\n cacheBuster?: number\n fields: InlineBlockFields\n key?: NodeKey\n }) {\n super(key)\n this.__fields = fields\n this.__cacheBuster = cacheBuster || 0\n }\n\n static override clone(node: ServerInlineBlockNode): ServerInlineBlockNode {\n return new this({\n cacheBuster: node.__cacheBuster,\n fields: node.__fields,\n key: node.__key,\n })\n }\n\n static override getType(): string {\n return 'inlineBlock'\n }\n\n static override importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {}\n }\n\n static override importJSON(serializedNode: SerializedInlineBlockNode): ServerInlineBlockNode {\n const node = $createServerInlineBlockNode(serializedNode.fields)\n return node\n }\n\n static isInline(): false {\n return false\n }\n\n canIndent() {\n return true\n }\n\n override createDOM(config?: EditorConfig): HTMLElement {\n const element = document.createElement('span')\n addClassNamesToElement(element, config?.theme?.inlineBlock)\n return element\n }\n\n override decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element | null {\n return null\n }\n\n override exportDOM(): DOMExportOutput {\n const element = document.createElement('span')\n element.classList.add('inline-block-container')\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n override exportJSON(): SerializedInlineBlockNode {\n return {\n type: 'inlineBlock',\n fields: this.getFields(),\n version: 1,\n }\n }\n\n getCacheBuster(): number {\n return this.getLatest().__cacheBuster\n }\n\n getFields(): InlineBlockFields {\n return this.getLatest().__fields\n }\n\n override getTextContent(): string {\n return `Block Field`\n }\n\n override isInline() {\n return true\n }\n\n setFields(fields: InlineBlockFields, preventFormStateUpdate?: boolean): void {\n const writable = this.getWritable()\n writable.__fields = fields\n if (!preventFormStateUpdate) {\n writable.__cacheBuster++\n }\n }\n\n override updateDOM(): boolean {\n return false\n }\n}\n\nexport function $createServerInlineBlockNode(\n fields: Exclude<InlineBlockFields, 'id'>,\n): ServerInlineBlockNode {\n return $applyNodeReplacement(\n new ServerInlineBlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n }),\n )\n}\n\nexport function $isServerInlineBlockNode(\n node: LexicalNode | null | ServerInlineBlockNode | undefined,\n): node is ServerInlineBlockNode {\n return node instanceof ServerInlineBlockNode\n}\n"],
5
- "mappings": "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",
6
- "names": ["useLexicalComposerContext", "useLexicalEditable", "getTranslation", "Button", "Drawer", "EditDepthProvider", "Form", "formatDrawerSlug", "RenderFields", "ShimmerEffect", "useConfig", "useDocumentForm", "useDocumentInfo", "useEditDepth", "useServerFunctions", "useTranslation", "abortAndIgnore", "$getNodeByKey", "SKIP_DOM_SELECTION_TAG", "deepCopyObjectSimpleWithoutReactComponents", "reduceFieldsToValues", "React", "createContext", "useCallback", "useEffect", "useMemo", "useRef", "ObjectID", "$applyNodeReplacement", "React", "addClassNamesToElement", "ObjectID", "$applyNodeReplacement", "DecoratorNode", "ServerInlineBlockNode", "__cacheBuster", "__fields", "constructor", "cacheBuster", "fields", "key", "clone", "node", "__key", "getType", "importDOM", "importJSON", "serializedNode", "$createServerInlineBlockNode", "isInline", "canIndent", "createDOM", "config", "element", "document", "createElement", "theme", "inlineBlock", "decorate", "editor", "exportDOM", "classList", "add", "text", "createTextNode", "getTextContent", "append", "exportJSON", "type", "getFields", "version", "getCacheBuster", "getLatest", "setFields", "preventFormStateUpdate", "writable", "getWritable", "updateDOM", "id", "default", "toHexString", "InlineBlockComponent", "React", "lazy", "then", "module", "default", "InlineBlockNode", "ServerInlineBlockNode", "clone", "node", "getType", "importJSON", "serializedNode", "$createInlineBlockNode", "fields", "decorate", "_editor", "config", "CustomBlock", "CustomLabel", "_jsx", "cacheBuster", "getCacheBuster", "className", "theme", "inlineBlock", "formData", "getFields", "nodeKey", "getKey", "exportJSON", "$applyNodeReplacement", "id", "ObjectID", "toHexString", "$isInlineBlockNode", "InlineBlockComponentContext", "createContext", "$isInlineBlockNode", "initialState", "React", "InlineBlockComponent", "props", "cacheBuster", "baseClass", "CustomBlockFromProps", "className", "CustomBlock", "CustomLabel", "formData", "nodeKey", "useLexicalEditable", "i18n", "t", "createdInlineBlock", "fieldProps", "featureClientSchemaMap", "uuidFromContext", "setCreatedInlineBlock", "useEditorConfigContext", "useDocumentForm", "fields", "getFormState", "useServerFunctions", "useRef", "editDepth", "useEditDepth", "setInitialState", "useState", "cachedFormState", "fieldName", "fieldState", "fromEntries", "entries", "initialValue", "prevCacheBuster", "useEffect", "hasMounted", "current", "formUuid", "uuid", "setCustomLabel", "CustomLabelFromProps", "customComponents", "BlockLabel", "resolvedCustomBlock", "useMemo", "isEditor", "useInlineBlockComponentContext", "resolvedCustomLabel", "drawerSlug", "depth", "toggleDrawer", "useLexicalDrawer", "id", "collectionSlug", "getDocPreferences", "globalSlug", "config", "useConfig", "clientSchemaMap", "componentMapRenderedBlockPath", "blocksField", "blockOrSlug", "clientBlockFields", "firstTimeDrawer", "removeInlineBlock", "useCallback", "editor", "length", "$getNodeByKey", "blockDisplayName", "clientBlock", "getTranslation", "labels", "singular", "schemaFieldsPath", "abortController", "state", "data", "docPermissions", "deepCopyObjectSimpleWithoutReactComponents", "parentDocumentFields", "docPreferences", "documentFormState", "initialBlockData", "initialBlockFormState", "operation", "readOnly", "isEditable", "renderAllFields", "signal", "newFormStateData", "reduceFieldsToValues", "node", "newData", "SKIP_DOM_SELECTION_TAG", "setCustomBlock", "awaitInitialState", "abortAndIgnore", "submit", "formState", "controller", "onChangeAbortControllerRef", "excludeFiles", "prevFormState", "state_0", "isStateOutOfSync", "formData_0", "initialState_0", "key", "Object", "onFormSubmit", "blockType", "node_0", "tag", "headerActions", "submitRef", "useDrawerSubmit", "RemoveButton", "buttonStyle", "disabled", "e", "icon", "onClick", "round", "size", "tooltip", "label", "EditButton", "_jsx", "Button", "el", "InlineBlockContainer", "e_0", "onKeyDown", "role", "tabIndex", "children", "ref", "inlineBlockElemElemRef", "formState_0", "beforeSubmit", "onChange", "disableValidationOnSubmit", "onSubmit", "EditDepthProvider", "Drawer", "slug", "title", "_jsxs", "RenderFields", "forceRender", "parentIndexPath", "parentPath", "parentSchemaPath", "RegisterFormSubmit", "value", "Label", "height", "width"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as O,b as y}from"./chunk-5VIL27GI.js";import{b as F}from"./chunk-RJ5MAOKZ.js";import{c as q}from"react/compiler-runtime";import{jsx as _}from"react/jsx-runtime";import{Drawer as z,EditDepthProvider as G,useModal as J}from"@payloadcms/ui";import"react";import{jsx as I,jsxs as N}from"react/jsx-runtime";import{useLexicalEditable as T}from"@lexical/react/useLexicalEditable";import{Form as W,RenderFields as $,useDocumentForm as v,useDocumentInfo as k,useServerFunctions as L}from"@payloadcms/ui";import{abortAndIgnore as R}from"@payloadcms/ui/shared";import{deepCopyObjectSimpleWithoutReactComponents as E}from"payload/shared";import{useCallback as B,useEffect as M,useRef as H,useState as U}from"react";import{v4 as V}from"uuid";var j=({data:S,featureKey:e,fieldMapOverride:b,handleDrawerSubmit:w,schemaFieldsPathOverride:r,schemaPath:A,schemaPathSuffix:u,submitRef:D})=>{let{id:o,collectionSlug:a,getDocPreferences:i,globalSlug:n}=k(),{fields:s}=v(),t=T(),m=H(new AbortController),[d,l]=U(!1),{fieldProps:{featureClientSchemaMap:f}}=F(),{getFormState:p}=L(),c=r??`${A}.lexical_internal_feature.${e}${u?`.${u}`:""}`,C=b??f[e]?.[c];M(()=>{let h=new AbortController;return(async()=>{let{state:g}=await p({id:o,collectionSlug:a,data:S??{},docPermissions:{fields:!0},docPreferences:await i(),documentFormState:E(s,{excludeFiles:!0}),globalSlug:n,initialBlockData:S,operation:"update",readOnly:!t,renderAllFields:!0,schemaPath:c,signal:h.signal});l(g)})(),()=>{R(h)}},[c,o,S,p,a,t,n,i,s]);let x=B(async({formState:h})=>{R(m.current);let P=new AbortController;m.current=P;let{state:g}=await p({id:o,collectionSlug:a,docPermissions:{fields:!0},docPreferences:await i(),documentFormState:E(s,{excludeFiles:!0}),formState:h,globalSlug:n,initialBlockFormState:h,operation:"update",readOnly:!t,schemaPath:c,signal:P.signal});return g||h},[p,o,t,a,i,s,n,c]);return M(()=>()=>{R(m.current)},[]),d===!1?null:N(W,{beforeSubmit:[x],className:"fields-drawer",disableValidationOnSubmit:!0,fields:Array.isArray(C)?C:[],initialState:d,onChange:[x],onSubmit:w,uuid:V(),children:[I($,{fields:Array.isArray(C)?C:[],forceRender:!0,parentIndexPath:"",parentPath:"",parentSchemaPath:c,permissions:!0,readOnly:!t}),I(y,{submitRef:D})]})};var pe=S=>{let e=q(17),{className:b,data:w,drawerSlug:r,drawerTitle:A,featureKey:u,fieldMapOverride:D,handleDrawerSubmit:o,schemaFieldsPathOverride:a,schemaPath:i,schemaPathSuffix:n}=S,{closeModal:s}=J(),{headerActions:t,submitRef:m}=O(),d=A??"",l;e[0]!==s||e[1]!==r||e[2]!==o?(l=(p,c)=>{s(r),setTimeout(()=>{o(p,c)},1)},e[0]=s,e[1]=r,e[2]=o,e[3]=l):l=e[3];let f;return e[4]!==b||e[5]!==w||e[6]!==r||e[7]!==u||e[8]!==D||e[9]!==t||e[10]!==a||e[11]!==i||e[12]!==n||e[13]!==m||e[14]!==d||e[15]!==l?(f=_(G,{children:_(z,{className:b,headerActions:t,slug:r,title:d,children:_(j,{data:w,featureKey:u,fieldMapOverride:D,handleDrawerSubmit:l,schemaFieldsPathOverride:a,schemaPath:i,schemaPathSuffix:n,submitRef:m})})}),e[4]=b,e[5]=w,e[6]=r,e[7]=u,e[8]=D,e[9]=t,e[10]=a,e[11]=i,e[12]=n,e[13]=m,e[14]=d,e[15]=l,e[16]=f):f=e[16],f};import{createCommand as K}from"lexical";var be=K("INSERT_UPLOAD_WITH_DRAWER_COMMAND");export{pe as a,be as b};
2
- //# sourceMappingURL=chunk-UD4DQ4AK.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utilities/fieldsDrawer/Drawer.tsx", "../../../src/utilities/fieldsDrawer/DrawerContent.tsx", "../../../src/features/upload/client/drawer/commands.ts"],
4
- "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", "'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", "'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { createCommand } from 'lexical'\n\nexport const INSERT_UPLOAD_WITH_DRAWER_COMMAND: LexicalCommand<{\n replace: { nodeKey: string } | false\n}> = createCommand('INSERT_UPLOAD_WITH_DRAWER_COMMAND')\n"],
5
- "mappings": "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",
6
- "names": ["c", "_c", "Drawer", "EditDepthProvider", "useModal", "useLexicalEditable", "Form", "RenderFields", "useDocumentForm", "useDocumentInfo", "useServerFunctions", "abortAndIgnore", "deepCopyObjectSimpleWithoutReactComponents", "useCallback", "useEffect", "useRef", "useState", "v4", "uuid", "DrawerContent", "data", "featureKey", "fieldMapOverride", "handleDrawerSubmit", "schemaFieldsPathOverride", "schemaPath", "schemaPathSuffix", "submitRef", "id", "collectionSlug", "getDocPreferences", "globalSlug", "useDocumentInfo", "parentDocumentFields", "fields", "useDocumentForm", "useLexicalEditable", "isEditable", "onChangeAbortControllerRef", "useRef", "AbortController", "fieldProps", "useEditorConfigContext", "getFormState", "useServerFunctions", "schemaFieldsPath", "useEffect", "awaitInitialState", "state", "docPermissions", "docPreferences", "deepCopyObjectSimpleWithoutReactComponents", "documentFormState", "initialBlockData", "operation", "readOnly", "renderAllFields", "setInitialState", "abortAndIgnore", "controller", "onChange", "formState", "state_0", "prevFormState", "initialBlockFormState", "initialState", "_jsxs", "Form", "beforeSubmit", "className", "disableValidationOnSubmit", "isArray", "onSubmit", "uuid", "_jsx", "RenderFields", "forceRender", "parentIndexPath", "parentPath", "parentSchemaPath", "permissions", "FieldsDrawer", "t0", "$", "_c", "className", "data", "drawerSlug", "drawerTitle", "featureKey", "fieldMapOverride", "handleDrawerSubmit", "schemaFieldsPathOverride", "schemaPath", "schemaPathSuffix", "closeModal", "useModal", "headerActions", "submitRef", "useDrawerSubmit", "t1", "t2", "args", "args2", "setTimeout", "t3", "_jsx", "EditDepthProvider", "children", "Drawer", "slug", "title", "DrawerContent", "createCommand", "INSERT_UPLOAD_WITH_DRAWER_COMMAND"]
7
- }
@@ -1,2 +0,0 @@
1
- var P=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";import{c as ct}from"react/compiler-runtime";import{useRef as lt}from"react";function Gt(i){let t=ct(2),e=i===void 0?500:i,o=lt(void 0),n;return t[0]!==e?(n=c=>new Promise(a=>{let s=()=>{c(),a()};"requestIdleCallback"in window?("cancelIdleCallback"in window&&o.current!==void 0&&cancelIdleCallback(o.current),o.current=requestIdleCallback(s,{timeout:e})):at().then(s)}),t[0]=e,t[1]=n):n=t[1],n}function at(){return new Promise(i=>{setTimeout(i,100),requestAnimationFrame(()=>{setTimeout(i,0)})})}import{jsx as ut}from"react/jsx-runtime";import{useControllableState as ft}from"@payloadcms/ui";import{createContext as dt,use as mt,useMemo as ht}from"react";var V=dt({currentView:"default",inheritable:!1,setCurrentView:()=>{}}),oe=i=>{let t=pt(),e=i.currentView!==void 0,o=t.inheritable&&(!!t.views||!!t.hasExplicitCurrentView),n=e||t.inheritable&&!!t.hasExplicitCurrentView,{children:r,currentView:c,inheritable:a,views:s}={children:i.children,currentView:o?t.currentView:i.currentView,inheritable:t.inheritable||i.inheritable,views:o&&t.views?t.views:i.views},[f,d]=ft(c,"default"),m=s&&f!=="default"&&!s[f]?"default":f,h=ht(()=>{let y=s?s[m]:void 0;return{currentView:m,currentViewMap:y,hasExplicitCurrentView:n,inheritable:a,isControlledByParent:o,setCurrentView:d,views:s}},[m,a,n,o,d,s]);return ut(V,{value:h,children:r})};function pt(){return mt(V)}var T=class{_x;_y;constructor(t,e){this._x=t,this._y=e}calcDeltaXTo({x:t}){return this.x-t}calcDeltaYTo({y:t}){return this.y-t}calcDistanceTo(t){return Math.sqrt(Math.pow(this.calcDeltaXTo(t),2)+Math.pow(this.calcDeltaYTo(t),2))}calcHorizontalDistanceTo(t){return Math.abs(this.calcDeltaXTo(t))}calcVerticalDistance(t){return Math.abs(this.calcDeltaYTo(t))}equals({x:t,y:e}){return this.x===t&&this.y===e}get x(){return this._x}get y(){return this._y}};function $(i){return i instanceof T}import{jsx as At}from"react/jsx-runtime";import{useLexicalComposerContext as Lt}from"@lexical/react/LexicalComposerContext.js";import{mergeRegister as Bt}from"@lexical/utils";import{$getSelection as I,$isRangeSelection as N,$isTextNode as Pt,COMMAND_PRIORITY_LOW as Vt,createCommand as $t,getDOMSelection as Yt}from"lexical";import{useCallback as J,useEffect as G,useState as Wt}from"react";import*as v from"react";import{c as q}from"react/compiler-runtime";import{useLexicalComposerContext as U}from"@lexical/react/LexicalComposerContext.js";import{mergeRegister as Y}from"@lexical/utils";import{$getSelection as F,$isRangeSelection as gt,$setSelection as _t,COMMAND_PRIORITY_LOW as W,COMMAND_PRIORITY_NORMAL as C,createCommand as wt,KEY_ARROW_DOWN_COMMAND as yt,KEY_ARROW_UP_COMMAND as Ot,KEY_ENTER_COMMAND as xt,KEY_ESCAPE_COMMAND as bt,KEY_TAB_COMMAND as Ct}from"lexical";import{useCallback as E,useEffect as x,useLayoutEffect as St,useMemo as Mt,useRef as Rt,useState as Dt}from"react";var Tt="slash-menu-popup",H=i=>{let t=document.getElementById("slash-menu");if(!t)return;let e=t.getBoundingClientRect();e.top+e.height>window.innerHeight&&t.scrollIntoView({block:"center"}),e.top<0&&t.scrollIntoView({block:"center"}),i.scrollIntoView({block:"nearest"})};function Et(i,t,e){let o=e;for(let n=o;n<=t.length;n++)i.substring(i.length-n)===t.substring(0,n)&&(o=n);return o}function vt(i){let t=F();if(!gt(t)||!t.isCollapsed())return;let e=t.anchor;if(e.type!=="text")return;let o=e.getNode();if(!o.isSimpleText())return;let n=e.offset,r=o.getTextContent().slice(0,n),c=i.replaceableString.length,a=Et(r,i.matchingString,c),s=n-a;if(s<0)return;let f;return s===0?[f]=o.splitText(n):[,f]=o.splitText(s,n),f}function It(i,t){let e=getComputedStyle(i),o=e.position==="absolute",n=t?/(auto|scroll|hidden)/:/(auto|scroll)/;if(e.position==="fixed")return document.body;for(let r=i;r=r.parentElement;)if(e=getComputedStyle(r),!(o&&e.position==="static")&&n.test(e.overflow+e.overflowY+e.overflowX))return r;return document.body}function X(i,t){let e=i.getBoundingClientRect(),o=t.getBoundingClientRect();return e.top>o.top&&e.top<o.bottom}function Nt(i,t,e,o){let n=q(7),[r]=U(),c,a;n[0]!==r||n[1]!==e||n[2]!==o||n[3]!==i||n[4]!==t?(c=()=>{let s=t.current;if(s!=null&&i!=null){let f=r.getRootElement(),d=f!=null?It(f,!1):document.body,m=!1,h=X(s,d),y=function(){m||(window.requestAnimationFrame(function(){e(),m=!1}),m=!0);let l=X(s,d);l!==h&&(h=l,o?.(l))},u=new ResizeObserver(e);return window.addEventListener("resize",e),document.addEventListener("scroll",y,{capture:!0,passive:!0}),u.observe(s),()=>{u.disconnect(),window.removeEventListener("resize",e),document.removeEventListener("scroll",y,!0)}}},a=[r,o,e,i,t],n[0]=r,n[1]=e,n[2]=o,n[3]=i,n[4]=t,n[5]=c,n[6]=a):(c=n[5],a=n[6]),x(c,a)}var j=wt("SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND");function z({anchorElementRef:i,close:t,editor:e,groups:o,menuRenderFn:n,resolution:r,shouldSplitNodeWithQuery:c=!1}){let[a,s]=Dt(null),f=r.match&&r.match.matchingString||"",d=E(u=>{let l=e.getRootElement();l!==null&&(l.setAttribute("aria-activedescendant",`${Tt}__item-${u.key}`),s(u.key))},[e]),m=E(()=>{if(o!==null&&f!=null){let u=o.flatMap(l=>l.items);if(u.length){let l=u[0];d(l)}}},[o,d,f]);x(()=>{m()},[f,m]);let h=E(u=>{t(),e.update(()=>{let l=r.match!=null&&c?vt(r.match):null;l&&l.remove()}),setTimeout(()=>{let l;e.read(()=>{l=F()?.clone()}),e.update(()=>{l&&_t(l)}),u.onSelect({editor:e,queryString:r.match?r.match.matchingString:""})},0)},[e,c,r.match,t]);x(()=>()=>{let u=e.getRootElement();u!==null&&u.removeAttribute("aria-activedescendant")},[e]),St(()=>{o===null?s(null):a===null&&m()},[o,a,d,m]),x(()=>Y(e.registerCommand(j,({item:u})=>u.ref&&u.ref.current!=null?(H(u.ref.current),!0):!1,W)),[e,d]),x(()=>Y(e.registerCommand(yt,u=>{let l=u;if(o!==null&&o.length&&a!==null){let g=o.flatMap(_=>_.items),p=g.findIndex(_=>_.key===a),O=p!==g.length-1?p+1:0,w=g[O];if(!w)return!1;d(w),w.ref!=null&&w.ref.current&&e.dispatchCommand(j,{index:O,item:w}),l.preventDefault(),l.stopImmediatePropagation()}return!0},C),e.registerCommand(Ot,u=>{let l=u;if(o!==null&&o.length&&a!==null){let g=o.flatMap(_=>_.items),p=g.findIndex(_=>_.key===a),O=p!==0?p-1:g.length-1,w=g[O];if(!w)return!1;d(w),w.ref!=null&&w.ref.current&&H(w.ref.current),l.preventDefault(),l.stopImmediatePropagation()}return!0},C),e.registerCommand(bt,u=>{let l=u;return l.preventDefault(),l.stopImmediatePropagation(),t(),!0},W),e.registerCommand(Ct,u=>{let l=u;if(o===null||a===null)return!1;let p=o.flatMap(O=>O.items).find(O=>O.key===a);return p?(l.preventDefault(),l.stopImmediatePropagation(),h(p),!0):!1},C),e.registerCommand(xt,u=>{if(o===null||a===null)return!1;let g=o.flatMap(p=>p.items).find(p=>p.key===a);return g?(u!==null&&(u.preventDefault(),u.stopImmediatePropagation()),h(g),!0):!1},C)),[h,t,e,o,a,d]);let y=Mt(()=>({groups:o,selectedItemKey:a,selectItemAndCleanUp:h,setSelectedItemKey:s}),[h,a,o]);return n(i,y,r.match?r.match.matchingString:"")}function kt(i,t){t!=null&&(i.className=t),i.setAttribute("aria-label","Slash menu"),i.setAttribute("role","listbox"),i.style.display="block",i.style.position="absolute"}function K(i,t,e,o){let n=q(14),[r]=U(),c;n[0]===Symbol.for("react.memo_cache_sentinel")?(c=P?document.createElement("div"):null,n[0]=c):c=n[0];let a=Rt(c),s;n[1]!==i||n[2]!==o||n[3]!==r||n[4]!==t?(s=()=>{if(a.current===null||parent===void 0)return;let u=r.getRootElement(),l=a.current,g=l.firstChild;if(u!==null&&t!==null){let{height:p,width:O}=t.getRect(),{left:w,top:_}=t.getRect(),S=_;if(_=_-(i.getBoundingClientRect().top+window.scrollY),w=w-(i.getBoundingClientRect().left+window.scrollX),l.style.left=`${w+window.scrollX}px`,l.style.height=`${p}px`,l.style.width=`${O}px`,g!==null){let M=g.getBoundingClientRect(),A=M.height,R=M.width,D=u.getBoundingClientRect(),L=document.dir==="rtl"||document.documentElement.dir==="rtl",ot=i.getBoundingClientRect(),B=Math.max(0,D.left);if(!L&&w+R>D.right)l.style.left=`${D.right-R+window.scrollX}px`;else if(L&&M.left<B){let st=B+R-ot.left;l.style.left=`${st+window.scrollX}px`}let it=S+A+32>window.innerHeight,rt=S<0;it&&!rt?l.style.top=`${_+32-A+window.scrollY-(p+24)}px`:l.style.top=`${_+window.scrollY+32}px`}l.isConnected||(kt(l,o),i.append(l)),l.setAttribute("id","slash-menu"),a.current=l,u.setAttribute("aria-controls","slash-menu")}},n[1]=i,n[2]=o,n[3]=r,n[4]=t,n[5]=s):s=n[5];let f=s,d,m;n[6]!==r||n[7]!==f||n[8]!==t?(d=()=>{let u=r.getRootElement();if(t!==null)return f(),()=>{u!==null&&u.removeAttribute("aria-controls");let l=a.current;l!==null&&l.isConnected&&(l.remove(),l.removeAttribute("id"))}},m=[r,f,t],n[6]=r,n[7]=f,n[8]=t,n[9]=d,n[10]=m):(d=n[9],m=n[10]),x(d,m);let h;return n[11]!==t||n[12]!==e?(h=u=>{t!==null&&(u||e(null))},n[11]=t,n[12]=e,n[13]=h):h=n[13],Nt(t,a,f,h),a}var ye=`\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'"~=<>_:;`;function Ht(i){let t=i.anchor;if(t.type!=="text")return null;let e=t.getNode();if(!e.isSimpleText())return null;let o=t.offset;return e.getTextContent().slice(0,o)}function Q(i,t,e){let o=Yt(e);if(o===null||!o.isCollapsed)return!1;let n=o.anchorNode,r=i,c=o.anchorOffset;if(n==null||c==null)return!1;try{t.setStart(n,r),t.setEnd(n,c>1?c:1)}catch{return!1}return!0}function Xt(i){let t;return i.getEditorState().read(()=>{let e=I();N(e)&&(t=Ht(e))}),t}function Z(i,t){return t!==0?!1:i.getEditorState().read(()=>{let e=I();if(N(e)){let r=e.anchor.getNode().getPreviousSibling();return Pt(r)&&r.isTextEntity()}return!1})}function tt(i){v.startTransition?v.startTransition(i):i()}var jt=$t("ENABLE_SLASH_MENU_COMMAND");function Oe({anchorClassName:i,anchorElem:t,groups:e,menuRenderFn:o,onClose:n,onOpen:r,onQueryChange:c,triggerFn:a}){let[s]=Lt(),[f,d]=Wt(null),m=K(t,f,d,i),h=J(()=>{d(null),n!=null&&f!==null&&n()},[n,f]),y=J(u=>{d(u),r!=null&&f===null&&r(u)},[r,f]);return G(()=>Bt(s.registerCommand(jt,({node:u})=>(s.getEditorState().read(()=>{let l={leadOffset:0,matchingString:"",replaceableString:""};if(!Z(s,l.leadOffset)&&u!==null){let g=s._window??window,p=g.document.createRange();Q(l.leadOffset,p,g)!==null&&tt(()=>y({getRect:()=>p.getBoundingClientRect(),match:l}));return}}),!0),Vt)),[s,y]),G(()=>{let u=()=>{s.getEditorState().read(()=>{let g=s._window??window,p=g.document.createRange(),O=I(),w=Xt(s);if(!N(O)||!O.isCollapsed()||w===void 0||p===null){h();return}let _=a({editor:s,query:w});if(c(_?_.matchingString:null),_!==null&&!Z(s,_.leadOffset)&&Q(_.leadOffset,p,g)!==null){tt(()=>y({getRect:()=>p.getBoundingClientRect(),match:_}));return}h()})},l=s.registerUpdateListener(u);return()=>{l()}},[s,a,c,f,h,y]),m.current===null||f===null||s===null?null:At(z,{anchorElementRef:m,close:h,editor:s,groups:e,menuRenderFn:o,resolution:f,shouldSplitNodeWithQuery:!0})}var et=class i{_bottom;_left;_right;_top;constructor(t,e,o,n){let[r,c]=e<=n?[e,n]:[n,e],[a,s]=t<=o?[t,o]:[o,t];this._top=r,this._right=s,this._left=a,this._bottom=c}static fromDOM(t){let{height:e,left:o,top:n,width:r}=t.getBoundingClientRect();return i.fromLWTH(o,r,n,e)}static fromDOMRect(t){let{height:e,left:o,top:n,width:r}=t;return i.fromLWTH(o,r,n,e)}static fromLTRB(t,e,o,n){return new i(t,e,o,n)}static fromLWTH(t,e,o,n){return new i(t,o,t+e,o+n)}static fromPoints(t,e){let{x:o,y:n}=t,{x:r,y:c}=e;return i.fromLTRB(o,n,r,c)}contains(t){if($(t)){let{x:c,y:a}=t,s=a<this._top,f=a>this._bottom,d=c<this._left,m=c>this._right;return{reason:{isOnBottomSide:f,isOnLeftSide:d,isOnRightSide:m,isOnTopSide:s},result:!s&&!f&&!d&&!m}}let{bottom:e,left:o,right:n,top:r}=t;return r>=this._top&&r<=this._bottom&&e>=this._top&&e<=this._bottom&&o>=this._left&&o<=this._right&&n>=this._left&&n<=this._right}distanceFromPoint(t){let e=this.contains(t);if(e.result)return{distance:0,isOnBottomSide:e.reason.isOnBottomSide,isOnLeftSide:e.reason.isOnLeftSide,isOnRightSide:e.reason.isOnRightSide,isOnTopSide:e.reason.isOnTopSide};let o=0,n=0;return t.x<this._left?o=this._left-t.x:t.x>this._right&&(o=t.x-this._right),t.y<this._top?n=this._top-t.y:t.y>this._bottom&&(n=t.y-this._bottom),{distance:Math.sqrt(o*o+n*n),isOnBottomSide:t.y>this._bottom,isOnLeftSide:t.x<this._left,isOnRightSide:t.x>this._right,isOnTopSide:t.y<this._top}}equals({bottom:t,left:e,right:o,top:n}){return n===this._top&&t===this._bottom&&e===this._left&&o===this._right}generateNewRect({bottom:t=this.bottom,left:e=this.left,right:o=this.right,top:n=this.top}){return new i(e,n,o,t)}intersectsWith(t){let{height:e,left:o,top:n,width:r}=t,{height:c,left:a,top:s,width:f}=this,d=o+r>=a+f?o+r:a+f,m=n+e>=s+c?n+e:s+c,h=o<=a?o:a,y=n<=s?n:s;return d-h<=r+f&&m-y<=e+c}get bottom(){return this._bottom}get height(){return Math.abs(this._bottom-this._top)}get left(){return this._left}get right(){return this._right}get top(){return this._top}get width(){return Math.abs(this._left-this._right)}};import k from"react";var b=new WeakMap;function Me(i,t){b.has(i)||b.set(i,new Map);let e=b.get(i);for(let[o,n]of Object.entries(t))if(!(!n||typeof n!="object")){if(o==="blocks"){for(let[r,c]of Object.entries(n))e.set(`block:${r}`,c);continue}if(o==="inlineBlocks"){for(let[r,c]of Object.entries(n))e.set(`inlineBlock:${r}`,c);continue}e.set(o,n)}}function Re(i){b.delete(i)}function nt(i,t,e){let o=b.get(i);if(t==="block"&&e?.__fields?.blockType){let n=e.__fields.blockType;return o?.get(`block:${n}`)}if(t==="inlineBlock"&&e?.__fields?.blockType){let n=e.__fields.blockType;return o?.get(`inlineBlock:${n}`)}return o?.get(t)}function qt({node:i,nodeType:t}){if(!("getType"in i)||i.getType()!==t)return;let e=i;if(e.prototype._originalDecorate||(e.prototype._originalDecorate=e.prototype.decorate),e.prototype._originalCreateDOM||(e.prototype._originalCreateDOM=e.prototype.createDOM),e.prototype.decorate&&!e.prototype._decorateOverridden){e.prototype._decorateOverridden=!0;let o=!!e.prototype.createDOM;e.prototype.decorate=function(n,r){let c=nt(n,t,this);if(c){if(c.Component)return c.Component({config:r,editor:n,isEditor:!0,isJSXConverter:!1,node:this});if(c.createDOM&&c.html){let s=typeof c.html=="function"?c.html({config:r,editor:n,isEditor:!0,isJSXConverter:!1,node:this}):c.html;return k.createElement("span",{dangerouslySetInnerHTML:{__html:s}})}if(c.html&&o&&!c.createDOM)return k.createElement(k.Fragment);if(t==="block"){let s=c;if(s.Block||s.Label)return e.prototype._originalDecorate.call(this,n,r,s.Block,s.Label)}else if(t==="inlineBlock"){let s=c;if(s.Block||s.Label)return e.prototype._originalDecorate.call(this,n,r,s.Block,s.Label)}}return e.prototype._originalDecorate.call(this,n,r)}}e.prototype.createDOM&&!e.prototype._createDOMOverridden&&(e.prototype._createDOMOverridden=!0,e.prototype.createDOM=function(o,n){let r=nt(n,t,this);if(r){if(r.createDOM)return r.createDOM({config:o,editor:n,node:this});if(r.html){let c=typeof r.html=="function"?r.html({config:o,editor:n,isEditor:!0,isJSXConverter:!1,node:this}):r.html,a=document.createElement("div");return a.innerHTML=c,a.firstElementChild||a}}return e.prototype._originalCreateDOM.call(this,o,n)})}function De({editorConfig:i,nodeViews:t}){let e=Ut({nodes:i.features.nodes});if(t){let o=new Set;for(let[n,r]of Object.entries(t))!r||typeof r!="object"||(n==="blocks"&&Object.keys(r).length>0?o.add("block"):n==="inlineBlocks"&&Object.keys(r).length>0?o.add("inlineBlock"):o.add(n));for(let n of e)if("getType"in n){let r=n.getType();o.has(r)&&qt({node:n,nodeType:r})}}return e}function Ut({nodes:i}){return i.map(t=>"node"in t?t.node:t)}export{P as a,Gt as b,oe as c,pt as d,T as e,$ as f,ye as g,jt as h,Oe as i,et as j,Me as k,Re as l,De as m};
2
- //# sourceMappingURL=chunk-X3D4LZS7.js.map
@@ -1,2 +0,0 @@
1
- "use client";import{a as E,b as U}from"./chunk-UD4DQ4AK.js";import{c as y}from"./chunk-5VIL27GI.js";import{a as L}from"./chunk-WSAPGI3Z.js";import{b as g}from"./chunk-RJ5MAOKZ.js";import{jsx as a,jsxs as f}from"react/jsx-runtime";import{useLexicalComposerContext as ae}from"@lexical/react/LexicalComposerContext.js";import{useLexicalEditable as oe}from"@lexical/react/useLexicalEditable";import{getTranslation as P}from"@payloadcms/translations";import{Button as h,formatDrawerSlug as le,Pill as se,Thumbnail as ie,useConfig as re,useEditDepth as ne,usePayloadAPI as de,useTranslation as ce}from"@payloadcms/ui";import{$getNodeByKey as T,$getSelection as ue,$isNodeSelection as me,$isRangeSelection as pe}from"lexical";import{formatAdminURL as ge,isImage as fe}from"payload/shared";import{useCallback as _,useEffect as F,useId as he,useReducer as _e,useRef as we,useState as I}from"react";var j={depth:0},Te=k=>{let{className:e,data:{fields:z,relationTo:w,value:c},format:A,nodeKey:l}=k;if(typeof c=="object")throw new Error("Upload value should be a string or number. The Lexical Upload component should not receive the populated value object.");let{config:{routes:{api:B},serverURL:K},getEntityConfig:M}=re(),b=we(null),{uuid:O}=g(),W=ne(),[s]=ae(),{editorConfig:H,fieldProps:{schemaPath:q}}=g(),u=oe(),{i18n:D,t:n}=ce(),[S,m]=I(!1),[$,G]=_e(o=>o+1,0),[i]=I(()=>M({collectionSlug:w})),J=he(),x=le({slug:"lexical-upload-drawer-"+O+J,depth:W}),{toggleDrawer:Q}=y(x,!0),{closeDocumentDrawer:C,DocumentDrawer:V,DocumentDrawerToggler:X}=L({id:c,collectionSlug:i.slug}),[{data:t},{setParams:v}]=de(ge({apiRoute:B,path:`/${i.slug}/${c}`,serverURL:K}),{initialParams:j}),N=t?.thumbnailURL||t?.url;F(()=>s.registerUpdateListener(({editorState:o})=>{o.read(()=>{let r=ue();if(me(r))m(r.has(l));else if(pe(r)){let d=r.getNodes();m(d.some(p=>p.getKey()===l))}else m(!1)})}),[s,l]),F(()=>{let o=b.current?.closest(`.${e}`);o&&o.classList.toggle(`${e}--selected`,S)},[S,e]);let Y=_(()=>{s.update(()=>{T(l)?.remove()})},[s,l]),Z=_(o=>{v({...j,cacheBust:$}),G(),C()},[v,$,C]),R=H?.resolvedFeatureMap?.get("upload")?.sanitizedClientFeatureProps.collections?.[i.slug]?.hasExtraFields,ee=_((o,r)=>{s.update(()=>{let d=T(l);if(d){let p={...d.getData(),fields:r};d.setData(p)}})},[s,l]),te=N&&t?.width&&t?.height?t.width>t.height?"landscape":"portrait":"landscape";return f("div",{className:`${e}__contents ${e}__contents--${te}`,"data-align":A||void 0,"data-filename":t?.filename,ref:b,children:[a("div",{className:`${e}__card`,children:f("div",{className:`${e}__media`,children:[a(ie,{collectionSlug:w,fileSrc:fe(t?.mimeType)?N:null,height:t?.height,size:"none",width:t?.width}),u&&f("div",{className:`${e}__floater`,"data-theme":"dark",children:[a(se,{className:`${e}__collectionLabel`,pillStyle:"dark",size:"small",children:P(i.labels.singular,D)}),a(X,{className:`${e}__doc-drawer-toggler`,children:a("span",{className:`${e}__filename`,children:t?.filename||n("general:untitled")})}),R?a(h,{buttonStyle:"ghost",className:`${e}__upload-drawer-toggler`,disabled:!u,el:"button",icon:"write",onClick:Q,round:!0,size:"medium",tooltip:n("fields:editRelationship")}):null,a("div",{className:`${e}__divider`}),a(h,{buttonStyle:"ghost",className:`${e}__swap-drawer-toggler`,disabled:!u,el:"button",icon:"swap",onClick:()=>{s.dispatchCommand(U,{replace:{nodeKey:l}})},round:!0,size:"medium",tooltip:n("fields:swapUpload")}),a(h,{buttonStyle:"ghost",className:`${e}__removeButton`,disabled:!u,icon:"x",onClick:o=>{o.preventDefault(),Y()},round:!0,size:"medium",tooltip:n("fields:removeUpload")})]})]})}),c?a(V,{onSave:Z}):null,R?a(E,{data:z,drawerSlug:x,drawerTitle:n("general:editLabel",{label:P(i.labels.singular,D)}),featureKey:"upload",handleDrawerSubmit:ee,schemaPath:q,schemaPathSuffix:i.slug}):null]})};export{Te as UploadComponent};
2
- //# sourceMappingURL=component-PHZQBOJE.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/features/upload/client/component/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport type { ClientCollectionConfig, Data, FormState, JsonObject } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n formatDrawerSlug,\n Pill,\n Thumbnail,\n useConfig,\n useEditDepth,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport {\n $getNodeByKey,\n $getSelection,\n $isNodeSelection,\n $isRangeSelection,\n type ElementFormatType,\n} from 'lexical'\nimport { formatAdminURL, isImage } from 'payload/shared'\nimport React, { useCallback, useEffect, useId, useReducer, useRef, useState } from 'react'\n\nimport type { BaseClientFeatureProps } from '../../../typesClient.js'\nimport type { UploadData } from '../../server/schema.js'\nimport type { UploadFeaturePropsClient } from '../index.js'\nimport type { UploadNode } from '../nodes/UploadNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { FieldsDrawer } from '../../../../utilities/fieldsDrawer/Drawer.js'\nimport { useLexicalDocumentDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDocumentDrawer.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { INSERT_UPLOAD_WITH_DRAWER_COMMAND } from '../drawer/commands.js'\nimport './index.css'\n\nconst initialParams = {\n depth: 0,\n}\n\nexport type ElementProps = {\n className: string\n data: UploadData\n format?: ElementFormatType\n nodeKey: string\n}\n\nexport const UploadComponent: React.FC<ElementProps> = (props) => {\n const {\n className: baseClass,\n data: { fields, relationTo, value },\n format,\n nodeKey,\n } = props\n\n if (typeof value === 'object') {\n throw new Error(\n 'Upload value should be a string or number. The Lexical Upload component should not receive the populated value object.',\n )\n }\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n const uploadRef = useRef<HTMLDivElement | null>(null)\n const { uuid } = useEditorConfigContext()\n const editDepth = useEditDepth()\n const [editor] = useLexicalComposerContext()\n\n const {\n editorConfig,\n fieldProps: { schemaPath },\n } = useEditorConfigContext()\n const isEditable = useLexicalEditable()\n const { i18n, t } = useTranslation()\n const [isSelected, setIsSelected] = useState(false)\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0)\n const [relatedCollection] = useState<ClientCollectionConfig>(() =>\n getEntityConfig({ collectionSlug: relationTo }),\n )\n\n const componentID = useId()\n\n const extraFieldsDrawerSlug = formatDrawerSlug({\n slug: `lexical-upload-drawer-` + uuid + componentID, // There can be multiple upload components, each with their own drawer, in one single editor => separate them by componentID\n depth: editDepth,\n })\n\n // Need to use hook to initialize useEffect that restores cursor position\n const { toggleDrawer } = useLexicalDrawer(extraFieldsDrawerSlug, true)\n\n const { closeDocumentDrawer, DocumentDrawer, DocumentDrawerToggler } = useLexicalDocumentDrawer({\n id: value,\n collectionSlug: relatedCollection.slug,\n })\n\n // Get the referenced document\n const [{ data }, { setParams }] = usePayloadAPI(\n formatAdminURL({ apiRoute: api, path: `/${relatedCollection.slug}/${value}`, serverURL }),\n { initialParams },\n )\n\n const thumbnailSRC = data?.thumbnailURL || data?.url\n\n useEffect(() => {\n return editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n const selection = $getSelection()\n\n if ($isNodeSelection(selection)) {\n setIsSelected(selection.has(nodeKey))\n } else if ($isRangeSelection(selection)) {\n const nodes = selection.getNodes()\n setIsSelected(nodes.some((node) => node.getKey() === nodeKey))\n } else {\n setIsSelected(false)\n }\n })\n })\n }, [editor, nodeKey])\n\n useEffect(() => {\n const outerEl = uploadRef.current?.closest(`.${baseClass}`)\n\n if (outerEl) {\n outerEl.classList.toggle(`${baseClass}--selected`, isSelected)\n }\n }, [isSelected, baseClass])\n\n const removeUpload = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const updateUpload = useCallback(\n (_data: Data) => {\n setParams({\n ...initialParams,\n cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed\n })\n\n dispatchCacheBust()\n closeDocumentDrawer()\n },\n [setParams, cacheBust, closeDocumentDrawer],\n )\n\n const hasExtraFields = (\n editorConfig?.resolvedFeatureMap?.get('upload')\n ?.sanitizedClientFeatureProps as BaseClientFeatureProps<UploadFeaturePropsClient>\n ).collections?.[relatedCollection.slug]?.hasExtraFields\n\n const onExtraFieldsDrawerSubmit = useCallback(\n (_: FormState, data: JsonObject) => {\n // Update lexical node (with key nodeKey) with new data\n editor.update(() => {\n const uploadNode: null | UploadNode = $getNodeByKey(nodeKey)\n if (uploadNode) {\n const newData: UploadData = {\n ...uploadNode.getData(),\n fields: data,\n }\n uploadNode.setData(newData)\n }\n })\n },\n [editor, nodeKey],\n )\n\n const aspectRatio =\n thumbnailSRC && data?.width && data?.height\n ? data.width > data.height\n ? 'landscape'\n : 'portrait'\n : 'landscape'\n\n return (\n <div\n className={`${baseClass}__contents ${baseClass}__contents--${aspectRatio}`}\n data-align={format || undefined}\n data-filename={data?.filename}\n ref={uploadRef}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__media`}>\n <Thumbnail\n collectionSlug={relationTo}\n fileSrc={isImage(data?.mimeType) ? thumbnailSRC : null}\n height={data?.height}\n size=\"none\"\n width={data?.width}\n />\n\n {isEditable && (\n <div className={`${baseClass}__floater`} data-theme=\"dark\">\n <Pill className={`${baseClass}__collectionLabel`} pillStyle=\"dark\" size=\"small\">\n {getTranslation(relatedCollection.labels.singular, i18n)}\n </Pill>\n\n <DocumentDrawerToggler className={`${baseClass}__doc-drawer-toggler`}>\n <span className={`${baseClass}__filename`}>\n {data?.filename || t('general:untitled')}\n </span>\n </DocumentDrawerToggler>\n\n {hasExtraFields ? (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__upload-drawer-toggler`}\n disabled={!isEditable}\n el=\"button\"\n icon=\"write\"\n onClick={toggleDrawer}\n round\n size=\"medium\"\n tooltip={t('fields:editRelationship')}\n />\n ) : null}\n\n <div className={`${baseClass}__divider`} />\n\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__swap-drawer-toggler`}\n disabled={!isEditable}\n el=\"button\"\n icon=\"swap\"\n onClick={() => {\n editor.dispatchCommand(INSERT_UPLOAD_WITH_DRAWER_COMMAND, {\n replace: { nodeKey },\n })\n }}\n round\n size=\"medium\"\n tooltip={t('fields:swapUpload')}\n />\n\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__removeButton`}\n disabled={!isEditable}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeUpload()\n }}\n round\n size=\"medium\"\n tooltip={t('fields:removeUpload')}\n />\n </div>\n )}\n </div>\n </div>\n\n {value ? <DocumentDrawer onSave={updateUpload} /> : null}\n {hasExtraFields ? (\n <FieldsDrawer\n data={fields}\n drawerSlug={extraFieldsDrawerSlug}\n drawerTitle={t('general:editLabel', {\n label: getTranslation(relatedCollection.labels.singular, i18n),\n })}\n featureKey=\"upload\"\n handleDrawerSubmit={onExtraFieldsDrawerSubmit}\n schemaPath={schemaPath}\n schemaPathSuffix={relatedCollection.slug}\n />\n ) : null}\n </div>\n )\n}\n"],
5
- "mappings": "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",
6
- "names": ["useLexicalComposerContext", "useLexicalEditable", "getTranslation", "Button", "formatDrawerSlug", "Pill", "Thumbnail", "useConfig", "useEditDepth", "usePayloadAPI", "useTranslation", "$getNodeByKey", "$getSelection", "$isNodeSelection", "$isRangeSelection", "formatAdminURL", "isImage", "useCallback", "useEffect", "useId", "useReducer", "useRef", "useState", "initialParams", "UploadComponent", "props", "baseClass", "className", "data", "fields", "relationTo", "format", "nodeKey", "value", "config", "routes", "serverURL", "getEntityConfig", "useConfig", "useRef", "uploadRef", "uuid", "useEditorConfigContext", "editDepth", "useLexicalComposerContext", "editorConfig", "fieldProps", "isEditable", "i18n", "t", "useTranslation", "setIsSelected", "useState", "isSelected", "dispatchCacheBust", "state", "cacheBust", "useReducer", "relatedCollection", "collectionSlug", "componentID", "useId", "formatDrawerSlug", "extraFieldsDrawerSlug", "slug", "toggleDrawer", "useLexicalDrawer", "closeDocumentDrawer", "DocumentDrawer", "DocumentDrawerToggler", "useLexicalDocumentDrawer", "id", "setParams", "usePayloadAPI", "apiRoute", "api", "path", "thumbnailSRC", "useEffect", "editor", "editorState", "$getSelection", "$isNodeSelection", "selection", "nodes", "$isRangeSelection", "getNodes", "node", "outerEl", "removeUpload", "useCallback", "_data", "updateUpload", "hasExtraFields", "resolvedFeatureMap", "update", "$getNodeByKey", "uploadNode", "newData", "aspectRatio", "ref", "_jsx", "_jsxs", "Thumbnail", "fileSrc", "isImage", "height", "size", "width", "Pill", "pillStyle", "getTranslation", "labels", "buttonStyle", "disabled", "el", "icon", "onClick", "round", "tooltip", "INSERT_UPLOAD_WITH_DRAWER_COMMAND", "dispatchCommand", "replace", "Button", "e", "preventDefault", "onSave", "drawerSlug", "drawerTitle", "featureKey", "onExtraFieldsDrawerSubmit", "handleDrawerSubmit", "schemaPath", "schemaPathSuffix"]
7
- }
@@ -1,2 +0,0 @@
1
- "use client";import{a,b}from"./chunk-ESITTE3C.js";import"./chunk-5VIL27GI.js";import"./chunk-RJ5MAOKZ.js";export{b as InlineBlockComponent,a as useInlineBlockComponentContext};
2
- //# sourceMappingURL=componentInline-H24N7GUG.js.map
@@ -1,11 +0,0 @@
1
- import type { FormState } from 'payload';
2
- /**
3
- * By default, if an array field is empty, it will be included in the form state with a value of 0.
4
- * We do not need this behavior here, By setting `disableFormData` to true, we can prevent the field from being included in the form state
5
- * like that.
6
- * @param fields form state
7
- */
8
- export declare function removeEmptyArrayValues({ fields }: {
9
- fields: FormState;
10
- }): FormState;
11
- //# sourceMappingURL=removeEmptyArrayValues.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeEmptyArrayValues.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/component/removeEmptyArrayValues.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAQnF"}
@@ -1,20 +0,0 @@
1
- 'use client';
2
-
3
- /**
4
- * By default, if an array field is empty, it will be included in the form state with a value of 0.
5
- * We do not need this behavior here, By setting `disableFormData` to true, we can prevent the field from being included in the form state
6
- * like that.
7
- * @param fields form state
8
- */
9
- export function removeEmptyArrayValues({
10
- fields
11
- }) {
12
- for (const key in fields) {
13
- const field = fields[key];
14
- if (Array.isArray(field?.rows) && 'value' in field) {
15
- field.disableFormData = true;
16
- }
17
- }
18
- return fields;
19
- }
20
- //# sourceMappingURL=removeEmptyArrayValues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeEmptyArrayValues.js","names":["removeEmptyArrayValues","fields","key","field","Array","isArray","rows","disableFormData"],"sources":["../../../../../src/features/blocks/client/component/removeEmptyArrayValues.ts"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\n/**\n * By default, if an array field is empty, it will be included in the form state with a value of 0.\n * We do not need this behavior here, By setting `disableFormData` to true, we can prevent the field from being included in the form state\n * like that.\n * @param fields form state\n */\nexport function removeEmptyArrayValues({ fields }: { fields: FormState }): FormState {\n for (const key in fields) {\n const field = fields[key]\n if (Array.isArray(field?.rows) && 'value' in field) {\n field.disableFormData = true\n }\n }\n return fields\n}\n"],"mappings":"AAAA;;AAGA;;;;;;AAMA,OAAO,SAASA,uBAAuB;EAAEC;AAAM,CAAyB;EACtE,KAAK,MAAMC,GAAA,IAAOD,MAAA,EAAQ;IACxB,MAAME,KAAA,GAAQF,MAAM,CAACC,GAAA,CAAI;IACzB,IAAIE,KAAA,CAAMC,OAAO,CAACF,KAAA,EAAOG,IAAA,KAAS,WAAWH,KAAA,EAAO;MAClDA,KAAA,CAAMI,eAAe,GAAG;IAC1B;EACF;EACA,OAAON,MAAA;AACT","ignoreList":[]}
@@ -1,180 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { convertLexicalToPlaintext } from './sync/index.js';
3
- function textNode(text, bold) {
4
- return {
5
- type: 'text',
6
- detail: 0,
7
- format: bold ? 1 : 0,
8
- mode: 'normal',
9
- style: '',
10
- text,
11
- version: 1
12
- };
13
- }
14
- function linebreakNode() {
15
- return {
16
- type: 'linebreak',
17
- version: 1
18
- };
19
- }
20
- function tabNode() {
21
- return {
22
- type: 'tab',
23
- detail: 0,
24
- format: 0,
25
- mode: 'normal',
26
- style: '',
27
- text: '',
28
- version: 1
29
- };
30
- }
31
- function paragraphNode(children) {
32
- return {
33
- type: 'paragraph',
34
- children,
35
- direction: 'ltr',
36
- format: '',
37
- indent: 0,
38
- textFormat: 0,
39
- version: 1
40
- };
41
- }
42
- function headingNode(children) {
43
- return {
44
- type: 'heading',
45
- children,
46
- direction: 'ltr',
47
- format: '',
48
- indent: 0,
49
- textFormat: 0,
50
- tag: 'h1',
51
- version: 1
52
- };
53
- }
54
- function listItemNode(children) {
55
- return {
56
- type: 'listitem',
57
- children,
58
- checked: false,
59
- direction: 'ltr',
60
- format: '',
61
- indent: 0,
62
- value: 0,
63
- version: 1
64
- };
65
- }
66
- function listNode(children) {
67
- return {
68
- type: 'list',
69
- children,
70
- direction: 'ltr',
71
- format: '',
72
- indent: 0,
73
- listType: 'bullet',
74
- start: 0,
75
- tag: 'ul',
76
- version: 1
77
- };
78
- }
79
- function tableNode(children) {
80
- return {
81
- type: 'table',
82
- children,
83
- direction: 'ltr',
84
- format: '',
85
- indent: 0,
86
- version: 1
87
- };
88
- }
89
- function tableRowNode(children) {
90
- return {
91
- type: 'tablerow',
92
- children,
93
- direction: 'ltr',
94
- format: '',
95
- indent: 0,
96
- version: 1
97
- };
98
- }
99
- function tableCellNode(children) {
100
- return {
101
- type: 'tablecell',
102
- children,
103
- direction: 'ltr',
104
- format: '',
105
- indent: 0,
106
- headerState: 0,
107
- version: 1
108
- };
109
- }
110
- function rootNode(nodes) {
111
- return {
112
- root: {
113
- type: 'root',
114
- children: nodes,
115
- direction: 'ltr',
116
- format: '',
117
- indent: 0,
118
- version: 1
119
- }
120
- };
121
- }
122
- describe('convertLexicalToPlaintext', () => {
123
- it('ensure paragraph with text is correctly converted', () => {
124
- const data = rootNode([paragraphNode([textNode('Basic Text')])]);
125
- const plaintext = convertLexicalToPlaintext({
126
- data
127
- });
128
- expect(plaintext).toBe('Basic Text');
129
- });
130
- it('ensure paragraph with multiple text nodes is correctly converted', () => {
131
- const data = rootNode([paragraphNode([textNode('Basic Text'), textNode(' Bold', true), textNode(' Text')])]);
132
- const plaintext = convertLexicalToPlaintext({
133
- data
134
- });
135
- expect(plaintext).toBe('Basic Text Bold Text');
136
- });
137
- it('ensure linebreaks are converted correctly', () => {
138
- const data = rootNode([paragraphNode([textNode('Basic Text'), linebreakNode(), textNode('Next Line')])]);
139
- const plaintext = convertLexicalToPlaintext({
140
- data
141
- });
142
- expect(plaintext).toBe('Basic Text\nNext Line');
143
- });
144
- it('ensure tabs are converted correctly', () => {
145
- const data = rootNode([paragraphNode([textNode('Basic Text'), tabNode(), textNode('Next Line')])]);
146
- const plaintext = convertLexicalToPlaintext({
147
- data
148
- });
149
- expect(plaintext).toBe('Basic Text\tNext Line');
150
- });
151
- it('ensure new lines are added between paragraphs', () => {
152
- const data = rootNode([paragraphNode([textNode('Basic text')]), paragraphNode([textNode('Next block-node')])]);
153
- const plaintext = convertLexicalToPlaintext({
154
- data
155
- });
156
- expect(plaintext).toBe('Basic text\n\nNext block-node');
157
- });
158
- it('ensure new lines are added between heading nodes', () => {
159
- const data = rootNode([headingNode([textNode('Basic text')]), headingNode([textNode('Next block-node')])]);
160
- const plaintext = convertLexicalToPlaintext({
161
- data
162
- });
163
- expect(plaintext).toBe('Basic text\n\nNext block-node');
164
- });
165
- it('ensure new lines are added between list items and lists', () => {
166
- const data = rootNode([listNode([listItemNode([textNode('First item')]), listItemNode([textNode('Second item')])]), listNode([listItemNode([textNode('Next list')])])]);
167
- const plaintext = convertLexicalToPlaintext({
168
- data
169
- });
170
- expect(plaintext).toBe('First item\nSecond item\n\nNext list');
171
- });
172
- it('ensure new lines are added between tables, table rows, and table cells', () => {
173
- const data = rootNode([tableNode([tableRowNode([tableCellNode([textNode('Cell 1, Row 1')]), tableCellNode([textNode('Cell 2, Row 1')])]), tableRowNode([tableCellNode([textNode('Cell 1, Row 2')]), tableCellNode([textNode('Cell 2, Row 2')])])]), tableNode([tableRowNode([tableCellNode([textNode('Cell in Table 2')])])])]);
174
- const plaintext = convertLexicalToPlaintext({
175
- data
176
- });
177
- expect(plaintext).toBe('Cell 1, Row 1 | Cell 2, Row 1\nCell 1, Row 2 | Cell 2, Row 2\n\nCell in Table 2');
178
- });
179
- });
180
- //# sourceMappingURL=convertLexicalToPlaintext.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convertLexicalToPlaintext.spec.js","names":["describe","it","expect","convertLexicalToPlaintext","textNode","text","bold","type","detail","format","mode","style","version","linebreakNode","tabNode","paragraphNode","children","direction","indent","textFormat","headingNode","tag","listItemNode","checked","value","listNode","listType","start","tableNode","tableRowNode","tableCellNode","headerState","rootNode","nodes","root","data","plaintext","toBe"],"sources":["../../../../src/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport type {\n DefaultNodeTypes,\n DefaultTypedEditorState,\n SerializedTabNode,\n SerializedParagraphNode,\n SerializedTextNode,\n SerializedLineBreakNode,\n SerializedHeadingNode,\n SerializedListItemNode,\n SerializedListNode,\n SerializedTableRowNode,\n SerializedTableNode,\n SerializedTableCellNode,\n} from '../../../types/nodeTypes.js'\nimport { convertLexicalToPlaintext } from './sync/index.js'\n\nfunction textNode(text: string, bold?: boolean): SerializedTextNode {\n return {\n type: 'text',\n detail: 0,\n format: bold ? 1 : 0,\n mode: 'normal',\n style: '',\n text,\n version: 1,\n }\n}\n\nfunction linebreakNode(): SerializedLineBreakNode {\n return {\n type: 'linebreak',\n version: 1,\n }\n}\n\nfunction tabNode(): SerializedTabNode {\n return {\n type: 'tab',\n detail: 0,\n format: 0,\n mode: 'normal',\n style: '',\n text: '',\n version: 1,\n }\n}\n\nfunction paragraphNode(children: DefaultNodeTypes[]): SerializedParagraphNode {\n return {\n type: 'paragraph',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n textFormat: 0,\n version: 1,\n }\n}\n\nfunction headingNode(children: DefaultNodeTypes[]): SerializedHeadingNode {\n return {\n type: 'heading',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n textFormat: 0,\n tag: 'h1',\n version: 1,\n }\n}\n\nfunction listItemNode(children: DefaultNodeTypes[]): SerializedListItemNode {\n return {\n type: 'listitem',\n children,\n checked: false,\n direction: 'ltr',\n format: '',\n indent: 0,\n value: 0,\n version: 1,\n }\n}\n\nfunction listNode(children: DefaultNodeTypes[]): SerializedListNode {\n return {\n type: 'list',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n listType: 'bullet',\n start: 0,\n tag: 'ul',\n version: 1,\n }\n}\n\nfunction tableNode(children: (DefaultNodeTypes | SerializedTableRowNode)[]): SerializedTableNode {\n return {\n type: 'table',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n version: 1,\n }\n}\n\nfunction tableRowNode(\n children: (DefaultNodeTypes | SerializedTableCellNode)[],\n): SerializedTableRowNode {\n return {\n type: 'tablerow',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n version: 1,\n }\n}\n\nfunction tableCellNode(children: DefaultNodeTypes[]): SerializedTableCellNode {\n return {\n type: 'tablecell',\n children,\n direction: 'ltr',\n format: '',\n indent: 0,\n headerState: 0,\n version: 1,\n }\n}\n\nfunction rootNode(nodes: (DefaultNodeTypes | SerializedTableNode)[]): DefaultTypedEditorState {\n return {\n root: {\n type: 'root',\n children: nodes,\n direction: 'ltr',\n format: '',\n indent: 0,\n version: 1,\n },\n }\n}\n\ndescribe('convertLexicalToPlaintext', () => {\n it('ensure paragraph with text is correctly converted', () => {\n const data: DefaultTypedEditorState = rootNode([paragraphNode([textNode('Basic Text')])])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text')\n })\n\n it('ensure paragraph with multiple text nodes is correctly converted', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), textNode(' Bold', true), textNode(' Text')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text Bold Text')\n })\n\n it('ensure linebreaks are converted correctly', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), linebreakNode(), textNode('Next Line')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text\\nNext Line')\n })\n\n it('ensure tabs are converted correctly', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic Text'), tabNode(), textNode('Next Line')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic Text\\tNext Line')\n })\n\n it('ensure new lines are added between paragraphs', () => {\n const data: DefaultTypedEditorState = rootNode([\n paragraphNode([textNode('Basic text')]),\n paragraphNode([textNode('Next block-node')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic text\\n\\nNext block-node')\n })\n\n it('ensure new lines are added between heading nodes', () => {\n const data: DefaultTypedEditorState = rootNode([\n headingNode([textNode('Basic text')]),\n headingNode([textNode('Next block-node')]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('Basic text\\n\\nNext block-node')\n })\n\n it('ensure new lines are added between list items and lists', () => {\n const data: DefaultTypedEditorState = rootNode([\n listNode([listItemNode([textNode('First item')]), listItemNode([textNode('Second item')])]),\n listNode([listItemNode([textNode('Next list')])]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe('First item\\nSecond item\\n\\nNext list')\n })\n\n it('ensure new lines are added between tables, table rows, and table cells', () => {\n const data: DefaultTypedEditorState = rootNode([\n tableNode([\n tableRowNode([\n tableCellNode([textNode('Cell 1, Row 1')]),\n tableCellNode([textNode('Cell 2, Row 1')]),\n ]),\n tableRowNode([\n tableCellNode([textNode('Cell 1, Row 2')]),\n tableCellNode([textNode('Cell 2, Row 2')]),\n ]),\n ]),\n tableNode([tableRowNode([tableCellNode([textNode('Cell in Table 2')])])]),\n ])\n\n const plaintext = convertLexicalToPlaintext({\n data,\n })\n\n expect(plaintext).toBe(\n 'Cell 1, Row 1 | Cell 2, Row 1\\nCell 1, Row 2 | Cell 2, Row 2\\n\\nCell in Table 2',\n )\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/experimental_table/client/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,kBAAkB,8EAmD7B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["TableCellNode","TableNode","TableRowNode","TableIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarAddDropdownGroupWithItems","PAYLOAD_TABLE","TableActionMenuPlugin","TableCellResizerPlugin","TableHoverActionsPlugin","OPEN_TABLE_DRAWER_COMMAND","TableContext","TablePlugin","TableFeatureClient","markdownTransformers","nodes","plugins","Component","position","providers","slashMenu","groups","Icon","key","keywords","label","onSelect","editor","dispatchCommand","toolbarFixed","ChildComponent"],"sources":["../../../../src/features/experimental_table/client/index.ts"],"sourcesContent":["'use client'\n\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\n\nimport { TableIcon } from '../../../lexical/ui/icons/Table/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../../shared/slashMenu/basicGroup.js'\nimport { toolbarAddDropdownGroupWithItems } from '../../shared/toolbar/addDropdownGroup.js'\nimport { PAYLOAD_TABLE } from '../markdownTransformer.js'\nimport { TableActionMenuPlugin } from './plugins/TableActionMenuPlugin/index.js'\nimport { TableCellResizerPlugin } from './plugins/TableCellResizerPlugin/index.js'\nimport { TableHoverActionsPlugin } from './plugins/TableHoverActionsPlugin/index.js'\nimport {\n OPEN_TABLE_DRAWER_COMMAND,\n TableContext,\n TablePlugin,\n} from './plugins/TablePlugin/index.js'\n\nexport const TableFeatureClient = createClientFeature({\n markdownTransformers: [PAYLOAD_TABLE],\n nodes: [TableNode, TableCellNode, TableRowNode],\n plugins: [\n {\n Component: TablePlugin,\n position: 'normal',\n },\n {\n Component: TableCellResizerPlugin,\n position: 'normal',\n },\n {\n Component: TableActionMenuPlugin,\n position: 'floatingAnchorElem',\n },\n {\n Component: TableHoverActionsPlugin,\n position: 'floatingAnchorElem',\n },\n ],\n providers: [TableContext],\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: TableIcon,\n key: 'table',\n keywords: ['table'],\n label: 'Table',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {})\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: [\n toolbarAddDropdownGroupWithItems([\n {\n ChildComponent: TableIcon,\n key: 'table',\n label: 'Table',\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_TABLE_DRAWER_COMMAND, {})\n },\n },\n ]),\n ],\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,aAAa,EAAEC,SAAS,EAAEC,YAAY,QAAQ;AAEvD,SAASC,SAAS,QAAQ;AAC1B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,gCAAgC,QAAQ;AACjD,SAASC,aAAa,QAAQ;AAC9B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,uBAAuB,QAAQ;AACxC,SACEC,yBAAyB,EACzBC,YAAY,EACZC,WAAW,QACN;AAEP,OAAO,MAAMC,kBAAA,GAAqBV,mBAAA,CAAoB;EACpDW,oBAAA,EAAsB,CAACR,aAAA,CAAc;EACrCS,KAAA,EAAO,CAACf,SAAA,EAAWD,aAAA,EAAeE,YAAA,CAAa;EAC/Ce,OAAA,EAAS,CACP;IACEC,SAAA,EAAWL,WAAA;IACXM,QAAA,EAAU;EACZ,GACA;IACED,SAAA,EAAWT,sBAAA;IACXU,QAAA,EAAU;EACZ,GACA;IACED,SAAA,EAAWV,qBAAA;IACXW,QAAA,EAAU;EACZ,GACA;IACED,SAAA,EAAWR,uBAAA;IACXS,QAAA,EAAU;EACZ,EACD;EACDC,SAAA,EAAW,CAACR,YAAA,CAAa;EACzBS,SAAA,EAAW;IACTC,MAAA,EAAQ,CACNjB,4BAAA,CAA6B,CAC3B;MACEkB,IAAA,EAAMpB,SAAA;MACNqB,GAAA,EAAK;MACLC,QAAA,EAAU,CAAC,QAAQ;MACnBC,KAAA,EAAO;MACPC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAAClB,yBAAA,EAA2B,CAAC;MACrD;IACF,EACD;EAEL;EACAmB,YAAA,EAAc;IACZR,MAAA,EAAQ,CACNhB,gCAAA,CAAiC,CAC/B;MACEyB,cAAA,EAAgB5B,SAAA;MAChBqB,GAAA,EAAK;MACLE,KAAA,EAAO;MACPC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAAClB,yBAAA,EAA2B,CAAC;MACrD;IACF,EACD;EAEL;AACF","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/experimental_table/client/plugins/TableActionMenuPlugin/index.tsx"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAE3E,OAAO,aAAa,CAAA;AA6oBpB,eAAO,MAAM,qBAAqB,EAAE,yBAQnC,CAAA"}