@payloadcms/richtext-lexical 3.0.2 → 3.0.3-canary.27acdae

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 (211) hide show
  1. package/dist/exports/client/Field-OHQPCDNR.js +2 -0
  2. package/dist/exports/client/Field-OHQPCDNR.js.map +7 -0
  3. package/dist/exports/client/RelationshipComponent-XOQBVKA3.js +2 -0
  4. package/dist/exports/client/RelationshipComponent-XOQBVKA3.js.map +7 -0
  5. package/dist/exports/client/bundled.css +1 -1
  6. package/dist/exports/client/chunk-2L2Z4JHF.js +12 -0
  7. package/dist/exports/client/chunk-2L2Z4JHF.js.map +7 -0
  8. package/dist/exports/client/{chunk-C7S3V4EB.js → chunk-DOK5S7LE.js} +2 -2
  9. package/dist/exports/client/chunk-DOK5S7LE.js.map +7 -0
  10. package/dist/exports/client/chunk-KYPSISKB.js +2 -0
  11. package/dist/exports/client/chunk-KYPSISKB.js.map +7 -0
  12. package/dist/exports/client/chunk-ZTAS32RX.js +2 -0
  13. package/dist/exports/client/{chunk-MI5HS4QX.js.map → chunk-ZTAS32RX.js.map} +3 -3
  14. package/dist/exports/client/{component-H3EYQ5KG.js → component-D6PKVJ2K.js} +2 -2
  15. package/dist/exports/client/component-D6PKVJ2K.js.map +7 -0
  16. package/dist/exports/client/componentInline-EYXL5S2C.js +2 -0
  17. package/dist/exports/client/index.d.ts +3 -0
  18. package/dist/exports/client/index.d.ts.map +1 -1
  19. package/dist/exports/client/index.js +11 -11
  20. package/dist/exports/client/index.js.map +3 -3
  21. package/dist/exports/server/ast/mdx.d.ts.map +1 -1
  22. package/dist/exports/server/ast/mdx.js +6 -0
  23. package/dist/exports/server/ast/mdx.js.map +1 -1
  24. package/dist/features/align/server/i18n.d.ts.map +1 -1
  25. package/dist/features/align/server/i18n.js +6 -0
  26. package/dist/features/align/server/i18n.js.map +1 -1
  27. package/dist/features/blockquote/server/i18n.d.ts.map +1 -1
  28. package/dist/features/blockquote/server/i18n.js +3 -0
  29. package/dist/features/blockquote/server/i18n.js.map +1 -1
  30. package/dist/features/blockquote/server/index.d.ts.map +1 -1
  31. package/dist/features/blockquote/server/index.js +2 -1
  32. package/dist/features/blockquote/server/index.js.map +1 -1
  33. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  34. package/dist/features/blocks/client/component/index.js +27 -9
  35. package/dist/features/blocks/client/component/index.js.map +1 -1
  36. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts +1 -1
  37. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -1
  38. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -1
  39. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  40. package/dist/features/blocks/client/componentInline/index.js +27 -7
  41. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  42. package/dist/features/blocks/client/index.d.ts.map +1 -1
  43. package/dist/features/blocks/client/index.js.map +1 -1
  44. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  45. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  46. package/dist/features/blocks/server/i18n.d.ts.map +1 -1
  47. package/dist/features/blocks/server/i18n.js +9 -0
  48. package/dist/features/blocks/server/i18n.js.map +1 -1
  49. package/dist/features/converters/html/converter/converters/paragraph.d.ts.map +1 -1
  50. package/dist/features/converters/html/converter/converters/paragraph.js +2 -1
  51. package/dist/features/converters/html/converter/converters/paragraph.js.map +1 -1
  52. package/dist/features/converters/html/converter/defaultConverters.d.ts +1 -1
  53. package/dist/features/converters/html/converter/defaultConverters.d.ts.map +1 -1
  54. package/dist/features/converters/html/converter/defaultConverters.js.map +1 -1
  55. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -1
  56. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +23 -17
  57. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  58. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -1
  59. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +4 -2
  60. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  61. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +1 -1
  62. package/dist/features/experimental_table/client/utils/debounce.js +3 -0
  63. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  64. package/dist/features/experimental_table/client/utils/useDebounce.d.ts +1 -5
  65. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +1 -1
  66. package/dist/features/experimental_table/client/utils/useDebounce.js +40 -10
  67. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  68. package/dist/features/heading/server/i18n.d.ts.map +1 -1
  69. package/dist/features/heading/server/i18n.js +3 -0
  70. package/dist/features/heading/server/i18n.js.map +1 -1
  71. package/dist/features/heading/server/index.d.ts.map +1 -1
  72. package/dist/features/heading/server/index.js +2 -1
  73. package/dist/features/heading/server/index.js.map +1 -1
  74. package/dist/features/horizontalRule/server/i18n.d.ts.map +1 -1
  75. package/dist/features/horizontalRule/server/i18n.js +3 -0
  76. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  77. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  78. package/dist/features/indent/server/i18n.js +4 -0
  79. package/dist/features/indent/server/i18n.js.map +1 -1
  80. package/dist/features/link/server/i18n.d.ts.map +1 -1
  81. package/dist/features/link/server/i18n.js +4 -0
  82. package/dist/features/link/server/i18n.js.map +1 -1
  83. package/dist/features/lists/checklist/server/i18n.d.ts.map +1 -1
  84. package/dist/features/lists/checklist/server/i18n.js +3 -0
  85. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  86. package/dist/features/lists/checklist/server/index.js.map +1 -1
  87. package/dist/features/lists/orderedList/server/i18n.d.ts.map +1 -1
  88. package/dist/features/lists/orderedList/server/i18n.js +3 -0
  89. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  90. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  91. package/dist/features/lists/unorderedList/server/i18n.d.ts.map +1 -1
  92. package/dist/features/lists/unorderedList/server/i18n.js +3 -0
  93. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  94. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  95. package/dist/features/paragraph/server/i18n.d.ts.map +1 -1
  96. package/dist/features/paragraph/server/i18n.js +4 -0
  97. package/dist/features/paragraph/server/i18n.js.map +1 -1
  98. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  99. package/dist/features/relationship/client/components/RelationshipComponent.js +1 -3
  100. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  101. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  102. package/dist/features/relationship/server/i18n.d.ts.map +1 -1
  103. package/dist/features/relationship/server/i18n.js +3 -0
  104. package/dist/features/relationship/server/i18n.js.map +1 -1
  105. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +1 -1
  106. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  107. package/dist/features/relationship/server/nodes/RelationshipNode.js +3 -3
  108. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  109. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts +2 -2
  110. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  111. package/dist/features/toolbars/fixed/client/Toolbar/index.js +64 -71
  112. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  113. package/dist/features/toolbars/inline/client/Toolbar/index.js +31 -51
  114. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  115. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  116. package/dist/features/toolbars/shared/ToolbarButton/index.js +152 -62
  117. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  118. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +1 -1
  119. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  120. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +4 -2
  121. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  122. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  123. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +8 -20
  124. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  125. package/dist/features/toolbars/types.d.ts +9 -0
  126. package/dist/features/toolbars/types.d.ts.map +1 -1
  127. package/dist/features/toolbars/types.js.map +1 -1
  128. package/dist/features/typesClient.d.ts +39 -36
  129. package/dist/features/typesClient.d.ts.map +1 -1
  130. package/dist/features/typesClient.js.map +1 -1
  131. package/dist/features/typesServer.d.ts.map +1 -1
  132. package/dist/features/typesServer.js.map +1 -1
  133. package/dist/features/upload/client/component/index.js.map +1 -1
  134. package/dist/features/upload/client/drawer/index.js.map +1 -1
  135. package/dist/features/upload/client/nodes/UploadNode.d.ts +1 -1
  136. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  137. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  138. package/dist/features/upload/client/plugin/index.d.ts +2 -2
  139. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  140. package/dist/features/upload/client/plugin/index.js.map +1 -1
  141. package/dist/features/upload/server/i18n.d.ts.map +1 -1
  142. package/dist/features/upload/server/i18n.js +3 -0
  143. package/dist/features/upload/server/i18n.js.map +1 -1
  144. package/dist/features/upload/server/nodes/UploadNode.d.ts +1 -1
  145. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  146. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  147. package/dist/field/Field.d.ts +1 -1
  148. package/dist/field/Field.d.ts.map +1 -1
  149. package/dist/field/Field.js +2 -1
  150. package/dist/field/Field.js.map +1 -1
  151. package/dist/field/bundled.css +1 -1
  152. package/dist/field/rscEntry.js +1 -1
  153. package/dist/field/rscEntry.js.map +1 -1
  154. package/dist/i18n.d.ts.map +1 -1
  155. package/dist/i18n.js +70 -32
  156. package/dist/i18n.js.map +1 -1
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +5 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  161. package/dist/lexical/LexicalProvider.js.map +1 -1
  162. package/dist/lexical/config/client/sanitize.js.map +1 -1
  163. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  164. package/dist/lexical/config/server/sanitize.js +1 -0
  165. package/dist/lexical/config/server/sanitize.js.map +1 -1
  166. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +2 -3
  167. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  168. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +139 -89
  169. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  170. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -3
  171. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  172. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +4 -7
  173. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  174. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  175. package/dist/lexical/plugins/SlashMenu/index.js +8 -14
  176. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  177. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  178. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +1 -0
  179. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  180. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts +1 -1
  181. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  182. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +1 -1
  183. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  184. package/dist/utilities/buildInitialState.js +1 -1
  185. package/dist/utilities/buildInitialState.js.map +1 -1
  186. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  187. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  188. package/dist/utilities/generateImportMap.js +4 -1
  189. package/dist/utilities/generateImportMap.js.map +1 -1
  190. package/dist/utilities/jsx/jsx.d.ts.map +1 -1
  191. package/dist/utilities/jsx/jsx.js +1 -0
  192. package/dist/utilities/jsx/jsx.js.map +1 -1
  193. package/dist/utilities/migrateSlateToLexical/index.d.ts.map +1 -1
  194. package/dist/utilities/migrateSlateToLexical/index.js +1 -1
  195. package/dist/utilities/migrateSlateToLexical/index.js.map +1 -1
  196. package/dist/validate/index.d.ts.map +1 -1
  197. package/dist/validate/index.js.map +1 -1
  198. package/package.json +7 -7
  199. package/dist/exports/client/Field-IS3XMKMO.js +0 -2
  200. package/dist/exports/client/Field-IS3XMKMO.js.map +0 -7
  201. package/dist/exports/client/RelationshipComponent-2RT3YXUT.js +0 -2
  202. package/dist/exports/client/RelationshipComponent-2RT3YXUT.js.map +0 -7
  203. package/dist/exports/client/chunk-C7S3V4EB.js.map +0 -7
  204. package/dist/exports/client/chunk-CBUZKU7S.js +0 -12
  205. package/dist/exports/client/chunk-CBUZKU7S.js.map +0 -7
  206. package/dist/exports/client/chunk-MI5HS4QX.js +0 -2
  207. package/dist/exports/client/chunk-U7O7EYCP.js +0 -2
  208. package/dist/exports/client/chunk-U7O7EYCP.js.map +0 -7
  209. package/dist/exports/client/component-H3EYQ5KG.js.map +0 -7
  210. package/dist/exports/client/componentInline-ZGO3K4TA.js +0 -2
  211. /package/dist/exports/client/{componentInline-ZGO3K4TA.js.map → componentInline-EYXL5S2C.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mdx.d.ts","sourceRoot":"","sources":["../../../../src/exports/server/ast/mdx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAEjD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,aAAa,GACd,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG,GAAG,CA6BN"}
1
+ {"version":3,"file":"mdx.d.ts","sourceRoot":"","sources":["../../../../src/exports/server/ast/mdx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAEjD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,aAAa,GACd,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG,GAAG,CAmCN"}
@@ -17,11 +17,17 @@ export function parseJSXToAST({
17
17
  // Remove "position" keys
18
18
  const parseTree = tree => {
19
19
  for (const key in tree) {
20
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
20
21
  if (key === 'position' && tree[key].start && tree[key].end) {
22
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
21
23
  delete tree[key];
24
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
22
25
  } else if (typeof tree[key] === 'object') {
26
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
23
27
  parseTree(tree[key]);
28
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
24
29
  } else if (Array.isArray(tree[key])) {
30
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
25
31
  for (const item of tree[key]) {
26
32
  parseTree(item);
27
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mdx.js","names":["acorn","fromMarkdown","mdxJsxFromMarkdown","mdxJsx","parseJSXToAST","jsxString","keepPositions","treeComplex","extensions","addResult","mdastExtensions","parseTree","tree","key","start","end","Array","isArray","item"],"sources":["../../../../src/exports/server/ast/mdx.ts"],"sourcesContent":["import * as acorn from 'acorn'\nimport { fromMarkdown } from 'mdast-util-from-markdown'\nimport { mdxJsxFromMarkdown } from 'mdast-util-mdx-jsx'\nimport { mdxJsx } from 'micromark-extension-mdx-jsx'\n\nexport type AST = ReturnType<typeof fromMarkdown>\n\nexport function parseJSXToAST({\n jsxString,\n keepPositions,\n}: {\n jsxString: string\n keepPositions?: boolean\n}): AST {\n const treeComplex: AST = fromMarkdown(jsxString, {\n // @ts-expect-error\n extensions: [mdxJsx({ acorn, addResult: false })],\n mdastExtensions: [mdxJsxFromMarkdown()],\n })\n\n // Remove \"position\" keys\n const parseTree = (tree: object) => {\n for (const key in tree) {\n if (key === 'position' && tree[key].start && tree[key].end) {\n delete tree[key]\n } else if (typeof tree[key] === 'object') {\n parseTree(tree[key])\n } else if (Array.isArray(tree[key])) {\n for (const item of tree[key]) {\n parseTree(item)\n }\n }\n }\n }\n\n const tree: AST = treeComplex\n\n if (keepPositions !== true) {\n parseTree(tree)\n }\n\n return tree\n}\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,MAAM,QAAQ;AAIvB,OAAO,SAASC,cAAc;EAC5BC,SAAS;EACTC;AAAa,CAId;EACC,MAAMC,WAAA,GAAmBN,YAAA,CAAaI,SAAA,EAAW;IAC/C;IACAG,UAAA,EAAY,CAACL,MAAA,CAAO;MAAEH,KAAA;MAAOS,SAAA,EAAW;IAAM,GAAG;IACjDC,eAAA,EAAiB,CAACR,kBAAA;EACpB;EAEA;EACA,MAAMS,SAAA,GAAaC,IAAA;IACjB,KAAK,MAAMC,GAAA,IAAOD,IAAA,EAAM;MACtB,IAAIC,GAAA,KAAQ,cAAcD,IAAI,CAACC,GAAA,CAAI,CAACC,KAAK,IAAIF,IAAI,CAACC,GAAA,CAAI,CAACE,GAAG,EAAE;QAC1D,OAAOH,IAAI,CAACC,GAAA,CAAI;MAClB,OAAO,IAAI,OAAOD,IAAI,CAACC,GAAA,CAAI,KAAK,UAAU;QACxCF,SAAA,CAAUC,IAAI,CAACC,GAAA,CAAI;MACrB,OAAO,IAAIG,KAAA,CAAMC,OAAO,CAACL,IAAI,CAACC,GAAA,CAAI,GAAG;QACnC,KAAK,MAAMK,IAAA,IAAQN,IAAI,CAACC,GAAA,CAAI,EAAE;UAC5BF,SAAA,CAAUO,IAAA;QACZ;MACF;IACF;EACF;EAEA,MAAMN,IAAA,GAAYL,WAAA;EAElB,IAAID,aAAA,KAAkB,MAAM;IAC1BK,SAAA,CAAUC,IAAA;EACZ;EAEA,OAAOA,IAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"mdx.js","names":["acorn","fromMarkdown","mdxJsxFromMarkdown","mdxJsx","parseJSXToAST","jsxString","keepPositions","treeComplex","extensions","addResult","mdastExtensions","parseTree","tree","key","start","end","Array","isArray","item"],"sources":["../../../../src/exports/server/ast/mdx.ts"],"sourcesContent":["import * as acorn from 'acorn'\nimport { fromMarkdown } from 'mdast-util-from-markdown'\nimport { mdxJsxFromMarkdown } from 'mdast-util-mdx-jsx'\nimport { mdxJsx } from 'micromark-extension-mdx-jsx'\n\nexport type AST = ReturnType<typeof fromMarkdown>\n\nexport function parseJSXToAST({\n jsxString,\n keepPositions,\n}: {\n jsxString: string\n keepPositions?: boolean\n}): AST {\n const treeComplex: AST = fromMarkdown(jsxString, {\n // @ts-expect-error\n extensions: [mdxJsx({ acorn, addResult: false })],\n mdastExtensions: [mdxJsxFromMarkdown()],\n })\n\n // Remove \"position\" keys\n const parseTree = (tree: object) => {\n for (const key in tree) {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n if (key === 'position' && tree[key].start && tree[key].end) {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n delete tree[key]\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n } else if (typeof tree[key] === 'object') {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n parseTree(tree[key])\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n } else if (Array.isArray(tree[key])) {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n for (const item of tree[key]) {\n parseTree(item)\n }\n }\n }\n }\n\n const tree: AST = treeComplex\n\n if (keepPositions !== true) {\n parseTree(tree)\n }\n\n return tree\n}\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,MAAM,QAAQ;AAIvB,OAAO,SAASC,cAAc;EAC5BC,SAAS;EACTC;AAAa,CAId;EACC,MAAMC,WAAA,GAAmBN,YAAA,CAAaI,SAAA,EAAW;IAC/C;IACAG,UAAA,EAAY,CAACL,MAAA,CAAO;MAAEH,KAAA;MAAOS,SAAA,EAAW;IAAM,GAAG;IACjDC,eAAA,EAAiB,CAACR,kBAAA;EACpB;EAEA;EACA,MAAMS,SAAA,GAAaC,IAAA;IACjB,KAAK,MAAMC,GAAA,IAAOD,IAAA,EAAM;MACtB;MACA,IAAIC,GAAA,KAAQ,cAAcD,IAAI,CAACC,GAAA,CAAI,CAACC,KAAK,IAAIF,IAAI,CAACC,GAAA,CAAI,CAACE,GAAG,EAAE;QAC1D;QACA,OAAOH,IAAI,CAACC,GAAA,CAAI;QAChB;MACF,OAAO,IAAI,OAAOD,IAAI,CAACC,GAAA,CAAI,KAAK,UAAU;QACxC;QACAF,SAAA,CAAUC,IAAI,CAACC,GAAA,CAAI;QACnB;MACF,OAAO,IAAIG,KAAA,CAAMC,OAAO,CAACL,IAAI,CAACC,GAAA,CAAI,GAAG;QACnC;QACA,KAAK,MAAMK,IAAA,IAAQN,IAAI,CAACC,GAAA,CAAI,EAAE;UAC5BF,SAAA,CAAUO,IAAA;QACZ;MACF;IACF;EACF;EAEA,MAAMN,IAAA,GAAYL,WAAA;EAElB,IAAID,aAAA,KAAkB,MAAM;IAC1BK,SAAA,CAAUC,IAAA;EACZ;EAEA,OAAOA,IAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/align/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAiM1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/align/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAuM1C,CAAA"}
@@ -23,6 +23,12 @@ export const i18n = {
23
23
  alignLeftLabel: 'Zarovnat vlevo',
24
24
  alignRightLabel: 'Zarovnat vpravo'
25
25
  },
26
+ da: {
27
+ alignCenterLabel: 'Centrer teksten',
28
+ alignJustifyLabel: 'Justér til begge sider',
29
+ alignLeftLabel: 'Justér til venstre',
30
+ alignRightLabel: 'Juster til højre'
31
+ },
26
32
  de: {
27
33
  alignCenterLabel: 'Zentrieren',
28
34
  alignJustifyLabel: 'Blocksatz',
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["i18n","ar","alignCenterLabel","alignJustifyLabel","alignLeftLabel","alignRightLabel","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/align/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n alignCenterLabel: 'محاذاة في الوسط',\n alignJustifyLabel: 'محاذاة التبرير',\n alignLeftLabel: 'محاذاة إلى اليسار',\n alignRightLabel: 'محاذاة إلى اليمين',\n },\n az: {\n alignCenterLabel: 'Mərkəzə Düzəlt',\n alignJustifyLabel: 'Düzəldin Səsləndirin',\n alignLeftLabel: 'Sola Doğru Hizalama',\n alignRightLabel: 'Sağa Doğru Hizalama',\n },\n bg: {\n alignCenterLabel: 'Центрирай',\n alignJustifyLabel: 'Подравняване по двата края',\n alignLeftLabel: 'Подравняване отляво',\n alignRightLabel: 'Подравняване вдясно',\n },\n cs: {\n alignCenterLabel: 'Zarovnat na střed',\n alignJustifyLabel: 'Zarovnat do bloku',\n alignLeftLabel: 'Zarovnat vlevo',\n alignRightLabel: 'Zarovnat vpravo',\n },\n de: {\n alignCenterLabel: 'Zentrieren',\n alignJustifyLabel: 'Blocksatz',\n alignLeftLabel: 'Linksbündig',\n alignRightLabel: 'Rechtsbündig',\n },\n en: {\n alignCenterLabel: 'Align Center',\n alignJustifyLabel: 'Align Justify',\n alignLeftLabel: 'Align Left',\n alignRightLabel: 'Align Right',\n },\n es: {\n alignCenterLabel: 'Alinear al centro',\n alignJustifyLabel: 'Alinear Justificar',\n alignLeftLabel: 'Alinear a la izquierda',\n alignRightLabel: 'Alinear a la derecha',\n },\n fa: {\n alignCenterLabel: 'تراز در مرکز',\n alignJustifyLabel: 'تراز کردن از دو طرف',\n alignLeftLabel: 'چپ تراز',\n alignRightLabel: 'راست چین',\n },\n fr: {\n alignCenterLabel: 'Aligner au centre',\n alignJustifyLabel: 'Aligner Justifier',\n alignLeftLabel: 'Aligner à gauche',\n alignRightLabel: 'Aligner à droite',\n },\n he: {\n alignCenterLabel: 'ממורכז',\n alignJustifyLabel: 'יישור דו-צדדי',\n alignLeftLabel: 'הסב לשמאל',\n alignRightLabel: 'יישור לימין',\n },\n hr: {\n alignCenterLabel: 'Poravnaj središnje',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj lijevo',\n alignRightLabel: 'Poravnaj desno',\n },\n hu: {\n alignCenterLabel: 'Középre igazítás',\n alignJustifyLabel: 'Igazítás Sorkizárás',\n alignLeftLabel: 'Igazítás balra',\n alignRightLabel: 'Igazítás jobbra',\n },\n it: {\n alignCenterLabel: 'Allinea al centro',\n alignJustifyLabel: 'Allinea Giustifica',\n alignLeftLabel: 'Allinea a sinistra',\n alignRightLabel: 'Allinea a destra',\n },\n ja: {\n alignCenterLabel: '中央揃え',\n alignJustifyLabel: '両端揃え',\n alignLeftLabel: '左揃え',\n alignRightLabel: '右揃え',\n },\n ko: {\n alignCenterLabel: '중앙 정렬',\n alignJustifyLabel: '정렬 맞춤',\n alignLeftLabel: '왼쪽 정렬',\n alignRightLabel: '오른쪽 정렬',\n },\n my: {\n alignCenterLabel: 'Pusat Selaras',\n alignJustifyLabel: 'Penjajaran Justify',\n alignLeftLabel: 'ဘယ်ဘက်ဦးတည်ခြင်း',\n alignRightLabel: 'Penjajaran Kanan',\n },\n nb: {\n alignCenterLabel: 'Sentrer tekst',\n alignJustifyLabel: 'Juster linje',\n alignLeftLabel: 'Juster til venstre',\n alignRightLabel: 'Juster til høyre',\n },\n nl: {\n alignCenterLabel: 'Centreer uitlijnen',\n alignJustifyLabel: 'Uitlijnen Rechtvaardigen',\n alignLeftLabel: 'Links uitlijnen',\n alignRightLabel: 'Rechts uitlijnen',\n },\n pl: {\n alignCenterLabel: 'Wyśrodkuj',\n alignJustifyLabel: 'Wyjustuj wyrównanie',\n alignLeftLabel: 'Wyrównaj do lewej',\n alignRightLabel: 'Wyrównaj do prawej',\n },\n pt: {\n alignCenterLabel: 'Alinhar ao Centro',\n alignJustifyLabel: 'Alinhar Justificar',\n alignLeftLabel: 'Alinhar à Esquerda',\n alignRightLabel: 'Alinhar à Direita',\n },\n ro: {\n alignCenterLabel: 'Aliniați Centrul',\n alignJustifyLabel: 'Aliniaza Justifica',\n alignLeftLabel: 'Aliniați la stânga',\n alignRightLabel: 'Aliniați la dreapta',\n },\n rs: {\n alignCenterLabel: 'Centriraj',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n 'rs-latin': {\n alignCenterLabel: 'Poravnaj centar',\n alignJustifyLabel: 'Poravnaj opravdanje',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n ru: {\n alignCenterLabel: 'Выровнять по центру',\n alignJustifyLabel: 'Выровнять по ширине',\n alignLeftLabel: 'Выровнять по левому краю',\n alignRightLabel: 'Выровнять по правому краю',\n },\n sk: {\n alignCenterLabel: 'Vycentrovať',\n alignJustifyLabel: 'Zarovnať do bloku',\n alignLeftLabel: 'Zarovnať doľava',\n alignRightLabel: 'Zarovnať doprava',\n },\n sv: {\n alignCenterLabel: 'Centrera',\n alignJustifyLabel: 'Justera Justify',\n alignLeftLabel: 'Justera till vänster',\n alignRightLabel: 'Justera till höger',\n },\n th: {\n alignCenterLabel: 'จัดแนวกึ่งกลาง',\n alignJustifyLabel: 'จัดแนวตรง',\n alignLeftLabel: 'จัดชิดซ้าย',\n alignRightLabel: 'จัดชิดขวา',\n },\n tr: {\n alignCenterLabel: 'Ortaya Hizala',\n alignJustifyLabel: 'Hizala Yasla',\n alignLeftLabel: 'Sola Hizala',\n alignRightLabel: 'Sağa Hizala',\n },\n uk: {\n alignCenterLabel: 'Вирівняти по центру',\n alignJustifyLabel: 'Вирівняти за шириною',\n alignLeftLabel: 'Вирівняти по лівому краю',\n alignRightLabel: 'Вирівняти по правому краю',\n },\n vi: {\n alignCenterLabel: 'Căn giữa',\n alignJustifyLabel: 'Căn đều',\n alignLeftLabel: 'Căn lề trái',\n alignRightLabel: 'Căn phải',\n },\n zh: {\n alignCenterLabel: '居中对齐',\n alignJustifyLabel: '对齐调整',\n alignLeftLabel: '向左对齐',\n alignRightLabel: '向右对齐',\n },\n 'zh-TW': {\n alignCenterLabel: '對齊中心',\n alignJustifyLabel: '對齊並排列',\n alignLeftLabel: '向左對齊',\n alignRightLabel: '向右對齊',\n },\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"i18n.js","names":["i18n","ar","alignCenterLabel","alignJustifyLabel","alignLeftLabel","alignRightLabel","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/align/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n alignCenterLabel: 'محاذاة في الوسط',\n alignJustifyLabel: 'محاذاة التبرير',\n alignLeftLabel: 'محاذاة إلى اليسار',\n alignRightLabel: 'محاذاة إلى اليمين',\n },\n az: {\n alignCenterLabel: 'Mərkəzə Düzəlt',\n alignJustifyLabel: 'Düzəldin Səsləndirin',\n alignLeftLabel: 'Sola Doğru Hizalama',\n alignRightLabel: 'Sağa Doğru Hizalama',\n },\n bg: {\n alignCenterLabel: 'Центрирай',\n alignJustifyLabel: 'Подравняване по двата края',\n alignLeftLabel: 'Подравняване отляво',\n alignRightLabel: 'Подравняване вдясно',\n },\n cs: {\n alignCenterLabel: 'Zarovnat na střed',\n alignJustifyLabel: 'Zarovnat do bloku',\n alignLeftLabel: 'Zarovnat vlevo',\n alignRightLabel: 'Zarovnat vpravo',\n },\n da: {\n alignCenterLabel: 'Centrer teksten',\n alignJustifyLabel: 'Justér til begge sider',\n alignLeftLabel: 'Justér til venstre',\n alignRightLabel: 'Juster til højre',\n },\n de: {\n alignCenterLabel: 'Zentrieren',\n alignJustifyLabel: 'Blocksatz',\n alignLeftLabel: 'Linksbündig',\n alignRightLabel: 'Rechtsbündig',\n },\n en: {\n alignCenterLabel: 'Align Center',\n alignJustifyLabel: 'Align Justify',\n alignLeftLabel: 'Align Left',\n alignRightLabel: 'Align Right',\n },\n es: {\n alignCenterLabel: 'Alinear al centro',\n alignJustifyLabel: 'Alinear Justificar',\n alignLeftLabel: 'Alinear a la izquierda',\n alignRightLabel: 'Alinear a la derecha',\n },\n fa: {\n alignCenterLabel: 'تراز در مرکز',\n alignJustifyLabel: 'تراز کردن از دو طرف',\n alignLeftLabel: 'چپ تراز',\n alignRightLabel: 'راست چین',\n },\n fr: {\n alignCenterLabel: 'Aligner au centre',\n alignJustifyLabel: 'Aligner Justifier',\n alignLeftLabel: 'Aligner à gauche',\n alignRightLabel: 'Aligner à droite',\n },\n he: {\n alignCenterLabel: 'ממורכז',\n alignJustifyLabel: 'יישור דו-צדדי',\n alignLeftLabel: 'הסב לשמאל',\n alignRightLabel: 'יישור לימין',\n },\n hr: {\n alignCenterLabel: 'Poravnaj središnje',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj lijevo',\n alignRightLabel: 'Poravnaj desno',\n },\n hu: {\n alignCenterLabel: 'Középre igazítás',\n alignJustifyLabel: 'Igazítás Sorkizárás',\n alignLeftLabel: 'Igazítás balra',\n alignRightLabel: 'Igazítás jobbra',\n },\n it: {\n alignCenterLabel: 'Allinea al centro',\n alignJustifyLabel: 'Allinea Giustifica',\n alignLeftLabel: 'Allinea a sinistra',\n alignRightLabel: 'Allinea a destra',\n },\n ja: {\n alignCenterLabel: '中央揃え',\n alignJustifyLabel: '両端揃え',\n alignLeftLabel: '左揃え',\n alignRightLabel: '右揃え',\n },\n ko: {\n alignCenterLabel: '중앙 정렬',\n alignJustifyLabel: '정렬 맞춤',\n alignLeftLabel: '왼쪽 정렬',\n alignRightLabel: '오른쪽 정렬',\n },\n my: {\n alignCenterLabel: 'Pusat Selaras',\n alignJustifyLabel: 'Penjajaran Justify',\n alignLeftLabel: 'ဘယ်ဘက်ဦးတည်ခြင်း',\n alignRightLabel: 'Penjajaran Kanan',\n },\n nb: {\n alignCenterLabel: 'Sentrer tekst',\n alignJustifyLabel: 'Juster linje',\n alignLeftLabel: 'Juster til venstre',\n alignRightLabel: 'Juster til høyre',\n },\n nl: {\n alignCenterLabel: 'Centreer uitlijnen',\n alignJustifyLabel: 'Uitlijnen Rechtvaardigen',\n alignLeftLabel: 'Links uitlijnen',\n alignRightLabel: 'Rechts uitlijnen',\n },\n pl: {\n alignCenterLabel: 'Wyśrodkuj',\n alignJustifyLabel: 'Wyjustuj wyrównanie',\n alignLeftLabel: 'Wyrównaj do lewej',\n alignRightLabel: 'Wyrównaj do prawej',\n },\n pt: {\n alignCenterLabel: 'Alinhar ao Centro',\n alignJustifyLabel: 'Alinhar Justificar',\n alignLeftLabel: 'Alinhar à Esquerda',\n alignRightLabel: 'Alinhar à Direita',\n },\n ro: {\n alignCenterLabel: 'Aliniați Centrul',\n alignJustifyLabel: 'Aliniaza Justifica',\n alignLeftLabel: 'Aliniați la stânga',\n alignRightLabel: 'Aliniați la dreapta',\n },\n rs: {\n alignCenterLabel: 'Centriraj',\n alignJustifyLabel: 'Poravnaj opravdaj',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n 'rs-latin': {\n alignCenterLabel: 'Poravnaj centar',\n alignJustifyLabel: 'Poravnaj opravdanje',\n alignLeftLabel: 'Poravnaj levo',\n alignRightLabel: 'Poravnaj desno',\n },\n ru: {\n alignCenterLabel: 'Выровнять по центру',\n alignJustifyLabel: 'Выровнять по ширине',\n alignLeftLabel: 'Выровнять по левому краю',\n alignRightLabel: 'Выровнять по правому краю',\n },\n sk: {\n alignCenterLabel: 'Vycentrovať',\n alignJustifyLabel: 'Zarovnať do bloku',\n alignLeftLabel: 'Zarovnať doľava',\n alignRightLabel: 'Zarovnať doprava',\n },\n sv: {\n alignCenterLabel: 'Centrera',\n alignJustifyLabel: 'Justera Justify',\n alignLeftLabel: 'Justera till vänster',\n alignRightLabel: 'Justera till höger',\n },\n th: {\n alignCenterLabel: 'จัดแนวกึ่งกลาง',\n alignJustifyLabel: 'จัดแนวตรง',\n alignLeftLabel: 'จัดชิดซ้าย',\n alignRightLabel: 'จัดชิดขวา',\n },\n tr: {\n alignCenterLabel: 'Ortaya Hizala',\n alignJustifyLabel: 'Hizala Yasla',\n alignLeftLabel: 'Sola Hizala',\n alignRightLabel: 'Sağa Hizala',\n },\n uk: {\n alignCenterLabel: 'Вирівняти по центру',\n alignJustifyLabel: 'Вирівняти за шириною',\n alignLeftLabel: 'Вирівняти по лівому краю',\n alignRightLabel: 'Вирівняти по правому краю',\n },\n vi: {\n alignCenterLabel: 'Căn giữa',\n alignJustifyLabel: 'Căn đều',\n alignLeftLabel: 'Căn lề trái',\n alignRightLabel: 'Căn phải',\n },\n zh: {\n alignCenterLabel: '居中对齐',\n alignJustifyLabel: '对齐调整',\n alignLeftLabel: '向左对齐',\n alignRightLabel: '向右对齐',\n },\n 'zh-TW': {\n alignCenterLabel: '對齊中心',\n alignJustifyLabel: '對齊並排列',\n alignLeftLabel: '向左對齊',\n alignRightLabel: '向右對齊',\n },\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/blockquote/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAiG1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/blockquote/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAoG1C,CAAA"}
@@ -11,6 +11,9 @@ export const i18n = {
11
11
  cs: {
12
12
  label: 'Citace'
13
13
  },
14
+ da: {
15
+ label: 'Blokering'
16
+ },
14
17
  de: {
15
18
  label: 'Blockzitat'
16
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["i18n","ar","label","az","bg","cs","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/blockquote/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'اقتباس',\n },\n az: {\n label: 'Blokkvota',\n },\n bg: {\n label: 'Цитат',\n },\n cs: {\n label: 'Citace',\n },\n de: {\n label: 'Blockzitat',\n },\n en: {\n label: 'Blockquote',\n },\n es: {\n label: 'Cita en bloque',\n },\n fa: {\n label: 'نقل قول بلوکی',\n },\n fr: {\n label: 'Citation',\n },\n he: {\n label: 'בלוק ציטוט',\n },\n hr: {\n label: 'Blok citat',\n },\n hu: {\n label: 'Idézetblokk',\n },\n it: {\n label: 'Citazione',\n },\n ja: {\n label: 'ブロッククォート',\n },\n ko: {\n label: '인용구',\n },\n my: {\n label: 'ဒေါင်းချီးခြင်း',\n },\n nb: {\n label: 'Blokksitat',\n },\n nl: {\n label: 'Citaat',\n },\n pl: {\n label: 'Cytat blokowy',\n },\n pt: {\n label: 'Citação em bloco',\n },\n ro: {\n label: 'Citat',\n },\n rs: {\n label: 'Blok citat',\n },\n 'rs-latin': {\n label: 'Blok citata',\n },\n ru: {\n label: 'Цитата',\n },\n sk: {\n label: 'Citát',\n },\n sv: {\n label: 'Blockcitat',\n },\n th: {\n label: '[SKIPPED]',\n },\n tr: {\n label: 'Alıntı',\n },\n uk: {\n label: 'Блокцитата',\n },\n vi: {\n label: 'Trích dẫn',\n },\n zh: {\n label: '块引用',\n },\n 'zh-TW': {\n label: '引用塊',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;EACT;EACAC,EAAA,EAAI;IACFD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFF,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFH,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFJ,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFL,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFN,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFP,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFR,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFT,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFV,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFX,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFZ,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFb,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFd,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFf,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFhB,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFjB,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFlB,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFnB,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFpB,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFrB,KAAA,EAAO;EACT;EACA,YAAY;IACVA,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFtB,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACFvB,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACFxB,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACFzB,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF1B,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF3B,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF5B,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACF7B,KAAA,EAAO;EACT;EACA,SAAS;IACPA,KAAA,EAAO;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"file":"i18n.js","names":["i18n","ar","label","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/blockquote/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'اقتباس',\n },\n az: {\n label: 'Blokkvota',\n },\n bg: {\n label: 'Цитат',\n },\n cs: {\n label: 'Citace',\n },\n da: {\n label: 'Blokering',\n },\n de: {\n label: 'Blockzitat',\n },\n en: {\n label: 'Blockquote',\n },\n es: {\n label: 'Cita en bloque',\n },\n fa: {\n label: 'نقل قول بلوکی',\n },\n fr: {\n label: 'Citation',\n },\n he: {\n label: 'בלוק ציטוט',\n },\n hr: {\n label: 'Blok citat',\n },\n hu: {\n label: 'Idézetblokk',\n },\n it: {\n label: 'Citazione',\n },\n ja: {\n label: 'ブロッククォート',\n },\n ko: {\n label: '인용구',\n },\n my: {\n label: 'ဒေါင်းချီးခြင်း',\n },\n nb: {\n label: 'Blokksitat',\n },\n nl: {\n label: 'Citaat',\n },\n pl: {\n label: 'Cytat blokowy',\n },\n pt: {\n label: 'Citação em bloco',\n },\n ro: {\n label: 'Citat',\n },\n rs: {\n label: 'Blok citat',\n },\n 'rs-latin': {\n label: 'Blok citata',\n },\n ru: {\n label: 'Цитата',\n },\n sk: {\n label: 'Citát',\n },\n sv: {\n label: 'Blockcitat',\n },\n th: {\n label: '[SKIPPED]',\n },\n tr: {\n label: 'Alıntı',\n },\n uk: {\n label: 'Блокцитата',\n },\n vi: {\n label: 'Trích dẫn',\n },\n zh: {\n label: '块引用',\n },\n 'zh-TW': {\n label: '引用塊',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;EACT;EACAC,EAAA,EAAI;IACFD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFF,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFH,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFJ,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFL,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFN,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFP,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFR,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFT,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFV,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFX,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFZ,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFb,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFd,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFf,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFhB,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFjB,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFlB,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFnB,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFpB,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFrB,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFtB,KAAA,EAAO;EACT;EACA,YAAY;IACVA,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACFvB,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACFxB,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACFzB,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF1B,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF3B,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF5B,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACF7B,KAAA,EAAO;EACT;EACA8B,EAAA,EAAI;IACF9B,KAAA,EAAO;EACT;EACA,SAAS;IACPA,KAAA,EAAO;EACT;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blockquote/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAUrC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,0FA8C5B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blockquote/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAUrC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,0FAoD5B,CAAA"}
@@ -38,7 +38,8 @@ export const BlockquoteFeature = createServerFeature({
38
38
  req,
39
39
  showHiddenFields
40
40
  });
41
- return `<blockquote>${childrenText}</blockquote>`;
41
+ const style = [node.format ? `text-align: ${node.format};` : '', node.indent > 0 ? `padding-inline-start: ${node.indent * 40}px;` : ''].filter(Boolean).join(' ');
42
+ return `<blockquote${style ? ` style='${style}'` : ''}>${childrenText}</blockquote>`;
42
43
  },
43
44
  nodeTypes: [QuoteNode.getType()]
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QuoteNode","createServerFeature","convertLexicalNodesToHTML","createNode","MarkdownTransformer","i18n","BlockquoteFeature","feature","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","currentDepth","depth","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","nodeTypes","getType","key"],"sources":["../../../../src/features/blockquote/server/index.ts"],"sourcesContent":["import type { SerializedQuoteNode as _SerializedQuoteNode } from '@lexical/rich-text'\nimport type { Spread } from 'lexical'\n\nimport { QuoteNode } from '@lexical/rich-text'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../../converters/html/converter/index.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { MarkdownTransformer } from '../markdownTransformer.js'\nimport { i18n } from './i18n.js'\n\nexport type SerializedQuoteNode = Spread<\n {\n type: 'quote'\n },\n _SerializedQuoteNode\n>\n\nexport const BlockquoteFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlockquoteFeatureClient',\n clientFeatureProps: null,\n i18n,\n markdownTransformers: [MarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n\n return `<blockquote>${childrenText}</blockquote>`\n },\n nodeTypes: [QuoteNode.getType()],\n },\n },\n node: QuoteNode,\n }),\n ],\n },\n key: 'blockquote',\n})\n"],"mappings":"AAGA,SAASA,SAAS,QAAQ;AAE1B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,UAAU,QAAQ;AAC3B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,IAAI,QAAQ;AASrB,OAAO,MAAMC,iBAAA,GAAoBL,mBAAA,CAAoB;EACnDM,OAAA,EAAS;IACPC,aAAA,EAAe;IACfC,kBAAA,EAAoB;IACpBJ,IAAA;IACAK,oBAAA,EAAsB,CAACN,mBAAA,CAAoB;IAC3CO,KAAA,EAAO,CACLR,UAAA,CAAW;MACTS,UAAA,EAAY;QACVC,IAAA,EAAM;UACJC,SAAA,EAAW,MAAAA,CAAO;YAChBF,UAAU;YACVG,YAAY;YACZC,KAAK;YACLC,KAAK;YACLC,IAAI;YACJC,cAAc;YACdC,MAAM;YACNC,GAAG;YACHC;UAAgB,CACjB;YACC,MAAMC,YAAA,GAAe,MAAMrB,yBAAA,CAA0B;cACnDU,UAAA;cACAG,YAAA;cACAC,KAAA;cACAC,KAAA;cACAO,YAAA,EAAcN,IAAA,CAAKO,QAAQ;cAC3BN,cAAA;cACAC,MAAA,EAAQ;gBACN,GAAGF,IAAI;gBACPE;cACF;cACAC,GAAA;cACAC;YACF;YAEA,OAAO,eAAeC,YAAA,eAA2B;UACnD;UACAG,SAAA,EAAW,CAAC1B,SAAA,CAAU2B,OAAO;QAC/B;MACF;MACAT,IAAA,EAAMlB;IACR;EAEJ;EACA4B,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["QuoteNode","createServerFeature","convertLexicalNodesToHTML","createNode","MarkdownTransformer","i18n","BlockquoteFeature","feature","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","currentDepth","depth","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","style","format","indent","filter","Boolean","join","nodeTypes","getType","key"],"sources":["../../../../src/features/blockquote/server/index.ts"],"sourcesContent":["import type { SerializedQuoteNode as _SerializedQuoteNode } from '@lexical/rich-text'\nimport type { Spread } from 'lexical'\n\nimport { QuoteNode } from '@lexical/rich-text'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../../converters/html/converter/index.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { MarkdownTransformer } from '../markdownTransformer.js'\nimport { i18n } from './i18n.js'\n\nexport type SerializedQuoteNode = Spread<\n {\n type: 'quote'\n },\n _SerializedQuoteNode\n>\n\nexport const BlockquoteFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlockquoteFeatureClient',\n clientFeatureProps: null,\n i18n,\n markdownTransformers: [MarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n currentDepth,\n depth,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n currentDepth,\n depth,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n const style = [\n node.format ? `text-align: ${node.format};` : '',\n node.indent > 0 ? `padding-inline-start: ${node.indent * 40}px;` : '',\n ]\n .filter(Boolean)\n .join(' ')\n\n return `<blockquote${style ? ` style='${style}'` : ''}>${childrenText}</blockquote>`\n },\n nodeTypes: [QuoteNode.getType()],\n },\n },\n node: QuoteNode,\n }),\n ],\n },\n key: 'blockquote',\n})\n"],"mappings":"AAGA,SAASA,SAAS,QAAQ;AAE1B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,UAAU,QAAQ;AAC3B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,IAAI,QAAQ;AASrB,OAAO,MAAMC,iBAAA,GAAoBL,mBAAA,CAAoB;EACnDM,OAAA,EAAS;IACPC,aAAA,EAAe;IACfC,kBAAA,EAAoB;IACpBJ,IAAA;IACAK,oBAAA,EAAsB,CAACN,mBAAA,CAAoB;IAC3CO,KAAA,EAAO,CACLR,UAAA,CAAW;MACTS,UAAA,EAAY;QACVC,IAAA,EAAM;UACJC,SAAA,EAAW,MAAAA,CAAO;YAChBF,UAAU;YACVG,YAAY;YACZC,KAAK;YACLC,KAAK;YACLC,IAAI;YACJC,cAAc;YACdC,MAAM;YACNC,GAAG;YACHC;UAAgB,CACjB;YACC,MAAMC,YAAA,GAAe,MAAMrB,yBAAA,CAA0B;cACnDU,UAAA;cACAG,YAAA;cACAC,KAAA;cACAC,KAAA;cACAO,YAAA,EAAcN,IAAA,CAAKO,QAAQ;cAC3BN,cAAA;cACAC,MAAA,EAAQ;gBACN,GAAGF,IAAI;gBACPE;cACF;cACAC,GAAA;cACAC;YACF;YACA,MAAMI,KAAA,GAAQ,CACZR,IAAA,CAAKS,MAAM,GAAG,eAAeT,IAAA,CAAKS,MAAM,GAAG,GAAG,IAC9CT,IAAA,CAAKU,MAAM,GAAG,IAAI,yBAAyBV,IAAA,CAAKU,MAAM,GAAG,OAAO,GAAG,GACpE,CACEC,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;YAER,OAAO,cAAcL,KAAA,GAAQ,WAAWA,KAAA,GAAQ,GAAG,MAAMH,YAAA,eAA2B;UACtF;UACAS,SAAA,EAAW,CAAChC,SAAA,CAAUiC,OAAO;QAC/B;MACF;MACAf,IAAA,EAAMlB;IACR;EAEJ;EACAkC,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/component/index.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAStE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAMnE,OAAO,cAAc,CAAA;AAGrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4c1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/component/index.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAStE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAMnE,OAAO,cAAc,CAAA;AAGrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAke1C,CAAA"}
@@ -46,7 +46,7 @@ export const BlockComponent = props => {
46
46
  });
47
47
  const {
48
48
  toggleDrawer
49
- } = useLexicalDrawer(drawerSlug, true);
49
+ } = useLexicalDrawer(drawerSlug);
50
50
  // Used for saving collapsed to preferences (and gettin' it from there again)
51
51
  // Remember, these preferences are scoped to the whole document, not just this form. This
52
52
  // is important to consider for the data path used in setDocFieldPreferences
@@ -68,6 +68,12 @@ export const BlockComponent = props => {
68
68
  value: formData.blockName
69
69
  }
70
70
  } : false);
71
+ const [CustomLabel, setCustomLabel] = React.useState(
72
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
73
+ initialState?.['_components']?.customComponents?.BlockLabel);
74
+ const [CustomBlock, setCustomBlock] = React.useState(
75
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
76
+ initialState?.['_components']?.customComponents?.Block);
71
77
  // Initial state for newly created blocks
72
78
  useEffect(() => {
73
79
  const abortController = new AbortController();
@@ -101,6 +107,8 @@ export const BlockComponent = props => {
101
107
  value: formData.blockName
102
108
  };
103
109
  setInitialState(state);
110
+ setCustomLabel(state._components?.customComponents?.BlockLabel);
111
+ setCustomBlock(state._components?.customComponents?.Block);
104
112
  }
105
113
  };
106
114
  if (formData && !initialState) {
@@ -138,6 +146,7 @@ export const BlockComponent = props => {
138
146
  formState: prevFormState,
139
147
  globalSlug,
140
148
  operation: 'update',
149
+ renderAllFields: submit ? true : false,
141
150
  schemaPath: schemaFieldsPath,
142
151
  signal: controller.signal
143
152
  });
@@ -161,6 +170,8 @@ export const BlockComponent = props => {
161
170
  });
162
171
  }, 0);
