@payloadcms/ui 3.0.0-alpha.49 → 3.0.0-alpha.50
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/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -43
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +2 -5
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +2 -2
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +13 -4
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +31 -112
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +0 -2
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +8 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +4 -0
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +3 -25
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +39 -12
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +2 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +0 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +7 -6
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +5 -9
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts +3 -0
- package/dist/elements/Nav/index.client.d.ts.map +1 -0
- package/dist/elements/Nav/index.client.js +77 -0
- package/dist/elements/Nav/index.client.js.map +1 -0
- package/dist/elements/Nav/index.d.ts +3 -7
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +4 -66
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/PerPage/index.d.ts +1 -0
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js +6 -4
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +4 -6
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -65
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.d.ts +9 -0
- package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -0
- package/dist/elements/PreviewButton/usePreviewURL.js +57 -0
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -0
- package/dist/elements/Publish/index.d.ts +4 -2
- package/dist/elements/Publish/index.d.ts.map +1 -1
- package/dist/elements/Publish/index.js +15 -25
- package/dist/elements/Publish/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +2 -1
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.scss +4 -0
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +4 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +2 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/Save/index.d.ts +4 -2
- package/dist/elements/Save/index.d.ts.map +1 -1
- package/dist/elements/Save/index.js +7 -14
- package/dist/elements/Save/index.js.map +1 -1
- package/dist/elements/SaveDraft/index.d.ts +1 -2
- package/dist/elements/SaveDraft/index.d.ts.map +1 -1
- package/dist/elements/SaveDraft/index.js +33 -42
- package/dist/elements/SaveDraft/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +3 -1
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +5 -6
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +3 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +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 +2 -2
- 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 -5
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- 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 +4 -3
- 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 +4 -4
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +3 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +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 +2 -2
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +4 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.d.ts +11 -11
- 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 +8 -4
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +1 -0
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/{buildColumns.d.ts → buildColumnState.d.ts} +8 -6
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
- package/dist/elements/TableColumns/{buildColumns.js → buildColumnState.js} +37 -13
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
- package/dist/elements/TableColumns/filterFields.d.ts +3 -0
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
- package/dist/elements/TableColumns/filterFields.js +27 -0
- package/dist/elements/TableColumns/filterFields.js.map +1 -0
- package/dist/elements/TableColumns/getInitialColumns.d.ts +5 -0
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
- package/dist/elements/TableColumns/getInitialColumns.js +48 -0
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
- package/dist/elements/TableColumns/index.d.ts +2 -2
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +11 -7
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +6 -0
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +32 -16
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +2 -6
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +4 -4
- package/dist/elements/Translation/index.d.ts.map +1 -1
- package/dist/elements/Translation/index.js +12 -9
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -7
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +21 -4
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +45 -61
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.scss +6 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +134 -55
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +3 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js +36 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -0
- package/dist/elements/withMergedProps/index.js +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +2 -0
- 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 +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +23 -8
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -3
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +0 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +17 -5
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +3 -1
- 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 +6 -2
- 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 +8 -3
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +2 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +4 -3
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +7 -2
- 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 +7 -2
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +0 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +9 -8
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/HiddenInput/index.d.ts +1 -0
- package/dist/fields/HiddenInput/index.d.ts.map +1 -1
- package/dist/fields/HiddenInput/index.js +4 -2
- package/dist/fields/HiddenInput/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +8 -4
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +7 -2
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +0 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +5 -2
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +15 -10
- 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 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +45 -14
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +3 -1
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +2 -0
- 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 +2 -1
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts +0 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +8 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +0 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +2 -2
- 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 +4 -1
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +3 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.d.ts.map +1 -1
- package/dist/fields/Textarea/Input.js +4 -1
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +3 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +10 -8
- 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 +6 -2
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts +1 -2
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/FieldDescription/index.d.ts +1 -2
- package/dist/forms/FieldDescription/index.d.ts.map +1 -1
- package/dist/forms/FieldDescription/index.js.map +1 -1
- package/dist/forms/FieldError/index.js +1 -1
- package/dist/forms/FieldError/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.d.ts.map +1 -1
- package/dist/forms/FieldLabel/index.js +4 -4
- package/dist/forms/FieldLabel/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.scss +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +5 -0
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js +5 -1
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +6 -8
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +37 -20
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +1 -0
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeErrorPaths.d.ts +5 -0
- package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -0
- package/dist/forms/Form/mergeErrorPaths.js +29 -0
- package/dist/forms/Form/mergeErrorPaths.js.map +1 -0
- package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +36 -19
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +8 -2
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -0
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +12 -4
- 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 +3 -3
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +1 -0
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +4 -3
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +67 -42
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +11 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +13 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +11 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +16 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +12 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +122 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -0
- package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js +10 -2
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js +4 -3
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +32 -12
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +1 -0
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.d.ts +3 -0
- package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +10 -2
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +4 -2
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +3 -2
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +5 -6
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/providers/ClientFunction/index.d.ts.map +1 -1
- package/dist/providers/ClientFunction/index.js +27 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/{mapActions.d.ts → actions.d.ts} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapActions.js → actions.js} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +13 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +74 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapFields.d.ts → fields.d.ts} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapFields.js → fields.js} +43 -23
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +49 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -2
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +16 -83
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +8 -3
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +120 -96
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +12 -13
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/EntityVisibility/index.d.ts +16 -0
- package/dist/providers/EntityVisibility/index.d.ts.map +1 -0
- package/dist/providers/EntityVisibility/index.js +25 -0
- package/dist/providers/EntityVisibility/index.js.map +1 -0
- package/dist/providers/ListInfo/index.d.ts +0 -1
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js +2 -7
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/templates/Default/index.d.ts +2 -7
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +10 -12
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/buildComponentMap.d.ts +1 -1
- package/dist/utilities/buildComponentMap.d.ts.map +1 -1
- package/dist/utilities/buildComponentMap.js +1 -1
- package/dist/utilities/buildComponentMap.js.map +1 -1
- package/dist/utilities/flattenFieldMap.d.ts +10 -0
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -0
- package/dist/utilities/flattenFieldMap.js +33 -0
- package/dist/utilities/flattenFieldMap.js.map +1 -0
- package/dist/utilities/getFormState.d.ts +2 -0
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js +8 -3
- package/dist/utilities/getFormState.js.map +1 -1
- package/package.json +10 -4
- package/dist/elements/TableColumns/buildColumns.d.ts.map +0 -1
- package/dist/elements/TableColumns/buildColumns.js.map +0 -1
- package/dist/elements/WhereBuilder/reducer.d.ts +0 -5
- package/dist/elements/WhereBuilder/reducer.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/reducer.js +0 -78
- package/dist/elements/WhereBuilder/reducer.js.map +0 -1
- package/dist/forms/FieldDescription/types.d.ts +0 -8
- package/dist/forms/FieldDescription/types.d.ts.map +0 -1
- package/dist/forms/FieldDescription/types.js +0 -3
- package/dist/forms/FieldDescription/types.js.map +0 -1
- package/dist/hooks/useAdminThumbnail.d.ts +0 -3
- package/dist/hooks/useAdminThumbnail.d.ts.map +0 -1
- package/dist/hooks/useAdminThumbnail.js +0 -8
- package/dist/hooks/useAdminThumbnail.js.map +0 -1
- package/dist/hooks/useThumbnail.d.ts +0 -3
- package/dist/hooks/useThumbnail.d.ts.map +0 -1
- package/dist/hooks/useThumbnail.js +0 -45
- package/dist/hooks/useThumbnail.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapActions.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapActions.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapFields.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapFields.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE/E,OAAO,KAAsC,MAAM,OAAO,CAAA;AAU1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkHpC,CAAA"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { toast } from 'react-toastify';
|
|
2
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
5
3
|
import { useAllFormFields, useFormModified } from '../../forms/Form/context.js';
|
|
6
4
|
import { useDebounce } from '../../hooks/useDebounce.js';
|
|
7
5
|
import { useConfig } from '../../providers/Config/index.js';
|
|
@@ -12,13 +10,12 @@ import { formatTimeToNow } from '../../utilities/formatDate.js';
|
|
|
12
10
|
import { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js';
|
|
13
11
|
const baseClass = 'autosave';
|
|
14
12
|
export const Autosave = ({ id, collection, global: globalDoc, publishedDocUpdatedAt })=>{
|
|
15
|
-
const { routes: {
|
|
13
|
+
const { routes: { api }, serverURL } = useConfig();
|
|
16
14
|
const { docConfig, getVersions, versions } = useDocumentInfo();
|
|
17
15
|
const versionsConfig = docConfig?.versions;
|
|
18
16
|
const [fields] = useAllFormFields();
|
|
19
17
|
const modified = useFormModified();
|
|
20
18
|
const { code: locale } = useLocale();
|
|
21
|
-
const router = useRouter();
|
|
22
19
|
const { i18n, t } = useTranslation();
|
|
23
20
|
let interval = 800;
|
|
24
21
|
if (versionsConfig.drafts && versionsConfig?.drafts?.autosave) interval = versionsConfig.drafts.autosave.interval;
|
|
@@ -39,44 +36,6 @@ export const Autosave = ({ id, collection, global: globalDoc, publishedDocUpdate
|
|
|
39
36
|
// Store locale in ref so the autosave func
|
|
40
37
|
// can always retrieve the most to date locale
|
|
41
38
|
localeRef.current = locale;
|
|
42
|
-
const createCollectionDoc = useCallback(async ()=>{
|
|
43
|
-
const res = await fetch(`${serverURL}${api}/${collection.slug}?locale=${locale}&fallback-locale=null&depth=0&draft=true&autosave=true`, {
|
|
44
|
-
body: JSON.stringify({}),
|
|
45
|
-
credentials: 'include',
|
|
46
|
-
headers: {
|
|
47
|
-
'Accept-Language': i18n.language,
|
|
48
|
-
'Content-Type': 'application/json'
|
|
49
|
-
},
|
|
50
|
-
method: 'POST'
|
|
51
|
-
});
|
|
52
|
-
if (res.status === 201) {
|
|
53
|
-
const json = await res.json();
|
|
54
|
-
router.replace(`${admin}/collections/${collection.slug}/${json.doc.id}`, {
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
toast.error(t('error:autosaving'));
|
|
58
|
-
}
|
|
59
|
-
}, [
|
|
60
|
-
i18n,
|
|
61
|
-
serverURL,
|
|
62
|
-
api,
|
|
63
|
-
collection,
|
|
64
|
-
locale,
|
|
65
|
-
router,
|
|
66
|
-
admin,
|
|
67
|
-
t
|
|
68
|
-
]);
|
|
69
|
-
useEffect(()=>{
|
|
70
|
-
// If no ID, but this is used for a collection doc,
|
|
71
|
-
// Immediately save it and set lastSaved
|
|
72
|
-
if (!id && collection) {
|
|
73
|
-
void createCollectionDoc();
|
|
74
|
-
}
|
|
75
|
-
}, [
|
|
76
|
-
id,
|
|
77
|
-
collection,
|
|
78
|
-
createCollectionDoc
|
|
79
|
-
]);
|
|
80
39
|
// When debounced fields change, autosave
|
|
81
40
|
useEffect(()=>{
|
|
82
41
|
const autosave = ()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload/types'\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload/types'\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { useAllFormFields, useFormModified } from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../utilities/formatDate.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport './index.scss'\n\nconst baseClass = 'autosave'\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({\n id,\n collection,\n global: globalDoc,\n publishedDocUpdatedAt,\n}) => {\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { docConfig, getVersions, versions } = useDocumentInfo()\n const versionsConfig = docConfig?.versions\n\n const [fields] = useAllFormFields()\n const modified = useFormModified()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n let interval = 800\n if (versionsConfig.drafts && versionsConfig?.drafts?.autosave)\n interval = versionsConfig.drafts.autosave.interval\n\n const [saving, setSaving] = useState(false)\n const [lastSaved, setLastSaved] = useState<number>()\n const debouncedFields = useDebounce(fields, interval)\n const fieldRef = useRef(fields)\n const modifiedRef = useRef(modified)\n const localeRef = useRef(locale)\n\n // Store fields in ref so the autosave func\n // can always retrieve the most to date copies\n // after the timeout has executed\n fieldRef.current = fields\n\n // Store modified in ref so the autosave func\n // can bail out if modified becomes false while\n // timing out during autosave\n modifiedRef.current = modified\n\n // Store locale in ref so the autosave func\n // can always retrieve the most to date locale\n localeRef.current = locale\n\n // When debounced fields change, autosave\n useEffect(() => {\n const autosave = () => {\n if (modified) {\n setSaving(true)\n\n let url: string\n let method: string\n\n if (collection && id) {\n url = `${serverURL}${api}/${collection.slug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'PATCH'\n }\n\n if (globalDoc) {\n url = `${serverURL}${api}/globals/${globalDoc.slug}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'POST'\n }\n\n if (url) {\n setTimeout(async () => {\n if (modifiedRef.current) {\n const body = {\n ...reduceFieldsToValues(fieldRef.current, true),\n _status: 'draft',\n }\n const res = await fetch(url, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method,\n })\n\n if (res.status === 200) {\n setLastSaved(new Date().getTime())\n void getVersions()\n }\n }\n\n setSaving(false)\n }, 1000)\n }\n }\n }\n\n void autosave()\n }, [i18n, debouncedFields, modified, serverURL, api, collection, globalDoc, id, getVersions])\n\n useEffect(() => {\n if (versions?.docs?.[0]) {\n setLastSaved(new Date(versions.docs[0].updatedAt).getTime())\n } else if (publishedDocUpdatedAt) {\n setLastSaved(new Date(publishedDocUpdatedAt).getTime())\n }\n }, [publishedDocUpdatedAt, versions])\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && lastSaved && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow(lastSaved, i18n.language),\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","useEffect","useRef","useState","useAllFormFields","useFormModified","useDebounce","useConfig","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValues","baseClass","Autosave","id","collection","global","globalDoc","publishedDocUpdatedAt","routes","api","serverURL","docConfig","getVersions","versions","versionsConfig","fields","modified","code","locale","i18n","t","interval","drafts","autosave","saving","setSaving","lastSaved","setLastSaved","debouncedFields","fieldRef","modifiedRef","localeRef","current","url","method","slug","setTimeout","body","_status","res","fetch","JSON","stringify","credentials","headers","language","status","Date","getTime","docs","updatedAt","div","className","Fragment","distance"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ColumnSelector/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ColumnSelector/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D,OAAO,KAAgB,MAAM,OAAO,CAAA;AAQpC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiD1C,CAAA"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { getTranslation } from '@payloadcms/translations';
|
|
3
2
|
import React, { useId } from 'react';
|
|
4
3
|
import { Plus } from '../../icons/Plus/index.js';
|
|
5
4
|
import { X } from '../../icons/X/index.js';
|
|
6
5
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
7
|
-
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
6
|
import { DraggableSortable } from '../DraggableSortable/index.js';
|
|
9
7
|
import { Pill } from '../Pill/index.js';
|
|
10
8
|
import { useTableColumns } from '../TableColumns/index.js';
|
|
11
9
|
const baseClass = 'column-selector';
|
|
12
10
|
export const ColumnSelector = ({ collectionSlug })=>{
|
|
13
11
|
const { columns, moveColumn, toggleColumn } = useTableColumns();
|
|
14
|
-
const { i18n } = useTranslation();
|
|
15
12
|
const uuid = useId();
|
|
16
13
|
const editDepth = useEditDepth();
|
|
17
14
|
if (!columns) {
|
|
@@ -28,7 +25,7 @@ export const ColumnSelector = ({ collectionSlug })=>{
|
|
|
28
25
|
}
|
|
29
26
|
}, columns.map((col, i)=>{
|
|
30
27
|
if (!col) return null;
|
|
31
|
-
const {
|
|
28
|
+
const { Label, accessor, active } = col;
|
|
32
29
|
if (col.accessor === '_select') return null;
|
|
33
30
|
return /*#__PURE__*/ React.createElement(Pill, {
|
|
34
31
|
alignIcon: "left",
|
|
@@ -44,7 +41,7 @@ export const ColumnSelector = ({ collectionSlug })=>{
|
|
|
44
41
|
onClick: ()=>{
|
|
45
42
|
toggleColumn(accessor);
|
|
46
43
|
}
|
|
47
|
-
},
|
|
44
|
+
}, Label);
|
|
48
45
|
}));
|
|
49
46
|
};
|
|
50
47
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/ColumnSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ColumnSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport React, { useId } from 'react'\n\nimport { Plus } from '../../icons/Plus/index.js'\nimport { X } from '../../icons/X/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { useTableColumns } from '../TableColumns/index.js'\nimport './index.scss'\n\nconst baseClass = 'column-selector'\n\nexport type Props = {\n collectionSlug: SanitizedCollectionConfig['slug']\n}\n\nexport const ColumnSelector: React.FC<Props> = ({ collectionSlug }) => {\n const { columns, moveColumn, toggleColumn } = useTableColumns()\n\n const uuid = useId()\n const editDepth = useEditDepth()\n\n if (!columns) {\n return null\n }\n\n return (\n <DraggableSortable\n className={baseClass}\n ids={columns.map((col) => col?.accessor)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n moveColumn({\n fromIndex: moveFromIndex,\n toIndex: moveToIndex,\n })\n }}\n >\n {columns.map((col, i) => {\n if (!col) return null\n\n const { Label, accessor, active } = col\n\n if (col.accessor === '_select') return null\n\n return (\n <Pill\n alignIcon=\"left\"\n aria-checked={active}\n className={[`${baseClass}__column`, active && `${baseClass}__column--active`]\n .filter(Boolean)\n .join(' ')}\n draggable\n icon={active ? <X /> : <Plus />}\n id={accessor}\n key={`${collectionSlug}-${col.name || i}${editDepth ? `-${editDepth}-` : ''}${uuid}`}\n onClick={() => {\n toggleColumn(accessor)\n }}\n >\n {Label}\n </Pill>\n )\n })}\n </DraggableSortable>\n )\n}\n"],"names":["React","useId","Plus","X","useEditDepth","DraggableSortable","Pill","useTableColumns","baseClass","ColumnSelector","collectionSlug","columns","moveColumn","toggleColumn","uuid","editDepth","className","ids","map","col","accessor","onDragEnd","moveFromIndex","moveToIndex","fromIndex","toIndex","i","Label","active","alignIcon","aria-checked","filter","Boolean","join","draggable","icon","id","key","name","onClick"],"mappings":"AAAA;AAGA,OAAOA,SAASC,KAAK,QAAQ,QAAO;AAEpC,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,CAAC,QAAQ,yBAAwB;AAC1C,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,iBAAiB,QAAQ,gCAA+B;AACjE,SAASC,IAAI,QAAQ,mBAAkB;AACvC,SAASC,eAAe,QAAQ,2BAA0B;AAG1D,MAAMC,YAAY;AAMlB,OAAO,MAAMC,iBAAkC,CAAC,EAAEC,cAAc,EAAE;IAChE,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAEC,YAAY,EAAE,GAAGN;IAE9C,MAAMO,OAAOb;IACb,MAAMc,YAAYX;IAElB,IAAI,CAACO,SAAS;QACZ,OAAO;IACT;IAEA,qBACE,oBAACN;QACCW,WAAWR;QACXS,KAAKN,QAAQO,GAAG,CAAC,CAACC,MAAQA,KAAKC;QAC/BC,WAAW,CAAC,EAAEC,aAAa,EAAEC,WAAW,EAAE;YACxCX,WAAW;gBACTY,WAAWF;gBACXG,SAASF;YACX;QACF;OAECZ,QAAQO,GAAG,CAAC,CAACC,KAAKO;QACjB,IAAI,CAACP,KAAK,OAAO;QAEjB,MAAM,EAAEQ,KAAK,EAAEP,QAAQ,EAAEQ,MAAM,EAAE,GAAGT;QAEpC,IAAIA,IAAIC,QAAQ,KAAK,WAAW,OAAO;QAEvC,qBACE,oBAACd;YACCuB,WAAU;YACVC,gBAAcF;YACdZ,WAAW;gBAAC,CAAC,EAAER,UAAU,QAAQ,CAAC;gBAAEoB,UAAU,CAAC,EAAEpB,UAAU,gBAAgB,CAAC;aAAC,CAC1EuB,MAAM,CAACC,SACPC,IAAI,CAAC;YACRC,WAAAA;YACAC,MAAMP,uBAAS,oBAACzB,yBAAO,oBAACD;YACxBkC,IAAIhB;YACJiB,KAAK,CAAC,EAAE3B,eAAe,CAAC,EAAES,IAAImB,IAAI,IAAIZ,EAAE,EAAEX,YAAY,CAAC,CAAC,EAAEA,UAAU,CAAC,CAAC,GAAG,GAAG,EAAED,KAAK,CAAC;YACpFyB,SAAS;gBACP1B,aAAaO;YACf;WAECO;IAGP;AAGN,EAAC"}
|
|
@@ -50,10 +50,10 @@ export const DeleteDocument = (props)=>{
|
|
|
50
50
|
if (res.status < 400) {
|
|
51
51
|
setDeleting(false);
|
|
52
52
|
toggleModal(modalSlug);
|
|
53
|
-
toast.success(
|
|
53
|
+
toast.success(t('general:titleDeleted', {
|
|
54
54
|
label: getTranslation(singularLabel, i18n),
|
|
55
55
|
title
|
|
56
|
-
}));
|
|
56
|
+
}) || json.message);
|
|
57
57
|
return router.push(`${admin}/collections/${collectionSlug}`);
|
|
58
58
|
}
|
|
59
59
|
toggleModal(modalSlug);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n buttonId?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n id?: string\n singularLabel: SanitizedCollectionConfig['labels']['singular']\n title?: string\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const { id, buttonId, collectionSlug, singularLabel, title: titleFromProps } = props\n const { Modal, useModal } = facelessUIImport\n\n const {\n routes: { admin, api },\n serverURL,\n } = useConfig()\n\n const { setModified } = useForm()\n const [deleting, setDeleting] = useState(false)\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n\n const titleToRender = titleFromProps || title || id\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n setDeleting(false)\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n const handleDelete = useCallback(async () => {\n setDeleting(true)\n setModified(false)\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n setDeleting(false)\n toggleModal(modalSlug)\n toast.success(\n
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n buttonId?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n id?: string\n singularLabel: SanitizedCollectionConfig['labels']['singular']\n title?: string\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const { id, buttonId, collectionSlug, singularLabel, title: titleFromProps } = props\n const { Modal, useModal } = facelessUIImport\n\n const {\n routes: { admin, api },\n serverURL,\n } = useConfig()\n\n const { setModified } = useForm()\n const [deleting, setDeleting] = useState(false)\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n\n const titleToRender = titleFromProps || title || id\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n setDeleting(false)\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n const handleDelete = useCallback(async () => {\n setDeleting(true)\n setModified(false)\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n setDeleting(false)\n toggleModal(modalSlug)\n toast.success(\n t('general:titleDeleted', { label: getTranslation(singularLabel, i18n), title }) ||\n json.message,\n )\n\n return router.push(`${admin}/collections/${collectionSlug}`)\n }\n toggleModal(modalSlug)\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n } catch (e) {\n addDefaultError()\n }\n }, [\n setModified,\n serverURL,\n api,\n collectionSlug,\n id,\n toggleModal,\n modalSlug,\n t,\n singularLabel,\n i18n,\n title,\n router,\n admin,\n addDefaultError,\n ])\n\n if (id) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n setDeleting(false)\n toggleModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <Modal className={baseClass} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__template`}>\n <h1>{t('general:confirmDeletion')}</h1>\n <p>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleToRender,\n }}\n />\n </p>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={deleting ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-delete\" onClick={deleting ? undefined : handleDelete}>\n {deleting ? t('general:deleting') : t('general:confirm')}\n </Button>\n </div>\n </MinimalTemplate>\n </Modal>\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"names":["facelessUIImport","getTranslation","useRouter","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useTranslation","MinimalTemplate","requests","Button","PopupList","Translation","baseClass","DeleteDocument","props","id","buttonId","collectionSlug","singularLabel","title","titleFromProps","Modal","useModal","routes","admin","api","serverURL","setModified","deleting","setDeleting","toggleModal","router","i18n","t","titleToRender","modalSlug","addDefaultError","error","handleDelete","delete","headers","language","then","res","json","status","success","label","message","push","errors","forEach","e","Fragment","onClick","className","slug","h1","p","elements","children","strong","i18nKey","variables","div","buttonStyle","undefined","type"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,KAAmB,MAAM,OAAO,CAAA;AAgBvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,oBAAoB,GAAG,gBAAgB,GAAG,IAAI,CAAA;IAC3D,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;CACxC,CA+LA,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { useComponentMap } from '@payloadcms/ui/providers/ComponentMap';
|
|
2
3
|
import React, { Fragment } from 'react';
|
|
3
4
|
import { useConfig } from '../../providers/Config/index.js';
|
|
4
5
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
@@ -9,6 +10,7 @@ import { DuplicateDocument } from '../DuplicateDocument/index.js';
|
|
|
9
10
|
import { Gutter } from '../Gutter/index.js';
|
|
10
11
|
import { PopupList } from '../Popup/index.js';
|
|
11
12
|
import { Popup } from '../Popup/index.js';
|
|
13
|
+
import { PreviewButton } from '../PreviewButton/index.js';
|
|
12
14
|
import { Publish } from '../Publish/index.js';
|
|
13
15
|
import { Save } from '../Save/index.js';
|
|
14
16
|
import { SaveDraft } from '../SaveDraft/index.js';
|
|
@@ -18,8 +20,13 @@ export const DocumentControls = (props)=>{
|
|
|
18
20
|
const { id, slug, data, disableActions, hasSavePermission, isAccountView, isEditing, permissions } = props;
|
|
19
21
|
const { i18n } = useTranslation();
|
|
20
22
|
const config = useConfig();
|
|
23
|
+
const { getComponentMap } = useComponentMap();
|
|
21
24
|
const collectionConfig = config.collections.find((coll)=>coll.slug === slug);
|
|
22
25
|
const globalConfig = config.globals.find((global)=>global.slug === slug);
|
|
26
|
+
const componentMap = getComponentMap({
|
|
27
|
+
collectionSlug: collectionConfig?.slug,
|
|
28
|
+
globalSlug: globalConfig?.slug
|
|
29
|
+
});
|
|
23
30
|
const { admin: { dateFormat }, routes: { admin: adminRoute } } = config;
|
|
24
31
|
const hasCreatePermission = permissions && 'create' in permissions && permissions.create?.permission;
|
|
25
32
|
const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete?.permission;
|
|
@@ -74,12 +81,14 @@ export const DocumentControls = (props)=>{
|
|
|
74
81
|
className: `${baseClass}__controls-wrapper`
|
|
75
82
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
76
83
|
className: `${baseClass}__controls`
|
|
77
|
-
},
|
|
78
|
-
CustomComponent:
|
|
84
|
+
}, componentMap?.isPreviewEnabled && /*#__PURE__*/ React.createElement(PreviewButton, {
|
|
85
|
+
CustomComponent: componentMap.PreviewButton
|
|
86
|
+
}), hasSavePermission && /*#__PURE__*/ React.createElement(React.Fragment, null, collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? /*#__PURE__*/ React.createElement(React.Fragment, null, (collectionConfig?.versions?.drafts && !collectionConfig?.versions?.drafts?.autosave || globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave) && /*#__PURE__*/ React.createElement(SaveDraft, {
|
|
87
|
+
CustomComponent: componentMap.SaveDraftButton
|
|
79
88
|
}), /*#__PURE__*/ React.createElement(Publish, {
|
|
80
|
-
CustomComponent:
|
|
89
|
+
CustomComponent: componentMap.PublishButton
|
|
81
90
|
})) : /*#__PURE__*/ React.createElement(Save, {
|
|
82
|
-
CustomComponent:
|
|
91
|
+
CustomComponent: componentMap.SaveButton
|
|
83
92
|
}))), showDotMenu && /*#__PURE__*/ React.createElement(Popup, {
|
|
84
93
|
button: /*#__PURE__*/ React.createElement("div", {
|
|
85
94
|
className: `${baseClass}__dots`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDate.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { Publish } from '../Publish/index.js'\nimport { Save } from '../Save/index.js'\nimport { SaveDraft } from '../SaveDraft/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n apiURL: string\n data?: any\n disableActions?: boolean\n hasSavePermission?: boolean\n id?: number | string\n isAccountView?: boolean\n isEditing?: boolean\n permissions: CollectionPermission | GlobalPermission | null\n slug: SanitizedCollectionConfig['slug']\n}> = (props) => {\n const {\n id,\n slug,\n data,\n disableActions,\n hasSavePermission,\n isAccountView,\n isEditing,\n permissions,\n } = props\n\n const { i18n } = useTranslation()\n\n const config = useConfig()\n\n const collectionConfig = config.collections.find((coll) => coll.slug === slug)\n const globalConfig = config.globals.find((global) => global.slug === slug)\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n const hasCreatePermission =\n permissions && 'create' in permissions && permissions.create?.permission\n\n const hasDeletePermission =\n permissions && 'delete' in permissions && permissions.delete?.permission\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label:\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : 'document',\n })}\n </p>\n </li>\n )}\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {((collectionConfig?.versions?.drafts &&\n collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n hasSavePermission && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={\n data?.updatedAt ? formatDate(data?.updatedAt, dateFormat, i18n.language) : ''\n }\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}: </p>\n {data?.updatedAt && (\n <p className={`${baseClass}__value`}>\n {formatDate(data.updatedAt, dateFormat, i18n.language)}\n </p>\n )}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={\n data?.createdAt ? formatDate(data?.createdAt, dateFormat, i18n.language) : ''\n }\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}: </p>\n {data?.createdAt && (\n <p className={`${baseClass}__value`}>\n {formatDate(data?.createdAt, dateFormat, i18n.language)}\n </p>\n )}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {/* {(collectionConfig?.admin?.preview || globalConfig?.admin?.preview) && (\n <PreviewButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n }\n generatePreviewURL={collectionConfig?.admin?.preview || globalConfig?.admin?.preview}\n />\n )} */}\n {hasSavePermission && (\n <React.Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <React.Fragment>\n {((collectionConfig?.versions?.drafts &&\n !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts &&\n !globalConfig?.versions?.drafts?.autosave)) && (\n <SaveDraft\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n }\n />\n )}\n <Publish\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n }\n />\n </React.Fragment>\n ) : (\n <Save\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n }\n />\n )}\n </React.Fragment>\n )}\n </div>\n {showDotMenu && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {hasCreatePermission && (\n <React.Fragment>\n <PopupList.Button\n href={`${adminRoute}/collections/${collectionConfig?.slug}/create`}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n {!collectionConfig?.admin?.disableDuplicate && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"names":["React","Fragment","useConfig","useTranslation","formatDate","Autosave","DeleteDocument","DuplicateDocument","Gutter","PopupList","Popup","Publish","Save","SaveDraft","Status","baseClass","DocumentControls","props","id","slug","data","disableActions","hasSavePermission","isAccountView","isEditing","permissions","i18n","config","collectionConfig","collections","find","coll","globalConfig","globals","global","admin","dateFormat","routes","adminRoute","hasCreatePermission","create","permission","hasDeletePermission","delete","showDotMenu","Boolean","className","div","ul","li","p","t","label","labels","singular","versions","drafts","filter","join","autosave","collection","publishedDocUpdatedAt","createdAt","timestamps","title","updatedAt","language","CustomComponent","components","edit","SaveDraftButton","elements","PublishButton","SaveButton","button","horizontalAlign","size","verticalAlign","ButtonGroup","Button","href","disableDuplicate","toString","singularLabel","buttonId","collectionSlug","useAsTitle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDate.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { Publish } from '../Publish/index.js'\nimport { Save } from '../Save/index.js'\nimport { SaveDraft } from '../SaveDraft/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n apiURL: string\n data?: any\n disableActions?: boolean\n hasSavePermission?: boolean\n id?: number | string\n isAccountView?: boolean\n isEditing?: boolean\n permissions: CollectionPermission | GlobalPermission | null\n slug: SanitizedCollectionConfig['slug']\n}> = (props) => {\n const {\n id,\n slug,\n data,\n disableActions,\n hasSavePermission,\n isAccountView,\n isEditing,\n permissions,\n } = props\n\n const { i18n } = useTranslation()\n\n const config = useConfig()\n const { getComponentMap } = useComponentMap()\n\n const collectionConfig = config.collections.find((coll) => coll.slug === slug)\n const globalConfig = config.globals.find((global) => global.slug === slug)\n\n const componentMap = getComponentMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n const hasCreatePermission =\n permissions && 'create' in permissions && permissions.create?.permission\n\n const hasDeletePermission =\n permissions && 'delete' in permissions && permissions.delete?.permission\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label:\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : 'document',\n })}\n </p>\n </li>\n )}\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {((collectionConfig?.versions?.drafts &&\n collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n hasSavePermission && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={\n data?.updatedAt ? formatDate(data?.updatedAt, dateFormat, i18n.language) : ''\n }\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}: </p>\n {data?.updatedAt && (\n <p className={`${baseClass}__value`}>\n {formatDate(data.updatedAt, dateFormat, i18n.language)}\n </p>\n )}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={\n data?.createdAt ? formatDate(data?.createdAt, dateFormat, i18n.language) : ''\n }\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}: </p>\n {data?.createdAt && (\n <p className={`${baseClass}__value`}>\n {formatDate(data?.createdAt, dateFormat, i18n.language)}\n </p>\n )}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {componentMap?.isPreviewEnabled && (\n <PreviewButton CustomComponent={componentMap.PreviewButton} />\n )}\n {hasSavePermission && (\n <React.Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <React.Fragment>\n {((collectionConfig?.versions?.drafts &&\n !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts &&\n !globalConfig?.versions?.drafts?.autosave)) && (\n <SaveDraft CustomComponent={componentMap.SaveDraftButton} />\n )}\n <Publish CustomComponent={componentMap.PublishButton} />\n </React.Fragment>\n ) : (\n <Save CustomComponent={componentMap.SaveButton} />\n )}\n </React.Fragment>\n )}\n </div>\n {showDotMenu && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {hasCreatePermission && (\n <React.Fragment>\n <PopupList.Button\n href={`${adminRoute}/collections/${collectionConfig?.slug}/create`}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n {!collectionConfig?.admin?.disableDuplicate && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"names":["useComponentMap","React","Fragment","useConfig","useTranslation","formatDate","Autosave","DeleteDocument","DuplicateDocument","Gutter","PopupList","Popup","PreviewButton","Publish","Save","SaveDraft","Status","baseClass","DocumentControls","props","id","slug","data","disableActions","hasSavePermission","isAccountView","isEditing","permissions","i18n","config","getComponentMap","collectionConfig","collections","find","coll","globalConfig","globals","global","componentMap","collectionSlug","globalSlug","admin","dateFormat","routes","adminRoute","hasCreatePermission","create","permission","hasDeletePermission","delete","showDotMenu","Boolean","className","div","ul","li","p","t","label","labels","singular","versions","drafts","filter","join","autosave","collection","publishedDocUpdatedAt","createdAt","timestamps","title","updatedAt","language","isPreviewEnabled","CustomComponent","SaveDraftButton","PublishButton","SaveButton","button","horizontalAlign","size","verticalAlign","ButtonGroup","Button","href","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAerD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuG/D,CAAA"}
|
|
@@ -1,122 +1,66 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
3
|
import queryString from 'qs';
|
|
4
|
-
import React, { useCallback, useEffect,
|
|
4
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
5
5
|
import { toast } from 'react-toastify';
|
|
6
6
|
import { useRelatedCollections } from '../../fields/Relationship/AddNew/useRelatedCollections.js';
|
|
7
|
-
import usePayloadAPI from '../../hooks/usePayloadAPI.js';
|
|
8
7
|
import { X } from '../../icons/X/index.js';
|
|
9
8
|
import { useComponentMap } from '../../providers/ComponentMap/index.js';
|
|
10
9
|
import { useConfig } from '../../providers/Config/index.js';
|
|
11
|
-
import { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js';
|
|
10
|
+
import { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
12
11
|
import { useFormQueryParams } from '../../providers/FormQueryParams/index.js';
|
|
13
12
|
import { useLocale } from '../../providers/Locale/index.js';
|
|
14
|
-
import { usePreferences } from '../../providers/Preferences/index.js';
|
|
15
13
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
16
|
-
import { formatDocTitle } from '../../utilities/formatDocTitle.js';
|
|
17
|
-
import { getFormState } from '../../utilities/getFormState.js';
|
|
18
14
|
import { Gutter } from '../Gutter/index.js';
|
|
19
15
|
import { IDLabel } from '../IDLabel/index.js';
|
|
20
|
-
import { LoadingOverlay } from '../Loading/index.js';
|
|
21
16
|
import { RenderTitle } from '../RenderTitle/index.js';
|
|
22
17
|
import { baseClass } from './index.js';
|
|
23
|
-
const
|
|
18
|
+
export const DocumentDrawerContent = ({ id, Header, collectionSlug, drawerSlug, onSave: onSaveFromProps })=>{
|
|
24
19
|
const { useModal } = facelessUIImport;
|
|
25
20
|
const config = useConfig();
|
|
26
21
|
const { routes: { api: apiRoute }, serverURL } = config;
|
|
27
22
|
const { closeModal, modalState, toggleModal } = useModal();
|
|
28
23
|
const locale = useLocale();
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const hasInitializedState = useRef(false);
|
|
24
|
+
const { t } = useTranslation();
|
|
25
|
+
const [createdID, setCreatedID] = useState();
|
|
32
26
|
const [isOpen, setIsOpen] = useState(false);
|
|
33
27
|
const [collectionConfig] = useRelatedCollections(collectionSlug);
|
|
34
28
|
const { formQueryParams } = useFormQueryParams();
|
|
35
29
|
const formattedQueryParams = queryString.stringify(formQueryParams);
|
|
36
|
-
const { getPreference } = usePreferences();
|
|
37
30
|
const { componentMap } = useComponentMap();
|
|
38
31
|
const { Edit } = componentMap[`${collectionSlug ? 'collections' : 'globals'}`][collectionSlug];
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
initialData,
|
|
43
|
-
initialParams: {
|
|
44
|
-
depth: 0,
|
|
45
|
-
draft: 'true',
|
|
46
|
-
'fallback-locale': 'null'
|
|
47
|
-
}
|
|
48
|
-
});
|
|
32
|
+
const isEditing = Boolean(id);
|
|
33
|
+
const apiURL = id ? `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}` : null;
|
|
34
|
+
const action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}?${formattedQueryParams}`;
|
|
49
35
|
useEffect(()=>{
|
|
50
36
|
setIsOpen(Boolean(modalState[drawerSlug]?.isOpen));
|
|
51
37
|
}, [
|
|
52
38
|
modalState,
|
|
53
39
|
drawerSlug
|
|
54
40
|
]);
|
|
55
|
-
|
|
56
|
-
if (isOpen
|
|
41
|
+
const onLoadError = React.useCallback((data)=>{
|
|
42
|
+
if (isOpen) {
|
|
57
43
|
closeModal(drawerSlug);
|
|
58
44
|
toast.error(data.errors?.[0].message || t('error:unspecific'));
|
|
59
45
|
}
|
|
60
46
|
}, [
|
|
61
|
-
isError,
|
|
62
|
-
t,
|
|
63
|
-
isOpen,
|
|
64
|
-
data,
|
|
65
|
-
drawerSlug,
|
|
66
47
|
closeModal,
|
|
67
|
-
|
|
48
|
+
drawerSlug,
|
|
49
|
+
isOpen,
|
|
50
|
+
t
|
|
68
51
|
]);
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (!hasInitializedState.current && (!initialID.current || initialID.current && data)) {
|
|
77
|
-
const getInitialState = async ()=>{
|
|
78
|
-
let docPreferences = {
|
|
79
|
-
fields: {}
|
|
80
|
-
};
|
|
81
|
-
if (id) {
|
|
82
|
-
docPreferences = await getPreference(`collection-${collectionSlug}-${id}`);
|
|
83
|
-
}
|
|
84
|
-
const result = await getFormState({
|
|
85
|
-
apiRoute,
|
|
86
|
-
body: {
|
|
87
|
-
id,
|
|
88
|
-
collectionSlug,
|
|
89
|
-
data: data || {},
|
|
90
|
-
docPreferences,
|
|
91
|
-
operation: isEditing ? 'update' : 'create',
|
|
92
|
-
schemaPath: collectionSlug
|
|
93
|
-
},
|
|
94
|
-
serverURL
|
|
95
|
-
});
|
|
96
|
-
setInitialState(result);
|
|
97
|
-
hasInitializedState.current = true;
|
|
98
|
-
};
|
|
99
|
-
void getInitialState();
|
|
52
|
+
const onSave = useCallback((args)=>{
|
|
53
|
+
setCreatedID(args.doc.id);
|
|
54
|
+
if (typeof onSaveFromProps === 'function') {
|
|
55
|
+
void onSaveFromProps({
|
|
56
|
+
...args,
|
|
57
|
+
collectionConfig
|
|
58
|
+
});
|
|
100
59
|
}
|
|
101
60
|
}, [
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
isEditing,
|
|
105
|
-
collectionSlug,
|
|
106
|
-
serverURL,
|
|
107
|
-
id,
|
|
108
|
-
getPreference
|
|
61
|
+
onSaveFromProps,
|
|
62
|
+
collectionConfig
|
|
109
63
|
]);
|
|
110
|
-
if (isError) return null;
|
|
111
|
-
if (!initialState || isLoadingDocument) {
|
|
112
|
-
return /*#__PURE__*/ React.createElement(LoadingOverlay, null);
|
|
113
|
-
}
|
|
114
|
-
const title = formatDocTitle({
|
|
115
|
-
collectionConfig,
|
|
116
|
-
data,
|
|
117
|
-
dateFormat: config.admin.dateFormat,
|
|
118
|
-
i18n
|
|
119
|
-
});
|
|
120
64
|
return /*#__PURE__*/ React.createElement(DocumentInfoProvider, {
|
|
121
65
|
BeforeDocument: /*#__PURE__*/ React.createElement(Gutter, {
|
|
122
66
|
className: `${baseClass}__header`
|
|
@@ -131,9 +75,7 @@ const Content = ({ id, Header, collectionSlug, drawerSlug, initialData, onSave }
|
|
|
131
75
|
className: `${baseClass}__header-close`,
|
|
132
76
|
onClick: ()=>toggleModal(drawerSlug),
|
|
133
77
|
type: "button"
|
|
134
|
-
}, /*#__PURE__*/ React.createElement(X, null))),
|
|
135
|
-
id: id.toString()
|
|
136
|
-
}) : null),
|
|
78
|
+
}, /*#__PURE__*/ React.createElement(X, null))), /*#__PURE__*/ React.createElement(DocumentTitle, null)),
|
|
137
79
|
action: action,
|
|
138
80
|
apiURL: apiURL,
|
|
139
81
|
collectionSlug: collectionConfig.slug,
|
|
@@ -145,40 +87,17 @@ const Content = ({ id, Header, collectionSlug, drawerSlug, initialData, onSave }
|
|
|
145
87
|
// Same reason as above. We need to fully-fetch the docPreferences from the server. This is done in DocumentInfoProvider if we set it to null here.
|
|
146
88
|
hasSavePermission: null,
|
|
147
89
|
// isLoading,
|
|
148
|
-
id: id,
|
|
149
|
-
initialData: data,
|
|
150
|
-
initialState: initialState,
|
|
90
|
+
id: id || createdID,
|
|
151
91
|
isEditing: isEditing,
|
|
152
|
-
|
|
153
|
-
|
|
92
|
+
onLoadError: onLoadError,
|
|
93
|
+
onSave: onSave
|
|
154
94
|
}, Edit);
|
|
155
95
|
};
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
const { id: idFromProps, collectionSlug, onSave: onSaveFromProps } = props;
|
|
162
|
-
const [collectionConfig] = useRelatedCollections(collectionSlug);
|
|
163
|
-
const [doc, setDoc] = useState();
|
|
164
|
-
const onSave = useCallback((args)=>{
|
|
165
|
-
setDoc(args.doc);
|
|
166
|
-
if (typeof onSaveFromProps === 'function') {
|
|
167
|
-
void onSaveFromProps({
|
|
168
|
-
...args,
|
|
169
|
-
collectionConfig
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
}, [
|
|
173
|
-
onSaveFromProps,
|
|
174
|
-
collectionConfig
|
|
175
|
-
]);
|
|
176
|
-
return /*#__PURE__*/ React.createElement(Content, {
|
|
177
|
-
...props,
|
|
178
|
-
id: idFromProps || doc?.id,
|
|
179
|
-
initialData: doc,
|
|
180
|
-
onSave: onSave
|
|
181
|
-
});
|
|
96
|
+
const DocumentTitle = ()=>{
|
|
97
|
+
const { id, title } = useDocumentInfo();
|
|
98
|
+
return id && id !== title ? /*#__PURE__*/ React.createElement(IDLabel, {
|
|
99
|
+
id: id.toString()
|
|
100
|
+
}) : null;
|
|
182
101
|
};
|
|
183
102
|
|
|
184
103
|
//# sourceMappingURL=DrawerContent.js.map
|