@payloadcms/ui 3.0.0-canary.926cbeb → 3.0.0-canary.93a7bbd
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 +10 -3
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/AppHeader/index.scss +5 -3
- package/dist/elements/ArrayAction/index.d.ts +1 -1
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +1 -1
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.scss +0 -13
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +54 -29
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.scss +5 -5
- package/dist/elements/Button/index.js +1 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +112 -118
- package/dist/elements/Button/types.d.ts +1 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.scss +37 -8
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +2 -1
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/types.d.ts +2 -2
- package/dist/elements/CodeEditor/types.d.ts.map +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.d.ts +1 -1
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +1 -1
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/index.scss +77 -77
- 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/ColumnSelector/index.scss +20 -2
- package/dist/elements/DatePicker/index.scss +3 -1
- package/dist/elements/DatePicker/types.d.ts +2 -2
- package/dist/elements/DatePicker/types.d.ts.map +1 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +7 -3
- 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 +5 -3
- 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 +16 -14
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +20 -9
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +6 -11
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.scss +4 -6
- package/dist/elements/DocumentDrawer/types.d.ts +14 -14
- 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 -10
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +50 -51
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +4 -2
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +10 -4
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +6 -5
- 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/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +3 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/index.scss +13 -8
- package/dist/elements/Drawer/types.d.ts +9 -9
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Dropzone/index.d.ts +1 -0
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +9 -2
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/Dropzone/index.scss +7 -3
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +9 -6
- 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 -4
- 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 +6 -12
- package/dist/elements/EditUpload/index.d.ts +3 -6
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +20 -25
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EditUpload/index.scss +4 -1
- package/dist/elements/ErrorPill/index.scss +2 -14
- package/dist/elements/FieldSelect/index.d.ts +4 -5
- 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/FileDetails/FileMeta/index.scss +1 -0
- package/dist/elements/FileDetails/index.d.ts +2 -2
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +3 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.scss +28 -12
- package/dist/elements/GenerateConfirmation/index.scss +2 -0
- package/dist/elements/Hamburger/index.d.ts.map +1 -1
- package/dist/elements/Hamburger/index.js +17 -41
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/Hamburger/index.scss +22 -102
- package/dist/elements/HydrateAuthProvider/index.d.ts +13 -0
- package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -0
- package/dist/elements/{HydrateClientUser → HydrateAuthProvider}/index.js +3 -6
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -0
- package/dist/elements/IDLabel/index.js +1 -1
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/IDLabel/index.scss +2 -2
- 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 -3
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +48 -9
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +20 -17
- 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 +8 -8
- 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.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +7 -14
- 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 +13 -8
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/NavGroup/index.scss +2 -2
- package/dist/elements/Pill/index.d.ts +2 -2
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js +1 -5
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Pill/index.scss +17 -42
- 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/Popup/index.scss +6 -0
- 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 +9 -2
- 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/PreviewSizes/index.d.ts +4 -4
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.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 +21 -2
- 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.js +0 -1
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.scss +25 -3
- package/dist/elements/ReactSelect/MultiValueLabel/index.scss +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.scss +3 -3
- package/dist/elements/ReactSelect/ValueContainer/index.scss +5 -12
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +0 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.scss +11 -5
- package/dist/elements/ReactSelect/types.d.ts +1 -1
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RenderTitle/index.scss +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 +8 -3
- 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 +9 -4
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.d.ts +5 -3
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +20 -63
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.scss +2 -1
- package/dist/elements/SelectRow/index.scss +1 -0
- package/dist/elements/SortColumn/index.d.ts +2 -2
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +4 -4
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +1 -1
- package/dist/elements/SortComplex/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 +2 -0
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +9 -3
- 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.d.ts.map +1 -1
- 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/Code/index.scss +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/JSON/index.scss +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 +18 -5
- 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 +21 -13
- 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 -15
- 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/Table/index.scss +10 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +2 -3
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +30 -33
- 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 +4 -4
- 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/ThumbnailCard/index.scss +10 -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/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +106 -35
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +8 -4
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +17 -11
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +2 -2
- 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 +35 -22
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +21 -12
- 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/reduceClientFields.js +104 -0
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -0
- package/dist/elements/WhereBuilder/types.d.ts +6 -6
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +8 -2
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-UTZFZWZG.js → CodeEditor-UPOVAXRP.js} +2 -2
- package/dist/exports/client/{CodeEditor-UTZFZWZG.js.map → CodeEditor-UPOVAXRP.js.map} +3 -3
- package/dist/exports/client/{DatePicker-BN5AOAME.js → DatePicker-BEV27TZK.js} +2 -2
- package/dist/exports/client/chunk-B4RA26U5.js +30 -0
- package/dist/exports/client/{chunk-3X2D2TP2.js.map → chunk-B4RA26U5.js.map} +4 -4
- package/dist/exports/client/index.d.ts +16 -9
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +26 -39
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +5 -2
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -12
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts +23 -24
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +6 -4
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +2 -15
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +36 -17
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Array/index.scss +3 -1
- package/dist/fields/Blocks/BlockRow.d.ts +6 -7
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +10 -3
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +3 -4
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts +6 -7
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +13 -14
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.scss +13 -2
- package/dist/fields/Blocks/index.d.ts +2 -15
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +29 -12
- 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 +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +13 -9
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Checkbox/index.scss +9 -9
- package/dist/fields/Code/index.d.ts +1 -9
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +17 -9
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Code/index.scss +6 -18
- package/dist/fields/Collapsible/index.d.ts +1 -7
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +9 -7
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/Collapsible/index.scss +0 -4
- package/dist/fields/ConfirmPassword/index.d.ts +2 -1
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +12 -19
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -9
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +17 -9
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +1 -9
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +17 -8
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.d.ts +2 -2
- 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 +2 -2
- 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/FieldError/index.scss +6 -5
- package/dist/fields/FieldLabel/index.d.ts +2 -2
- 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 +2 -10
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +65 -58
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.d.ts +2 -9
- package/dist/fields/Hidden/index.d.ts.map +1 -1
- package/dist/fields/Hidden/index.js +3 -3
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +1 -9
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +16 -13
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/JSON/index.scss +6 -25
- 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 +1 -14
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +17 -11
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +1 -14
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +59 -45
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.d.ts +5 -0
- package/dist/fields/Password/input.d.ts.map +1 -0
- package/dist/fields/Password/input.js +75 -0
- package/dist/fields/Password/input.js.map +1 -0
- package/dist/fields/Password/types.d.ts +36 -0
- package/dist/fields/Password/types.d.ts.map +1 -0
- package/dist/fields/Password/types.js.map +1 -0
- package/dist/fields/Point/index.d.ts +2 -9
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +30 -16
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/Point/index.scss +4 -0
- package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +4 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.scss +13 -6
- package/dist/fields/RadioGroup/index.d.ts +1 -12
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +15 -11
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.scss +12 -1
- package/dist/fields/Relationship/AddNew/index.scss +3 -0
- 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 +1 -2
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +13 -9
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/index.scss +9 -2
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +8 -5
- package/dist/fields/Relationship/types.d.ts +1 -11
- 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 +1 -7
- 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 +1 -2
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +8 -10
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/index.scss +1 -5
- package/dist/fields/Select/Input.d.ts +26 -7
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +13 -11
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +1 -13
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +11 -12
- 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 +1 -9
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +30 -29
- 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 +24 -21
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts +3 -2
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +11 -12
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/index.scss +6 -0
- package/dist/fields/Text/types.d.ts +33 -28
- 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.d.ts +3 -2
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +12 -13
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/index.scss +1 -6
- package/dist/fields/Textarea/types.d.ts +28 -16
- 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 +28 -12
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +6 -5
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +26 -14
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/index.scss +10 -3
- 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/fields/shared/index.d.ts +1 -25
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/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/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +11 -38
- 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 +24 -29
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts +17 -0
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
- package/dist/forms/Form/rowHelpers.js +24 -0
- package/dist/forms/Form/rowHelpers.js.map +1 -0
- package/dist/forms/Form/types.d.ts +12 -19
- 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 +13 -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/index.scss +8 -5
- package/dist/forms/RenderFields/types.d.ts +11 -12
- 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 +6 -6
- 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/buildStateFromSchema/addFieldStatePromise.d.ts +1 -0
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +42 -20
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
- 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 +2 -1
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js +2 -1
- 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 +15 -8
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +3 -3
- 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 +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 +18 -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/useHotkey.js +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js +1 -1
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +6 -2
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +1 -1
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +2 -3
- 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/icons/Calendar/index.d.ts.map +1 -1
- package/dist/icons/Calendar/index.js +8 -33
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Calendar/index.scss +1 -1
- package/dist/icons/Check/index.d.ts.map +1 -1
- package/dist/icons/Check/index.js +8 -17
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Check/index.scss +1 -1
- package/dist/icons/Chevron/index.js +5 -4
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/Chevron/index.scss +2 -5
- package/dist/icons/CloseMenu/index.d.ts.map +1 -1
- package/dist/icons/CloseMenu/index.js +8 -22
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.scss +2 -2
- package/dist/icons/CodeBlock/index.d.ts.map +1 -1
- package/dist/icons/CodeBlock/index.js +8 -14
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.d.ts.map +1 -1
- package/dist/icons/Copy/index.js +12 -16
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Copy/index.scss +1 -1
- package/dist/icons/DragHandle/index.d.ts.map +1 -1
- package/dist/icons/DragHandle/index.js +19 -25
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/DragHandle/index.scss +2 -0
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +8 -21
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Edit/index.scss +3 -3
- package/dist/icons/Line/index.d.ts.map +1 -1
- package/dist/icons/Line/index.js +7 -6
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Line/index.scss +1 -1
- package/dist/icons/Link/index.d.ts.map +1 -1
- package/dist/icons/Link/index.js +11 -14
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/Link/index.scss +1 -1
- package/dist/icons/LogOut/index.d.ts.map +1 -1
- package/dist/icons/LogOut/index.js +9 -24
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/LogOut/index.scss +1 -1
- package/dist/icons/Menu/index.d.ts.map +1 -1
- package/dist/icons/Menu/index.js +10 -28
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/Menu/index.scss +3 -2
- package/dist/icons/MinimizeMaximize/index.d.ts.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +8 -35
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.d.ts.map +1 -1
- package/dist/icons/More/index.js +10 -13
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/More/index.scss +1 -0
- package/dist/icons/Plus/index.d.ts.map +1 -1
- package/dist/icons/Plus/index.js +10 -20
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Plus/index.scss +1 -1
- package/dist/icons/Search/index.d.ts.map +1 -1
- package/dist/icons/Search/index.js +8 -18
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Search/index.scss +1 -1
- package/dist/icons/Swap/index.d.ts.map +1 -1
- package/dist/icons/Swap/index.js +8 -28
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/Swap/index.scss +2 -2
- package/dist/icons/X/index.d.ts.map +1 -1
- package/dist/icons/X/index.js +10 -21
- package/dist/icons/X/index.js.map +1 -1
- package/dist/icons/X/index.scss +3 -3
- 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.d.ts +7 -3
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +53 -82
- 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 +2 -2
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +70 -28
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +6 -6
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.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 +14 -14
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +17 -10
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +9 -7
- package/dist/providers/ListQuery/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/Params/index.d.ts +2 -1
- package/dist/providers/Params/index.d.ts.map +1 -1
- package/dist/providers/Params/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 +3 -3
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +46 -46
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/SearchParams/index.d.ts +1 -1
- package/dist/providers/SearchParams/index.d.ts.map +1 -1
- package/dist/providers/SearchParams/index.js +1 -1
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +1 -1
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +2 -2
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +2 -2
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +2 -2
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +2 -2
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.d.ts.map +1 -1
- package/dist/providers/ToastContainer/index.js +3 -1
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.d.ts +12 -0
- package/dist/providers/UploadEdits/index.d.ts.map +1 -0
- package/dist/providers/UploadEdits/index.js +30 -0
- package/dist/providers/UploadEdits/index.js.map +1 -0
- package/dist/scss/app.scss +8 -7
- package/dist/scss/colors.scss +76 -76
- package/dist/scss/toasts.scss +75 -45
- package/dist/scss/type.scss +15 -23
- package/dist/scss/vars.scss +27 -48
- package/dist/styles.css +1 -1
- package/dist/utilities/api.d.ts +2 -2
- package/dist/utilities/api.d.ts.map +1 -1
- package/dist/utilities/api.js +1 -1
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +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 +23 -17
- 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/formatAdminURL.d.ts +9 -0
- package/dist/utilities/formatAdminURL.d.ts.map +1 -0
- package/dist/utilities/formatAdminURL.js +15 -0
- package/dist/utilities/formatAdminURL.js.map +1 -0
- 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/dist/utilities/reduceFieldsToValuesWithValidation.js +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/package.json +23 -26
- package/dist/elements/HydrateClientUser/index.d.ts +0 -6
- package/dist/elements/HydrateClientUser/index.d.ts.map +0 -1
- package/dist/elements/HydrateClientUser/index.js.map +0 -1
- 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 -3
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js +0 -56
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +0 -1
- package/dist/exports/client/chunk-3X2D2TP2.js +0 -30
- package/dist/fields/Checkbox/types.d.ts +0 -12
- package/dist/fields/Checkbox/types.d.ts.map +0 -1
- package/dist/fields/Checkbox/types.js.map +0 -1
- package/dist/fields/Row/types.d.ts +0 -12
- package/dist/fields/Row/types.d.ts.map +0 -1
- package/dist/fields/Row/types.js +0 -3
- package/dist/fields/Row/types.js.map +0 -1
- package/dist/fields/Upload/types.d.ts +0 -10
- package/dist/fields/Upload/types.d.ts.map +0 -1
- package/dist/fields/Upload/types.js +0 -3
- package/dist/fields/Upload/types.js.map +0 -1
- package/dist/forms/Form/createNestedFieldPath.d.ts +0 -5
- package/dist/forms/Form/createNestedFieldPath.d.ts.map +0 -1
- package/dist/forms/Form/createNestedFieldPath.js.map +0 -1
- package/dist/forms/Form/getDataByPath.d.ts +0 -3
- package/dist/forms/Form/getDataByPath.d.ts.map +0 -1
- package/dist/forms/Form/getDataByPath.js +0 -18
- package/dist/forms/Form/getDataByPath.js.map +0 -1
- package/dist/forms/Form/getSiblingData.d.ts +0 -3
- package/dist/forms/Form/getSiblingData.d.ts.map +0 -1
- package/dist/forms/Form/getSiblingData.js +0 -33
- package/dist/forms/Form/getSiblingData.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 -17
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +0 -117
- 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 -672
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +0 -18
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +0 -80
- 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 -77
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +0 -93
- 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 -24
- 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/providers/FormQueryParams/index.d.ts +0 -13
- package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
- package/dist/providers/FormQueryParams/index.js +0 -53
- package/dist/providers/FormQueryParams/index.js.map +0 -1
- package/dist/providers/FormQueryParams/types.d.ts +0 -16
- package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
- package/dist/providers/FormQueryParams/types.js +0 -3
- package/dist/providers/FormQueryParams/types.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/utilities/reduceFieldsToValues.d.ts +0 -10
- package/dist/utilities/reduceFieldsToValues.d.ts.map +0 -1
- package/dist/utilities/reduceFieldsToValues.js +0 -22
- package/dist/utilities/reduceFieldsToValues.js.map +0 -1
- package/dist/utilities/unflatten.d.ts +0 -9
- package/dist/utilities/unflatten.d.ts.map +0 -1
- package/dist/utilities/unflatten.js +0 -58
- package/dist/utilities/unflatten.js.map +0 -1
- /package/dist/exports/client/{DatePicker-BN5AOAME.js.map → DatePicker-BEV27TZK.js.map} +0 -0
- /package/dist/fields/{Checkbox → Password}/types.js +0 -0
|
@@ -2,61 +2,60 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useModal } from '@faceless-ui/modal';
|
|
4
4
|
import { usePathname, useRouter } from 'next/navigation.js';
|
|
5
|
-
import qs from 'qs';
|
|
5
|
+
import * as qs from 'qs-esm';
|
|
6
6
|
import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';
|
|
7
7
|
import { toast } from 'sonner';
|
|
8
8
|
import { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js';
|
|
9
9
|
import { useDebounce } from '../../hooks/useDebounce.js';
|
|
10
10
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
11
11
|
import { requests } from '../../utilities/api.js';
|
|
12
|
+
import { formatAdminURL } from '../../utilities/formatAdminURL.js';
|
|
12
13
|
import { useConfig } from '../Config/index.js';
|
|
13
|
-
import { useSearchParams } from '../SearchParams/index.js';
|
|
14
14
|
const Context = /*#__PURE__*/ createContext({});
|
|
15
15
|
const maxTimeoutTime = 2147483647;
|
|
16
|
-
export
|
|
17
|
-
const
|
|
18
|
-
const [user, setUser] = useState();
|
|
16
|
+
export function AuthProvider({ children, permissions: initialPermissions, user: initialUser }) {
|
|
17
|
+
const [user, setUser] = useState(initialUser);
|
|
19
18
|
const [tokenInMemory, setTokenInMemory] = useState();
|
|
20
19
|
const [tokenExpiration, setTokenExpiration] = useState();
|
|
21
|
-
const [strategy, setStrategy] = useState();
|
|
22
20
|
const pathname = usePathname();
|
|
23
21
|
const router = useRouter();
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
;
|
|
27
|
-
const config = useConfig();
|
|
28
|
-
const { admin: { autoLogin, routes: { inactivity: logoutInactivityRoute }, routes: { login: loginRoute }, user: userSlug }, routes: { admin, api }, serverURL } = config;
|
|
29
|
-
const [permissions, setPermissions] = useState();
|
|
22
|
+
const { config } = useConfig();
|
|
23
|
+
const { admin: { routes: { inactivity: logoutInactivityRoute }, user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } = config;
|
|
24
|
+
const [permissions, setPermissions] = useState(initialPermissions);
|
|
30
25
|
const { i18n } = useTranslation();
|
|
31
26
|
const { closeAllModals, openModal } = useModal();
|
|
32
27
|
const [lastLocationChange, setLastLocationChange] = useState(0);
|
|
33
28
|
const debouncedLocationChange = useDebounce(lastLocationChange, 10000);
|
|
34
29
|
const id = user?.id;
|
|
35
30
|
const redirectToInactivityRoute = useCallback(()=>{
|
|
36
|
-
if (window.location.pathname.startsWith(
|
|
31
|
+
if (window.location.pathname.startsWith(adminRoute)) {
|
|
37
32
|
const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`;
|
|
38
|
-
router.replace(
|
|
33
|
+
router.replace(formatAdminURL({
|
|
34
|
+
adminRoute,
|
|
35
|
+
path: `${logoutInactivityRoute}${redirectParam}`
|
|
36
|
+
}));
|
|
39
37
|
} else {
|
|
40
|
-
router.replace(
|
|
38
|
+
router.replace(formatAdminURL({
|
|
39
|
+
adminRoute,
|
|
40
|
+
path: logoutInactivityRoute
|
|
41
|
+
}));
|
|
41
42
|
}
|
|
42
43
|
closeAllModals();
|
|
43
44
|
}, [
|
|
44
45
|
router,
|
|
45
|
-
|
|
46
|
+
adminRoute,
|
|
46
47
|
logoutInactivityRoute,
|
|
47
48
|
closeAllModals
|
|
48
49
|
]);
|
|
49
50
|
const revokeTokenAndExpire = useCallback(()=>{
|
|
50
51
|
setTokenInMemory(undefined);
|
|
51
52
|
setTokenExpiration(undefined);
|
|
52
|
-
setStrategy(undefined);
|
|
53
53
|
}, []);
|
|
54
54
|
const setTokenAndExpiration = useCallback((json)=>{
|
|
55
55
|
const token = json?.token || json?.refreshedToken;
|
|
56
56
|
if (token && json?.exp) {
|
|
57
57
|
setTokenInMemory(token);
|
|
58
58
|
setTokenExpiration(json.exp);
|
|
59
|
-
if (json.strategy) setStrategy(json.strategy);
|
|
60
59
|
} else {
|
|
61
60
|
revokeTokenAndExpire();
|
|
62
61
|
}
|
|
@@ -67,30 +66,33 @@ export const AuthProvider = ({ children })=>{
|
|
|
67
66
|
const now = Math.round(new Date().getTime() / 1000);
|
|
68
67
|
const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now;
|
|
69
68
|
if (forceRefresh || tokenExpiration && remainingTime < 120) {
|
|
70
|
-
setTimeout(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
setTimeout(()=>{
|
|
70
|
+
async function refresh() {
|
|
71
|
+
try {
|
|
72
|
+
const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
|
|
73
|
+
headers: {
|
|
74
|
+
'Accept-Language': i18n.language
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
if (request.status === 200) {
|
|
78
|
+
const json = await request.json();
|
|
79
|
+
setUser(json.user);
|
|
80
|
+
setTokenAndExpiration(json);
|
|
81
|
+
} else {
|
|
82
|
+
setUser(null);
|
|
83
|
+
redirectToInactivityRoute();
|
|
75
84
|
}
|
|
76
|
-
})
|
|
77
|
-
|
|
78
|
-
const json = await request.json();
|
|
79
|
-
setUser(json.user);
|
|
80
|
-
setTokenAndExpiration(json);
|
|
81
|
-
} else {
|
|
82
|
-
setUser(null);
|
|
83
|
-
redirectToInactivityRoute();
|
|
85
|
+
} catch (e) {
|
|
86
|
+
toast.error(e.message);
|
|
84
87
|
}
|
|
85
|
-
} catch (e) {
|
|
86
|
-
toast.error(e.message);
|
|
87
88
|
}
|
|
89
|
+
void refresh();
|
|
88
90
|
}, 1000);
|
|
89
91
|
}
|
|
90
92
|
}, [
|
|
91
93
|
tokenExpiration,
|
|
92
94
|
serverURL,
|
|
93
|
-
|
|
95
|
+
apiRoute,
|
|
94
96
|
userSlug,
|
|
95
97
|
i18n,
|
|
96
98
|
redirectToInactivityRoute,
|
|
@@ -98,7 +100,7 @@ export const AuthProvider = ({ children })=>{
|
|
|
98
100
|
]);
|
|
99
101
|
const refreshCookieAsync = useCallback(async (skipSetUser)=>{
|
|
100
102
|
try {
|
|
101
|
-
const request = await requests.post(`${serverURL}${
|
|
103
|
+
const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
|
|
102
104
|
headers: {
|
|
103
105
|
'Accept-Language': i18n.language
|
|
104
106
|
}
|
|
@@ -120,7 +122,7 @@ export const AuthProvider = ({ children })=>{
|
|
|
120
122
|
}
|
|
121
123
|
}, [
|
|
122
124
|
serverURL,
|
|
123
|
-
|
|
125
|
+
apiRoute,
|
|
124
126
|
userSlug,
|
|
125
127
|
i18n,
|
|
126
128
|
redirectToInactivityRoute,
|
|
@@ -130,22 +132,24 @@ export const AuthProvider = ({ children })=>{
|
|
|
130
132
|
setUser(null);
|
|
131
133
|
revokeTokenAndExpire();
|
|
132
134
|
try {
|
|
133
|
-
await requests.post(`${serverURL}${
|
|
135
|
+
await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`);
|
|
134
136
|
} catch (e) {
|
|
135
137
|
toast.error(`Logging out failed: ${e.message}`);
|
|
136
138
|
}
|
|
137
139
|
}, [
|
|
138
140
|
serverURL,
|
|
139
|
-
|
|
141
|
+
apiRoute,
|
|
140
142
|
userSlug,
|
|
141
143
|
revokeTokenAndExpire
|
|
142
144
|
]);
|
|
143
|
-
const refreshPermissions = useCallback(async ()=>{
|
|
144
|
-
const params = {
|
|
145
|
-
locale
|
|
146
|
-
}
|
|
145
|
+
const refreshPermissions = useCallback(async ({ locale } = {})=>{
|
|
146
|
+
const params = qs.stringify({
|
|
147
|
+
locale
|
|
148
|
+
}, {
|
|
149
|
+
addQueryPrefix: true
|
|
150
|
+
});
|
|
147
151
|
try {
|
|
148
|
-
const request = await requests.get(`${serverURL}${
|
|
152
|
+
const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {
|
|
149
153
|
headers: {
|
|
150
154
|
'Accept-Language': i18n.language
|
|
151
155
|
}
|
|
@@ -161,13 +165,12 @@ export const AuthProvider = ({ children })=>{
|
|
|
161
165
|
}
|
|
162
166
|
}, [
|
|
163
167
|
serverURL,
|
|
164
|
-
|
|
165
|
-
i18n
|
|
166
|
-
code
|
|
168
|
+
apiRoute,
|
|
169
|
+
i18n
|
|
167
170
|
]);
|
|
168
171
|
const fetchFullUser = React.useCallback(async ()=>{
|
|
169
172
|
try {
|
|
170
|
-
const request = await requests.get(`${serverURL}${
|
|
173
|
+
const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {
|
|
171
174
|
headers: {
|
|
172
175
|
'Accept-Language': i18n.language
|
|
173
176
|
}
|
|
@@ -179,31 +182,6 @@ export const AuthProvider = ({ children })=>{
|
|
|
179
182
|
if (json?.token) {
|
|
180
183
|
setTokenAndExpiration(json);
|
|
181
184
|
}
|
|
182
|
-
} else if (autoLogin && autoLogin.prefillOnly !== true) {
|
|
183
|
-
// auto log-in with the provided autoLogin credentials. This is used in dev mode
|
|
184
|
-
// so you don't have to log in over and over again
|
|
185
|
-
const autoLoginResult = await requests.post(`${serverURL}${api}/${userSlug}${loginRoute}`, {
|
|
186
|
-
body: JSON.stringify({
|
|
187
|
-
email: autoLogin.email,
|
|
188
|
-
password: autoLogin.password,
|
|
189
|
-
username: autoLogin.username
|
|
190
|
-
}),
|
|
191
|
-
headers: {
|
|
192
|
-
'Accept-Language': i18n.language,
|
|
193
|
-
'Content-Type': 'application/json'
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
if (autoLoginResult.status === 200) {
|
|
197
|
-
const autoLoginJson = await autoLoginResult.json();
|
|
198
|
-
setUser(autoLoginJson.user);
|
|
199
|
-
if (autoLoginJson?.token) {
|
|
200
|
-
setTokenAndExpiration(autoLoginJson);
|
|
201
|
-
}
|
|
202
|
-
router.replace(typeof searchParams['redirect'] === 'string' ? searchParams['redirect'] : admin);
|
|
203
|
-
} else {
|
|
204
|
-
setUser(null);
|
|
205
|
-
revokeTokenAndExpire();
|
|
206
|
-
}
|
|
207
185
|
} else {
|
|
208
186
|
setUser(null);
|
|
209
187
|
revokeTokenAndExpire();
|
|
@@ -214,18 +192,11 @@ export const AuthProvider = ({ children })=>{
|
|
|
214
192
|
}
|
|
215
193
|
}, [
|
|
216
194
|
serverURL,
|
|
217
|
-
|
|
195
|
+
apiRoute,
|
|
218
196
|
userSlug,
|
|
219
197
|
i18n.language,
|
|
220
|
-
autoLogin,
|
|
221
198
|
setTokenAndExpiration,
|
|
222
|
-
|
|
223
|
-
searchParams,
|
|
224
|
-
admin,
|
|
225
|
-
revokeTokenAndExpire,
|
|
226
|
-
strategy,
|
|
227
|
-
tokenExpiration,
|
|
228
|
-
loginRoute
|
|
199
|
+
revokeTokenAndExpire
|
|
229
200
|
]);
|
|
230
201
|
// On mount, get user and set
|
|
231
202
|
useEffect(()=>{
|
|
@@ -300,7 +271,7 @@ export const AuthProvider = ({ children })=>{
|
|
|
300
271
|
},
|
|
301
272
|
children: children
|
|
302
273
|
});
|
|
303
|
-
}
|
|
274
|
+
}
|
|
304
275
|
export const useAuth = ()=>useContext(Context);
|
|
305
276
|
|
|
306
277
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, MeOperationResult, Permissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => void\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n strategy?: string\n token?: string\n tokenExpiration?: number\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\nexport const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const { searchParams } = useSearchParams()\n const [user, setUser] = useState<ClientUser | null>()\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const [strategy, setStrategy] = useState<string>()\n const pathname = usePathname()\n const router = useRouter()\n // const { code } = useLocale()\n const code = 'en' // TODO: re-enable i18n asap\n\n const config = useConfig()\n\n const {\n admin: {\n autoLogin,\n routes: { inactivity: logoutInactivityRoute },\n routes: { login: loginRoute },\n user: userSlug,\n },\n routes: { admin, api },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>()\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(admin)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(`${admin}${logoutInactivityRoute}${redirectParam}`)\n } else {\n router.replace(`${admin}${logoutInactivityRoute}`)\n }\n closeAllModals()\n }, [router, admin, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n setStrategy(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n if (json.strategy) setStrategy(json.strategy)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(async () => {\n try {\n const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n api,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, api, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${api}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, api, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(async () => {\n const params = {\n locale: code,\n }\n\n try {\n const request = await requests.get(`${serverURL}${api}/access?${qs.stringify(params)}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n }, [serverURL, api, i18n, code])\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${api}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else if (autoLogin && autoLogin.prefillOnly !== true) {\n // auto log-in with the provided autoLogin credentials. This is used in dev mode\n // so you don't have to log in over and over again\n const autoLoginResult = await requests.post(\n `${serverURL}${api}/${userSlug}${loginRoute}`,\n {\n body: JSON.stringify({\n email: autoLogin.email,\n password: autoLogin.password,\n username: autoLogin.username,\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n if (autoLoginResult.status === 200) {\n const autoLoginJson = await autoLoginResult.json()\n setUser(autoLoginJson.user)\n if (autoLoginJson?.token) {\n setTokenAndExpiration(autoLoginJson)\n }\n router.replace(\n typeof searchParams['redirect'] === 'string' ? searchParams['redirect'] : admin,\n )\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [\n serverURL,\n api,\n userSlug,\n i18n.language,\n autoLogin,\n setTokenAndExpiration,\n router,\n searchParams,\n admin,\n revokeTokenAndExpire,\n strategy,\n tokenExpiration,\n loginRoute,\n ])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal(stayLoggedInModalSlug)\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) clearTimeout(reminder)\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) clearTimeout(forceLogOut)\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","useConfig","useSearchParams","Context","maxTimeoutTime","AuthProvider","children","searchParams","user","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","strategy","setStrategy","pathname","router","code","config","admin","autoLogin","routes","inactivity","logoutInactivityRoute","login","loginRoute","userSlug","api","serverURL","permissions","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","params","locale","get","stringify","Error","fetchFullUser","prefillOnly","autoLoginResult","body","JSON","email","password","username","autoLoginJson","reminder","max","min","clearTimeout","forceLogOut","Provider","value","useAuth"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, MeOperationResult, Permissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { useConfig } from '../Config/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => Promise<void>\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n strategy?: string\n token?: string\n tokenExpiration?: number\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: Permissions\n user?: ClientUser | null\n}\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const [user, setUser] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>(initialPermissions)\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(adminRoute)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${redirectParam}`,\n }),\n )\n } else {\n router.replace(\n formatAdminURL({\n adminRoute,\n path: logoutInactivityRoute,\n }),\n )\n }\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(() => {\n async function refresh() {\n try {\n const request = await requests.post(\n `${serverURL}${apiRoute}/${userSlug}/refresh-token`,\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }\n\n void refresh()\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n apiRoute,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, apiRoute, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [serverURL, apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, i18n.language, setTokenAndExpiration, revokeTokenAndExpire])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal(stayLoggedInModalSlug)\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) clearTimeout(reminder)\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) clearTimeout(forceLogOut)\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","formatAdminURL","useConfig","Context","maxTimeoutTime","AuthProvider","children","permissions","initialPermissions","user","initialUser","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","config","admin","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","path","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","refresh","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","reminder","max","min","clearTimeout","forceLogOut","Provider","value","useAuth"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MappedComponent } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Can be used to render both MappedComponents and React Components.
|
|
5
|
+
*/
|
|
6
|
+
export declare const RenderComponent: React.FC<{
|
|
7
|
+
readonly Component?: React.ComponentType | React.ComponentType[];
|
|
8
|
+
readonly clientProps?: object;
|
|
9
|
+
readonly mappedComponent?: MappedComponent | MappedComponent[];
|
|
10
|
+
readonly serverProps?: object;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=RenderComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/RenderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CAsEA,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isReactServerComponentOrFunction } from 'payload/shared';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* Can be used to render both MappedComponents and React Components.
|
|
6
|
+
*/ export const RenderComponent = ({ Component, clientProps = {}, mappedComponent, serverProps })=>{
|
|
7
|
+
if (!mappedComponent && Component) {
|
|
8
|
+
if (Array.isArray(Component)) {
|
|
9
|
+
return Component.map((c, index)=>/*#__PURE__*/ _jsx(RenderComponent, {
|
|
10
|
+
Component: c,
|
|
11
|
+
clientProps: clientProps,
|
|
12
|
+
serverProps: serverProps
|
|
13
|
+
}, index));
|
|
14
|
+
}
|
|
15
|
+
const mappedComponent = isReactServerComponentOrFunction(Component) ? {
|
|
16
|
+
type: 'server',
|
|
17
|
+
Component,
|
|
18
|
+
RenderedComponent: null
|
|
19
|
+
} : {
|
|
20
|
+
type: 'client',
|
|
21
|
+
Component
|
|
22
|
+
};
|
|
23
|
+
return /*#__PURE__*/ _jsx(RenderComponent, {
|
|
24
|
+
clientProps: clientProps,
|
|
25
|
+
mappedComponent: mappedComponent,
|
|
26
|
+
serverProps: serverProps
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (!mappedComponent) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (Array.isArray(mappedComponent)) {
|
|
33
|
+
return mappedComponent.map((c, index)=>/*#__PURE__*/ _jsx(RenderComponent, {
|
|
34
|
+
clientProps: clientProps,
|
|
35
|
+
mappedComponent: c,
|
|
36
|
+
serverProps: serverProps
|
|
37
|
+
}, index));
|
|
38
|
+
}
|
|
39
|
+
if (mappedComponent.RenderedComponent) {
|
|
40
|
+
return mappedComponent.RenderedComponent;
|
|
41
|
+
}
|
|
42
|
+
if (!mappedComponent.Component) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (mappedComponent.type === 'server') {
|
|
46
|
+
if (mappedComponent.props) {
|
|
47
|
+
return /*#__PURE__*/ _jsx(mappedComponent.Component, {
|
|
48
|
+
...mappedComponent.props,
|
|
49
|
+
...serverProps,
|
|
50
|
+
...clientProps
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return /*#__PURE__*/ _jsx(mappedComponent.Component, {
|
|
54
|
+
...serverProps,
|
|
55
|
+
...clientProps
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (mappedComponent.props) {
|
|
59
|
+
return /*#__PURE__*/ _jsx(mappedComponent.Component, {
|
|
60
|
+
...mappedComponent.props,
|
|
61
|
+
...clientProps
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return /*#__PURE__*/ _jsx(mappedComponent.Component, {
|
|
65
|
+
...clientProps
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=RenderComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Config/RenderComponent.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderComponent: React.FC<{\n readonly Component?: React.ComponentType | React.ComponentType[]\n readonly clientProps?: object\n readonly mappedComponent?: MappedComponent | MappedComponent[]\n readonly serverProps?: object\n}> = ({ Component, clientProps = {}, mappedComponent, serverProps }) => {\n if (!mappedComponent && Component) {\n if (Array.isArray(Component)) {\n return Component.map((c, index) => (\n <RenderComponent\n Component={c}\n clientProps={clientProps}\n key={index}\n serverProps={serverProps}\n />\n ))\n }\n\n const mappedComponent: MappedComponent = isReactServerComponentOrFunction(Component)\n ? {\n type: 'server',\n Component,\n RenderedComponent: null,\n }\n : {\n type: 'client',\n Component,\n }\n\n return (\n <RenderComponent\n clientProps={clientProps}\n mappedComponent={mappedComponent}\n serverProps={serverProps}\n />\n )\n }\n if (!mappedComponent) {\n return null\n }\n\n if (Array.isArray(mappedComponent)) {\n return mappedComponent.map((c, index) => (\n <RenderComponent\n clientProps={clientProps}\n key={index}\n mappedComponent={c}\n serverProps={serverProps}\n />\n ))\n }\n\n if (mappedComponent.RenderedComponent) {\n return mappedComponent.RenderedComponent\n }\n\n if (!mappedComponent.Component) {\n return null\n }\n\n if (mappedComponent.type === 'server') {\n if (mappedComponent.props) {\n return (\n <mappedComponent.Component {...mappedComponent.props} {...serverProps} {...clientProps} />\n )\n }\n\n return <mappedComponent.Component {...serverProps} {...clientProps} />\n }\n\n if (mappedComponent.props) {\n return <mappedComponent.Component {...mappedComponent.props} {...clientProps} />\n }\n\n return <mappedComponent.Component {...clientProps} />\n}\n"],"names":["isReactServerComponentOrFunction","React","RenderComponent","Component","clientProps","mappedComponent","serverProps","Array","isArray","map","c","index","type","RenderedComponent","props"],"mappings":";AAEA,SAASA,gCAAgC,QAAQ,iBAAgB;AACjE,OAAOC,WAAW,QAAO;AAEzB;;CAEC,GACD,OAAO,MAAMC,kBAKR,CAAC,EAAEC,SAAS,EAAEC,cAAc,CAAC,CAAC,EAAEC,eAAe,EAAEC,WAAW,EAAE;IACjE,IAAI,CAACD,mBAAmBF,WAAW;QACjC,IAAII,MAAMC,OAAO,CAACL,YAAY;YAC5B,OAAOA,UAAUM,GAAG,CAAC,CAACC,GAAGC,sBACvB,KAACT;oBACCC,WAAWO;oBACXN,aAAaA;oBAEbE,aAAaA;mBADRK;QAIX;QAEA,MAAMN,kBAAmCL,iCAAiCG,aACtE;YACES,MAAM;YACNT;YACAU,mBAAmB;QACrB,IACA;YACED,MAAM;YACNT;QACF;QAEJ,qBACE,KAACD;YACCE,aAAaA;YACbC,iBAAiBA;YACjBC,aAAaA;;IAGnB;IACA,IAAI,CAACD,iBAAiB;QACpB,OAAO;IACT;IAEA,IAAIE,MAAMC,OAAO,CAACH,kBAAkB;QAClC,OAAOA,gBAAgBI,GAAG,CAAC,CAACC,GAAGC,sBAC7B,KAACT;gBACCE,aAAaA;gBAEbC,iBAAiBK;gBACjBJ,aAAaA;eAFRK;IAKX;IAEA,IAAIN,gBAAgBQ,iBAAiB,EAAE;QACrC,OAAOR,gBAAgBQ,iBAAiB;IAC1C;IAEA,IAAI,CAACR,gBAAgBF,SAAS,EAAE;QAC9B,OAAO;IACT;IAEA,IAAIE,gBAAgBO,IAAI,KAAK,UAAU;QACrC,IAAIP,gBAAgBS,KAAK,EAAE;YACzB,qBACE,KAACT,gBAAgBF,SAAS;gBAAE,GAAGE,gBAAgBS,KAAK;gBAAG,GAAGR,WAAW;gBAAG,GAAGF,WAAW;;QAE1F;QAEA,qBAAO,KAACC,gBAAgBF,SAAS;YAAE,GAAGG,WAAW;YAAG,GAAGF,WAAW;;IACpE;IAEA,IAAIC,gBAAgBS,KAAK,EAAE;QACzB,qBAAO,KAACT,gBAAgBF,SAAS;YAAE,GAAGE,gBAAgBS,KAAK;YAAG,GAAGV,WAAW;;IAC9E;IAEA,qBAAO,KAACC,gBAAgBF,SAAS;QAAE,GAAGC,WAAW;;AACnD,EAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
+
import type { AdminViewProps, ClientCollectionConfig, CreateMappedComponent, EditViewProps, ImportMap, Payload, SanitizedCollectionConfig } from 'payload';
|
|
3
|
+
import type React from 'react';
|
|
4
|
+
export declare const createClientCollectionConfig: ({ DefaultEditView, DefaultListView, clientCollection, collection, createMappedComponent, i18n, importMap, payload, }: {
|
|
5
|
+
DefaultEditView: React.FC<EditViewProps>;
|
|
6
|
+
DefaultListView: React.FC<AdminViewProps>;
|
|
7
|
+
clientCollection: ClientCollectionConfig;
|
|
8
|
+
collection: SanitizedCollectionConfig;
|
|
9
|
+
createMappedComponent: CreateMappedComponent;
|
|
10
|
+
i18n: I18nClient;
|
|
11
|
+
importMap: ImportMap;
|
|
12
|
+
payload: Payload;
|
|
13
|
+
}) => ClientCollectionConfig;
|
|
14
|
+
export declare const createClientCollectionConfigs: ({ DefaultEditView, DefaultListView, clientCollections, collections, createMappedComponent, i18n, importMap, payload, }: {
|
|
15
|
+
DefaultEditView: React.FC<EditViewProps>;
|
|
16
|
+
DefaultListView: React.FC<AdminViewProps>;
|
|
17
|
+
clientCollections: ClientCollectionConfig[];
|
|
18
|
+
collections: SanitizedCollectionConfig[];
|
|
19
|
+
createMappedComponent: CreateMappedComponent;
|
|
20
|
+
i18n: I18nClient;
|
|
21
|
+
importMap: ImportMap;
|
|
22
|
+
payload: Payload;
|
|
23
|
+
}) => ClientCollectionConfig[];
|
|
24
|
+
//# sourceMappingURL=collections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EAErB,aAAa,EACb,SAAS,EAET,OAAO,EACP,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,eAAO,MAAM,4BAA4B,yHAStC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,UAAU,EAAE,yBAAyB,CAAA;IACrC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAqTH,CAAA;AAED,eAAO,MAAM,6BAA6B,2HASvC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAAsB,EAiBzB,CAAA"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { deepCopyObjectSimple } from 'payload';
|
|
2
|
+
import { createClientFields } from './fields.js';
|
|
3
|
+
export const createClientCollectionConfig = ({ DefaultEditView, DefaultListView, clientCollection, collection, createMappedComponent, i18n, importMap, payload })=>{
|
|
4
|
+
clientCollection.fields = createClientFields({
|
|
5
|
+
clientFields: clientCollection.fields,
|
|
6
|
+
createMappedComponent,
|
|
7
|
+
fields: collection.fields,
|
|
8
|
+
i18n,
|
|
9
|
+
importMap,
|
|
10
|
+
payload
|
|
11
|
+
});
|
|
12
|
+
const serverOnlyCollectionProperties = [
|
|
13
|
+
'hooks',
|
|
14
|
+
'access',
|
|
15
|
+
'endpoints',
|
|
16
|
+
'custom'
|
|
17
|
+
];
|
|
18
|
+
serverOnlyCollectionProperties.forEach((key)=>{
|
|
19
|
+
if (key in clientCollection) {
|
|
20
|
+
delete clientCollection[key];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
if ('upload' in clientCollection && typeof clientCollection.upload === 'object') {
|
|
24
|
+
delete clientCollection.upload.handlers;
|
|
25
|
+
delete clientCollection.upload.adminThumbnail;
|
|
26
|
+
delete clientCollection.upload.externalFileHeaderFilter;
|
|
27
|
+
delete clientCollection.upload.withMetadata;
|
|
28
|
+
if ('imageSizes' in clientCollection.upload && clientCollection.upload.imageSizes.length) {
|
|
29
|
+
clientCollection.upload.imageSizes = clientCollection.upload.imageSizes.map((size)=>{
|
|
30
|
+
const sanitizedSize = {
|
|
31
|
+
...size
|
|
32
|
+
};
|
|
33
|
+
if ('generateImageName' in sanitizedSize) delete sanitizedSize.generateImageName;
|
|
34
|
+
return sanitizedSize;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if ('auth' in clientCollection && typeof clientCollection.auth === 'object') {
|
|
39
|
+
delete clientCollection.auth.strategies;
|
|
40
|
+
delete clientCollection.auth.forgotPassword;
|
|
41
|
+
delete clientCollection.auth.verify;
|
|
42
|
+
}
|
|
43
|
+
if (collection.labels) {
|
|
44
|
+
Object.entries(collection.labels).forEach(([labelType, collectionLabel])=>{
|
|
45
|
+
if (typeof collectionLabel === 'function') {
|
|
46
|
+
clientCollection.labels[labelType] = collectionLabel({
|
|
47
|
+
t: i18n.t
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
const serverOnlyCollectionAdminProperties = [
|
|
53
|
+
'hidden',
|
|
54
|
+
'preview'
|
|
55
|
+
];
|
|
56
|
+
serverOnlyCollectionAdminProperties.forEach((key)=>{
|
|
57
|
+
if (key in clientCollection.admin) {
|
|
58
|
+
delete clientCollection.admin[key];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
if (collection.admin.preview) {
|
|
62
|
+
clientCollection._isPreviewEnabled = true;
|
|
63
|
+
}
|
|
64
|
+
clientCollection.admin.components = {};
|
|
65
|
+
if (collection?.admin?.components) {
|
|
66
|
+
if (collection.admin.components?.edit) {
|
|
67
|
+
clientCollection.admin.components.edit = {};
|
|
68
|
+
if (collection.admin.components.edit?.PreviewButton) {
|
|
69
|
+
clientCollection.admin.components.edit.PreviewButton = createMappedComponent(collection.admin.components.edit.PreviewButton, undefined, undefined, 'collection.admin.components.edit.PreviewButton');
|
|
70
|
+
}
|
|
71
|
+
if (collection.admin.components.edit?.PublishButton) {
|
|
72
|
+
clientCollection.admin.components.edit.PublishButton = createMappedComponent(collection.admin.components.edit.PublishButton, undefined, undefined, 'collection.admin.components.edit.PublishButton');
|
|
73
|
+
}
|
|
74
|
+
if (collection.admin.components.edit?.SaveButton) {
|
|
75
|
+
clientCollection.admin.components.edit.SaveButton = createMappedComponent(collection.admin.components.edit.SaveButton, undefined, undefined, 'collection.admin.components.edit.SaveButton');
|
|
76
|
+
}
|
|
77
|
+
if (collection.admin.components.edit?.SaveDraftButton) {
|
|
78
|
+
clientCollection.admin.components.edit.SaveDraftButton = createMappedComponent(collection.admin.components.edit.SaveDraftButton, undefined, undefined, 'collection.admin.components.edit.SaveDraftButton');
|
|
79
|
+
}
|
|
80
|
+
if (collection.admin.components.edit?.Upload) {
|
|
81
|
+
clientCollection.admin.components.edit.Upload = createMappedComponent(collection.admin.components.edit.Upload, undefined, undefined, 'collection.admin.components.edit.Upload');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (collection.admin.components?.beforeList) {
|
|
85
|
+
clientCollection.admin.components.beforeList = collection.admin.components.beforeList.map((Component)=>createMappedComponent(Component, undefined, undefined, 'collection.admin.components.beforeList'));
|
|
86
|
+
}
|
|
87
|
+
if (collection.admin.components?.beforeListTable) {
|
|
88
|
+
clientCollection.admin.components.beforeListTable = collection.admin.components.beforeListTable.map((Component)=>createMappedComponent(Component, undefined, undefined, 'collection.admin.components.beforeListTable'));
|
|
89
|
+
}
|
|
90
|
+
if (collection.admin.components?.afterList) {
|
|
91
|
+
clientCollection.admin.components.afterList = collection.admin.components.afterList.map((Component)=>createMappedComponent(Component, undefined, undefined, 'collection.admin.components.afterList'));
|
|
92
|
+
}
|
|
93
|
+
if (collection.admin.components?.afterListTable) {
|
|
94
|
+
clientCollection.admin.components.afterListTable = collection.admin.components.afterListTable.map((Component)=>createMappedComponent(Component, undefined, undefined, 'collection.admin.components.afterListTable'));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
let description = undefined;
|
|
98
|
+
if (collection.admin?.description) {
|
|
99
|
+
if (typeof collection.admin?.description === 'string' || typeof collection.admin?.description === 'object') {
|
|
100
|
+
description = collection.admin.description;
|
|
101
|
+
} else if (typeof collection.admin?.description === 'function') {
|
|
102
|
+
description = collection.admin?.description({
|
|
103
|
+
t: i18n.t
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
clientCollection.admin.description = description;
|
|
108
|
+
if (collection.admin.components.edit?.Description) {
|
|
109
|
+
clientCollection.admin.components.edit.Description = createMappedComponent(collection.admin.components.edit.Description, {
|
|
110
|
+
description
|
|
111
|
+
}, undefined, 'collection.admin.components.edit.Description');
|
|
112
|
+
}
|
|
113
|
+
clientCollection.admin.description = description;
|
|
114
|
+
clientCollection.admin.components.views = collection?.admin?.components?.views ? deepCopyObjectSimple(collection?.admin?.components?.views) : {};
|
|
115
|
+
const hasEditView = 'admin' in collection && 'components' in collection.admin && 'views' in collection.admin.components && 'edit' in collection.admin.components.views && 'default' in collection.admin.components.views.edit;
|
|
116
|
+
if (!clientCollection.admin.components.views.edit) {
|
|
117
|
+
clientCollection.admin.components.views.edit = {};
|
|
118
|
+
}
|
|
119
|
+
clientCollection.admin.components.views.edit.default = {
|
|
120
|
+
Component: createMappedComponent(hasEditView && 'Component' in collection.admin.components.views.edit.default && collection.admin.components.views.edit.default.Component, {
|
|
121
|
+
collectionSlug: collection.slug
|
|
122
|
+
}, DefaultEditView, 'collection.admin.components.views.edit.default')
|
|
123
|
+
};
|
|
124
|
+
if (collection?.admin?.components?.views?.edit) {
|
|
125
|
+
for(const key in collection.admin.components.views.edit){
|
|
126
|
+
const view = collection.admin.components.views.edit[key];
|
|
127
|
+
if (!clientCollection.admin.components.views.edit[key]) {
|
|
128
|
+
clientCollection.admin.components.views.edit[key] = {};
|
|
129
|
+
}
|
|
130
|
+
if ('Component' in view && key !== 'default') {
|
|
131
|
+
clientCollection.admin.components.views.edit[key].Component = createMappedComponent(view.Component, {
|
|
132
|
+
collectionSlug: collection.slug
|
|
133
|
+
}, undefined, 'collection.admin.components.views.edit.key.Component');
|
|
134
|
+
}
|
|
135
|
+
if ('actions' in view && view.actions?.length) {
|
|
136
|
+
clientCollection.admin.components.views.edit[key].actions = view.actions.map((Component)=>createMappedComponent(Component, undefined, undefined, 'collection.admin.components.views.key.admin'));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const hasListView = 'admin' in collection && 'components' in collection.admin && 'views' in collection.admin.components && 'list' in collection.admin.components.views;
|
|
141
|
+
if (!clientCollection.admin.components.views.list) {
|
|
142
|
+
clientCollection.admin.components.views.list = {};
|
|
143
|
+
}
|
|
144
|
+
clientCollection.admin.components.views.list.Component = createMappedComponent(hasListView && 'Component' in collection.admin.components.views.list && collection.admin.components.views.list.Component, {
|
|
145
|
+
collectionSlug: collection.slug
|
|
146
|
+
}, DefaultListView, 'collection.admin.components.views.list');
|
|
147
|
+
if (hasListView && 'actions' in collection.admin.components.views.list && collection.admin.components.views.list.actions) {
|
|
148
|
+
clientCollection.admin.components.views.list.actions = collection.admin.components.views.list.actions.map((Component)=>createMappedComponent(Component, undefined, undefined, 'collection.admin.components.views.list'));
|
|
149
|
+
}
|
|
150
|
+
if ('livePreview' in clientCollection.admin && clientCollection.admin.livePreview && 'url' in clientCollection.admin.livePreview) {
|
|
151
|
+
delete clientCollection.admin.livePreview.url;
|
|
152
|
+
}
|
|
153
|
+
return clientCollection;
|
|
154
|
+
};
|
|
155
|
+
export const createClientCollectionConfigs = ({ DefaultEditView, DefaultListView, clientCollections, collections, createMappedComponent, i18n, importMap, payload })=>{
|
|
156
|
+
for(let i = 0; i < collections.length; i++){
|
|
157
|
+
const collection = collections[i];
|
|
158
|
+
const clientCollection = clientCollections[i];
|
|
159
|
+
clientCollections[i] = createClientCollectionConfig({
|
|
160
|
+
DefaultEditView,
|
|
161
|
+
DefaultListView,
|
|
162
|
+
clientCollection,
|
|
163
|
+
collection,
|
|
164
|
+
createMappedComponent,
|
|
165
|
+
i18n,
|
|
166
|
+
importMap,
|
|
167
|
+
payload
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
return clientCollections;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
//# sourceMappingURL=collections.js.map
|