@payloadcms/richtext-lexical 3.0.0-canary.3bd3027 → 3.0.0-canary.483db21

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 (734) hide show
  1. package/dist/cell/index.d.ts +2 -2
  2. package/dist/cell/index.d.ts.map +1 -1
  3. package/dist/cell/index.js +2 -2
  4. package/dist/cell/index.js.map +1 -1
  5. package/dist/exports/client/Field-5GGTGCKC.js +2 -0
  6. package/dist/exports/client/Field-5GGTGCKC.js.map +7 -0
  7. package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js +2 -0
  8. package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js.map +7 -0
  9. package/dist/exports/client/bundled.css +1 -1
  10. package/dist/exports/client/{chunk-OSR74ZNW.js → chunk-6QXGZYUK.js} +2 -2
  11. package/dist/exports/client/chunk-6QXGZYUK.js.map +7 -0
  12. package/dist/exports/client/chunk-EBB2CEB6.js +2 -0
  13. package/dist/exports/client/chunk-EBB2CEB6.js.map +7 -0
  14. package/dist/exports/client/chunk-IPCJ5EVK.js +2 -0
  15. package/dist/exports/client/chunk-IPCJ5EVK.js.map +7 -0
  16. package/dist/exports/client/{chunk-3K3B6PJM.js → chunk-IWZVO3AI.js} +2 -2
  17. package/dist/exports/client/chunk-IWZVO3AI.js.map +7 -0
  18. package/dist/exports/client/{chunk-MLIITFAS.js → chunk-Q5DYR7MH.js} +2 -2
  19. package/dist/exports/client/chunk-Q5DYR7MH.js.map +7 -0
  20. package/dist/exports/client/chunk-VUVXZJJR.js +2 -0
  21. package/dist/exports/client/chunk-VUVXZJJR.js.map +7 -0
  22. package/dist/exports/client/component-D4GWDXK5.js +2 -0
  23. package/dist/exports/client/component-D4GWDXK5.js.map +7 -0
  24. package/dist/exports/client/component-KA7FDRMA.js +2 -0
  25. package/dist/exports/client/component-KA7FDRMA.js.map +7 -0
  26. package/dist/exports/client/{component-QWIGEOVD.js → component-VM36FRT2.js} +2 -2
  27. package/dist/exports/client/componentInline-6EKPZSCV.js +2 -0
  28. package/dist/exports/client/componentInline-6EKPZSCV.js.map +7 -0
  29. package/dist/exports/client/index.d.ts +17 -6
  30. package/dist/exports/client/index.d.ts.map +1 -1
  31. package/dist/exports/client/index.js +8 -6
  32. package/dist/exports/client/index.js.map +4 -4
  33. package/dist/features/align/feature.client.js.map +1 -1
  34. package/dist/features/align/feature.server.d.ts +1 -1
  35. package/dist/features/align/feature.server.d.ts.map +1 -1
  36. package/dist/features/align/feature.server.js.map +1 -1
  37. package/dist/features/align/i18n.js.map +1 -1
  38. package/dist/features/align/toolbarAlignGroup.js.map +1 -1
  39. package/dist/features/blockquote/feature.client.js.map +1 -1
  40. package/dist/features/blockquote/feature.server.d.ts +6 -1
  41. package/dist/features/blockquote/feature.server.d.ts.map +1 -1
  42. package/dist/features/blockquote/feature.server.js +5 -2
  43. package/dist/features/blockquote/feature.server.js.map +1 -1
  44. package/dist/features/blockquote/i18n.js.map +1 -1
  45. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  46. package/dist/features/blocks/component/BlockContent.d.ts +5 -5
  47. package/dist/features/blocks/component/BlockContent.d.ts.map +1 -1
  48. package/dist/features/blocks/component/BlockContent.js +7 -4
  49. package/dist/features/blocks/component/BlockContent.js.map +1 -1
  50. package/dist/features/blocks/component/FormSavePlugin.js +1 -1
  51. package/dist/features/blocks/component/FormSavePlugin.js.map +1 -1
  52. package/dist/features/blocks/component/index.d.ts +0 -4
  53. package/dist/features/blocks/component/index.d.ts.map +1 -1
  54. package/dist/features/blocks/component/index.js +10 -6
  55. package/dist/features/blocks/component/index.js.map +1 -1
  56. package/dist/features/blocks/component/removeEmptyArrayValues.js.map +1 -1
  57. package/dist/features/blocks/componentInline/index.d.ts +10 -0
  58. package/dist/features/blocks/componentInline/index.d.ts.map +1 -0
  59. package/dist/features/blocks/componentInline/index.js +133 -0
  60. package/dist/features/blocks/componentInline/index.js.map +1 -0
  61. package/dist/features/blocks/feature.client.d.ts +6 -2
  62. package/dist/features/blocks/feature.client.d.ts.map +1 -1
  63. package/dist/features/blocks/feature.client.js +70 -8
  64. package/dist/features/blocks/feature.client.js.map +1 -1
  65. package/dist/features/blocks/feature.server.d.ts +3 -2
  66. package/dist/features/blocks/feature.server.d.ts.map +1 -1
  67. package/dist/features/blocks/feature.server.js +100 -45
  68. package/dist/features/blocks/feature.server.js.map +1 -1
  69. package/dist/features/blocks/graphQLPopulationPromise.d.ts +4 -3
  70. package/dist/features/blocks/graphQLPopulationPromise.d.ts.map +1 -1
  71. package/dist/features/blocks/graphQLPopulationPromise.js +2 -2
  72. package/dist/features/blocks/graphQLPopulationPromise.js.map +1 -1
  73. package/dist/features/blocks/i18n.d.ts.map +1 -1
  74. package/dist/features/blocks/i18n.js +192 -0
  75. package/dist/features/blocks/i18n.js.map +1 -1
  76. package/dist/features/blocks/nodes/BlocksNode.d.ts +7 -5
  77. package/dist/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
  78. package/dist/features/blocks/nodes/BlocksNode.js +3 -3
  79. package/dist/features/blocks/nodes/BlocksNode.js.map +1 -1
  80. package/dist/features/blocks/nodes/InlineBlocksNode.d.ts +39 -0
  81. package/dist/features/blocks/nodes/InlineBlocksNode.d.ts.map +1 -0
  82. package/dist/features/blocks/nodes/InlineBlocksNode.js +94 -0
  83. package/dist/features/blocks/nodes/InlineBlocksNode.js.map +1 -0
  84. package/dist/features/blocks/plugin/commands.d.ts +5 -0
  85. package/dist/features/blocks/plugin/commands.d.ts.map +1 -1
  86. package/dist/features/blocks/plugin/commands.js +2 -0
  87. package/dist/features/blocks/plugin/commands.js.map +1 -1
  88. package/dist/features/blocks/plugin/index.d.ts +1 -1
  89. package/dist/features/blocks/plugin/index.d.ts.map +1 -1
  90. package/dist/features/blocks/plugin/index.js +76 -7
  91. package/dist/features/blocks/plugin/index.js.map +1 -1
  92. package/dist/features/blocks/validate.d.ts +4 -3
  93. package/dist/features/blocks/validate.d.ts.map +1 -1
  94. package/dist/features/blocks/validate.js +4 -3
  95. package/dist/features/blocks/validate.js.map +1 -1
  96. package/dist/features/converters/html/converter/converters/linebreak.js.map +1 -1
  97. package/dist/features/converters/html/converter/converters/paragraph.d.ts.map +1 -1
  98. package/dist/features/converters/html/converter/converters/paragraph.js +5 -2
  99. package/dist/features/converters/html/converter/converters/paragraph.js.map +1 -1
  100. package/dist/features/converters/html/converter/converters/text.js.map +1 -1
  101. package/dist/features/converters/html/converter/defaultConverters.js.map +1 -1
  102. package/dist/features/converters/html/converter/index.d.ts +8 -2
  103. package/dist/features/converters/html/converter/index.d.ts.map +1 -1
  104. package/dist/features/converters/html/converter/index.js +14 -5
  105. package/dist/features/converters/html/converter/index.js.map +1 -1
  106. package/dist/features/converters/html/converter/types.d.ts +7 -4
  107. package/dist/features/converters/html/converter/types.d.ts.map +1 -1
  108. package/dist/features/converters/html/converter/types.js.map +1 -1
  109. package/dist/features/converters/html/feature.server.d.ts +3 -3
  110. package/dist/features/converters/html/feature.server.d.ts.map +1 -1
  111. package/dist/features/converters/html/feature.server.js.map +1 -1
  112. package/dist/features/converters/html/field/index.d.ts.map +1 -1
  113. package/dist/features/converters/html/field/index.js +5 -2
  114. package/dist/features/converters/html/field/index.js.map +1 -1
  115. package/dist/features/createClientComponent.d.ts +2 -1
  116. package/dist/features/createClientComponent.d.ts.map +1 -1
  117. package/dist/features/createClientComponent.js.map +1 -1
  118. package/dist/features/createFeaturePropComponent.js +1 -1
  119. package/dist/features/createFeaturePropComponent.js.map +1 -1
  120. package/dist/features/debug/testRecorder/feature.client.js.map +1 -1
  121. package/dist/features/debug/testRecorder/feature.server.d.ts +1 -1
  122. package/dist/features/debug/testRecorder/feature.server.d.ts.map +1 -1
  123. package/dist/features/debug/testRecorder/feature.server.js.map +1 -1
  124. package/dist/features/debug/testRecorder/plugin/index.d.ts +1 -1
  125. package/dist/features/debug/testRecorder/plugin/index.d.ts.map +1 -1
  126. package/dist/features/debug/testRecorder/plugin/index.js.map +1 -1
  127. package/dist/features/debug/treeView/feature.client.js.map +1 -1
  128. package/dist/features/debug/treeView/feature.server.d.ts +1 -1
  129. package/dist/features/debug/treeView/feature.server.d.ts.map +1 -1
  130. package/dist/features/debug/treeView/feature.server.js.map +1 -1
  131. package/dist/features/debug/treeView/plugin/index.d.ts +1 -1
  132. package/dist/features/debug/treeView/plugin/index.d.ts.map +1 -1
  133. package/dist/features/debug/treeView/plugin/index.js.map +1 -1
  134. package/dist/features/experimental_table/feature.client.d.ts +2 -0
  135. package/dist/features/experimental_table/feature.client.d.ts.map +1 -0
  136. package/dist/features/experimental_table/feature.client.js +71 -0
  137. package/dist/features/experimental_table/feature.client.js.map +1 -0
  138. package/dist/features/experimental_table/feature.server.d.ts +13 -0
  139. package/dist/features/experimental_table/feature.server.d.ts.map +1 -0
  140. package/dist/features/experimental_table/feature.server.js +125 -0
  141. package/dist/features/experimental_table/feature.server.js.map +1 -0
  142. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.d.ts +4 -0
  143. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  144. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.js +604 -0
  145. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.js.map +1 -0
  146. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.d.ts +3 -0
  147. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  148. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.js +327 -0
  149. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.js.map +1 -0
  150. package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.d.ts +12 -0
  151. package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  152. package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.js +181 -0
  153. package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  154. package/dist/features/experimental_table/plugins/TablePlugin/index.d.ts +24 -0
  155. package/dist/features/experimental_table/plugins/TablePlugin/index.d.ts.map +1 -0
  156. package/dist/features/experimental_table/plugins/TablePlugin/index.js +98 -0
  157. package/dist/features/experimental_table/plugins/TablePlugin/index.js.map +1 -0
  158. package/dist/features/experimental_table/utils/debounce.d.ts +61 -0
  159. package/dist/features/experimental_table/utils/debounce.d.ts.map +1 -0
  160. package/dist/features/experimental_table/utils/debounce.js +202 -0
  161. package/dist/features/experimental_table/utils/debounce.js.map +1 -0
  162. package/dist/features/experimental_table/utils/useDebounce.d.ts +6 -0
  163. package/dist/features/experimental_table/utils/useDebounce.d.ts.map +1 -0
  164. package/dist/features/experimental_table/utils/useDebounce.js +18 -0
  165. package/dist/features/experimental_table/utils/useDebounce.js.map +1 -0
  166. package/dist/features/format/bold/feature.client.js.map +1 -1
  167. package/dist/features/format/bold/feature.server.d.ts +1 -1
  168. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  169. package/dist/features/format/bold/feature.server.js.map +1 -1
  170. package/dist/features/format/bold/markdownTransformers.js.map +1 -1
  171. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  172. package/dist/features/format/inlineCode/feature.server.d.ts +1 -1
  173. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  174. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  175. package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
  176. package/dist/features/format/italic/feature.client.js.map +1 -1
  177. package/dist/features/format/italic/feature.server.d.ts +1 -1
  178. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  179. package/dist/features/format/italic/feature.server.js.map +1 -1
  180. package/dist/features/format/italic/markdownTransformers.js.map +1 -1
  181. package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
  182. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  183. package/dist/features/format/strikethrough/feature.server.d.ts +1 -1
  184. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  185. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  186. package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
  187. package/dist/features/format/subscript/feature.client.js.map +1 -1
  188. package/dist/features/format/subscript/feature.server.d.ts +1 -1
  189. package/dist/features/format/subscript/feature.server.d.ts.map +1 -1
  190. package/dist/features/format/subscript/feature.server.js.map +1 -1
  191. package/dist/features/format/superscript/feature.client.js.map +1 -1
  192. package/dist/features/format/superscript/feature.server.d.ts +1 -1
  193. package/dist/features/format/superscript/feature.server.d.ts.map +1 -1
  194. package/dist/features/format/superscript/feature.server.js.map +1 -1
  195. package/dist/features/format/underline/feature.client.js.map +1 -1
  196. package/dist/features/format/underline/feature.server.d.ts +1 -1
  197. package/dist/features/format/underline/feature.server.d.ts.map +1 -1
  198. package/dist/features/format/underline/feature.server.js.map +1 -1
  199. package/dist/features/heading/feature.client.js.map +1 -1
  200. package/dist/features/heading/feature.server.d.ts +6 -2
  201. package/dist/features/heading/feature.server.d.ts.map +1 -1
  202. package/dist/features/heading/feature.server.js +5 -2
  203. package/dist/features/heading/feature.server.js.map +1 -1
  204. package/dist/features/heading/i18n.js +2 -2
  205. package/dist/features/heading/i18n.js.map +1 -1
  206. package/dist/features/heading/markdownTransformer.js.map +1 -1
  207. package/dist/features/horizontalRule/component/index.js.map +1 -1
  208. package/dist/features/horizontalRule/feature.client.js.map +1 -1
  209. package/dist/features/horizontalRule/feature.server.d.ts +1 -1
  210. package/dist/features/horizontalRule/feature.server.d.ts.map +1 -1
  211. package/dist/features/horizontalRule/feature.server.js.map +1 -1
  212. package/dist/features/horizontalRule/i18n.js.map +1 -1
  213. package/dist/features/horizontalRule/markdownTransformer.js.map +1 -1
  214. package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts +5 -2
  215. package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts.map +1 -1
  216. package/dist/features/horizontalRule/nodes/HorizontalRuleNode.js.map +1 -1
  217. package/dist/features/horizontalRule/plugin/index.d.ts +1 -1
  218. package/dist/features/horizontalRule/plugin/index.d.ts.map +1 -1
  219. package/dist/features/horizontalRule/plugin/index.js.map +1 -1
  220. package/dist/features/indent/feature.client.js.map +1 -1
  221. package/dist/features/indent/feature.server.d.ts +1 -1
  222. package/dist/features/indent/feature.server.d.ts.map +1 -1
  223. package/dist/features/indent/feature.server.js.map +1 -1
  224. package/dist/features/indent/i18n.js.map +1 -1
  225. package/dist/features/indent/toolbarIndentGroup.js.map +1 -1
  226. package/dist/features/link/drawer/baseFields.d.ts +2 -2
  227. package/dist/features/link/drawer/baseFields.d.ts.map +1 -1
  228. package/dist/features/link/drawer/baseFields.js.map +1 -1
  229. package/dist/features/link/feature.client.d.ts +2 -2
  230. package/dist/features/link/feature.client.js.map +1 -1
  231. package/dist/features/link/feature.server.d.ts +6 -6
  232. package/dist/features/link/feature.server.d.ts.map +1 -1
  233. package/dist/features/link/feature.server.js +12 -16
  234. package/dist/features/link/feature.server.js.map +1 -1
  235. package/dist/features/link/graphQLPopulationPromise.d.ts +1 -1
  236. package/dist/features/link/graphQLPopulationPromise.d.ts.map +1 -1
  237. package/dist/features/link/graphQLPopulationPromise.js.map +1 -1
  238. package/dist/features/link/i18n.js.map +1 -1
  239. package/dist/features/link/markdownTransformer.js.map +1 -1
  240. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  241. package/dist/features/link/nodes/AutoLinkNode.js +7 -1
  242. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  243. package/dist/features/link/nodes/LinkNode.js +1 -2
  244. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  245. package/dist/features/link/nodes/types.d.ts +10 -6
  246. package/dist/features/link/nodes/types.d.ts.map +1 -1
  247. package/dist/features/link/nodes/types.js.map +1 -1
  248. package/dist/features/link/plugins/autoLink/index.d.ts +1 -1
  249. package/dist/features/link/plugins/autoLink/index.d.ts.map +1 -1
  250. package/dist/features/link/plugins/autoLink/index.js +21 -5
  251. package/dist/features/link/plugins/autoLink/index.js.map +1 -1
  252. package/dist/features/link/plugins/clickableLink/index.d.ts +1 -1
  253. package/dist/features/link/plugins/clickableLink/index.d.ts.map +1 -1
  254. package/dist/features/link/plugins/clickableLink/index.js.map +1 -1
  255. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  256. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  257. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +11 -7
  258. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  259. package/dist/features/link/plugins/floatingLinkEditor/index.d.ts +1 -1
  260. package/dist/features/link/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  261. package/dist/features/link/plugins/floatingLinkEditor/index.js.map +1 -1
  262. package/dist/features/link/plugins/floatingLinkEditor/types.js.map +1 -1
  263. package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts +2 -2
  264. package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
  265. package/dist/features/link/plugins/floatingLinkEditor/utilities.js.map +1 -1
  266. package/dist/features/link/plugins/link/index.d.ts +1 -1
  267. package/dist/features/link/plugins/link/index.d.ts.map +1 -1
  268. package/dist/features/link/plugins/link/index.js.map +1 -1
  269. package/dist/features/link/validate.d.ts +1 -1
  270. package/dist/features/link/validate.d.ts.map +1 -1
  271. package/dist/features/link/validate.js +2 -1
  272. package/dist/features/link/validate.js.map +1 -1
  273. package/dist/features/lists/checklist/feature.client.js.map +1 -1
  274. package/dist/features/lists/checklist/feature.server.d.ts +1 -1
  275. package/dist/features/lists/checklist/feature.server.d.ts.map +1 -1
  276. package/dist/features/lists/checklist/feature.server.js.map +1 -1
  277. package/dist/features/lists/checklist/i18n.js.map +1 -1
  278. package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
  279. package/dist/features/lists/checklist/plugin/index.d.ts +1 -1
  280. package/dist/features/lists/checklist/plugin/index.d.ts.map +1 -1
  281. package/dist/features/lists/checklist/plugin/index.js.map +1 -1
  282. package/dist/features/lists/htmlConverter.d.ts +1 -1
  283. package/dist/features/lists/htmlConverter.d.ts.map +1 -1
  284. package/dist/features/lists/htmlConverter.js +10 -4
  285. package/dist/features/lists/htmlConverter.js.map +1 -1
  286. package/dist/features/lists/orderedList/feature.client.js.map +1 -1
  287. package/dist/features/lists/orderedList/feature.server.d.ts +1 -2
  288. package/dist/features/lists/orderedList/feature.server.d.ts.map +1 -1
  289. package/dist/features/lists/orderedList/feature.server.js.map +1 -1
  290. package/dist/features/lists/orderedList/i18n.js.map +1 -1
  291. package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
  292. package/dist/features/lists/plugin/index.d.ts +11 -1
  293. package/dist/features/lists/plugin/index.d.ts.map +1 -1
  294. package/dist/features/lists/plugin/index.js.map +1 -1
  295. package/dist/features/lists/shared/markdown.js.map +1 -1
  296. package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
  297. package/dist/features/lists/unorderedList/feature.client.js.map +1 -1
  298. package/dist/features/lists/unorderedList/feature.server.d.ts +1 -1
  299. package/dist/features/lists/unorderedList/feature.server.d.ts.map +1 -1
  300. package/dist/features/lists/unorderedList/feature.server.js.map +1 -1
  301. package/dist/features/lists/unorderedList/i18n.js.map +1 -1
  302. package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
  303. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js.map +1 -1
  304. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts.map +1 -1
  305. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  306. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js.map +1 -1
  307. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js.map +1 -1
  308. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  309. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js.map +1 -1
  310. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js.map +1 -1
  311. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts.map +1 -1
  312. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  313. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js.map +1 -1
  314. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js.map +1 -1
  315. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
  316. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  317. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js.map +1 -1
  318. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js.map +1 -1
  319. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts.map +1 -1
  320. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  321. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js.map +1 -1
  322. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js.map +1 -1
  323. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  324. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js.map +1 -1
  325. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js.map +1 -1
  326. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  327. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js.map +1 -1
  328. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  329. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  330. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts +2 -2
  331. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts.map +1 -1
  332. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  333. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  334. package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts +1 -1
  335. package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +1 -1
  336. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  337. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  338. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  339. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/client.js.map +1 -1
  340. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts.map +1 -1
  341. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  342. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/index.js.map +1 -1
  343. package/dist/features/migrations/slateToLexical/converter/converters/heading/client.js.map +1 -1
  344. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts.map +1 -1
  345. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  346. package/dist/features/migrations/slateToLexical/converter/converters/heading/index.js.map +1 -1
  347. package/dist/features/migrations/slateToLexical/converter/converters/indent/client.js.map +1 -1
  348. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  349. package/dist/features/migrations/slateToLexical/converter/converters/indent/index.js.map +1 -1
  350. package/dist/features/migrations/slateToLexical/converter/converters/link/client.js.map +1 -1
  351. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  352. package/dist/features/migrations/slateToLexical/converter/converters/link/index.js.map +1 -1
  353. package/dist/features/migrations/slateToLexical/converter/converters/listItem/client.js.map +1 -1
  354. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
  355. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  356. package/dist/features/migrations/slateToLexical/converter/converters/listItem/index.js.map +1 -1
  357. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/client.js.map +1 -1
  358. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts.map +1 -1
  359. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  360. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/index.js.map +1 -1
  361. package/dist/features/migrations/slateToLexical/converter/converters/relationship/client.js.map +1 -1
  362. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  363. package/dist/features/migrations/slateToLexical/converter/converters/relationship/index.js.map +1 -1
  364. package/dist/features/migrations/slateToLexical/converter/converters/unknown/client.js.map +1 -1
  365. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  366. package/dist/features/migrations/slateToLexical/converter/converters/unknown/index.js.map +1 -1
  367. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/client.js.map +1 -1
  368. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts.map +1 -1
  369. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  370. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/index.js.map +1 -1
  371. package/dist/features/migrations/slateToLexical/converter/converters/upload/client.js.map +1 -1
  372. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  373. package/dist/features/migrations/slateToLexical/converter/converters/upload/index.js.map +1 -1
  374. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  375. package/dist/features/migrations/slateToLexical/converter/index.d.ts.map +1 -1
  376. package/dist/features/migrations/slateToLexical/converter/index.js +1 -0
  377. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  378. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  379. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  380. package/dist/features/migrations/slateToLexical/feature.server.d.ts +3 -1
  381. package/dist/features/migrations/slateToLexical/feature.server.d.ts.map +1 -1
  382. package/dist/features/migrations/slateToLexical/feature.server.js +3 -1
  383. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  384. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  385. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  386. package/dist/features/paragraph/feature.client.js.map +1 -1
  387. package/dist/features/paragraph/feature.server.d.ts +1 -1
  388. package/dist/features/paragraph/feature.server.d.ts.map +1 -1
  389. package/dist/features/paragraph/feature.server.js.map +1 -1
  390. package/dist/features/paragraph/i18n.js.map +1 -1
  391. package/dist/features/relationship/drawer/commands.js.map +1 -1
  392. package/dist/features/relationship/drawer/index.js.map +1 -1
  393. package/dist/features/relationship/feature.client.d.ts +6 -6
  394. package/dist/features/relationship/feature.client.js.map +1 -1
  395. package/dist/features/relationship/feature.server.d.ts +6 -5
  396. package/dist/features/relationship/feature.server.d.ts.map +1 -1
  397. package/dist/features/relationship/feature.server.js.map +1 -1
  398. package/dist/features/relationship/graphQLPopulationPromise.d.ts +1 -1
  399. package/dist/features/relationship/graphQLPopulationPromise.d.ts.map +1 -1
  400. package/dist/features/relationship/graphQLPopulationPromise.js.map +1 -1
  401. package/dist/features/relationship/i18n.js.map +1 -1
  402. package/dist/features/relationship/nodes/RelationshipNode.d.ts +6 -2
  403. package/dist/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
  404. package/dist/features/relationship/nodes/RelationshipNode.js +1 -1
  405. package/dist/features/relationship/nodes/RelationshipNode.js.map +1 -1
  406. package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts +0 -1
  407. package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  408. package/dist/features/relationship/nodes/components/RelationshipComponent.js +2 -3
  409. package/dist/features/relationship/nodes/components/RelationshipComponent.js.map +1 -1
  410. package/dist/features/relationship/plugins/index.d.ts +1 -1
  411. package/dist/features/relationship/plugins/index.d.ts.map +1 -1
  412. package/dist/features/relationship/plugins/index.js.map +1 -1
  413. package/dist/features/relationship/utils/EnabledRelationshipsCondition.js.map +1 -1
  414. package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
  415. package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
  416. package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
  417. package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
  418. package/dist/features/toolbars/fixed/Toolbar/index.d.ts +1 -1
  419. package/dist/features/toolbars/fixed/Toolbar/index.d.ts.map +1 -1
  420. package/dist/features/toolbars/fixed/Toolbar/index.js.map +1 -1
  421. package/dist/features/toolbars/fixed/feature.client.d.ts +1 -1
  422. package/dist/features/toolbars/fixed/feature.client.d.ts.map +1 -1
  423. package/dist/features/toolbars/fixed/feature.client.js +8 -15
  424. package/dist/features/toolbars/fixed/feature.client.js.map +1 -1
  425. package/dist/features/toolbars/fixed/feature.server.d.ts +1 -2
  426. package/dist/features/toolbars/fixed/feature.server.d.ts.map +1 -1
  427. package/dist/features/toolbars/fixed/feature.server.js +16 -18
  428. package/dist/features/toolbars/fixed/feature.server.js.map +1 -1
  429. package/dist/features/toolbars/inline/Toolbar/index.d.ts +1 -1
  430. package/dist/features/toolbars/inline/Toolbar/index.d.ts.map +1 -1
  431. package/dist/features/toolbars/inline/Toolbar/index.js.map +1 -1
  432. package/dist/features/toolbars/inline/feature.client.d.ts +1 -1
  433. package/dist/features/toolbars/inline/feature.client.d.ts.map +1 -1
  434. package/dist/features/toolbars/inline/feature.client.js +9 -16
  435. package/dist/features/toolbars/inline/feature.client.js.map +1 -1
  436. package/dist/features/toolbars/inline/feature.server.d.ts +1 -2
  437. package/dist/features/toolbars/inline/feature.server.d.ts.map +1 -1
  438. package/dist/features/toolbars/inline/feature.server.js +8 -11
  439. package/dist/features/toolbars/inline/feature.server.js.map +1 -1
  440. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  441. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  442. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +0 -1
  443. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  444. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  445. package/dist/features/toolbars/types.d.ts +37 -5
  446. package/dist/features/toolbars/types.d.ts.map +1 -1
  447. package/dist/features/toolbars/types.js.map +1 -1
  448. package/dist/features/typeUtilities.d.ts +1 -1
  449. package/dist/features/typeUtilities.d.ts.map +1 -1
  450. package/dist/features/typeUtilities.js.map +1 -1
  451. package/dist/features/typesClient.d.ts +186 -0
  452. package/dist/features/typesClient.d.ts.map +1 -0
  453. package/dist/features/typesClient.js +3 -0
  454. package/dist/features/typesClient.js.map +1 -0
  455. package/dist/features/{types.d.ts → typesServer.d.ts} +50 -202
  456. package/dist/features/typesServer.d.ts.map +1 -0
  457. package/dist/features/typesServer.js +3 -0
  458. package/dist/features/typesServer.js.map +1 -0
  459. package/dist/features/upload/component/index.d.ts.map +1 -1
  460. package/dist/features/upload/component/index.js +34 -11
  461. package/dist/features/upload/component/index.js.map +1 -1
  462. package/dist/features/upload/drawer/commands.js.map +1 -1
  463. package/dist/features/upload/drawer/index.js.map +1 -1
  464. package/dist/features/upload/feature.client.d.ts +1 -1
  465. package/dist/features/upload/feature.client.d.ts.map +1 -1
  466. package/dist/features/upload/feature.client.js +62 -69
  467. package/dist/features/upload/feature.client.js.map +1 -1
  468. package/dist/features/upload/feature.server.d.ts +3 -4
  469. package/dist/features/upload/feature.server.d.ts.map +1 -1
  470. package/dist/features/upload/feature.server.js +157 -169
  471. package/dist/features/upload/feature.server.js.map +1 -1
  472. package/dist/features/upload/graphQLPopulationPromise.d.ts +1 -1
  473. package/dist/features/upload/graphQLPopulationPromise.d.ts.map +1 -1
  474. package/dist/features/upload/graphQLPopulationPromise.js.map +1 -1
  475. package/dist/features/upload/i18n.js.map +1 -1
  476. package/dist/features/upload/nodes/UploadNode.d.ts +7 -5
  477. package/dist/features/upload/nodes/UploadNode.d.ts.map +1 -1
  478. package/dist/features/upload/nodes/UploadNode.js +1 -2
  479. package/dist/features/upload/nodes/UploadNode.js.map +1 -1
  480. package/dist/features/upload/plugin/index.d.ts +1 -1
  481. package/dist/features/upload/plugin/index.d.ts.map +1 -1
  482. package/dist/features/upload/plugin/index.js.map +1 -1
  483. package/dist/features/upload/validate.d.ts +1 -1
  484. package/dist/features/upload/validate.d.ts.map +1 -1
  485. package/dist/features/upload/validate.js +1 -0
  486. package/dist/features/upload/validate.js.map +1 -1
  487. package/dist/field/Field.d.ts +3 -3
  488. package/dist/field/Field.d.ts.map +1 -1
  489. package/dist/field/Field.js +14 -12
  490. package/dist/field/Field.js.map +1 -1
  491. package/dist/field/index.d.ts +3 -3
  492. package/dist/field/index.d.ts.map +1 -1
  493. package/dist/field/index.js +11 -9
  494. package/dist/field/index.js.map +1 -1
  495. package/dist/i18n.js.map +1 -1
  496. package/dist/index.d.ts +14 -9
  497. package/dist/index.d.ts.map +1 -1
  498. package/dist/index.js +16 -16
  499. package/dist/index.js.map +1 -1
  500. package/dist/lexical/EditorPlugin.d.ts +1 -1
  501. package/dist/lexical/EditorPlugin.d.ts.map +1 -1
  502. package/dist/lexical/EditorPlugin.js.map +1 -1
  503. package/dist/lexical/LexicalEditor.d.ts +2 -2
  504. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  505. package/dist/lexical/LexicalEditor.js +0 -6
  506. package/dist/lexical/LexicalEditor.js.map +1 -1
  507. package/dist/lexical/LexicalProvider.d.ts +3 -3
  508. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  509. package/dist/lexical/LexicalProvider.js +26 -6
  510. package/dist/lexical/LexicalProvider.js.map +1 -1
  511. package/dist/lexical/config/client/EditorConfigProvider.d.ts +5 -5
  512. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  513. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  514. package/dist/lexical/config/client/default.js.map +1 -1
  515. package/dist/lexical/config/client/loader.d.ts +1 -1
  516. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  517. package/dist/lexical/config/client/loader.js.map +1 -1
  518. package/dist/lexical/config/client/sanitize.d.ts +1 -1
  519. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  520. package/dist/lexical/config/client/sanitize.js +4 -0
  521. package/dist/lexical/config/client/sanitize.js.map +1 -1
  522. package/dist/lexical/config/server/default.d.ts +2 -2
  523. package/dist/lexical/config/server/default.d.ts.map +1 -1
  524. package/dist/lexical/config/server/default.js.map +1 -1
  525. package/dist/lexical/config/server/loader.d.ts +1 -1
  526. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  527. package/dist/lexical/config/server/loader.js.map +1 -1
  528. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  529. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  530. package/dist/lexical/config/server/sanitize.js.map +1 -1
  531. package/dist/lexical/config/types.d.ts +4 -3
  532. package/dist/lexical/config/types.d.ts.map +1 -1
  533. package/dist/lexical/config/types.js.map +1 -1
  534. package/dist/lexical/nodes/index.js.map +1 -1
  535. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  536. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +4 -4
  537. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  538. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +0 -2
  539. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  540. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +0 -1
  541. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  542. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +1 -20
  543. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  544. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +23 -8
  545. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  546. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  547. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  548. package/dist/lexical/plugins/SlashMenu/index.js +43 -41
  549. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  550. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  551. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  552. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  553. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  554. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  555. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +1 -1
  556. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  557. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  558. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
  559. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  560. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
  561. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  562. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  563. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
  564. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  565. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  566. package/dist/lexical/ui/ContentEditable.d.ts.map +1 -1
  567. package/dist/lexical/ui/ContentEditable.js +8 -1
  568. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  569. package/dist/lexical/ui/icons/AI/index.js.map +1 -1
  570. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  571. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  572. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  573. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  574. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  575. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  576. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  577. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  578. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  579. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  580. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  581. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  582. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  583. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  584. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  585. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  586. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  587. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  588. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  589. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  590. package/dist/lexical/ui/icons/InlineBlocks/index.d.ts +3 -0
  591. package/dist/lexical/ui/icons/InlineBlocks/index.d.ts.map +1 -0
  592. package/dist/lexical/ui/icons/InlineBlocks/index.js +20 -0
  593. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -0
  594. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  595. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  596. package/dist/lexical/ui/icons/Meatballs/index.d.ts +3 -0
  597. package/dist/lexical/ui/icons/Meatballs/index.d.ts.map +1 -0
  598. package/dist/lexical/ui/icons/Meatballs/index.js +25 -0
  599. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -0
  600. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  601. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  602. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  603. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  604. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  605. package/dist/lexical/ui/icons/Table/index.d.ts +3 -0
  606. package/dist/lexical/ui/icons/Table/index.d.ts.map +1 -0
  607. package/dist/lexical/ui/icons/Table/index.js +20 -0
  608. package/dist/lexical/ui/icons/Table/index.js.map +1 -0
  609. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  610. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  611. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  612. package/dist/lexical/ui/icons/Upload/index.js +1 -1
  613. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  614. package/dist/lexical/utils/canUseDOM.js.map +1 -1
  615. package/dist/lexical/utils/environment.js.map +1 -1
  616. package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
  617. package/dist/lexical/utils/getSelectedNode.js.map +1 -1
  618. package/dist/lexical/utils/guard.js.map +1 -1
  619. package/dist/lexical/utils/invariant.js.map +1 -1
  620. package/dist/lexical/utils/joinClasses.js.map +1 -1
  621. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  622. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  623. package/dist/lexical/utils/point.js.map +1 -1
  624. package/dist/lexical/utils/rect.js.map +1 -1
  625. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  626. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
  627. package/dist/lexical/utils/swipe.js.map +1 -1
  628. package/dist/lexical/utils/url.js.map +1 -1
  629. package/dist/nodeTypes.d.ts +32 -0
  630. package/dist/nodeTypes.d.ts.map +1 -0
  631. package/dist/nodeTypes.js +3 -0
  632. package/dist/nodeTypes.js.map +1 -0
  633. package/dist/populateGraphQL/defaultValue.d.ts.map +1 -1
  634. package/dist/populateGraphQL/defaultValue.js +1 -0
  635. package/dist/populateGraphQL/defaultValue.js.map +1 -1
  636. package/dist/populateGraphQL/populate.d.ts +4 -4
  637. package/dist/populateGraphQL/populate.d.ts.map +1 -1
  638. package/dist/populateGraphQL/populate.js.map +1 -1
  639. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +3 -3
  640. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  641. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  642. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts +4 -4
  643. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
  644. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  645. package/dist/types.d.ts +6 -6
  646. package/dist/types.d.ts.map +1 -1
  647. package/dist/types.js.map +1 -1
  648. package/dist/utilities/createClientFeature.d.ts +1 -1
  649. package/dist/utilities/createClientFeature.d.ts.map +1 -1
  650. package/dist/utilities/createClientFeature.js.map +1 -1
  651. package/dist/utilities/createServerFeature.d.ts +3 -3
  652. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  653. package/dist/utilities/createServerFeature.js.map +1 -1
  654. package/dist/utilities/fieldsDrawer/Drawer.d.ts +18 -0
  655. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -0
  656. package/dist/utilities/fieldsDrawer/Drawer.js +26 -0
  657. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -0
  658. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts +4 -0
  659. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -0
  660. package/dist/utilities/fieldsDrawer/DrawerContent.js +90 -0
  661. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -0
  662. package/dist/utilities/forEachNodeRecursively.js.map +1 -1
  663. package/dist/utilities/generateComponentMap.d.ts +1 -1
  664. package/dist/utilities/generateComponentMap.d.ts.map +1 -1
  665. package/dist/utilities/generateComponentMap.js +6 -4
  666. package/dist/utilities/generateComponentMap.js.map +1 -1
  667. package/dist/utilities/generateSchemaMap.d.ts +1 -1
  668. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  669. package/dist/utilities/generateSchemaMap.js +10 -1
  670. package/dist/utilities/generateSchemaMap.js.map +1 -1
  671. package/dist/utilities/migrateSlateToLexical/index.d.ts +15 -0
  672. package/dist/utilities/migrateSlateToLexical/index.d.ts.map +1 -0
  673. package/dist/utilities/migrateSlateToLexical/index.js +105 -0
  674. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -0
  675. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts +9 -0
  676. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +1 -0
  677. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +77 -0
  678. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -0
  679. package/dist/utilities/recurseNodeTree.js.map +1 -1
  680. package/dist/utilities/upgradeLexicalData/index.d.ts +11 -0
  681. package/dist/utilities/upgradeLexicalData/index.d.ts.map +1 -0
  682. package/dist/utilities/upgradeLexicalData/index.js +101 -0
  683. package/dist/utilities/upgradeLexicalData/index.js.map +1 -0
  684. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts +9 -0
  685. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -0
  686. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +74 -0
  687. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -0
  688. package/dist/utilities/useLexicalFeature.d.ts +1 -1
  689. package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
  690. package/dist/utilities/useLexicalFeature.js.map +1 -1
  691. package/dist/validate/index.js.map +1 -1
  692. package/dist/validate/validateNodes.d.ts +2 -2
  693. package/dist/validate/validateNodes.d.ts.map +1 -1
  694. package/dist/validate/validateNodes.js.map +1 -1
  695. package/package.json +44 -43
  696. package/dist/exports/client/Field-YMWNSE3A.js +0 -2
  697. package/dist/exports/client/Field-YMWNSE3A.js.map +0 -7
  698. package/dist/exports/client/RelationshipComponent-5OU5HATX.js +0 -2
  699. package/dist/exports/client/RelationshipComponent-5OU5HATX.js.map +0 -7
  700. package/dist/exports/client/chunk-3K3B6PJM.js.map +0 -7
  701. package/dist/exports/client/chunk-MLIITFAS.js.map +0 -7
  702. package/dist/exports/client/chunk-OSR74ZNW.js.map +0 -7
  703. package/dist/exports/client/chunk-WDKKMO4H.js +0 -2
  704. package/dist/exports/client/chunk-WDKKMO4H.js.map +0 -7
  705. package/dist/exports/client/chunk-ZITHDR53.js +0 -2
  706. package/dist/exports/client/chunk-ZITHDR53.js.map +0 -7
  707. package/dist/exports/client/component-IAKI3GRY.js +0 -2
  708. package/dist/exports/client/component-IAKI3GRY.js.map +0 -7
  709. package/dist/exports/client/component-W3PV5MJ7.js +0 -2
  710. package/dist/exports/client/component-W3PV5MJ7.js.map +0 -7
  711. package/dist/features/blocks/drawer/index.d.ts +0 -9
  712. package/dist/features/blocks/drawer/index.d.ts.map +0 -1
  713. package/dist/features/blocks/drawer/index.js +0 -78
  714. package/dist/features/blocks/drawer/index.js.map +0 -1
  715. package/dist/features/link/drawer/index.d.ts +0 -5
  716. package/dist/features/link/drawer/index.d.ts.map +0 -1
  717. package/dist/features/link/drawer/index.js +0 -94
  718. package/dist/features/link/drawer/index.js.map +0 -1
  719. package/dist/features/link/drawer/types.d.ts +0 -10
  720. package/dist/features/link/drawer/types.d.ts.map +0 -1
  721. package/dist/features/link/drawer/types.js +0 -3
  722. package/dist/features/link/drawer/types.js.map +0 -1
  723. package/dist/features/types.d.ts.map +0 -1
  724. package/dist/features/types.js +0 -3
  725. package/dist/features/types.js.map +0 -1
  726. package/dist/features/upload/component/ExtraFieldsDrawer/index.d.ts +0 -12
  727. package/dist/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +0 -1
  728. package/dist/features/upload/component/ExtraFieldsDrawer/index.js +0 -123
  729. package/dist/features/upload/component/ExtraFieldsDrawer/index.js.map +0 -1
  730. package/dist/lexical/utils/cloneDeep.d.ts +0 -2
  731. package/dist/lexical/utils/cloneDeep.d.ts.map +0 -1
  732. package/dist/lexical/utils/cloneDeep.js +0 -50
  733. package/dist/lexical/utils/cloneDeep.js.map +0 -1
  734. /package/dist/exports/client/{component-QWIGEOVD.js.map → component-VM36FRT2.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/align/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $isElementNode, $isRangeSelection, FORMAT_ELEMENT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../toolbars/types.js'\n\nimport { AlignCenterIcon } from '../../lexical/ui/icons/AlignCenter/index.js'\nimport { AlignJustifyIcon } from '../../lexical/ui/icons/AlignJustify/index.js'\nimport { AlignLeftIcon } from '../../lexical/ui/icons/AlignLeft/index.js'\nimport { AlignRightIcon } from '../../lexical/ui/icons/AlignRight/index.js'\nimport { createClientFeature } from '../../utilities/createClientFeature.js'\nimport { toolbarAlignGroupWithItems } from './toolbarAlignGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarAlignGroupWithItems([\n {\n ChildComponent: AlignLeftIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'left') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'left') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignLeft',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignLeftLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'left')\n },\n order: 1,\n },\n {\n ChildComponent: AlignCenterIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'center') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'center') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignCenter',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignCenterLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'center')\n },\n order: 2,\n },\n {\n ChildComponent: AlignRightIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'right') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'right') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignRight',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignRightLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'right')\n },\n order: 3,\n },\n {\n ChildComponent: AlignJustifyIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'justify') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'justify') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignJustify',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignJustifyLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'justify')\n },\n order: 4,\n },\n ]),\n]\n\nexport const AlignFeatureClient = createClientFeature({\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"names":["$isElementNode","$isRangeSelection","FORMAT_ELEMENT_COMMAND","AlignCenterIcon","AlignJustifyIcon","AlignLeftIcon","AlignRightIcon","createClientFeature","toolbarAlignGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getFormatType","parent","getParent","key","label","i18n","t","onSelect","editor","dispatchCommand","order","AlignFeatureClient","toolbarFixed","groups","toolbarInline"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,cAAc,EAAEC,iBAAiB,EAAEC,sBAAsB,QAAQ,UAAS;AAInF,SAASC,eAAe,QAAQ,8CAA6C;AAC7E,SAASC,gBAAgB,QAAQ,+CAA8C;AAC/E,SAASC,aAAa,QAAQ,4CAA2C;AACzE,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,0BAA0B,QAAQ,yBAAwB;AAEnE,MAAMC,gBAAgC;IACpCD,2BAA2B;QACzB;YACEE,gBAAgBL;YAChBM,UAAU,CAAC,EAAEC,SAAS,EAAE;gBACtB,IAAI,CAACX,kBAAkBW,YAAY;oBACjC,OAAO;gBACT;gBACA,KAAK,MAAMC,QAAQD,UAAUE,QAAQ,GAAI;oBACvC,IAAId,eAAea,OAAO;wBACxB,IAAIA,KAAKE,aAAa,OAAO,QAAQ;4BACnC;wBACF;oBACF;oBAEA,MAAMC,SAASH,KAAKI,SAAS;oBAC7B,IAAIjB,eAAegB,SAAS;wBAC1B,IAAIA,OAAOD,aAAa,OAAO,QAAQ;4BACrC;wBACF;oBACF;oBAEA,OAAO;gBACT;gBACA,OAAO;YACT;YACAG,KAAK;YACLC,OAAO,CAAC,EAAEC,IAAI,EAAE;gBACd,OAAOA,KAAKC,CAAC,CAAC;YAChB;YACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;gBACnBA,OAAOC,eAAe,CAACtB,wBAAwB;YACjD;YACAuB,OAAO;QACT;QACA;YACEf,gBAAgBP;YAChBQ,UAAU,CAAC,EAAEC,SAAS,EAAE;gBACtB,IAAI,CAACX,kBAAkBW,YAAY;oBACjC,OAAO;gBACT;gBACA,KAAK,MAAMC,QAAQD,UAAUE,QAAQ,GAAI;oBACvC,IAAId,eAAea,OAAO;wBACxB,IAAIA,KAAKE,aAAa,OAAO,UAAU;4BACrC;wBACF;oBACF;oBAEA,MAAMC,SAASH,KAAKI,SAAS;oBAC7B,IAAIjB,eAAegB,SAAS;wBAC1B,IAAIA,OAAOD,aAAa,OAAO,UAAU;4BACvC;wBACF;oBACF;oBAEA,OAAO;gBACT;gBACA,OAAO;YACT;YACAG,KAAK;YACLC,OAAO,CAAC,EAAEC,IAAI,EAAE;gBACd,OAAOA,KAAKC,CAAC,CAAC;YAChB;YACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;gBACnBA,OAAOC,eAAe,CAACtB,wBAAwB;YACjD;YACAuB,OAAO;QACT;QACA;YACEf,gBAAgBJ;YAChBK,UAAU,CAAC,EAAEC,SAAS,EAAE;gBACtB,IAAI,CAACX,kBAAkBW,YAAY;oBACjC,OAAO;gBACT;gBACA,KAAK,MAAMC,QAAQD,UAAUE,QAAQ,GAAI;oBACvC,IAAId,eAAea,OAAO;wBACxB,IAAIA,KAAKE,aAAa,OAAO,SAAS;4BACpC;wBACF;oBACF;oBAEA,MAAMC,SAASH,KAAKI,SAAS;oBAC7B,IAAIjB,eAAegB,SAAS;wBAC1B,IAAIA,OAAOD,aAAa,OAAO,SAAS;4BACtC;wBACF;oBACF;oBAEA,OAAO;gBACT;gBACA,OAAO;YACT;YACAG,KAAK;YACLC,OAAO,CAAC,EAAEC,IAAI,EAAE;gBACd,OAAOA,KAAKC,CAAC,CAAC;YAChB;YACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;gBACnBA,OAAOC,eAAe,CAACtB,wBAAwB;YACjD;YACAuB,OAAO;QACT;QACA;YACEf,gBAAgBN;YAChBO,UAAU,CAAC,EAAEC,SAAS,EAAE;gBACtB,IAAI,CAACX,kBAAkBW,YAAY;oBACjC,OAAO;gBACT;gBACA,KAAK,MAAMC,QAAQD,UAAUE,QAAQ,GAAI;oBACvC,IAAId,eAAea,OAAO;wBACxB,IAAIA,KAAKE,aAAa,OAAO,WAAW;4BACtC;wBACF;oBACF;oBAEA,MAAMC,SAASH,KAAKI,SAAS;oBAC7B,IAAIjB,eAAegB,SAAS;wBAC1B,IAAIA,OAAOD,aAAa,OAAO,WAAW;4BACxC;wBACF;oBACF;oBAEA,OAAO;gBACT;gBACA,OAAO;YACT;YACAG,KAAK;YACLC,OAAO,CAAC,EAAEC,IAAI,EAAE;gBACd,OAAOA,KAAKC,CAAC,CAAC;YAChB;YACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;gBACnBA,OAAOC,eAAe,CAACtB,wBAAwB;YACjD;YACAuB,OAAO;QACT;KACD;CACF;AAED,OAAO,MAAMC,qBAAqBnB,oBAAoB;IACpDoB,cAAc;QACZC,QAAQnB;IACV;IACAoB,eAAe;QACbD,QAAQnB;IACV;AACF,GAAE"}
1
+ {"version":3,"sources":["../../../src/features/align/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $isElementNode, $isRangeSelection, FORMAT_ELEMENT_COMMAND } from 'lexical'\n\nimport type { ToolbarGroup } from '../toolbars/types.js'\n\nimport { AlignCenterIcon } from '../../lexical/ui/icons/AlignCenter/index.js'\nimport { AlignJustifyIcon } from '../../lexical/ui/icons/AlignJustify/index.js'\nimport { AlignLeftIcon } from '../../lexical/ui/icons/AlignLeft/index.js'\nimport { AlignRightIcon } from '../../lexical/ui/icons/AlignRight/index.js'\nimport { createClientFeature } from '../../utilities/createClientFeature.js'\nimport { toolbarAlignGroupWithItems } from './toolbarAlignGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarAlignGroupWithItems([\n {\n ChildComponent: AlignLeftIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'left') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'left') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignLeft',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignLeftLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'left')\n },\n order: 1,\n },\n {\n ChildComponent: AlignCenterIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'center') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'center') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignCenter',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignCenterLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'center')\n },\n order: 2,\n },\n {\n ChildComponent: AlignRightIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'right') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'right') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignRight',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignRightLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'right')\n },\n order: 3,\n },\n {\n ChildComponent: AlignJustifyIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isElementNode(node)) {\n if (node.getFormatType() === 'justify') {\n continue\n }\n }\n\n const parent = node.getParent()\n if ($isElementNode(parent)) {\n if (parent.getFormatType() === 'justify') {\n continue\n }\n }\n\n return false\n }\n return true\n },\n key: 'alignJustify',\n label: ({ i18n }) => {\n return i18n.t('lexical:align:alignJustifyLabel')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'justify')\n },\n order: 4,\n },\n ]),\n]\n\nexport const AlignFeatureClient = createClientFeature({\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"names":["$isElementNode","$isRangeSelection","FORMAT_ELEMENT_COMMAND","AlignCenterIcon","AlignJustifyIcon","AlignLeftIcon","AlignRightIcon","createClientFeature","toolbarAlignGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getFormatType","parent","getParent","key","label","i18n","t","onSelect","editor","dispatchCommand","order","AlignFeatureClient","toolbarFixed","groups","toolbarInline"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const AlignFeature: import("../types.js").FeatureProviderProviderServer<undefined, undefined, undefined>;
1
+ export declare const AlignFeature: import("../typesServer.js").FeatureProviderProviderServer<undefined, undefined, undefined>;
2
2
  //# sourceMappingURL=feature.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/align/feature.server.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,sFAMvB,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/align/feature.server.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,4FAMvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/align/feature.server.ts"],"sourcesContent":["// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { AlignFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { i18n } from './i18n.js'\n\nexport const AlignFeature = createServerFeature({\n feature: {\n ClientFeature: AlignFeatureClient,\n i18n,\n },\n key: 'align',\n})\n"],"names":["AlignFeatureClient","createServerFeature","i18n","AlignFeature","feature","ClientFeature","key"],"rangeMappings":";;;;;;;;;;","mappings":"AAAA,+DAA+D;AAC/D,SAASA,kBAAkB,QAAQ,gCAA+B;AAClE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,IAAI,QAAQ,YAAW;AAEhC,OAAO,MAAMC,eAAeF,oBAAoB;IAC9CG,SAAS;QACPC,eAAeL;QACfE;IACF;IACAI,KAAK;AACP,GAAE"}
1
+ {"version":3,"sources":["../../../src/features/align/feature.server.ts"],"sourcesContent":["// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { AlignFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { i18n } from './i18n.js'\n\nexport const AlignFeature = createServerFeature({\n feature: {\n ClientFeature: AlignFeatureClient,\n i18n,\n },\n key: 'align',\n})\n"],"names":["AlignFeatureClient","createServerFeature","i18n","AlignFeature","feature","ClientFeature","key"],"mappings":"AAAA,+DAA+D;AAC/D,SAASA,kBAAkB,QAAQ,gCAA+B;AAClE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,IAAI,QAAQ,YAAW;AAEhC,OAAO,MAAMC,eAAeF,oBAAoB;IAC9CG,SAAS;QACPC,eAAeL;QACfE;IACF;IACAI,KAAK;AACP,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/align/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n alignCenterLabel: 'محاذاة في الوسط',\n alignJustifyLabel: 'محاذاة التبرير',\n alignLeftLabel: 'محاذاة إلى اليسار',\n alignRightLabel: 'محاذاة إلى اليمين',\n },\n az: {\n alignCenterLabel: 'Mərkəzə Düzəlt',\n alignJustifyLabel: 'Düzəldin Səsləndirin',\n alignLeftLabel: 'Sola Doğru Hizalama',\n alignRightLabel: 'Sağa Doğru Hizalama',\n },\n bg: {\n alignCenterLabel: 'Центрирай',\n alignJustifyLabel: 'Подравняване по двата края',\n alignLeftLabel: 'Подравняване отляво',\n alignRightLabel: 'Подравняване вдясно',\n },\n cs: {\n alignCenterLabel: 'Zarovnat na střed',\n alignJustifyLabel: 'Zarovnat do bloku',\n alignLeftLabel: 'Zarovnat vlevo',\n alignRightLabel: 'Zarovnat vpravo',\n },\n de: {\n alignCenterLabel: 'Zentrieren',\n alignJustifyLabel: 'Blocksatz',\n alignLeftLabel: 'Linksbündig',\n alignRightLabel: 'Rechtsbündig',\n },\n en: {\n alignCenterLabel: 'Align Center',\n alignJustifyLabel: 'Align Justify',\n alignLeftLabel: 'Align Left',\n alignRightLabel: 'Align Right',\n },\n es: {\n alignCenterLabel: 'Alinear al centro',\n alignJustifyLabel: 'Alinear Justificar',\n alignLeftLabel: 'Alinear a la izquierda',\n alignRightLabel: 'Alinear a la derecha',\n },\n fa: {\n alignCenterLabel: 'تراز در مرکز',\n alignJustifyLabel: 'تراز کردن از دو طرف',\n alignLeftLabel: 'چپ تراز',\n alignRightLabel: 'راست چین',\n },\n fr: {\n alignCenterLabel: 'Aligner au centre',\n alignJustifyLabel: 'Aligner Justifier',\n alignLeftLabel: 'Aligner à gauche',\n alignRightLabel: 'Aligner à droite',\n },\n he: {\n alignCenterLabel: 'ממורכז',\n alignJustifyLabel: 'יישור דו-צדדי',\n alignLeftLabel: 'הסב לשמאל',\n alignRightLabel: 'יישור לימין',\n },\n hr: {\n alignCenterLabel: 'Poravnaj središnje',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj lijevo',\n alignRightLabel: 'Poravnaj desno',\n },\n hu: {\n alignCenterLabel: 'Középre igazítás',\n alignJustifyLabel: 'Igazítás Sorkizárás',\n alignLeftLabel: 'Igazítás balra',\n alignRightLabel: 'Igazítás jobbra',\n },\n it: {\n alignCenterLabel: 'Allinea al centro',\n alignJustifyLabel: 'Allinea Giustifica',\n alignLeftLabel: 'Allinea a sinistra',\n alignRightLabel: 'Allinea a destra',\n },\n ja: {\n alignCenterLabel: '中央揃え',\n alignJustifyLabel: '両端揃え',\n alignLeftLabel: '左揃え',\n alignRightLabel: '右揃え',\n },\n ko: {\n alignCenterLabel: '중앙 정렬',\n alignJustifyLabel: '정렬 맞춤',\n alignLeftLabel: '왼쪽 정렬',\n alignRightLabel: '오른쪽 정렬',\n },\n my: {\n alignCenterLabel: 'Pusat Selaras',\n alignJustifyLabel: 'Penjajaran Justify',\n alignLeftLabel: 'ဘယ်ဘက်ဦးတည်ခြင်း',\n alignRightLabel: 'Penjajaran Kanan',\n },\n nb: {\n alignCenterLabel: 'Sentrer tekst',\n alignJustifyLabel: 'Juster linje',\n alignLeftLabel: 'Juster til venstre',\n alignRightLabel: 'Juster til høyre',\n },\n nl: {\n alignCenterLabel: 'Centreer uitlijnen',\n alignJustifyLabel: 'Uitlijnen Rechtvaardigen',\n alignLeftLabel: 'Links uitlijnen',\n alignRightLabel: 'Rechts uitlijnen',\n },\n pl: {\n alignCenterLabel: 'Wyśrodkuj',\n alignJustifyLabel: 'Wyjustuj wyrównanie',\n alignLeftLabel: 'Wyrównaj do lewej',\n alignRightLabel: 'Wyrównaj do prawej',\n },\n pt: {\n alignCenterLabel: 'Alinhar ao Centro',\n alignJustifyLabel: 'Alinhar Justificar',\n alignLeftLabel: 'Alinhar à Esquerda',\n alignRightLabel: 'Alinhar à Direita',\n },\n ro: {\n alignCenterLabel: 'Aliniați Centrul',\n alignJustifyLabel: 'Aliniaza Justifica',\n alignLeftLabel: 'Aliniați la stânga',\n alignRightLabel: 'Aliniați la dreapta',\n },\n rs: {\n alignCenterLabel: 'Centriraj',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n 'rs-latin': {\n alignCenterLabel: 'Poravnaj centar',\n alignJustifyLabel: 'Poravnaj opravdanje',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n ru: {\n alignCenterLabel: 'Выровнять по центру',\n alignJustifyLabel: 'Выровнять по ширине',\n alignLeftLabel: 'Выровнять по левому краю',\n alignRightLabel: 'Выровнять по правому краю',\n },\n sk: {\n alignCenterLabel: 'Vycentrovať',\n alignJustifyLabel: 'Zarovnať do bloku',\n alignLeftLabel: 'Zarovnať doľava',\n alignRightLabel: 'Zarovnať doprava',\n },\n sv: {\n alignCenterLabel: 'Centrera',\n alignJustifyLabel: 'Justera Justify',\n alignLeftLabel: 'Justera till vänster',\n alignRightLabel: 'Justera till höger',\n },\n th: {\n alignCenterLabel: 'จัดแนวกึ่งกลาง',\n alignJustifyLabel: 'จัดแนวตรง',\n alignLeftLabel: 'จัดชิดซ้าย',\n alignRightLabel: 'จัดชิดขวา',\n },\n tr: {\n alignCenterLabel: 'Ortaya Hizala',\n alignJustifyLabel: 'Hizala Yasla',\n alignLeftLabel: 'Sola Hizala',\n alignRightLabel: 'Sağa Hizala',\n },\n uk: {\n alignCenterLabel: 'Вирівняти по центру',\n alignJustifyLabel: 'Вирівняти за шириною',\n alignLeftLabel: 'Вирівняти по лівому краю',\n alignRightLabel: 'Вирівняти по правому краю',\n },\n vi: {\n alignCenterLabel: 'Căn giữa',\n alignJustifyLabel: 'Căn đều',\n alignLeftLabel: 'Căn lề trái',\n alignRightLabel: 'Căn phải',\n },\n zh: {\n alignCenterLabel: '居中对齐',\n alignJustifyLabel: '对齐调整',\n alignLeftLabel: '向左对齐',\n alignRightLabel: '向右对齐',\n },\n 'zh-TW': {\n alignCenterLabel: '對齊中心',\n alignJustifyLabel: '對齊並排列',\n alignLeftLabel: '向左對齊',\n alignRightLabel: '向右對齊',\n },\n}\n"],"names":["i18n","ar","alignCenterLabel","alignJustifyLabel","alignLeftLabel","alignRightLabel","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/features/align/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n alignCenterLabel: 'محاذاة في الوسط',\n alignJustifyLabel: 'محاذاة التبرير',\n alignLeftLabel: 'محاذاة إلى اليسار',\n alignRightLabel: 'محاذاة إلى اليمين',\n },\n az: {\n alignCenterLabel: 'Mərkəzə Düzəlt',\n alignJustifyLabel: 'Düzəldin Səsləndirin',\n alignLeftLabel: 'Sola Doğru Hizalama',\n alignRightLabel: 'Sağa Doğru Hizalama',\n },\n bg: {\n alignCenterLabel: 'Центрирай',\n alignJustifyLabel: 'Подравняване по двата края',\n alignLeftLabel: 'Подравняване отляво',\n alignRightLabel: 'Подравняване вдясно',\n },\n cs: {\n alignCenterLabel: 'Zarovnat na střed',\n alignJustifyLabel: 'Zarovnat do bloku',\n alignLeftLabel: 'Zarovnat vlevo',\n alignRightLabel: 'Zarovnat vpravo',\n },\n de: {\n alignCenterLabel: 'Zentrieren',\n alignJustifyLabel: 'Blocksatz',\n alignLeftLabel: 'Linksbündig',\n alignRightLabel: 'Rechtsbündig',\n },\n en: {\n alignCenterLabel: 'Align Center',\n alignJustifyLabel: 'Align Justify',\n alignLeftLabel: 'Align Left',\n alignRightLabel: 'Align Right',\n },\n es: {\n alignCenterLabel: 'Alinear al centro',\n alignJustifyLabel: 'Alinear Justificar',\n alignLeftLabel: 'Alinear a la izquierda',\n alignRightLabel: 'Alinear a la derecha',\n },\n fa: {\n alignCenterLabel: 'تراز در مرکز',\n alignJustifyLabel: 'تراز کردن از دو طرف',\n alignLeftLabel: 'چپ تراز',\n alignRightLabel: 'راست چین',\n },\n fr: {\n alignCenterLabel: 'Aligner au centre',\n alignJustifyLabel: 'Aligner Justifier',\n alignLeftLabel: 'Aligner à gauche',\n alignRightLabel: 'Aligner à droite',\n },\n he: {\n alignCenterLabel: 'ממורכז',\n alignJustifyLabel: 'יישור דו-צדדי',\n alignLeftLabel: 'הסב לשמאל',\n alignRightLabel: 'יישור לימין',\n },\n hr: {\n alignCenterLabel: 'Poravnaj središnje',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj lijevo',\n alignRightLabel: 'Poravnaj desno',\n },\n hu: {\n alignCenterLabel: 'Középre igazítás',\n alignJustifyLabel: 'Igazítás Sorkizárás',\n alignLeftLabel: 'Igazítás balra',\n alignRightLabel: 'Igazítás jobbra',\n },\n it: {\n alignCenterLabel: 'Allinea al centro',\n alignJustifyLabel: 'Allinea Giustifica',\n alignLeftLabel: 'Allinea a sinistra',\n alignRightLabel: 'Allinea a destra',\n },\n ja: {\n alignCenterLabel: '中央揃え',\n alignJustifyLabel: '両端揃え',\n alignLeftLabel: '左揃え',\n alignRightLabel: '右揃え',\n },\n ko: {\n alignCenterLabel: '중앙 정렬',\n alignJustifyLabel: '정렬 맞춤',\n alignLeftLabel: '왼쪽 정렬',\n alignRightLabel: '오른쪽 정렬',\n },\n my: {\n alignCenterLabel: 'Pusat Selaras',\n alignJustifyLabel: 'Penjajaran Justify',\n alignLeftLabel: 'ဘယ်ဘက်ဦးတည်ခြင်း',\n alignRightLabel: 'Penjajaran Kanan',\n },\n nb: {\n alignCenterLabel: 'Sentrer tekst',\n alignJustifyLabel: 'Juster linje',\n alignLeftLabel: 'Juster til venstre',\n alignRightLabel: 'Juster til høyre',\n },\n nl: {\n alignCenterLabel: 'Centreer uitlijnen',\n alignJustifyLabel: 'Uitlijnen Rechtvaardigen',\n alignLeftLabel: 'Links uitlijnen',\n alignRightLabel: 'Rechts uitlijnen',\n },\n pl: {\n alignCenterLabel: 'Wyśrodkuj',\n alignJustifyLabel: 'Wyjustuj wyrównanie',\n alignLeftLabel: 'Wyrównaj do lewej',\n alignRightLabel: 'Wyrównaj do prawej',\n },\n pt: {\n alignCenterLabel: 'Alinhar ao Centro',\n alignJustifyLabel: 'Alinhar Justificar',\n alignLeftLabel: 'Alinhar à Esquerda',\n alignRightLabel: 'Alinhar à Direita',\n },\n ro: {\n alignCenterLabel: 'Aliniați Centrul',\n alignJustifyLabel: 'Aliniaza Justifica',\n alignLeftLabel: 'Aliniați la stânga',\n alignRightLabel: 'Aliniați la dreapta',\n },\n rs: {\n alignCenterLabel: 'Centriraj',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n 'rs-latin': {\n alignCenterLabel: 'Poravnaj centar',\n alignJustifyLabel: 'Poravnaj opravdanje',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n ru: {\n alignCenterLabel: 'Выровнять по центру',\n alignJustifyLabel: 'Выровнять по ширине',\n alignLeftLabel: 'Выровнять по левому краю',\n alignRightLabel: 'Выровнять по правому краю',\n },\n sk: {\n alignCenterLabel: 'Vycentrovať',\n alignJustifyLabel: 'Zarovnať do bloku',\n alignLeftLabel: 'Zarovnať doľava',\n alignRightLabel: 'Zarovnať doprava',\n },\n sv: {\n alignCenterLabel: 'Centrera',\n alignJustifyLabel: 'Justera Justify',\n alignLeftLabel: 'Justera till vänster',\n alignRightLabel: 'Justera till höger',\n },\n th: {\n alignCenterLabel: 'จัดแนวกึ่งกลาง',\n alignJustifyLabel: 'จัดแนวตรง',\n alignLeftLabel: 'จัดชิดซ้าย',\n alignRightLabel: 'จัดชิดขวา',\n },\n tr: {\n alignCenterLabel: 'Ortaya Hizala',\n alignJustifyLabel: 'Hizala Yasla',\n alignLeftLabel: 'Sola Hizala',\n alignRightLabel: 'Sağa Hizala',\n },\n uk: {\n alignCenterLabel: 'Вирівняти по центру',\n alignJustifyLabel: 'Вирівняти за шириною',\n alignLeftLabel: 'Вирівняти по лівому краю',\n alignRightLabel: 'Вирівняти по правому краю',\n },\n vi: {\n alignCenterLabel: 'Căn giữa',\n alignJustifyLabel: 'Căn đều',\n alignLeftLabel: 'Căn lề trái',\n alignRightLabel: 'Căn phải',\n },\n zh: {\n alignCenterLabel: '居中对齐',\n alignJustifyLabel: '对齐调整',\n alignLeftLabel: '向左对齐',\n alignRightLabel: '向右对齐',\n },\n 'zh-TW': {\n alignCenterLabel: '對齊中心',\n alignJustifyLabel: '對齊並排列',\n alignLeftLabel: '向左對齊',\n alignRightLabel: '向右對齊',\n },\n}\n"],"names":["i18n","ar","alignCenterLabel","alignJustifyLabel","alignLeftLabel","alignRightLabel","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/align/toolbarAlignGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../toolbars/types.js'\n\nimport { AlignLeftIcon } from '../../lexical/ui/icons/AlignLeft/index.js'\n\nexport const toolbarAlignGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: AlignLeftIcon,\n items,\n key: 'align',\n order: 30,\n }\n}\n"],"names":["AlignLeftIcon","toolbarAlignGroupWithItems","items","type","ChildComponent","key","order"],"rangeMappings":";;;;;;;;;","mappings":"AAEA,SAASA,aAAa,QAAQ,4CAA2C;AAEzE,OAAO,MAAMC,6BAA6B,CAACC;IACzC,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/features/align/toolbarAlignGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../toolbars/types.js'\n\nimport { AlignLeftIcon } from '../../lexical/ui/icons/AlignLeft/index.js'\n\nexport const toolbarAlignGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: AlignLeftIcon,\n items,\n key: 'align',\n order: 30,\n }\n}\n"],"names":["AlignLeftIcon","toolbarAlignGroupWithItems","items","type","ChildComponent","key","order"],"mappings":"AAEA,SAASA,aAAa,QAAQ,4CAA2C;AAEzE,OAAO,MAAMC,6BAA6B,CAACC;IACzC,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blockquote/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $createQuoteNode, $isQuoteNode, QuoteNode } from '@lexical/rich-text'\nimport { $setBlocksType } from '@lexical/selection'\nimport { $getSelection, $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../toolbars/types.js'\n\nimport { BlockquoteIcon } from '../../lexical/ui/icons/Blockquote/index.js'\nimport { createClientFeature } from '../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../shared/slashMenu/basicGroup.js'\nimport { toolbarTextDropdownGroupWithItems } from '../shared/toolbar/textDropdownGroup.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: BlockquoteIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if (!$isQuoteNode(node) && !$isQuoteNode(node.getParent())) {\n return false\n }\n }\n return true\n },\n key: 'blockquote',\n label: ({ i18n }) => {\n return i18n.t('lexical:blockquote:label')\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createQuoteNode())\n })\n },\n order: 20,\n },\n ]),\n]\n\nexport const BlockquoteFeatureClient = createClientFeature({\n markdownTransformers: [MarkdownTransformer],\n nodes: [QuoteNode],\n\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: BlockquoteIcon,\n key: 'blockquote',\n keywords: ['quote', 'blockquote'],\n label: ({ i18n }) => {\n return i18n.t('lexical:blockquote:label')\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createQuoteNode())\n })\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"names":["$createQuoteNode","$isQuoteNode","QuoteNode","$setBlocksType","$getSelection","$isRangeSelection","BlockquoteIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarTextDropdownGroupWithItems","MarkdownTransformer","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getParent","key","label","i18n","t","onSelect","editor","update","order","BlockquoteFeatureClient","markdownTransformers","nodes","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,QAAQ,qBAAoB;AAC9E,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,UAAS;AAI1D,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,4BAA4B,QAAQ,oCAAmC;AAChF,SAASC,iCAAiC,QAAQ,yCAAwC;AAC1F,SAASC,mBAAmB,QAAQ,2BAA0B;AAE9D,MAAMC,gBAAgC;IACpCF,kCAAkC;QAChC;YACEG,gBAAgBN;YAChBO,UAAU,CAAC,EAAEC,SAAS,EAAE;gBACtB,IAAI,CAACT,kBAAkBS,YAAY;oBACjC,OAAO;gBACT;gBACA,KAAK,MAAMC,QAAQD,UAAUE,QAAQ,GAAI;oBACvC,IAAI,CAACf,aAAac,SAAS,CAACd,aAAac,KAAKE,SAAS,KAAK;wBAC1D,OAAO;oBACT;gBACF;gBACA,OAAO;YACT;YACAC,KAAK;YACLC,OAAO,CAAC,EAAEC,IAAI,EAAE;gBACd,OAAOA,KAAKC,CAAC,CAAC;YAChB;YACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;gBACnBA,OAAOC,MAAM,CAAC;oBACZ,MAAMV,YAAYV;oBAClBD,eAAeW,WAAW,IAAMd;gBAClC;YACF;YACAyB,OAAO;QACT;KACD;CACF;AAED,OAAO,MAAMC,0BAA0BnB,oBAAoB;IACzDoB,sBAAsB;QAACjB;KAAoB;IAC3CkB,OAAO;QAAC1B;KAAU;IAElB2B,WAAW;QACTC,QAAQ;YACNtB,6BAA6B;gBAC3B;oBACEuB,MAAMzB;oBACNY,KAAK;oBACLc,UAAU;wBAAC;wBAAS;qBAAa;oBACjCb,OAAO,CAAC,EAAEC,IAAI,EAAE;wBACd,OAAOA,KAAKC,CAAC,CAAC;oBAChB;oBACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;wBACnBA,OAAOC,MAAM,CAAC;4BACZ,MAAMV,YAAYV;4BAClBD,eAAeW,WAAW,IAAMd;wBAClC;oBACF;gBACF;aACD;SACF;IACH;IACAiC,cAAc;QACZH,QAAQnB;IACV;IACAuB,eAAe;QACbJ,QAAQnB;IACV;AACF,GAAE"}
1
+ {"version":3,"sources":["../../../src/features/blockquote/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $createQuoteNode, $isQuoteNode, QuoteNode } from '@lexical/rich-text'\nimport { $setBlocksType } from '@lexical/selection'\nimport { $getSelection, $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../toolbars/types.js'\n\nimport { BlockquoteIcon } from '../../lexical/ui/icons/Blockquote/index.js'\nimport { createClientFeature } from '../../utilities/createClientFeature.js'\nimport { slashMenuBasicGroupWithItems } from '../shared/slashMenu/basicGroup.js'\nimport { toolbarTextDropdownGroupWithItems } from '../shared/toolbar/textDropdownGroup.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: BlockquoteIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if (!$isQuoteNode(node) && !$isQuoteNode(node.getParent())) {\n return false\n }\n }\n return true\n },\n key: 'blockquote',\n label: ({ i18n }) => {\n return i18n.t('lexical:blockquote:label')\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createQuoteNode())\n })\n },\n order: 20,\n },\n ]),\n]\n\nexport const BlockquoteFeatureClient = createClientFeature({\n markdownTransformers: [MarkdownTransformer],\n nodes: [QuoteNode],\n\n slashMenu: {\n groups: [\n slashMenuBasicGroupWithItems([\n {\n Icon: BlockquoteIcon,\n key: 'blockquote',\n keywords: ['quote', 'blockquote'],\n label: ({ i18n }) => {\n return i18n.t('lexical:blockquote:label')\n },\n onSelect: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createQuoteNode())\n })\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"names":["$createQuoteNode","$isQuoteNode","QuoteNode","$setBlocksType","$getSelection","$isRangeSelection","BlockquoteIcon","createClientFeature","slashMenuBasicGroupWithItems","toolbarTextDropdownGroupWithItems","MarkdownTransformer","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getParent","key","label","i18n","t","onSelect","editor","update","order","BlockquoteFeatureClient","markdownTransformers","nodes","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"mappings":"AAAA;AAEA,SAASA,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,QAAQ,qBAAoB;AAC9E,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,UAAS;AAI1D,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,4BAA4B,QAAQ,oCAAmC;AAChF,SAASC,iCAAiC,QAAQ,yCAAwC;AAC1F,SAASC,mBAAmB,QAAQ,2BAA0B;AAE9D,MAAMC,gBAAgC;IACpCF,kCAAkC;QAChC;YACEG,gBAAgBN;YAChBO,UAAU,CAAC,EAAEC,SAAS,EAAE;gBACtB,IAAI,CAACT,kBAAkBS,YAAY;oBACjC,OAAO;gBACT;gBACA,KAAK,MAAMC,QAAQD,UAAUE,QAAQ,GAAI;oBACvC,IAAI,CAACf,aAAac,SAAS,CAACd,aAAac,KAAKE,SAAS,KAAK;wBAC1D,OAAO;oBACT;gBACF;gBACA,OAAO;YACT;YACAC,KAAK;YACLC,OAAO,CAAC,EAAEC,IAAI,EAAE;gBACd,OAAOA,KAAKC,CAAC,CAAC;YAChB;YACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;gBACnBA,OAAOC,MAAM,CAAC;oBACZ,MAAMV,YAAYV;oBAClBD,eAAeW,WAAW,IAAMd;gBAClC;YACF;YACAyB,OAAO;QACT;KACD;CACF;AAED,OAAO,MAAMC,0BAA0BnB,oBAAoB;IACzDoB,sBAAsB;QAACjB;KAAoB;IAC3CkB,OAAO;QAAC1B;KAAU;IAElB2B,WAAW;QACTC,QAAQ;YACNtB,6BAA6B;gBAC3B;oBACEuB,MAAMzB;oBACNY,KAAK;oBACLc,UAAU;wBAAC;wBAAS;qBAAa;oBACjCb,OAAO,CAAC,EAAEC,IAAI,EAAE;wBACd,OAAOA,KAAKC,CAAC,CAAC;oBAChB;oBACAC,UAAU,CAAC,EAAEC,MAAM,EAAE;wBACnBA,OAAOC,MAAM,CAAC;4BACZ,MAAMV,YAAYV;4BAClBD,eAAeW,WAAW,IAAMd;wBAClC;oBACF;gBACF;aACD;SACF;IACH;IACAiC,cAAc;QACZH,QAAQnB;IACV;IACAuB,eAAe;QACbJ,QAAQnB;IACV;AACF,GAAE"}
@@ -1,2 +1,7 @@
1
- export declare const BlockquoteFeature: import("../types.js").FeatureProviderProviderServer<undefined, undefined, any>;
1
+ import type { SerializedQuoteNode as _SerializedQuoteNode } from '@lexical/rich-text';
2
+ import type { Spread } from 'lexical';
3
+ export type SerializedQuoteNode = Spread<{
4
+ type: 'quote';
5
+ }, _SerializedQuoteNode>;
6
+ export declare const BlockquoteFeature: import("../typesServer.js").FeatureProviderProviderServer<undefined, undefined, any>;
2
7
  //# sourceMappingURL=feature.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/blockquote/feature.server.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB,gFA+B5B,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/blockquote/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAYrC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,sFA0C5B,CAAA"}
@@ -18,15 +18,18 @@ export const BlockquoteFeature = createServerFeature({
18
18
  createNode({
19
19
  converters: {
20
20
  html: {
21
- converter: async ({ converters, node, parent, req })=>{
21
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
22
22
  const childrenText = await convertLexicalNodesToHTML({
23
23
  converters,
24
+ draft,
24
25
  lexicalNodes: node.children,
26
+ overrideAccess,
25
27
  parent: {
26
28
  ...node,
27
29
  parent
28
30
  },
29
- req
31
+ req,
32
+ showHiddenFields
30
33
  });
31
34
  return `<blockquote>${childrenText}</blockquote>`;
32
35
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blockquote/feature.server.ts"],"sourcesContent":["import { QuoteNode } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { BlockquoteFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nexport const BlockquoteFeature = createServerFeature({\n feature: {\n ClientFeature: BlockquoteFeatureClient,\n clientFeatureProps: null,\n i18n,\n markdownTransformers: [MarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({ converters, node, parent, req }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n req,\n })\n\n return `<blockquote>${childrenText}</blockquote>`\n },\n nodeTypes: [QuoteNode.getType()],\n },\n },\n node: QuoteNode,\n }),\n ],\n },\n key: 'blockquote',\n})\n"],"names":["QuoteNode","BlockquoteFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","i18n","MarkdownTransformer","BlockquoteFeature","feature","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","node","parent","req","childrenText","lexicalNodes","children","nodeTypes","getType","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAoB;AAE9C,+DAA+D;AAC/D,SAASC,uBAAuB,QAAQ,gCAA+B;AACvE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,UAAU,QAAQ,sBAAqB;AAChD,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,mBAAmB,QAAQ,2BAA0B;AAE9D,OAAO,MAAMC,oBAAoBL,oBAAoB;IACnDM,SAAS;QACPC,eAAeR;QACfS,oBAAoB;QACpBL;QACAM,sBAAsB;YAACL;SAAoB;QAC3CM,OAAO;YACLR,WAAW;gBACTS,YAAY;oBACVC,MAAM;wBACJC,WAAW,OAAO,EAAEF,UAAU,EAAEG,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAE;4BACjD,MAAMC,eAAe,MAAMhB,0BAA0B;gCACnDU;gCACAO,cAAcJ,KAAKK,QAAQ;gCAC3BJ,QAAQ;oCACN,GAAGD,IAAI;oCACPC;gCACF;gCACAC;4BACF;4BAEA,OAAO,CAAC,YAAY,EAAEC,aAAa,aAAa,CAAC;wBACnD;wBACAG,WAAW;4BAACtB,UAAUuB,OAAO;yBAAG;oBAClC;gBACF;gBACAP,MAAMhB;YACR;SACD;IACH;IACAwB,KAAK;AACP,GAAE"}
1
+ {"version":3,"sources":["../../../src/features/blockquote/feature.server.ts"],"sourcesContent":["import type { SerializedQuoteNode as _SerializedQuoteNode } from '@lexical/rich-text'\nimport type { Spread } from 'lexical'\n\nimport { QuoteNode } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { BlockquoteFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nexport type SerializedQuoteNode = Spread<\n {\n type: 'quote'\n },\n _SerializedQuoteNode\n>\n\nexport const BlockquoteFeature = createServerFeature({\n feature: {\n ClientFeature: BlockquoteFeatureClient,\n clientFeatureProps: null,\n i18n,\n markdownTransformers: [MarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n\n return `<blockquote>${childrenText}</blockquote>`\n },\n nodeTypes: [QuoteNode.getType()],\n },\n },\n node: QuoteNode,\n }),\n ],\n },\n key: 'blockquote',\n})\n"],"names":["QuoteNode","BlockquoteFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","i18n","MarkdownTransformer","BlockquoteFeature","feature","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","nodeTypes","getType","key"],"mappings":"AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAE9C,+DAA+D;AAC/D,SAASC,uBAAuB,QAAQ,gCAA+B;AACvE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,UAAU,QAAQ,sBAAqB;AAChD,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,mBAAmB,QAAQ,2BAA0B;AAS9D,OAAO,MAAMC,oBAAoBL,oBAAoB;IACnDM,SAAS;QACPC,eAAeR;QACfS,oBAAoB;QACpBL;QACAM,sBAAsB;YAACL;SAAoB;QAC3CM,OAAO;YACLR,WAAW;gBACTS,YAAY;oBACVC,MAAM;wBACJC,WAAW,OAAO,EAChBF,UAAU,EACVG,KAAK,EACLC,IAAI,EACJC,cAAc,EACdC,MAAM,EACNC,GAAG,EACHC,gBAAgB,EACjB;4BACC,MAAMC,eAAe,MAAMnB,0BAA0B;gCACnDU;gCACAG;gCACAO,cAAcN,KAAKO,QAAQ;gCAC3BN;gCACAC,QAAQ;oCACN,GAAGF,IAAI;oCACPE;gCACF;gCACAC;gCACAC;4BACF;4BAEA,OAAO,CAAC,YAAY,EAAEC,aAAa,aAAa,CAAC;wBACnD;wBACAG,WAAW;4BAACzB,UAAU0B,OAAO;yBAAG;oBAClC;gBACF;gBACAT,MAAMjB;YACR;SACD;IACH;IACA2B,KAAK;AACP,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blockquote/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'اقتباس',\n },\n az: {\n label: 'Blokkvota',\n },\n bg: {\n label: 'Цитат',\n },\n cs: {\n label: 'Citace',\n },\n de: {\n label: 'Blockzitat',\n },\n en: {\n label: 'Blockquote',\n },\n es: {\n label: 'Cita en bloque',\n },\n fa: {\n label: 'نقل قول بلوکی',\n },\n fr: {\n label: 'Citation',\n },\n he: {\n label: 'בלוק ציטוט',\n },\n hr: {\n label: 'Blok citat',\n },\n hu: {\n label: 'Idézetblokk',\n },\n it: {\n label: 'Citazione',\n },\n ja: {\n label: 'ブロッククォート',\n },\n ko: {\n label: '인용구',\n },\n my: {\n label: 'ဒေါင်းချီးခြင်း',\n },\n nb: {\n label: 'Blokksitat',\n },\n nl: {\n label: 'Citaat',\n },\n pl: {\n label: 'Cytat blokowy',\n },\n pt: {\n label: 'Citação em bloco',\n },\n ro: {\n label: 'Citat',\n },\n rs: {\n label: 'Blok citat',\n },\n 'rs-latin': {\n label: 'Blok citata',\n },\n ru: {\n label: 'Цитата',\n },\n sk: {\n label: 'Citát',\n },\n sv: {\n label: 'Blockcitat',\n },\n th: {\n label: '[SKIPPED]',\n },\n tr: {\n label: 'Alıntı',\n },\n uk: {\n label: 'Блокцитата',\n },\n vi: {\n label: 'Trích dẫn',\n },\n zh: {\n label: '块引用',\n },\n 'zh-TW': {\n label: '引用塊',\n },\n}\n"],"names":["i18n","ar","label","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,OAAkC;IAC7CC,IAAI;QACFC,OAAO;IACT;IACAC,IAAI;QACFD,OAAO;IACT;IACAE,IAAI;QACFF,OAAO;IACT;IACAG,IAAI;QACFH,OAAO;IACT;IACAI,IAAI;QACFJ,OAAO;IACT;IACAK,IAAI;QACFL,OAAO;IACT;IACAM,IAAI;QACFN,OAAO;IACT;IACAO,IAAI;QACFP,OAAO;IACT;IACAQ,IAAI;QACFR,OAAO;IACT;IACAS,IAAI;QACFT,OAAO;IACT;IACAU,IAAI;QACFV,OAAO;IACT;IACAW,IAAI;QACFX,OAAO;IACT;IACAY,IAAI;QACFZ,OAAO;IACT;IACAa,IAAI;QACFb,OAAO;IACT;IACAc,IAAI;QACFd,OAAO;IACT;IACAe,IAAI;QACFf,OAAO;IACT;IACAgB,IAAI;QACFhB,OAAO;IACT;IACAiB,IAAI;QACFjB,OAAO;IACT;IACAkB,IAAI;QACFlB,OAAO;IACT;IACAmB,IAAI;QACFnB,OAAO;IACT;IACAoB,IAAI;QACFpB,OAAO;IACT;IACAqB,IAAI;QACFrB,OAAO;IACT;IACA,YAAY;QACVA,OAAO;IACT;IACAsB,IAAI;QACFtB,OAAO;IACT;IACAuB,IAAI;QACFvB,OAAO;IACT;IACAwB,IAAI;QACFxB,OAAO;IACT;IACAyB,IAAI;QACFzB,OAAO;IACT;IACA0B,IAAI;QACF1B,OAAO;IACT;IACA2B,IAAI;QACF3B,OAAO;IACT;IACA4B,IAAI;QACF5B,OAAO;IACT;IACA6B,IAAI;QACF7B,OAAO;IACT;IACA,SAAS;QACPA,OAAO;IACT;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/features/blockquote/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'اقتباس',\n },\n az: {\n label: 'Blokkvota',\n },\n bg: {\n label: 'Цитат',\n },\n cs: {\n label: 'Citace',\n },\n de: {\n label: 'Blockzitat',\n },\n en: {\n label: 'Blockquote',\n },\n es: {\n label: 'Cita en bloque',\n },\n fa: {\n label: 'نقل قول بلوکی',\n },\n fr: {\n label: 'Citation',\n },\n he: {\n label: 'בלוק ציטוט',\n },\n hr: {\n label: 'Blok citat',\n },\n hu: {\n label: 'Idézetblokk',\n },\n it: {\n label: 'Citazione',\n },\n ja: {\n label: 'ブロッククォート',\n },\n ko: {\n label: '인용구',\n },\n my: {\n label: 'ဒေါင်းချီးခြင်း',\n },\n nb: {\n label: 'Blokksitat',\n },\n nl: {\n label: 'Citaat',\n },\n pl: {\n label: 'Cytat blokowy',\n },\n pt: {\n label: 'Citação em bloco',\n },\n ro: {\n label: 'Citat',\n },\n rs: {\n label: 'Blok citat',\n },\n 'rs-latin': {\n label: 'Blok citata',\n },\n ru: {\n label: 'Цитата',\n },\n sk: {\n label: 'Citát',\n },\n sv: {\n label: 'Blockcitat',\n },\n th: {\n label: '[SKIPPED]',\n },\n tr: {\n label: 'Alıntı',\n },\n uk: {\n label: 'Блокцитата',\n },\n vi: {\n label: 'Trích dẫn',\n },\n zh: {\n label: '块引用',\n },\n 'zh-TW': {\n label: '引用塊',\n },\n}\n"],"names":["i18n","ar","label","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"mappings":"AAEA,OAAO,MAAMA,OAAkC;IAC7CC,IAAI;QACFC,OAAO;IACT;IACAC,IAAI;QACFD,OAAO;IACT;IACAE,IAAI;QACFF,OAAO;IACT;IACAG,IAAI;QACFH,OAAO;IACT;IACAI,IAAI;QACFJ,OAAO;IACT;IACAK,IAAI;QACFL,OAAO;IACT;IACAM,IAAI;QACFN,OAAO;IACT;IACAO,IAAI;QACFP,OAAO;IACT;IACAQ,IAAI;QACFR,OAAO;IACT;IACAS,IAAI;QACFT,OAAO;IACT;IACAU,IAAI;QACFV,OAAO;IACT;IACAW,IAAI;QACFX,OAAO;IACT;IACAY,IAAI;QACFZ,OAAO;IACT;IACAa,IAAI;QACFb,OAAO;IACT;IACAc,IAAI;QACFd,OAAO;IACT;IACAe,IAAI;QACFf,OAAO;IACT;IACAgB,IAAI;QACFhB,OAAO;IACT;IACAiB,IAAI;QACFjB,OAAO;IACT;IACAkB,IAAI;QACFlB,OAAO;IACT;IACAmB,IAAI;QACFnB,OAAO;IACT;IACAoB,IAAI;QACFpB,OAAO;IACT;IACAqB,IAAI;QACFrB,OAAO;IACT;IACA,YAAY;QACVA,OAAO;IACT;IACAsB,IAAI;QACFtB,OAAO;IACT;IACAuB,IAAI;QACFvB,OAAO;IACT;IACAwB,IAAI;QACFxB,OAAO;IACT;IACAyB,IAAI;QACFzB,OAAO;IACT;IACA0B,IAAI;QACF1B,OAAO;IACT;IACA2B,IAAI;QACF3B,OAAO;IACT;IACA4B,IAAI;QACF5B,OAAO;IACT;IACA6B,IAAI;QACF7B,OAAO;IACT;IACA,SAAS;QACPA,OAAO;IACT;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blockquote/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\n\nimport { $createQuoteNode, $isQuoteNode, QuoteNode } from '@lexical/rich-text'\nimport { $createLineBreakNode } from 'lexical'\n\nexport const MarkdownTransformer: ElementTransformer = {\n type: 'element',\n dependencies: [QuoteNode],\n export: (node, exportChildren) => {\n if (!$isQuoteNode(node)) {\n return null\n }\n\n const lines = exportChildren(node).split('\\n')\n const output = []\n for (const line of lines) {\n output.push('> ' + line)\n }\n return output.join('\\n')\n },\n regExp: /^>\\s/,\n replace: (parentNode, children, _match, isImport) => {\n if (isImport) {\n const previousNode = parentNode.getPreviousSibling()\n if ($isQuoteNode(previousNode)) {\n previousNode.splice(previousNode.getChildrenSize(), 0, [\n $createLineBreakNode(),\n ...children,\n ])\n previousNode.select(0, 0)\n parentNode.remove()\n return\n }\n }\n\n const node = $createQuoteNode()\n node.append(...children)\n parentNode.replace(node)\n node.select(0, 0)\n },\n}\n"],"names":["$createQuoteNode","$isQuoteNode","QuoteNode","$createLineBreakNode","MarkdownTransformer","type","dependencies","export","node","exportChildren","lines","split","output","line","push","join","regExp","replace","parentNode","children","_match","isImport","previousNode","getPreviousSibling","splice","getChildrenSize","select","remove","append"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,QAAQ,qBAAoB;AAC9E,SAASC,oBAAoB,QAAQ,UAAS;AAE9C,OAAO,MAAMC,sBAA0C;IACrDC,MAAM;IACNC,cAAc;QAACJ;KAAU;IACzBK,QAAQ,CAACC,MAAMC;QACb,IAAI,CAACR,aAAaO,OAAO;YACvB,OAAO;QACT;QAEA,MAAME,QAAQD,eAAeD,MAAMG,KAAK,CAAC;QACzC,MAAMC,SAAS,EAAE;QACjB,KAAK,MAAMC,QAAQH,MAAO;YACxBE,OAAOE,IAAI,CAAC,OAAOD;QACrB;QACA,OAAOD,OAAOG,IAAI,CAAC;IACrB;IACAC,QAAQ;IACRC,SAAS,CAACC,YAAYC,UAAUC,QAAQC;QACtC,IAAIA,UAAU;YACZ,MAAMC,eAAeJ,WAAWK,kBAAkB;YAClD,IAAItB,aAAaqB,eAAe;gBAC9BA,aAAaE,MAAM,CAACF,aAAaG,eAAe,IAAI,GAAG;oBACrDtB;uBACGgB;iBACJ;gBACDG,aAAaI,MAAM,CAAC,GAAG;gBACvBR,WAAWS,MAAM;gBACjB;YACF;QACF;QAEA,MAAMnB,OAAOR;QACbQ,KAAKoB,MAAM,IAAIT;QACfD,WAAWD,OAAO,CAACT;QACnBA,KAAKkB,MAAM,CAAC,GAAG;IACjB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/features/blockquote/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\n\nimport { $createQuoteNode, $isQuoteNode, QuoteNode } from '@lexical/rich-text'\nimport { $createLineBreakNode } from 'lexical'\n\nexport const MarkdownTransformer: ElementTransformer = {\n type: 'element',\n dependencies: [QuoteNode],\n export: (node, exportChildren) => {\n if (!$isQuoteNode(node)) {\n return null\n }\n\n const lines = exportChildren(node).split('\\n')\n const output = []\n for (const line of lines) {\n output.push('> ' + line)\n }\n return output.join('\\n')\n },\n regExp: /^>\\s/,\n replace: (parentNode, children, _match, isImport) => {\n if (isImport) {\n const previousNode = parentNode.getPreviousSibling()\n if ($isQuoteNode(previousNode)) {\n previousNode.splice(previousNode.getChildrenSize(), 0, [\n $createLineBreakNode(),\n ...children,\n ])\n previousNode.select(0, 0)\n parentNode.remove()\n return\n }\n }\n\n const node = $createQuoteNode()\n node.append(...children)\n parentNode.replace(node)\n node.select(0, 0)\n },\n}\n"],"names":["$createQuoteNode","$isQuoteNode","QuoteNode","$createLineBreakNode","MarkdownTransformer","type","dependencies","export","node","exportChildren","lines","split","output","line","push","join","regExp","replace","parentNode","children","_match","isImport","previousNode","getPreviousSibling","splice","getChildrenSize","select","remove","append"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,QAAQ,qBAAoB;AAC9E,SAASC,oBAAoB,QAAQ,UAAS;AAE9C,OAAO,MAAMC,sBAA0C;IACrDC,MAAM;IACNC,cAAc;QAACJ;KAAU;IACzBK,QAAQ,CAACC,MAAMC;QACb,IAAI,CAACR,aAAaO,OAAO;YACvB,OAAO;QACT;QAEA,MAAME,QAAQD,eAAeD,MAAMG,KAAK,CAAC;QACzC,MAAMC,SAAS,EAAE;QACjB,KAAK,MAAMC,QAAQH,MAAO;YACxBE,OAAOE,IAAI,CAAC,OAAOD;QACrB;QACA,OAAOD,OAAOG,IAAI,CAAC;IACrB;IACAC,QAAQ;IACRC,SAAS,CAACC,YAAYC,UAAUC,QAAQC;QACtC,IAAIA,UAAU;YACZ,MAAMC,eAAeJ,WAAWK,kBAAkB;YAClD,IAAItB,aAAaqB,eAAe;gBAC9BA,aAAaE,MAAM,CAACF,aAAaG,eAAe,IAAI,GAAG;oBACrDtB;uBACGgB;iBACJ;gBACDG,aAAaI,MAAM,CAAC,GAAG;gBACvBR,WAAWS,MAAM;gBACjB;YACF;QACF;QAEA,MAAMnB,OAAOR;QACbQ,KAAKoB,MAAM,IAAIT;QACfD,WAAWD,OAAO,CAACT;QACnBA,KAAKkB,MAAM,CAAC,GAAG;IACjB;AACF,EAAC"}
@@ -1,20 +1,20 @@
1
- import type { FormFieldBase } from '@payloadcms/ui';
2
- import type { FieldMap, ReducedBlock } from '@payloadcms/ui/utilities/buildComponentMap';
1
+ import type { FieldMap, FormFieldBase } from 'payload';
3
2
  import React from 'react';
4
3
  import type { SanitizedClientEditorConfig } from '../../../lexical/config/types.js';
4
+ import type { ClientBlock } from '../feature.client.js';
5
5
  import type { BlockFields } from '../nodes/BlocksNode.js';
6
6
  type Props = {
7
7
  baseClass: string;
8
- field: FormFieldBase & {
8
+ field: {
9
9
  editorConfig: SanitizedClientEditorConfig;
10
10
  name: string;
11
11
  richTextComponentMap: Map<string, React.ReactNode>;
12
- };
12
+ } & FormFieldBase;
13
13
  formData: BlockFields;
14
14
  formSchema: FieldMap;
15
15
  nodeKey: string;
16
16
  path: string;
17
- reducedBlock: ReducedBlock;
17
+ reducedBlock: ClientBlock;
18
18
  schemaPath: string;
19
19
  };
20
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BlockContent.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/component/BlockContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAkBxF,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AACnF,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,wBAAwB,CAAA;AAIpE,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,aAAa,GAAG;QACrB,YAAY,EAAE,2BAA2B,CAAA;QACzC,IAAI,EAAE,MAAM,CAAA;QACZ,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KACnD,CAAA;IACD,QAAQ,EAAE,WAAW,CAAA;IACrB,UAAU,EAAE,QAAQ,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4MxC,CAAA"}
1
+ {"version":3,"file":"BlockContent.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/component/BlockContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,QAAQ,EAAE,aAAa,EAAa,MAAM,SAAS,CAAA;AAiB7F,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,wBAAwB,CAAA;AAIpE,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE;QACL,YAAY,EAAE,2BAA2B,CAAA;QACzC,IAAI,EAAE,MAAM,CAAA;QACZ,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KACnD,GAAG,aAAa,CAAA;IACjB,QAAQ,EAAE,WAAW,CAAA;IACrB,UAAU,EAAE,QAAQ,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,WAAW,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgNxC,CAAA"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import { Button, Collapsible, ErrorPill, Pill, RenderFields, SectionTitle, useDocumentInfo, useFormSubmitted, useTranslation } from '@payloadcms/ui';
5
- import isDeepEqual from 'deep-equal';
5
+ import { dequal } from 'dequal/lite'; // lite: no need for Map and Set support
6
6
  import { $getNodeByKey } from 'lexical';
7
7
  import React, { useCallback } from 'react';
8
8
  import { FormSavePlugin } from './FormSavePlugin.js';
@@ -11,7 +11,7 @@ import { FormSavePlugin } from './FormSavePlugin.js';
11
11
  * scoped to the block. All format operations in here are thus scoped to the block's form, and
12
12
  * not the whole document.
13
13
  */ export const BlockContent = (props)=>{
14
- const { baseClass, field, formData, formSchema, nodeKey, reducedBlock: { labels }, schemaPath } = props;
14
+ const { baseClass, field, formData, formSchema, nodeKey, reducedBlock: { LabelComponent, labels }, schemaPath } = props;
15
15
  const { i18n } = useTranslation();
16
16
  const [editor] = useLexicalComposerContext();
17
17
  // Used for saving collapsed to preferences (and gettin' it from there again)
@@ -64,7 +64,7 @@ import { FormSavePlugin } from './FormSavePlugin.js';
64
64
  removeUndefinedAndNullAndEmptyArraysRecursively(formData);
65
65
  // Only update if the data has actually changed. Otherwise, we may be triggering an unnecessary value change,
66
66
  // which would trigger the "Leave without saving" dialog unnecessarily
67
- if (!isDeepEqual(formData, newFormData)) {
67
+ if (!dequal(formData, newFormData)) {
68
68
  // Running this in the next tick in the meantime fixes this issue: https://github.com/payloadcms/payload/issues/4108
69
69
  // I don't know why. When this is called immediately, it might focus out of a nested lexical editor field if an update is made there.
70
70
  // My hypothesis is that the nested editor might not have fully finished its update cycle yet. By updating in the next tick, we
@@ -132,7 +132,10 @@ import { FormSavePlugin } from './FormSavePlugin.js';
132
132
  /*#__PURE__*/ _jsx(Collapsible, {
133
133
  className: classNames,
134
134
  collapsibleStyle: fieldHasErrors ? 'error' : 'default',
135
- header: /*#__PURE__*/ _jsxs("div", {
135
+ header: LabelComponent ? /*#__PURE__*/ _jsx(LabelComponent, {
136
+ blockKind: 'lexicalBlock',
137
+ formData: formData
138
+ }) : /*#__PURE__*/ _jsxs("div", {
136
139
  className: `${baseClass}__block-header`,
137
140
  children: [
138
141
  /*#__PURE__*/ _jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/blocks/component/BlockContent.tsx"],"sourcesContent":["import type { FormFieldBase } from '@payloadcms/ui'\nimport type { FieldMap, ReducedBlock } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { CollapsedPreferences, Data, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n Collapsible,\n ErrorPill,\n Pill,\n RenderFields,\n SectionTitle,\n useDocumentInfo,\n useFormSubmitted,\n useTranslation,\n} from '@payloadcms/ui'\nimport isDeepEqual from 'deep-equal'\nimport { $getNodeByKey } from 'lexical'\nimport React, { useCallback } from 'react'\n\nimport type { SanitizedClientEditorConfig } from '../../../lexical/config/types.js'\nimport type { BlockFields, BlockNode } from '../nodes/BlocksNode.js'\n\nimport { FormSavePlugin } from './FormSavePlugin.js'\n\ntype Props = {\n baseClass: string\n field: FormFieldBase & {\n editorConfig: SanitizedClientEditorConfig // With rendered features n stuff\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n formData: BlockFields\n formSchema: FieldMap\n nodeKey: string\n path: string\n reducedBlock: ReducedBlock\n schemaPath: string\n}\n\n/**\n * The actual content of the Block. This should be INSIDE a Form component,\n * scoped to the block. All format operations in here are thus scoped to the block's form, and\n * not the whole document.\n */\nexport const BlockContent: React.FC<Props> = (props) => {\n const {\n baseClass,\n field,\n formData,\n formSchema,\n nodeKey,\n reducedBlock: { labels },\n schemaPath,\n } = props\n\n const { i18n } = useTranslation()\n const [editor] = useLexicalComposerContext()\n // Used for saving collapsed to preferences (and gettin' it from there again)\n // Remember, these preferences are scoped to the whole document, not just this form. This\n // is important to consider for the data path used in setDocFieldPreferences\n const { getDocPreferences, setDocFieldPreferences } = useDocumentInfo()\n\n const [isCollapsed, setIsCollapsed] = React.useState<boolean>(() => {\n let initialState = false\n\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences = currentDocPreferences?.fields[field.name]\n\n const collapsedArray = currentFieldPreferences?.collapsed\n\n if (collapsedArray && collapsedArray.includes(formData.id)) {\n initialState = true\n setIsCollapsed(true)\n }\n })\n return initialState\n })\n\n const hasSubmitted = useFormSubmitted()\n\n const [errorCount, setErrorCount] = React.useState(0)\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const onFormChange = useCallback(\n ({\n fullFieldsWithValues,\n newFormData,\n }: {\n fullFieldsWithValues: FormState\n newFormData: Data\n }) => {\n newFormData = {\n ...newFormData,\n id: formData.id,\n blockType: formData.blockType,\n }\n\n // Recursively remove all undefined values from even being present in formData, as they will\n // cause isDeepEqual to return false if, for example, formData has a key that fields.data\n // does not have, even if it's undefined.\n // Currently, this happens if a block has another sub-blocks field. Inside formData, that sub-blocks field has an undefined blockName property.\n // Inside of fields.data however, that sub-blocks blockName property does not exist at all.\n function removeUndefinedAndNullAndEmptyArraysRecursively(obj: object) {\n for (const key in obj) {\n const value = obj[key]\n if (Array.isArray(value) && !value?.length) {\n delete obj[key]\n } else if (value && typeof value === 'object') {\n removeUndefinedAndNullAndEmptyArraysRecursively(value)\n } else if (value === undefined || value === null) {\n delete obj[key]\n }\n }\n }\n removeUndefinedAndNullAndEmptyArraysRecursively(newFormData)\n\n removeUndefinedAndNullAndEmptyArraysRecursively(formData)\n\n // Only update if the data has actually changed. Otherwise, we may be triggering an unnecessary value change,\n // which would trigger the \"Leave without saving\" dialog unnecessarily\n if (!isDeepEqual(formData, newFormData)) {\n // Running this in the next tick in the meantime fixes this issue: https://github.com/payloadcms/payload/issues/4108\n // I don't know why. When this is called immediately, it might focus out of a nested lexical editor field if an update is made there.\n // My hypothesis is that the nested editor might not have fully finished its update cycle yet. By updating in the next tick, we\n // ensure that the nested editor has finished its update cycle before we update the block node.\n setTimeout(() => {\n editor.update(() => {\n const node: BlockNode = $getNodeByKey(nodeKey)\n if (node) {\n node.setFields(newFormData as BlockFields)\n }\n })\n }, 0)\n }\n\n // update error count\n if (hasSubmitted) {\n let rowErrorCount = 0\n for (const formField of Object.values(fullFieldsWithValues)) {\n if (formField?.valid === false) {\n rowErrorCount++\n }\n }\n setErrorCount(rowErrorCount)\n }\n },\n [editor, nodeKey, hasSubmitted, formData],\n )\n\n const onCollapsedChange = useCallback(\n (changedCollapsed: boolean) => {\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences = currentDocPreferences?.fields[field.name]\n\n const collapsedArray = currentFieldPreferences?.collapsed\n\n const newCollapsed: CollapsedPreferences =\n collapsedArray && collapsedArray?.length ? collapsedArray : []\n\n if (changedCollapsed) {\n if (!newCollapsed.includes(formData.id)) {\n newCollapsed.push(formData.id)\n }\n } else {\n if (newCollapsed.includes(formData.id)) {\n newCollapsed.splice(newCollapsed.indexOf(formData.id), 1)\n }\n }\n\n setDocFieldPreferences(field.name, {\n collapsed: newCollapsed,\n hello: 'hi',\n })\n })\n },\n [getDocPreferences, field.name, setDocFieldPreferences, formData.id],\n )\n\n const removeBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey).remove()\n })\n }, [editor, nodeKey])\n\n return (\n <React.Fragment>\n <Collapsible\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {typeof labels.singular === 'string'\n ? getTranslation(labels.singular, i18n)\n : '[Singular Label]'}\n </Pill>\n <SectionTitle path=\"blockName\" readOnly={field?.readOnly} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n {editor.isEditable() && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={field?.readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeBlock()\n }}\n round\n tooltip=\"Remove Block\"\n />\n )}\n </div>\n }\n isCollapsed={isCollapsed}\n key={0}\n onToggle={(incomingCollapsedState) => {\n onCollapsedChange(incomingCollapsedState)\n setIsCollapsed(incomingCollapsedState)\n }}\n >\n <RenderFields\n className={`${baseClass}__fields`}\n fieldMap={Array.isArray(formSchema) ? formSchema : []}\n forceRender\n margins=\"small\"\n path=\"\" // Leaving path empty makes it so field values are not prefixed / scoped by the entire schemaPath. e.g. we can access \"myField\" instead of \"someLexicalField.feature.blocks.someArrayB\" // TODO: Could there be any implications leaving path different than schemaPath?\n readOnly={false}\n schemaPath={schemaPath} // Having the correct schemaPath here allows sub-fields (like array > addRow) to run correct form-state calls and retrieve their needed form state from the server\n />\n </Collapsible>\n\n <FormSavePlugin onChange={onFormChange} />\n </React.Fragment>\n )\n}\n"],"names":["useLexicalComposerContext","getTranslation","Button","Collapsible","ErrorPill","Pill","RenderFields","SectionTitle","useDocumentInfo","useFormSubmitted","useTranslation","isDeepEqual","$getNodeByKey","React","useCallback","FormSavePlugin","BlockContent","props","baseClass","field","formData","formSchema","nodeKey","reducedBlock","labels","schemaPath","i18n","editor","getDocPreferences","setDocFieldPreferences","isCollapsed","setIsCollapsed","useState","initialState","then","currentDocPreferences","currentFieldPreferences","fields","name","collapsedArray","collapsed","includes","id","hasSubmitted","errorCount","setErrorCount","fieldHasErrors","classNames","filter","Boolean","join","onFormChange","fullFieldsWithValues","newFormData","blockType","removeUndefinedAndNullAndEmptyArraysRecursively","obj","key","value","Array","isArray","length","undefined","setTimeout","update","node","setFields","rowErrorCount","formField","Object","values","valid","onCollapsedChange","changedCollapsed","newCollapsed","push","splice","indexOf","hello","removeBlock","remove","Fragment","className","collapsibleStyle","header","div","pillStyle","singular","path","readOnly","count","withMessage","isEditable","buttonStyle","disabled","icon","onClick","e","preventDefault","round","tooltip","onToggle","incomingCollapsedState","fieldMap","forceRender","margins","onChange"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/features/blocks/component/BlockContent.tsx"],"sourcesContent":["import type { CollapsedPreferences, Data, FieldMap, FormFieldBase, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n Collapsible,\n ErrorPill,\n Pill,\n RenderFields,\n SectionTitle,\n useDocumentInfo,\n useFormSubmitted,\n useTranslation,\n} from '@payloadcms/ui'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { $getNodeByKey } from 'lexical'\nimport React, { useCallback } from 'react'\n\nimport type { SanitizedClientEditorConfig } from '../../../lexical/config/types.js'\nimport type { ClientBlock } from '../feature.client.js'\nimport type { BlockFields, BlockNode } from '../nodes/BlocksNode.js'\n\nimport { FormSavePlugin } from './FormSavePlugin.js'\n\ntype Props = {\n baseClass: string\n field: {\n editorConfig: SanitizedClientEditorConfig // With rendered features n stuff\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n } & FormFieldBase\n formData: BlockFields\n formSchema: FieldMap\n nodeKey: string\n path: string\n reducedBlock: ClientBlock\n schemaPath: string\n}\n\n/**\n * The actual content of the Block. This should be INSIDE a Form component,\n * scoped to the block. All format operations in here are thus scoped to the block's form, and\n * not the whole document.\n */\nexport const BlockContent: React.FC<Props> = (props) => {\n const {\n baseClass,\n field,\n formData,\n formSchema,\n nodeKey,\n reducedBlock: { LabelComponent, labels },\n schemaPath,\n } = props\n\n const { i18n } = useTranslation()\n const [editor] = useLexicalComposerContext()\n // Used for saving collapsed to preferences (and gettin' it from there again)\n // Remember, these preferences are scoped to the whole document, not just this form. This\n // is important to consider for the data path used in setDocFieldPreferences\n const { getDocPreferences, setDocFieldPreferences } = useDocumentInfo()\n\n const [isCollapsed, setIsCollapsed] = React.useState<boolean>(() => {\n let initialState = false\n\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences = currentDocPreferences?.fields[field.name]\n\n const collapsedArray = currentFieldPreferences?.collapsed\n\n if (collapsedArray && collapsedArray.includes(formData.id)) {\n initialState = true\n setIsCollapsed(true)\n }\n })\n return initialState\n })\n\n const hasSubmitted = useFormSubmitted()\n\n const [errorCount, setErrorCount] = React.useState(0)\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const onFormChange = useCallback(\n ({\n fullFieldsWithValues,\n newFormData,\n }: {\n fullFieldsWithValues: FormState\n newFormData: Data\n }) => {\n newFormData = {\n ...newFormData,\n id: formData.id,\n blockType: formData.blockType,\n }\n\n // Recursively remove all undefined values from even being present in formData, as they will\n // cause isDeepEqual to return false if, for example, formData has a key that fields.data\n // does not have, even if it's undefined.\n // Currently, this happens if a block has another sub-blocks field. Inside formData, that sub-blocks field has an undefined blockName property.\n // Inside of fields.data however, that sub-blocks blockName property does not exist at all.\n function removeUndefinedAndNullAndEmptyArraysRecursively(obj: object) {\n for (const key in obj) {\n const value = obj[key]\n if (Array.isArray(value) && !value?.length) {\n delete obj[key]\n } else if (value && typeof value === 'object') {\n removeUndefinedAndNullAndEmptyArraysRecursively(value)\n } else if (value === undefined || value === null) {\n delete obj[key]\n }\n }\n }\n removeUndefinedAndNullAndEmptyArraysRecursively(newFormData)\n\n removeUndefinedAndNullAndEmptyArraysRecursively(formData)\n\n // Only update if the data has actually changed. Otherwise, we may be triggering an unnecessary value change,\n // which would trigger the \"Leave without saving\" dialog unnecessarily\n if (!dequal(formData, newFormData)) {\n // Running this in the next tick in the meantime fixes this issue: https://github.com/payloadcms/payload/issues/4108\n // I don't know why. When this is called immediately, it might focus out of a nested lexical editor field if an update is made there.\n // My hypothesis is that the nested editor might not have fully finished its update cycle yet. By updating in the next tick, we\n // ensure that the nested editor has finished its update cycle before we update the block node.\n setTimeout(() => {\n editor.update(() => {\n const node: BlockNode = $getNodeByKey(nodeKey)\n if (node) {\n node.setFields(newFormData as BlockFields)\n }\n })\n }, 0)\n }\n\n // update error count\n if (hasSubmitted) {\n let rowErrorCount = 0\n for (const formField of Object.values(fullFieldsWithValues)) {\n if (formField?.valid === false) {\n rowErrorCount++\n }\n }\n setErrorCount(rowErrorCount)\n }\n },\n [editor, nodeKey, hasSubmitted, formData],\n )\n\n const onCollapsedChange = useCallback(\n (changedCollapsed: boolean) => {\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences = currentDocPreferences?.fields[field.name]\n\n const collapsedArray = currentFieldPreferences?.collapsed\n\n const newCollapsed: CollapsedPreferences =\n collapsedArray && collapsedArray?.length ? collapsedArray : []\n\n if (changedCollapsed) {\n if (!newCollapsed.includes(formData.id)) {\n newCollapsed.push(formData.id)\n }\n } else {\n if (newCollapsed.includes(formData.id)) {\n newCollapsed.splice(newCollapsed.indexOf(formData.id), 1)\n }\n }\n\n setDocFieldPreferences(field.name, {\n collapsed: newCollapsed,\n hello: 'hi',\n })\n })\n },\n [getDocPreferences, field.name, setDocFieldPreferences, formData.id],\n )\n\n const removeBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey).remove()\n })\n }, [editor, nodeKey])\n\n return (\n <React.Fragment>\n <Collapsible\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n LabelComponent ? (\n <LabelComponent blockKind={'lexicalBlock'} formData={formData} />\n ) : (\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {typeof labels.singular === 'string'\n ? getTranslation(labels.singular, i18n)\n : '[Singular Label]'}\n </Pill>\n <SectionTitle path=\"blockName\" readOnly={field?.readOnly} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n {editor.isEditable() && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={field?.readOnly}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeBlock()\n }}\n round\n tooltip=\"Remove Block\"\n />\n )}\n </div>\n )\n }\n isCollapsed={isCollapsed}\n key={0}\n onToggle={(incomingCollapsedState) => {\n onCollapsedChange(incomingCollapsedState)\n setIsCollapsed(incomingCollapsedState)\n }}\n >\n <RenderFields\n className={`${baseClass}__fields`}\n fieldMap={Array.isArray(formSchema) ? formSchema : []}\n forceRender\n margins=\"small\"\n path=\"\" // Leaving path empty makes it so field values are not prefixed / scoped by the entire schemaPath. e.g. we can access \"myField\" instead of \"someLexicalField.feature.blocks.someArrayB\" // TODO: Could there be any implications leaving path different than schemaPath?\n readOnly={false}\n schemaPath={schemaPath} // Having the correct schemaPath here allows sub-fields (like array > addRow) to run correct form-state calls and retrieve their needed form state from the server\n />\n </Collapsible>\n\n <FormSavePlugin onChange={onFormChange} />\n </React.Fragment>\n )\n}\n"],"names":["useLexicalComposerContext","getTranslation","Button","Collapsible","ErrorPill","Pill","RenderFields","SectionTitle","useDocumentInfo","useFormSubmitted","useTranslation","dequal","$getNodeByKey","React","useCallback","FormSavePlugin","BlockContent","props","baseClass","field","formData","formSchema","nodeKey","reducedBlock","LabelComponent","labels","schemaPath","i18n","editor","getDocPreferences","setDocFieldPreferences","isCollapsed","setIsCollapsed","useState","initialState","then","currentDocPreferences","currentFieldPreferences","fields","name","collapsedArray","collapsed","includes","id","hasSubmitted","errorCount","setErrorCount","fieldHasErrors","classNames","filter","Boolean","join","onFormChange","fullFieldsWithValues","newFormData","blockType","removeUndefinedAndNullAndEmptyArraysRecursively","obj","key","value","Array","isArray","length","undefined","setTimeout","update","node","setFields","rowErrorCount","formField","Object","values","valid","onCollapsedChange","changedCollapsed","newCollapsed","push","splice","indexOf","hello","removeBlock","remove","Fragment","className","collapsibleStyle","header","blockKind","div","pillStyle","singular","path","readOnly","count","withMessage","isEditable","buttonStyle","disabled","icon","onClick","e","preventDefault","round","tooltip","onToggle","incomingCollapsedState","fieldMap","forceRender","margins","onChange"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { useAllFormFields } from '@payloadcms/ui';
2
- import { reduceFieldsToValues } from '@payloadcms/ui/shared';
2
+ import { reduceFieldsToValues } from 'payload/shared';
3
3
  import { useEffect } from 'react';
4
4
  import { removeEmptyArrayValues } from './removeEmptyArrayValues.js';
5
5
  export const FormSavePlugin = (props)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/blocks/component/FormSavePlugin.tsx"],"sourcesContent":["import type { Data, FormState } from 'payload'\nimport type React from 'react'\n\nimport { useAllFormFields } from '@payloadcms/ui'\nimport { reduceFieldsToValues } from '@payloadcms/ui/shared'\nimport { useEffect } from 'react'\n\nimport { removeEmptyArrayValues } from './removeEmptyArrayValues.js'\n\ntype Props = {\n onChange?: ({\n fullFieldsWithValues,\n newFormData,\n }: {\n fullFieldsWithValues: FormState\n newFormData: Data\n }) => void\n}\n\nexport const FormSavePlugin: React.FC<Props> = (props) => {\n const { onChange } = props\n\n const [_fields] = useAllFormFields()\n\n const fields = removeEmptyArrayValues({ fields: _fields })\n\n // Pass in fields, and indicate if you'd like to \"unflatten\" field data.\n // The result below will reflect the data stored in the form at the given time\n const newFormData = reduceFieldsToValues(fields, true)\n\n useEffect(() => {\n if (onChange) {\n onChange({ fullFieldsWithValues: fields, newFormData })\n }\n }, [newFormData, onChange, fields])\n\n return null\n}\n"],"names":["useAllFormFields","reduceFieldsToValues","useEffect","removeEmptyArrayValues","FormSavePlugin","props","onChange","_fields","fields","newFormData","fullFieldsWithValues"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,gBAAgB,QAAQ,iBAAgB;AACjD,SAASC,oBAAoB,QAAQ,wBAAuB;AAC5D,SAASC,SAAS,QAAQ,QAAO;AAEjC,SAASC,sBAAsB,QAAQ,8BAA6B;AAYpE,OAAO,MAAMC,iBAAkC,CAACC;IAC9C,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,CAACE,QAAQ,GAAGP;IAElB,MAAMQ,SAASL,uBAAuB;QAAEK,QAAQD;IAAQ;IAExD,wEAAwE;IACxE,8EAA8E;IAC9E,MAAME,cAAcR,qBAAqBO,QAAQ;IAEjDN,UAAU;QACR,IAAII,UAAU;YACZA,SAAS;gBAAEI,sBAAsBF;gBAAQC;YAAY;QACvD;IACF,GAAG;QAACA;QAAaH;QAAUE;KAAO;IAElC,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/features/blocks/component/FormSavePlugin.tsx"],"sourcesContent":["import type { Data, FormState } from 'payload'\nimport type React from 'react'\n\nimport { useAllFormFields } from '@payloadcms/ui'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport { removeEmptyArrayValues } from './removeEmptyArrayValues.js'\n\ntype Props = {\n onChange?: ({\n fullFieldsWithValues,\n newFormData,\n }: {\n fullFieldsWithValues: FormState\n newFormData: Data\n }) => void\n}\n\nexport const FormSavePlugin: React.FC<Props> = (props) => {\n const { onChange } = props\n\n const [_fields] = useAllFormFields()\n\n const fields = removeEmptyArrayValues({ fields: _fields })\n\n // Pass in fields, and indicate if you'd like to \"unflatten\" field data.\n // The result below will reflect the data stored in the form at the given time\n const newFormData = reduceFieldsToValues(fields, true)\n\n useEffect(() => {\n if (onChange) {\n onChange({ fullFieldsWithValues: fields, newFormData })\n }\n }, [newFormData, onChange, fields])\n\n return null\n}\n"],"names":["useAllFormFields","reduceFieldsToValues","useEffect","removeEmptyArrayValues","FormSavePlugin","props","onChange","_fields","fields","newFormData","fullFieldsWithValues"],"mappings":"AAGA,SAASA,gBAAgB,QAAQ,iBAAgB;AACjD,SAASC,oBAAoB,QAAQ,iBAAgB;AACrD,SAASC,SAAS,QAAQ,QAAO;AAEjC,SAASC,sBAAsB,QAAQ,8BAA6B;AAYpE,OAAO,MAAMC,iBAAkC,CAACC;IAC9C,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,CAACE,QAAQ,GAAGP;IAElB,MAAMQ,SAASL,uBAAuB;QAAEK,QAAQD;IAAQ;IAExD,wEAAwE;IACxE,8EAA8E;IAC9E,MAAME,cAAcR,qBAAqBO,QAAQ;IAEjDN,UAAU;QACR,IAAII,UAAU;YACZA,SAAS;gBAAEI,sBAAsBF;gBAAQC;YAAY;QACvD;IACF,GAAG;QAACA;QAAaH;QAAUE;KAAO;IAElC,OAAO;AACT,EAAC"}
@@ -5,10 +5,6 @@ type Props = {
5
5
  children?: React.ReactNode;
6
6
  formData: BlockFields;
7
7
  nodeKey?: string;
8
- /**
9
- * This transformedFormData already comes wrapped in blockFieldWrapperName
10
- */
11
- transformedFormData: BlockFields;
12
8
  };
13
9
  export declare const BlockComponent: React.FC<Props>;
14
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/component/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAczD,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAE1B,QAAQ,EAAE,WAAW,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,mBAAmB,EAAE,WAAW,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiJ1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/component/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAazD,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,EAAE,WAAW,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuJ1C,CAAA"}
@@ -17,8 +17,8 @@ export const BlockComponent = (props)=>{
17
17
  const { editorConfig, field: parentLexicalRichTextField } = useEditorConfigContext();
18
18
  const [initialState, setInitialState] = useState(false);
19
19
  const { field: { richTextComponentMap } } = useEditorConfigContext();
20
- const componentMapRenderedFieldsPath = `feature.blocks.fields.${formData?.blockType}`;
21
- const schemaFieldsPath = `${schemaPath}.feature.blocks.${formData?.blockType}`;
20
+ const componentMapRenderedFieldsPath = `lexical_internal_feature.blocks.fields.${formData?.blockType}`;
21
+ const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.${formData?.blockType}`;
22
22
  const reducedBlock = editorConfig?.resolvedFeatureMap?.get('blocks')?.sanitizedClientFeatureProps?.reducedBlocks?.find((block)=>block.slug === formData?.blockType);
23
23
  const fieldMap = richTextComponentMap.get(componentMapRenderedFieldsPath);
24
24
  // Field Schema
@@ -28,7 +28,7 @@ export const BlockComponent = (props)=>{
28
28
  apiRoute: config.routes.api,
29
29
  body: {
30
30
  id,
31
- data: JSON.parse(JSON.stringify(formData)),
31
+ data: formData,
32
32
  operation: 'update',
33
33
  schemaPath: schemaFieldsPath
34
34
  },
@@ -88,6 +88,7 @@ export const BlockComponent = (props)=>{
88
88
  `${baseClass}__row`,
89
89
  `${baseClass}__row--no-errors`
90
90
  ].filter(Boolean).join(' ');
91
+ const LabelComponent = reducedBlock?.LabelComponent;
91
92
  // Memoized Form JSX
92
93
  const formContent = useMemo(()=>{
93
94
  return reducedBlock && initialState !== false ? /*#__PURE__*/ _jsx(Form, {
@@ -108,21 +109,24 @@ export const BlockComponent = (props)=>{
108
109
  formData: formData,
109
110
  formSchema: Array.isArray(fieldMap) ? fieldMap : [],
110
111
  nodeKey: nodeKey,
111
- path: `${path}.feature.blocks.${formData.blockType}`,
112
+ path: `${path}.lexical_internal_feature.blocks.${formData.blockType}`,
112
113
  reducedBlock: reducedBlock,
113
114
  schemaPath: schemaFieldsPath
114
115
  })
115
116
  }) : /*#__PURE__*/ _jsx(Collapsible, {
116
117
  className: classNames,
117
118
  collapsibleStyle: "default",
118
- header: /*#__PURE__*/ _jsx("div", {
119
+ header: LabelComponent ? /*#__PURE__*/ _jsx(LabelComponent, {
120
+ blockKind: 'lexicalBlock',
121
+ formData: formData
122
+ }) : /*#__PURE__*/ _jsx("div", {
119
123
  className: `${baseClass}__block-header`,
120
124
  children: /*#__PURE__*/ _jsxs("div", {
121
125
  children: [
122
126
  /*#__PURE__*/ _jsx(Pill, {
123
127
  className: `${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`,
124
128
  pillStyle: "white",
125
- children: typeof reducedBlock.labels.singular === 'string' ? getTranslation(reducedBlock.labels.singular, i18n) : '[Singular Label]'
129
+ children: reducedBlock && typeof reducedBlock.labels.singular === 'string' ? getTranslation(reducedBlock.labels.singular, i18n) : '[Singular Label]'
126
130
  }),
127
131
  /*#__PURE__*/ _jsx(SectionTitle, {
128
132
  path: "blockName",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/blocks/component/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\n\nimport {\n Collapsible,\n Form,\n Pill,\n SectionTitle,\n ShimmerEffect,\n useConfig,\n useDocumentInfo,\n useFieldProps,\n useFormSubmitted,\n useTranslation,\n} from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { type BlockFields } from '../nodes/BlocksNode.js'\nconst baseClass = 'lexical-block'\nimport type { ReducedBlock } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { FormState } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { v4 as uuid } from 'uuid'\n\nimport type { ClientComponentProps } from '../../types.js'\nimport type { BlocksFeatureClientProps } from '../feature.client.js'\n\nimport { useEditorConfigContext } from '../../../lexical/config/client/EditorConfigProvider.js'\nimport { BlockContent } from './BlockContent.js'\nimport './index.scss'\n\ntype Props = {\n children?: React.ReactNode\n\n formData: BlockFields\n nodeKey?: string\n /**\n * This transformedFormData already comes wrapped in blockFieldWrapperName\n */\n transformedFormData: BlockFields\n}\n\nexport const BlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const config = useConfig()\n const submitted = useFormSubmitted()\n const { id } = useDocumentInfo()\n const { path, schemaPath } = useFieldProps()\n const { editorConfig, field: parentLexicalRichTextField } = useEditorConfigContext()\n\n const [initialState, setInitialState] = useState<FormState | false>(false)\n const {\n field: { richTextComponentMap },\n } = useEditorConfigContext()\n\n const componentMapRenderedFieldsPath = `feature.blocks.fields.${formData?.blockType}`\n const schemaFieldsPath = `${schemaPath}.feature.blocks.${formData?.blockType}`\n\n const reducedBlock: ReducedBlock = (\n editorConfig?.resolvedFeatureMap?.get('blocks')\n ?.sanitizedClientFeatureProps as ClientComponentProps<BlocksFeatureClientProps>\n )?.reducedBlocks?.find((block) => block.slug === formData?.blockType)\n\n const fieldMap = richTextComponentMap.get(componentMapRenderedFieldsPath)\n // Field Schema\n useEffect(() => {\n const awaitInitialState = async () => {\n const state = await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n data: JSON.parse(JSON.stringify(formData)),\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n }) // Form State\n\n if (state) {\n setInitialState({\n ...state,\n blockName: {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n },\n })\n }\n }\n\n if (formData) {\n void awaitInitialState()\n }\n }, [config.routes.api, config.serverURL, schemaFieldsPath, id])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const formState = await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n formState: prevFormState,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n })\n\n return {\n ...formState,\n blockName: {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n },\n }\n },\n\n [config.routes.api, config.serverURL, schemaFieldsPath, id, formData.blockName],\n )\n const { i18n } = useTranslation()\n\n const classNames = [`${baseClass}__row`, `${baseClass}__row--no-errors`].filter(Boolean).join(' ')\n\n // Memoized Form JSX\n const formContent = useMemo(() => {\n return reducedBlock && initialState !== false ? (\n <Form\n beforeSubmit={[onChange]}\n // @ts-expect-error TODO: Fix this\n fields={fieldMap}\n initialState={initialState}\n onChange={[onChange]}\n submitted={submitted}\n uuid={uuid()}\n >\n <BlockContent\n baseClass={baseClass}\n field={parentLexicalRichTextField}\n formData={formData}\n formSchema={Array.isArray(fieldMap) ? fieldMap : []}\n nodeKey={nodeKey}\n path={`${path}.feature.blocks.${formData.blockType}`}\n reducedBlock={reducedBlock}\n schemaPath={schemaFieldsPath}\n />\n </Form>\n ) : (\n <Collapsible\n className={classNames}\n collapsibleStyle=\"default\"\n header={\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {typeof reducedBlock.labels.singular === 'string'\n ? getTranslation(reducedBlock.labels.singular, i18n)\n : '[Singular Label]'}\n </Pill>\n <SectionTitle path=\"blockName\" readOnly={parentLexicalRichTextField?.readOnly} />\n </div>\n </div>\n }\n key={0}\n >\n <ShimmerEffect height=\"35vh\" />\n </Collapsible>\n )\n }, [\n classNames,\n fieldMap,\n parentLexicalRichTextField,\n nodeKey,\n i18n,\n submitted,\n initialState,\n reducedBlock,\n onChange,\n schemaFieldsPath,\n path,\n ]) // Adding formData to the dependencies here might break it\n return <div className={baseClass + ' ' + baseClass + '-' + formData.blockType}>{formContent}</div>\n}\n"],"names":["Collapsible","Form","Pill","SectionTitle","ShimmerEffect","useConfig","useDocumentInfo","useFieldProps","useFormSubmitted","useTranslation","React","useCallback","useEffect","useMemo","useState","baseClass","getTranslation","getFormState","v4","uuid","useEditorConfigContext","BlockContent","BlockComponent","props","formData","nodeKey","config","submitted","id","path","schemaPath","editorConfig","field","parentLexicalRichTextField","initialState","setInitialState","richTextComponentMap","componentMapRenderedFieldsPath","blockType","schemaFieldsPath","reducedBlock","resolvedFeatureMap","get","sanitizedClientFeatureProps","reducedBlocks","find","block","slug","fieldMap","awaitInitialState","state","apiRoute","routes","api","body","data","JSON","parse","stringify","operation","serverURL","blockName","initialValue","passesCondition","valid","value","onChange","formState","prevFormState","i18n","classNames","filter","Boolean","join","formContent","beforeSubmit","fields","formSchema","Array","isArray","className","collapsibleStyle","header","div","pillStyle","labels","singular","readOnly","height"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/features/blocks/component/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\n\nimport {\n Collapsible,\n Form,\n Pill,\n SectionTitle,\n ShimmerEffect,\n useConfig,\n useDocumentInfo,\n useFieldProps,\n useFormSubmitted,\n useTranslation,\n} from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { type BlockFields } from '../nodes/BlocksNode.js'\nconst baseClass = 'lexical-block'\nimport type { FormState } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { v4 as uuid } from 'uuid'\n\nimport type { ClientComponentProps } from '../../typesClient.js'\nimport type { BlocksFeatureClientProps, ClientBlock } from '../feature.client.js'\n\nimport { useEditorConfigContext } from '../../../lexical/config/client/EditorConfigProvider.js'\nimport { BlockContent } from './BlockContent.js'\nimport './index.scss'\n\ntype Props = {\n children?: React.ReactNode\n formData: BlockFields\n nodeKey?: string\n}\n\nexport const BlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const config = useConfig()\n const submitted = useFormSubmitted()\n const { id } = useDocumentInfo()\n const { path, schemaPath } = useFieldProps()\n const { editorConfig, field: parentLexicalRichTextField } = useEditorConfigContext()\n\n const [initialState, setInitialState] = useState<FormState | false>(false)\n const {\n field: { richTextComponentMap },\n } = useEditorConfigContext()\n\n const componentMapRenderedFieldsPath = `lexical_internal_feature.blocks.fields.${formData?.blockType}`\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.${formData?.blockType}`\n\n const reducedBlock: ClientBlock = (\n editorConfig?.resolvedFeatureMap?.get('blocks')\n ?.sanitizedClientFeatureProps as ClientComponentProps<BlocksFeatureClientProps>\n )?.reducedBlocks?.find((block) => block.slug === formData?.blockType)\n\n const fieldMap = richTextComponentMap.get(componentMapRenderedFieldsPath)\n // Field Schema\n useEffect(() => {\n const awaitInitialState = async () => {\n const state = await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n data: formData,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n }) // Form State\n\n if (state) {\n setInitialState({\n ...state,\n blockName: {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n },\n })\n }\n }\n\n if (formData) {\n void awaitInitialState()\n }\n }, [config.routes.api, config.serverURL, schemaFieldsPath, id])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const formState = await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n formState: prevFormState,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n })\n\n return {\n ...formState,\n blockName: {\n initialValue: '',\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n },\n }\n },\n\n [config.routes.api, config.serverURL, schemaFieldsPath, id, formData.blockName],\n )\n const { i18n } = useTranslation()\n\n const classNames = [`${baseClass}__row`, `${baseClass}__row--no-errors`].filter(Boolean).join(' ')\n\n const LabelComponent = reducedBlock?.LabelComponent\n\n // Memoized Form JSX\n const formContent = useMemo(() => {\n return reducedBlock && initialState !== false ? (\n <Form\n beforeSubmit={[onChange]}\n // @ts-expect-error TODO: Fix this\n fields={fieldMap}\n initialState={initialState}\n onChange={[onChange]}\n submitted={submitted}\n uuid={uuid()}\n >\n <BlockContent\n baseClass={baseClass}\n field={parentLexicalRichTextField}\n formData={formData}\n formSchema={Array.isArray(fieldMap) ? fieldMap : []}\n nodeKey={nodeKey}\n path={`${path}.lexical_internal_feature.blocks.${formData.blockType}`}\n reducedBlock={reducedBlock}\n schemaPath={schemaFieldsPath}\n />\n </Form>\n ) : (\n <Collapsible\n className={classNames}\n collapsibleStyle=\"default\"\n header={\n LabelComponent ? (\n <LabelComponent blockKind={'lexicalBlock'} formData={formData} />\n ) : (\n <div className={`${baseClass}__block-header`}>\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {reducedBlock && typeof reducedBlock.labels.singular === 'string'\n ? getTranslation(reducedBlock.labels.singular, i18n)\n : '[Singular Label]'}\n </Pill>\n <SectionTitle path=\"blockName\" readOnly={parentLexicalRichTextField?.readOnly} />\n </div>\n </div>\n )\n }\n key={0}\n >\n <ShimmerEffect height=\"35vh\" />\n </Collapsible>\n )\n }, [\n classNames,\n fieldMap,\n parentLexicalRichTextField,\n nodeKey,\n i18n,\n submitted,\n initialState,\n reducedBlock,\n onChange,\n schemaFieldsPath,\n path,\n ]) // Adding formData to the dependencies here might break it\n return <div className={baseClass + ' ' + baseClass + '-' + formData.blockType}>{formContent}</div>\n}\n"],"names":["Collapsible","Form","Pill","SectionTitle","ShimmerEffect","useConfig","useDocumentInfo","useFieldProps","useFormSubmitted","useTranslation","React","useCallback","useEffect","useMemo","useState","baseClass","getTranslation","getFormState","v4","uuid","useEditorConfigContext","BlockContent","BlockComponent","props","formData","nodeKey","config","submitted","id","path","schemaPath","editorConfig","field","parentLexicalRichTextField","initialState","setInitialState","richTextComponentMap","componentMapRenderedFieldsPath","blockType","schemaFieldsPath","reducedBlock","resolvedFeatureMap","get","sanitizedClientFeatureProps","reducedBlocks","find","block","slug","fieldMap","awaitInitialState","state","apiRoute","routes","api","body","data","operation","serverURL","blockName","initialValue","passesCondition","valid","value","onChange","formState","prevFormState","i18n","classNames","filter","Boolean","join","LabelComponent","formContent","beforeSubmit","fields","formSchema","Array","isArray","className","collapsibleStyle","header","blockKind","div","pillStyle","labels","singular","readOnly","height"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/blocks/component/removeEmptyArrayValues.ts"],"sourcesContent":["import 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"],"names":["removeEmptyArrayValues","fields","key","field","Array","isArray","rows","disableFormData"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAEA;;;;;CAKC,GACD,OAAO,SAASA,uBAAuB,EAAEC,MAAM,EAAyB;IACtE,IAAK,MAAMC,OAAOD,OAAQ;QACxB,MAAME,QAAQF,MAAM,CAACC,IAAI;QACzB,IAAIE,MAAMC,OAAO,CAACF,MAAMG,IAAI,KAAK,WAAWH,OAAO;YACjDA,MAAMI,eAAe,GAAG;QAC1B;IACF;IACA,OAAON;AACT"}
1
+ {"version":3,"sources":["../../../../src/features/blocks/component/removeEmptyArrayValues.ts"],"sourcesContent":["import 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"],"names":["removeEmptyArrayValues","fields","key","field","Array","isArray","rows","disableFormData"],"mappings":"AAEA;;;;;CAKC,GACD,OAAO,SAASA,uBAAuB,EAAEC,MAAM,EAAyB;IACtE,IAAK,MAAMC,OAAOD,OAAQ;QACxB,MAAME,QAAQF,MAAM,CAACC,IAAI;QACzB,IAAIE,MAAMC,OAAO,CAACF,MAAMG,IAAI,KAAK,WAAWH,OAAO;YACjDA,MAAMI,eAAe,GAAG;QAC1B;IACF;IACA,OAAON;AACT"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { InlineBlockFields } from '../nodes/InlineBlocksNode.js';
3
+ import './index.scss';
4
+ type Props = {
5
+ readonly formData: InlineBlockFields;
6
+ readonly nodeKey?: string;
7
+ };
8
+ export declare const InlineBlockComponent: React.FC<Props>;
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/componentInline/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAoB7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2HhD,CAAA"}