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

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 (1054) hide show
  1. package/dist/cell/rscEntry.js +72 -74
  2. package/dist/cell/rscEntry.js.map +1 -1
  3. package/dist/dependencyChecker.spec.js +7 -8
  4. package/dist/dependencyChecker.spec.js.map +1 -1
  5. package/dist/exports/client/Component-DOSSWC76.js +2 -0
  6. package/dist/exports/client/Component-DOSSWC76.js.map +7 -0
  7. package/dist/exports/client/Component-MBLHTKDK.js +2 -0
  8. package/dist/exports/client/Component-MBLHTKDK.js.map +7 -0
  9. package/dist/exports/client/Field-OIMYWB22.js +2 -0
  10. package/dist/exports/client/Field-OIMYWB22.js.map +7 -0
  11. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js +2 -0
  12. package/dist/exports/client/RelationshipComponent-BG3DPV3T.js.map +7 -0
  13. package/dist/exports/client/bundled.css +1 -0
  14. package/dist/exports/client/chunk-2S5Q7QYO.js +2 -0
  15. package/dist/exports/client/chunk-2S5Q7QYO.js.map +7 -0
  16. package/dist/exports/client/chunk-BZZVLW4U.js +2 -0
  17. package/dist/exports/client/chunk-BZZVLW4U.js.map +7 -0
  18. package/dist/exports/client/chunk-DBWINSQN.js +2 -0
  19. package/dist/exports/client/chunk-DBWINSQN.js.map +7 -0
  20. package/dist/exports/client/chunk-EZX4YW7S.js +12 -0
  21. package/dist/exports/client/chunk-EZX4YW7S.js.map +7 -0
  22. package/dist/exports/client/chunk-F26IQ5RE.js +2 -0
  23. package/dist/exports/client/chunk-F26IQ5RE.js.map +7 -0
  24. package/dist/exports/client/chunk-INBEEENE.js +2 -0
  25. package/dist/exports/client/chunk-INBEEENE.js.map +7 -0
  26. package/dist/exports/client/chunk-QJ5EETIB.js +2 -0
  27. package/dist/exports/client/chunk-QJ5EETIB.js.map +7 -0
  28. package/dist/exports/client/component-XIHC3W6W.js +2 -0
  29. package/dist/exports/client/component-XIHC3W6W.js.map +7 -0
  30. package/dist/exports/client/componentInline-NL25DNZ5.js +2 -0
  31. package/dist/exports/client/componentInline-NL25DNZ5.js.map +7 -0
  32. package/dist/exports/client/index.js +65 -85
  33. package/dist/exports/client/index.js.map +7 -1
  34. package/dist/exports/cssEntry.js +0 -1
  35. package/dist/exports/cssEntry.js.map +1 -1
  36. package/dist/exports/html/index.js +0 -1
  37. package/dist/exports/html/index.js.map +1 -1
  38. package/dist/exports/html-async/index.js +0 -1
  39. package/dist/exports/html-async/index.js.map +1 -1
  40. package/dist/exports/plaintext/index.js +0 -1
  41. package/dist/exports/plaintext/index.js.map +1 -1
  42. package/dist/exports/react/index.js +0 -1
  43. package/dist/exports/react/index.js.map +1 -1
  44. package/dist/exports/server/ast/mdx.js +34 -36
  45. package/dist/exports/server/ast/mdx.js.map +1 -1
  46. package/dist/exports/server/migrate.js +0 -1
  47. package/dist/exports/server/migrate.js.map +1 -1
  48. package/dist/exports/server/rsc.js +0 -1
  49. package/dist/exports/server/rsc.js.map +1 -1
  50. package/dist/exports/shared.js +0 -1
  51. package/dist/exports/shared.js.map +1 -1
  52. package/dist/features/align/client/index.js +195 -168
  53. package/dist/features/align/client/index.js.map +1 -1
  54. package/dist/features/align/client/toolbarAlignGroup.js +9 -9
  55. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -1
  56. package/dist/features/align/server/i18n.js +222 -223
  57. package/dist/features/align/server/i18n.js.map +1 -1
  58. package/dist/features/align/server/index.js +5 -6
  59. package/dist/features/align/server/index.js.map +1 -1
  60. package/dist/features/blockquote/client/index.js +60 -65
  61. package/dist/features/blockquote/client/index.js.map +1 -1
  62. package/dist/features/blockquote/markdownTransformer.js +28 -33
  63. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  64. package/dist/features/blockquote/server/i18n.js +111 -112
  65. package/dist/features/blockquote/server/i18n.js.map +1 -1
  66. package/dist/features/blockquote/server/index.js +48 -47
  67. package/dist/features/blockquote/server/index.js.map +1 -1
  68. package/dist/features/blocks/client/component/BlockContent.js +69 -95
  69. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  70. package/dist/features/blocks/client/component/components/BlockCollapsible.js +14 -13
  71. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  72. package/dist/features/blocks/client/component/components/BlockEditButton.js +17 -9
  73. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -1
  74. package/dist/features/blocks/client/component/components/BlockRemoveButton.js +17 -9
  75. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -1
  76. package/dist/features/blocks/client/component/index.js +418 -561
  77. package/dist/features/blocks/client/component/index.js.map +1 -1
  78. package/dist/features/blocks/client/component/removeEmptyArrayValues.js +11 -8
  79. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +1 -1
  80. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +23 -11
  81. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  82. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +17 -9
  83. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -1
  84. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +17 -9
  85. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -1
  86. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +17 -9
  87. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -1
  88. package/dist/features/blocks/client/componentInline/index.js +346 -474
  89. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  90. package/dist/features/blocks/client/getBlockImageComponent.js +34 -34
  91. package/dist/features/blocks/client/getBlockImageComponent.js.map +1 -1
  92. package/dist/features/blocks/client/index.js +146 -141
  93. package/dist/features/blocks/client/index.js.map +1 -1
  94. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +18 -18
  95. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  96. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +15 -14
  97. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  98. package/dist/features/blocks/client/markdown/markdownTransformer.js +330 -328
  99. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  100. package/dist/features/blocks/client/nodes/BlocksNode.js +40 -44
  101. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  102. package/dist/features/blocks/client/nodes/InlineBlocksNode.js +33 -37
  103. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  104. package/dist/features/blocks/client/plugin/commands.js +1 -1
  105. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  106. package/dist/features/blocks/client/plugin/index.js +87 -59
  107. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  108. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +101 -158
  109. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  110. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +93 -119
  111. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -1
  112. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +11 -19
  113. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -1
  114. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +20 -32
  115. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -1
  116. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js +83 -84
  117. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js.map +1 -1
  118. package/dist/features/blocks/premade/CodeBlock/converter.js +40 -36
  119. package/dist/features/blocks/premade/CodeBlock/converter.js.map +1 -1
  120. package/dist/features/blocks/premade/CodeBlock/converterClient.js +1 -1
  121. package/dist/features/blocks/premade/CodeBlock/converterClient.js.map +1 -1
  122. package/dist/features/blocks/premade/CodeBlock/index.js +49 -49
  123. package/dist/features/blocks/premade/CodeBlock/index.js.map +1 -1
  124. package/dist/features/blocks/server/graphQLPopulationPromise.js +44 -29
  125. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  126. package/dist/features/blocks/server/i18n.js +333 -334
  127. package/dist/features/blocks/server/i18n.js.map +1 -1
  128. package/dist/features/blocks/server/index.js +218 -238
  129. package/dist/features/blocks/server/index.js.map +1 -1
  130. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js +122 -123
  131. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js.map +1 -1
  132. package/dist/features/blocks/server/markdown/markdownTransformer.js +349 -347
  133. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  134. package/dist/features/blocks/server/nodes/BlocksNode.js +90 -86
  135. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  136. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +87 -84
  137. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  138. package/dist/features/blocks/server/validate.js +55 -42
  139. package/dist/features/blocks/server/validate.js.map +1 -1
  140. package/dist/features/converters/htmlToLexical/index.js +24 -21
  141. package/dist/features/converters/htmlToLexical/index.js.map +1 -1
  142. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js +10 -7
  143. package/dist/features/converters/lexicalToHtml/async/converters/blockquote.js.map +1 -1
  144. package/dist/features/converters/lexicalToHtml/async/converters/heading.js +12 -16
  145. package/dist/features/converters/lexicalToHtml/async/converters/heading.js.map +1 -1
  146. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js +1 -2
  147. package/dist/features/converters/lexicalToHtml/async/converters/horizontalRule.js.map +1 -1
  148. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js +1 -2
  149. package/dist/features/converters/lexicalToHtml/async/converters/linebreak.js.map +1 -1
  150. package/dist/features/converters/lexicalToHtml/async/converters/link.js +40 -31
  151. package/dist/features/converters/lexicalToHtml/async/converters/link.js.map +1 -1
  152. package/dist/features/converters/lexicalToHtml/async/converters/list.js +30 -29
  153. package/dist/features/converters/lexicalToHtml/async/converters/list.js.map +1 -1
  154. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js +12 -9
  155. package/dist/features/converters/lexicalToHtml/async/converters/paragraph.js.map +1 -1
  156. package/dist/features/converters/lexicalToHtml/async/converters/tab.js +1 -2
  157. package/dist/features/converters/lexicalToHtml/async/converters/tab.js.map +1 -1
  158. package/dist/features/converters/lexicalToHtml/async/converters/table.js +38 -27
  159. package/dist/features/converters/lexicalToHtml/async/converters/table.js.map +1 -1
  160. package/dist/features/converters/lexicalToHtml/async/converters/text.js +26 -25
  161. package/dist/features/converters/lexicalToHtml/async/converters/text.js.map +1 -1
  162. package/dist/features/converters/lexicalToHtml/async/converters/upload.js +44 -41
  163. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  164. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js +11 -12
  165. package/dist/features/converters/lexicalToHtml/async/defaultConverters.js.map +1 -1
  166. package/dist/features/converters/lexicalToHtml/async/field/index.js +56 -56
  167. package/dist/features/converters/lexicalToHtml/async/field/index.js.map +1 -1
  168. package/dist/features/converters/lexicalToHtml/async/index.js +97 -87
  169. package/dist/features/converters/lexicalToHtml/async/index.js.map +1 -1
  170. package/dist/features/converters/lexicalToHtml/async/types.js +1 -4
  171. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  172. package/dist/features/converters/lexicalToHtml/shared/cssColors.js +6 -159
  173. package/dist/features/converters/lexicalToHtml/shared/cssColors.js.map +1 -1
  174. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js +62 -57
  175. package/dist/features/converters/lexicalToHtml/shared/findConverterForNode.js.map +1 -1
  176. package/dist/features/converters/lexicalToHtml/shared/types.js +1 -2
  177. package/dist/features/converters/lexicalToHtml/shared/types.js.map +1 -1
  178. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js +10 -7
  179. package/dist/features/converters/lexicalToHtml/sync/converters/blockquote.js.map +1 -1
  180. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js +12 -16
  181. package/dist/features/converters/lexicalToHtml/sync/converters/heading.js.map +1 -1
  182. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js +1 -2
  183. package/dist/features/converters/lexicalToHtml/sync/converters/horizontalRule.js.map +1 -1
  184. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js +1 -2
  185. package/dist/features/converters/lexicalToHtml/sync/converters/linebreak.js.map +1 -1
  186. package/dist/features/converters/lexicalToHtml/sync/converters/link.js +38 -30
  187. package/dist/features/converters/lexicalToHtml/sync/converters/link.js.map +1 -1
  188. package/dist/features/converters/lexicalToHtml/sync/converters/list.js +30 -29
  189. package/dist/features/converters/lexicalToHtml/sync/converters/list.js.map +1 -1
  190. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js +12 -9
  191. package/dist/features/converters/lexicalToHtml/sync/converters/paragraph.js.map +1 -1
  192. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js +1 -2
  193. package/dist/features/converters/lexicalToHtml/sync/converters/tab.js.map +1 -1
  194. package/dist/features/converters/lexicalToHtml/sync/converters/table.js +38 -27
  195. package/dist/features/converters/lexicalToHtml/sync/converters/table.js.map +1 -1
  196. package/dist/features/converters/lexicalToHtml/sync/converters/text.js +26 -25
  197. package/dist/features/converters/lexicalToHtml/sync/converters/text.js.map +1 -1
  198. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js +37 -35
  199. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  200. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js +11 -12
  201. package/dist/features/converters/lexicalToHtml/sync/defaultConverters.js.map +1 -1
  202. package/dist/features/converters/lexicalToHtml/sync/index.js +92 -84
  203. package/dist/features/converters/lexicalToHtml/sync/index.js.map +1 -1
  204. package/dist/features/converters/lexicalToHtml/sync/types.js +1 -4
  205. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  206. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js +4 -7
  207. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/linebreak.js.map +1 -1
  208. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js +34 -29
  209. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/paragraph.js.map +1 -1
  210. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js +6 -7
  211. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/tab.js.map +1 -1
  212. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js +28 -29
  213. package/dist/features/converters/lexicalToHtml_deprecated/converter/converters/text.js.map +1 -1
  214. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js +2 -7
  215. package/dist/features/converters/lexicalToHtml_deprecated/converter/defaultConverters.js.map +1 -1
  216. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js +84 -84
  217. package/dist/features/converters/lexicalToHtml_deprecated/converter/index.js.map +1 -1
  218. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js +1 -6
  219. package/dist/features/converters/lexicalToHtml_deprecated/converter/types.js.map +1 -1
  220. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js +107 -107
  221. package/dist/features/converters/lexicalToHtml_deprecated/field/index.js.map +1 -1
  222. package/dist/features/converters/lexicalToHtml_deprecated/index.js +4 -4
  223. package/dist/features/converters/lexicalToHtml_deprecated/index.js.map +1 -1
  224. package/dist/features/converters/lexicalToJSX/Component/index.js +36 -46
  225. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  226. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js +12 -14
  227. package/dist/features/converters/lexicalToJSX/converter/converters/blockquote.js.map +1 -1
  228. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js +13 -15
  229. package/dist/features/converters/lexicalToJSX/converter/converters/heading.js.map +1 -1
  230. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js +2 -7
  231. package/dist/features/converters/lexicalToJSX/converter/converters/horizontalRule.js.map +1 -1
  232. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js +2 -7
  233. package/dist/features/converters/lexicalToJSX/converter/converters/linebreak.js.map +1 -1
  234. package/dist/features/converters/lexicalToJSX/converter/converters/link.js +47 -49
  235. package/dist/features/converters/lexicalToJSX/converter/converters/link.js.map +1 -1
  236. package/dist/features/converters/lexicalToJSX/converter/converters/list.js +56 -78
  237. package/dist/features/converters/lexicalToJSX/converter/converters/list.js.map +1 -1
  238. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js +16 -26
  239. package/dist/features/converters/lexicalToJSX/converter/converters/paragraph.js.map +1 -1
  240. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js +1 -2
  241. package/dist/features/converters/lexicalToJSX/converter/converters/tab.js.map +1 -1
  242. package/dist/features/converters/lexicalToJSX/converter/converters/table.js +59 -73
  243. package/dist/features/converters/lexicalToJSX/converter/converters/table.js.map +1 -1
  244. package/dist/features/converters/lexicalToJSX/converter/converters/text.js +47 -74
  245. package/dist/features/converters/lexicalToJSX/converter/converters/text.js.map +1 -1
  246. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js +61 -77
  247. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  248. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js +11 -12
  249. package/dist/features/converters/lexicalToJSX/converter/defaultConverters.js.map +1 -1
  250. package/dist/features/converters/lexicalToJSX/converter/index.js +128 -123
  251. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  252. package/dist/features/converters/lexicalToJSX/converter/types.js +1 -4
  253. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  254. package/dist/features/converters/lexicalToMarkdown/index.js +19 -17
  255. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  256. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js +146 -223
  257. package/dist/features/converters/lexicalToPlaintext/convertLexicalToPlaintext.spec.js.map +1 -1
  258. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js +13 -11
  259. package/dist/features/converters/lexicalToPlaintext/shared/findConverterForNode.js.map +1 -1
  260. package/dist/features/converters/lexicalToPlaintext/shared/types.js +1 -2
  261. package/dist/features/converters/lexicalToPlaintext/shared/types.js.map +1 -1
  262. package/dist/features/converters/lexicalToPlaintext/sync/index.js +82 -83
  263. package/dist/features/converters/lexicalToPlaintext/sync/index.js.map +1 -1
  264. package/dist/features/converters/lexicalToPlaintext/sync/types.js +1 -3
  265. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  266. package/dist/features/converters/markdownToLexical/index.js +16 -14
  267. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  268. package/dist/features/converters/utilities/payloadPopulateFn.js +38 -37
  269. package/dist/features/converters/utilities/payloadPopulateFn.js.map +1 -1
  270. package/dist/features/converters/utilities/restPopulateFn.js +30 -24
  271. package/dist/features/converters/utilities/restPopulateFn.js.map +1 -1
  272. package/dist/features/debug/jsxConverter/client/index.js +5 -7
  273. package/dist/features/debug/jsxConverter/client/index.js.map +1 -1
  274. package/dist/features/debug/jsxConverter/client/plugin/index.js +47 -27
  275. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  276. package/dist/features/debug/jsxConverter/server/index.js +4 -5
  277. package/dist/features/debug/jsxConverter/server/index.js.map +1 -1
  278. package/dist/features/debug/testRecorder/client/index.js +5 -7
  279. package/dist/features/debug/testRecorder/client/index.js.map +1 -1
  280. package/dist/features/debug/testRecorder/client/plugin/index.js +365 -456
  281. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  282. package/dist/features/debug/testRecorder/server/index.js +4 -5
  283. package/dist/features/debug/testRecorder/server/index.js.map +1 -1
  284. package/dist/features/debug/treeView/client/index.js +5 -7
  285. package/dist/features/debug/treeView/client/index.js.map +1 -1
  286. package/dist/features/debug/treeView/client/plugin/index.js +23 -18
  287. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -1
  288. package/dist/features/debug/treeView/server/index.js +4 -5
  289. package/dist/features/debug/treeView/server/index.js.map +1 -1
  290. package/dist/features/experimental_table/client/index.js +42 -61
  291. package/dist/features/experimental_table/client/index.js.map +1 -1
  292. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +517 -752
  293. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  294. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +316 -350
  295. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  296. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +225 -215
  297. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  298. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +133 -104
  299. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  300. package/dist/features/experimental_table/client/utils/debounce.js +107 -89
  301. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  302. package/dist/features/experimental_table/client/utils/useDebounce.js +39 -21
  303. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  304. package/dist/features/experimental_table/markdownTransformer.js +118 -123
  305. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  306. package/dist/features/experimental_table/server/index.js +143 -125
  307. package/dist/features/experimental_table/server/index.js.map +1 -1
  308. package/dist/features/format/bold/feature.client.js +35 -38
  309. package/dist/features/format/bold/feature.client.js.map +1 -1
  310. package/dist/features/format/bold/feature.server.js +14 -18
  311. package/dist/features/format/bold/feature.server.js.map +1 -1
  312. package/dist/features/format/bold/markdownTransformers.js +14 -25
  313. package/dist/features/format/bold/markdownTransformers.js.map +1 -1
  314. package/dist/features/format/inlineCode/feature.client.js +27 -31
  315. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  316. package/dist/features/format/inlineCode/feature.server.js +5 -8
  317. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  318. package/dist/features/format/inlineCode/markdownTransformers.js +3 -6
  319. package/dist/features/format/inlineCode/markdownTransformers.js.map +1 -1
  320. package/dist/features/format/italic/feature.client.js +27 -32
  321. package/dist/features/format/italic/feature.client.js.map +1 -1
  322. package/dist/features/format/italic/feature.server.js +5 -9
  323. package/dist/features/format/italic/feature.server.js.map +1 -1
  324. package/dist/features/format/italic/markdownTransformers.js +7 -12
  325. package/dist/features/format/italic/markdownTransformers.js.map +1 -1
  326. package/dist/features/format/shared/toolbarFormatGroup.js +8 -8
  327. package/dist/features/format/shared/toolbarFormatGroup.js.map +1 -1
  328. package/dist/features/format/strikethrough/feature.client.js +27 -31
  329. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  330. package/dist/features/format/strikethrough/feature.server.js +5 -8
  331. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  332. package/dist/features/format/strikethrough/markdownTransformers.js +3 -6
  333. package/dist/features/format/strikethrough/markdownTransformers.js.map +1 -1
  334. package/dist/features/format/subscript/feature.client.js +26 -28
  335. package/dist/features/format/subscript/feature.client.js.map +1 -1
  336. package/dist/features/format/subscript/feature.server.js +4 -5
  337. package/dist/features/format/subscript/feature.server.js.map +1 -1
  338. package/dist/features/format/superscript/feature.client.js +26 -28
  339. package/dist/features/format/superscript/feature.client.js.map +1 -1
  340. package/dist/features/format/superscript/feature.server.js +4 -5
  341. package/dist/features/format/superscript/feature.server.js.map +1 -1
  342. package/dist/features/format/underline/feature.client.js +26 -28
  343. package/dist/features/format/underline/feature.client.js.map +1 -1
  344. package/dist/features/format/underline/feature.server.js +4 -5
  345. package/dist/features/format/underline/feature.server.js.map +1 -1
  346. package/dist/features/heading/client/index.js +142 -121
  347. package/dist/features/heading/client/index.js.map +1 -1
  348. package/dist/features/heading/markdownTransformer.js +22 -25
  349. package/dist/features/heading/markdownTransformer.js.map +1 -1
  350. package/dist/features/heading/server/i18n.js +111 -112
  351. package/dist/features/heading/server/i18n.js.map +1 -1
  352. package/dist/features/heading/server/index.d.ts.map +1 -1
  353. package/dist/features/heading/server/index.js +60 -62
  354. package/dist/features/heading/server/index.js.map +1 -1
  355. package/dist/features/horizontalRule/client/index.js +48 -57
  356. package/dist/features/horizontalRule/client/index.js.map +1 -1
  357. package/dist/features/horizontalRule/client/markdownTransformer.js +15 -18
  358. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  359. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +27 -25
  360. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  361. package/dist/features/horizontalRule/client/plugin/index.js +32 -21
  362. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  363. package/dist/features/horizontalRule/server/i18n.js +111 -112
  364. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  365. package/dist/features/horizontalRule/server/index.js +17 -24
  366. package/dist/features/horizontalRule/server/index.js.map +1 -1
  367. package/dist/features/horizontalRule/server/markdownTransformer.js +15 -18
  368. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  369. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +72 -69
  370. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  371. package/dist/features/indent/client/IndentPlugin.js +78 -78
  372. package/dist/features/indent/client/IndentPlugin.js.map +1 -1
  373. package/dist/features/indent/client/index.js +77 -68
  374. package/dist/features/indent/client/index.js.map +1 -1
  375. package/dist/features/indent/client/toolbarIndentGroup.js +8 -8
  376. package/dist/features/indent/client/toolbarIndentGroup.js.map +1 -1
  377. package/dist/features/indent/server/i18n.js +148 -149
  378. package/dist/features/indent/server/i18n.js.map +1 -1
  379. package/dist/features/indent/server/index.js +11 -18
  380. package/dist/features/indent/server/index.js.map +1 -1
  381. package/dist/features/link/client/index.js +80 -83
  382. package/dist/features/link/client/index.js.map +1 -1
  383. package/dist/features/link/client/plugins/autoLink/index.js +273 -280
  384. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  385. package/dist/features/link/client/plugins/clickableLink/index.js +4 -8
  386. package/dist/features/link/client/plugins/clickableLink/index.js.map +1 -1
  387. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -1
  388. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  389. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +308 -395
  390. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  391. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +9 -12
  392. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  393. package/dist/features/link/client/plugins/floatingLinkEditor/types.js +1 -6
  394. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  395. package/dist/features/link/client/plugins/link/index.js +68 -53
  396. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  397. package/dist/features/link/markdownTransformer.js +33 -34
  398. package/dist/features/link/markdownTransformer.js.map +1 -1
  399. package/dist/features/link/nodes/AutoLinkNode.js +58 -56
  400. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  401. package/dist/features/link/nodes/LinkNode.js +288 -286
  402. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  403. package/dist/features/link/nodes/types.js +1 -6
  404. package/dist/features/link/nodes/types.js.map +1 -1
  405. package/dist/features/link/server/baseFields.js +140 -115
  406. package/dist/features/link/server/baseFields.js.map +1 -1
  407. package/dist/features/link/server/graphQLPopulationPromise.js +45 -29
  408. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  409. package/dist/features/link/server/i18n.js +148 -149
  410. package/dist/features/link/server/i18n.js.map +1 -1
  411. package/dist/features/link/server/index.js +143 -156
  412. package/dist/features/link/server/index.js.map +1 -1
  413. package/dist/features/link/server/transformExtraFields.js +15 -15
  414. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  415. package/dist/features/link/server/validate.js +46 -35
  416. package/dist/features/link/server/validate.js.map +1 -1
  417. package/dist/features/lists/checklist/client/index.js +78 -86
  418. package/dist/features/lists/checklist/client/index.js.map +1 -1
  419. package/dist/features/lists/checklist/client/plugin/index.js +4 -8
  420. package/dist/features/lists/checklist/client/plugin/index.js.map +1 -1
  421. package/dist/features/lists/checklist/markdownTransformers.js +7 -11
  422. package/dist/features/lists/checklist/markdownTransformers.js.map +1 -1
  423. package/dist/features/lists/checklist/server/i18n.js +111 -112
  424. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  425. package/dist/features/lists/checklist/server/index.js +21 -26
  426. package/dist/features/lists/checklist/server/index.js.map +1 -1
  427. package/dist/features/lists/htmlConverter.js +62 -47
  428. package/dist/features/lists/htmlConverter.js.map +1 -1
  429. package/dist/features/lists/orderedList/client/index.js +72 -78
  430. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  431. package/dist/features/lists/orderedList/markdownTransformer.js +7 -11
  432. package/dist/features/lists/orderedList/markdownTransformer.js.map +1 -1
  433. package/dist/features/lists/orderedList/server/i18n.js +111 -112
  434. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  435. package/dist/features/lists/orderedList/server/index.js +21 -26
  436. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  437. package/dist/features/lists/plugin/index.js +4 -8
  438. package/dist/features/lists/plugin/index.js.map +1 -1
  439. package/dist/features/lists/shared/markdown.js +48 -49
  440. package/dist/features/lists/shared/markdown.js.map +1 -1
  441. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js +9 -10
  442. package/dist/features/lists/shared/shouldRegisterListBaseNodes.js.map +1 -1
  443. package/dist/features/lists/shared/slashMenuListGroup.js +9 -8
  444. package/dist/features/lists/shared/slashMenuListGroup.js.map +1 -1
  445. package/dist/features/lists/unorderedList/client/index.js +68 -76
  446. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  447. package/dist/features/lists/unorderedList/markdownTransformer.js +7 -11
  448. package/dist/features/lists/unorderedList/markdownTransformer.js.map +1 -1
  449. package/dist/features/lists/unorderedList/server/i18n.js +111 -112
  450. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  451. package/dist/features/lists/unorderedList/server/index.js +17 -24
  452. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  453. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +18 -17
  454. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  455. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +30 -29
  456. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  457. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +21 -20
  458. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  459. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +21 -19
  460. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  461. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +18 -17
  462. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  463. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +24 -23
  464. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  465. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +20 -21
  466. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  467. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +1 -10
  468. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  469. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +70 -64
  470. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  471. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js +1 -2
  472. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  473. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +5 -7
  474. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  475. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +42 -43
  476. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  477. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +11 -21
  478. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  479. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +66 -65
  480. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  481. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +19 -19
  482. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  483. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +20 -26
  484. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  485. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +28 -30
  486. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  487. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +26 -27
  488. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  489. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +22 -21
  490. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  491. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +22 -22
  492. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  493. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +12 -13
  494. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  495. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +23 -23
  496. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  497. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +22 -22
  498. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  499. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +15 -16
  500. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  501. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +1 -13
  502. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  503. package/dist/features/migrations/slateToLexical/converter/index.js +117 -110
  504. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  505. package/dist/features/migrations/slateToLexical/converter/types.js +1 -2
  506. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  507. package/dist/features/migrations/slateToLexical/feature.client.js +5 -7
  508. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  509. package/dist/features/migrations/slateToLexical/feature.server.js +45 -54
  510. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  511. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +11 -21
  512. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  513. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +66 -65
  514. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  515. package/dist/features/paragraph/client/index.js +58 -61
  516. package/dist/features/paragraph/client/index.js.map +1 -1
  517. package/dist/features/paragraph/server/i18n.js +148 -149
  518. package/dist/features/paragraph/server/i18n.js.map +1 -1
  519. package/dist/features/paragraph/server/index.js +6 -7
  520. package/dist/features/paragraph/server/index.js.map +1 -1
  521. package/dist/features/relationship/client/components/RelationshipComponent.js +118 -147
  522. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  523. package/dist/features/relationship/client/drawer/commands.js +0 -1
  524. package/dist/features/relationship/client/drawer/commands.js.map +1 -1
  525. package/dist/features/relationship/client/drawer/index.js +132 -81
  526. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  527. package/dist/features/relationship/client/index.js +53 -59
  528. package/dist/features/relationship/client/index.js.map +1 -1
  529. package/dist/features/relationship/client/nodes/RelationshipNode.js +60 -64
  530. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  531. package/dist/features/relationship/client/plugins/index.js +69 -39
  532. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  533. package/dist/features/relationship/client/utils/useEnabledRelationships.js +58 -48
  534. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  535. package/dist/features/relationship/server/graphQLPopulationPromise.js +34 -26
  536. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  537. package/dist/features/relationship/server/i18n.js +111 -112
  538. package/dist/features/relationship/server/i18n.js.map +1 -1
  539. package/dist/features/relationship/server/index.js +59 -64
  540. package/dist/features/relationship/server/index.js.map +1 -1
  541. package/dist/features/relationship/server/nodes/RelationshipNode.js +95 -92
  542. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  543. package/dist/features/shared/slashMenu/basicGroup.js +9 -8
  544. package/dist/features/shared/slashMenu/basicGroup.js.map +1 -1
  545. package/dist/features/shared/toolbar/addDropdownGroup.js +8 -9
  546. package/dist/features/shared/toolbar/addDropdownGroup.js.map +1 -1
  547. package/dist/features/shared/toolbar/featureButtonsGroup.js +7 -8
  548. package/dist/features/shared/toolbar/featureButtonsGroup.js.map +1 -1
  549. package/dist/features/shared/toolbar/textDropdownGroup.js +8 -9
  550. package/dist/features/shared/toolbar/textDropdownGroup.js.map +1 -1
  551. package/dist/features/textState/defaultColors.js +370 -370
  552. package/dist/features/textState/defaultColors.js.map +1 -1
  553. package/dist/features/textState/feature.client.js +64 -77
  554. package/dist/features/textState/feature.client.js.map +1 -1
  555. package/dist/features/textState/feature.server.js +14 -46
  556. package/dist/features/textState/feature.server.js.map +1 -1
  557. package/dist/features/textState/i18n.js +111 -112
  558. package/dist/features/textState/i18n.js.map +1 -1
  559. package/dist/features/textState/textState.js +62 -64
  560. package/dist/features/textState/textState.js.map +1 -1
  561. package/dist/features/toolbars/fixed/client/Toolbar/index.js +241 -251
  562. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  563. package/dist/features/toolbars/fixed/client/index.js +5 -7
  564. package/dist/features/toolbars/fixed/client/index.js.map +1 -1
  565. package/dist/features/toolbars/fixed/server/index.js +16 -32
  566. package/dist/features/toolbars/fixed/server/index.js.map +1 -1
  567. package/dist/features/toolbars/inline/client/Toolbar/index.js +310 -326
  568. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  569. package/dist/features/toolbars/inline/client/index.js +5 -7
  570. package/dist/features/toolbars/inline/client/index.js.map +1 -1
  571. package/dist/features/toolbars/inline/server/index.js +4 -5
  572. package/dist/features/toolbars/inline/server/index.js.map +1 -1
  573. package/dist/features/toolbars/shared/ToolbarButton/index.js +76 -53
  574. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  575. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +208 -264
  576. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  577. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +111 -94
  578. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  579. package/dist/features/toolbars/shared/useToolbarStates.js +108 -112
  580. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  581. package/dist/features/toolbars/types.js +1 -29
  582. package/dist/features/toolbars/types.js.map +1 -1
  583. package/dist/features/typeUtilities.js +2 -3
  584. package/dist/features/typeUtilities.js.map +1 -1
  585. package/dist/features/typesClient.js +1 -61
  586. package/dist/features/typesClient.js.map +1 -1
  587. package/dist/features/typesServer.js +1 -90
  588. package/dist/features/typesServer.js.map +1 -1
  589. package/dist/features/upload/client/component/index.js +189 -242
  590. package/dist/features/upload/client/component/index.js.map +1 -1
  591. package/dist/features/upload/client/component/pending/index.js +10 -19
  592. package/dist/features/upload/client/component/pending/index.js.map +1 -1
  593. package/dist/features/upload/client/drawer/commands.js +1 -1
  594. package/dist/features/upload/client/drawer/commands.js.map +1 -1
  595. package/dist/features/upload/client/drawer/index.js +132 -83
  596. package/dist/features/upload/client/drawer/index.js.map +1 -1
  597. package/dist/features/upload/client/index.js +51 -61
  598. package/dist/features/upload/client/index.js.map +1 -1
  599. package/dist/features/upload/client/nodes/UploadNode.js +61 -67
  600. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  601. package/dist/features/upload/client/plugin/index.js +331 -290
  602. package/dist/features/upload/client/plugin/index.js.map +1 -1
  603. package/dist/features/upload/server/graphQLPopulationPromise.js +63 -48
  604. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  605. package/dist/features/upload/server/i18n.js +111 -112
  606. package/dist/features/upload/server/i18n.js.map +1 -1
  607. package/dist/features/upload/server/index.js +208 -200
  608. package/dist/features/upload/server/index.js.map +1 -1
  609. package/dist/features/upload/server/markdownTransformer.js +46 -48
  610. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  611. package/dist/features/upload/server/nodes/UploadNode.js +99 -115
  612. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  613. package/dist/features/upload/server/nodes/conversions.js +40 -41
  614. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  615. package/dist/features/upload/server/validate.js +62 -48
  616. package/dist/features/upload/server/validate.js.map +1 -1
  617. package/dist/field/Diff/converters/link.js +44 -35
  618. package/dist/field/Diff/converters/link.js.map +1 -1
  619. package/dist/field/Diff/converters/listitem/index.js +55 -75
  620. package/dist/field/Diff/converters/listitem/index.js.map +1 -1
  621. package/dist/field/Diff/converters/relationship/index.js +63 -85
  622. package/dist/field/Diff/converters/relationship/index.js.map +1 -1
  623. package/dist/field/Diff/converters/unknown/index.js +41 -64
  624. package/dist/field/Diff/converters/unknown/index.js.map +1 -1
  625. package/dist/field/Diff/converters/upload/index.js +66 -122
  626. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  627. package/dist/field/Diff/index.js +99 -86
  628. package/dist/field/Diff/index.js.map +1 -1
  629. package/dist/field/Field.js +179 -234
  630. package/dist/field/Field.js.map +1 -1
  631. package/dist/field/RenderLexical/index.js +119 -123
  632. package/dist/field/RenderLexical/index.js.map +1 -1
  633. package/dist/field/bundled.css +1 -0
  634. package/dist/field/index.js +97 -61
  635. package/dist/field/index.js.map +1 -1
  636. package/dist/field/rscEntry.js +84 -86
  637. package/dist/field/rscEntry.js.map +1 -1
  638. package/dist/i18n.js +222 -223
  639. package/dist/i18n.js.map +1 -1
  640. package/dist/index.js +704 -639
  641. package/dist/index.js.map +1 -1
  642. package/dist/lexical/EditorPlugin.js +17 -21
  643. package/dist/lexical/EditorPlugin.js.map +1 -1
  644. package/dist/lexical/LexicalEditor.js +174 -275
  645. package/dist/lexical/LexicalEditor.js.map +1 -1
  646. package/dist/lexical/LexicalProvider.js +88 -110
  647. package/dist/lexical/LexicalProvider.js.map +1 -1
  648. package/dist/lexical/config/client/EditorConfigProvider.js +81 -94
  649. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  650. package/dist/lexical/config/client/default.js +3 -3
  651. package/dist/lexical/config/client/default.js.map +1 -1
  652. package/dist/lexical/config/client/loader.js +38 -30
  653. package/dist/lexical/config/client/loader.js.map +1 -1
  654. package/dist/lexical/config/client/sanitize.js +187 -188
  655. package/dist/lexical/config/client/sanitize.js.map +1 -1
  656. package/dist/lexical/config/server/default.js +5 -27
  657. package/dist/lexical/config/server/default.js.map +1 -1
  658. package/dist/lexical/config/server/loader.js +106 -105
  659. package/dist/lexical/config/server/loader.js.map +1 -1
  660. package/dist/lexical/config/server/sanitize.js +113 -114
  661. package/dist/lexical/config/server/sanitize.js.map +1 -1
  662. package/dist/lexical/config/types.js +1 -4
  663. package/dist/lexical/config/types.js.map +1 -1
  664. package/dist/lexical/nodes/index.js +15 -12
  665. package/dist/lexical/nodes/index.js.map +1 -1
  666. package/dist/lexical/plugins/ClipboardPlugin/index.js +70 -66
  667. package/dist/lexical/plugins/ClipboardPlugin/index.js.map +1 -1
  668. package/dist/lexical/plugins/DecoratorPlugin/index.js +225 -208
  669. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  670. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js +41 -42
  671. package/dist/lexical/plugins/InsertParagraphAtEnd/index.js.map +1 -1
  672. package/dist/lexical/plugins/MarkdownShortcut/index.js +23 -11
  673. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  674. package/dist/lexical/plugins/NormalizeSelection/index.js +19 -21
  675. package/dist/lexical/plugins/NormalizeSelection/index.js.map +1 -1
  676. package/dist/lexical/plugins/SelectAllPlugin/index.js +17 -19
  677. package/dist/lexical/plugins/SelectAllPlugin/index.js.map +1 -1
  678. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +420 -399
  679. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  680. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +155 -164
  681. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  682. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -10
  683. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  684. package/dist/lexical/plugins/SlashMenu/index.js +181 -204
  685. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  686. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +41 -28
  687. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  688. package/dist/lexical/plugins/TextPlugin/index.js +42 -27
  689. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  690. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +130 -145
  691. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  692. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +10 -10
  693. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  694. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +10 -10
  695. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  696. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +26 -23
  697. package/dist/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  698. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +317 -325
  699. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  700. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +98 -86
  701. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  702. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +22 -16
  703. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -1
  704. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +19 -29
  705. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  706. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js +14 -11
  707. package/dist/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -1
  708. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +133 -122
  709. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  710. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +2 -2
  711. package/dist/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  712. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js +2 -2
  713. package/dist/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -1
  714. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +24 -29
  715. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  716. package/dist/lexical/theme/EditorTheme.js +65 -72
  717. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  718. package/dist/lexical/ui/ContentEditable.js +35 -22
  719. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  720. package/dist/lexical/ui/icons/AI/index.js +31 -58
  721. package/dist/lexical/ui/icons/AI/index.js.map +1 -1
  722. package/dist/lexical/ui/icons/Add/index.js +16 -31
  723. package/dist/lexical/ui/icons/Add/index.js.map +1 -1
  724. package/dist/lexical/ui/icons/AlignCenter/index.js +25 -45
  725. package/dist/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  726. package/dist/lexical/ui/icons/AlignJustify/index.js +25 -45
  727. package/dist/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  728. package/dist/lexical/ui/icons/AlignLeft/index.js +25 -45
  729. package/dist/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  730. package/dist/lexical/ui/icons/AlignRight/index.js +25 -45
  731. package/dist/lexical/ui/icons/AlignRight/index.js.map +1 -1
  732. package/dist/lexical/ui/icons/Block/index.js +34 -54
  733. package/dist/lexical/ui/icons/Block/index.js.map +1 -1
  734. package/dist/lexical/ui/icons/Blockquote/index.js +16 -24
  735. package/dist/lexical/ui/icons/Blockquote/index.js.map +1 -1
  736. package/dist/lexical/ui/icons/Bold/index.js +16 -24
  737. package/dist/lexical/ui/icons/Bold/index.js.map +1 -1
  738. package/dist/lexical/ui/icons/Checklist/index.js +24 -39
  739. package/dist/lexical/ui/icons/Checklist/index.js.map +1 -1
  740. package/dist/lexical/ui/icons/Code/index.js +19 -34
  741. package/dist/lexical/ui/icons/Code/index.js.map +1 -1
  742. package/dist/lexical/ui/icons/CodeBlock/index.js +14 -22
  743. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  744. package/dist/lexical/ui/icons/Collapse/index.js +15 -23
  745. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -1
  746. package/dist/lexical/ui/icons/H1/index.js +16 -24
  747. package/dist/lexical/ui/icons/H1/index.js.map +1 -1
  748. package/dist/lexical/ui/icons/H2/index.js +16 -24
  749. package/dist/lexical/ui/icons/H2/index.js.map +1 -1
  750. package/dist/lexical/ui/icons/H3/index.js +16 -24
  751. package/dist/lexical/ui/icons/H3/index.js.map +1 -1
  752. package/dist/lexical/ui/icons/H4/index.js +16 -24
  753. package/dist/lexical/ui/icons/H4/index.js.map +1 -1
  754. package/dist/lexical/ui/icons/H5/index.js +16 -24
  755. package/dist/lexical/ui/icons/H5/index.js.map +1 -1
  756. package/dist/lexical/ui/icons/H6/index.js +16 -24
  757. package/dist/lexical/ui/icons/H6/index.js.map +1 -1
  758. package/dist/lexical/ui/icons/HorizontalRule/index.js +19 -27
  759. package/dist/lexical/ui/icons/HorizontalRule/index.js.map +1 -1
  760. package/dist/lexical/ui/icons/IndentDecrease/index.js +28 -53
  761. package/dist/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  762. package/dist/lexical/ui/icons/IndentIncrease/index.js +28 -53
  763. package/dist/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  764. package/dist/lexical/ui/icons/InlineBlocks/index.js +18 -26
  765. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -1
  766. package/dist/lexical/ui/icons/Italic/index.js +16 -24
  767. package/dist/lexical/ui/icons/Italic/index.js.map +1 -1
  768. package/dist/lexical/ui/icons/Link/index.js +17 -25
  769. package/dist/lexical/ui/icons/Link/index.js.map +1 -1
  770. package/dist/lexical/ui/icons/Meatballs/index.js +19 -39
  771. package/dist/lexical/ui/icons/Meatballs/index.js.map +1 -1
  772. package/dist/lexical/ui/icons/OrderedList/index.js +31 -61
  773. package/dist/lexical/ui/icons/OrderedList/index.js.map +1 -1
  774. package/dist/lexical/ui/icons/Relationship/index.js +31 -58
  775. package/dist/lexical/ui/icons/Relationship/index.js.map +1 -1
  776. package/dist/lexical/ui/icons/Strikethrough/index.js +19 -34
  777. package/dist/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  778. package/dist/lexical/ui/icons/Subscript/index.js +16 -24
  779. package/dist/lexical/ui/icons/Subscript/index.js.map +1 -1
  780. package/dist/lexical/ui/icons/Superscript/index.js +16 -24
  781. package/dist/lexical/ui/icons/Superscript/index.js.map +1 -1
  782. package/dist/lexical/ui/icons/Table/index.js +17 -25
  783. package/dist/lexical/ui/icons/Table/index.js.map +1 -1
  784. package/dist/lexical/ui/icons/Text/index.js +16 -24
  785. package/dist/lexical/ui/icons/Text/index.js.map +1 -1
  786. package/dist/lexical/ui/icons/TextState/index.js +19 -25
  787. package/dist/lexical/ui/icons/TextState/index.js.map +1 -1
  788. package/dist/lexical/ui/icons/Underline/index.js +19 -34
  789. package/dist/lexical/ui/icons/Underline/index.js.map +1 -1
  790. package/dist/lexical/ui/icons/UnorderedList/index.js +46 -81
  791. package/dist/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  792. package/dist/lexical/ui/icons/Upload/index.js +28 -48
  793. package/dist/lexical/ui/icons/Upload/index.js.map +1 -1
  794. package/dist/lexical/utils/canUseDOM.js +1 -1
  795. package/dist/lexical/utils/canUseDOM.js.map +1 -1
  796. package/dist/lexical/utils/environment.js +1 -1
  797. package/dist/lexical/utils/environment.js.map +1 -1
  798. package/dist/lexical/utils/getDOMRangeRect.js +12 -12
  799. package/dist/lexical/utils/getDOMRangeRect.js.map +1 -1
  800. package/dist/lexical/utils/getSelectedNode.js +17 -13
  801. package/dist/lexical/utils/getSelectedNode.js.map +1 -1
  802. package/dist/lexical/utils/guard.js +4 -3
  803. package/dist/lexical/utils/guard.js.map +1 -1
  804. package/dist/lexical/utils/joinClasses.js +2 -2
  805. package/dist/lexical/utils/joinClasses.js.map +1 -1
  806. package/dist/lexical/utils/markdown/createBlockNode.js +9 -10
  807. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  808. package/dist/lexical/utils/nodeFormat.js +58 -59
  809. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  810. package/dist/lexical/utils/point.js +39 -32
  811. package/dist/lexical/utils/point.js.map +1 -1
  812. package/dist/lexical/utils/rect.js +166 -136
  813. package/dist/lexical/utils/rect.js.map +1 -1
  814. package/dist/lexical/utils/setFloatingElemPosition.js +56 -48
  815. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  816. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js +49 -49
  817. package/dist/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -1
  818. package/dist/lexical/utils/swipe.js +81 -83
  819. package/dist/lexical/utils/swipe.js.map +1 -1
  820. package/dist/lexical/utils/url.js +53 -53
  821. package/dist/lexical/utils/url.js.map +1 -1
  822. package/dist/lexical/utils/url.spec.js +98 -214
  823. package/dist/lexical/utils/url.spec.js.map +1 -1
  824. package/dist/lexical-proxy/@lexical-headless.js +0 -1
  825. package/dist/lexical-proxy/@lexical-headless.js.map +1 -1
  826. package/dist/lexical-proxy/@lexical-html.js +0 -1
  827. package/dist/lexical-proxy/@lexical-html.js.map +1 -1
  828. package/dist/lexical-proxy/@lexical-link.js +0 -1
  829. package/dist/lexical-proxy/@lexical-link.js.map +1 -1
  830. package/dist/lexical-proxy/@lexical-list.js +0 -1
  831. package/dist/lexical-proxy/@lexical-list.js.map +1 -1
  832. package/dist/lexical-proxy/@lexical-mark.js +0 -1
  833. package/dist/lexical-proxy/@lexical-mark.js.map +1 -1
  834. package/dist/lexical-proxy/@lexical-markdown.js +0 -1
  835. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  836. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +0 -1
  837. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -1
  838. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +0 -1
  839. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -1
  840. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +0 -1
  841. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -1
  842. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +0 -1
  843. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -1
  844. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +0 -1
  845. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -1
  846. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +0 -1
  847. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -1
  848. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +0 -1
  849. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -1
  850. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +0 -1
  851. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -1
  852. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +0 -1
  853. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -1
  854. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +0 -1
  855. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -1
  856. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +0 -1
  857. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -1
  858. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +0 -1
  859. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -1
  860. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +0 -1
  861. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -1
  862. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -1
  863. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -1
  864. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +0 -1
  865. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -1
  866. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +0 -1
  867. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -1
  868. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +0 -1
  869. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -1
  870. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +0 -1
  871. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -1
  872. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +0 -1
  873. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -1
  874. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +0 -1
  875. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -1
  876. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +0 -1
  877. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -1
  878. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +0 -1
  879. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -1
  880. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +0 -1
  881. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -1
  882. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +0 -1
  883. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -1
  884. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +0 -1
  885. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -1
  886. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +0 -1
  887. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -1
  888. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js +0 -1
  889. package/dist/lexical-proxy/@lexical-react/LexicalNodeContextMenuPlugin.js.map +1 -1
  890. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +0 -1
  891. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -1
  892. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +0 -1
  893. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -1
  894. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +0 -1
  895. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -1
  896. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +0 -1
  897. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -1
  898. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +0 -1
  899. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -1
  900. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +0 -1
  901. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -1
  902. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +0 -1
  903. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -1
  904. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +0 -1
  905. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -1
  906. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +0 -1
  907. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -1
  908. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +0 -1
  909. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -1
  910. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +0 -1
  911. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -1
  912. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +0 -1
  913. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -1
  914. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +0 -1
  915. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -1
  916. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +0 -1
  917. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -1
  918. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +0 -1
  919. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -1
  920. package/dist/lexical-proxy/@lexical-rich-text.js +0 -1
  921. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -1
  922. package/dist/lexical-proxy/@lexical-selection.js +0 -1
  923. package/dist/lexical-proxy/@lexical-selection.js.map +1 -1
  924. package/dist/lexical-proxy/@lexical-utils.js +0 -1
  925. package/dist/lexical-proxy/@lexical-utils.js.map +1 -1
  926. package/dist/lexical-proxy/lexical.js +0 -1
  927. package/dist/lexical-proxy/lexical.js.map +1 -1
  928. package/dist/nodeTypes.js +1 -35
  929. package/dist/nodeTypes.js.map +1 -1
  930. package/dist/packages/@lexical/markdown/MarkdownExport.js +179 -184
  931. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +1 -1
  932. package/dist/packages/@lexical/markdown/MarkdownImport.js +168 -173
  933. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +1 -1
  934. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +268 -258
  935. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +1 -1
  936. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +209 -305
  937. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +1 -1
  938. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +73 -76
  939. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +1 -1
  940. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +48 -59
  941. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +1 -1
  942. package/dist/packages/@lexical/markdown/importTextTransformers.js +45 -51
  943. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +1 -1
  944. package/dist/packages/@lexical/markdown/index.js +14 -33
  945. package/dist/packages/@lexical/markdown/index.js.map +1 -1
  946. package/dist/packages/@lexical/markdown/utils.js +185 -217
  947. package/dist/packages/@lexical/markdown/utils.js.map +1 -1
  948. package/dist/populateGraphQL/defaultValue.js +24 -29
  949. package/dist/populateGraphQL/defaultValue.js.map +1 -1
  950. package/dist/populateGraphQL/populate.js +37 -26
  951. package/dist/populateGraphQL/populate.js.map +1 -1
  952. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +50 -34
  953. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  954. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js +42 -35
  955. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  956. package/dist/types.js +1 -40
  957. package/dist/types.js.map +1 -1
  958. package/dist/utilities/applyBaseFilterToFields.js +84 -81
  959. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  960. package/dist/utilities/buildEditorState.js +40 -39
  961. package/dist/utilities/buildEditorState.js.map +1 -1
  962. package/dist/utilities/buildInitialState.js +52 -51
  963. package/dist/utilities/buildInitialState.js.map +1 -1
  964. package/dist/utilities/createClientFeature.js +48 -42
  965. package/dist/utilities/createClientFeature.js.map +1 -1
  966. package/dist/utilities/createServerFeature.js +48 -38
  967. package/dist/utilities/createServerFeature.js.map +1 -1
  968. package/dist/utilities/editorConfigFactory.js +79 -78
  969. package/dist/utilities/editorConfigFactory.js.map +1 -1
  970. package/dist/utilities/fieldsDrawer/Drawer.js +70 -45
  971. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  972. package/dist/utilities/fieldsDrawer/DrawerContent.js +124 -134
  973. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  974. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +115 -64
  975. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  976. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +121 -76
  977. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  978. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +141 -79
  979. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  980. package/dist/utilities/forEachNodeRecursively.js +24 -19
  981. package/dist/utilities/forEachNodeRecursively.js.map +1 -1
  982. package/dist/utilities/generateImportMap.js +49 -43
  983. package/dist/utilities/generateImportMap.js.map +1 -1
  984. package/dist/utilities/generateSchemaMap.js +37 -32
  985. package/dist/utilities/generateSchemaMap.js.map +1 -1
  986. package/dist/utilities/getDefaultSanitizedEditorConfig.js +14 -12
  987. package/dist/utilities/getDefaultSanitizedEditorConfig.js.map +1 -1
  988. package/dist/utilities/initLexicalFeatures.js +65 -68
  989. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  990. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +29 -26
  991. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  992. package/dist/utilities/jsx/declare.d.js.map +1 -1
  993. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +102 -100
  994. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -1
  995. package/dist/utilities/jsx/jsx.js +80 -76
  996. package/dist/utilities/jsx/jsx.js.map +1 -1
  997. package/dist/utilities/jsx/jsx.spec.js +171 -225
  998. package/dist/utilities/jsx/jsx.spec.js.map +1 -1
  999. package/dist/utilities/migrateSlateToLexical/index.js +127 -111
  1000. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -1
  1001. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +78 -74
  1002. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  1003. package/dist/utilities/recurseNodeTree.js +25 -22
  1004. package/dist/utilities/recurseNodeTree.js.map +1 -1
  1005. package/dist/utilities/upgradeLexicalData/index.js +101 -87
  1006. package/dist/utilities/upgradeLexicalData/index.js.map +1 -1
  1007. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +80 -78
  1008. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  1009. package/dist/utilities/useLexicalFeature.js +16 -14
  1010. package/dist/utilities/useLexicalFeature.js.map +1 -1
  1011. package/dist/utilities/useRunDeprioritized.js +37 -41
  1012. package/dist/utilities/useRunDeprioritized.js.map +1 -1
  1013. package/dist/validate/hasText.js +20 -21
  1014. package/dist/validate/hasText.js.map +1 -1
  1015. package/dist/validate/index.js +28 -22
  1016. package/dist/validate/index.js.map +1 -1
  1017. package/dist/validate/validateNodes.js +31 -28
  1018. package/dist/validate/validateNodes.js.map +1 -1
  1019. package/package.json +8 -8
  1020. package/dist/features/blocks/client/component/index.scss +0 -188
  1021. package/dist/features/blocks/client/componentInline/index.scss +0 -100
  1022. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.scss +0 -6
  1023. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.scss +0 -29
  1024. package/dist/features/blocks/premade/CodeBlock/Component/index.scss +0 -97
  1025. package/dist/features/debug/jsxConverter/client/plugin/style.scss +0 -12
  1026. package/dist/features/debug/testRecorder/client/plugin/index.scss +0 -53
  1027. package/dist/features/debug/treeView/client/plugin/index.scss +0 -80
  1028. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.scss +0 -87
  1029. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.scss +0 -11
  1030. package/dist/features/experimental_table/client/plugins/TablePlugin/index.scss +0 -233
  1031. package/dist/features/horizontalRule/client/plugin/index.scss +0 -23
  1032. package/dist/features/link/client/plugins/floatingLinkEditor/index.scss +0 -95
  1033. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  1034. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  1035. package/dist/features/relationship/client/components/index.scss +0 -95
  1036. package/dist/features/toolbars/fixed/client/Toolbar/index.scss +0 -113
  1037. package/dist/features/toolbars/inline/client/Toolbar/index.scss +0 -58
  1038. package/dist/features/toolbars/shared/ToolbarButton/index.scss +0 -46
  1039. package/dist/features/toolbars/shared/ToolbarDropdown/index.scss +0 -129
  1040. package/dist/features/upload/client/component/index.scss +0 -191
  1041. package/dist/field/Diff/converters/listitem/index.scss +0 -47
  1042. package/dist/field/Diff/converters/relationship/index.scss +0 -73
  1043. package/dist/field/Diff/converters/unknown/index.scss +0 -40
  1044. package/dist/field/Diff/converters/upload/index.scss +0 -115
  1045. package/dist/field/Diff/index.scss +0 -102
  1046. package/dist/field/index.scss +0 -41
  1047. package/dist/lexical/LexicalEditor.scss +0 -58
  1048. package/dist/lexical/plugins/DecoratorPlugin/index.scss +0 -13
  1049. package/dist/lexical/plugins/InsertParagraphAtEnd/index.scss +0 -54
  1050. package/dist/lexical/plugins/SlashMenu/index.scss +0 -68
  1051. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +0 -35
  1052. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.scss +0 -80
  1053. package/dist/lexical/theme/EditorTheme.scss +0 -361
  1054. package/dist/lexical/ui/ContentEditable.scss +0 -105
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"sourcesContent":["'use client'\n\nimport type { BlocksFieldClient, ClientBlock, Data, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n Drawer,\n EditDepthProvider,\n Form,\n formatDrawerSlug,\n FormSubmit,\n RenderFields,\n ShimmerEffect,\n useConfig,\n useDocumentForm,\n useDocumentInfo,\n useEditDepth,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { $getNodeByKey } from 'lexical'\n\nimport './index.scss'\n\nimport { deepCopyObjectSimpleWithoutReactComponents, reduceFieldsToValues } from 'payload/shared'\nimport React, { createContext, useCallback, useEffect, useMemo, useRef } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { InlineBlockFields } from '../../server/nodes/InlineBlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\n\ntype Props = {\n /**\n * Can be modified by the node in order to trigger the re-fetch of the initial state based on the\n * formData. This is useful when node.setFields() is explicitly called from outside of the form - in\n * this case, the new field state is likely not reflected in the form state, so we need to re-fetch\n */\n readonly cacheBuster: number\n readonly className: string\n readonly formData: InlineBlockFields\n readonly nodeKey: string\n}\n\ntype InlineBlockComponentContextType = {\n EditButton?: React.FC\n initialState: false | FormState | undefined\n InlineBlockContainer?: React.FC<{ children: React.ReactNode }>\n Label?: React.FC\n nodeKey?: string\n RemoveButton?: React.FC\n}\n\nconst InlineBlockComponentContext = createContext<InlineBlockComponentContextType>({\n initialState: false,\n})\n\nexport const useInlineBlockComponentContext = () => React.use(InlineBlockComponentContext)\n\nexport const InlineBlockComponent: React.FC<Props> = (props) => {\n const { cacheBuster, className: baseClass, formData, nodeKey } = props\n\n const [editor] = useLexicalComposerContext()\n const isEditable = useLexicalEditable()\n const { i18n, t } = useTranslation<object, string>()\n const {\n createdInlineBlock,\n fieldProps: { featureClientSchemaMap, initialLexicalFormState, schemaPath },\n setCreatedInlineBlock,\n uuid: uuidFromContext,\n } = useEditorConfigContext()\n const { fields: parentDocumentFields } = useDocumentForm()\n\n const { getFormState } = useServerFunctions()\n const editDepth = useEditDepth()\n const firstTimeDrawer = useRef(false)\n\n const [initialState, setInitialState] = React.useState<false | FormState | undefined>(() => {\n // Initial form state that was calculated server-side. May have stale values\n const cachedFormState = initialLexicalFormState?.[formData.id]?.formState\n if (!cachedFormState) {\n return false\n }\n\n // Merge current formData values into the cached form state\n // This ensures that when the component remounts (e.g., due to view changes), we don't lose user edits\n return Object.fromEntries(\n Object.entries(cachedFormState).map(([fieldName, fieldState]) => [\n fieldName,\n fieldName in formData\n ? {\n ...fieldState,\n initialValue: formData[fieldName],\n value: formData[fieldName],\n }\n : fieldState,\n ]),\n )\n })\n\n const hasMounted = useRef(false)\n const prevCacheBuster = useRef(cacheBuster)\n useEffect(() => {\n if (hasMounted.current) {\n if (prevCacheBuster.current !== cacheBuster) {\n setInitialState(false)\n }\n prevCacheBuster.current = cacheBuster\n } else {\n hasMounted.current = true\n }\n }, [cacheBuster])\n\n const [CustomLabel, setCustomLabel] = React.useState<React.ReactNode | undefined>(\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n initialState?.['_components']?.customComponents?.BlockLabel,\n )\n\n const [CustomBlock, setCustomBlock] = React.useState<React.ReactNode | undefined>(\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n initialState?.['_components']?.customComponents?.Block,\n )\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-inlineBlocks-create-${uuidFromContext}-${formData.id}`,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n const inlineBlockElemElemRef = useRef<HTMLDivElement | null>(null)\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { config } = useConfig()\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${formData.blockType}`\n\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap?.[\n componentMapRenderedBlockPath\n ]?.[0] as BlocksFieldClient\n\n const clientBlock: ClientBlock | undefined = blocksField.blockReferences\n ? typeof blocksField?.blockReferences?.[0] === 'string'\n ? config.blocksMap[blocksField?.blockReferences?.[0]]\n : blocksField?.blockReferences?.[0]\n : blocksField?.blocks?.[0]\n\n const clientBlockFields = clientBlock?.fields ?? []\n\n // Open drawer on \"mount\"\n useEffect(() => {\n if (!firstTimeDrawer.current && createdInlineBlock?.getKey() === nodeKey) {\n // > 2 because they always have \"id\" and \"blockName\" fields\n if (clientBlockFields.length > 2) {\n toggleDrawer()\n }\n setCreatedInlineBlock?.(undefined)\n firstTimeDrawer.current = true\n }\n }, [clientBlockFields.length, createdInlineBlock, nodeKey, setCreatedInlineBlock, toggleDrawer])\n\n const removeInlineBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock?.labels.singular, i18n)\n : clientBlock?.slug\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${clientBlock?.slug}.fields`\n\n // Initial state for newly created blocks\n useEffect(() => {\n const abortController = new AbortController()\n\n const awaitInitialState = async () => {\n /*\n * This will only run if a new block is created. For all existing blocks that are loaded when the document is loaded, or when the form is saved,\n * this is not run, as the lexical field RSC will fetch the state server-side and pass it to the client. That way, we avoid unnecessary client-side\n * requests. Though for newly created blocks, we need to fetch the state client-side, as the server doesn't know about the block yet.\n */\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: formData,\n docPermissions: { fields: true },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n globalSlug,\n initialBlockData: formData,\n initialBlockFormState: formData,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n const newFormStateData: InlineBlockFields = reduceFieldsToValues(\n deepCopyObjectSimpleWithoutReactComponents(state, { excludeFiles: true }),\n true,\n ) as InlineBlockFields\n\n // Things like default values may come back from the server => update the node with the new data\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n const newData = newFormStateData\n newData.blockType = formData.blockType\n\n node.setFields(newData, true)\n }\n })\n\n setInitialState(state)\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n }\n\n if (formData && !initialState) {\n void awaitInitialState()\n }\n\n return () => {\n abortAndIgnore(abortController)\n }\n }, [\n getFormState,\n editor,\n nodeKey,\n isEditable,\n schemaFieldsPath,\n id,\n formData,\n initialState,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n parentDocumentFields,\n ])\n\n /**\n * HANDLE ONCHANGE\n */\n const onChange = useCallback(\n async ({ formState: prevFormState, submit }: { formState: FormState; submit?: boolean }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n formState: prevFormState,\n globalSlug,\n initialBlockFormState: prevFormState,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: submit ? true : false,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n if (submit) {\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n\n return state\n },\n [\n getFormState,\n id,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n isEditable,\n schemaFieldsPath,\n ],\n )\n // cleanup effect\n useEffect(() => {\n const isStateOutOfSync = (formData: InlineBlockFields, initialState: FormState) => {\n return Object.keys(initialState).some(\n (key) => initialState[key] && formData[key] !== initialState[key].value,\n )\n }\n\n return () => {\n // If the component is unmounted (either via removeInlineBlock or via lexical itself) and the form state got changed before,\n // we need to reset the initial state to force a re-fetch of the initial state when it gets mounted again (e.g. via lexical history undo).\n // Otherwise it would use an outdated initial state.\n if (initialState && isStateOutOfSync(formData, initialState)) {\n setInitialState(false)\n }\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [formData, initialState])\n\n /**\n * HANDLE FORM SUBMIT\n */\n const onFormSubmit = useCallback(\n (formState: FormState, newData: Data) => {\n newData.blockType = formData.blockType\n\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n node.setFields(newData as InlineBlockFields, true)\n }\n })\n },\n [editor, nodeKey, formData],\n )\n\n const RemoveButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={!isEditable}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeInlineBlock()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:remove', { label: blockDisplayName })}\n />\n ),\n [baseClass, blockDisplayName, isEditable, removeInlineBlock, t],\n )\n\n const EditButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={!isEditable}\n el=\"button\"\n icon=\"edit\"\n onClick={() => {\n toggleDrawer()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n ),\n [baseClass, blockDisplayName, isEditable, t, toggleDrawer],\n )\n\n const InlineBlockContainer = useMemo(\n () =>\n ({ children, className }: { children: React.ReactNode; className?: string }) => (\n <div\n className={[`${baseClass}__container`, baseClass + '-' + formData.blockType, className]\n .filter(Boolean)\n .join(' ')}\n ref={inlineBlockElemElemRef}\n >\n {children}\n </div>\n ),\n [baseClass, formData.blockType],\n )\n\n const Label = useMemo(() => {\n if (CustomLabel) {\n return () => CustomLabel\n } else {\n return () => (\n <div>{clientBlock?.labels ? getTranslation(clientBlock?.labels.singular, i18n) : ''}</div>\n )\n }\n }, [CustomLabel, clientBlock?.labels, i18n])\n\n if (!clientBlock) {\n return (\n <InlineBlockContainer className={`${baseClass}-not-found`}>\n <span>Error: Block '{formData.blockType}' not found</span>\n {isEditable ? (\n <div className={`${baseClass}__actions`}>\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\n )\n }\n\n return (\n <Form\n beforeSubmit={[\n async ({ formState }) => {\n // This is only called when form is submitted from drawer\n return await onChange({ formState, submit: true })\n },\n ]}\n disableValidationOnSubmit\n el=\"div\"\n fields={clientBlock?.fields}\n initialState={initialState || {}}\n onChange={[onChange]}\n onSubmit={(formState, data) => {\n onFormSubmit(formState, data)\n toggleDrawer()\n }}\n uuid={uuid()}\n >\n <EditDepthProvider>\n <Drawer\n className={''}\n slug={drawerSlug}\n title={t(`lexical:blocks:inlineBlocks:${formData?.id ? 'edit' : 'create'}`, {\n label: blockDisplayName ?? t('lexical:blocks:inlineBlocks:label'),\n })}\n >\n {initialState ? (\n <>\n <RenderFields\n fields={clientBlock?.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\" // See Blocks feature path for details as for why this is empty\n parentSchemaPath={schemaFieldsPath}\n permissions={true}\n readOnly={!isEditable}\n />\n <FormSubmit programmaticSubmit={true}>{t('fields:saveChanges')}</FormSubmit>\n </>\n ) : null}\n </Drawer>\n </EditDepthProvider>\n {CustomBlock ? (\n <InlineBlockComponentContext\n value={{\n EditButton,\n initialState,\n InlineBlockContainer,\n Label,\n nodeKey,\n RemoveButton,\n }}\n >\n {CustomBlock}\n </InlineBlockComponentContext>\n ) : (\n <InlineBlockContainer>\n {initialState ? <Label /> : <ShimmerEffect height=\"15px\" width=\"40px\" />}\n {isEditable ? (\n <div className={`${baseClass}__actions`}>\n <EditButton />\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\n )}\n </Form>\n )\n}\n"],"names":["useLexicalComposerContext","useLexicalEditable","getTranslation","Button","Drawer","EditDepthProvider","Form","formatDrawerSlug","FormSubmit","RenderFields","ShimmerEffect","useConfig","useDocumentForm","useDocumentInfo","useEditDepth","useServerFunctions","useTranslation","abortAndIgnore","$getNodeByKey","deepCopyObjectSimpleWithoutReactComponents","reduceFieldsToValues","React","createContext","useCallback","useEffect","useMemo","useRef","v4","uuid","useEditorConfigContext","useLexicalDrawer","$isInlineBlockNode","InlineBlockComponentContext","initialState","useInlineBlockComponentContext","use","InlineBlockComponent","props","cacheBuster","className","baseClass","formData","nodeKey","editor","isEditable","i18n","t","createdInlineBlock","fieldProps","featureClientSchemaMap","initialLexicalFormState","schemaPath","setCreatedInlineBlock","uuidFromContext","fields","parentDocumentFields","getFormState","editDepth","firstTimeDrawer","setInitialState","useState","cachedFormState","id","formState","Object","fromEntries","entries","map","fieldName","fieldState","initialValue","value","hasMounted","prevCacheBuster","current","CustomLabel","setCustomLabel","customComponents","BlockLabel","CustomBlock","setCustomBlock","Block","drawerSlug","slug","depth","toggleDrawer","inlineBlockElemElemRef","collectionSlug","getDocPreferences","globalSlug","config","componentMapRenderedBlockPath","blockType","clientSchemaMap","blocksField","clientBlock","blockReferences","blocksMap","blocks","clientBlockFields","getKey","length","undefined","removeInlineBlock","update","remove","blockDisplayName","labels","singular","onChangeAbortControllerRef","AbortController","schemaFieldsPath","abortController","awaitInitialState","state","data","docPermissions","docPreferences","documentFormState","excludeFiles","initialBlockData","initialBlockFormState","operation","readOnly","renderAllFields","signal","newFormStateData","node","newData","setFields","onChange","prevFormState","submit","controller","isStateOutOfSync","keys","some","key","onFormSubmit","RemoveButton","buttonStyle","disabled","icon","onClick","e","preventDefault","round","size","tooltip","label","EditButton","el","InlineBlockContainer","children","div","filter","Boolean","join","ref","Label","span","beforeSubmit","disableValidationOnSubmit","onSubmit","title","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","programmaticSubmit","height","width"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["useLexicalComposerContext","useLexicalEditable","getTranslation","Button","Drawer","EditDepthProvider","Form","formatDrawerSlug","FormSubmit","RenderFields","ShimmerEffect","useConfig","useDocumentForm","useDocumentInfo","useEditDepth","useServerFunctions","useTranslation","abortAndIgnore","$getNodeByKey","deepCopyObjectSimpleWithoutReactComponents","reduceFieldsToValues","React","createContext","useCallback","useEffect","useMemo","useRef","v4","uuid","useEditorConfigContext","useLexicalDrawer","$isInlineBlockNode","InlineBlockComponentContext","initialState","useInlineBlockComponentContext","use","InlineBlockComponent","props","cacheBuster","className","baseClass","formData","nodeKey","editor","isEditable","i18n","t","createdInlineBlock","fieldProps","featureClientSchemaMap","initialLexicalFormState","schemaPath","setCreatedInlineBlock","uuidFromContext","fields","parentDocumentFields","getFormState","editDepth","firstTimeDrawer","setInitialState","useState","cachedFormState","id","formState","Object","fromEntries","entries","map","fieldName","fieldState","initialValue","value","hasMounted","prevCacheBuster","current","CustomLabel","setCustomLabel","customComponents","BlockLabel","CustomBlock","setCustomBlock","Block","drawerSlug","slug","depth","toggleDrawer","inlineBlockElemElemRef","collectionSlug","getDocPreferences","globalSlug","config","componentMapRenderedBlockPath","blockType","clientSchemaMap","blocksField","clientBlock","blockReferences","blocksMap","blocks","clientBlockFields","getKey","length","undefined","removeInlineBlock","update","remove","blockDisplayName","labels","singular","onChangeAbortControllerRef","AbortController","schemaFieldsPath","abortController","awaitInitialState","state","data","docPermissions","docPreferences","documentFormState","excludeFiles","initialBlockData","initialBlockFormState","operation","readOnly","renderAllFields","signal","newFormStateData","node","newData","setFields","onChange","prevFormState","submit","controller","isStateOutOfSync","keys","some","key","onFormSubmit","RemoveButton","_jsx","buttonStyle","disabled","icon","onClick","e","preventDefault","round","size","tooltip","label","EditButton","el","InlineBlockContainer","children","filter","Boolean","join","ref","Label","_jsxs","beforeSubmit","disableValidationOnSubmit","onSubmit","title","_Fragment","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","programmaticSubmit","height","width"],"sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"sourcesContent":["'use client'\n\nimport type { BlocksFieldClient, ClientBlock, Data, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n Drawer,\n EditDepthProvider,\n Form,\n formatDrawerSlug,\n FormSubmit,\n RenderFields,\n ShimmerEffect,\n useConfig,\n useDocumentForm,\n useDocumentInfo,\n useEditDepth,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { $getNodeByKey } from 'lexical'\n\nimport './index.scss'\n\nimport { deepCopyObjectSimpleWithoutReactComponents, reduceFieldsToValues } from 'payload/shared'\nimport React, { createContext, useCallback, useEffect, useMemo, useRef } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { InlineBlockFields } from '../../server/nodes/InlineBlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $isInlineBlockNode } from '../nodes/InlineBlocksNode.js'\n\ntype Props = {\n /**\n * Can be modified by the node in order to trigger the re-fetch of the initial state based on the\n * formData. This is useful when node.setFields() is explicitly called from outside of the form - in\n * this case, the new field state is likely not reflected in the form state, so we need to re-fetch\n */\n readonly cacheBuster: number\n readonly className: string\n readonly formData: InlineBlockFields\n readonly nodeKey: string\n}\n\ntype InlineBlockComponentContextType = {\n EditButton?: React.FC\n initialState: false | FormState | undefined\n InlineBlockContainer?: React.FC<{ children: React.ReactNode }>\n Label?: React.FC\n nodeKey?: string\n RemoveButton?: React.FC\n}\n\nconst InlineBlockComponentContext = createContext<InlineBlockComponentContextType>({\n initialState: false,\n})\n\nexport const useInlineBlockComponentContext = () => React.use(InlineBlockComponentContext)\n\nexport const InlineBlockComponent: React.FC<Props> = (props) => {\n const { cacheBuster, className: baseClass, formData, nodeKey } = props\n\n const [editor] = useLexicalComposerContext()\n const isEditable = useLexicalEditable()\n const { i18n, t } = useTranslation<object, string>()\n const {\n createdInlineBlock,\n fieldProps: { featureClientSchemaMap, initialLexicalFormState, schemaPath },\n setCreatedInlineBlock,\n uuid: uuidFromContext,\n } = useEditorConfigContext()\n const { fields: parentDocumentFields } = useDocumentForm()\n\n const { getFormState } = useServerFunctions()\n const editDepth = useEditDepth()\n const firstTimeDrawer = useRef(false)\n\n const [initialState, setInitialState] = React.useState<false | FormState | undefined>(() => {\n // Initial form state that was calculated server-side. May have stale values\n const cachedFormState = initialLexicalFormState?.[formData.id]?.formState\n if (!cachedFormState) {\n return false\n }\n\n // Merge current formData values into the cached form state\n // This ensures that when the component remounts (e.g., due to view changes), we don't lose user edits\n return Object.fromEntries(\n Object.entries(cachedFormState).map(([fieldName, fieldState]) => [\n fieldName,\n fieldName in formData\n ? {\n ...fieldState,\n initialValue: formData[fieldName],\n value: formData[fieldName],\n }\n : fieldState,\n ]),\n )\n })\n\n const hasMounted = useRef(false)\n const prevCacheBuster = useRef(cacheBuster)\n useEffect(() => {\n if (hasMounted.current) {\n if (prevCacheBuster.current !== cacheBuster) {\n setInitialState(false)\n }\n prevCacheBuster.current = cacheBuster\n } else {\n hasMounted.current = true\n }\n }, [cacheBuster])\n\n const [CustomLabel, setCustomLabel] = React.useState<React.ReactNode | undefined>(\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n initialState?.['_components']?.customComponents?.BlockLabel,\n )\n\n const [CustomBlock, setCustomBlock] = React.useState<React.ReactNode | undefined>(\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n initialState?.['_components']?.customComponents?.Block,\n )\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-inlineBlocks-create-${uuidFromContext}-${formData.id}`,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n const inlineBlockElemElemRef = useRef<HTMLDivElement | null>(null)\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { config } = useConfig()\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${formData.blockType}`\n\n const clientSchemaMap = featureClientSchemaMap['blocks']\n\n const blocksField: BlocksFieldClient = clientSchemaMap?.[\n componentMapRenderedBlockPath\n ]?.[0] as BlocksFieldClient\n\n const clientBlock: ClientBlock | undefined = blocksField.blockReferences\n ? typeof blocksField?.blockReferences?.[0] === 'string'\n ? config.blocksMap[blocksField?.blockReferences?.[0]]\n : blocksField?.blockReferences?.[0]\n : blocksField?.blocks?.[0]\n\n const clientBlockFields = clientBlock?.fields ?? []\n\n // Open drawer on \"mount\"\n useEffect(() => {\n if (!firstTimeDrawer.current && createdInlineBlock?.getKey() === nodeKey) {\n // > 2 because they always have \"id\" and \"blockName\" fields\n if (clientBlockFields.length > 2) {\n toggleDrawer()\n }\n setCreatedInlineBlock?.(undefined)\n firstTimeDrawer.current = true\n }\n }, [clientBlockFields.length, createdInlineBlock, nodeKey, setCreatedInlineBlock, toggleDrawer])\n\n const removeInlineBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock?.labels.singular, i18n)\n : clientBlock?.slug\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${clientBlock?.slug}.fields`\n\n // Initial state for newly created blocks\n useEffect(() => {\n const abortController = new AbortController()\n\n const awaitInitialState = async () => {\n /*\n * This will only run if a new block is created. For all existing blocks that are loaded when the document is loaded, or when the form is saved,\n * this is not run, as the lexical field RSC will fetch the state server-side and pass it to the client. That way, we avoid unnecessary client-side\n * requests. Though for newly created blocks, we need to fetch the state client-side, as the server doesn't know about the block yet.\n */\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: formData,\n docPermissions: { fields: true },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n globalSlug,\n initialBlockData: formData,\n initialBlockFormState: formData,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n const newFormStateData: InlineBlockFields = reduceFieldsToValues(\n deepCopyObjectSimpleWithoutReactComponents(state, { excludeFiles: true }),\n true,\n ) as InlineBlockFields\n\n // Things like default values may come back from the server => update the node with the new data\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n const newData = newFormStateData\n newData.blockType = formData.blockType\n\n node.setFields(newData, true)\n }\n })\n\n setInitialState(state)\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n }\n\n if (formData && !initialState) {\n void awaitInitialState()\n }\n\n return () => {\n abortAndIgnore(abortController)\n }\n }, [\n getFormState,\n editor,\n nodeKey,\n isEditable,\n schemaFieldsPath,\n id,\n formData,\n initialState,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n parentDocumentFields,\n ])\n\n /**\n * HANDLE ONCHANGE\n */\n const onChange = useCallback(\n async ({ formState: prevFormState, submit }: { formState: FormState; submit?: boolean }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n formState: prevFormState,\n globalSlug,\n initialBlockFormState: prevFormState,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: submit ? true : false,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n if (submit) {\n setCustomLabel(state['_components']?.customComponents?.BlockLabel)\n setCustomBlock(state['_components']?.customComponents?.Block)\n }\n\n return state\n },\n [\n getFormState,\n id,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n isEditable,\n schemaFieldsPath,\n ],\n )\n // cleanup effect\n useEffect(() => {\n const isStateOutOfSync = (formData: InlineBlockFields, initialState: FormState) => {\n return Object.keys(initialState).some(\n (key) => initialState[key] && formData[key] !== initialState[key].value,\n )\n }\n\n return () => {\n // If the component is unmounted (either via removeInlineBlock or via lexical itself) and the form state got changed before,\n // we need to reset the initial state to force a re-fetch of the initial state when it gets mounted again (e.g. via lexical history undo).\n // Otherwise it would use an outdated initial state.\n if (initialState && isStateOutOfSync(formData, initialState)) {\n setInitialState(false)\n }\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [formData, initialState])\n\n /**\n * HANDLE FORM SUBMIT\n */\n const onFormSubmit = useCallback(\n (formState: FormState, newData: Data) => {\n newData.blockType = formData.blockType\n\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isInlineBlockNode(node)) {\n node.setFields(newData as InlineBlockFields, true)\n }\n })\n },\n [editor, nodeKey, formData],\n )\n\n const RemoveButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={!isEditable}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeInlineBlock()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:remove', { label: blockDisplayName })}\n />\n ),\n [baseClass, blockDisplayName, isEditable, removeInlineBlock, t],\n )\n\n const EditButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={!isEditable}\n el=\"button\"\n icon=\"edit\"\n onClick={() => {\n toggleDrawer()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n ),\n [baseClass, blockDisplayName, isEditable, t, toggleDrawer],\n )\n\n const InlineBlockContainer = useMemo(\n () =>\n ({ children, className }: { children: React.ReactNode; className?: string }) => (\n <div\n className={[`${baseClass}__container`, baseClass + '-' + formData.blockType, className]\n .filter(Boolean)\n .join(' ')}\n ref={inlineBlockElemElemRef}\n >\n {children}\n </div>\n ),\n [baseClass, formData.blockType],\n )\n\n const Label = useMemo(() => {\n if (CustomLabel) {\n return () => CustomLabel\n } else {\n return () => (\n <div>{clientBlock?.labels ? getTranslation(clientBlock?.labels.singular, i18n) : ''}</div>\n )\n }\n }, [CustomLabel, clientBlock?.labels, i18n])\n\n if (!clientBlock) {\n return (\n <InlineBlockContainer className={`${baseClass}-not-found`}>\n <span>Error: Block '{formData.blockType}' not found</span>\n {isEditable ? (\n <div className={`${baseClass}__actions`}>\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\n )\n }\n\n return (\n <Form\n beforeSubmit={[\n async ({ formState }) => {\n // This is only called when form is submitted from drawer\n return await onChange({ formState, submit: true })\n },\n ]}\n disableValidationOnSubmit\n el=\"div\"\n fields={clientBlock?.fields}\n initialState={initialState || {}}\n onChange={[onChange]}\n onSubmit={(formState, data) => {\n onFormSubmit(formState, data)\n toggleDrawer()\n }}\n uuid={uuid()}\n >\n <EditDepthProvider>\n <Drawer\n className={''}\n slug={drawerSlug}\n title={t(`lexical:blocks:inlineBlocks:${formData?.id ? 'edit' : 'create'}`, {\n label: blockDisplayName ?? t('lexical:blocks:inlineBlocks:label'),\n })}\n >\n {initialState ? (\n <>\n <RenderFields\n fields={clientBlock?.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\" // See Blocks feature path for details as for why this is empty\n parentSchemaPath={schemaFieldsPath}\n permissions={true}\n readOnly={!isEditable}\n />\n <FormSubmit programmaticSubmit={true}>{t('fields:saveChanges')}</FormSubmit>\n </>\n ) : null}\n </Drawer>\n </EditDepthProvider>\n {CustomBlock ? (\n <InlineBlockComponentContext\n value={{\n EditButton,\n initialState,\n InlineBlockContainer,\n Label,\n nodeKey,\n RemoveButton,\n }}\n >\n {CustomBlock}\n </InlineBlockComponentContext>\n ) : (\n <InlineBlockContainer>\n {initialState ? <Label /> : <ShimmerEffect height=\"15px\" width=\"40px\" />}\n {isEditable ? (\n <div className={`${baseClass}__actions`}>\n <EditButton />\n <RemoveButton />\n </div>\n ) : null}\n </InlineBlockContainer>\n )}\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,43 +1,43 @@
1
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  /**
4
4
  * Get the appropriate icon component for a block in Lexical editor menus/toolbars.
5
5
  *
6
6
  * Priority for URL: images.icon > images.thumbnail > imageURL (deprecated)
7
7
  * Priority for alt: images.icon.alt > images.thumbnail.alt > imageAltText (deprecated)
8
- */ export function getBlockImageComponent(block, fallback) {
9
- const { admin, imageAltText, imageURL } = block;
10
- const images = admin?.images;
11
- let displayURL;
12
- let displayAlt;
13
- if (images?.icon) {
14
- displayURL = typeof images.icon === 'string' ? images.icon : images.icon.url;
15
- displayAlt = typeof images.icon === 'string' ? undefined : images.icon.alt;
16
- } else if (images?.thumbnail) {
17
- displayURL = typeof images.thumbnail === 'string' ? images.thumbnail : images.thumbnail.url;
18
- displayAlt = typeof images.thumbnail === 'string' ? undefined : images.thumbnail.alt;
19
- } else {
20
- // Deprecated fallback
21
- displayURL = imageURL;
22
- displayAlt = imageAltText;
8
+ */
9
+ export function getBlockImageComponent(block, fallback) {
10
+ const {
11
+ admin,
12
+ imageAltText,
13
+ imageURL
14
+ } = block;
15
+ const images = admin?.images;
16
+ let displayURL;
17
+ let displayAlt;
18
+ if (images?.icon) {
19
+ displayURL = typeof images.icon === 'string' ? images.icon : images.icon.url;
20
+ displayAlt = typeof images.icon === 'string' ? undefined : images.icon.alt;
21
+ } else if (images?.thumbnail) {
22
+ displayURL = typeof images.thumbnail === 'string' ? images.thumbnail : images.thumbnail.url;
23
+ displayAlt = typeof images.thumbnail === 'string' ? undefined : images.thumbnail.alt;
24
+ } else {
25
+ // Deprecated fallback
26
+ displayURL = imageURL;
27
+ displayAlt = imageAltText;
28
+ }
29
+ if (!displayURL) {
30
+ return fallback;
31
+ }
32
+ const alt = displayAlt ?? 'Block Image';
33
+ return () => /*#__PURE__*/_jsx("img", {
34
+ alt: alt,
35
+ className: "lexical-block-custom-image",
36
+ src: displayURL,
37
+ style: {
38
+ maxHeight: 20,
39
+ maxWidth: 20
23
40
  }
24
- if (!displayURL) {
25
- return fallback;
26
- }
27
- const alt = displayAlt ?? 'Block Image';
28
- return ()=>/*#__PURE__*/ _jsxDEV("img", {
29
- alt: alt,
30
- className: "lexical-block-custom-image",
31
- src: displayURL,
32
- style: {
33
- maxHeight: 20,
34
- maxWidth: 20
35
- }
36
- }, void 0, false, {
37
- fileName: "src/features/blocks/client/getBlockImageComponent.tsx",
38
- lineNumber: 37,
39
- columnNumber: 5
40
- }, this);
41
+ });
41
42
  }
42
-
43
43
  //# sourceMappingURL=getBlockImageComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/blocks/client/getBlockImageComponent.tsx"],"sourcesContent":["import type { ClientBlock } from 'payload'\n\nimport React from 'react'\n\n/**\n * Get the appropriate icon component for a block in Lexical editor menus/toolbars.\n *\n * Priority for URL: images.icon > images.thumbnail > imageURL (deprecated)\n * Priority for alt: images.icon.alt > images.thumbnail.alt > imageAltText (deprecated)\n */\nexport function getBlockImageComponent(block: ClientBlock, fallback: React.ElementType) {\n const { admin, imageAltText, imageURL } = block\n const images = admin?.images\n\n let displayURL: string | undefined\n let displayAlt: string | undefined\n\n if (images?.icon) {\n displayURL = typeof images.icon === 'string' ? images.icon : images.icon.url\n displayAlt = typeof images.icon === 'string' ? undefined : images.icon.alt\n } else if (images?.thumbnail) {\n displayURL = typeof images.thumbnail === 'string' ? images.thumbnail : images.thumbnail.url\n displayAlt = typeof images.thumbnail === 'string' ? undefined : images.thumbnail.alt\n } else {\n // Deprecated fallback\n displayURL = imageURL\n displayAlt = imageAltText\n }\n\n if (!displayURL) {\n return fallback\n }\n\n const alt = displayAlt ?? 'Block Image'\n\n return () => (\n <img\n alt={alt}\n className=\"lexical-block-custom-image\"\n src={displayURL}\n style={{ maxHeight: 20, maxWidth: 20 }}\n />\n )\n}\n"],"names":["React","getBlockImageComponent","block","fallback","admin","imageAltText","imageURL","images","displayURL","displayAlt","icon","url","undefined","alt","thumbnail","img","className","src","style","maxHeight","maxWidth"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAEzB;;;;;CAKC,GACD,OAAO,SAASC,uBAAuBC,KAAkB,EAAEC,QAA2B;IACpF,MAAM,EAAEC,KAAK,EAAEC,YAAY,EAAEC,QAAQ,EAAE,GAAGJ;IAC1C,MAAMK,SAASH,OAAOG;IAEtB,IAAIC;IACJ,IAAIC;IAEJ,IAAIF,QAAQG,MAAM;QAChBF,aAAa,OAAOD,OAAOG,IAAI,KAAK,WAAWH,OAAOG,IAAI,GAAGH,OAAOG,IAAI,CAACC,GAAG;QAC5EF,aAAa,OAAOF,OAAOG,IAAI,KAAK,WAAWE,YAAYL,OAAOG,IAAI,CAACG,GAAG;IAC5E,OAAO,IAAIN,QAAQO,WAAW;QAC5BN,aAAa,OAAOD,OAAOO,SAAS,KAAK,WAAWP,OAAOO,SAAS,GAAGP,OAAOO,SAAS,CAACH,GAAG;QAC3FF,aAAa,OAAOF,OAAOO,SAAS,KAAK,WAAWF,YAAYL,OAAOO,SAAS,CAACD,GAAG;IACtF,OAAO;QACL,sBAAsB;QACtBL,aAAaF;QACbG,aAAaJ;IACf;IAEA,IAAI,CAACG,YAAY;QACf,OAAOL;IACT;IAEA,MAAMU,MAAMJ,cAAc;IAE1B,OAAO,kBACL,QAACM;YACCF,KAAKA;YACLG,WAAU;YACVC,KAAKT;YACLU,OAAO;gBAAEC,WAAW;gBAAIC,UAAU;YAAG;;;;;;AAG3C"}
1
+ {"version":3,"file":"getBlockImageComponent.js","names":["React","getBlockImageComponent","block","fallback","admin","imageAltText","imageURL","images","displayURL","displayAlt","icon","url","undefined","alt","thumbnail","_jsx","className","src","style","maxHeight","maxWidth"],"sources":["../../../../src/features/blocks/client/getBlockImageComponent.tsx"],"sourcesContent":["import type { ClientBlock } from 'payload'\n\nimport React from 'react'\n\n/**\n * Get the appropriate icon component for a block in Lexical editor menus/toolbars.\n *\n * Priority for URL: images.icon > images.thumbnail > imageURL (deprecated)\n * Priority for alt: images.icon.alt > images.thumbnail.alt > imageAltText (deprecated)\n */\nexport function getBlockImageComponent(block: ClientBlock, fallback: React.ElementType) {\n const { admin, imageAltText, imageURL } = block\n const images = admin?.images\n\n let displayURL: string | undefined\n let displayAlt: string | undefined\n\n if (images?.icon) {\n displayURL = typeof images.icon === 'string' ? images.icon : images.icon.url\n displayAlt = typeof images.icon === 'string' ? undefined : images.icon.alt\n } else if (images?.thumbnail) {\n displayURL = typeof images.thumbnail === 'string' ? images.thumbnail : images.thumbnail.url\n displayAlt = typeof images.thumbnail === 'string' ? undefined : images.thumbnail.alt\n } else {\n // Deprecated fallback\n displayURL = imageURL\n displayAlt = imageAltText\n }\n\n if (!displayURL) {\n return fallback\n }\n\n const alt = displayAlt ?? 'Block Image'\n\n return () => (\n <img\n alt={alt}\n className=\"lexical-block-custom-image\"\n src={displayURL}\n style={{ maxHeight: 20, maxWidth: 20 }}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB;;;;;;AAMA,OAAO,SAASC,uBAAuBC,KAAkB,EAAEC,QAA2B;EACpF,MAAM;IAAEC,KAAK;IAAEC,YAAY;IAAEC;EAAQ,CAAE,GAAGJ,KAAA;EAC1C,MAAMK,MAAA,GAASH,KAAA,EAAOG,MAAA;EAEtB,IAAIC,UAAA;EACJ,IAAIC,UAAA;EAEJ,IAAIF,MAAA,EAAQG,IAAA,EAAM;IAChBF,UAAA,GAAa,OAAOD,MAAA,CAAOG,IAAI,KAAK,WAAWH,MAAA,CAAOG,IAAI,GAAGH,MAAA,CAAOG,IAAI,CAACC,GAAG;IAC5EF,UAAA,GAAa,OAAOF,MAAA,CAAOG,IAAI,KAAK,WAAWE,SAAA,GAAYL,MAAA,CAAOG,IAAI,CAACG,GAAG;EAC5E,OAAO,IAAIN,MAAA,EAAQO,SAAA,EAAW;IAC5BN,UAAA,GAAa,OAAOD,MAAA,CAAOO,SAAS,KAAK,WAAWP,MAAA,CAAOO,SAAS,GAAGP,MAAA,CAAOO,SAAS,CAACH,GAAG;IAC3FF,UAAA,GAAa,OAAOF,MAAA,CAAOO,SAAS,KAAK,WAAWF,SAAA,GAAYL,MAAA,CAAOO,SAAS,CAACD,GAAG;EACtF,OAAO;IACL;IACAL,UAAA,GAAaF,QAAA;IACbG,UAAA,GAAaJ,YAAA;EACf;EAEA,IAAI,CAACG,UAAA,EAAY;IACf,OAAOL,QAAA;EACT;EAEA,MAAMU,GAAA,GAAMJ,UAAA,IAAc;EAE1B,OAAO,mBACLM,IAAA,CAAC;IACCF,GAAA,EAAKA,GAAA;IACLG,SAAA,EAAU;IACVC,GAAA,EAAKT,UAAA;IACLU,KAAA,EAAO;MAAEC,SAAA,EAAW;MAAIC,QAAA,EAAU;IAAG;;AAG3C","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+
2
3
  import { getTranslation } from '@payloadcms/translations';
3
4
  import { BlockIcon } from '../../../lexical/ui/icons/Block/index.js';
4
5
  import { InlineBlocksIcon } from '../../../lexical/ui/icons/InlineBlocks/index.js';
@@ -9,149 +10,153 @@ import { BlockNode } from './nodes/BlocksNode.js';
9
10
  import { InlineBlockNode } from './nodes/InlineBlocksNode.js';
10
11
  import { INSERT_BLOCK_COMMAND, INSERT_INLINE_BLOCK_COMMAND } from './plugin/commands.js';
11
12
  import { BlocksPlugin } from './plugin/index.js';
12
- export const BlocksFeatureClient = createClientFeature(({ config, featureClientSchemaMap, props, schemaPath })=>{
13
- const schemaMapRenderedBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks`;
14
- const schemaMapRenderedInlineBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks`;
15
- const clientSchema = featureClientSchemaMap['blocks'];
16
- if (!clientSchema) {
17
- return {};
18
- }
19
- const blocksFields = Object.entries(clientSchema).filter(([key])=>key.startsWith(schemaMapRenderedBlockPathPrefix + '.') && !key.replace(schemaMapRenderedBlockPathPrefix + '.', '').includes('.')).map(([, value])=>value[0]);
20
- const inlineBlocksFields = Object.entries(clientSchema).filter(([key])=>key.startsWith(schemaMapRenderedInlineBlockPathPrefix + '.') && !key.replace(schemaMapRenderedInlineBlockPathPrefix + '.', '').includes('.')).map(([, value])=>value[0]);
21
- const clientBlocks = blocksFields.map((field)=>{
22
- return field.blockReferences ? typeof field.blockReferences[0] === 'string' ? config.blocksMap[field.blockReferences[0]] : field.blockReferences[0] : field.blocks[0];
23
- }).filter((block)=>block !== undefined);
24
- const clientInlineBlocks = inlineBlocksFields.map((field)=>{
25
- return field.blockReferences ? typeof field.blockReferences[0] === 'string' ? config.blocksMap[field.blockReferences[0]] : field.blockReferences[0] : field.blocks[0];
26
- }).filter((block)=>block !== undefined);
27
- return {
28
- markdownTransformers: getBlockMarkdownTransformers({
29
- blocks: clientBlocks,
30
- inlineBlocks: clientInlineBlocks
13
+ export const BlocksFeatureClient = createClientFeature(({
14
+ config,
15
+ featureClientSchemaMap,
16
+ props,
17
+ schemaPath
18
+ }) => {
19
+ const schemaMapRenderedBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks`;
20
+ const schemaMapRenderedInlineBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks`;
21
+ const clientSchema = featureClientSchemaMap['blocks'];
22
+ if (!clientSchema) {
23
+ return {};
24
+ }
25
+ const blocksFields = Object.entries(clientSchema).filter(([key]) => key.startsWith(schemaMapRenderedBlockPathPrefix + '.') && !key.replace(schemaMapRenderedBlockPathPrefix + '.', '').includes('.')).map(([, value]) => value[0]);
26
+ const inlineBlocksFields = Object.entries(clientSchema).filter(([key]) => key.startsWith(schemaMapRenderedInlineBlockPathPrefix + '.') && !key.replace(schemaMapRenderedInlineBlockPathPrefix + '.', '').includes('.')).map(([, value]) => value[0]);
27
+ const clientBlocks = blocksFields.map(field => {
28
+ return field.blockReferences ? typeof field.blockReferences[0] === 'string' ? config.blocksMap[field.blockReferences[0]] : field.blockReferences[0] : field.blocks[0];
29
+ }).filter(block => block !== undefined);
30
+ const clientInlineBlocks = inlineBlocksFields.map(field => {
31
+ return field.blockReferences ? typeof field.blockReferences[0] === 'string' ? config.blocksMap[field.blockReferences[0]] : field.blockReferences[0] : field.blocks[0];
32
+ }).filter(block => block !== undefined);
33
+ return {
34
+ markdownTransformers: getBlockMarkdownTransformers({
35
+ blocks: clientBlocks,
36
+ inlineBlocks: clientInlineBlocks
37
+ }),
38
+ nodes: [BlockNode, InlineBlockNode],
39
+ plugins: [{
40
+ Component: BlocksPlugin,
41
+ position: 'normal'
42
+ }],
43
+ sanitizedClientFeatureProps: props,
44
+ slashMenu: {
45
+ groups: [clientBlocks?.length ? {
46
+ items: clientBlocks.map(block => {
47
+ return {
48
+ Icon: getBlockImageComponent(block, BlockIcon),
49
+ key: 'block-' + block.slug,
50
+ keywords: ['block', 'blocks', block.slug],
51
+ label: ({
52
+ i18n
53
+ }) => {
54
+ const blockDisplayName = block?.labels?.singular ? getTranslation(block.labels.singular, i18n) : block?.slug;
55
+ return blockDisplayName;
56
+ },
57
+ onSelect: ({
58
+ editor
59
+ }) => {
60
+ editor.dispatchCommand(INSERT_BLOCK_COMMAND, {
61
+ blockName: '',
62
+ blockType: block.slug
63
+ });
64
+ }
65
+ };
31
66
  }),
32
- nodes: [
33
- BlockNode,
34
- InlineBlockNode
35
- ],
36
- plugins: [
37
- {
38
- Component: BlocksPlugin,
39
- position: 'normal'
67
+ key: 'blocks',
68
+ label: ({
69
+ i18n
70
+ }) => {
71
+ return i18n.t('lexical:blocks:label');
72
+ }
73
+ } : null, clientInlineBlocks?.length ? {
74
+ items: clientInlineBlocks.map(inlineBlock => {
75
+ return {
76
+ Icon: InlineBlocksIcon,
77
+ key: 'inlineBlocks-' + inlineBlock.slug,
78
+ keywords: ['inlineBlock', 'inline block', inlineBlock.slug],
79
+ label: ({
80
+ i18n
81
+ }) => {
82
+ const blockDisplayName = inlineBlock?.labels?.singular ? getTranslation(inlineBlock.labels.singular, i18n) : inlineBlock?.slug;
83
+ return blockDisplayName;
84
+ },
85
+ onSelect: ({
86
+ editor
87
+ }) => {
88
+ editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {
89
+ blockName: '',
90
+ blockType: inlineBlock.slug
91
+ });
40
92
  }
41
- ],
42
- sanitizedClientFeatureProps: props,
43
- slashMenu: {
44
- groups: [
45
- clientBlocks?.length ? {
46
- items: clientBlocks.map((block)=>{
47
- return {
48
- Icon: getBlockImageComponent(block, BlockIcon),
49
- key: 'block-' + block.slug,
50
- keywords: [
51
- 'block',
52
- 'blocks',
53
- block.slug
54
- ],
55
- label: ({ i18n })=>{
56
- const blockDisplayName = block?.labels?.singular ? getTranslation(block.labels.singular, i18n) : block?.slug;
57
- return blockDisplayName;
58
- },
59
- onSelect: ({ editor })=>{
60
- editor.dispatchCommand(INSERT_BLOCK_COMMAND, {
61
- blockName: '',
62
- blockType: block.slug
63
- });
64
- }
65
- };
66
- }),
67
- key: 'blocks',
68
- label: ({ i18n })=>{
69
- return i18n.t('lexical:blocks:label');
70
- }
71
- } : null,
72
- clientInlineBlocks?.length ? {
73
- items: clientInlineBlocks.map((inlineBlock)=>{
74
- return {
75
- Icon: InlineBlocksIcon,
76
- key: 'inlineBlocks-' + inlineBlock.slug,
77
- keywords: [
78
- 'inlineBlock',
79
- 'inline block',
80
- inlineBlock.slug
81
- ],
82
- label: ({ i18n })=>{
83
- const blockDisplayName = inlineBlock?.labels?.singular ? getTranslation(inlineBlock.labels.singular, i18n) : inlineBlock?.slug;
84
- return blockDisplayName;
85
- },
86
- onSelect: ({ editor })=>{
87
- editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {
88
- blockName: '',
89
- blockType: inlineBlock.slug
90
- });
91
- }
92
- };
93
- }),
94
- key: 'inlineBlocks',
95
- label: ({ i18n })=>{
96
- return i18n.t('lexical:blocks:inlineBlocks:label');
97
- }
98
- } : null
99
- ].filter(Boolean)
100
- },
101
- toolbarFixed: {
102
- groups: [
103
- clientBlocks.length ? {
104
- type: 'dropdown',
105
- ChildComponent: BlockIcon,
106
- items: clientBlocks.map((block, index)=>{
107
- return {
108
- ChildComponent: getBlockImageComponent(block, BlockIcon),
109
- isActive: undefined,
110
- // At this point, we would be inside a sub-richtext-editor. And at this point this will be run against the focused sub-editor, not the parent editor which has the actual block. Thus, no point in running this
111
- key: 'block-' + block.slug,
112
- label: ({ i18n })=>{
113
- const blockDisplayName = block?.labels?.singular ? getTranslation(block.labels.singular, i18n) : block?.slug;
114
- return blockDisplayName;
115
- },
116
- onSelect: ({ editor })=>{
117
- editor.dispatchCommand(INSERT_BLOCK_COMMAND, {
118
- blockName: '',
119
- blockType: block.slug
120
- });
121
- },
122
- order: index
123
- };
124
- }),
125
- key: 'blocks',
126
- order: 20
127
- } : null,
128
- clientInlineBlocks?.length ? {
129
- type: 'dropdown',
130
- ChildComponent: InlineBlocksIcon,
131
- items: clientInlineBlocks.map((inlineBlock, index)=>{
132
- return {
133
- ChildComponent: getBlockImageComponent(inlineBlock, InlineBlocksIcon),
134
- isActive: undefined,
135
- key: 'inlineBlock-' + inlineBlock.slug,
136
- label: ({ i18n })=>{
137
- const blockDisplayName = inlineBlock?.labels?.singular ? getTranslation(inlineBlock.labels.singular, i18n) : inlineBlock?.slug;
138
- return blockDisplayName;
139
- },
140
- onSelect: ({ editor })=>{
141
- editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {
142
- blockName: '',
143
- blockType: inlineBlock.slug
144
- });
145
- },
146
- order: index
147
- };
148
- }),
149
- key: 'inlineBlocks',
150
- order: 25
151
- } : null
152
- ].filter(Boolean)
93
+ };
94
+ }),
95
+ key: 'inlineBlocks',
96
+ label: ({
97
+ i18n
98
+ }) => {
99
+ return i18n.t('lexical:blocks:inlineBlocks:label');
153
100
  }
154
- };
101
+ } : null].filter(Boolean)
102
+ },
103
+ toolbarFixed: {
104
+ groups: [clientBlocks.length ? {
105
+ type: 'dropdown',
106
+ ChildComponent: BlockIcon,
107
+ items: clientBlocks.map((block, index) => {
108
+ return {
109
+ ChildComponent: getBlockImageComponent(block, BlockIcon),
110
+ isActive: undefined,
111
+ key: 'block-' + block.slug,
112
+ label: ({
113
+ i18n
114
+ }) => {
115
+ const blockDisplayName = block?.labels?.singular ? getTranslation(block.labels.singular, i18n) : block?.slug;
116
+ return blockDisplayName;
117
+ },
118
+ onSelect: ({
119
+ editor
120
+ }) => {
121
+ editor.dispatchCommand(INSERT_BLOCK_COMMAND, {
122
+ blockName: '',
123
+ blockType: block.slug
124
+ });
125
+ },
126
+ order: index
127
+ };
128
+ }),
129
+ key: 'blocks',
130
+ order: 20
131
+ } : null, clientInlineBlocks?.length ? {
132
+ type: 'dropdown',
133
+ ChildComponent: InlineBlocksIcon,
134
+ items: clientInlineBlocks.map((inlineBlock, index) => {
135
+ return {
136
+ ChildComponent: getBlockImageComponent(inlineBlock, InlineBlocksIcon),
137
+ isActive: undefined,
138
+ key: 'inlineBlock-' + inlineBlock.slug,
139
+ label: ({
140
+ i18n
141
+ }) => {
142
+ const blockDisplayName = inlineBlock?.labels?.singular ? getTranslation(inlineBlock.labels.singular, i18n) : inlineBlock?.slug;
143
+ return blockDisplayName;
144
+ },
145
+ onSelect: ({
146
+ editor
147
+ }) => {
148
+ editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {
149
+ blockName: '',
150
+ blockType: inlineBlock.slug
151
+ });
152
+ },
153
+ order: index
154
+ };
155
+ }),
156
+ key: 'inlineBlocks',
157
+ order: 25
158
+ } : null].filter(Boolean)
159
+ }
160
+ };
155
161
  });
156
-
157
162
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/blocks/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { BlocksFieldClient, ClientBlock } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from '../../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { BlockIcon } from '../../../lexical/ui/icons/Block/index.js'\nimport { InlineBlocksIcon } from '../../../lexical/ui/icons/InlineBlocks/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { getBlockImageComponent } from './getBlockImageComponent.js'\nimport { getBlockMarkdownTransformers } from './markdown/markdownTransformer.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { InlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { INSERT_BLOCK_COMMAND, INSERT_INLINE_BLOCK_COMMAND } from './plugin/commands.js'\nimport { BlocksPlugin } from './plugin/index.js'\nexport const BlocksFeatureClient = createClientFeature(\n ({ config, featureClientSchemaMap, props, schemaPath }) => {\n const schemaMapRenderedBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks`\n const schemaMapRenderedInlineBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks`\n const clientSchema = featureClientSchemaMap['blocks']\n\n if (!clientSchema) {\n return {}\n }\n\n const blocksFields: BlocksFieldClient[] = Object.entries(clientSchema)\n .filter(\n ([key]) =>\n key.startsWith(schemaMapRenderedBlockPathPrefix + '.') &&\n !key.replace(schemaMapRenderedBlockPathPrefix + '.', '').includes('.'),\n )\n .map(([, value]) => value[0] as BlocksFieldClient)\n\n const inlineBlocksFields: BlocksFieldClient[] = Object.entries(clientSchema)\n .filter(\n ([key]) =>\n key.startsWith(schemaMapRenderedInlineBlockPathPrefix + '.') &&\n !key.replace(schemaMapRenderedInlineBlockPathPrefix + '.', '').includes('.'),\n )\n .map(([, value]) => value[0] as BlocksFieldClient)\n\n const clientBlocks: ClientBlock[] = blocksFields\n .map((field) => {\n return field.blockReferences\n ? typeof field.blockReferences[0] === 'string'\n ? config.blocksMap[field.blockReferences[0]]\n : field.blockReferences[0]\n : field.blocks[0]\n })\n .filter((block) => block !== undefined)\n\n const clientInlineBlocks: ClientBlock[] = inlineBlocksFields\n .map((field) => {\n return field.blockReferences\n ? typeof field.blockReferences[0] === 'string'\n ? config.blocksMap[field.blockReferences[0]]\n : field.blockReferences[0]\n : field.blocks[0]\n })\n .filter((block) => block !== undefined)\n\n return {\n markdownTransformers: getBlockMarkdownTransformers({\n blocks: clientBlocks,\n inlineBlocks: clientInlineBlocks,\n }),\n nodes: [BlockNode, InlineBlockNode],\n plugins: [\n {\n Component: BlocksPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: [\n clientBlocks?.length\n ? {\n items: clientBlocks.map((block) => {\n return {\n Icon: getBlockImageComponent(block, BlockIcon),\n key: 'block-' + block.slug,\n keywords: ['block', 'blocks', block.slug],\n label: ({ i18n }) => {\n const blockDisplayName = block?.labels?.singular\n ? getTranslation(block.labels.singular, i18n)\n : block?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n blockName: '',\n blockType: block.slug,\n })\n },\n } as SlashMenuItem\n }),\n key: 'blocks',\n label: ({ i18n }: { i18n: I18nClient<object, 'lexical:blocks:label'> }) => {\n return i18n.t('lexical:blocks:label')\n },\n }\n : null,\n clientInlineBlocks?.length\n ? {\n items: clientInlineBlocks.map((inlineBlock) => {\n return {\n Icon: InlineBlocksIcon,\n key: 'inlineBlocks-' + inlineBlock.slug,\n keywords: ['inlineBlock', 'inline block', inlineBlock.slug],\n label: ({ i18n }) => {\n const blockDisplayName = inlineBlock?.labels?.singular\n ? getTranslation(inlineBlock.labels.singular, i18n)\n : inlineBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {\n blockName: '',\n blockType: inlineBlock.slug,\n })\n },\n } as SlashMenuItem\n }),\n key: 'inlineBlocks',\n label: ({\n i18n,\n }: {\n i18n: I18nClient<object, 'lexical:blocks:inlineBlocks:label'>\n }) => {\n return i18n.t('lexical:blocks:inlineBlocks:label')\n },\n }\n : null,\n ].filter(Boolean) as SlashMenuGroup[],\n },\n toolbarFixed: {\n groups: [\n clientBlocks.length\n ? {\n type: 'dropdown',\n ChildComponent: BlockIcon,\n items: clientBlocks.map((block, index) => {\n return {\n ChildComponent: getBlockImageComponent(block, BlockIcon),\n isActive: undefined, // At this point, we would be inside a sub-richtext-editor. And at this point this will be run against the focused sub-editor, not the parent editor which has the actual block. Thus, no point in running this\n key: 'block-' + block.slug,\n label: ({ i18n }) => {\n const blockDisplayName = block?.labels?.singular\n ? getTranslation(block.labels.singular, i18n)\n : block?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n blockName: '',\n blockType: block.slug,\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'blocks',\n order: 20,\n }\n : null,\n clientInlineBlocks?.length\n ? {\n type: 'dropdown',\n ChildComponent: InlineBlocksIcon,\n items: clientInlineBlocks.map((inlineBlock, index) => {\n return {\n ChildComponent: getBlockImageComponent(inlineBlock, InlineBlocksIcon),\n isActive: undefined,\n key: 'inlineBlock-' + inlineBlock.slug,\n label: ({ i18n }) => {\n const blockDisplayName = inlineBlock?.labels?.singular\n ? getTranslation(inlineBlock.labels.singular, i18n)\n : inlineBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {\n blockName: '',\n blockType: inlineBlock.slug,\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'inlineBlocks',\n order: 25,\n }\n : null,\n ].filter(Boolean) as ToolbarGroup[],\n },\n }\n },\n)\n"],"names":["getTranslation","BlockIcon","InlineBlocksIcon","createClientFeature","getBlockImageComponent","getBlockMarkdownTransformers","BlockNode","InlineBlockNode","INSERT_BLOCK_COMMAND","INSERT_INLINE_BLOCK_COMMAND","BlocksPlugin","BlocksFeatureClient","config","featureClientSchemaMap","props","schemaPath","schemaMapRenderedBlockPathPrefix","schemaMapRenderedInlineBlockPathPrefix","clientSchema","blocksFields","Object","entries","filter","key","startsWith","replace","includes","map","value","inlineBlocksFields","clientBlocks","field","blockReferences","blocksMap","blocks","block","undefined","clientInlineBlocks","markdownTransformers","inlineBlocks","nodes","plugins","Component","position","sanitizedClientFeatureProps","slashMenu","groups","length","items","Icon","slug","keywords","label","i18n","blockDisplayName","labels","singular","onSelect","editor","dispatchCommand","blockName","blockType","t","inlineBlock","Boolean","toolbarFixed","type","ChildComponent","index","isActive","order"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["getTranslation","BlockIcon","InlineBlocksIcon","createClientFeature","getBlockImageComponent","getBlockMarkdownTransformers","BlockNode","InlineBlockNode","INSERT_BLOCK_COMMAND","INSERT_INLINE_BLOCK_COMMAND","BlocksPlugin","BlocksFeatureClient","config","featureClientSchemaMap","props","schemaPath","schemaMapRenderedBlockPathPrefix","schemaMapRenderedInlineBlockPathPrefix","clientSchema","blocksFields","Object","entries","filter","key","startsWith","replace","includes","map","value","inlineBlocksFields","clientBlocks","field","blockReferences","blocksMap","blocks","block","undefined","clientInlineBlocks","markdownTransformers","inlineBlocks","nodes","plugins","Component","position","sanitizedClientFeatureProps","slashMenu","groups","length","items","Icon","slug","keywords","label","i18n","blockDisplayName","labels","singular","onSelect","editor","dispatchCommand","blockName","blockType","t","inlineBlock","Boolean","toolbarFixed","type","ChildComponent","index","isActive","order"],"sources":["../../../../src/features/blocks/client/index.tsx"],"sourcesContent":["'use client'\n\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { BlocksFieldClient, ClientBlock } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from '../../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { BlockIcon } from '../../../lexical/ui/icons/Block/index.js'\nimport { InlineBlocksIcon } from '../../../lexical/ui/icons/InlineBlocks/index.js'\nimport { createClientFeature } from '../../../utilities/createClientFeature.js'\nimport { getBlockImageComponent } from './getBlockImageComponent.js'\nimport { getBlockMarkdownTransformers } from './markdown/markdownTransformer.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { InlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { INSERT_BLOCK_COMMAND, INSERT_INLINE_BLOCK_COMMAND } from './plugin/commands.js'\nimport { BlocksPlugin } from './plugin/index.js'\nexport const BlocksFeatureClient = createClientFeature(\n ({ config, featureClientSchemaMap, props, schemaPath }) => {\n const schemaMapRenderedBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks`\n const schemaMapRenderedInlineBlockPathPrefix = `${schemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks`\n const clientSchema = featureClientSchemaMap['blocks']\n\n if (!clientSchema) {\n return {}\n }\n\n const blocksFields: BlocksFieldClient[] = Object.entries(clientSchema)\n .filter(\n ([key]) =>\n key.startsWith(schemaMapRenderedBlockPathPrefix + '.') &&\n !key.replace(schemaMapRenderedBlockPathPrefix + '.', '').includes('.'),\n )\n .map(([, value]) => value[0] as BlocksFieldClient)\n\n const inlineBlocksFields: BlocksFieldClient[] = Object.entries(clientSchema)\n .filter(\n ([key]) =>\n key.startsWith(schemaMapRenderedInlineBlockPathPrefix + '.') &&\n !key.replace(schemaMapRenderedInlineBlockPathPrefix + '.', '').includes('.'),\n )\n .map(([, value]) => value[0] as BlocksFieldClient)\n\n const clientBlocks: ClientBlock[] = blocksFields\n .map((field) => {\n return field.blockReferences\n ? typeof field.blockReferences[0] === 'string'\n ? config.blocksMap[field.blockReferences[0]]\n : field.blockReferences[0]\n : field.blocks[0]\n })\n .filter((block) => block !== undefined)\n\n const clientInlineBlocks: ClientBlock[] = inlineBlocksFields\n .map((field) => {\n return field.blockReferences\n ? typeof field.blockReferences[0] === 'string'\n ? config.blocksMap[field.blockReferences[0]]\n : field.blockReferences[0]\n : field.blocks[0]\n })\n .filter((block) => block !== undefined)\n\n return {\n markdownTransformers: getBlockMarkdownTransformers({\n blocks: clientBlocks,\n inlineBlocks: clientInlineBlocks,\n }),\n nodes: [BlockNode, InlineBlockNode],\n plugins: [\n {\n Component: BlocksPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: [\n clientBlocks?.length\n ? {\n items: clientBlocks.map((block) => {\n return {\n Icon: getBlockImageComponent(block, BlockIcon),\n key: 'block-' + block.slug,\n keywords: ['block', 'blocks', block.slug],\n label: ({ i18n }) => {\n const blockDisplayName = block?.labels?.singular\n ? getTranslation(block.labels.singular, i18n)\n : block?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n blockName: '',\n blockType: block.slug,\n })\n },\n } as SlashMenuItem\n }),\n key: 'blocks',\n label: ({ i18n }: { i18n: I18nClient<object, 'lexical:blocks:label'> }) => {\n return i18n.t('lexical:blocks:label')\n },\n }\n : null,\n clientInlineBlocks?.length\n ? {\n items: clientInlineBlocks.map((inlineBlock) => {\n return {\n Icon: InlineBlocksIcon,\n key: 'inlineBlocks-' + inlineBlock.slug,\n keywords: ['inlineBlock', 'inline block', inlineBlock.slug],\n label: ({ i18n }) => {\n const blockDisplayName = inlineBlock?.labels?.singular\n ? getTranslation(inlineBlock.labels.singular, i18n)\n : inlineBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {\n blockName: '',\n blockType: inlineBlock.slug,\n })\n },\n } as SlashMenuItem\n }),\n key: 'inlineBlocks',\n label: ({\n i18n,\n }: {\n i18n: I18nClient<object, 'lexical:blocks:inlineBlocks:label'>\n }) => {\n return i18n.t('lexical:blocks:inlineBlocks:label')\n },\n }\n : null,\n ].filter(Boolean) as SlashMenuGroup[],\n },\n toolbarFixed: {\n groups: [\n clientBlocks.length\n ? {\n type: 'dropdown',\n ChildComponent: BlockIcon,\n items: clientBlocks.map((block, index) => {\n return {\n ChildComponent: getBlockImageComponent(block, BlockIcon),\n isActive: undefined, // At this point, we would be inside a sub-richtext-editor. And at this point this will be run against the focused sub-editor, not the parent editor which has the actual block. Thus, no point in running this\n key: 'block-' + block.slug,\n label: ({ i18n }) => {\n const blockDisplayName = block?.labels?.singular\n ? getTranslation(block.labels.singular, i18n)\n : block?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n blockName: '',\n blockType: block.slug,\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'blocks',\n order: 20,\n }\n : null,\n clientInlineBlocks?.length\n ? {\n type: 'dropdown',\n ChildComponent: InlineBlocksIcon,\n items: clientInlineBlocks.map((inlineBlock, index) => {\n return {\n ChildComponent: getBlockImageComponent(inlineBlock, InlineBlocksIcon),\n isActive: undefined,\n key: 'inlineBlock-' + inlineBlock.slug,\n label: ({ i18n }) => {\n const blockDisplayName = inlineBlock?.labels?.singular\n ? getTranslation(inlineBlock.labels.singular, i18n)\n : inlineBlock?.slug\n\n return blockDisplayName\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_INLINE_BLOCK_COMMAND, {\n blockName: '',\n blockType: inlineBlock.slug,\n })\n },\n order: index,\n } as ToolbarGroupItem\n }),\n key: 'inlineBlocks',\n order: 25,\n }\n : null,\n ].filter(Boolean) as ToolbarGroup[],\n },\n }\n },\n)\n"],"mappings":"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","ignoreList":[]}