163
172
  if (submit) {
173
+ setCustomLabel(newFormState._components?.customComponents?.BlockLabel);
174
+ setCustomBlock(newFormState._components?.customComponents?.Block);
164
175
  let rowErrorCount = 0;
165
176
  for (const formField of Object.values(newFormState)) {
166
177
  if (formField?.valid === false) {
@@ -181,12 +192,10 @@ export const BlockComponent = props => {
181
192
  $getNodeByKey(nodeKey)?.remove();
182
193
  });
183
194
  }, [editor, nodeKey]);
184
- const CustomLabel = initialState?.['_components']?.customComponents?.BlockLabel;
185
- const CustomBlock = initialState?.['_components']?.customComponents?.Block;
186
195
  const blockDisplayName = clientBlock?.labels?.singular ? getTranslation(clientBlock.labels.singular, i18n) : clientBlock?.slug;
187
196
  const onCollapsedChange = useCallback(changedCollapsed => {
188
197
  void getDocPreferences().then(currentDocPreferences => {
189
- const currentFieldPreferences = currentDocPreferences?.fields[parentLexicalRichTextField.name];
198
+ const currentFieldPreferences = currentDocPreferences?.fields?.[parentLexicalRichTextField.name];
190
199
  const collapsedArray = currentFieldPreferences?.collapsed;
191
200
  const newCollapsed = collapsedArray && collapsedArray?.length ? collapsedArray : [];
192
201
  if (changedCollapsed) {
@@ -208,10 +217,18 @@ export const BlockComponent = props => {
208
217
  buttonStyle: "icon-label",
209
218
  className: `${baseClass}__editButton`,
210
219
  disabled: readOnly,
211
- el: "div",
220
+ el: "button",
212
221
  icon: "edit",
213
- onClick: () => {
222
+ onClick: e => {
223
+ e.preventDefault();
224
+ e.stopPropagation();
214
225
  toggleDrawer();
226
+ return false;
227
+ },
228
+ onMouseDown: e_0 => {
229
+ // Needed to preserve lexical selection for toggleDrawer lexical selection restore.
230
+ // I believe this is needed due to this button (usually) being inside of a collapsible.
231
+ e_0.preventDefault();
215
232
  },
216
233
  round: true,
217
234
  size: "small",
@@ -224,8 +241,8 @@ export const BlockComponent = props => {
224
241
  className: `${baseClass}__removeButton`,
225
242
  disabled: parentLexicalRichTextField?.admin?.readOnly || false,
226
243
  icon: "x",
227
- onClick: e => {
228
- e.preventDefault();
244
+ onClick: e_1 => {
245
+ e_1.preventDefault();
229
246
  removeBlock();
230
247
  },
231
248
  round: true,
@@ -303,6 +320,7 @@ export const BlockComponent = props => {
303
320
  beforeSubmit: [async ({
304
321
  formState
305
322
  }) => {
323
+ // This is only called when form is submitted from drawer - usually only the case if the block has a custom Block component
306
324
  return await onChange({
307
325
  formState,
308
326
  submit: true
@@ -312,7 +330,7 @@ export const BlockComponent = props => {
312
330
  initialState: initialState,
313
331
  onChange: [onChange],
314
332
  onSubmit: formState_0 => {
315
- // THis is only called when form is submitted from drawer - usually only the case if the block has a custom Block component
333
+ // This is only called when form is submitted from drawer - usually only the case if the block has a custom Block component
316
334
  const newData_0 = reduceFieldsToValues(formState_0);
317
335
  newData_0.blockType = formData.blockType;
318
336
  editor.update(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Button","Collapsible","Drawer","EditDepthProvider","ErrorPill","Form","formatDrawerSlug","FormSubmit","Pill","RenderFields","SectionTitle","useDocumentInfo","useEditDepth","useFormSubmitted","useServerFunctions","useTranslation","abortAndIgnore","deepCopyObjectSimpleWithoutReactComponents","reduceFieldsToValues","React","useCallback","useEffect","useMemo","useRef","baseClass","useLexicalComposerContext","getTranslation","$getNodeByKey","v4","uuid","useEditorConfigContext","useLexicalDrawer","$isBlockNode","BlockContent","removeEmptyArrayValues","BlockComponent","props","formData","nodeKey","submitted","id","collectionSlug","globalSlug","fieldProps","featureClientSchemaMap","field","parentLexicalRichTextField","initialLexicalFormState","permissions","readOnly","schemaPath","uuidFromContext","onChangeAbortControllerRef","AbortController","editDepth","errorCount","setErrorCount","useState","drawerSlug","slug","depth","toggleDrawer","getDocPreferences","setDocFieldPreferences","editor","getFormState","schemaFieldsPath","blockType","initialState","setInitialState","formState","blockName","initialValue","passesCondition","valid","value","abortController","awaitInitialState","state","data","docPermissions","fields","docPreferences","operation","renderAllFields","signal","isCollapsed","setIsCollapsed","collapsed","componentMapRenderedBlockPath","clientSchemaMap","blocksField","clientBlock","blocks","i18n","t","onChange","prevFormState","submit","current","controller","newFormState","newFormStateData","setTimeout","update","node","newData","setFields","rowErrorCount","formField","Object","values","removeBlock","remove","CustomLabel","customComponents","BlockLabel","CustomBlock","Block","blockDisplayName","labels","singular","onCollapsedChange","changedCollapsed","then","currentDocPreferences","currentFieldPreferences","name","collapsedArray","newCollapsed","length","includes","push","splice","indexOf","hello","EditButton","_jsx","buttonStyle","className","disabled","el","icon","onClick","round","size","tooltip","label","RemoveButton","admin","e","preventDefault","BlockCollapsible","children","editButton","fieldHasErrors","Label","removeButton","join","collapsibleStyle","header","_jsxs","pillStyle","path","count","withMessage","isEditable","onToggle","incomingCollapsedState","BlockDrawer","title","_Fragment","forceRender","parentIndexPath","parentPath","parentSchemaPath","beforeSubmit","onSubmit","formSchema"],"sources":["../../../../../src/features/blocks/client/component/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n Button,\n Collapsible,\n Drawer,\n EditDepthProvider,\n ErrorPill,\n Form,\n formatDrawerSlug,\n FormSubmit,\n Pill,\n RenderFields,\n SectionTitle,\n useDocumentInfo,\n useEditDepth,\n useFormSubmitted,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { deepCopyObjectSimpleWithoutReactComponents, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react'\n\nconst baseClass = 'lexical-block'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { getTranslation } from '@payloadcms/translations'\nimport { $getNodeByKey } from 'lexical'\nimport { type BlocksFieldClient, type CollapsedPreferences, type FormState } from 'payload'\nimport { v4 as uuid } from 'uuid'\n\nimport type { BlockFields } from '../../server/nodes/BlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $isBlockNode } from '../nodes/BlocksNode.js'\nimport { BlockContent } from './BlockContent.js'\nimport './index.scss'\nimport { removeEmptyArrayValues } from './removeEmptyArrayValues.js'\n\ntype Props = {\n readonly children?: React.ReactNode\n readonly formData: BlockFields\n readonly nodeKey: string\n}\n\nexport const BlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const submitted = useFormSubmitted()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const {\n fieldProps: {\n featureClientSchemaMap,\n field: parentLexicalRichTextField,\n initialLexicalFormState,\n permissions,\n readOnly,\n schemaPath,\n },\n uuid: uuidFromContext,\n } = useEditorConfigContext()\n const onChangeAbortControllerRef = useRef(new AbortController())\n const editDepth = useEditDepth()\n const [errorCount, setErrorCount] = React.useState(0)\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-blocks-create-${uuidFromContext}-${formData.id}`,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug, true)\n\n // Used for saving collapsed to preferences (and gettin' it from there again)\n // Remember, these preferences are scoped to the whole document, not just this form. This\n // is important to consider for the data path used in setDocFieldPreferences\n const { getDocPreferences, setDocFieldPreferences } = useDocumentInfo()\n const [editor] = useLexicalComposerContext()\n\n const { getFormState } = useServerFunctions()\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${formData.blockType}.fields`\n\n const [initialState, setInitialState] = React.useState<false | FormState | undefined>(\n initialLexicalFormState?.[formData.id]?.formState\n ? {\n ...initialLexicalFormState?.[formData.id]?.formState,\n blockName: {\n initialValue: formData.blockName,\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n },\n }\n : false,\n )\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 globalSlug,\n operation: 'update',\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n state.blockName = {\n initialValue: formData.blockName,\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n }\n\n setInitialState(state)\n }\n }\n\n if (formData && !initialState) {\n void awaitInitialState()\n }\n\n return () => {\n abortAndIgnore(abortController)\n }\n }, [\n getFormState,\n schemaFieldsPath,\n id,\n formData,\n initialState,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n ])\n\n const [isCollapsed, setIsCollapsed] = React.useState<boolean>(\n initialLexicalFormState?.[formData.id]?.collapsed ?? false,\n )\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_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 = blocksField.blocks[0]\n\n const { i18n, t } = useTranslation<object, string>()\n\n const onChange = useCallback(\n async ({ formState: prevFormState, submit }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state: newFormState } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n formState: prevFormState,\n globalSlug,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!newFormState) {\n return prevFormState\n }\n\n newFormState.blockName = prevFormState.blockName\n\n const newFormStateData: BlockFields = reduceFieldsToValues(\n removeEmptyArrayValues({\n fields: deepCopyObjectSimpleWithoutReactComponents(newFormState),\n }),\n true,\n ) as BlockFields\n\n setTimeout(() => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isBlockNode(node)) {\n const newData = {\n ...newFormStateData,\n blockType: formData.blockType,\n }\n node.setFields(newData)\n }\n })\n }, 0)\n\n if (submit) {\n let rowErrorCount = 0\n for (const formField of Object.values(newFormState)) {\n if (formField?.valid === false) {\n rowErrorCount++\n }\n }\n setErrorCount(rowErrorCount)\n }\n\n return newFormState\n },\n\n [\n getFormState,\n id,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n schemaFieldsPath,\n formData.blockType,\n editor,\n nodeKey,\n ],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n const removeBlock = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey)?.remove()\n })\n }, [editor, nodeKey])\n\n const CustomLabel = initialState?.['_components']?.customComponents?.BlockLabel\n const CustomBlock = initialState?.['_components']?.customComponents?.Block\n\n const blockDisplayName = clientBlock?.labels?.singular\n ? getTranslation(clientBlock.labels.singular, i18n)\n : clientBlock?.slug\n\n const onCollapsedChange = useCallback(\n (changedCollapsed: boolean) => {\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences =\n currentDocPreferences?.fields[parentLexicalRichTextField.name]\n\n const collapsedArray = currentFieldPreferences?.collapsed\n\n const newCollapsed: CollapsedPreferences =\n collapsedArray && collapsedArray?.length ? collapsedArray : []\n\n if (changedCollapsed) {\n if (!newCollapsed.includes(formData.id)) {\n newCollapsed.push(formData.id)\n }\n } else {\n if (newCollapsed.includes(formData.id)) {\n newCollapsed.splice(newCollapsed.indexOf(formData.id), 1)\n }\n }\n\n setDocFieldPreferences(parentLexicalRichTextField.name, {\n collapsed: newCollapsed,\n hello: 'hi',\n })\n })\n },\n [getDocPreferences, parentLexicalRichTextField.name, setDocFieldPreferences, formData.id],\n )\n\n const EditButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={readOnly}\n el=\"div\"\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 [blockDisplayName, readOnly, t, toggleDrawer],\n )\n\n const RemoveButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={parentLexicalRichTextField?.admin?.readOnly || false}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeBlock()\n }}\n round\n tooltip=\"Remove Block\"\n />\n ),\n [parentLexicalRichTextField?.admin?.readOnly, removeBlock],\n )\n\n const BlockCollapsible = useMemo(\n () =>\n ({\n children,\n editButton,\n errorCount,\n fieldHasErrors,\n Label,\n removeButton,\n }: {\n children?: React.ReactNode\n editButton?: boolean\n errorCount?: number\n fieldHasErrors?: boolean\n /**\n * Override the default label with a custom label\n */\n Label?: React.ReactNode\n removeButton?: boolean\n }) => (\n <div className={baseClass + ' ' + baseClass + '-' + formData.blockType}>\n <Collapsible\n className={[\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ].join(' ')}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__block-header`}>\n {(Label ?? CustomLabel) ? (\n (Label ?? CustomLabel)\n ) : (\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {blockDisplayName}\n </Pill>\n <SectionTitle\n path=\"blockName\"\n readOnly={parentLexicalRichTextField?.admin?.readOnly || false}\n />\n {fieldHasErrors && (\n <ErrorPill count={errorCount ?? 0} i18n={i18n} withMessage />\n )}\n </div>\n )}\n\n <div>\n {(CustomBlock && editButton !== false) || (!CustomBlock && editButton) ? (\n <EditButton />\n ) : null}\n {removeButton !== false && editor.isEditable() ? <RemoveButton /> : null}\n </div>\n </div>\n }\n isCollapsed={isCollapsed}\n key={0}\n onToggle={(incomingCollapsedState) => {\n onCollapsedChange(incomingCollapsedState)\n setIsCollapsed(incomingCollapsedState)\n }}\n >\n {children}\n </Collapsible>\n </div>\n ),\n [\n CustomBlock,\n CustomLabel,\n EditButton,\n RemoveButton,\n blockDisplayName,\n editor,\n formData.blockType,\n i18n,\n isCollapsed,\n onCollapsedChange,\n parentLexicalRichTextField?.admin?.readOnly,\n ],\n )\n\n const BlockDrawer = useMemo(\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={permissions}\n readOnly={false}\n />\n <FormSubmit>{t('fields:saveChanges')}</FormSubmit>\n </>\n ) : null}\n </Drawer>\n </EditDepthProvider>\n ),\n [\n initialState,\n drawerSlug,\n blockDisplayName,\n t,\n clientBlock.fields,\n schemaFieldsPath,\n permissions,\n // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n ],\n )\n\n // Memoized Form JSX\n const Block = useMemo(() => {\n if (!initialState) {\n return null\n }\n return (\n <Form\n beforeSubmit={[\n async ({ formState }) => {\n return await onChange({ formState, submit: true })\n },\n ]}\n fields={clientBlock.fields}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={(formState) => {\n // THis is only called when form is submitted from drawer - usually only the case if the block has a custom Block component\n const newData: any = reduceFieldsToValues(formState)\n newData.blockType = formData.blockType\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isBlockNode(node)) {\n node.setFields(newData)\n }\n })\n toggleDrawer()\n }}\n submitted={submitted}\n uuid={uuid()}\n >\n <BlockContent\n baseClass={baseClass}\n BlockDrawer={BlockDrawer}\n Collapsible={BlockCollapsible}\n CustomBlock={CustomBlock}\n EditButton={EditButton}\n errorCount={errorCount}\n formSchema={clientBlock.fields}\n initialState={initialState}\n nodeKey={nodeKey}\n RemoveButton={RemoveButton}\n />\n </Form>\n )\n }, [\n BlockCollapsible,\n BlockDrawer,\n CustomBlock,\n RemoveButton,\n EditButton,\n editor,\n errorCount,\n toggleDrawer,\n clientBlock.fields,\n // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n initialState,\n nodeKey,\n onChange,\n submitted,\n ])\n\n return Block\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Button","Collapsible","Drawer","EditDepthProvider","ErrorPill","Form","formatDrawerSlug","FormSubmit","Pill","RenderFields","SectionTitle","useDocumentInfo","useEditDepth","useFormSubmitted","useServerFunctions","useTranslation","abortAndIgnore","deepCopyObjectSimpleWithoutReactComponents","reduceFieldsToValues","React","useCallback","useEffect","useMemo","useRef","baseClass","useLexicalComposerContext","getTranslation","$getNodeByKey","v4","uuid","useEditorConfigContext","useLexicalDrawer","$isBlockNode","BlockContent","removeEmptyArrayValues","BlockComponent","props","formData","nodeKey","submitted","id","collectionSlug","globalSlug","fieldProps","featureClientSchemaMap","field","parentLexicalRichTextField","initialLexicalFormState","permissions","readOnly","schemaPath","uuidFromContext","onChangeAbortControllerRef","AbortController","editDepth","errorCount","setErrorCount","useState","drawerSlug","slug","depth","toggleDrawer","getDocPreferences","setDocFieldPreferences","editor","getFormState","schemaFieldsPath","blockType","initialState","setInitialState","formState","blockName","initialValue","passesCondition","valid","value","CustomLabel","setCustomLabel","customComponents","BlockLabel","CustomBlock","setCustomBlock","Block","abortController","awaitInitialState","state","data","docPermissions","fields","docPreferences","operation","renderAllFields","signal","_components","isCollapsed","setIsCollapsed","collapsed","componentMapRenderedBlockPath","clientSchemaMap","blocksField","clientBlock","blocks","i18n","t","onChange","prevFormState","submit","current","controller","newFormState","newFormStateData","setTimeout","update","node","newData","setFields","rowErrorCount","formField","Object","values","removeBlock","remove","blockDisplayName","labels","singular","onCollapsedChange","changedCollapsed","then","currentDocPreferences","currentFieldPreferences","name","collapsedArray","newCollapsed","length","includes","push","splice","indexOf","hello","EditButton","_jsx","buttonStyle","className","disabled","el","icon","onClick","e","preventDefault","stopPropagation","onMouseDown","round","size","tooltip","label","RemoveButton","admin","BlockCollapsible","children","editButton","fieldHasErrors","Label","removeButton","join","collapsibleStyle","header","_jsxs","pillStyle","path","count","withMessage","isEditable","onToggle","incomingCollapsedState","BlockDrawer","title","_Fragment","forceRender","parentIndexPath","parentPath","parentSchemaPath","beforeSubmit","onSubmit","formSchema"],"sources":["../../../../../src/features/blocks/client/component/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n Button,\n Collapsible,\n Drawer,\n EditDepthProvider,\n ErrorPill,\n Form,\n formatDrawerSlug,\n FormSubmit,\n Pill,\n RenderFields,\n SectionTitle,\n useDocumentInfo,\n useEditDepth,\n useFormSubmitted,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { deepCopyObjectSimpleWithoutReactComponents, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react'\n\nconst baseClass = 'lexical-block'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'\nimport { getTranslation } from '@payloadcms/translations'\nimport { $getNodeByKey } from 'lexical'\nimport { type BlocksFieldClient, type CollapsedPreferences, type FormState } from 'payload'\nimport { v4 as uuid } from 'uuid'\n\nimport type { BlockFields } from '../../server/nodes/BlocksNode.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { useLexicalDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDrawer.js'\nimport { $isBlockNode } from '../nodes/BlocksNode.js'\nimport { BlockContent } from './BlockContent.js'\nimport './index.scss'\nimport { removeEmptyArrayValues } from './removeEmptyArrayValues.js'\n\ntype Props = {\n readonly children?: React.ReactNode\n readonly formData: BlockFields\n readonly nodeKey: string\n}\n\nexport const BlockComponent: React.FC<Props> = (props) => {\n const { formData, nodeKey } = props\n const submitted = useFormSubmitted()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const {\n fieldProps: {\n featureClientSchemaMap,\n field: parentLexicalRichTextField,\n initialLexicalFormState,\n permissions,\n readOnly,\n schemaPath,\n },\n uuid: uuidFromContext,\n } = useEditorConfigContext()\n const onChangeAbortControllerRef = useRef(new AbortController())\n const editDepth = useEditDepth()\n const [errorCount, setErrorCount] = React.useState(0)\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-blocks-create-${uuidFromContext}-${formData.id}`,\n depth: editDepth,\n })\n const { toggleDrawer } = useLexicalDrawer(drawerSlug)\n\n // Used for saving collapsed to preferences (and gettin' it from there again)\n // Remember, these preferences are scoped to the whole document, not just this form. This\n // is important to consider for the data path used in setDocFieldPreferences\n const { getDocPreferences, setDocFieldPreferences } = useDocumentInfo()\n const [editor] = useLexicalComposerContext()\n\n const { getFormState } = useServerFunctions()\n const schemaFieldsPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_blocks.${formData.blockType}.fields`\n\n const [initialState, setInitialState] = React.useState<false | FormState | undefined>(\n initialLexicalFormState?.[formData.id]?.formState\n ? {\n ...initialLexicalFormState?.[formData.id]?.formState,\n blockName: {\n initialValue: formData.blockName,\n passesCondition: true,\n valid: true,\n value: formData.blockName,\n },\n }\n : false,\n )\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 // 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 globalSlug,\n operation: 'update',\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: abortController.signal,\n })\n\n if (state) {\n state.blockName = {\n initialValue: formData.blockName,\n passesCondition: true,\n valid: true,\n value: formData.blockName,\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 schemaFieldsPath,\n id,\n formData,\n initialState,\n collectionSlug,\n globalSlug,\n getDocPreferences,\n ])\n\n const [isCollapsed, setIsCollapsed] = React.useState<boolean>(\n initialLexicalFormState?.[formData.id]?.collapsed ?? false,\n )\n\n const componentMapRenderedBlockPath = `${schemaPath}.lexical_internal_feature.blocks.lexical_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 = blocksField.blocks[0]\n\n const { i18n, t } = useTranslation<object, string>()\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: newFormState } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n formState: prevFormState,\n globalSlug,\n operation: 'update',\n renderAllFields: submit ? true : false,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!newFormState) {\n return prevFormState\n }\n\n newFormState.blockName = prevFormState.blockName\n\n const newFormStateData: BlockFields = reduceFieldsToValues(\n removeEmptyArrayValues({\n fields: deepCopyObjectSimpleWithoutReactComponents(newFormState),\n }),\n true,\n ) as BlockFields\n\n setTimeout(() => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isBlockNode(node)) {\n const newData = {\n ...newFormStateData,\n blockType: formData.blockType,\n }\n node.setFields(newData)\n }\n })\n }, 0)\n\n if (submit) {\n setCustomLabel(newFormState._components?.customComponents?.BlockLabel)\n setCustomBlock(newFormState._components?.customComponents?.Block)\n\n let rowErrorCount = 0\n for (const formField of Object.values(newFormState)) {\n if (formField?.valid === false) {\n rowErrorCount++\n }\n }\n setErrorCount(rowErrorCount)\n }\n\n return newFormState\n },\n\n [\n getFormState,\n id,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n schemaFieldsPath,\n formData.blockType,\n editor,\n nodeKey,\n ],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n const removeBlock = 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 onCollapsedChange = useCallback(\n (changedCollapsed: boolean) => {\n void getDocPreferences().then((currentDocPreferences) => {\n const currentFieldPreferences =\n currentDocPreferences?.fields?.[parentLexicalRichTextField.name]\n\n const collapsedArray = currentFieldPreferences?.collapsed\n\n const newCollapsed: CollapsedPreferences =\n collapsedArray && collapsedArray?.length ? collapsedArray : []\n\n if (changedCollapsed) {\n if (!newCollapsed.includes(formData.id)) {\n newCollapsed.push(formData.id)\n }\n } else {\n if (newCollapsed.includes(formData.id)) {\n newCollapsed.splice(newCollapsed.indexOf(formData.id), 1)\n }\n }\n\n setDocFieldPreferences(parentLexicalRichTextField.name, {\n collapsed: newCollapsed,\n hello: 'hi',\n })\n })\n },\n [getDocPreferences, parentLexicalRichTextField.name, setDocFieldPreferences, formData.id],\n )\n\n const EditButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__editButton`}\n disabled={readOnly}\n el=\"button\"\n icon=\"edit\"\n onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n toggleDrawer()\n return false\n }}\n onMouseDown={(e) => {\n // Needed to preserve lexical selection for toggleDrawer lexical selection restore.\n // I believe this is needed due to this button (usually) being inside of a collapsible.\n e.preventDefault()\n }}\n round\n size=\"small\"\n tooltip={t('lexical:blocks:inlineBlocks:edit', { label: blockDisplayName })}\n />\n ),\n [blockDisplayName, readOnly, t, toggleDrawer],\n )\n\n const RemoveButton = useMemo(\n () => () => (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__removeButton`}\n disabled={parentLexicalRichTextField?.admin?.readOnly || false}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeBlock()\n }}\n round\n tooltip=\"Remove Block\"\n />\n ),\n [parentLexicalRichTextField?.admin?.readOnly, removeBlock],\n )\n\n const BlockCollapsible = useMemo(\n () =>\n ({\n children,\n editButton,\n errorCount,\n fieldHasErrors,\n Label,\n removeButton,\n }: {\n children?: React.ReactNode\n editButton?: boolean\n errorCount?: number\n fieldHasErrors?: boolean\n /**\n * Override the default label with a custom label\n */\n Label?: React.ReactNode\n removeButton?: boolean\n }) => (\n <div className={baseClass + ' ' + baseClass + '-' + formData.blockType}>\n <Collapsible\n className={[\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ].join(' ')}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__block-header`}>\n {(Label ?? CustomLabel) ? (\n (Label ?? CustomLabel)\n ) : (\n <div>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${formData?.blockType}`}\n pillStyle=\"white\"\n >\n {blockDisplayName}\n </Pill>\n <SectionTitle\n path=\"blockName\"\n readOnly={parentLexicalRichTextField?.admin?.readOnly || false}\n />\n {fieldHasErrors && (\n <ErrorPill count={errorCount ?? 0} i18n={i18n} withMessage />\n )}\n </div>\n )}\n\n <div>\n {(CustomBlock && editButton !== false) || (!CustomBlock && editButton) ? (\n <EditButton />\n ) : null}\n {removeButton !== false && editor.isEditable() ? <RemoveButton /> : null}\n </div>\n </div>\n }\n isCollapsed={isCollapsed}\n key={0}\n onToggle={(incomingCollapsedState) => {\n onCollapsedChange(incomingCollapsedState)\n setIsCollapsed(incomingCollapsedState)\n }}\n >\n {children}\n </Collapsible>\n </div>\n ),\n [\n CustomBlock,\n CustomLabel,\n EditButton,\n RemoveButton,\n blockDisplayName,\n editor,\n formData.blockType,\n i18n,\n isCollapsed,\n onCollapsedChange,\n parentLexicalRichTextField?.admin?.readOnly,\n ],\n )\n\n const BlockDrawer = useMemo(\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={permissions}\n readOnly={false}\n />\n <FormSubmit>{t('fields:saveChanges')}</FormSubmit>\n </>\n ) : null}\n </Drawer>\n </EditDepthProvider>\n ),\n [\n initialState,\n drawerSlug,\n blockDisplayName,\n t,\n clientBlock.fields,\n schemaFieldsPath,\n permissions,\n // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n ],\n )\n\n // Memoized Form JSX\n const Block = useMemo(() => {\n if (!initialState) {\n return null\n }\n return (\n <Form\n beforeSubmit={[\n async ({ formState }) => {\n // This is only called when form is submitted from drawer - usually only the case if the block has a custom Block component\n return await onChange({ formState, submit: true })\n },\n ]}\n fields={clientBlock.fields}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={(formState) => {\n // This is only called when form is submitted from drawer - usually only the case if the block has a custom Block component\n const newData: any = reduceFieldsToValues(formState)\n newData.blockType = formData.blockType\n editor.update(() => {\n const node = $getNodeByKey(nodeKey)\n if (node && $isBlockNode(node)) {\n node.setFields(newData)\n }\n })\n toggleDrawer()\n }}\n submitted={submitted}\n uuid={uuid()}\n >\n <BlockContent\n baseClass={baseClass}\n BlockDrawer={BlockDrawer}\n Collapsible={BlockCollapsible}\n CustomBlock={CustomBlock}\n EditButton={EditButton}\n errorCount={errorCount}\n formSchema={clientBlock.fields}\n initialState={initialState}\n nodeKey={nodeKey}\n RemoveButton={RemoveButton}\n />\n </Form>\n )\n }, [\n BlockCollapsible,\n BlockDrawer,\n CustomBlock,\n RemoveButton,\n EditButton,\n editor,\n errorCount,\n toggleDrawer,\n clientBlock.fields,\n // DO NOT ADD FORMDATA HERE! Adding formData will kick you out of sub block editors while writing.\n initialState,\n nodeKey,\n onChange,\n submitted,\n ])\n\n return Block\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  export declare const InlineBlockContainer: ({ children }: {
3
- children: any;
3
+ children: React.ReactNode;
4
4
  }) => React.JSX.Element | null;
