@payloadcms/richtext-lexical 3.0.0-canary.926cbeb → 3.0.0-canary.95fcd13

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 (235) hide show
  1. package/dist/cell/index.d.ts +2 -2
  2. package/dist/cell/index.d.ts.map +1 -1
  3. package/dist/cell/index.js +2 -2
  4. package/dist/cell/index.js.map +1 -1
  5. package/dist/exports/client/Field-VT4YC32B.js +2 -0
  6. package/dist/exports/client/Field-VT4YC32B.js.map +7 -0
  7. package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js +2 -0
  8. package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js.map +7 -0
  9. package/dist/exports/client/bundled.css +1 -1
  10. package/dist/exports/client/{chunk-YL52LJO3.js → chunk-6QXGZYUK.js} +2 -2
  11. package/dist/exports/client/{chunk-YL52LJO3.js.map → chunk-6QXGZYUK.js.map} +1 -1
  12. package/dist/exports/client/chunk-EBB2CEB6.js +2 -0
  13. package/dist/exports/client/chunk-EBB2CEB6.js.map +7 -0
  14. package/dist/exports/client/chunk-IPCJ5EVK.js +2 -0
  15. package/dist/exports/client/chunk-IPCJ5EVK.js.map +7 -0
  16. package/dist/exports/client/{chunk-3K3B6PJM.js → chunk-IWZVO3AI.js} +2 -2
  17. package/dist/exports/client/chunk-IWZVO3AI.js.map +7 -0
  18. package/dist/exports/client/chunk-VUVXZJJR.js +2 -0
  19. package/dist/exports/client/chunk-VUVXZJJR.js.map +7 -0
  20. package/dist/exports/client/{component-V5QZ7EVZ.js → component-D4GWDXK5.js} +2 -2
  21. package/dist/exports/client/component-KA7FDRMA.js +2 -0
  22. package/dist/exports/client/component-KA7FDRMA.js.map +7 -0
  23. package/dist/exports/client/componentInline-6EKPZSCV.js +2 -0
  24. package/dist/exports/client/componentInline-6EKPZSCV.js.map +7 -0
  25. package/dist/exports/client/index.d.ts +0 -1
  26. package/dist/exports/client/index.d.ts.map +1 -1
  27. package/dist/exports/client/index.js +7 -7
  28. package/dist/exports/client/index.js.map +4 -4
  29. package/dist/features/blocks/component/BlockContent.d.ts +5 -5
  30. package/dist/features/blocks/component/BlockContent.d.ts.map +1 -1
  31. package/dist/features/blocks/component/BlockContent.js +5 -2
  32. package/dist/features/blocks/component/BlockContent.js.map +1 -1
  33. package/dist/features/blocks/component/FormSavePlugin.js +1 -1
  34. package/dist/features/blocks/component/FormSavePlugin.js.map +1 -1
  35. package/dist/features/blocks/component/index.d.ts +0 -4
  36. package/dist/features/blocks/component/index.d.ts.map +1 -1
  37. package/dist/features/blocks/component/index.js +9 -5
  38. package/dist/features/blocks/component/index.js.map +1 -1
  39. package/dist/features/blocks/componentInline/index.d.ts +10 -0
  40. package/dist/features/blocks/componentInline/index.d.ts.map +1 -0
  41. package/dist/features/blocks/componentInline/index.js +133 -0
  42. package/dist/features/blocks/componentInline/index.js.map +1 -0
  43. package/dist/features/blocks/feature.client.d.ts +6 -2
  44. package/dist/features/blocks/feature.client.d.ts.map +1 -1
  45. package/dist/features/blocks/feature.client.js +70 -8
  46. package/dist/features/blocks/feature.client.js.map +1 -1
  47. package/dist/features/blocks/feature.server.d.ts +2 -1
  48. package/dist/features/blocks/feature.server.d.ts.map +1 -1
  49. package/dist/features/blocks/feature.server.js +99 -34
  50. package/dist/features/blocks/feature.server.js.map +1 -1
  51. package/dist/features/blocks/graphQLPopulationPromise.d.ts +3 -2
  52. package/dist/features/blocks/graphQLPopulationPromise.d.ts.map +1 -1
  53. package/dist/features/blocks/graphQLPopulationPromise.js +2 -2
  54. package/dist/features/blocks/graphQLPopulationPromise.js.map +1 -1
  55. package/dist/features/blocks/i18n.d.ts.map +1 -1
  56. package/dist/features/blocks/i18n.js +192 -0
  57. package/dist/features/blocks/i18n.js.map +1 -1
  58. package/dist/features/blocks/nodes/BlocksNode.d.ts +5 -5
  59. package/dist/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
  60. package/dist/features/blocks/nodes/BlocksNode.js +2 -2
  61. package/dist/features/blocks/nodes/BlocksNode.js.map +1 -1
  62. package/dist/features/blocks/nodes/InlineBlocksNode.d.ts +39 -0
  63. package/dist/features/blocks/nodes/InlineBlocksNode.d.ts.map +1 -0
  64. package/dist/features/blocks/nodes/InlineBlocksNode.js +94 -0
  65. package/dist/features/blocks/nodes/InlineBlocksNode.js.map +1 -0
  66. package/dist/features/blocks/plugin/commands.d.ts +5 -0
  67. package/dist/features/blocks/plugin/commands.d.ts.map +1 -1
  68. package/dist/features/blocks/plugin/commands.js +2 -0
  69. package/dist/features/blocks/plugin/commands.js.map +1 -1
  70. package/dist/features/blocks/plugin/index.d.ts.map +1 -1
  71. package/dist/features/blocks/plugin/index.js +76 -7
  72. package/dist/features/blocks/plugin/index.js.map +1 -1
  73. package/dist/features/blocks/validate.d.ts +3 -2
  74. package/dist/features/blocks/validate.d.ts.map +1 -1
  75. package/dist/features/blocks/validate.js +4 -3
  76. package/dist/features/blocks/validate.js.map +1 -1
  77. package/dist/features/converters/html/converter/types.d.ts +2 -2
  78. package/dist/features/converters/html/converter/types.d.ts.map +1 -1
  79. package/dist/features/converters/html/converter/types.js.map +1 -1
  80. package/dist/features/createFeaturePropComponent.js +1 -1
  81. package/dist/features/createFeaturePropComponent.js.map +1 -1
  82. package/dist/features/experimental_table/plugins/TablePlugin/index.d.ts.map +1 -1
  83. package/dist/features/experimental_table/plugins/TablePlugin/index.js +0 -1
  84. package/dist/features/experimental_table/plugins/TablePlugin/index.js.map +1 -1
  85. package/dist/features/link/feature.server.d.ts +2 -2
  86. package/dist/features/link/feature.server.d.ts.map +1 -1
  87. package/dist/features/link/feature.server.js +1 -1
  88. package/dist/features/link/feature.server.js.map +1 -1
  89. package/dist/features/link/nodes/LinkNode.js +0 -1
  90. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  91. package/dist/features/link/nodes/types.d.ts +3 -2
  92. package/dist/features/link/nodes/types.d.ts.map +1 -1
  93. package/dist/features/link/nodes/types.js.map +1 -1
  94. package/dist/features/link/plugins/autoLink/index.d.ts.map +1 -1
  95. package/dist/features/link/plugins/autoLink/index.js.map +1 -1
  96. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +2 -2
  97. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  98. package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts +1 -1
  99. package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
  100. package/dist/features/link/plugins/floatingLinkEditor/utilities.js.map +1 -1
  101. package/dist/features/link/validate.d.ts.map +1 -1
  102. package/dist/features/link/validate.js +2 -1
  103. package/dist/features/link/validate.js.map +1 -1
  104. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts +2 -2
  105. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts.map +1 -1
  106. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  107. package/dist/features/relationship/feature.client.d.ts +4 -4
  108. package/dist/features/relationship/feature.server.d.ts +2 -2
  109. package/dist/features/relationship/feature.server.d.ts.map +1 -1
  110. package/dist/features/relationship/feature.server.js.map +1 -1
  111. package/dist/features/relationship/nodes/RelationshipNode.d.ts +2 -2
  112. package/dist/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
  113. package/dist/features/relationship/nodes/RelationshipNode.js.map +1 -1
  114. package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts +0 -1
  115. package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  116. package/dist/features/relationship/nodes/components/RelationshipComponent.js +2 -3
  117. package/dist/features/relationship/nodes/components/RelationshipComponent.js.map +1 -1
  118. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  119. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +0 -1
  120. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  121. package/dist/features/typesClient.d.ts +4 -4
  122. package/dist/features/typesClient.d.ts.map +1 -1
  123. package/dist/features/typesClient.js.map +1 -1
  124. package/dist/features/typesServer.d.ts +11 -11
  125. package/dist/features/typesServer.d.ts.map +1 -1
  126. package/dist/features/typesServer.js.map +1 -1
  127. package/dist/features/upload/feature.server.js.map +1 -1
  128. package/dist/features/upload/nodes/UploadNode.d.ts +4 -6
  129. package/dist/features/upload/nodes/UploadNode.d.ts.map +1 -1
  130. package/dist/features/upload/nodes/UploadNode.js +0 -1
  131. package/dist/features/upload/nodes/UploadNode.js.map +1 -1
  132. package/dist/features/upload/validate.d.ts.map +1 -1
  133. package/dist/features/upload/validate.js +1 -0
  134. package/dist/features/upload/validate.js.map +1 -1
  135. package/dist/field/Field.d.ts +3 -3
  136. package/dist/field/Field.d.ts.map +1 -1
  137. package/dist/field/Field.js +14 -12
  138. package/dist/field/Field.js.map +1 -1
  139. package/dist/field/index.d.ts +3 -3
  140. package/dist/field/index.d.ts.map +1 -1
  141. package/dist/field/index.js +10 -10
  142. package/dist/field/index.js.map +1 -1
  143. package/dist/index.d.ts +2 -2
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +5 -7
  146. package/dist/index.js.map +1 -1
  147. package/dist/lexical/LexicalEditor.d.ts +2 -2
  148. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  149. package/dist/lexical/LexicalEditor.js.map +1 -1
  150. package/dist/lexical/LexicalProvider.d.ts +3 -3
  151. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  152. package/dist/lexical/LexicalProvider.js +2 -2
  153. package/dist/lexical/LexicalProvider.js.map +1 -1
  154. package/dist/lexical/config/client/EditorConfigProvider.d.ts +5 -5
  155. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  156. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  157. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +4 -4
  158. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  159. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +0 -2
  160. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  161. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +0 -1
  162. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  163. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +1 -20
  164. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  165. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +7 -7
  166. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  167. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  168. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  169. package/dist/lexical/plugins/SlashMenu/index.js +43 -41
  170. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  171. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +1 -1
  172. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  173. package/dist/lexical/ui/icons/InlineBlocks/index.d.ts +3 -0
  174. package/dist/lexical/ui/icons/InlineBlocks/index.d.ts.map +1 -0
  175. package/dist/lexical/ui/icons/InlineBlocks/index.js +20 -0
  176. package/dist/lexical/ui/icons/InlineBlocks/index.js.map +1 -0
  177. package/dist/nodeTypes.d.ts +8 -9
  178. package/dist/nodeTypes.d.ts.map +1 -1
  179. package/dist/nodeTypes.js.map +1 -1
  180. package/dist/populateGraphQL/populate.d.ts +2 -2
  181. package/dist/populateGraphQL/populate.d.ts.map +1 -1
  182. package/dist/populateGraphQL/populate.js.map +1 -1
  183. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +2 -2
  184. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  185. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  186. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts +2 -2
  187. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
  188. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  189. package/dist/types.d.ts +4 -4
  190. package/dist/types.d.ts.map +1 -1
  191. package/dist/types.js.map +1 -1
  192. package/dist/utilities/createServerFeature.d.ts +2 -2
  193. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  194. package/dist/utilities/createServerFeature.js.map +1 -1
  195. package/dist/utilities/fieldsDrawer/Drawer.d.ts +3 -3
  196. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  197. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  198. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  199. package/dist/utilities/fieldsDrawer/DrawerContent.js +4 -6
  200. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  201. package/dist/utilities/generateComponentMap.d.ts.map +1 -1
  202. package/dist/utilities/generateComponentMap.js +3 -3
  203. package/dist/utilities/generateComponentMap.js.map +1 -1
  204. package/dist/utilities/generateSchemaMap.js +1 -1
  205. package/dist/utilities/generateSchemaMap.js.map +1 -1
  206. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +1 -1
  207. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +15 -15
  208. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  209. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  210. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +15 -15
  211. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  212. package/dist/validate/validateNodes.d.ts +1 -1
  213. package/dist/validate/validateNodes.d.ts.map +1 -1
  214. package/dist/validate/validateNodes.js.map +1 -1
  215. package/package.json +22 -22
  216. package/dist/exports/client/Field-5TCNFYE2.js +0 -2
  217. package/dist/exports/client/Field-5TCNFYE2.js.map +0 -7
  218. package/dist/exports/client/RelationshipComponent-AFXEJMZQ.js +0 -2
  219. package/dist/exports/client/RelationshipComponent-AFXEJMZQ.js.map +0 -7
  220. package/dist/exports/client/chunk-3K3B6PJM.js.map +0 -7
  221. package/dist/exports/client/chunk-JIP5PWU3.js +0 -2
  222. package/dist/exports/client/chunk-JIP5PWU3.js.map +0 -7
  223. package/dist/exports/client/chunk-OAQL5GDK.js +0 -2
  224. package/dist/exports/client/chunk-OAQL5GDK.js.map +0 -7
  225. package/dist/exports/client/component-YNZTTMBY.js +0 -2
  226. package/dist/exports/client/component-YNZTTMBY.js.map +0 -7
  227. package/dist/features/blocks/drawer/index.d.ts +0 -9
  228. package/dist/features/blocks/drawer/index.d.ts.map +0 -1
  229. package/dist/features/blocks/drawer/index.js +0 -78
  230. package/dist/features/blocks/drawer/index.js.map +0 -1
  231. package/dist/lexical/utils/cloneDeep.d.ts +0 -2
  232. package/dist/lexical/utils/cloneDeep.d.ts.map +0 -1
  233. package/dist/lexical/utils/cloneDeep.js +0 -50
  234. package/dist/lexical/utils/cloneDeep.js.map +0 -1
  235. /package/dist/exports/client/{component-V5QZ7EVZ.js.map → component-D4GWDXK5.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blocks/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ReducedBlock } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { BlockIcon } from '../../lexical/ui/icons/Block/index.js'\nimport { createClientFeature } from '../../utilities/createClientFeature.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { INSERT_BLOCK_COMMAND } from './plugin/commands.js'\nimport { BlocksPlugin } from './plugin/index.js'\n\nexport type BlocksFeatureClientProps = {\n reducedBlocks: ReducedBlock[]\n}\n\nexport const BlocksFeatureClient = createClientFeature<BlocksFeatureClientProps>(({ props }) => ({\n nodes: [BlockNode],\n plugins: [\n {\n Component: BlocksPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: [\n {\n items: props.reducedBlocks.map((block) => {\n return {\n Icon: BlockIcon,\n key: 'block-' + block.slug,\n keywords: ['block', 'blocks', block.slug],\n label: ({ i18n }) => {\n if (!block.labels.singular) {\n return block.slug\n }\n\n return getTranslation(block.labels.singular, i18n)\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n id: null,\n blockName: '',\n blockType: block.slug,\n })\n },\n }\n }),\n key: 'blocks',\n label: ({ i18n }) => {\n return i18n.t('lexical:blocks:label')\n },\n },\n ],\n },\n toolbarFixed: {\n groups: [\n {\n type: 'dropdown',\n ChildComponent: BlockIcon,\n items: props.reducedBlocks.map((block, index) => {\n return {\n ChildComponent: BlockIcon,\n isActive: undefined, // At this point, we would be inside a sub-richtext-editor. And at this point this will be run against the focused sub-editor, not the parent editor which has the actual block. Thus, no point in running this\n key: 'block-' + block.slug,\n label: ({ i18n }) => {\n if (!block.labels.singular) {\n return block.slug\n }\n\n return getTranslation(block.labels.singular, i18n)\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n id: null,\n blockName: '',\n blockType: block.slug,\n })\n },\n order: index,\n }\n }),\n key: 'blocks',\n order: 20,\n },\n ],\n },\n}))\n"],"names":["getTranslation","BlockIcon","createClientFeature","BlockNode","INSERT_BLOCK_COMMAND","BlocksPlugin","BlocksFeatureClient","props","nodes","plugins","Component","position","sanitizedClientFeatureProps","slashMenu","groups","items","reducedBlocks","map","block","Icon","key","slug","keywords","label","i18n","labels","singular","onSelect","editor","dispatchCommand","id","blockName","blockType","t","toolbarFixed","type","ChildComponent","index","isActive","undefined","order"],"mappings":"AAAA;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AAEzD,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,SAAS,QAAQ,wBAAuB;AACjD,SAASC,oBAAoB,QAAQ,uBAAsB;AAC3D,SAASC,YAAY,QAAQ,oBAAmB;AAMhD,OAAO,MAAMC,sBAAsBJ,oBAA8C,CAAC,EAAEK,KAAK,EAAE,GAAM,CAAA;QAC/FC,OAAO;YAACL;SAAU;QAClBM,SAAS;YACP;gBACEC,WAAWL;gBACXM,UAAU;YACZ;SACD;QACDC,6BAA6BL;QAC7BM,WAAW;YACTC,QAAQ;gBACN;oBACEC,OAAOR,MAAMS,aAAa,CAACC,GAAG,CAAC,CAACC;wBAC9B,OAAO;4BACLC,MAAMlB;4BACNmB,KAAK,WAAWF,MAAMG,IAAI;4BAC1BC,UAAU;gCAAC;gCAAS;gCAAUJ,MAAMG,IAAI;6BAAC;4BACzCE,OAAO,CAAC,EAAEC,IAAI,EAAE;gCACd,IAAI,CAACN,MAAMO,MAAM,CAACC,QAAQ,EAAE;oCAC1B,OAAOR,MAAMG,IAAI;gCACnB;gCAEA,OAAOrB,eAAekB,MAAMO,MAAM,CAACC,QAAQ,EAAEF;4BAC/C;4BACAG,UAAU,CAAC,EAAEC,MAAM,EAAE;gCACnBA,OAAOC,eAAe,CAACzB,sBAAsB;oCAC3C0B,IAAI;oCACJC,WAAW;oCACXC,WAAWd,MAAMG,IAAI;gCACvB;4BACF;wBACF;oBACF;oBACAD,KAAK;oBACLG,OAAO,CAAC,EAAEC,IAAI,EAAE;wBACd,OAAOA,KAAKS,CAAC,CAAC;oBAChB;gBACF;aACD;QACH;QACAC,cAAc;YACZpB,QAAQ;gBACN;oBACEqB,MAAM;oBACNC,gBAAgBnC;oBAChBc,OAAOR,MAAMS,aAAa,CAACC,GAAG,CAAC,CAACC,OAAOmB;wBACrC,OAAO;4BACLD,gBAAgBnC;4BAChBqC,UAAUC;4BACVnB,KAAK,WAAWF,MAAMG,IAAI;4BAC1BE,OAAO,CAAC,EAAEC,IAAI,EAAE;gCACd,IAAI,CAACN,MAAMO,MAAM,CAACC,QAAQ,EAAE;oCAC1B,OAAOR,MAAMG,IAAI;gCACnB;gCAEA,OAAOrB,eAAekB,MAAMO,MAAM,CAACC,QAAQ,EAAEF;4BAC/C;4BACAG,UAAU,CAAC,EAAEC,MAAM,EAAE;gCACnBA,OAAOC,eAAe,CAACzB,sBAAsB;oCAC3C0B,IAAI;oCACJC,WAAW;oCACXC,WAAWd,MAAMG,IAAI;gCACvB;4BACF;4BACAmB,OAAOH;wBACT;oBACF;oBACAjB,KAAK;oBACLoB,OAAO;gBACT;aACD;QACH;IACF,CAAA,GAAG"}
