@payloadcms/ui 3.0.0-beta.77 → 3.0.0-beta.79
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.
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -2
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/AppHeader/index.scss +5 -3
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +1 -1
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Card/index.scss +3 -3
- package/dist/elements/Collapsible/index.scss +4 -1
- package/dist/elements/ColumnSelector/index.d.ts +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +2 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +1 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.scss +1 -0
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +1 -1
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +1 -0
- package/dist/elements/DocumentControls/index.d.ts +10 -10
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +11 -13
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +18 -7
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +6 -5
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +10 -10
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts +9 -9
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +6 -5
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +6 -6
- package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +7 -7
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +1 -2
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.scss +1 -0
- package/dist/elements/EditMany/index.d.ts +3 -3
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +4 -4
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditMany/index.scss +4 -10
- package/dist/elements/FieldSelect/index.d.ts +4 -4
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +32 -21
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.scss +1 -0
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -2
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +4 -3
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +2 -2
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +8 -8
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +14 -5
- package/dist/elements/ListDrawer/DrawerContent.js +6 -5
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.scss +4 -4
- package/dist/elements/ListDrawer/types.d.ts +6 -6
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +5 -4
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.scss +6 -0
- package/dist/elements/Localizer/index.js +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +6 -6
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +1 -1
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +2 -1
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +6 -1
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts +2 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +4 -1
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +1 -1
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/PublishMany/index.scss +1 -0
- package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/SaveButton/index.d.ts +2 -1
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +4 -1
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts +2 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +5 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +1 -1
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Status/index.scss +1 -0
- package/dist/elements/StayLoggedIn/index.js +1 -1
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.scss +1 -0
- package/dist/elements/StepNav/index.d.ts +2 -2
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +11 -8
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/index.scss +1 -1
- package/dist/elements/StepNav/types.d.ts +2 -2
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +2 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +2 -2
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -4
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +3 -3
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +4 -4
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -4
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +6 -8
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +2 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +16 -12
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +1 -2
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.d.ts +6 -6
- package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +11 -14
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +7 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +2 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +30 -32
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts +2 -2
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
- package/dist/elements/TableColumns/filterFields.js +8 -11
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts +2 -3
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.js +9 -11
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts +6 -6
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +8 -11
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts +2 -2
- package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +2 -2
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.scss +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +5 -5
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +3 -3
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +1 -2
- package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +9 -9
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +25 -20
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +9 -8
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.d.ts +15 -0
- package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/{reduceFieldMap.js → reduceClientFields.js} +28 -26
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -0
- package/dist/elements/WhereBuilder/types.d.ts +6 -5
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/{CodeEditor-UPOVAXRP.js → CodeEditor-MODTAQNB.js} +1 -1
- package/dist/exports/client/{CodeEditor-UPOVAXRP.js.map → CodeEditor-MODTAQNB.js.map} +1 -1
- package/dist/exports/client/{DatePicker-XJHHMZP7.js → DatePicker-QKRYICNS.js} +2 -2
- package/dist/exports/client/chunk-HR5HEGNB.js +30 -0
- package/dist/exports/client/{chunk-TIH7OFW3.js.map → chunk-HR5HEGNB.js.map} +4 -4
- package/dist/exports/client/index.d.ts +9 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +27 -27
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +4 -1
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts +21 -21
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +3 -3
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +11 -9
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +3 -3
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +9 -6
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts +6 -6
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +13 -13
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.scss +12 -2
- package/dist/fields/Blocks/index.d.ts +2 -2
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +10 -6
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Blocks/index.scss +1 -0
- package/dist/fields/Checkbox/Input.d.ts +15 -15
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +9 -4
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +9 -6
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +14 -6
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +7 -5
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts +2 -2
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +14 -6
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +15 -6
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.d.ts.map +1 -1
- package/dist/fields/FieldDescription/index.js +8 -4
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +8 -4
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +8 -4
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +63 -56
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.d.ts.map +1 -1
- package/dist/fields/Hidden/index.js +1 -1
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +14 -6
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/Input.d.ts +2 -0
- package/dist/fields/Number/Input.d.ts.map +1 -0
- package/dist/fields/Number/Input.js +2 -0
- package/dist/fields/Number/Input.js.map +1 -0
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +14 -6
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +1 -24
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +8 -7
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.d.ts.map +1 -1
- package/dist/fields/Password/input.js +18 -8
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.d.ts +32 -23
- package/dist/fields/Password/types.d.ts.map +1 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +23 -9
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +7 -4
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js +1 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +8 -5
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +2 -2
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +6 -8
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Select/Input.d.ts +26 -6
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +13 -6
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +8 -9
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.d.ts +5 -5
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +4 -5
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +10 -9
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +13 -6
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +9 -10
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +32 -13
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.d.ts.map +1 -1
- package/dist/fields/Textarea/Input.js +13 -6
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +9 -10
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +28 -6
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +25 -12
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +5 -4
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +7 -10
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/index.d.ts +5 -1
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +11 -11
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.d.ts +3 -0
- package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -0
- package/dist/forms/Form/{createNestedFieldPath.js → createNestedClientFieldPath.js} +2 -13
- package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -0
- package/dist/forms/Form/index.js +1 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +3 -3
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts +3 -3
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +5 -15
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +12 -15
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +35 -16
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +7 -14
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +11 -11
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts +4 -4
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/index.js +8 -2
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.d.ts +7 -8
- package/dist/forms/RowLabel/types.d.ts.map +1 -1
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +2 -2
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js +11 -10
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts +2 -2
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +3 -3
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.d.ts +1 -1
- package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/graphics/Account/index.d.ts.map +1 -1
- package/dist/graphics/Account/index.js +14 -8
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/hooks/useDelayedRender.d.ts.map +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +2 -2
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +3 -3
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/providers/Actions/SetViewActions/index.d.ts +3 -3
- package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
- package/dist/providers/Actions/SetViewActions/index.js +1 -1
- package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +3 -3
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +2 -2
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +1 -1
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/RenderComponent.d.ts +12 -0
- package/dist/providers/Config/RenderComponent.d.ts.map +1 -0
- package/dist/providers/Config/RenderComponent.js +69 -0
- package/dist/providers/Config/RenderComponent.js.map +1 -0
- package/dist/providers/Config/createClientConfig/collections.d.ts +24 -0
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -0
- package/dist/providers/Config/createClientConfig/collections.js +173 -0
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -0
- package/dist/providers/Config/createClientConfig/fields.d.ts +22 -0
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -0
- package/dist/providers/Config/createClientConfig/fields.js +299 -0
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -0
- package/dist/providers/Config/createClientConfig/getComponent.d.ts +11 -0
- package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -0
- package/dist/providers/Config/createClientConfig/getComponent.js +29 -0
- package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -0
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +11 -0
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -0
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -0
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -0
- package/dist/providers/Config/createClientConfig/globals.d.ts +22 -0
- package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -0
- package/dist/providers/Config/createClientConfig/globals.js +103 -0
- package/dist/providers/Config/createClientConfig/globals.js.map +1 -0
- package/dist/providers/Config/createClientConfig/index.d.ts +21 -0
- package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -0
- package/dist/providers/Config/createClientConfig/index.js +98 -0
- package/dist/providers/Config/createClientConfig/index.js.map +1 -0
- package/dist/providers/Config/index.d.ts +10 -3
- package/dist/providers/Config/index.d.ts.map +1 -1
- package/dist/providers/Config/index.js +17 -3
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +16 -16
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/FieldComponents/index.d.ts +4 -3
- package/dist/providers/FieldComponents/index.d.ts.map +1 -1
- package/dist/providers/FieldComponents/index.js +2 -3
- package/dist/providers/FieldComponents/index.js.map +1 -1
- package/dist/providers/ListInfo/index.d.ts +12 -12
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +1 -1
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +1 -1
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +0 -2
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +46 -48
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/scss/app.scss +4 -4
- package/dist/scss/type.scss +1 -0
- package/dist/scss/vars.scss +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +2 -4
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/flattenFieldMap.d.ts +2 -2
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
- package/dist/utilities/flattenFieldMap.js +8 -8
- package/dist/utilities/flattenFieldMap.js.map +1 -1
- package/dist/utilities/groupNavItems.d.ts +3 -3
- package/dist/utilities/groupNavItems.d.ts.map +1 -1
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/package.json +10 -4
- package/dist/elements/RenderCustomClientComponent/index.d.ts +0 -8
- package/dist/elements/RenderCustomClientComponent/index.d.ts.map +0 -1
- package/dist/elements/RenderCustomClientComponent/index.js +0 -19
- package/dist/elements/RenderCustomClientComponent/index.js.map +0 -1
- package/dist/elements/RenderCustomComponent/index.d.ts +0 -17
- package/dist/elements/RenderCustomComponent/index.d.ts.map +0 -1
- package/dist/elements/RenderCustomComponent/index.js +0 -26
- package/dist/elements/RenderCustomComponent/index.js.map +0 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +0 -14
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +0 -1
- package/dist/exports/client/chunk-TIH7OFW3.js +0 -30
- package/dist/forms/Form/createNestedFieldPath.d.ts +0 -4
- package/dist/forms/Form/createNestedFieldPath.d.ts.map +0 -1
- package/dist/forms/Form/createNestedFieldPath.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +0 -9
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js +0 -45
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +0 -18
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +0 -118
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +0 -18
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +0 -703
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +0 -19
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +0 -81
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +0 -16
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +0 -79
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +0 -39
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js +0 -3
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +0 -1
- package/dist/providers/ComponentMap/index.d.ts +0 -25
- package/dist/providers/ComponentMap/index.d.ts.map +0 -1
- package/dist/providers/ComponentMap/index.js +0 -53
- package/dist/providers/ComponentMap/index.js.map +0 -1
- package/dist/utilities/buildComponentMap.d.ts +0 -4
- package/dist/utilities/buildComponentMap.d.ts.map +0 -1
- package/dist/utilities/buildComponentMap.js +0 -4
- package/dist/utilities/buildComponentMap.js.map +0 -1
- /package/dist/exports/client/{DatePicker-XJHHMZP7.js.map → DatePicker-QKRYICNS.js.map} +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { deepCopyObjectSimple } from 'payload';
|
|
2
|
+
import { createClientFields } from './fields.js';
|
|
3
|
+
export const createClientGlobalConfig = ({ DefaultEditView, clientGlobal, createMappedComponent, global, i18n, importMap, payload })=>{
|
|
4
|
+
clientGlobal.fields = createClientFields({
|
|
5
|
+
clientFields: clientGlobal.fields,
|
|
6
|
+
createMappedComponent,
|
|
7
|
+
fields: global.fields,
|
|
8
|
+
i18n,
|
|
9
|
+
importMap,
|
|
10
|
+
payload
|
|
11
|
+
});
|
|
12
|
+
const serverOnlyProperties = [
|
|
13
|
+
'hooks',
|
|
14
|
+
'access',
|
|
15
|
+
'endpoints',
|
|
16
|
+
'custom'
|
|
17
|
+
];
|
|
18
|
+
serverOnlyProperties.forEach((key)=>{
|
|
19
|
+
if (key in clientGlobal) {
|
|
20
|
+
delete clientGlobal[key];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
if ('admin' in clientGlobal) {
|
|
24
|
+
const serverOnlyGlobalAdminProperties = [
|
|
25
|
+
'hidden',
|
|
26
|
+
'preview'
|
|
27
|
+
];
|
|
28
|
+
serverOnlyGlobalAdminProperties.forEach((key)=>{
|
|
29
|
+
if (key in clientGlobal.admin) {
|
|
30
|
+
delete clientGlobal.admin[key];
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
if (global.admin.preview) {
|
|
34
|
+
clientGlobal._isPreviewEnabled = true;
|
|
35
|
+
}
|
|
36
|
+
clientGlobal.admin.components = {};
|
|
37
|
+
if (global?.admin?.components) {
|
|
38
|
+
if (global.admin.components.elements) {
|
|
39
|
+
clientGlobal.admin.components.elements = {};
|
|
40
|
+
if (global.admin.components.elements?.PreviewButton) {
|
|
41
|
+
clientGlobal.admin.components.elements.PreviewButton = createMappedComponent(global.admin.components.elements.PreviewButton, undefined, undefined, 'global.admin.components.elements.PreviewButton');
|
|
42
|
+
}
|
|
43
|
+
if (global.admin.components.elements?.PublishButton) {
|
|
44
|
+
clientGlobal.admin.components.elements.PublishButton = createMappedComponent(global.admin.components.elements.PublishButton, undefined, undefined, 'global.admin.components.elements.PublishButton');
|
|
45
|
+
}
|
|
46
|
+
if (global.admin.components.elements?.SaveButton) {
|
|
47
|
+
clientGlobal.admin.components.elements.SaveButton = createMappedComponent(global.admin.components.elements.SaveButton, undefined, undefined, 'global.admin.components.elements.SaveButton');
|
|
48
|
+
}
|
|
49
|
+
if (global.admin.components.elements?.SaveDraftButton) {
|
|
50
|
+
clientGlobal.admin.components.elements.SaveDraftButton = createMappedComponent(global.admin.components.elements.SaveDraftButton, undefined, undefined, 'global.admin.components.elements.SaveDraftButton');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
clientGlobal.admin.components.views = global?.admin?.components?.views ? deepCopyObjectSimple(global?.admin?.components?.views) : {};
|
|
55
|
+
const hasEditView = 'admin' in global && 'components' in global.admin && 'views' in global.admin.components && 'edit' in global.admin.components.views && 'default' in global.admin.components.views.edit;
|
|
56
|
+
if (!clientGlobal.admin.components.views.edit) {
|
|
57
|
+
clientGlobal.admin.components.views.edit = {};
|
|
58
|
+
}
|
|
59
|
+
clientGlobal.admin.components.views.edit.default = {
|
|
60
|
+
Component: createMappedComponent(hasEditView && 'Component' in global.admin.components.views.edit.default && global.admin.components.views.edit.default.Component, {
|
|
61
|
+
globalSlug: global.slug
|
|
62
|
+
}, DefaultEditView, 'global.admin.components.views.edit.default')
|
|
63
|
+
};
|
|
64
|
+
if (global?.admin?.components?.views?.edit) {
|
|
65
|
+
for(const key in global.admin.components.views.edit){
|
|
66
|
+
const view = global.admin.components.views.edit[key];
|
|
67
|
+
if (!clientGlobal.admin.components.views.edit[key]) {
|
|
68
|
+
clientGlobal.admin.components.views.edit[key] = {};
|
|
69
|
+
}
|
|
70
|
+
if ('Component' in view && key !== 'default') {
|
|
71
|
+
clientGlobal.admin.components.views.edit[key].Component = createMappedComponent(view.Component, {
|
|
72
|
+
globalSlug: global.slug
|
|
73
|
+
}, undefined, 'global.admin.components.views.edit.key.Component');
|
|
74
|
+
}
|
|
75
|
+
if ('actions' in view && view.actions?.length) {
|
|
76
|
+
clientGlobal.admin.components.views.edit[key].actions = view.actions.map((Component)=>createMappedComponent(Component, undefined, undefined, 'global.admin.components.views.key.actions'));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if ('livePreview' in clientGlobal.admin && clientGlobal.admin.livePreview && 'url' in clientGlobal.admin.livePreview) {
|
|
81
|
+
delete clientGlobal.admin.livePreview.url;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return clientGlobal;
|
|
85
|
+
};
|
|
86
|
+
export const createClientGlobalConfigs = ({ DefaultEditView, clientGlobals, createMappedComponent, globals, i18n, importMap, payload })=>{
|
|
87
|
+
for(let i = 0; i < globals.length; i++){
|
|
88
|
+
const global = globals[i];
|
|
89
|
+
const clientGlobal = clientGlobals[i];
|
|
90
|
+
clientGlobals[i] = createClientGlobalConfig({
|
|
91
|
+
DefaultEditView,
|
|
92
|
+
clientGlobal,
|
|
93
|
+
createMappedComponent,
|
|
94
|
+
global,
|
|
95
|
+
i18n,
|
|
96
|
+
importMap,
|
|
97
|
+
payload
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return clientGlobals;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=globals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/Config/createClientConfig/globals.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientGlobalConfig,\n CreateMappedComponent,\n EditViewConfig,\n EditViewProps,\n ImportMap,\n MappedView,\n Payload,\n SanitizedConfig,\n ServerOnlyGlobalAdminProperties,\n ServerOnlyGlobalProperties,\n} from 'payload'\nimport type React from 'react'\n\nimport { deepCopyObjectSimple } from 'payload'\n\nimport { createClientFields } from './fields.js'\n\nexport const createClientGlobalConfig = ({\n DefaultEditView,\n clientGlobal,\n createMappedComponent,\n global,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n clientGlobal: ClientGlobalConfig\n createMappedComponent: CreateMappedComponent\n global: SanitizedConfig['globals'][0]\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientGlobalConfig => {\n clientGlobal.fields = createClientFields({\n clientFields: clientGlobal.fields,\n createMappedComponent,\n fields: global.fields,\n i18n,\n importMap,\n payload,\n })\n\n const serverOnlyProperties: Partial<ServerOnlyGlobalProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `admin` is handled separately\n ]\n\n serverOnlyProperties.forEach((key) => {\n if (key in clientGlobal) {\n delete clientGlobal[key]\n }\n })\n\n if ('admin' in clientGlobal) {\n const serverOnlyGlobalAdminProperties: Partial<ServerOnlyGlobalAdminProperties>[] = [\n 'hidden',\n 'preview',\n ]\n\n serverOnlyGlobalAdminProperties.forEach((key) => {\n if (key in clientGlobal.admin) {\n delete clientGlobal.admin[key]\n }\n })\n\n if (global.admin.preview) {\n clientGlobal._isPreviewEnabled = true\n }\n\n clientGlobal.admin.components = {} as ClientGlobalConfig['admin']['components']\n\n if (global?.admin?.components) {\n if (global.admin.components.elements) {\n clientGlobal.admin.components.elements =\n {} as ClientGlobalConfig['admin']['components']['elements']\n\n if (global.admin.components.elements?.PreviewButton) {\n clientGlobal.admin.components.elements.PreviewButton = createMappedComponent(\n global.admin.components.elements.PreviewButton,\n undefined,\n undefined,\n 'global.admin.components.elements.PreviewButton',\n )\n }\n\n if (global.admin.components.elements?.PublishButton) {\n clientGlobal.admin.components.elements.PublishButton = createMappedComponent(\n global.admin.components.elements.PublishButton,\n undefined,\n undefined,\n 'global.admin.components.elements.PublishButton',\n )\n }\n\n if (global.admin.components.elements?.SaveButton) {\n clientGlobal.admin.components.elements.SaveButton = createMappedComponent(\n global.admin.components.elements.SaveButton,\n undefined,\n undefined,\n 'global.admin.components.elements.SaveButton',\n )\n }\n\n if (global.admin.components.elements?.SaveDraftButton) {\n clientGlobal.admin.components.elements.SaveDraftButton = createMappedComponent(\n global.admin.components.elements.SaveDraftButton,\n undefined,\n undefined,\n 'global.admin.components.elements.SaveDraftButton',\n )\n }\n }\n }\n\n clientGlobal.admin.components.views = (\n global?.admin?.components?.views ? deepCopyObjectSimple(global?.admin?.components?.views) : {}\n ) as ClientGlobalConfig['admin']['components']['views']\n\n const hasEditView =\n 'admin' in global &&\n 'components' in global.admin &&\n 'views' in global.admin.components &&\n 'edit' in global.admin.components.views &&\n 'default' in global.admin.components.views.edit\n\n if (!clientGlobal.admin.components.views.edit) {\n clientGlobal.admin.components.views.edit =\n {} as ClientGlobalConfig['admin']['components']['views']['edit']\n }\n\n clientGlobal.admin.components.views.edit.default = {\n Component: createMappedComponent(\n hasEditView &&\n 'Component' in global.admin.components.views.edit.default &&\n global.admin.components.views.edit.default.Component,\n {\n globalSlug: global.slug,\n },\n DefaultEditView,\n 'global.admin.components.views.edit.default',\n ),\n }\n\n if (global?.admin?.components?.views?.edit) {\n for (const key in global.admin.components.views.edit) {\n const view: EditViewConfig = global.admin.components.views.edit[key]\n if (!clientGlobal.admin.components.views.edit[key]) {\n clientGlobal.admin.components.views.edit[key] = {} as MappedView\n }\n\n if ('Component' in view && key !== 'default') {\n clientGlobal.admin.components.views.edit[key].Component = createMappedComponent(\n view.Component,\n {\n globalSlug: global.slug,\n },\n undefined,\n 'global.admin.components.views.edit.key.Component',\n )\n }\n\n if ('actions' in view && view.actions?.length) {\n clientGlobal.admin.components.views.edit[key].actions = view.actions.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'global.admin.components.views.key.actions',\n ),\n )\n }\n }\n }\n\n if (\n 'livePreview' in clientGlobal.admin &&\n clientGlobal.admin.livePreview &&\n 'url' in clientGlobal.admin.livePreview\n ) {\n delete clientGlobal.admin.livePreview.url\n }\n }\n\n return clientGlobal\n}\n\nexport const createClientGlobalConfigs = ({\n DefaultEditView,\n clientGlobals,\n createMappedComponent,\n globals,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n clientGlobals: ClientGlobalConfig[]\n createMappedComponent: CreateMappedComponent\n globals: SanitizedConfig['globals']\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientGlobalConfig[] => {\n for (let i = 0; i < globals.length; i++) {\n const global = globals[i]\n const clientGlobal = clientGlobals[i]\n clientGlobals[i] = createClientGlobalConfig({\n DefaultEditView,\n clientGlobal,\n createMappedComponent,\n global,\n i18n,\n importMap,\n payload,\n })\n }\n return clientGlobals\n}\n"],"names":["deepCopyObjectSimple","createClientFields","createClientGlobalConfig","DefaultEditView","clientGlobal","createMappedComponent","global","i18n","importMap","payload","fields","clientFields","serverOnlyProperties","forEach","key","serverOnlyGlobalAdminProperties","admin","preview","_isPreviewEnabled","components","elements","PreviewButton","undefined","PublishButton","SaveButton","SaveDraftButton","views","hasEditView","edit","default","Component","globalSlug","slug","view","actions","length","map","livePreview","url","createClientGlobalConfigs","clientGlobals","globals","i"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
+
import { type AdminViewProps, type ClientConfig, type EditViewProps, type ImportMap, type Payload, type SanitizedConfig } from 'payload';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js';
|
|
5
|
+
import { createClientField, createClientFields } from './fields.js';
|
|
6
|
+
import { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js';
|
|
7
|
+
export { createClientCollectionConfig, createClientCollectionConfigs, createClientGlobalConfig, createClientGlobalConfigs, };
|
|
8
|
+
export declare const createClientConfig: ({ DefaultEditView, DefaultListView, children, config, i18n, importMap, payload, }: {
|
|
9
|
+
DefaultEditView: React.FC<EditViewProps>;
|
|
10
|
+
DefaultListView: React.FC<AdminViewProps>;
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
config: SanitizedConfig;
|
|
13
|
+
i18n: I18nClient;
|
|
14
|
+
importMap: ImportMap;
|
|
15
|
+
payload: Payload;
|
|
16
|
+
}) => Promise<{
|
|
17
|
+
clientConfig: ClientConfig;
|
|
18
|
+
render: React.ReactNode;
|
|
19
|
+
}>;
|
|
20
|
+
export { createClientField, createClientFields };
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,eAAe,EAGrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAElF,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,sFAQ5B;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CAEjB,KAAG,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA4IlE,CAAA;AACD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { deepCopyObjectSimple, serverOnlyConfigProperties } from 'payload';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js';
|
|
5
|
+
import { createClientField, createClientFields } from './fields.js';
|
|
6
|
+
import { getComponent } from './getComponent.js';
|
|
7
|
+
import { getCreateMappedComponent } from './getCreateMappedComponent.js';
|
|
8
|
+
import { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js';
|
|
9
|
+
export { createClientCollectionConfig, createClientCollectionConfigs, createClientGlobalConfig, createClientGlobalConfigs, };
|
|
10
|
+
export const createClientConfig = async ({ DefaultEditView, DefaultListView, children, config, i18n, importMap, payload })=>{
|
|
11
|
+
// We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client
|
|
12
|
+
const clientConfig = deepCopyObjectSimple(config);
|
|
13
|
+
const createMappedComponent = getCreateMappedComponent({
|
|
14
|
+
importMap,
|
|
15
|
+
serverProps: {
|
|
16
|
+
i18n,
|
|
17
|
+
payload
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
for (const key of serverOnlyConfigProperties){
|
|
21
|
+
if (key in clientConfig) {
|
|
22
|
+
delete clientConfig[key];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if ('localization' in clientConfig && clientConfig.localization) {
|
|
26
|
+
for (const locale of clientConfig.localization.locales){
|
|
27
|
+
delete locale.toString;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if ('admin' in clientConfig) {
|
|
31
|
+
if (config.admin?.avatar && typeof config.admin?.avatar === 'object' && config.admin?.avatar && 'Component' in config.admin.avatar) {
|
|
32
|
+
clientConfig.admin.components.Avatar = createMappedComponent(config.admin.avatar.Component, undefined, undefined, 'config.admin.avatar.Component');
|
|
33
|
+
}
|
|
34
|
+
if (config.admin?.components?.logout?.Button) {
|
|
35
|
+
clientConfig.admin.components.LogoutButton = createMappedComponent(config.admin.components.logout.Button, undefined, undefined, 'config.admin.components.logout.Button');
|
|
36
|
+
}
|
|
37
|
+
if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {
|
|
38
|
+
clientConfig.admin.components.actions = config.admin.components.actions.map((Component)=>createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'));
|
|
39
|
+
}
|
|
40
|
+
if (config.admin?.components?.graphics?.Icon) {
|
|
41
|
+
clientConfig.admin.components.graphics.Icon = createMappedComponent(config.admin.components.graphics.Icon, undefined, undefined, 'config.admin.components.graphics.Icon');
|
|
42
|
+
}
|
|
43
|
+
if (config.admin?.components?.graphics?.Logo) {
|
|
44
|
+
clientConfig.admin.components.graphics.Logo = createMappedComponent(config.admin.components.graphics.Logo, undefined, undefined, 'config.admin.components.graphics.Logo');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if ('livePreview' in clientConfig.admin && clientConfig.admin.livePreview && 'url' in clientConfig.admin.livePreview) {
|
|
48
|
+
delete clientConfig.admin.livePreview.url;
|
|
49
|
+
}
|
|
50
|
+
clientConfig.collections = createClientCollectionConfigs({
|
|
51
|
+
DefaultEditView,
|
|
52
|
+
DefaultListView,
|
|
53
|
+
clientCollections: clientConfig.collections,
|
|
54
|
+
collections: config.collections,
|
|
55
|
+
createMappedComponent,
|
|
56
|
+
i18n,
|
|
57
|
+
importMap,
|
|
58
|
+
payload
|
|
59
|
+
});
|
|
60
|
+
clientConfig.globals = createClientGlobalConfigs({
|
|
61
|
+
DefaultEditView,
|
|
62
|
+
clientGlobals: clientConfig.globals,
|
|
63
|
+
createMappedComponent,
|
|
64
|
+
globals: config.globals,
|
|
65
|
+
i18n,
|
|
66
|
+
importMap,
|
|
67
|
+
payload
|
|
68
|
+
});
|
|
69
|
+
const NestProviders = ({ children, providers })=>{
|
|
70
|
+
const Component = providers[0];
|
|
71
|
+
if (providers.length > 1) {
|
|
72
|
+
return /*#__PURE__*/ _jsx(Component, {
|
|
73
|
+
children: /*#__PURE__*/ _jsx(NestProviders, {
|
|
74
|
+
providers: providers.slice(1),
|
|
75
|
+
children: children
|
|
76
|
+
})
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
return /*#__PURE__*/ _jsx(Component, {
|
|
80
|
+
children: children
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
const render = Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/ _jsx(NestProviders, {
|
|
84
|
+
providers: config.admin?.components?.providers.map((Component)=>getComponent({
|
|
85
|
+
identifier: 'config.admin?.components?.providers',
|
|
86
|
+
importMap,
|
|
87
|
+
payloadComponent: Component
|
|
88
|
+
}).Component),
|
|
89
|
+
children: children
|
|
90
|
+
}) : children;
|
|
91
|
+
return {
|
|
92
|
+
clientConfig,
|
|
93
|
+
render
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
export { createClientField, createClientFields };
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport {\n type AdminViewProps,\n type ClientConfig,\n type EditViewProps,\n type ImportMap,\n type Payload,\n type SanitizedConfig,\n deepCopyObjectSimple,\n serverOnlyConfigProperties,\n} from 'payload'\nimport React from 'react'\n\nimport { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js'\nimport { createClientField, createClientFields } from './fields.js'\nimport { getComponent } from './getComponent.js'\nimport { getCreateMappedComponent } from './getCreateMappedComponent.js'\nimport { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js'\n\nexport {\n createClientCollectionConfig,\n createClientCollectionConfigs,\n createClientGlobalConfig,\n createClientGlobalConfigs,\n}\n\nexport const createClientConfig = async ({\n DefaultEditView,\n DefaultListView,\n children,\n config,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n children: React.ReactNode\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<{ clientConfig: ClientConfig; render: React.ReactNode }> => {\n // We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client\n const clientConfig: ClientConfig = deepCopyObjectSimple(config) as unknown as ClientConfig\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n payload,\n },\n })\n\n for (const key of serverOnlyConfigProperties) {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n }\n\n if ('localization' in clientConfig && clientConfig.localization) {\n for (const locale of clientConfig.localization.locales) {\n delete locale.toString\n }\n }\n\n if ('admin' in clientConfig) {\n if (\n config.admin?.avatar &&\n typeof config.admin?.avatar === 'object' &&\n config.admin?.avatar &&\n 'Component' in config.admin.avatar\n ) {\n clientConfig.admin.components.Avatar = createMappedComponent(\n config.admin.avatar.Component,\n undefined,\n undefined,\n 'config.admin.avatar.Component',\n )\n }\n\n if (config.admin?.components?.logout?.Button) {\n clientConfig.admin.components.LogoutButton = createMappedComponent(\n config.admin.components.logout.Button,\n undefined,\n undefined,\n 'config.admin.components.logout.Button',\n )\n }\n\n if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {\n clientConfig.admin.components.actions = config.admin.components.actions.map((Component) =>\n createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'),\n )\n }\n\n if (config.admin?.components?.graphics?.Icon) {\n clientConfig.admin.components.graphics.Icon = createMappedComponent(\n config.admin.components.graphics.Icon,\n undefined,\n undefined,\n 'config.admin.components.graphics.Icon',\n )\n }\n\n if (config.admin?.components?.graphics?.Logo) {\n clientConfig.admin.components.graphics.Logo = createMappedComponent(\n config.admin.components.graphics.Logo,\n undefined,\n undefined,\n 'config.admin.components.graphics.Logo',\n )\n }\n }\n\n if (\n 'livePreview' in clientConfig.admin &&\n clientConfig.admin.livePreview &&\n 'url' in clientConfig.admin.livePreview\n ) {\n delete clientConfig.admin.livePreview.url\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n DefaultEditView,\n DefaultListView,\n clientCollections: clientConfig.collections,\n collections: config.collections,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n DefaultEditView,\n clientGlobals: clientConfig.globals,\n createMappedComponent,\n globals: config.globals,\n i18n,\n importMap,\n payload,\n })\n\n const NestProviders = ({\n children,\n providers,\n }: {\n readonly children: React.ReactNode\n readonly providers: React.FC<{ children?: React.ReactNode }>[]\n }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const render =\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n providers={config.admin?.components?.providers.map(\n (Component) =>\n getComponent({\n identifier: 'config.admin?.components?.providers',\n importMap,\n payloadComponent: Component,\n }).Component,\n )}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )\n\n return { clientConfig, render }\n}\nexport { createClientField, createClientFields }\n"],"names":["deepCopyObjectSimple","serverOnlyConfigProperties","React","createClientCollectionConfig","createClientCollectionConfigs","createClientField","createClientFields","getComponent","getCreateMappedComponent","createClientGlobalConfig","createClientGlobalConfigs","createClientConfig","DefaultEditView","DefaultListView","children","config","i18n","importMap","payload","clientConfig","createMappedComponent","serverProps","key","localization","locale","locales","toString","admin","avatar","components","Avatar","Component","undefined","logout","Button","LogoutButton","actions","length","map","graphics","Icon","Logo","livePreview","url","collections","clientCollections","globals","clientGlobals","NestProviders","providers","slice","render","Array","isArray","identifier","payloadComponent"],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import type { ClientConfig } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export
|
|
4
|
-
children: React.ReactNode;
|
|
3
|
+
export type ClientConfigContext = {
|
|
5
4
|
config: ClientConfig;
|
|
5
|
+
getEntityConfig: (args: {
|
|
6
|
+
collectionSlug?: string;
|
|
7
|
+
globalSlug?: string;
|
|
8
|
+
}) => ClientConfig['collections'][number] | ClientConfig['globals'][number];
|
|
9
|
+
};
|
|
10
|
+
export declare const ConfigProvider: React.FC<{
|
|
11
|
+
readonly children: React.ReactNode;
|
|
12
|
+
readonly config: ClientConfig;
|
|
6
13
|
}>;
|
|
7
|
-
export declare const useConfig: () =>
|
|
14
|
+
export declare const useConfig: () => ClientConfigContext;
|
|
8
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAiD,MAAM,OAAO,CAAA;AAErE,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,KAAK,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;CAC5E,CAAA;AAID,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B,CAiBA,CAAA;AAED,eAAO,MAAM,SAAS,QAAO,mBAA0C,CAAA"}
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import React, { createContext, useContext } from 'react';
|
|
4
|
-
const Context = /*#__PURE__*/ createContext(
|
|
3
|
+
import React, { createContext, useCallback, useContext } from 'react';
|
|
4
|
+
const Context = /*#__PURE__*/ createContext(undefined);
|
|
5
5
|
export const ConfigProvider = ({ children, config })=>{
|
|
6
|
+
const getEntityConfig = useCallback(({ collectionSlug, globalSlug })=>{
|
|
7
|
+
if (collectionSlug) {
|
|
8
|
+
return config.collections.find((collection)=>collection.slug === collectionSlug);
|
|
9
|
+
}
|
|
10
|
+
if (globalSlug) {
|
|
11
|
+
return config.globals.find((global)=>global.slug === globalSlug);
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
}, [
|
|
15
|
+
config
|
|
16
|
+
]);
|
|
6
17
|
return /*#__PURE__*/ _jsx(Context.Provider, {
|
|
7
|
-
value:
|
|
18
|
+
value: {
|
|
19
|
+
config,
|
|
20
|
+
getEntityConfig
|
|
21
|
+
},
|
|
8
22
|
children: children
|
|
9
23
|
});
|
|
10
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext } from 'react'\n\nexport type ClientConfigContext = {\n config: ClientConfig\n getEntityConfig: (args: {\n collectionSlug?: string\n globalSlug?: string\n }) => ClientConfig['collections'][number] | ClientConfig['globals'][number]\n}\n\nconst Context = createContext<ClientConfigContext | undefined>(undefined)\n\nexport const ConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig\n}> = ({ children, config }) => {\n const getEntityConfig = useCallback(\n ({ collectionSlug, globalSlug }: { collectionSlug?: string; globalSlug?: string }) => {\n if (collectionSlug) {\n return config.collections.find((collection) => collection.slug === collectionSlug)\n }\n\n if (globalSlug) {\n return config.globals.find((global) => global.slug === globalSlug)\n }\n\n return null\n },\n [config],\n )\n\n return <Context.Provider value={{ config, getEntityConfig }}>{children}</Context.Provider>\n}\n\nexport const useConfig = (): ClientConfigContext => useContext(Context)\n"],"names":["React","createContext","useCallback","useContext","Context","undefined","ConfigProvider","children","config","getEntityConfig","collectionSlug","globalSlug","collections","find","collection","slug","globals","global","Provider","value","useConfig"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,QAAQ,QAAO;AAUrE,MAAMC,wBAAUH,cAA+CI;AAE/D,OAAO,MAAMC,iBAGR,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAE;IACxB,MAAMC,kBAAkBP,YACtB,CAAC,EAAEQ,cAAc,EAAEC,UAAU,EAAoD;QAC/E,IAAID,gBAAgB;YAClB,OAAOF,OAAOI,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKL;QACrE;QAEA,IAAIC,YAAY;YACd,OAAOH,OAAOQ,OAAO,CAACH,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKJ;QACzD;QAEA,OAAO;IACT,GACA;QAACH;KAAO;IAGV,qBAAO,KAACJ,QAAQc,QAAQ;QAACC,OAAO;YAAEX;YAAQC;QAAgB;kBAAIF;;AAChE,EAAC;AAED,OAAO,MAAMa,YAAY,IAA2BjB,WAAWC,SAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAwhB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAOtB,CAAA"}
|
|
@@ -18,7 +18,7 @@ const Context = /*#__PURE__*/ createContext({});
|
|
|
18
18
|
export const useDocumentInfo = ()=>useContext(Context);
|
|
19
19
|
const DocumentInfo = ({ children, ...props })=>{
|
|
20
20
|
const { id, collectionSlug, docPermissions: docPermissionsFromProps, globalSlug, hasPublishPermission: hasPublishPermissionFromProps, hasSavePermission: hasSavePermissionFromProps, initialData: initialDataFromProps, initialState: initialStateFromProps, onLoadError, onSave: onSaveFromProps } = props;
|
|
21
|
-
const { admin: { dateFormat }, collections, globals, routes: { api }, serverURL } = useConfig();
|
|
21
|
+
const { config: { admin: { dateFormat }, collections, globals, routes: { api }, serverURL } } = useConfig();
|
|
22
22
|
const collectionConfig = collections.find((c)=>c.slug === collectionSlug);
|
|
23
23
|
const globalConfig = globals.find((g)=>g.slug === globalSlug);
|
|
24
24
|
const docConfig = collectionConfig || globalConfig;
|
|
@@ -210,22 +210,24 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
210
210
|
const docAccessURL = collectionSlug ? `/${collectionSlug}/access/${idToUse}` : globalSlug ? `/globals/${globalSlug}/access` : null;
|
|
211
211
|
if (docAccessURL) {
|
|
212
212
|
const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {
|
|
213
|
+
body: JSON.stringify(data),
|
|
213
214
|
credentials: 'include',
|
|
214
215
|
headers: {
|
|
215
|
-
'Accept-Language': i18n.language
|
|
216
|
-
|
|
216
|
+
'Accept-Language': i18n.language,
|
|
217
|
+
'Content-Type': 'application/json'
|
|
218
|
+
},
|
|
219
|
+
method: 'post'
|
|
217
220
|
});
|
|
218
221
|
const json = await res.json();
|
|
219
222
|
const publishedAccessJSON = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {
|
|
220
223
|
body: JSON.stringify({
|
|
221
|
-
data
|
|
222
|
-
|
|
223
|
-
_status: 'published'
|
|
224
|
-
}
|
|
224
|
+
...data || {},
|
|
225
|
+
_status: 'published'
|
|
225
226
|
}),
|
|
226
227
|
credentials: 'include',
|
|
227
228
|
headers: {
|
|
228
|
-
'Accept-Language': i18n.language
|
|
229
|
+
'Accept-Language': i18n.language,
|
|
230
|
+
'Content-Type': 'application/json'
|
|
229
231
|
},
|
|
230
232
|
method: 'POST'
|
|
231
233
|
}).then((res)=>res.json());
|
|
@@ -348,7 +350,9 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
348
350
|
serverURL,
|
|
349
351
|
signal: abortController.signal
|
|
350
352
|
});
|
|
351
|
-
|
|
353
|
+
const data = reduceFieldsToValues(result, true);
|
|
354
|
+
setData(data);
|
|
355
|
+
if (localeChanged) void getDocPermissions(data);
|
|
352
356
|
setInitialState(result);
|
|
353
357
|
} catch (err) {
|
|
354
358
|
if (!abortController.signal.aborted) {
|
|
@@ -380,7 +384,8 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
380
384
|
locale,
|
|
381
385
|
onLoadError,
|
|
382
386
|
initialDataFromProps,
|
|
383
|
-
initialStateFromProps
|
|
387
|
+
initialStateFromProps,
|
|
388
|
+
getDocPermissions
|
|
384
389
|
]);
|
|
385
390
|
useEffect(()=>{
|
|
386
391
|
void getVersions();
|
|
@@ -408,12 +413,8 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
408
413
|
globalConfig
|
|
409
414
|
]);
|
|
410
415
|
useEffect(()=>{
|
|
411
|
-
const localeChanged = locale !== prevLocalePermissions.current;
|
|
412
416
|
if (data && (collectionSlug || globalSlug)) {
|
|
413
|
-
if (
|
|
414
|
-
prevLocalePermissions.current = locale;
|
|
415
|
-
void getDocPermissions(data);
|
|
416
|
-
} else if (hasInitializedDocPermissions.current === false && (!docPermissions || hasSavePermission === undefined || hasSavePermission === null || hasPublishPermission === undefined || hasPublishPermission === null)) {
|
|
417
|
+
if (hasInitializedDocPermissions.current === false && (!docPermissions || hasSavePermission === undefined || hasSavePermission === null || hasPublishPermission === undefined || hasPublishPermission === null)) {
|
|
417
418
|
hasInitializedDocPermissions.current = true;
|
|
418
419
|
void getDocPermissions(data);
|
|
419
420
|
}
|
|
@@ -427,7 +428,6 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
427
428
|
collectionSlug,
|
|
428
429
|
globalSlug,
|
|
429
430
|
data,
|
|
430
|
-
locale,
|
|
431
431
|
docPermissions,
|
|
432
432
|
hasSavePermission,
|
|
433
433
|
hasPublishPermission
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const localeChanged = locale !== prevLocalePermissions.current\n\n if (data && (collectionSlug || globalSlug)) {\n if (localeChanged) {\n prevLocalePermissions.current = locale\n void getDocPermissions(data)\n } else if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n locale,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","Provider","DocumentInfoProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n ...(data || {}),\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n const data = reduceFieldsToValues(result, true)\n setData(data)\n\n if (localeChanged) void getDocPermissions(data)\n\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n getDocPermissions,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n if (data && (collectionSlug || globalSlug)) {\n if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","config","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","body","JSON","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","Provider","DocumentInfoProvider"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { FieldTypes } from 'payload';
|
|
2
1
|
import React from 'react';
|
|
3
|
-
|
|
2
|
+
import type { FieldTypesComponents } from '../../fields/index.js';
|
|
3
|
+
export type IFieldComponentsContext = FieldTypesComponents;
|
|
4
4
|
export declare const FieldComponentsProvider: React.FC<{
|
|
5
|
-
children: React.ReactNode;
|
|
5
|
+
readonly children: React.ReactNode;
|
|
6
|
+
readonly fieldComponents: FieldTypesComponents;
|
|
6
7
|
}>;
|
|
7
8
|
export declare const useFieldComponents: () => IFieldComponentsContext;
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/FieldComponents/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/FieldComponents/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEjE,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAI1D,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAA;CAC/C,CAMA,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,uBAA6D,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import React, { createContext, useContext } from 'react';
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
export const FieldComponentsProvider = ({ children })=>{
|
|
4
|
+
const FieldComponentsContext = /*#__PURE__*/ createContext(null);
|
|
5
|
+
export const FieldComponentsProvider = ({ children, fieldComponents })=>{
|
|
7
6
|
return /*#__PURE__*/ _jsx(FieldComponentsContext.Provider, {
|
|
8
7
|
value: fieldComponents,
|
|
9
8
|
children: children
|