5
5
  //# sourceMappingURL=InlineBlockContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineBlockContainer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/blocks/client/componentInline/components/InlineBlockContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,oBAAoB;;8BAIhC,CAAA"}
1
+ {"version":3,"file":"InlineBlockContainer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/blocks/client/componentInline/components/InlineBlockContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,oBAAoB,iBAAkB;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,6BAI/E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineBlockContainer.js","names":["c","_c","React","useInlineBlockComponentContext","InlineBlockContainer","t0","$","children","t1","_jsx"],"sources":["../../../../../../src/features/blocks/client/componentInline/components/InlineBlockContainer.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useInlineBlockComponentContext } from '../index.js'\n\nexport const InlineBlockContainer = ({ children }) => {\n const { InlineBlockContainer } = useInlineBlockComponentContext()\n\n return InlineBlockContainer ? <InlineBlockContainer>{children}</InlineBlockContainer> : null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,8BAA8B,QAAQ;AAE/C,OAAO,MAAMC,oBAAA,GAAuBC,EAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAAC;IAAAM;EAAA,IAAAF,EAAY;EAC/C;IAAAD;EAAA,IAAiCD,8BAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAF,oBAAA,IAAAE,CAAA,QAAAC,QAAA;IAE1BC,EAAA,GAAAJ,oBAAA,GAAuBK,IAAA,CAACL,oBAAA;MAAAG;IAAA,C,QAAyD;IAAAD,CAAA,MAAAF,oBAAA;IAAAE,CAAA,MAAAC,QAAA;IAAAD,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAAA,OAAjFE,EAAiF;AAAA,CAC1F","ignoreList":[]}
1
+ {"version":3,"file":"InlineBlockContainer.js","names":["c","_c","React","useInlineBlockComponentContext","InlineBlockContainer","t0","$","children","t1","_jsx"],"sources":["../../../../../../src/features/blocks/client/componentInline/components/InlineBlockContainer.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useInlineBlockComponentContext } from '../index.js'\n\nexport const InlineBlockContainer = ({ children }: { children: React.ReactNode }) => {\n const { InlineBlockContainer } = useInlineBlockComponentContext()\n\n return InlineBlockContainer ? <InlineBlockContainer>{children}</InlineBlockContainer> : null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,8BAA8B,QAAQ;AAE/C,OAAO,MAAMC,oBAAA,GAAuBC,EAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAAC;IAAAM;EAAA,IAAAF,EAA2C;EAC9E;IAAAD;EAAA,IAAiCD,8BAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAF,oBAAA,IAAAE,CAAA,QAAAC,QAAA;IAE1BC,EAAA,GAAAJ,oBAAA,GAAuBK,IAAA,CAACL,oBAAA;MAAAG;IAAA,C,QAAyD;IAAAD,CAAA,MAAAF,oBAAA;IAAAE,CAAA,MAAAC,QAAA;IAAAD,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAAA,OAAjFE,EAAiF;AAAA,CAC1F","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiE,MAAM,OAAO,CAAA;AAGrF,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,SAAS,CAAA;AAgC3D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAMrE,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,+BAA+B,GAAG;IACrC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACrB,YAAY,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAA;IAC3C,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;CACxB,CAAA;AAMD,eAAO,MAAM,8BAA8B,uCAAsD,CAAA;AAEjG,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiVhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/client/componentInline/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiE,MAAM,OAAO,CAAA;AAGrF,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,SAAS,CAAA;AAgC3D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAMrE,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,+BAA+B,GAAG;IACrC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACrB,YAAY,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAA;IAC3C,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;CACxB,CAAA;AAMD,eAAO,MAAM,8BAA8B,uCAAsD,CAAA;AAEjG,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqWhD,CAAA"}
@@ -46,6 +46,12 @@ export const InlineBlockComponent = props => {
46
46
  } = useServerFunctions();
47
47
  const editDepth = useEditDepth();
48
48
  const [initialState, setInitialState] = React.useState(initialLexicalFormState?.[formData.id]?.formState);
49
+ const [CustomLabel, setCustomLabel] = React.useState(
50
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
51
+ initialState?.['_components']?.customComponents?.BlockLabel);
52
+ const [CustomBlock, setCustomBlock] = React.useState(
53
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
54
+ initialState?.['_components']?.customComponents?.Block);
49
55
  const drawerSlug = formatDrawerSlug({
50
56
  slug: `lexical-inlineBlocks-create-` + uuidFromContext,
51
57
  depth: editDepth
@@ -133,6 +139,8 @@ export const InlineBlockComponent = props => {
133
139
  });
134
140
  if (state) {
135
141
  setInitialState(state);
142
+ setCustomLabel(state['_components']?.customComponents?.BlockLabel);
143
+ setCustomBlock(state['_components']?.customComponents?.Block);
136
144
  }
137
145
  };
138
146
  if (formData && !initialState) {
@@ -146,7 +154,8 @@ export const InlineBlockComponent = props => {
146
154
  * HANDLE ONCHANGE
147
155
  */
148
156
  const onChange = useCallback(async ({
149
- formState: prevFormState
157
+ formState: prevFormState,
158
+ submit
150
159
  }) => {
151
160
  abortAndIgnore(onChangeAbortControllerRef.current);
152
161
  const controller = new AbortController();
@@ -163,12 +172,17 @@ export const InlineBlockComponent = props => {
163
172
  formState: prevFormState,
164
173
  globalSlug,
165
174
  operation: 'update',
175
+ renderAllFields: submit ? true : false,
166
176
  schemaPath: schemaFieldsPath,
167
177
  signal: controller.signal
168
178
  });
169
179
  if (!state_0) {
170
180
  return prevFormState;
171
181
  }
182
+ if (submit) {
183
+ setCustomLabel(state_0['_components']?.customComponents?.BlockLabel);
184
+ setCustomBlock(state_0['_components']?.customComponents?.Block);
185
+ }
172
186
  return state_0;
173
187
  }, [getFormState, id, collectionSlug, getDocPreferences, globalSlug, schemaFieldsPath]);
174
188
  // cleanup effect
@@ -190,8 +204,6 @@ export const InlineBlockComponent = props => {
190
204
  }
191
205
  });
192
206
  }, [editor, nodeKey, formData]);