1
+ {"version":3,"sources":["../../../src/features/blocks/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport type { Block, ReducedBlock } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { ToolbarGroup } from '../toolbars/types.js'\n\nimport { BlockIcon } from '../../lexical/ui/icons/Block/index.js'\nimport { InlineBlocksIcon } from '../../lexical/ui/icons/InlineBlocks/index.js'\nimport { createClientFeature } from '../../utilities/createClientFeature.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { InlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { INSERT_BLOCK_COMMAND, OPEN_INLINE_BLOCK_DRAWER_COMMAND } from './plugin/commands.js'\nimport { BlocksPlugin } from './plugin/index.js'\n\nexport type ClientBlock = {\n LabelComponent?: Block['admin']['components']['Label']\n} & ReducedBlock\n\nexport type BlocksFeatureClientProps = {\n reducedBlocks: ClientBlock[]\n reducedInlineBlocks: ClientBlock[]\n}\n\nexport const BlocksFeatureClient = createClientFeature<BlocksFeatureClientProps>(({ props }) => ({\n nodes: [BlockNode, InlineBlockNode],\n plugins: [\n {\n Component: BlocksPlugin,\n position: 'normal',\n },\n ],\n sanitizedClientFeatureProps: props,\n slashMenu: {\n groups: [\n props.reducedBlocks?.length\n ? {\n items: props.reducedBlocks.map((block) => {\n return {\n Icon: BlockIcon,\n key: 'block-' + block.slug,\n keywords: ['block', 'blocks', block.slug],\n label: ({ i18n }) => {\n if (!block.labels.singular) {\n return block.slug\n }\n\n return getTranslation(block.labels.singular, i18n)\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n id: null,\n blockName: '',\n blockType: block.slug,\n })\n },\n }\n }),\n key: 'blocks',\n label: ({ i18n }) => {\n return i18n.t('lexical:blocks:label')\n },\n }\n : null,\n props.reducedInlineBlocks?.length\n ? {\n items: props.reducedInlineBlocks.map((inlineBlock) => {\n return {\n Icon: InlineBlocksIcon,\n key: 'inlineBlocks-' + inlineBlock.slug,\n keywords: ['inlineBlock', 'inline block', inlineBlock.slug],\n label: ({ i18n }) => {\n if (!inlineBlock.labels.singular) {\n return inlineBlock.slug\n }\n\n return getTranslation(inlineBlock.labels.singular, i18n)\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: {\n id: null,\n blockName: '',\n blockType: inlineBlock.slug,\n },\n })\n },\n }\n }),\n key: 'inlineBlocks',\n label: ({ i18n }) => {\n return i18n.t('lexical:blocks:inlineBlocks:label')\n },\n }\n : null,\n ].filter(Boolean),\n },\n toolbarFixed: {\n groups: [\n props.reducedBlocks?.length\n ? {\n type: 'dropdown',\n ChildComponent: BlockIcon,\n items: props.reducedBlocks.map((block, index) => {\n return {\n ChildComponent: BlockIcon,\n isActive: undefined, // At this point, we would be inside a sub-richtext-editor. And at this point this will be run against the focused sub-editor, not the parent editor which has the actual block. Thus, no point in running this\n key: 'block-' + block.slug,\n label: ({ i18n }) => {\n if (!block.labels.singular) {\n return block.slug\n }\n\n return getTranslation(block.labels.singular, i18n)\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_BLOCK_COMMAND, {\n id: null,\n blockName: '',\n blockType: block.slug,\n })\n },\n order: index,\n }\n }),\n key: 'blocks',\n order: 20,\n }\n : null,\n props.reducedInlineBlocks?.length\n ? {\n type: 'dropdown',\n ChildComponent: InlineBlocksIcon,\n items: props.reducedInlineBlocks.map((inlineBlock, index) => {\n return {\n ChildComponent: InlineBlocksIcon,\n isActive: undefined,\n key: 'inlineBlock-' + inlineBlock.slug,\n label: ({ i18n }) => {\n if (!inlineBlock.labels.singular) {\n return inlineBlock.slug\n }\n\n return getTranslation(inlineBlock.labels.singular, i18n)\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(OPEN_INLINE_BLOCK_DRAWER_COMMAND, {\n fields: {\n blockType: inlineBlock.slug,\n },\n })\n },\n order: index,\n }\n }),\n key: 'inlineBlocks',\n order: 25,\n }\n : null,\n ].filter(Boolean) as ToolbarGroup[],\n },\n}))\n"],"names":["getTranslation","BlockIcon","InlineBlocksIcon","createClientFeature","BlockNode","InlineBlockNode","INSERT_BLOCK_COMMAND","OPEN_INLINE_BLOCK_DRAWER_COMMAND","BlocksPlugin","BlocksFeatureClient","props","nodes","plugins","Component","position","sanitizedClientFeatureProps","slashMenu","groups","reducedBlocks","length","items","map","block","Icon","key","slug","keywords","label","i18n","labels","singular","onSelect","editor","dispatchCommand","id","blockName","blockType","t","reducedInlineBlocks","inlineBlock","fields","filter","Boolean","toolbarFixed","type","ChildComponent","index","isActive","undefined","order"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { Block } from 'payload';
2
2
  import type { BlocksFeatureClientProps } from './feature.client.js';
3
3
  export type BlocksFeatureProps = {
4
- blocks: Block[];
4
+ blocks?: Block[];
5
+ inlineBlocks?: Block[];
5
6
  };
6
7
  export declare const BlocksFeature: import("../typesServer.js").FeatureProviderProviderServer<BlocksFeatureProps, BlocksFeatureProps, BlocksFeatureClientProps>;
7
8
  //# sourceMappingURL=feature.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/blocks/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,SAAS,CAAA;AAI/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAWnE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,aAAa,6HAsGxB,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/blocks/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,SAAS,CAAA;AAI/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAYnE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,aAAa,6HAoKxB,CAAA"}
@@ -6,34 +6,65 @@ import { createNode } from '../typeUtilities.js';
6
6
  import { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js';
7
7
  import { i18n } from './i18n.js';
8
8
  import { BlockNode } from './nodes/BlocksNode.js';
9
+ import { InlineBlockNode } from './nodes/InlineBlocksNode.js';
9
10
  import { blockValidationHOC } from './validate.js';
10
11
  export const BlocksFeature = createServerFeature({
11
12
  feature: async ({ config: _config, isRoot, props })=>{
12
- if (props?.blocks?.length) {
13
+ if (props?.blocks?.length || props?.inlineBlocks?.length) {
13
14
  const validRelationships = _config.collections.map((c)=>c.slug) || [];
14
- for (const block of props.blocks){
15
- block.fields = block.fields.concat(baseBlockFields);
16
- block.labels = !block.labels ? formatLabels(block.slug) : block.labels;
17
- block.fields = await sanitizeFields({
18
- config: _config,
19
- fields: block.fields,
20
- requireFieldLevelRichTextEditor: isRoot,
21
- validRelationships
22
- });
15
+ if (props?.blocks?.length) {
16
+ for (const block of props.blocks){
17
+ block.fields = block.fields.concat(baseBlockFields);
18
+ block.labels = !block.labels ? formatLabels(block.slug) : block.labels;
19
+ block.fields = await sanitizeFields({
20
+ config: _config,
21
+ fields: block.fields,
22
+ requireFieldLevelRichTextEditor: isRoot,
23
+ validRelationships
24
+ });
25
+ }
26
+ }
27
+ if (props?.inlineBlocks?.length) {
28
+ for (const block of props.inlineBlocks){
29
+ block.fields = block.fields.concat(baseBlockFields);
30
+ block.labels = !block.labels ? formatLabels(block.slug) : block.labels;
31
+ block.fields = await sanitizeFields({
32
+ config: _config,
33
+ fields: block.fields,
34
+ requireFieldLevelRichTextEditor: isRoot,
35
+ validRelationships
36
+ });
37
+ }
23
38
  }
24
39
  }
25
40
  // Build clientProps
26
41
  const clientProps = {
27
- reducedBlocks: []
42
+ reducedBlocks: [],
43
+ reducedInlineBlocks: []
28
44
  };
29
- for (const block of props.blocks){
30
- clientProps.reducedBlocks.push({
31
- slug: block.slug,
32
- fieldMap: [],
33
- imageAltText: block.imageAltText,
34
- imageURL: block.imageURL,
35
- labels: block.labels
36
- });
45
+ if (props?.blocks?.length) {
46
+ for (const block of props.blocks){
47
+ clientProps.reducedBlocks.push({
48
+ slug: block.slug,
49
+ LabelComponent: block?.admin?.components?.Label,
50
+ fieldMap: [],
51
+ imageAltText: block.imageAltText,
52
+ imageURL: block.imageURL,
53
+ labels: block.labels
54
+ });
55
+ }
56
+ }
57
+ if (props?.inlineBlocks?.length) {
58
+ for (const block of props.inlineBlocks){
59
+ clientProps.reducedInlineBlocks.push({
60
+ slug: block.slug,
61
+ LabelComponent: block?.admin?.components?.Label,
62
+ fieldMap: [],
63
+ imageAltText: block.imageAltText,
64
+ imageURL: block.imageURL,
65
+ labels: block.labels
66
+ });
67
+ }
37
68
  }
38
69
  return {
39
70
  ClientFeature: BlocksFeatureClient,
@@ -43,26 +74,43 @@ export const BlocksFeature = createServerFeature({
43
74
  * Add sub-fields to the schemaMap. E.g. if you have an array field as part of the block, and it runs addRow, it will request these
44
75
  * sub-fields from the component map. Thus, we need to put them in the component map here.
45
76
  */ const schemaMap = new Map();
46
- for (const block of props.blocks){
47
- schemaMap.set(block.slug, block.fields || []);
77
+ if (props?.blocks?.length) {
78
+ for (const block of props.blocks){
79
+ schemaMap.set(block.slug, block.fields || []);
80
+ }
81
+ }
82
+ if (props?.inlineBlocks?.length) {
83
+ for (const block of props.inlineBlocks){
84
+ schemaMap.set(block.slug, block.fields || []);
85
+ }
48
86
  }
49
87
  return schemaMap;
50
88
  },
51
89
  generatedTypes: {
52
90
  modifyOutputSchema: ({ collectionIDFieldTypes, config, currentSchema, field, interfaceNameDefinitions })=>{
53
- if (!props?.blocks?.length) {
91
+ if (!props?.blocks?.length && !props?.inlineBlocks?.length) {
54
92
  return currentSchema;
55
93
  }
56
- const blocksField = {
57
- name: field?.name + '_lexical_blocks',
58
- type: 'blocks',
59
- blocks: props.blocks
60
- };
61
- // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.
62
- // we don't actually use the JSON Schema itself in the generated types yet.
63
- fieldsToJSONSchema(collectionIDFieldTypes, [
64
- blocksField
65
- ], interfaceNameDefinitions, config);
94
+ const fields = [];
95
+ if (props?.blocks?.length) {
96
+ fields.push({
97
+ name: field?.name + '_lexical_blocks',
98
+ type: 'blocks',
99
+ blocks: props.blocks
100
+ });
101
+ }
102
+ if (props?.inlineBlocks?.length) {
103
+ fields.push({
104
+ name: field?.name + '_lexical_inline_blocks',
105
+ type: 'blocks',
106
+ blocks: props.inlineBlocks
107
+ });
108
+ }
109
+ if (fields.length) {
110
+ // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.
111
+ // we don't actually use the JSON Schema itself in the generated types yet.
112
+ fieldsToJSONSchema(collectionIDFieldTypes, fields, interfaceNameDefinitions, config);
113
+ }
66
114
  return currentSchema;
67
115
  }
68
116
  },
@@ -78,11 +126,28 @@ export const BlocksFeature = createServerFeature({
78
126
  return node?.fields;
79
127
  },
80
128
  graphQLPopulationPromises: [
81
- blockPopulationPromiseHOC(props)
129
+ blockPopulationPromiseHOC(props.blocks)
82
130
  ],
83
131
  node: BlockNode,
84
132
  validations: [
85
- blockValidationHOC(props)
133
+ blockValidationHOC(props.blocks)
134
+ ]
135
+ }),
136
+ createNode({
137
+ getSubFields: ({ node })=>{
138
+ const blockType = node.fields.blockType;
139
+ const block = props.inlineBlocks.find((block)=>block.slug === blockType);
140
+ return block?.fields;
141
+ },
142
+ getSubFieldsData: ({ node })=>{
143
+ return node?.fields;
144
+ },
145
+ graphQLPopulationPromises: [
146
+ blockPopulationPromiseHOC(props.inlineBlocks)
147
+ ],
148
+ node: InlineBlockNode,
149
+ validations: [
150
+ blockValidationHOC(props.inlineBlocks)
86
151
  ]
87
152
  })
88
153
  ],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blocks/feature.server.ts"],"sourcesContent":["import type { Block, BlockField, Config, Field } from 'payload'\n\nimport { baseBlockFields, fieldsToJSONSchema, formatLabels, sanitizeFields } from 'payload'\n\nimport type { BlocksFeatureClientProps } from './feature.client.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { BlocksFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { createNode } from '../typeUtilities.js'\nimport { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'\nimport { i18n } from './i18n.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { blockValidationHOC } from './validate.js'\n\nexport type BlocksFeatureProps = {\n blocks: Block[]\n}\n\nexport const BlocksFeature = createServerFeature<\n BlocksFeatureProps,\n BlocksFeatureProps,\n BlocksFeatureClientProps\n>({\n feature: async ({ config: _config, isRoot, props }) => {\n if (props?.blocks?.length) {\n const validRelationships = _config.collections.map((c) => c.slug) || []\n\n for (const block of props.blocks) {\n block.fields = block.fields.concat(baseBlockFields)\n block.labels = !block.labels ? formatLabels(block.slug) : block.labels\n\n block.fields = await sanitizeFields({\n config: _config as unknown as Config,\n fields: block.fields,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n }\n }\n\n // Build clientProps\n const clientProps: BlocksFeatureClientProps = {\n reducedBlocks: [],\n }\n for (const block of props.blocks) {\n clientProps.reducedBlocks.push({\n slug: block.slug,\n fieldMap: [],\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n })\n }\n\n return {\n ClientFeature: BlocksFeatureClient,\n clientFeatureProps: clientProps,\n generateSchemaMap: ({ props }) => {\n /**\n * Add sub-fields to the schemaMap. E.g. if you have an array field as part of the block, and it runs addRow, it will request these\n * sub-fields from the component map. Thus, we need to put them in the component map here.\n */\n const schemaMap = new Map<string, Field[]>()\n\n for (const block of props.blocks) {\n schemaMap.set(block.slug, block.fields || [])\n }\n\n return schemaMap\n },\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n }) => {\n if (!props?.blocks?.length) {\n return currentSchema\n }\n\n const blocksField: BlockField = {\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: props.blocks,\n }\n // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.\n // we don't actually use the JSON Schema itself in the generated types yet.\n fieldsToJSONSchema(\n collectionIDFieldTypes,\n [blocksField],\n interfaceNameDefinitions,\n config,\n )\n\n return currentSchema\n },\n },\n i18n,\n nodes: [\n createNode({\n getSubFields: ({ node }) => {\n const blockType = node.fields.blockType\n\n const block = props.blocks.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(props)],\n node: BlockNode,\n validations: [blockValidationHOC(props)],\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'blocks',\n})\n"],"names":["baseBlockFields","fieldsToJSONSchema","formatLabels","sanitizeFields","BlocksFeatureClient","createServerFeature","createNode","blockPopulationPromiseHOC","i18n","BlockNode","blockValidationHOC","BlocksFeature","feature","config","_config","isRoot","props","blocks","length","validRelationships","collections","map","c","slug","block","fields","concat","labels","requireFieldLevelRichTextEditor","clientProps","reducedBlocks","push","fieldMap","imageAltText","imageURL","ClientFeature","clientFeatureProps","generateSchemaMap","schemaMap","Map","set","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","blocksField","name","type","nodes","getSubFields","node","blockType","find","getSubFieldsData","graphQLPopulationPromises","validations","sanitizedServerFeatureProps","key"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/features/blocks/feature.server.ts"],"sourcesContent":["import type { Block, BlockField, Config, Field } from 'payload'\n\nimport { baseBlockFields, fieldsToJSONSchema, formatLabels, sanitizeFields } from 'payload'\n\nimport type { BlocksFeatureClientProps } from './feature.client.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { BlocksFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { createNode } from '../typeUtilities.js'\nimport { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'\nimport { i18n } from './i18n.js'\nimport { BlockNode } from './nodes/BlocksNode.js'\nimport { InlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { blockValidationHOC } from './validate.js'\n\nexport type BlocksFeatureProps = {\n blocks?: Block[]\n inlineBlocks?: Block[]\n}\n\nexport const BlocksFeature = createServerFeature<\n BlocksFeatureProps,\n BlocksFeatureProps,\n BlocksFeatureClientProps\n>({\n feature: async ({ config: _config, isRoot, props }) => {\n if (props?.blocks?.length || props?.inlineBlocks?.length) {\n const validRelationships = _config.collections.map((c) => c.slug) || []\n\n if (props?.blocks?.length) {\n for (const block of props.blocks) {\n block.fields = block.fields.concat(baseBlockFields)\n block.labels = !block.labels ? formatLabels(block.slug) : block.labels\n\n block.fields = await sanitizeFields({\n config: _config as unknown as Config,\n fields: block.fields,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n }\n }\n if (props?.inlineBlocks?.length) {\n for (const block of props.inlineBlocks) {\n block.fields = block.fields.concat(baseBlockFields)\n block.labels = !block.labels ? formatLabels(block.slug) : block.labels\n\n block.fields = await sanitizeFields({\n config: _config as unknown as Config,\n fields: block.fields,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n }\n }\n }\n\n // Build clientProps\n const clientProps: BlocksFeatureClientProps = {\n reducedBlocks: [],\n reducedInlineBlocks: [],\n }\n if (props?.blocks?.length) {\n for (const block of props.blocks) {\n clientProps.reducedBlocks.push({\n slug: block.slug,\n LabelComponent: block?.admin?.components?.Label,\n fieldMap: [],\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n })\n }\n }\n if (props?.inlineBlocks?.length) {\n for (const block of props.inlineBlocks) {\n clientProps.reducedInlineBlocks.push({\n slug: block.slug,\n LabelComponent: block?.admin?.components?.Label,\n fieldMap: [],\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n })\n }\n }\n\n return {\n ClientFeature: BlocksFeatureClient,\n clientFeatureProps: clientProps,\n generateSchemaMap: ({ props }) => {\n /**\n * Add sub-fields to the schemaMap. E.g. if you have an array field as part of the block, and it runs addRow, it will request these\n * sub-fields from the component map. Thus, we need to put them in the component map here.\n */\n const schemaMap = new Map<string, Field[]>()\n\n if (props?.blocks?.length) {\n for (const block of props.blocks) {\n schemaMap.set(block.slug, block.fields || [])\n }\n }\n\n if (props?.inlineBlocks?.length) {\n for (const block of props.inlineBlocks) {\n schemaMap.set(block.slug, block.fields || [])\n }\n }\n\n return schemaMap\n },\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n }) => {\n if (!props?.blocks?.length && !props?.inlineBlocks?.length) {\n return currentSchema\n }\n\n const fields: BlockField[] = []\n\n if (props?.blocks?.length) {\n fields.push({\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: props.blocks,\n })\n }\n if (props?.inlineBlocks?.length) {\n fields.push({\n name: field?.name + '_lexical_inline_blocks',\n type: 'blocks',\n blocks: props.inlineBlocks,\n })\n }\n\n if (fields.length) {\n // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.\n // we don't actually use the JSON Schema itself in the generated types yet.\n fieldsToJSONSchema(collectionIDFieldTypes, fields, interfaceNameDefinitions, config)\n }\n\n return currentSchema\n },\n },\n i18n,\n nodes: [\n createNode({\n getSubFields: ({ node }) => {\n const blockType = node.fields.blockType\n\n const block = props.blocks.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(props.blocks)],\n node: BlockNode,\n validations: [blockValidationHOC(props.blocks)],\n }),\n createNode({\n getSubFields: ({ node }) => {\n const blockType = node.fields.blockType\n\n const block = props.inlineBlocks.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(props.inlineBlocks)],\n node: InlineBlockNode,\n validations: [blockValidationHOC(props.inlineBlocks)],\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'blocks',\n})\n"],"names":["baseBlockFields","fieldsToJSONSchema","formatLabels","sanitizeFields","BlocksFeatureClient","createServerFeature","createNode","blockPopulationPromiseHOC","i18n","BlockNode","InlineBlockNode","blockValidationHOC","BlocksFeature","feature","config","_config","isRoot","props","blocks","length","inlineBlocks","validRelationships","collections","map","c","slug","block","fields","concat","labels","requireFieldLevelRichTextEditor","clientProps","reducedBlocks","reducedInlineBlocks","push","LabelComponent","admin","components","Label","fieldMap","imageAltText","imageURL","ClientFeature","clientFeatureProps","generateSchemaMap","schemaMap","Map","set","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","name","type","nodes","getSubFields","node","blockType","find","getSubFieldsData","graphQLPopulationPromises","validations","sanitizedServerFeatureProps","key"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import type { Block } from 'payload';
1
2
  import type { PopulationPromise } from '../typesServer.js';
2
- import type { BlocksFeatureProps } from './feature.server.js';
3
3
  import type { SerializedBlockNode } from './nodes/BlocksNode.js';
4
- export declare const blockPopulationPromiseHOC: (props: BlocksFeatureProps) => PopulationPromise<SerializedBlockNode>;
4
+ import type { SerializedInlineBlockNode } from './nodes/InlineBlocksNode.js';
5
+ export declare const blockPopulationPromiseHOC: (blocks: Block[]) => PopulationPromise<SerializedBlockNode | SerializedInlineBlockNode>;
5
6
  //# sourceMappingURL=graphQLPopulationPromise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphQLPopulationPromise.d.ts","sourceRoot":"","sources":["../../../src/features/blocks/graphQLPopulationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAIhE,eAAO,MAAM,yBAAyB,UAC7B,kBAAkB,KACxB,iBAAiB,CAAC,mBAAmB,CA4CvC,CAAA"}
1
+ {"version":3,"file":"graphQLPopulationPromise.d.ts","sourceRoot":"","sources":["../../../src/features/blocks/graphQLPopulationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAI5E,eAAO,MAAM,yBAAyB,WAC5B,KAAK,EAAE,KACd,iBAAiB,CAAC,mBAAmB,GAAG,yBAAyB,CA4CnE,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { recursivelyPopulateFieldsForGraphQL } from '../../populateGraphQL/recursivelyPopulateFieldsForGraphQL.js';
2
- export const blockPopulationPromiseHOC = (props)=>{
2
+ export const blockPopulationPromiseHOC = (blocks)=>{
3
3
  const blockPopulationPromise = ({ context, currentDepth, depth, draft, editorPopulationPromises, fieldPromises, findMany, flattenLocales, node, overrideAccess, populationPromises, req, showHiddenFields })=>{
4
4
  const blockFieldData = node.fields;
5
5
  // find block used in this node
6
- const block = props.blocks.find((block)=>block.slug === blockFieldData.blockType);
6
+ const block = blocks.find((block)=>block.slug === blockFieldData.blockType);
7
7
  if (!block || !block?.fields?.length || !blockFieldData) {
8
8
  return;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blocks/graphQLPopulationPromise.ts"],"sourcesContent":["import type { PopulationPromise } from '../typesServer.js'\nimport type { BlocksFeatureProps } from './feature.server.js'\nimport type { SerializedBlockNode } from './nodes/BlocksNode.js'\n\nimport { recursivelyPopulateFieldsForGraphQL } from '../../populateGraphQL/recursivelyPopulateFieldsForGraphQL.js'\n\nexport const blockPopulationPromiseHOC = (\n props: BlocksFeatureProps,\n): PopulationPromise<SerializedBlockNode> => {\n const blockPopulationPromise: PopulationPromise<SerializedBlockNode> = ({\n context,\n currentDepth,\n depth,\n draft,\n editorPopulationPromises,\n fieldPromises,\n findMany,\n flattenLocales,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n }) => {\n const blockFieldData = node.fields\n\n // find block used in this node\n const block = props.blocks.find((block) => block.slug === blockFieldData.blockType)\n if (!block || !block?.fields?.length || !blockFieldData) {\n return\n }\n\n recursivelyPopulateFieldsForGraphQL({\n context,\n currentDepth,\n data: blockFieldData,\n depth,\n draft,\n editorPopulationPromises,\n fieldPromises,\n fields: block.fields,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: blockFieldData,\n })\n }\n\n return blockPopulationPromise\n}\n"],"names":["recursivelyPopulateFieldsForGraphQL","blockPopulationPromiseHOC","props","blockPopulationPromise","context","currentDepth","depth","draft","editorPopulationPromises","fieldPromises","findMany","flattenLocales","node","overrideAccess","populationPromises","req","showHiddenFields","blockFieldData","fields","block","blocks","find","slug","blockType","length","data","siblingDoc"],"mappings":"AAIA,SAASA,mCAAmC,QAAQ,+DAA8D;AAElH,OAAO,MAAMC,4BAA4B,CACvCC;IAEA,MAAMC,yBAAiE,CAAC,EACtEC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,wBAAwB,EACxBC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,IAAI,EACJC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EACjB;QACC,MAAMC,iBAAiBL,KAAKM,MAAM;QAElC,+BAA+B;QAC/B,MAAMC,QAAQjB,MAAMkB,MAAM,CAACC,IAAI,CAAC,CAACF,QAAUA,MAAMG,IAAI,KAAKL,eAAeM,SAAS;QAClF,IAAI,CAACJ,SAAS,CAACA,OAAOD,QAAQM,UAAU,CAACP,gBAAgB;YACvD;QACF;QAEAjB,oCAAoC;YAClCI;YACAC;YACAoB,MAAMR;YACNX;YACAC;YACAC;YACAC;YACAS,QAAQC,MAAMD,MAAM;YACpBR;YACAC;YACAE;YACAC;YACAC;YACAC;YACAU,YAAYT;QACd;IACF;IAEA,OAAOd;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/features/blocks/graphQLPopulationPromise.ts"],"sourcesContent":["import type { Block } from 'payload'\n\nimport type { PopulationPromise } from '../typesServer.js'\nimport type { SerializedBlockNode } from './nodes/BlocksNode.js'\nimport type { SerializedInlineBlockNode } from './nodes/InlineBlocksNode.js'\n\nimport { recursivelyPopulateFieldsForGraphQL } from '../../populateGraphQL/recursivelyPopulateFieldsForGraphQL.js'\n\nexport const blockPopulationPromiseHOC = (\n blocks: Block[],\n): PopulationPromise<SerializedBlockNode | SerializedInlineBlockNode> => {\n const blockPopulationPromise: PopulationPromise<SerializedBlockNode> = ({\n context,\n currentDepth,\n depth,\n draft,\n editorPopulationPromises,\n fieldPromises,\n findMany,\n flattenLocales,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n }) => {\n const blockFieldData = node.fields\n\n // find block used in this node\n const block = blocks.find((block) => block.slug === blockFieldData.blockType)\n if (!block || !block?.fields?.length || !blockFieldData) {\n return\n }\n\n recursivelyPopulateFieldsForGraphQL({\n context,\n currentDepth,\n data: blockFieldData,\n depth,\n draft,\n editorPopulationPromises,\n fieldPromises,\n fields: block.fields,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: blockFieldData,\n })\n }\n\n return blockPopulationPromise\n}\n"],"names":["recursivelyPopulateFieldsForGraphQL","blockPopulationPromiseHOC","blocks","blockPopulationPromise","context","currentDepth","depth","draft","editorPopulationPromises","fieldPromises","findMany","flattenLocales","node","overrideAccess","populationPromises","req","showHiddenFields","blockFieldData","fields","block","find","slug","blockType","length","data","siblingDoc"],"mappings":"AAMA,SAASA,mCAAmC,QAAQ,+DAA8D;AAElH,OAAO,MAAMC,4BAA4B,CACvCC;IAEA,MAAMC,yBAAiE,CAAC,EACtEC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,wBAAwB,EACxBC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,IAAI,EACJC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EACjB;QACC,MAAMC,iBAAiBL,KAAKM,MAAM;QAElC,+BAA+B;QAC/B,MAAMC,QAAQjB,OAAOkB,IAAI,CAAC,CAACD,QAAUA,MAAME,IAAI,KAAKJ,eAAeK,SAAS;QAC5E,IAAI,CAACH,SAAS,CAACA,OAAOD,QAAQK,UAAU,CAACN,gBAAgB;YACvD;QACF;QAEAjB,oCAAoC;YAClCI;YACAC;YACAmB,MAAMP;YACNX;YACAC;YACAC;YACAC;YACAS,QAAQC,MAAMD,MAAM;YACpBR;YACAC;YACAE;YACAC;YACAC;YACAC;YACAS,YAAYR;QACd;IACF;IAEA,OAAOd;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/features/blocks/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/blocks/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAiS1C,CAAA"}
@@ -1,98 +1,290 @@
1
1
  export const i18n = {
2
2
  ar: {
3
+ inlineBlocks: {
4
+ create: 'أنشئ {{label}}',
5
+ edit: 'تحرير {{التسمية}}',
6
+ label: 'الكتل الداخلية',
7
+ remove: 'إزالة {{التسمية}}'
8
+ },
3
9
  label: 'كتل'
4
10
  },
5
11
  az: {
12
+ inlineBlocks: {
13
+ create: 'Yarat {{label}}',
14
+ edit: '{{label}} redaktə et',
15
+ label: 'Sıralı Bloklar',
16
+ remove: '{{label}} silin'
17
+ },
6
18
  label: 'Bloklar'
7
19
  },
8
20
  bg: {
21
+ inlineBlocks: {
22
+ create: 'Създайте {{етикет}}',
23
+ edit: 'Редактирай {{етикет}}',
24
+ label: 'Вградени блокове',
25
+ remove: 'Премахнете {{етикет}}'
26
+ },
9
27
  label: 'Блокове'
10
28
  },
11
29
  cs: {
30
+ inlineBlocks: {
31
+ create: 'Vytvořte {{štítek}}',
32
+ edit: 'Upravit {{label}}',
33
+ label: 'Inline bloky',
34
+ remove: 'Odstraňte {{label}}'
35
+ },
12
36
  label: 'Bloky'
13
37
  },
14
38
  de: {
39
+ inlineBlocks: {
40
+ create: 'Erstelle {{label}}',
41
+ edit: 'Bearbeite {{label}}',
42
+ label: 'Inline-Blöcke',
43
+ remove: 'Entferne {{label}}'
44
+ },
15
45
  label: 'Blöcke'
16
46
  },
17
47
  en: {
48
+ inlineBlocks: {
49
+ create: 'Create {{label}}',
50
+ edit: 'Edit {{label}}',
51
+ label: 'Inline Blocks',
52
+ remove: 'Remove {{label}}'
53
+ },
18
54
  label: 'Blocks'
19
55
  },
20
56
  es: {
57
+ inlineBlocks: {
58
+ create: 'Crear {{etiqueta}}',
59
+ edit: 'Editar {{etiqueta}}',
60
+ label: 'Bloques en línea',
61
+ remove: 'Eliminar {{label}}'
62
+ },
21
63
  label: 'Bloques'
22
64
  },
23
65
  fa: {
66
+ inlineBlocks: {
67
+ create: 'ایجاد {{برچسب}}',
68
+ edit: 'ویرایش {{برچسب}}',
69
+ label: 'بلوک‌های درون خطی',
70
+ remove: 'حذف {{برچسب}}'
71
+ },
24
72
  label: 'بلوک ها'
25
73
  },
26
74
  fr: {
75
+ inlineBlocks: {
76
+ create: 'Créer {{label}}',
77
+ edit: 'Modifier {{label}}',
78
+ label: 'Blocs en ligne',
79
+ remove: 'Supprimer {{label}}'
80
+ },
27
81
  label: 'Blocs'
28
82
  },
29
83
  he: {
84
+ inlineBlocks: {
85
+ create: 'צור {{תווית}}',
86
+ edit: 'ערוך {{תווית}}',
87
+ label: 'בלוקים משורשרים',
88
+ remove: 'הסר {{תווית}}'
89
+ },
30
90
  label: 'חסימות'
31
91
  },
32
92
  hr: {
93
+ inlineBlocks: {
94
+ create: 'Stvori {{oznaka}}',
95
+ edit: 'Uredi {{label}}',
96
+ label: 'Unutrašnji blokovi',
97
+ remove: 'Ukloni {{oznaka}}'
98
+ },
33
99
  label: 'Blokovi'
34
100
  },
35
101
  hu: {
102
+ inlineBlocks: {
103
+ create: 'Hozzon létre {{címke}}',
104
+ edit: 'Szerkesztés {{címke}}',
105
+ label: 'Beágyazott blokkok',
106
+ remove: 'Távolítsa el a {{label}}'
107
+ },
36
108
  label: 'Blokkok'
37
109
  },
38
110
  it: {
111
+ inlineBlocks: {
112
+ create: 'Crea {{etichetta}}',
113
+ edit: 'Modifica {{label}}',
114
+ label: 'Blocchi in linea',
115
+ remove: 'Rimuovi {{label}}'
116
+ },
39
117
  label: 'Blocchi'
40
118
  },
41
119
  ja: {
120
+ inlineBlocks: {
121
+ create: '{{label}}を作成する',
122
+ edit: '{{label}}を編集する',
123
+ label: 'インラインブロック',
124
+ remove: '{{ラベル}}を削除します'
125
+ },
42
126
  label: 'ブロック'
43
127
  },
44
128
  ko: {
129
+ inlineBlocks: {
130
+ create: '{{label}} 생성하기',
131
+ edit: '{{label}} 수정하기',
132
+ label: '인라인 블록',
133
+ remove: '{{label}} 제거하세요'
134
+ },
45
135
  label: '블록'
46
136
  },
47
137
  my: {
138
+ inlineBlocks: {
139
+ create: 'Cipta {{label}}',
140
+ edit: 'Sunting {{label}}',
141
+ label: 'Inline Blocks [SKIPPED]',
142
+ remove: 'Buang {{label}}'
143
+ },
48
144
  label: 'တံတားများ'
49
145
  },
50
146
  nb: {
147
+ inlineBlocks: {
148
+ create: 'Opprett {{label}}',
149
+ edit: 'Rediger {{label}}',
150
+ label: 'In-line blokker',
151
+ remove: 'Fjern {{label}}'
152
+ },
51
153
  label: 'Blokker'
52
154
  },
53
155
  nl: {
156
+ inlineBlocks: {
157
+ create: 'Maak {{label}}',
158
+ edit: 'Bewerk {{label}}',
159
+ label: 'Inline Blocks',
160
+ remove: 'Verwijder {{label}}'
161
+ },
54
162
  label: 'Blokken'
55
163
  },
56
164
  pl: {
165
+ inlineBlocks: {
166
+ create: 'Utwórz {{label}}',
167
+ edit: 'Edytuj {{etykieta}}',
168
+ label: 'Blokowanie w linii',
169
+ remove: 'Usuń {{etykieta}}'
170
+ },
57
171
  label: 'Bloki'
58
172
  },
59
173
  pt: {
174
+ inlineBlocks: {
175
+ create: 'Crie {{label}}',
176
+ edit: 'Editar {{label}}',
177
+ label: 'Blocos em linha',
178
+ remove: 'Remova {{label}}'
179
+ },
60
180
  label: 'Blocos'
61
181
  },
62
182
  ro: {
183
+ inlineBlocks: {
184
+ create: 'Creează {{eticheta}}',
185
+ edit: 'Editați {{eticheta}}',
186
+ label: 'Blocuri in linie',
187
+ remove: 'Ștergeți {{etichetă}}'
188
+ },
63
189
  label: 'Blocuri'
64
190
  },
65
191
  rs: {
192
+ inlineBlocks: {
193
+ create: 'Kreiraj {{label}}',
194
+ edit: 'Izmeni {{label}}',
195
+ label: 'Umetnuti blokovi',
196
+ remove: 'Ukloni {{label}}'
197
+ },
66
198
  label: 'Blokovi'
67
199
  },
68
200
  'rs-latin': {
201
+ inlineBlocks: {
202
+ create: 'Kreiraj {{label}}',
203
+ edit: 'Izmeni {{label}}',
204
+ label: 'Unutar blokovi',
205
+ remove: 'Ukloni {{oznaka}}'
206
+ },
69
207
  label: 'Blokovi'
70
208
  },
71
209
  ru: {
210
+ inlineBlocks: {
211
+ create: 'Создать {{label}}',
212
+ edit: 'Изменить {{метка}}',
213
+ label: 'Встроенные блоки',
214
+ remove: 'Удалить {{метка}}'
215
+ },
72
216
  label: 'Блоки'
73
217
  },
74
218
  sk: {
219
+ inlineBlocks: {
220
+ create: 'Vytvorte {{označenie}}',
221
+ edit: 'Upraviť {{label}}',
222
+ label: 'Inline bloky',
223
+ remove: 'Odstráňte {{label}}'
224
+ },
75
225
  label: 'Bloky'
76
226
  },
77
227
  sv: {
228
+ inlineBlocks: {
229
+ create: 'Skapa {{label}}',
230
+ edit: 'Redigera {{etikett}}',
231
+ label: 'Inline-blockar',
232
+ remove: 'Ta bort {{etikett}}'
233
+ },
78
234
  label: 'Block'
79
235
  },
80
236
  th: {
237
+ inlineBlocks: {
238
+ create: 'สร้าง {{label}}',
239
+ edit: 'แก้ไข {{label}}',
240
+ label: 'บล็อกแบบอินไลน์',
241
+ remove: 'ลบ {{label}}'
242
+ },
81
243
  label: 'บล็อค'
82
244
  },
83
245
  tr: {
246
+ inlineBlocks: {
247
+ create: '{{Etiketi}} oluşturun',
248
+ edit: "{{Etiket}}'i düzenleyin",
249
+ label: 'Satır İçi Bloklar',
250
+ remove: '{{Etiketi}} kaldırın'
251
+ },
84
252
  label: 'Bloklar'
85
253
  },
86
254
  uk: {
255
+ inlineBlocks: {
256
+ create: 'Створити {{label}}',
257
+ edit: 'Редагувати {{label}}',
258
+ label: 'Вбудовані блоки',
259
+ remove: 'Видалити {{мітку}}'
260
+ },
87
261
  label: 'Блоки'
88
262
  },
89
263
  vi: {
264
+ inlineBlocks: {
265
+ create: 'Tạo {{label}}',
266
+ edit: 'Chỉnh sửa {{nhãn}}',
267
+ label: 'Khối nội tuyến',
268
+ remove: 'Xóa {{nhãn}}'
269
+ },
90
270
  label: 'Khối'
91
271
  },
92
272
  zh: {
273
+ inlineBlocks: {
274
+ create: '创建{{label}}',
275
+ edit: '编辑 {{label}}',
276
+ label: '内联块',
277
+ remove: '删除{{label}}'
278
+ },
93
279
  label: '块'
94
280
  },
95
281
  'zh-TW': {
282
+ inlineBlocks: {
283
+ create: '創建 {{label}}',
284
+ edit: '編輯 {{label}}',
285
+ label: '內聯區塊',
286
+ remove: '移除 {{label}}'
287
+ },
96
288
  label: '區塊'
97
289
  }
98
290
  };