@payloadcms/richtext-lexical 4.0.0-internal.5f0cd13 → 4.0.0-internal.688c4d0

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 (156) hide show
  1. package/dist/@types/assets.d.js +2 -0
  2. package/dist/@types/assets.d.js.map +1 -0
  3. package/dist/cell/rscEntry.d.ts.map +1 -1
  4. package/dist/cell/rscEntry.js +5 -5
  5. package/dist/cell/rscEntry.js.map +1 -1
  6. package/dist/exports/client/Field-VYBSMSRY.js +2 -0
  7. package/dist/exports/client/Field-VYBSMSRY.js.map +7 -0
  8. package/dist/exports/client/bundled.css +1 -1
  9. package/dist/exports/client/chunk-5VIL27GI.js +2 -0
  10. package/dist/exports/client/chunk-5VIL27GI.js.map +7 -0
  11. package/dist/exports/client/chunk-ESITTE3C.js +2 -0
  12. package/dist/exports/client/chunk-ESITTE3C.js.map +7 -0
  13. package/dist/exports/client/chunk-UD4DQ4AK.js +2 -0
  14. package/dist/exports/client/chunk-UD4DQ4AK.js.map +7 -0
  15. package/dist/exports/client/{component-HKTAZ77E.js → component-PHZQBOJE.js} +2 -2
  16. package/dist/exports/client/componentInline-H24N7GUG.js +2 -0
  17. package/dist/exports/client/index.d.ts +1 -0
  18. package/dist/exports/client/index.d.ts.map +1 -1
  19. package/dist/exports/client/index.js +25 -25
  20. package/dist/exports/client/index.js.map +4 -4
  21. package/dist/exports/server/rsc.browser.d.ts +11 -0
  22. package/dist/exports/server/rsc.browser.d.ts.map +1 -0
  23. package/dist/exports/server/rsc.browser.js +10 -0
  24. package/dist/exports/server/rsc.browser.js.map +1 -0
  25. package/dist/features/blocks/client/component/index.d.ts +1 -0
  26. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  27. package/dist/features/blocks/client/component/index.js +16 -8
  28. package/dist/features/blocks/client/component/index.js.map +1 -1
  29. package/dist/features/blocks/client/componentInline/index.d.ts +1 -0
  30. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  31. package/dist/features/blocks/client/componentInline/index.js +15 -7
  32. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  33. package/dist/features/blocks/client/index.d.ts.map +1 -1
  34. package/dist/features/blocks/client/index.js +4 -2
  35. package/dist/features/blocks/client/index.js.map +1 -1
  36. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -1
  37. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +1 -0
  38. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  39. package/dist/features/blocks/server/index.d.ts.map +1 -1
  40. package/dist/features/blocks/server/index.js +6 -8
  41. package/dist/features/blocks/server/index.js.map +1 -1
  42. package/dist/features/blocks/server/schema.d.ts +5 -5
  43. package/dist/features/blocks/server/schema.d.ts.map +1 -1
  44. package/dist/features/blocks/server/schema.js +26 -23
  45. package/dist/features/blocks/server/schema.js.map +1 -1
  46. package/dist/features/converters/lexicalToHtml/async/types.d.ts +13 -15
  47. package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -1
  48. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  49. package/dist/features/converters/lexicalToHtml/sync/types.d.ts +13 -15
  50. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  51. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  52. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +2 -2
  53. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  54. package/dist/features/converters/lexicalToJSX/Component/index.js +5 -4
  55. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  56. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +12 -14
  57. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  58. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  59. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +12 -14
  60. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -1
  61. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  62. package/dist/features/experimental_table/server/schema.d.ts.map +1 -1
  63. package/dist/features/experimental_table/server/schema.js +6 -3
  64. package/dist/features/experimental_table/server/schema.js.map +1 -1
  65. package/dist/features/link/server/schema.d.ts.map +1 -1
  66. package/dist/features/link/server/schema.js +10 -7
  67. package/dist/features/link/server/schema.js.map +1 -1
  68. package/dist/features/relationship/server/schema.d.ts.map +1 -1
  69. package/dist/features/relationship/server/schema.js +5 -8
  70. package/dist/features/relationship/server/schema.js.map +1 -1
  71. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  72. package/dist/features/upload/client/component/index.css +2 -2
  73. package/dist/features/upload/server/schema.d.ts +4 -4
  74. package/dist/features/upload/server/schema.d.ts.map +1 -1
  75. package/dist/features/upload/server/schema.js +34 -18
  76. package/dist/features/upload/server/schema.js.map +1 -1
  77. package/dist/field/bundled.css +1 -1
  78. package/dist/field/clientEntry.d.ts +29 -0
  79. package/dist/field/clientEntry.d.ts.map +1 -0
  80. package/dist/field/clientEntry.js +86 -0
  81. package/dist/field/clientEntry.js.map +1 -0
  82. package/dist/field/index.css +13 -12
  83. package/dist/field/index.js +1 -1
  84. package/dist/field/index.js.map +1 -1
  85. package/dist/field/rscEntry.d.ts.map +1 -1
  86. package/dist/field/rscEntry.js +2 -0
  87. package/dist/field/rscEntry.js.map +1 -1
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +47 -4
  90. package/dist/index.js.map +1 -1
  91. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  92. package/dist/lexical/LexicalEditor.js +36 -2
  93. package/dist/lexical/LexicalEditor.js.map +1 -1
  94. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  95. package/dist/lexical/LexicalProvider.js +22 -7
  96. package/dist/lexical/LexicalProvider.js.map +1 -1
  97. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  98. package/dist/lexical/config/client/loader.js +5 -1
  99. package/dist/lexical/config/client/loader.js.map +1 -1
  100. package/dist/lexical/plugins/DecoratorPlugin/index.js.map +1 -1
  101. package/dist/types/builtInNodes.d.ts.map +1 -1
  102. package/dist/types/builtInNodes.js +17 -17
  103. package/dist/types/builtInNodes.js.map +1 -1
  104. package/dist/types/index.d.ts +16 -16
  105. package/dist/types/index.d.ts.map +1 -1
  106. package/dist/types/index.js.map +1 -1
  107. package/dist/types/jsonSchemaHelpers.d.ts +2 -0
  108. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -1
  109. package/dist/types/jsonSchemaHelpers.js +7 -3
  110. package/dist/types/jsonSchemaHelpers.js.map +1 -1
  111. package/dist/types/nodeTypes.d.ts +51 -9
  112. package/dist/types/nodeTypes.d.ts.map +1 -1
  113. package/dist/types/nodeTypes.js +3 -3
  114. package/dist/types/nodeTypes.js.map +1 -1
  115. package/dist/types/schema.d.ts.map +1 -1
  116. package/dist/types/schema.js +12 -2
  117. package/dist/types/schema.js.map +1 -1
  118. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  119. package/dist/utilities/applyBaseFilterToFields.js +1 -2
  120. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  121. package/dist/utilities/buildEditorState.d.ts +17 -3
  122. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  123. package/dist/utilities/buildEditorState.js +8 -0
  124. package/dist/utilities/buildEditorState.js.map +1 -1
  125. package/dist/utilities/buildInitialState.d.ts +2 -1
  126. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  127. package/dist/utilities/buildInitialState.js.map +1 -1
  128. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  129. package/dist/utilities/fieldsDrawer/Drawer.js +19 -10
  130. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  131. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts +4 -1
  132. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  133. package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -7
  134. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  135. package/dist/utilities/fieldsDrawer/index.css +16 -0
  136. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +29 -0
  137. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -0
  138. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js +97 -0
  139. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js.map +1 -0
  140. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  141. package/dist/utilities/generateImportMap.js +7 -3
  142. package/dist/utilities/generateImportMap.js.map +1 -1
  143. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +1 -1
  144. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  145. package/package.json +9 -8
  146. package/dist/exports/client/Field-G5Z2HM5Y.js +0 -2
  147. package/dist/exports/client/Field-G5Z2HM5Y.js.map +0 -7
  148. package/dist/exports/client/chunk-6QWQ7JV4.js +0 -2
  149. package/dist/exports/client/chunk-6QWQ7JV4.js.map +0 -7
  150. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  151. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  152. package/dist/exports/client/chunk-UAKNDD6R.js +0 -2
  153. package/dist/exports/client/chunk-UAKNDD6R.js.map +0 -7
  154. package/dist/exports/client/componentInline-D3A6OW76.js +0 -2
  155. /package/dist/exports/client/{component-HKTAZ77E.js.map → component-PHZQBOJE.js.map} +0 -0
  156. /package/dist/exports/client/{componentInline-D3A6OW76.js.map → componentInline-H24N7GUG.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"buildInitialState.js","names":["fieldSchemasToFormState","buildInitialState","context","initialState","initialStateFromArgs","nodeData","node","children","type","blockNode","id","fields","schemaFieldsPath","lexicalFieldSchemaPath","blockType","formStateResult","clientFieldSchemaMap","collectionSlug","data","documentData","fieldSchemaMap","get","initialBlockData","operation","permissions","preferences","readOnly","disabled","renderAllFields","renderFieldFn","req","schemaPath","formState","currentFieldPreferences","field","name","collapsedArray","collapsed","Array","isArray","includes"],"sources":["../../src/utilities/buildInitialState.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientFieldSchemaMap,\n DocumentPreferences,\n FieldSchemaMap,\n FormState,\n Operation,\n PayloadRequest,\n RichTextField,\n SanitizedFieldPermissions,\n} from 'payload'\n\nimport { fieldSchemasToFormState } from '@payloadcms/ui/forms/fieldSchemasToFormState'\n\nimport type { SerializedBlockNode } from '../types/nodeTypes.js'\n\nexport type InitialLexicalFormState = {\n [nodeID: string]: {\n [key: string]: any\n formState?: FormState\n }\n}\n\ntype Props = {\n context: {\n clientFieldSchemaMap: ClientFieldSchemaMap\n collectionSlug: string\n disabled?: boolean\n documentData?: any\n field: RichTextField\n fieldSchemaMap: FieldSchemaMap\n id?: number | string\n lexicalFieldSchemaPath: string\n operation: Operation\n permissions?: SanitizedFieldPermissions\n preferences: DocumentPreferences\n renderFieldFn: any\n req: PayloadRequest\n }\n initialState?: InitialLexicalFormState\n nodeData: SerializedLexicalNode[]\n}\n\nexport async function buildInitialState({\n context,\n initialState: initialStateFromArgs,\n nodeData,\n}: Props): Promise<InitialLexicalFormState> {\n let initialState: InitialLexicalFormState = initialStateFromArgs ?? {}\n for (const node of nodeData) {\n if ('children' in node) {\n initialState = await buildInitialState({\n context,\n initialState,\n nodeData: node.children as SerializedLexicalNode[],\n })\n }\n\n if (node.type === 'block' || node.type === 'inlineBlock') {\n const blockNode = node as SerializedBlockNode\n const id = blockNode?.fields?.id\n if (!id) {\n continue\n }\n\n const schemaFieldsPath =\n node.type === 'block'\n ? `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockNode.fields.blockType}.fields`\n : `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${blockNode.fields.blockType}.fields`\n\n // Build form state for the block\n\n const formStateResult = await fieldSchemasToFormState({\n id: context.id,\n clientFieldSchemaMap: context.clientFieldSchemaMap,\n collectionSlug: context.collectionSlug,\n data: blockNode.fields,\n documentData: context.documentData,\n fields: (context.fieldSchemaMap.get(schemaFieldsPath) as any)?.fields,\n fieldSchemaMap: context.fieldSchemaMap,\n initialBlockData: blockNode.fields,\n operation: context.operation as any, // TODO: Type\n permissions: true,\n preferences: context.preferences,\n readOnly: context.disabled,\n renderAllFields: true, // If this function runs, the parent lexical field is being re-rendered => thus we can assume all its sub-fields need to be re-rendered\n renderFieldFn: context.renderFieldFn,\n req: context.req,\n schemaPath: schemaFieldsPath,\n })\n\n if (!initialState[id]) {\n initialState[id] = {}\n }\n\n initialState[id].formState = formStateResult\n\n if (node.type === 'block') {\n const currentFieldPreferences = context.preferences?.fields?.[context.field.name]\n const collapsedArray = currentFieldPreferences?.collapsed\n if (Array.isArray(collapsedArray) && collapsedArray.includes(id)) {\n initialState[id].collapsed = true\n }\n }\n }\n }\n return initialState\n}\n"],"mappings":"AAYA,SAASA,uBAAuB,QAAQ;AA+BxC,OAAO,eAAeC,kBAAkB;EACtCC,OAAO;EACPC,YAAA,EAAcC,oBAAoB;EAClCC;AAAQ,CACF;EACN,IAAIF,YAAA,GAAwCC,oBAAA,IAAwB,CAAC;EACrE,KAAK,MAAME,IAAA,IAAQD,QAAA,EAAU;IAC3B,IAAI,cAAcC,IAAA,EAAM;MACtBH,YAAA,GAAe,MAAMF,iBAAA,CAAkB;QACrCC,OAAA;QACAC,YAAA;QACAE,QAAA,EAAUC,IAAA,CAAKC;MACjB;IACF;IAEA,IAAID,IAAA,CAAKE,IAAI,KAAK,WAAWF,IAAA,CAAKE,IAAI,KAAK,eAAe;MACxD,MAAMC,SAAA,GAAYH,IAAA;MAClB,MAAMI,EAAA,GAAKD,SAAA,EAAWE,MAAA,EAAQD,EAAA;MAC9B,IAAI,CAACA,EAAA,EAAI;QACP;MACF;MAEA,MAAME,gBAAA,GACJN,IAAA,CAAKE,IAAI,KAAK,UACV,GAAGN,OAAA,CAAQW,sBAAsB,mDAAmDJ,SAAA,CAAUE,MAAM,CAACG,SAAS,SAAS,GACvH,GAAGZ,OAAA,CAAQW,sBAAsB,0DAA0DJ,SAAA,CAAUE,MAAM,CAACG,SAAS,SAAS;MAEpI;MAEA,MAAMC,eAAA,GAAkB,MAAMf,uBAAA,CAAwB;QACpDU,EAAA,EAAIR,OAAA,CAAQQ,EAAE;QACdM,oBAAA,EAAsBd,OAAA,CAAQc,oBAAoB;QAClDC,cAAA,EAAgBf,OAAA,CAAQe,cAAc;QACtCC,IAAA,EAAMT,SAAA,CAAUE,MAAM;QACtBQ,YAAA,EAAcjB,OAAA,CAAQiB,YAAY;QAClCR,MAAA,EAAST,OAAA,CAAQkB,cAAc,CAACC,GAAG,CAACT,gBAAA,GAA2BD,MAAA;QAC/DS,cAAA,EAAgBlB,OAAA,CAAQkB,cAAc;QACtCE,gBAAA,EAAkBb,SAAA,CAAUE,MAAM;QAClCY,SAAA,EAAWrB,OAAA,CAAQqB,SAAS;QAC5BC,WAAA,EAAa;QACbC,WAAA,EAAavB,OAAA,CAAQuB,WAAW;QAChCC,QAAA,EAAUxB,OAAA,CAAQyB,QAAQ;QAC1BC,eAAA,EAAiB;QACjBC,aAAA,EAAe3B,OAAA,CAAQ2B,aAAa;QACpCC,GAAA,EAAK5B,OAAA,CAAQ4B,GAAG;QAChBC,UAAA,EAAYnB;MACd;MAEA,IAAI,CAACT,YAAY,CAACO,EAAA,CAAG,EAAE;QACrBP,YAAY,CAACO,EAAA,CAAG,GAAG,CAAC;MACtB;MAEAP,YAAY,CAACO,EAAA,CAAG,CAACsB,SAAS,GAAGjB,eAAA;MAE7B,IAAIT,IAAA,CAAKE,IAAI,KAAK,SAAS;QACzB,MAAMyB,uBAAA,GAA0B/B,OAAA,CAAQuB,WAAW,EAAEd,MAAA,GAAST,OAAA,CAAQgC,KAAK,CAACC,IAAI,CAAC;QACjF,MAAMC,cAAA,GAAiBH,uBAAA,EAAyBI,SAAA;QAChD,IAAIC,KAAA,CAAMC,OAAO,CAACH,cAAA,KAAmBA,cAAA,CAAeI,QAAQ,CAAC9B,EAAA,GAAK;UAChEP,YAAY,CAACO,EAAA,CAAG,CAAC2B,SAAS,GAAG;QAC/B;MACF;IACF;EACF;EACA,OAAOlC,YAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"buildInitialState.js","names":["fieldSchemasToFormState","buildInitialState","context","initialState","initialStateFromArgs","nodeData","node","children","type","blockNode","id","fields","schemaFieldsPath","lexicalFieldSchemaPath","blockType","formStateResult","clientFieldSchemaMap","collectionSlug","data","documentData","fieldSchemaMap","get","initialBlockData","operation","permissions","preferences","readOnly","disabled","renderAllFields","renderFieldFn","req","schemaPath","formState","currentFieldPreferences","field","name","collapsedArray","collapsed","Array","isArray","includes"],"sources":["../../src/utilities/buildInitialState.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientFieldSchemaMap,\n ComponentRenderer,\n DocumentPreferences,\n FieldSchemaMap,\n FormState,\n Operation,\n PayloadRequest,\n RichTextField,\n SanitizedFieldPermissions,\n} from 'payload'\n\nimport { fieldSchemasToFormState } from '@payloadcms/ui/forms/fieldSchemasToFormState'\n\nimport type { SerializedBlockNode } from '../types/nodeTypes.js'\n\nexport type InitialLexicalFormState = {\n [nodeID: string]: {\n [key: string]: any\n formState?: FormState\n }\n}\n\ntype Props = {\n context: {\n clientFieldSchemaMap: ClientFieldSchemaMap\n collectionSlug: string\n disabled?: boolean\n documentData?: any\n field: RichTextField\n fieldSchemaMap: FieldSchemaMap\n id?: number | string\n lexicalFieldSchemaPath: string\n operation: Operation\n permissions?: SanitizedFieldPermissions\n preferences: DocumentPreferences\n renderComponent: ComponentRenderer\n renderFieldFn: any\n req: PayloadRequest\n }\n initialState?: InitialLexicalFormState\n nodeData: SerializedLexicalNode[]\n}\n\nexport async function buildInitialState({\n context,\n initialState: initialStateFromArgs,\n nodeData,\n}: Props): Promise<InitialLexicalFormState> {\n let initialState: InitialLexicalFormState = initialStateFromArgs ?? {}\n for (const node of nodeData) {\n if ('children' in node) {\n initialState = await buildInitialState({\n context,\n initialState,\n nodeData: node.children as SerializedLexicalNode[],\n })\n }\n\n if (node.type === 'block' || node.type === 'inlineBlock') {\n const blockNode = node as SerializedBlockNode\n const id = blockNode?.fields?.id\n if (!id) {\n continue\n }\n\n const schemaFieldsPath =\n node.type === 'block'\n ? `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_blocks.${blockNode.fields.blockType}.fields`\n : `${context.lexicalFieldSchemaPath}.lexical_internal_feature.blocks.lexical_inline_blocks.${blockNode.fields.blockType}.fields`\n\n // Build form state for the block\n\n const formStateResult = await fieldSchemasToFormState({\n id: context.id,\n clientFieldSchemaMap: context.clientFieldSchemaMap,\n collectionSlug: context.collectionSlug,\n data: blockNode.fields,\n documentData: context.documentData,\n fields: (context.fieldSchemaMap.get(schemaFieldsPath) as any)?.fields,\n fieldSchemaMap: context.fieldSchemaMap,\n initialBlockData: blockNode.fields,\n operation: context.operation as any, // TODO: Type\n permissions: true,\n preferences: context.preferences,\n readOnly: context.disabled,\n renderAllFields: true, // If this function runs, the parent lexical field is being re-rendered => thus we can assume all its sub-fields need to be re-rendered\n renderFieldFn: context.renderFieldFn,\n req: context.req,\n schemaPath: schemaFieldsPath,\n })\n\n if (!initialState[id]) {\n initialState[id] = {}\n }\n\n initialState[id].formState = formStateResult\n\n if (node.type === 'block') {\n const currentFieldPreferences = context.preferences?.fields?.[context.field.name]\n const collapsedArray = currentFieldPreferences?.collapsed\n if (Array.isArray(collapsedArray) && collapsedArray.includes(id)) {\n initialState[id].collapsed = true\n }\n }\n }\n }\n return initialState\n}\n"],"mappings":"AAaA,SAASA,uBAAuB,QAAQ;AAgCxC,OAAO,eAAeC,kBAAkB;EACtCC,OAAO;EACPC,YAAA,EAAcC,oBAAoB;EAClCC;AAAQ,CACF;EACN,IAAIF,YAAA,GAAwCC,oBAAA,IAAwB,CAAC;EACrE,KAAK,MAAME,IAAA,IAAQD,QAAA,EAAU;IAC3B,IAAI,cAAcC,IAAA,EAAM;MACtBH,YAAA,GAAe,MAAMF,iBAAA,CAAkB;QACrCC,OAAA;QACAC,YAAA;QACAE,QAAA,EAAUC,IAAA,CAAKC;MACjB;IACF;IAEA,IAAID,IAAA,CAAKE,IAAI,KAAK,WAAWF,IAAA,CAAKE,IAAI,KAAK,eAAe;MACxD,MAAMC,SAAA,GAAYH,IAAA;MAClB,MAAMI,EAAA,GAAKD,SAAA,EAAWE,MAAA,EAAQD,EAAA;MAC9B,IAAI,CAACA,EAAA,EAAI;QACP;MACF;MAEA,MAAME,gBAAA,GACJN,IAAA,CAAKE,IAAI,KAAK,UACV,GAAGN,OAAA,CAAQW,sBAAsB,mDAAmDJ,SAAA,CAAUE,MAAM,CAACG,SAAS,SAAS,GACvH,GAAGZ,OAAA,CAAQW,sBAAsB,0DAA0DJ,SAAA,CAAUE,MAAM,CAACG,SAAS,SAAS;MAEpI;MAEA,MAAMC,eAAA,GAAkB,MAAMf,uBAAA,CAAwB;QACpDU,EAAA,EAAIR,OAAA,CAAQQ,EAAE;QACdM,oBAAA,EAAsBd,OAAA,CAAQc,oBAAoB;QAClDC,cAAA,EAAgBf,OAAA,CAAQe,cAAc;QACtCC,IAAA,EAAMT,SAAA,CAAUE,MAAM;QACtBQ,YAAA,EAAcjB,OAAA,CAAQiB,YAAY;QAClCR,MAAA,EAAST,OAAA,CAAQkB,cAAc,CAACC,GAAG,CAACT,gBAAA,GAA2BD,MAAA;QAC/DS,cAAA,EAAgBlB,OAAA,CAAQkB,cAAc;QACtCE,gBAAA,EAAkBb,SAAA,CAAUE,MAAM;QAClCY,SAAA,EAAWrB,OAAA,CAAQqB,SAAS;QAC5BC,WAAA,EAAa;QACbC,WAAA,EAAavB,OAAA,CAAQuB,WAAW;QAChCC,QAAA,EAAUxB,OAAA,CAAQyB,QAAQ;QAC1BC,eAAA,EAAiB;QACjBC,aAAA,EAAe3B,OAAA,CAAQ2B,aAAa;QACpCC,GAAA,EAAK5B,OAAA,CAAQ4B,GAAG;QAChBC,UAAA,EAAYnB;MACd;MAEA,IAAI,CAACT,YAAY,CAACO,EAAA,CAAG,EAAE;QACrBP,YAAY,CAACO,EAAA,CAAG,GAAG,CAAC;MACtB;MAEAP,YAAY,CAACO,EAAA,CAAG,CAACsB,SAAS,GAAGjB,eAAA;MAE7B,IAAIT,IAAA,CAAKE,IAAI,KAAK,SAAS;QACzB,MAAMyB,uBAAA,GAA0B/B,OAAA,CAAQuB,WAAW,EAAEd,MAAA,GAAST,OAAA,CAAQgC,KAAK,CAACC,IAAI,CAAC;QACjF,MAAMC,cAAA,GAAiBH,uBAAA,EAAyBI,SAAA;QAChD,IAAIC,KAAA,CAAMC,OAAO,CAACH,cAAA,KAAmBA,cAAA,CAAeI,QAAQ,CAAC9B,EAAA,GAAK;UAChEP,YAAY,CAACO,EAAA,CAAG,CAAC2B,SAAS,GAAG;QAC/B;MACF;IACF;EACF;EACA,OAAOlC,YAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/utilities/fieldsDrawer/Drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAA;IACzC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1E,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0CpD,CAAA"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/utilities/fieldsDrawer/Drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAA;IACzC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1E,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkDpD,CAAA"}
@@ -5,13 +5,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { Drawer, EditDepthProvider, useModal } from '@payloadcms/ui';
6
6
  import React from 'react';
7
7
  import { DrawerContent } from './DrawerContent.js';
8
+ import { useDrawerSubmit } from './useDrawerSubmit.js';
8
9
  /**
9
10
  * This FieldsDrawer component can be used to easily create a Drawer that contains a form with fields within your feature.
10
11
  * The fields are taken directly from the schema map based on your `featureKey` and `schemaPathSuffix`. Thus, this can only
11
12
  * be used if you provide your field schema inside the `generateSchemaMap` prop of your feature.server.ts.
12
13
  */
13
14
  export const FieldsDrawer = t0 => {
14
- const $ = _c(15);
15
+ const $ = _c(17);
15
16
  const {
16
17
  className,
17
18
  data,
@@ -27,6 +28,10 @@ export const FieldsDrawer = t0 => {
27
28
  const {
28
29
  closeModal
29
30
  } = useModal();
31
+ const {
32
+ headerActions,
33
+ submitRef
34
+ } = useDrawerSubmit();
30
35
  const t1 = drawerTitle ?? "";
31
36
  let t2;
32
37
  if ($[0] !== closeModal || $[1] !== drawerSlug || $[2] !== handleDrawerSubmit) {
@@ -44,10 +49,11 @@ export const FieldsDrawer = t0 => {
44
49
  t2 = $[3];
45
50
  }
46
51
  let t3;
47
- if ($[4] !== className || $[5] !== data || $[6] !== drawerSlug || $[7] !== featureKey || $[8] !== fieldMapOverride || $[9] !== schemaFieldsPathOverride || $[10] !== schemaPath || $[11] !== schemaPathSuffix || $[12] !== t1 || $[13] !== t2) {
52
+ if ($[4] !== className || $[5] !== data || $[6] !== drawerSlug || $[7] !== featureKey || $[8] !== fieldMapOverride || $[9] !== headerActions || $[10] !== schemaFieldsPathOverride || $[11] !== schemaPath || $[12] !== schemaPathSuffix || $[13] !== submitRef || $[14] !== t1 || $[15] !== t2) {
48
53
  t3 = _jsx(EditDepthProvider, {
49
54
  children: _jsx(Drawer, {
50
55
  className,
56
+ headerActions,
51
57
  slug: drawerSlug,
52
58
  title: t1,
53
59
  children: _jsx(DrawerContent, {
@@ -57,7 +63,8 @@ export const FieldsDrawer = t0 => {
57
63
  handleDrawerSubmit: t2,
58
64
  schemaFieldsPathOverride,
59
65
  schemaPath,
60
- schemaPathSuffix
66
+ schemaPathSuffix,
67
+ submitRef
61
68
  })
62
69
  })
63
70
  });
@@ -66,14 +73,16 @@ export const FieldsDrawer = t0 => {
66
73
  $[6] = drawerSlug;
67
74
  $[7] = featureKey;
68
75
  $[8] = fieldMapOverride;
69
- $[9] = schemaFieldsPathOverride;
70
- $[10] = schemaPath;
71
- $[11] = schemaPathSuffix;
72
- $[12] = t1;
73
- $[13] = t2;
74
- $[14] = t3;
76
+ $[9] = headerActions;
77
+ $[10] = schemaFieldsPathOverride;
78
+ $[11] = schemaPath;
79
+ $[12] = schemaPathSuffix;
80
+ $[13] = submitRef;
81
+ $[14] = t1;
82
+ $[15] = t2;
83
+ $[16] = t3;
75
84
  } else {
76
- t3 = $[14];
85
+ t3 = $[16];
77
86
  }
78
87
  return t3;
79
88
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","names":["c","_c","Drawer","EditDepthProvider","useModal","React","DrawerContent","FieldsDrawer","t0","$","className","data","drawerSlug","drawerTitle","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","closeModal","t1","t2","args","args2","setTimeout","t3","_jsx","children","slug","title"],"sources":["../../../src/utilities/fieldsDrawer/Drawer.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, Data, FormState, JsonObject } from 'payload'\n\nimport { Drawer, EditDepthProvider, useModal } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { DrawerContent } from './DrawerContent.js'\n\nexport type FieldsDrawerProps = {\n readonly className?: string\n readonly data?: Data\n readonly drawerSlug: string\n readonly drawerTitle?: string\n readonly featureKey: string\n readonly fieldMapOverride?: ClientField[]\n readonly handleDrawerSubmit: (fields: FormState, data: JsonObject) => void\n readonly schemaFieldsPathOverride?: string\n readonly schemaPath: string\n readonly schemaPathSuffix?: string\n}\n\n/**\n * This FieldsDrawer component can be used to easily create a Drawer that contains a form with fields within your feature.\n * The fields are taken directly from the schema map based on your `featureKey` and `schemaPathSuffix`. Thus, this can only\n * be used if you provide your field schema inside the `generateSchemaMap` prop of your feature.server.ts.\n */\nexport const FieldsDrawer: React.FC<FieldsDrawerProps> = ({\n className,\n data,\n drawerSlug,\n drawerTitle,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n}) => {\n const { closeModal } = useModal()\n // The Drawer only renders its children (and itself) if it's open. Thus, by extracting the main content\n // to DrawerContent, this should be faster\n return (\n <EditDepthProvider>\n <Drawer className={className} slug={drawerSlug} title={drawerTitle ?? ''}>\n <DrawerContent\n data={data}\n featureKey={featureKey}\n fieldMapOverride={fieldMapOverride}\n handleDrawerSubmit={(args, args2) => {\n // Simply close drawer - no need for useLexicalDrawer here as at this point,\n // we don't need to restore the cursor position. This is handled by the useEffect in useLexicalDrawer.\n closeModal(drawerSlug)\n\n // Actual drawer submit logic needs to be triggered after the drawer is closed.\n // That's because the lexical selection / cursor restore logic that is striggerer by\n // `useLexicalDrawer` neeeds to be triggered before any editor.update calls that may happen\n // in the `handleDrawerSubmit` function.\n setTimeout(() => {\n handleDrawerSubmit(args, args2)\n }, 1)\n }}\n schemaFieldsPathOverride={schemaFieldsPathOverride}\n schemaPath={schemaPath}\n schemaPathSuffix={schemaPathSuffix}\n />\n </Drawer>\n </EditDepthProvider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,MAAM,EAAEC,iBAAiB,EAAEC,QAAQ,QAAQ;AACpD,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAe9B;;;;;AAKA,OAAO,MAAMC,YAAA,GAA4CC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,SAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,gBAAA;IAAAC,kBAAA;IAAAC,wBAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAX,EAWzD;EACC;IAAAY;EAAA,IAAuBhB,QAAA;EAKoC,MAAAiB,EAAA,GAAAR,WAAA,IAAe;EAAA,IAAAS,EAAA;EAAA,IAAAb,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAO,kBAAA;IAK9CM,EAAA,GAAAA,CAAAC,IAAA,EAAAC,KAAA;MAGlBJ,UAAA,CAAWR,UAAA;MAMXa,UAAA;QACET,kBAAA,CAAmBO,IAAA,EAAMC,KAAA;MAAA,IACxB;IAAA;IACLf,CAAA,MAAAW,UAAA;IAAAX,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAO,kBAAA;IAAAP,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAjB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAM,gBAAA,IAAAN,CAAA,QAAAQ,wBAAA,IAAAR,CAAA,SAAAS,UAAA,IAAAT,CAAA,SAAAU,gBAAA,IAAAV,CAAA,SAAAY,EAAA,IAAAZ,CAAA,SAAAa,EAAA;IAlBNI,EAAA,GAAAC,IAAA,CAAAxB,iBAAA;MAAAyB,QAAA,EACED,IAAA,CAAAzB,MAAA;QAAAQ,SAAA;QAAAmB,IAAA,EAAoCjB,UAAA;QAAAkB,KAAA,EAAmBT,EAAe;QAAAO,QAAA,EACpED,IAAA,CAAArB,aAAA;UAAAK,IAAA;UAAAG,UAAA;UAAAC,gBAAA;UAAAC,kBAAA,EAIsBM,EAYpB;UAAAL,wBAAA;UAAAC,UAAA;UAAAC;QAAA,C;;;;;;;;;;;;;;;;;SAlBNO,E;CA0BJ","ignoreList":[]}
1
+ {"version":3,"file":"Drawer.js","names":["c","_c","Drawer","EditDepthProvider","useModal","React","DrawerContent","useDrawerSubmit","FieldsDrawer","t0","$","className","data","drawerSlug","drawerTitle","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","closeModal","headerActions","submitRef","t1","t2","args","args2","setTimeout","t3","_jsx","children","slug","title"],"sources":["../../../src/utilities/fieldsDrawer/Drawer.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, Data, FormState, JsonObject } from 'payload'\n\nimport { Drawer, EditDepthProvider, useModal } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { DrawerContent } from './DrawerContent.js'\nimport { useDrawerSubmit } from './useDrawerSubmit.js'\n\nexport type FieldsDrawerProps = {\n readonly className?: string\n readonly data?: Data\n readonly drawerSlug: string\n readonly drawerTitle?: string\n readonly featureKey: string\n readonly fieldMapOverride?: ClientField[]\n readonly handleDrawerSubmit: (fields: FormState, data: JsonObject) => void\n readonly schemaFieldsPathOverride?: string\n readonly schemaPath: string\n readonly schemaPathSuffix?: string\n}\n\n/**\n * This FieldsDrawer component can be used to easily create a Drawer that contains a form with fields within your feature.\n * The fields are taken directly from the schema map based on your `featureKey` and `schemaPathSuffix`. Thus, this can only\n * be used if you provide your field schema inside the `generateSchemaMap` prop of your feature.server.ts.\n */\nexport const FieldsDrawer: React.FC<FieldsDrawerProps> = ({\n className,\n data,\n drawerSlug,\n drawerTitle,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n}) => {\n const { closeModal } = useModal()\n const { headerActions, submitRef } = useDrawerSubmit()\n\n // The Drawer only renders its children (and itself) if it's open. Thus, by extracting the main content\n // to DrawerContent, this should be faster\n return (\n <EditDepthProvider>\n <Drawer\n className={className}\n headerActions={headerActions}\n slug={drawerSlug}\n title={drawerTitle ?? ''}\n >\n <DrawerContent\n data={data}\n featureKey={featureKey}\n fieldMapOverride={fieldMapOverride}\n handleDrawerSubmit={(args, args2) => {\n // Simply close drawer - no need for useLexicalDrawer here as at this point,\n // we don't need to restore the cursor position. This is handled by the useEffect in useLexicalDrawer.\n closeModal(drawerSlug)\n\n // Actual drawer submit logic needs to be triggered after the drawer is closed.\n // That's because the lexical selection / cursor restore logic that is striggerer by\n // `useLexicalDrawer` neeeds to be triggered before any editor.update calls that may happen\n // in the `handleDrawerSubmit` function.\n setTimeout(() => {\n handleDrawerSubmit(args, args2)\n }, 1)\n }}\n schemaFieldsPathOverride={schemaFieldsPathOverride}\n schemaPath={schemaPath}\n schemaPathSuffix={schemaPathSuffix}\n submitRef={submitRef}\n />\n </Drawer>\n </EditDepthProvider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,MAAM,EAAEC,iBAAiB,EAAEC,QAAQ,QAAQ;AACpD,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAehC;;;;;AAKA,OAAO,MAAMC,YAAA,GAA4CC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,SAAA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,gBAAA;IAAAC,kBAAA;IAAAC,wBAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAX,EAWzD;EACC;IAAAY;EAAA,IAAuBjB,QAAA;EACvB;IAAAkB,aAAA;IAAAC;EAAA,IAAqChB,eAAA;EAUxB,MAAAiB,EAAA,GAAAV,WAAA,IAAe;EAAA,IAAAW,EAAA;EAAA,IAAAf,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAO,kBAAA;IAMAQ,EAAA,GAAAA,CAAAC,IAAA,EAAAC,KAAA;MAGlBN,UAAA,CAAWR,UAAA;MAMXe,UAAA;QACEX,kBAAA,CAAmBS,IAAA,EAAMC,KAAA;MAAA,IACxB;IAAA;IACLjB,CAAA,MAAAW,UAAA;IAAAX,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAO,kBAAA;IAAAP,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAnB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAK,UAAA,IAAAL,CAAA,QAAAM,gBAAA,IAAAN,CAAA,QAAAY,aAAA,IAAAZ,CAAA,SAAAQ,wBAAA,IAAAR,CAAA,SAAAS,UAAA,IAAAT,CAAA,SAAAU,gBAAA,IAAAV,CAAA,SAAAa,SAAA,IAAAb,CAAA,SAAAc,EAAA,IAAAd,CAAA,SAAAe,EAAA;IAvBNI,EAAA,GAAAC,IAAA,CAAA3B,iBAAA;MAAA4B,QAAA,EACED,IAAA,CAAA5B,MAAA;QAAAS,SAAA;QAAAW,aAAA;QAAAU,IAAA,EAGQnB,UAAA;QAAAoB,KAAA,EACCT,EAAe;QAAAO,QAAA,EAEtBD,IAAA,CAAAxB,aAAA;UAAAM,IAAA;UAAAG,UAAA;UAAAC,gBAAA;UAAAC,kBAAA,EAIsBQ,EAYpB;UAAAP,wBAAA;UAAAC,UAAA;UAAAC,gBAAA;UAAAG;QAAA,C;;;;;;;;;;;;;;;;;;;SAvBNM,E;CAgCJ","ignoreList":[]}
@@ -1,4 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { FieldsDrawerProps } from './Drawer.js';
3
- export declare const DrawerContent: React.FC<Omit<FieldsDrawerProps, 'drawerSlug' | 'drawerTitle'>>;
3
+ import './index.css';
4
+ export declare const DrawerContent: React.FC<{
5
+ submitRef: React.RefObject<(() => void) | null>;
6
+ } & Omit<FieldsDrawerProps, 'drawerSlug' | 'drawerTitle'>>;
4
7
  //# sourceMappingURL=DrawerContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,aAAa,CAAC,CAuJzF,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAClC;IACE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;CAChD,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,aAAa,CAAC,CAyJ1D,CAAA"}
@@ -2,12 +2,14 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useLexicalEditable } from '@lexical/react/useLexicalEditable';
5
- import { Form, FormSubmit, RenderFields, useDocumentForm, useDocumentInfo, useServerFunctions, useTranslation } from '@payloadcms/ui';
5
+ import { Form, RenderFields, useDocumentForm, useDocumentInfo, useServerFunctions } from '@payloadcms/ui';
6
6
  import { abortAndIgnore } from '@payloadcms/ui/shared';
7
7
  import { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared';
8
8
  import React, { useCallback, useEffect, useRef, useState } from 'react';
9
9
  import { v4 as uuid } from 'uuid';
10
10
  import { useEditorConfigContext } from '../../lexical/config/client/EditorConfigProvider.js';
11
+ import { RegisterFormSubmit } from './useDrawerSubmit.js';
12
+ import './index.css';
11
13
  export const DrawerContent = ({
12
14
  data,
13
15
  featureKey,
@@ -15,11 +17,9 @@ export const DrawerContent = ({
15
17
  handleDrawerSubmit,
16
18
  schemaFieldsPathOverride,
17
19
  schemaPath,
18
- schemaPathSuffix
20
+ schemaPathSuffix,
21
+ submitRef
19
22
  }) => {
20
- const {
21
- t
22
- } = useTranslation();
23
23
  const {
24
24
  id,
25
25
  collectionSlug,
@@ -116,6 +116,7 @@ export const DrawerContent = ({
116
116
  }
117
117
  return /*#__PURE__*/_jsxs(Form, {
118
118
  beforeSubmit: [onChange],
119
+ className: "fields-drawer",
119
120
  disableValidationOnSubmit: true,
120
121
  fields: Array.isArray(fields) ? fields : [],
121
122
  initialState: initialState,
@@ -130,8 +131,8 @@ export const DrawerContent = ({
130
131
  parentSchemaPath: schemaFieldsPath,
131
132
  permissions: true,
132
133
  readOnly: !isEditable
133
- }), /*#__PURE__*/_jsx(FormSubmit, {
134
- children: t('fields:saveChanges')
134
+ }), /*#__PURE__*/_jsx(RegisterFormSubmit, {
135
+ submitRef: submitRef
135
136
  })]
136
137
  });
137
138
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useLexicalEditable","Form","FormSubmit","RenderFields","useDocumentForm","useDocumentInfo","useServerFunctions","useTranslation","abortAndIgnore","deepCopyObjectSimpleWithoutReactComponents","React","useCallback","useEffect","useRef","useState","v4","uuid","useEditorConfigContext","DrawerContent","data","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","t","id","collectionSlug","getDocPreferences","globalSlug","fields","parentDocumentFields","isEditable","onChangeAbortControllerRef","AbortController","initialState","setInitialState","fieldProps","featureClientSchemaMap","getFormState","schemaFieldsPath","controller","awaitInitialState","state","docPermissions","docPreferences","documentFormState","excludeFiles","initialBlockData","operation","readOnly","renderAllFields","signal","onChange","formState","prevFormState","current","initialBlockFormState","_jsxs","beforeSubmit","disableValidationOnSubmit","Array","isArray","onSubmit","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n Form,\n FormSubmit,\n RenderFields,\n useDocumentForm,\n useDocumentInfo,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { FieldsDrawerProps } from './Drawer.js'\n\nimport { useEditorConfigContext } from '../../lexical/config/client/EditorConfigProvider.js'\n\nexport const DrawerContent: React.FC<Omit<FieldsDrawerProps, 'drawerSlug' | 'drawerTitle'>> = ({\n data,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n}) => {\n const { t } = useTranslation()\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { fields: parentDocumentFields } = useDocumentForm()\n const isEditable = useLexicalEditable()\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const {\n fieldProps: { featureClientSchemaMap },\n } = useEditorConfigContext()\n\n const { getFormState } = useServerFunctions()\n\n const schemaFieldsPath =\n schemaFieldsPathOverride ??\n `${schemaPath}.lexical_internal_feature.${featureKey}${schemaPathSuffix ? `.${schemaPathSuffix}` : ''}`\n\n const fields: any = fieldMapOverride ?? featureClientSchemaMap[featureKey]?.[schemaFieldsPath] // Field Schema\n\n useEffect(() => {\n const controller = new AbortController()\n\n const awaitInitialState = async () => {\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: data ?? {},\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n globalSlug,\n initialBlockData: data,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n setInitialState(state)\n }\n\n void awaitInitialState()\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [\n schemaFieldsPath,\n id,\n data,\n getFormState,\n collectionSlug,\n isEditable,\n globalSlug,\n getDocPreferences,\n parentDocumentFields,\n ])\n\n const onChange = useCallback(\n async ({ formState: prevFormState }: { formState: FormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n formState: prevFormState,\n globalSlug,\n initialBlockFormState: prevFormState,\n operation: 'update',\n readOnly: !isEditable,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n return state\n },\n [\n getFormState,\n id,\n isEditable,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n schemaFieldsPath,\n ],\n )\n\n // cleanup effect\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n if (initialState === false) {\n return null\n }\n\n return (\n <Form\n beforeSubmit={[onChange]}\n disableValidationOnSubmit\n fields={Array.isArray(fields) ? fields : []}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={handleDrawerSubmit}\n uuid={uuid()}\n >\n <RenderFields\n fields={Array.isArray(fields) ? fields : []}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\" // See Blocks feature path for details as for why this is empty\n parentSchemaPath={schemaFieldsPath}\n permissions={true}\n readOnly={!isEditable}\n />\n <FormSubmit>{t('fields:saveChanges')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useLexicalEditable","Form","RenderFields","useDocumentForm","useDocumentInfo","useServerFunctions","abortAndIgnore","deepCopyObjectSimpleWithoutReactComponents","React","useCallback","useEffect","useRef","useState","v4","uuid","useEditorConfigContext","RegisterFormSubmit","DrawerContent","data","featureKey","fieldMapOverride","handleDrawerSubmit","schemaFieldsPathOverride","schemaPath","schemaPathSuffix","submitRef","id","collectionSlug","getDocPreferences","globalSlug","fields","parentDocumentFields","isEditable","onChangeAbortControllerRef","AbortController","initialState","setInitialState","fieldProps","featureClientSchemaMap","getFormState","schemaFieldsPath","controller","awaitInitialState","state","docPermissions","docPreferences","documentFormState","excludeFiles","initialBlockData","operation","readOnly","renderAllFields","signal","onChange","formState","prevFormState","current","initialBlockFormState","_jsxs","beforeSubmit","className","disableValidationOnSubmit","Array","isArray","onSubmit","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/utilities/fieldsDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport {\n Form,\n RenderFields,\n useDocumentForm,\n useDocumentInfo,\n useServerFunctions,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport type { FieldsDrawerProps } from './Drawer.js'\n\nimport { useEditorConfigContext } from '../../lexical/config/client/EditorConfigProvider.js'\nimport { RegisterFormSubmit } from './useDrawerSubmit.js'\nimport './index.css'\n\nexport const DrawerContent: React.FC<\n {\n submitRef: React.RefObject<(() => void) | null>\n } & Omit<FieldsDrawerProps, 'drawerSlug' | 'drawerTitle'>\n> = ({\n data,\n featureKey,\n fieldMapOverride,\n handleDrawerSubmit,\n schemaFieldsPathOverride,\n schemaPath,\n schemaPathSuffix,\n submitRef,\n}) => {\n const { id, collectionSlug, getDocPreferences, globalSlug } = useDocumentInfo()\n const { fields: parentDocumentFields } = useDocumentForm()\n const isEditable = useLexicalEditable()\n\n const onChangeAbortControllerRef = useRef(new AbortController())\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const {\n fieldProps: { featureClientSchemaMap },\n } = useEditorConfigContext()\n\n const { getFormState } = useServerFunctions()\n\n const schemaFieldsPath =\n schemaFieldsPathOverride ??\n `${schemaPath}.lexical_internal_feature.${featureKey}${schemaPathSuffix ? `.${schemaPathSuffix}` : ''}`\n\n const fields: any = fieldMapOverride ?? featureClientSchemaMap[featureKey]?.[schemaFieldsPath] // Field Schema\n\n useEffect(() => {\n const controller = new AbortController()\n\n const awaitInitialState = async () => {\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: data ?? {},\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n globalSlug,\n initialBlockData: data,\n operation: 'update',\n readOnly: !isEditable,\n renderAllFields: true,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n setInitialState(state)\n }\n\n void awaitInitialState()\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [\n schemaFieldsPath,\n id,\n data,\n getFormState,\n collectionSlug,\n isEditable,\n globalSlug,\n getDocPreferences,\n parentDocumentFields,\n ])\n\n const onChange = useCallback(\n async ({ formState: prevFormState }: { formState: FormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n docPermissions: {\n fields: true,\n },\n docPreferences: await getDocPreferences(),\n documentFormState: deepCopyObjectSimpleWithoutReactComponents(parentDocumentFields, {\n excludeFiles: true,\n }),\n formState: prevFormState,\n globalSlug,\n initialBlockFormState: prevFormState,\n operation: 'update',\n readOnly: !isEditable,\n schemaPath: schemaFieldsPath,\n signal: controller.signal,\n })\n\n if (!state) {\n return prevFormState\n }\n\n return state\n },\n [\n getFormState,\n id,\n isEditable,\n collectionSlug,\n getDocPreferences,\n parentDocumentFields,\n globalSlug,\n schemaFieldsPath,\n ],\n )\n\n // cleanup effect\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n if (initialState === false) {\n return null\n }\n\n return (\n <Form\n beforeSubmit={[onChange]}\n className=\"fields-drawer\"\n disableValidationOnSubmit\n fields={Array.isArray(fields) ? fields : []}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={handleDrawerSubmit}\n uuid={uuid()}\n >\n <RenderFields\n fields={Array.isArray(fields) ? fields : []}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\" // See Blocks feature path for details as for why this is empty\n parentSchemaPath={schemaFieldsPath}\n permissions={true}\n readOnly={!isEditable}\n />\n <RegisterFormSubmit submitRef={submitRef} />\n </Form>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,kBAAkB,QAAQ;AACnC,SACEC,IAAI,EACJC,YAAY,EACZC,eAAe,EACfC,eAAe,EACfC,kBAAkB,QACb;AACP,SAASC,cAAc,QAAQ;AAC/B,SAASC,0CAA0C,QAAQ;AAC3D,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAChE,SAASC,EAAA,IAAMC,IAAI,QAAQ;AAI3B,SAASC,sBAAsB,QAAQ;AACvC,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,OAAO,MAAMC,aAAA,GAITA,CAAC;EACHC,IAAI;EACJC,UAAU;EACVC,gBAAgB;EAChBC,kBAAkB;EAClBC,wBAAwB;EACxBC,UAAU;EACVC,gBAAgB;EAChBC;AAAS,CACV;EACC,MAAM;IAAEC,EAAE;IAAEC,cAAc;IAAEC,iBAAiB;IAAEC;EAAU,CAAE,GAAGzB,eAAA;EAC9D,MAAM;IAAE0B,MAAA,EAAQC;EAAoB,CAAE,GAAG5B,eAAA;EACzC,MAAM6B,UAAA,GAAahC,kBAAA;EAEnB,MAAMiC,0BAAA,GAA6BtB,MAAA,CAAO,IAAIuB,eAAA;EAE9C,MAAM,CAACC,YAAA,EAAcC,eAAA,CAAgB,GAAGxB,QAAA,CAAwC;EAEhF,MAAM;IACJyB,UAAA,EAAY;MAAEC;IAAsB;EAAE,CACvC,GAAGvB,sBAAA;EAEJ,MAAM;IAAEwB;EAAY,CAAE,GAAGlC,kBAAA;EAEzB,MAAMmC,gBAAA,GACJlB,wBAAA,IACA,GAAGC,UAAA,6BAAuCJ,UAAA,GAAaK,gBAAA,GAAmB,IAAIA,gBAAA,EAAkB,GAAG,IAAI;EAEzG,MAAMM,MAAA,GAAcV,gBAAA,IAAoBkB,sBAAsB,CAACnB,UAAA,CAAW,GAAGqB,gBAAA,CAAiB,CAAC;AAAA;EAE/F9B,SAAA,CAAU;IACR,MAAM+B,UAAA,GAAa,IAAIP,eAAA;IAEvB,MAAMQ,iBAAA,GAAoB,MAAAA,CAAA;MACxB,MAAM;QAAEC;MAAK,CAAE,GAAG,MAAMJ,YAAA,CAAa;QACnCb,EAAA;QACAC,cAAA;QACAT,IAAA,EAAMA,IAAA,IAAQ,CAAC;QACf0B,cAAA,EAAgB;UACdd,MAAA,EAAQ;QACV;QACAe,cAAA,EAAgB,MAAMjB,iBAAA;QACtBkB,iBAAA,EAAmBvC,0CAAA,CAA2CwB,oBAAA,EAAsB;UAClFgB,YAAA,EAAc;QAChB;QACAlB,UAAA;QACAmB,gBAAA,EAAkB9B,IAAA;QAClB+B,SAAA,EAAW;QACXC,QAAA,EAAU,CAAClB,UAAA;QACXmB,eAAA,EAAiB;QACjB5B,UAAA,EAAYiB,gBAAA;QACZY,MAAA,EAAQX,UAAA,CAAWW;MACrB;MAEAhB,eAAA,CAAgBO,KAAA;IAClB;IAEA,KAAKD,iBAAA;IAEL,OAAO;MACLpC,cAAA,CAAemC,UAAA;IACjB;EACF,GAAG,CACDD,gBAAA,EACAd,EAAA,EACAR,IAAA,EACAqB,YAAA,EACAZ,cAAA,EACAK,UAAA,EACAH,UAAA,EACAD,iBAAA,EACAG,oBAAA,CACD;EAED,MAAMsB,QAAA,GAAW5C,WAAA,CACf,OAAO;IAAE6C,SAAA,EAAWC;EAAa,CAA4B;IAC3DjD,cAAA,CAAe2B,0BAAA,CAA2BuB,OAAO;IAEjD,MAAMf,YAAA,GAAa,IAAIP,eAAA;IACvBD,0BAAA,CAA2BuB,OAAO,GAAGf,YAAA;IAErC,MAAM;MAAEE,KAAK,EAALA;IAAK,CAAE,GAAG,MAAMJ,YAAA,CAAa;MACnCb,EAAA;MACAC,cAAA;MACAiB,cAAA,EAAgB;QACdd,MAAA,EAAQ;MACV;MACAe,cAAA,EAAgB,MAAMjB,iBAAA;MACtBkB,iBAAA,EAAmBvC,0CAAA,CAA2CwB,oBAAA,EAAsB;QAClFgB,YAAA,EAAc;MAChB;MACAO,SAAA,EAAWC,aAAA;MACX1B,UAAA;MACA4B,qBAAA,EAAuBF,aAAA;MACvBN,SAAA,EAAW;MACXC,QAAA,EAAU,CAAClB,UAAA;MACXT,UAAA,EAAYiB,gBAAA;MACZY,MAAA,EAAQX,YAAA,CAAWW;IACrB;IAEA,IAAI,CAACT,OAAA,EAAO;MACV,OAAOY,aAAA;IACT;IAEA,OAAOZ,OAAA;EACT,GACA,CACEJ,YAAA,EACAb,EAAA,EACAM,UAAA,EACAL,cAAA,EACAC,iBAAA,EACAG,oBAAA,EACAF,UAAA,EACAW,gBAAA,CACD;EAGH;EACA9B,SAAA,CAAU;IACR,OAAO;MACLJ,cAAA,CAAe2B,0BAAA,CAA2BuB,OAAO;IACnD;EACF,GAAG,EAAE;EAEL,IAAIrB,YAAA,KAAiB,OAAO;IAC1B,OAAO;EACT;EAEA,oBACEuB,KAAA,CAACzD,IAAA;IACC0D,YAAA,EAAc,CAACN,QAAA,CAAS;IACxBO,SAAA,EAAU;IACVC,yBAAyB;IACzB/B,MAAA,EAAQgC,KAAA,CAAMC,OAAO,CAACjC,MAAA,IAAUA,MAAA,GAAS,EAAE;IAC3CK,YAAA,EAAcA,YAAA;IACdkB,QAAA,EAAU,CAACA,QAAA,CAAS;IACpBW,QAAA,EAAU3C,kBAAA;IACVP,IAAA,EAAMA,IAAA;4BAENmD,IAAA,CAAC/D,YAAA;MACC4B,MAAA,EAAQgC,KAAA,CAAMC,OAAO,CAACjC,MAAA,IAAUA,MAAA,GAAS,EAAE;MAC3CoC,WAAW;MACXC,eAAA,EAAgB;MAChBC,UAAA,EAAW;MACXC,gBAAA,EAAkB7B,gBAAA;MAClB8B,WAAA,EAAa;MACbpB,QAAA,EAAU,CAAClB;qBAEbiC,IAAA,CAACjD,kBAAA;MAAmBS,SAAA,EAAWA;;;AAGrC","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ @layer payload-default {
2
+ .fields-drawer {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: var(--spacer-3);
6
+ padding: var(--spacer-4);
7
+
8
+ @media (max-width: 768px) {
9
+ padding: var(--spacer-3);
10
+ }
11
+ }
12
+
13
+ .fields-drawer .radio-group .field-description {
14
+ margin-top: var(--spacer-2);
15
+ }
16
+ }
@@ -0,0 +1,29 @@
1
+ import type { FC } from 'react';
2
+ import type React from 'react';
3
+ /**
4
+ * Shared logic for drawers that render their submit button in the drawer header.
5
+ *
6
+ * The header's `onClick` is defined outside the `Form` provider, so it cannot call
7
+ * `useForm().submit()` directly. This hook owns a ref to the form's `submit` function,
8
+ * which is populated from inside the form via `<RegisterFormSubmit submitRef={submitRef} />`.
9
+ *
10
+ * Returns the `headerActions` array to spread onto a `Drawer` and the `submitRef`
11
+ * to pass to `RegisterFormSubmit`.
12
+ */
13
+ export declare const useDrawerSubmit: () => {
14
+ headerActions: {
15
+ label: string;
16
+ onClick: () => void | undefined;
17
+ style: "primary";
18
+ }[];
19
+ submitRef: React.RefObject<(() => void) | null>;
20
+ };
21
+ /**
22
+ * Mounts inside a `<Form>` to populate `submitRef` (from `useDrawerSubmit`) with the form's
23
+ * `submit` function, allowing drawer header actions rendered outside the form's React tree
24
+ * to trigger submission.
25
+ */
26
+ export declare const RegisterFormSubmit: FC<{
27
+ submitRef: React.RefObject<(() => void) | null>;
28
+ }>;
29
+ //# sourceMappingURL=useDrawerSubmit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrawerSubmit.d.ts","sourceRoot":"","sources":["../../../src/utilities/fieldsDrawer/useDrawerSubmit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;sCAEM,IAAI;CAcrC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC;IAClC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;CAChD,CAWA,CAAA"}
@@ -0,0 +1,97 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { useForm, useTranslation } from '@payloadcms/ui';
5
+ import { useEffect, useMemo, useRef } from 'react';
6
+ /**
7
+ * Shared logic for drawers that render their submit button in the drawer header.
8
+ *
9
+ * The header's `onClick` is defined outside the `Form` provider, so it cannot call
10
+ * `useForm().submit()` directly. This hook owns a ref to the form's `submit` function,
11
+ * which is populated from inside the form via `<RegisterFormSubmit submitRef={submitRef} />`.
12
+ *
13
+ * Returns the `headerActions` array to spread onto a `Drawer` and the `submitRef`
14
+ * to pass to `RegisterFormSubmit`.
15
+ */
16
+ export const useDrawerSubmit = () => {
17
+ const $ = _c(7);
18
+ const {
19
+ t
20
+ } = useTranslation();
21
+ const submitRef = useRef(null);
22
+ let t0;
23
+ if ($[0] !== t) {
24
+ t0 = t("fields:saveChanges");
25
+ $[0] = t;
26
+ $[1] = t0;
27
+ } else {
28
+ t0 = $[1];
29
+ }
30
+ let t1;
31
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
32
+ t1 = () => submitRef.current?.();
33
+ $[2] = t1;
34
+ } else {
35
+ t1 = $[2];
36
+ }
37
+ let t2;
38
+ if ($[3] !== t0) {
39
+ t2 = [{
40
+ label: t0,
41
+ onClick: t1,
42
+ style: "primary"
43
+ }];
44
+ $[3] = t0;
45
+ $[4] = t2;
46
+ } else {
47
+ t2 = $[4];
48
+ }
49
+ const headerActions = t2;
50
+ let t3;
51
+ if ($[5] !== headerActions) {
52
+ t3 = {
53
+ headerActions,
54
+ submitRef
55
+ };
56
+ $[5] = headerActions;
57
+ $[6] = t3;
58
+ } else {
59
+ t3 = $[6];
60
+ }
61
+ return t3;
62
+ };
63
+ /**
64
+ * Mounts inside a `<Form>` to populate `submitRef` (from `useDrawerSubmit`) with the form's
65
+ * `submit` function, allowing drawer header actions rendered outside the form's React tree
66
+ * to trigger submission.
67
+ */
68
+ export const RegisterFormSubmit = t0 => {
69
+ const $ = _c(4);
70
+ const {
71
+ submitRef
72
+ } = t0;
73
+ const {
74
+ submit
75
+ } = useForm();
76
+ let t1;
77
+ let t2;
78
+ if ($[0] !== submit || $[1] !== submitRef) {
79
+ t1 = () => {
80
+ submitRef.current = () => void submit();
81
+ return () => {
82
+ submitRef.current = null;
83
+ };
84
+ };
85
+ t2 = [submit, submitRef];
86
+ $[0] = submit;
87
+ $[1] = submitRef;
88
+ $[2] = t1;
89
+ $[3] = t2;
90
+ } else {
91
+ t1 = $[2];
92
+ t2 = $[3];
93
+ }
94
+ useEffect(t1, t2);
95
+ return null;
96
+ };
97
+ //# sourceMappingURL=useDrawerSubmit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrawerSubmit.js","names":["c","_c","useForm","useTranslation","useEffect","useMemo","useRef","useDrawerSubmit","$","t","submitRef","t0","t1","Symbol","for","current","t2","label","onClick","style","headerActions","t3","RegisterFormSubmit","submit"],"sources":["../../../src/utilities/fieldsDrawer/useDrawerSubmit.ts"],"sourcesContent":["'use client'\nimport type { FC } from 'react'\nimport type React from 'react'\n\nimport { useForm, useTranslation } from '@payloadcms/ui'\nimport { useEffect, useMemo, useRef } from 'react'\n\n/**\n * Shared logic for drawers that render their submit button in the drawer header.\n *\n * The header's `onClick` is defined outside the `Form` provider, so it cannot call\n * `useForm().submit()` directly. This hook owns a ref to the form's `submit` function,\n * which is populated from inside the form via `<RegisterFormSubmit submitRef={submitRef} />`.\n *\n * Returns the `headerActions` array to spread onto a `Drawer` and the `submitRef`\n * to pass to `RegisterFormSubmit`.\n */\nexport const useDrawerSubmit = () => {\n const { t } = useTranslation()\n const submitRef = useRef<(() => void) | null>(null)\n\n const headerActions = useMemo(\n () => [\n {\n label: t('fields:saveChanges'),\n onClick: () => submitRef.current?.(),\n style: 'primary' as const,\n },\n ],\n [t],\n )\n\n return { headerActions, submitRef }\n}\n\n/**\n * Mounts inside a `<Form>` to populate `submitRef` (from `useDrawerSubmit`) with the form's\n * `submit` function, allowing drawer header actions rendered outside the form's React tree\n * to trigger submission.\n */\nexport const RegisterFormSubmit: FC<{\n submitRef: React.RefObject<(() => void) | null>\n}> = ({ submitRef }) => {\n const { submit } = useForm()\n\n useEffect(() => {\n submitRef.current = () => void submit()\n return () => {\n submitRef.current = null\n }\n }, [submit, submitRef])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,OAAO,EAAEC,cAAc,QAAQ;AACxC,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ;AAE3C;;;;;;;;;;AAUA,OAAO,MAAMC,eAAA,GAAkBA,CAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAC7B;IAAAQ;EAAA,IAAcN,cAAA;EACd,MAAAO,SAAA,GAAkBJ,MAAA,KAA4B;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAC,CAAA;IAKjCE,EAAA,GAAAF,CAAA,CAAE;IAAAD,CAAA,MAAAC,CAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IACAF,EAAA,GAAAA,CAAA,KAAMF,SAAA,CAAAK,OAAA;IAAiBP,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAG,EAAA;IAH9BK,EAAA;MAAAC,KAAA,EAEKN,EAAE;MAAAO,OAAA,EACAN,EAAuB;MAAAO,KAAA,EACzB;IAAA;IAEVX,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAPH,MAAAY,aAAA,GACQJ,EAML;EACE,IAAAK,EAAA;EAAA,IAAAb,CAAA,QAAAY,aAAA;IAGEC,EAAA;MAAAD,aAAA;MAAAV;IAAA;IAA2BF,CAAA,MAAAY,aAAA;IAAAZ,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAA,OAA3Ba,EAA2B;AAAA,CACpC;AAEA;;;;;AAKA,OAAO,MAAMC,kBAAA,GAERX,EAAA;EAAA,MAAAH,CAAA,GAAAP,EAAA;EAAC;IAAAS;EAAA,IAAAC,EAAa;EACjB;IAAAY;EAAA,IAAmBrB,OAAA;EAAA,IAAAU,EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAR,CAAA,QAAAe,MAAA,IAAAf,CAAA,QAAAE,SAAA;IAETE,EAAA,GAAAA,CAAA;MACRF,SAAA,CAAAK,OAAA,cAA+BQ,MAAA;MAAA;QAE7Bb,SAAA,CAAAK,OAAA;MAAA;IAAA;IAEDC,EAAA,IAACO,MAAA,EAAQb,SAAA;IAAUF,CAAA,MAAAe,MAAA;IAAAf,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAJ,EAAA,GAAAJ,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EALtBJ,SAAA,CAAUQ,EAKV,EAAGI,EAAmB;EAAA;AAAA,CAGxB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"generateImportMap.d.ts","sourceRoot":"","sources":["../../src/utilities/generateImportMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,eAAO,MAAM,oBAAoB,GAC9B,MAAM;IACL,iBAAiB,CAAC,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,wBAAwB,CAAA;CAC7C,KAAG,eAAe,CAAC,mBAAmB,CAiDtC,CAAA"}
1
+ {"version":3,"file":"generateImportMap.d.ts","sourceRoot":"","sources":["../../src/utilities/generateImportMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,eAAO,MAAM,oBAAoB,GAC9B,MAAM;IACL,iBAAiB,CAAC,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,wBAAwB,CAAA;CAC7C,KAAG,eAAe,CAAC,mBAAmB,CAoDtC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { genImportMapIterateFields } from 'payload';
2
+ import { isRSCEnabled } from 'payload/shared';
2
3
  export const getGenerateImportMap = args => ({
3
4
  addToImportMap,
4
5
  baseDir,
@@ -6,9 +7,12 @@ export const getGenerateImportMap = args => ({
6
7
  importMap,
7
8
  imports
8
9
  }) => {
9
- addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell');
10
- addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalField');
11
- addToImportMap('@payloadcms/richtext-lexical/rsc#LexicalDiffComponent');
10
+ if (isRSCEnabled()) {
11
+ addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell');
12
+ addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalField');
13
+ addToImportMap('@payloadcms/richtext-lexical/rsc#LexicalDiffComponent');
14
+ }
15
+ addToImportMap('@payloadcms/richtext-lexical/client#ClientEntryLexicalField');
12
16
  addToImportMap(args.lexicalEditorArgs?.views);
13
17
  for (const resolvedFeature of args.resolvedFeatureMap.values()) {
14
18
  if ('componentImports' in resolvedFeature) {
@@ -1 +1 @@
1
- {"version":3,"file":"generateImportMap.js","names":["genImportMapIterateFields","getGenerateImportMap","args","addToImportMap","baseDir","config","importMap","imports","lexicalEditorArgs","views","resolvedFeature","resolvedFeatureMap","values","componentImports","Array","isArray","Object","ClientFeature","nodes","length","node","getSubFields","subFields","fields"],"sources":["../../src/utilities/generateImportMap.tsx"],"sourcesContent":["import type { RichTextAdapter } from 'payload'\n\nimport { genImportMapIterateFields } from 'payload'\n\nimport type { ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { LexicalEditorProps } from '../types/index.js'\n\nexport const getGenerateImportMap =\n (args: {\n lexicalEditorArgs?: LexicalEditorProps\n resolvedFeatureMap: ResolvedServerFeatureMap\n }): RichTextAdapter['generateImportMap'] =>\n ({ addToImportMap, baseDir, config, importMap, imports }) => {\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell')\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalField')\n addToImportMap('@payloadcms/richtext-lexical/rsc#LexicalDiffComponent')\n\n addToImportMap(args.lexicalEditorArgs?.views)\n\n for (const resolvedFeature of args.resolvedFeatureMap.values()) {\n if ('componentImports' in resolvedFeature) {\n if (typeof resolvedFeature.componentImports === 'function') {\n resolvedFeature.componentImports({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n } else if (Array.isArray(resolvedFeature.componentImports)) {\n addToImportMap(resolvedFeature.componentImports)\n } else if (typeof resolvedFeature.componentImports === 'object') {\n addToImportMap(Object.values(resolvedFeature.componentImports))\n }\n }\n\n addToImportMap(resolvedFeature.ClientFeature)\n\n /*\n * Now run for all possible sub-fields\n */\n if (resolvedFeature.nodes?.length) {\n for (const node of resolvedFeature.nodes) {\n if (typeof node?.getSubFields !== 'function') {\n continue\n }\n const subFields = node.getSubFields({})\n if (subFields?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: subFields,\n importMap,\n imports,\n })\n }\n }\n }\n }\n }\n"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ;AAK1C,OAAO,MAAMC,oBAAA,GACVC,IAAA,IAID,CAAC;EAAEC,cAAc;EAAEC,OAAO;EAAEC,MAAM;EAAEC,SAAS;EAAEC;AAAO,CAAE;EACtDJ,cAAA,CAAe;EACfA,cAAA,CAAe;EACfA,cAAA,CAAe;EAEfA,cAAA,CAAeD,IAAA,CAAKM,iBAAiB,EAAEC,KAAA;EAEvC,KAAK,MAAMC,eAAA,IAAmBR,IAAA,CAAKS,kBAAkB,CAACC,MAAM,IAAI;IAC9D,IAAI,sBAAsBF,eAAA,EAAiB;MACzC,IAAI,OAAOA,eAAA,CAAgBG,gBAAgB,KAAK,YAAY;QAC1DH,eAAA,CAAgBG,gBAAgB,CAAC;UAC/BV,cAAA;UACAC,OAAA;UACAC,MAAA;UACAC,SAAA;UACAC;QACF;MACF,OAAO,IAAIO,KAAA,CAAMC,OAAO,CAACL,eAAA,CAAgBG,gBAAgB,GAAG;QAC1DV,cAAA,CAAeO,eAAA,CAAgBG,gBAAgB;MACjD,OAAO,IAAI,OAAOH,eAAA,CAAgBG,gBAAgB,KAAK,UAAU;QAC/DV,cAAA,CAAea,MAAA,CAAOJ,MAAM,CAACF,eAAA,CAAgBG,gBAAgB;MAC/D;IACF;IAEAV,cAAA,CAAeO,eAAA,CAAgBO,aAAa;IAE5C;;;IAGA,IAAIP,eAAA,CAAgBQ,KAAK,EAAEC,MAAA,EAAQ;MACjC,KAAK,MAAMC,IAAA,IAAQV,eAAA,CAAgBQ,KAAK,EAAE;QACxC,IAAI,OAAOE,IAAA,EAAMC,YAAA,KAAiB,YAAY;UAC5C;QACF;QACA,MAAMC,SAAA,GAAYF,IAAA,CAAKC,YAAY,CAAC,CAAC;QACrC,IAAIC,SAAA,EAAWH,MAAA,EAAQ;UACrBnB,yBAAA,CAA0B;YACxBG,cAAA;YACAC,OAAA;YACAC,MAAA;YACAkB,MAAA,EAAQD,SAAA;YACRhB,SAAA;YACAC;UACF;QACF;MACF;IACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"generateImportMap.js","names":["genImportMapIterateFields","isRSCEnabled","getGenerateImportMap","args","addToImportMap","baseDir","config","importMap","imports","lexicalEditorArgs","views","resolvedFeature","resolvedFeatureMap","values","componentImports","Array","isArray","Object","ClientFeature","nodes","length","node","getSubFields","subFields","fields"],"sources":["../../src/utilities/generateImportMap.tsx"],"sourcesContent":["import type { RichTextAdapter } from 'payload'\n\nimport { genImportMapIterateFields } from 'payload'\nimport { isRSCEnabled } from 'payload/shared'\n\nimport type { ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { LexicalEditorProps } from '../types/index.js'\n\nexport const getGenerateImportMap =\n (args: {\n lexicalEditorArgs?: LexicalEditorProps\n resolvedFeatureMap: ResolvedServerFeatureMap\n }): RichTextAdapter['generateImportMap'] =>\n ({ addToImportMap, baseDir, config, importMap, imports }) => {\n if (isRSCEnabled()) {\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell')\n addToImportMap('@payloadcms/richtext-lexical/rsc#RscEntryLexicalField')\n addToImportMap('@payloadcms/richtext-lexical/rsc#LexicalDiffComponent')\n }\n addToImportMap('@payloadcms/richtext-lexical/client#ClientEntryLexicalField')\n\n addToImportMap(args.lexicalEditorArgs?.views)\n\n for (const resolvedFeature of args.resolvedFeatureMap.values()) {\n if ('componentImports' in resolvedFeature) {\n if (typeof resolvedFeature.componentImports === 'function') {\n resolvedFeature.componentImports({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n } else if (Array.isArray(resolvedFeature.componentImports)) {\n addToImportMap(resolvedFeature.componentImports)\n } else if (typeof resolvedFeature.componentImports === 'object') {\n addToImportMap(Object.values(resolvedFeature.componentImports))\n }\n }\n\n addToImportMap(resolvedFeature.ClientFeature)\n\n /*\n * Now run for all possible sub-fields\n */\n if (resolvedFeature.nodes?.length) {\n for (const node of resolvedFeature.nodes) {\n if (typeof node?.getSubFields !== 'function') {\n continue\n }\n const subFields = node.getSubFields({})\n if (subFields?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: subFields,\n importMap,\n imports,\n })\n }\n }\n }\n }\n }\n"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ;AAC1C,SAASC,YAAY,QAAQ;AAK7B,OAAO,MAAMC,oBAAA,GACVC,IAAA,IAID,CAAC;EAAEC,cAAc;EAAEC,OAAO;EAAEC,MAAM;EAAEC,SAAS;EAAEC;AAAO,CAAE;EACtD,IAAIP,YAAA,IAAgB;IAClBG,cAAA,CAAe;IACfA,cAAA,CAAe;IACfA,cAAA,CAAe;EACjB;EACAA,cAAA,CAAe;EAEfA,cAAA,CAAeD,IAAA,CAAKM,iBAAiB,EAAEC,KAAA;EAEvC,KAAK,MAAMC,eAAA,IAAmBR,IAAA,CAAKS,kBAAkB,CAACC,MAAM,IAAI;IAC9D,IAAI,sBAAsBF,eAAA,EAAiB;MACzC,IAAI,OAAOA,eAAA,CAAgBG,gBAAgB,KAAK,YAAY;QAC1DH,eAAA,CAAgBG,gBAAgB,CAAC;UAC/BV,cAAA;UACAC,OAAA;UACAC,MAAA;UACAC,SAAA;UACAC;QACF;MACF,OAAO,IAAIO,KAAA,CAAMC,OAAO,CAACL,eAAA,CAAgBG,gBAAgB,GAAG;QAC1DV,cAAA,CAAeO,eAAA,CAAgBG,gBAAgB;MACjD,OAAO,IAAI,OAAOH,eAAA,CAAgBG,gBAAgB,KAAK,UAAU;QAC/DV,cAAA,CAAea,MAAA,CAAOJ,MAAM,CAACF,eAAA,CAAgBG,gBAAgB;MAC/D;IACF;IAEAV,cAAA,CAAeO,eAAA,CAAgBO,aAAa;IAE5C;;;IAGA,IAAIP,eAAA,CAAgBQ,KAAK,EAAEC,MAAA,EAAQ;MACjC,KAAK,MAAMC,IAAA,IAAQV,eAAA,CAAgBQ,KAAK,EAAE;QACxC,IAAI,OAAOE,IAAA,EAAMC,YAAA,KAAiB,YAAY;UAC5C;QACF;QACA,MAAMC,SAAA,GAAYF,IAAA,CAAKC,YAAY,CAAC,CAAC;QACrC,IAAIC,SAAA,EAAWH,MAAA,EAAQ;UACrBpB,yBAAA,CAA0B;YACxBI,cAAA;YACAC,OAAA;YACAC,MAAA;YACAkB,MAAA,EAAQD,SAAA;YACRhB,SAAA;YACAC;UACF;QACF;MACF;IACF;EACF;AACF","ignoreList":[]}
@@ -37,7 +37,7 @@ export const upgradeDocumentFieldsRecursively = ({
37
37
  if (field.type === 'blocks') {
38
38
  data[field.name].forEach(row => {
39
39
  const blockTypeToMatch = row?.blockType;
40
- const block = payload.blocks[blockTypeToMatch] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === blockTypeToMatch);
40
+ const block = payload.blocks[blockTypeToMatch] ?? field.blocks.find(block => typeof block !== 'string' && block.slug === blockTypeToMatch);
41
41
  if (block) {
42
42
  found += upgradeDocumentFieldsRecursively({
43
43
  data: row,
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeDocumentFieldsRecursively.js","names":["createHeadlessEditor","fieldAffectsData","fieldHasSubFields","fieldIsArrayType","tabHasName","getEnabledNodes","upgradeDocumentFieldsRecursively","data","fields","found","payload","field","name","type","tabs","forEach","tab","Array","isArray","row","blockTypeToMatch","blockType","block","blocks","blockReferences","find","slug","editor","features","length","editorState","headlessEditor","nodes","editorConfig","update","setEditorState","parseEditorState","discrete","getEditorState","toJSON"],"sources":["../../../src/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field, FlattenedBlock, Payload } from 'payload'\n\nimport { createHeadlessEditor } from '@lexical/headless'\nimport { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'\n\nimport type { LexicalRichTextAdapter } from '../../types/index.js'\n\nimport { getEnabledNodes } from '../../lexical/nodes/index.js'\n\ntype NestedRichTextFieldsArgs = {\n data: Record<string, unknown>\n\n fields: Field[]\n found: number\n payload: Payload\n}\n\nexport const upgradeDocumentFieldsRecursively = ({\n data,\n fields,\n found,\n payload,\n}: NestedRichTextFieldsArgs): number => {\n for (const field of fields) {\n if (fieldHasSubFields(field) && !fieldIsArrayType(field)) {\n if (fieldAffectsData(field) && typeof data[field.name] === 'object') {\n found += upgradeDocumentFieldsRecursively({\n data: data[field.name] as Record<string, unknown>,\n fields: field.fields,\n found,\n payload,\n })\n } else {\n found += upgradeDocumentFieldsRecursively({\n data,\n fields: field.fields,\n found,\n payload,\n })\n }\n } else if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n found += upgradeDocumentFieldsRecursively({\n data: (tabHasName(tab) ? data[tab.name] : data) as Record<string, unknown>,\n fields: tab.fields,\n found,\n payload,\n })\n })\n } else if (Array.isArray(data[field.name])) {\n if (field.type === 'blocks') {\n ;(data[field.name] as Record<string, unknown>[]).forEach((row) => {\n const blockTypeToMatch: string = row?.blockType as string\n\n const block =\n payload.blocks[blockTypeToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (block) {\n found += upgradeDocumentFieldsRecursively({\n data: row,\n fields: block.fields,\n found,\n payload,\n })\n }\n })\n }\n\n if (field.type === 'array') {\n ;(data[field.name] as Record<string, unknown>[]).forEach((row) => {\n found += upgradeDocumentFieldsRecursively({\n data: row,\n fields: field.fields,\n found,\n payload,\n })\n })\n }\n }\n\n if (\n field.type === 'richText' &&\n data[field.name] &&\n !Array.isArray(data[field.name]) &&\n 'root' in (data[field.name] as Record<string, unknown>)\n ) {\n // Lexical richText\n const editor: LexicalRichTextAdapter = field.editor as LexicalRichTextAdapter\n if (editor && typeof editor === 'object') {\n if ('features' in editor && editor.features?.length) {\n // Load lexical editor into lexical, then save it immediately\n const editorState = data[field.name] as SerializedEditorState\n\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodes({\n editorConfig: editor.editorConfig,\n }),\n })\n headlessEditor.update(\n () => {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(editorState))\n },\n { discrete: true },\n )\n\n // get editor state\n data[field.name] = headlessEditor.getEditorState().toJSON()\n\n found++\n }\n }\n }\n }\n\n return found\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"upgradeDocumentFieldsRecursively.js","names":["createHeadlessEditor","fieldAffectsData","fieldHasSubFields","fieldIsArrayType","tabHasName","getEnabledNodes","upgradeDocumentFieldsRecursively","data","fields","found","payload","field","name","type","tabs","forEach","tab","Array","isArray","row","blockTypeToMatch","blockType","block","blocks","find","slug","editor","features","length","editorState","headlessEditor","nodes","editorConfig","update","setEditorState","parseEditorState","discrete","getEditorState","toJSON"],"sources":["../../../src/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field, FlattenedBlock, Payload } from 'payload'\n\nimport { createHeadlessEditor } from '@lexical/headless'\nimport { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'\n\nimport type { LexicalRichTextAdapter } from '../../types/index.js'\n\nimport { getEnabledNodes } from '../../lexical/nodes/index.js'\n\ntype NestedRichTextFieldsArgs = {\n data: Record<string, unknown>\n\n fields: Field[]\n found: number\n payload: Payload\n}\n\nexport const upgradeDocumentFieldsRecursively = ({\n data,\n fields,\n found,\n payload,\n}: NestedRichTextFieldsArgs): number => {\n for (const field of fields) {\n if (fieldHasSubFields(field) && !fieldIsArrayType(field)) {\n if (fieldAffectsData(field) && typeof data[field.name] === 'object') {\n found += upgradeDocumentFieldsRecursively({\n data: data[field.name] as Record<string, unknown>,\n fields: field.fields,\n found,\n payload,\n })\n } else {\n found += upgradeDocumentFieldsRecursively({\n data,\n fields: field.fields,\n found,\n payload,\n })\n }\n } else if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n found += upgradeDocumentFieldsRecursively({\n data: (tabHasName(tab) ? data[tab.name] : data) as Record<string, unknown>,\n fields: tab.fields,\n found,\n payload,\n })\n })\n } else if (Array.isArray(data[field.name])) {\n if (field.type === 'blocks') {\n ;(data[field.name] as Record<string, unknown>[]).forEach((row) => {\n const blockTypeToMatch: string = row?.blockType as string\n\n const block =\n payload.blocks[blockTypeToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (block) {\n found += upgradeDocumentFieldsRecursively({\n data: row,\n fields: block.fields,\n found,\n payload,\n })\n }\n })\n }\n\n if (field.type === 'array') {\n ;(data[field.name] as Record<string, unknown>[]).forEach((row) => {\n found += upgradeDocumentFieldsRecursively({\n data: row,\n fields: field.fields,\n found,\n payload,\n })\n })\n }\n }\n\n if (\n field.type === 'richText' &&\n data[field.name] &&\n !Array.isArray(data[field.name]) &&\n 'root' in (data[field.name] as Record<string, unknown>)\n ) {\n // Lexical richText\n const editor: LexicalRichTextAdapter = field.editor as LexicalRichTextAdapter\n if (editor && typeof editor === 'object') {\n if ('features' in editor && editor.features?.length) {\n // Load lexical editor into lexical, then save it immediately\n const editorState = data[field.name] as SerializedEditorState\n\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodes({\n editorConfig: editor.editorConfig,\n }),\n })\n headlessEditor.update(\n () => {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(editorState))\n },\n { discrete: true },\n )\n\n // get editor state\n data[field.name] = headlessEditor.getEditorState().toJSON()\n\n found++\n }\n }\n }\n }\n\n return found\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/richtext-lexical",
3
- "version": "4.0.0-internal.5f0cd13",
3
+ "version": "4.0.0-internal.688c4d0",
4
4
  "description": "The officially supported Lexical richtext adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -59,8 +59,9 @@
59
59
  "default": "./dist/exports/plaintext/index.js"
60
60
  },
61
61
  "./rsc": {
62
- "import": "./dist/exports/server/rsc.js",
63
62
  "types": "./dist/exports/server/rsc.d.ts",
63
+ "browser": "./dist/exports/server/rsc.browser.js",
64
+ "import": "./dist/exports/server/rsc.js",
64
65
  "default": "./dist/exports/server/rsc.js"
65
66
  },
66
67
  "./lexical": {
@@ -373,8 +374,8 @@
373
374
  "react-error-boundary": "6.1.1",
374
375
  "ts-essentials": "10.0.3",
375
376
  "uuid": "14.0.0",
376
- "@payloadcms/translations": "4.0.0-internal.5f0cd13",
377
- "@payloadcms/ui": "4.0.0-internal.5f0cd13"
377
+ "@payloadcms/translations": "4.0.0-internal.688c4d0",
378
+ "@payloadcms/ui": "4.0.0-internal.688c4d0"
378
379
  },
379
380
  "devDependencies": {
380
381
  "@babel/cli": "7.27.2",
@@ -393,16 +394,16 @@
393
394
  "esbuild": "0.27.1",
394
395
  "esbuild-sass-plugin": "3.3.1",
395
396
  "swc-plugin-transform-remove-imports": "8.3.0",
396
- "payload": "4.0.0-internal.5f0cd13",
397
- "@payloadcms/eslint-config": "3.28.0"
397
+ "@payloadcms/eslint-config": "3.28.0",
398
+ "payload": "4.0.0-internal.688c4d0"
398
399
  },
399
400
  "peerDependencies": {
400
401
  "@faceless-ui/modal": "3.0.0",
401
402
  "@faceless-ui/scroll-info": "2.0.0",
402
403
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
403
404
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
404
- "@payloadcms/next": "4.0.0-internal.5f0cd13",
405
- "payload": "4.0.0-internal.5f0cd13"
405
+ "payload": "4.0.0-internal.688c4d0",
406
+ "@payloadcms/next": "4.0.0-internal.688c4d0"
406
407
  },
407
408
  "engines": {
408
409
  "node": ">=24.15.0"