193
- const CustomLabel = initialState?.['_components']?.customComponents?.BlockLabel;
194
- const CustomBlock = initialState?.['_components']?.customComponents?.Block;
195
207
  const RemoveButton = useMemo(() => () => /*#__PURE__*/_jsx(Button, {
196
208
  buttonStyle: "icon-label",
197
209
  className: `${baseClass}__removeButton`,
@@ -211,7 +223,7 @@ export const InlineBlockComponent = props => {
211
223
  buttonStyle: "icon-label",
212
224
  className: `${baseClass}__editButton`,
213
225
  disabled: readOnly,
214
- el: "div",
226
+ el: "button",
215
227
  icon: "edit",
216
228
  onClick: () => {
217
229
  toggleDrawer();
@@ -239,13 +251,21 @@ export const InlineBlockComponent = props => {
239
251
  }
240
252
  }, [CustomLabel, clientBlock.labels, i18n]);
241
253
  return /*#__PURE__*/_jsxs(Form, {
242
- beforeSubmit: [onChange],
254
+ beforeSubmit: [async ({
255
+ formState: formState_0
256
+ }) => {
257
+ // This is only called when form is submitted from drawer
258
+ return await onChange({
259
+ formState: formState_0,
260
+ submit: true
261
+ });
262
+ }],
243
263
  disableValidationOnSubmit: true,
244
264
  fields: clientBlock.fields,
245
265
  initialState: initialState || {},
246
266
  onChange: [onChange],
247
- onSubmit: formState_0 => {
248
- onFormSubmit(formState_0);
267
+ onSubmit: formState_1 => {
268
+ onFormSubmit(formState_1);
249
269
  toggleDrawer();
250
270
  },
251
271
  uuid: uuid(),