@payloadcms/ui 4.0.0-internal.40de3ec → 4.0.0-internal.4c792ad
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/css/colors.css +3 -0
- package/dist/css/design-tokens.css +5 -0
- package/dist/css/elevations.css +4 -0
- package/dist/css/radius.css +1 -3
- package/dist/css/theme.css +4 -0
- package/dist/css/utilities.css +5 -0
- package/dist/elements/APIKeyInput/index.css +92 -0
- package/dist/elements/APIKeyInput/index.d.ts +14 -0
- package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
- package/dist/elements/APIKeyInput/index.js +86 -0
- package/dist/elements/APIKeyInput/index.js.map +1 -0
- package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
- package/dist/elements/AddNewRelation/index.js +85 -103
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.d.ts +3 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +7 -27
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
- package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.css +9 -0
- package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.css +71 -0
- package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
- package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +8 -0
- package/dist/elements/Card/index.css +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +19 -0
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
- package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -13
- package/dist/elements/ColumnSelection/Popup.js.map +1 -0
- package/dist/elements/ColumnSelection/index.d.ts +10 -0
- package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
- package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
- package/dist/elements/ColumnSelection/index.js.map +1 -0
- package/dist/elements/Combobox/index.css +1 -0
- package/dist/elements/ConfirmationModal/index.css +7 -0
- package/dist/elements/ConfirmationModal/index.d.ts +1 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +7 -3
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts +3 -26
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +1 -95
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
- package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
- package/dist/elements/Dialog/index.css +4 -0
- package/dist/elements/DocumentControls/index.css +17 -1
- package/dist/elements/DocumentControls/index.d.ts +6 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +9 -8
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.css +61 -2
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.css +57 -26
- package/dist/elements/Drawer/index.d.ts +25 -0
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +133 -54
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +1 -0
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +76 -71
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.css +71 -0
- package/dist/elements/EditMany/index.d.ts +9 -11
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +2 -40
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.css +3 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/GroupBy/Popup.d.ts +21 -0
- package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
- package/dist/elements/GroupBy/Popup.js +269 -0
- package/dist/elements/GroupBy/Popup.js.map +1 -0
- package/dist/elements/GroupBy/index.d.ts +12 -0
- package/dist/elements/GroupBy/index.d.ts.map +1 -0
- package/dist/elements/GroupBy/index.js +91 -0
- package/dist/elements/GroupBy/index.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/index.css +3 -21
- package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Drawer/index.js +5 -3
- package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +5 -2
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +37 -0
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
- package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
- package/dist/elements/ListColumnSelectionButton/index.js +37 -0
- package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
- package/dist/elements/ListControls/index.css +5 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +7 -7
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +12 -6
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListGroupByButton/index.d.ts +12 -0
- package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
- package/dist/elements/ListGroupByButton/index.js +55 -0
- package/dist/elements/ListGroupByButton/index.js.map +1 -0
- package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
- package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
- package/dist/elements/ListWhereBuilder/index.js +62 -0
- package/dist/elements/ListWhereBuilder/index.js.map +1 -0
- package/dist/elements/LoadMoreRow/index.css +34 -0
- package/dist/elements/LoadMoreRow/index.d.ts +1 -1
- package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
- package/dist/elements/LoadMoreRow/index.js +4 -8
- package/dist/elements/LoadMoreRow/index.js.map +1 -1
- package/dist/elements/Loading/index.css +28 -74
- package/dist/elements/Loading/index.d.ts.map +1 -1
- package/dist/elements/Loading/index.js +16 -60
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +3 -4
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/MenuSeparator/index.d.ts +4 -0
- package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
- package/dist/elements/MenuSeparator/index.js +10 -0
- package/dist/elements/MenuSeparator/index.js.map +1 -0
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +4 -23
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +48 -4
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -0
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
- package/dist/elements/Popup/index.d.ts +7 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +143 -63
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +4 -5
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts +2 -6
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +0 -38
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
- package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
- package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
- package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
- package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
- package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/fields.css +23 -0
- package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
- package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
- package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
- package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
- package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
- package/dist/elements/ReactSelect/index.css +0 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +176 -139
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +1 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +2 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.css +10 -0
- package/dist/elements/RenderTitle/index.d.ts +5 -0
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +52 -27
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +6 -1
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +1 -1
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SortColumn/index.css +1 -1
- package/dist/elements/Spinner/index.css +16 -0
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +1 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +1 -0
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.css +39 -10
- package/dist/elements/Tabs/index.css +100 -0
- package/dist/elements/Tabs/index.d.ts +32 -0
- package/dist/elements/Tabs/index.d.ts.map +1 -0
- package/dist/elements/Tabs/index.js +62 -0
- package/dist/elements/Tabs/index.js.map +1 -0
- package/dist/elements/TimezonePicker/index.css +0 -15
- package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
- package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +25 -9
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Toasts/index.css +5 -0
- package/dist/elements/Tooltip/index.css +20 -4
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +71 -3
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +5 -13
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts +2 -4
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +0 -38
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
- package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
- package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
- package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
- package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
- package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
- package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
- package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
- package/dist/elements/UserMenu/index.css +80 -0
- package/dist/elements/UserMenu/index.d.ts +10 -0
- package/dist/elements/UserMenu/index.d.ts.map +1 -0
- package/dist/elements/UserMenu/index.js +204 -0
- package/dist/elements/UserMenu/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +17 -2
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts +4 -3
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +71 -62
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +6 -5
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/index.d.ts +13 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +2 -2
- package/dist/exports/client/index.js.map +3 -3
- package/dist/exports/shared/index.js +1 -1
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.css +17 -3
- package/dist/fields/Blocks/BlockSelector/index.js +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.css +6 -0
- package/dist/fields/Row/index.d.ts +1 -1
- package/dist/fields/Tabs/Tab/index.d.ts +0 -1
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +12 -23
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +37 -37
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.css +4 -0
- package/dist/forms/RenderFields/RenderField.d.ts +1 -1
- package/dist/forms/RenderFields/RenderField.js +2 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/icons/Check/index.css +1 -2
- package/dist/icons/Check/index.js +1 -1
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Gear/index.d.ts.map +1 -1
- package/dist/icons/Gear/index.js +8 -1
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/InteractionEnter/index.css +5 -0
- package/dist/icons/InteractionEnter/index.d.ts +11 -0
- package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
- package/dist/icons/InteractionEnter/index.js +25 -0
- package/dist/icons/InteractionEnter/index.js.map +1 -0
- package/dist/icons/{Write → Key}/index.css +1 -1
- package/dist/icons/Key/index.d.ts +7 -0
- package/dist/icons/Key/index.d.ts.map +1 -0
- package/dist/icons/Key/index.js +24 -0
- package/dist/icons/Key/index.js.map +1 -0
- package/dist/icons/LogOut/index.js +2 -2
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Schedule/index.d.ts.map +1 -1
- package/dist/icons/Schedule/index.js +38 -39
- package/dist/icons/Schedule/index.js.map +1 -1
- package/dist/icons/VariableColor/index.css +5 -0
- package/dist/icons/VariableColor/index.d.ts +7 -0
- package/dist/icons/VariableColor/index.d.ts.map +1 -0
- package/dist/icons/VariableColor/index.js +23 -0
- package/dist/icons/VariableColor/index.js.map +1 -0
- package/dist/icons/Warning/index.css +1 -7
- package/dist/icons/Warning/index.d.ts +1 -1
- package/dist/icons/Warning/index.d.ts.map +1 -1
- package/dist/icons/Warning/index.js +11 -16
- package/dist/icons/Warning/index.js.map +1 -1
- package/dist/icons/WarningTriangle/index.css +5 -0
- package/dist/icons/WarningTriangle/index.d.ts +6 -0
- package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
- package/dist/icons/WarningTriangle/index.js +21 -0
- package/dist/icons/WarningTriangle/index.js.map +1 -0
- package/dist/icons/Write/index.d.ts +0 -1
- package/dist/icons/Write/index.d.ts.map +1 -1
- package/dist/icons/Write/index.js +1 -2
- package/dist/icons/Write/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +3 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +8 -3
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +4 -0
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +4 -0
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +27 -24
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +16 -14
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/index.css +208 -0
- package/dist/providers/ToastContainer/index.d.ts +1 -0
- package/dist/providers/ToastContainer/index.d.ts.map +1 -1
- package/dist/providers/ToastContainer/index.js +19 -6
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/scss/app.scss +7 -2
- package/dist/styles.css +1361 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +52 -2
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +0 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +0 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
- package/dist/utilities/getHasScheduledPublish.js +38 -0
- package/dist/utilities/getHasScheduledPublish.js.map +1 -0
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/getVersions.js +1 -21
- package/dist/utilities/getVersions.js.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +1 -1
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +1 -0
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/index.css +30 -13
- package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +31 -47
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +10 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +10 -32
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.css +0 -67
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +62 -48
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.css +23 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +0 -1
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +84 -33
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.js +9 -0
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +7 -6
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +15 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +9 -2
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.js +11 -0
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts +14 -0
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +39 -33
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +7 -2
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Version/Default/index.css +3 -5
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +7 -28
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/Restore/index.css +2 -2
- package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.css +5 -0
- package/dist/views/Version/SelectComparison/index.d.ts +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +1 -1
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts +1 -2
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +83 -32
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/index.css +19 -16
- package/dist/views/Versions/index.d.ts +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +3 -26
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
- package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
- package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
- package/dist/elements/ColumnSelector/index.d.ts +0 -9
- package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
- package/dist/elements/ColumnSelector/index.js.map +0 -1
- package/dist/elements/ColumnsButton/index.d.ts +0 -7
- package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
- package/dist/elements/ColumnsButton/index.js.map +0 -1
- package/dist/elements/EditMany/index.scss +0 -182
- package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
- package/dist/elements/GroupByBuilder/index.d.ts +0 -12
- package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
- package/dist/elements/GroupByBuilder/index.js +0 -164
- package/dist/elements/GroupByBuilder/index.js.map +0 -1
- package/dist/elements/GroupByBuilder/index.scss +0 -39
- package/dist/elements/GroupByControl/index.d.ts +0 -9
- package/dist/elements/GroupByControl/index.d.ts.map +0 -1
- package/dist/elements/GroupByControl/index.js +0 -258
- package/dist/elements/GroupByControl/index.js.map +0 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
- package/dist/elements/Hierarchy/Field/index.scss +0 -41
- package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
- package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
- package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
- package/dist/elements/LoadMoreRow/index.scss +0 -45
- package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
- package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
- package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
- package/dist/fields/Tabs/Tab/index.css +0 -82
- package/dist/scss/toasts.scss +0 -146
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
- package/dist/views/Version/SelectComparison/index.scss +0 -9
- /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
- /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","formatAdminURL","mergeListSearchAndWhere","qs","React","toast","CheckboxInput","useAuth","useConfig","useLocale","useRouteCache","useRouter","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","shouldPermanentlyDelete","ConfirmationModal","ListSelectionButton","Translation","DeleteMany","props","$","viewType","collection","t0","hasDeletePermission","hasDeletePermissionFromProps","hasTrashPermission","hasTrashPermissionFromProps","modalPrefix","slug","trash","undefined","permissions","count","selectAll","selectedIDs","toggleAll","router","searchParams","clearRouteCache","collectionPermissions","collections","Boolean","delete","selectingAll","AllAvailable","ids","isTrashView","canShowDeleteButton","None","baseWhere","where","finalWhere","and","Array","isArray","deletedAt","exists","t1","replace","stringify","page","addQueryPrefix","_jsx","Fragment","children","DeleteMany_v4","afterDelete","search","selections","all","totalCount","length","t","config","routes","api","code","locale","i18n","openModal","deletePermanently","setDeletePermanently","useState","confirmManyDeleteDrawerSlug","handleDelete","useCallback","deletingOneCollection","Object","keys","result","relationTo","entries","collectionConfig","find","whereConstraint","id","not_equals","in","url","apiRoute","path","limit","select","permanentlyDelete","deleteManyResponse","headers","language","patch","body","JSON","Date","toISOString","plural","singular","labels","json","deletedDocs","docs","successLabel","status","successKey","success","label","errors","error","message","description","map","join","deletedCount","doc","totalDocs","_err","labelString","labelCount","reduce","acc","key","value","index","array","collectionLabel","newLabel","_jsxs","className","onClick","elements","0","1","i18nKey","variables","checked","name","onToggle","e","target","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/DeleteMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ViewTypes, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { shouldPermanentlyDelete } from '../../utilities/shouldPermanentlyDelete.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { Translation } from '../Translation/index.js'\n\nexport type Props = {\n collection: ClientCollectionConfig\n /**\n * Whether the user has permission to permanently delete documents.\n * If provided, uses this instead of reading from auth context.\n */\n hasDeletePermission?: boolean\n /**\n * Whether the user has permission to trash (soft delete) documents.\n * If provided, uses this instead of reading from auth context.\n */\n hasTrashPermission?: boolean\n /**\n * When multiple DeleteMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n /**\n * When multiple PublishMany components are rendered on the page, this will differentiate them.\n */\n title?: string\n viewType?: ViewTypes\n}\n\nexport const DeleteMany: React.FC<Props> = (props) => {\n const { viewType } = props\n const {\n collection: { slug, trash } = {},\n hasDeletePermission: hasDeletePermissionFromProps,\n hasTrashPermission: hasTrashPermissionFromProps,\n modalPrefix,\n } = props\n\n const { permissions } = useAuth()\n const { count, selectAll, selectedIDs, toggleAll } = useSelection()\n const router = useRouter()\n const searchParams = useSearchParams()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n\n const hasDeletePermission =\n hasDeletePermissionFromProps !== undefined\n ? hasDeletePermissionFromProps\n : Boolean(collectionPermissions?.delete)\n const hasTrashPermission =\n hasTrashPermissionFromProps !== undefined ? hasTrashPermissionFromProps : hasDeletePermission\n\n const selectingAll = selectAll === SelectAllStatus.AllAvailable\n\n const ids = selectingAll ? [] : selectedIDs\n\n const isTrashView = viewType === 'trash'\n const canShowDeleteButton = isTrashView\n ? hasDeletePermission\n : hasDeletePermission || hasTrashPermission\n\n if (selectAll === SelectAllStatus.None || !canShowDeleteButton) {\n return null\n }\n\n const baseWhere = parseSearchParams(searchParams)?.where as Where\n\n const finalWhere =\n viewType === 'trash'\n ? {\n and: [\n ...(Array.isArray(baseWhere?.and) ? baseWhere.and : baseWhere ? [baseWhere] : []),\n { deletedAt: { exists: true } },\n ],\n }\n : baseWhere\n\n return (\n <React.Fragment>\n <DeleteMany_v4\n afterDelete={() => {\n toggleAll()\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n }}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n modalPrefix={modalPrefix}\n search={parseSearchParams(searchParams)?.search as string}\n selections={{\n [slug]: {\n all: selectAll === SelectAllStatus.AllAvailable,\n ids,\n totalCount: selectingAll ? count : ids.length,\n },\n }}\n trash={trash}\n viewType={viewType}\n where={finalWhere}\n />\n </React.Fragment>\n )\n}\n\ntype AfterDeleteResult = {\n [relationTo: string]: {\n deletedCount: number\n errors: unknown[]\n ids: (number | string)[]\n totalCount: number\n }\n}\ntype DeleteMany_v4Props = {\n /**\n * A callback function to be called after the delete request is completed.\n */\n afterDelete?: (result: AfterDeleteResult) => void\n /**\n * Whether the user has permission to permanently delete documents.\n * When false, the \"delete permanently\" checkbox will be hidden.\n */\n hasDeletePermission?: boolean\n /**\n * Whether the user has permission to trash (soft delete) documents.\n * When false and hasDeletePermission is true, only permanent delete is available.\n */\n hasTrashPermission?: boolean\n /**\n * When multiple DeleteMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n /**\n * Optionally pass a search string to filter the documents to be deleted.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * search string that may not be stored in the URL.\n */\n search?: string\n /**\n * An object containing the relationTo as the key and an object with the following properties:\n * - all: boolean\n * - totalCount: number\n * - ids: (string | number)[]\n */\n selections: {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount?: number\n }\n }\n trash?: boolean\n viewType?: ViewTypes\n /**\n * Optionally pass a where clause to filter the documents to be deleted.\n * This will be ignored if multiple relations are selected.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * where clause that may not be stored in the URL.\n */\n where?: Where\n}\n\n/**\n * Handles polymorphic document delete operations.\n *\n * If you are deleting monomorphic documents, shape your `selections` to match the polymorphic structure.\n */\nexport function DeleteMany_v4({\n afterDelete,\n hasDeletePermission = false,\n hasTrashPermission = false,\n modalPrefix,\n search,\n selections,\n trash,\n viewType,\n where,\n}: DeleteMany_v4Props) {\n const { t } = useTranslation()\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n const { i18n } = useTranslation()\n const { openModal } = useModal()\n\n const [deletePermanently, setDeletePermanently] = React.useState(false)\n const confirmManyDeleteDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-delete-many-docs`\n\n const handleDelete = React.useCallback(async () => {\n const deletingOneCollection = Object.keys(selections).length === 1\n const result: AfterDeleteResult = {}\n\n for (const [relationTo, { all, ids = [] }] of Object.entries(selections)) {\n const collectionConfig = collections.find(({ slug }) => slug === relationTo)\n\n if (collectionConfig) {\n let whereConstraint: Where\n\n if (all) {\n // selecting all documents with optional where filter\n if (deletingOneCollection && where) {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [\n ...(Array.isArray(where.and) ? where.and : [where]),\n { deletedAt: { exists: true } },\n ],\n }\n : where\n } else {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [{ id: { not_equals: '' } }, { deletedAt: { exists: true } }],\n }\n : {\n id: { not_equals: '' },\n }\n }\n } else {\n // selecting specific documents\n whereConstraint = {\n and: [\n { id: { in: ids } },\n ...(viewType === 'trash' ? [{ deletedAt: { exists: true } }] : []),\n ],\n }\n }\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${relationTo}${qs.stringify(\n {\n limit: 0,\n locale,\n select: {},\n where: mergeListSearchAndWhere({\n collectionConfig,\n search,\n where: whereConstraint,\n }),\n ...(viewType === 'trash' ? { trash: true } : {}),\n },\n { addQueryPrefix: true },\n )}`,\n })\n\n const permanentlyDelete = shouldPermanentlyDelete({\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission: Boolean(collectionConfig.trash) && hasTrashPermission,\n isTrashView: viewType === 'trash',\n })\n\n const deleteManyResponse = permanentlyDelete\n ? await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n : await requests.patch(url, {\n body: JSON.stringify({\n deletedAt: new Date().toISOString(),\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n try {\n const { plural, singular } = collectionConfig.labels\n const json = await deleteManyResponse.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (deleteManyResponse.status < 400 || deletedDocs > 0) {\n let successKey:\n | 'general:deletedCountSuccessfully'\n | 'general:permanentlyDeletedCountSuccessfully'\n | 'general:trashedCountSuccessfully'\n\n if (!permanentlyDelete) {\n successKey = 'general:trashedCountSuccessfully'\n } else if (viewType === 'trash' || (hasDeletePermission && deletePermanently)) {\n successKey = 'general:permanentlyDeletedCountSuccessfully'\n } else {\n successKey = 'general:deletedCountSuccessfully'\n }\n\n toast.success(\n t(successKey, {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n }\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n result[relationTo] = {\n deletedCount: deletedDocs,\n errors: json?.errors || null,\n ids: json?.docs.map((doc) => doc.id) || [],\n totalCount: json.totalDocs,\n }\n\n if (deleteManyResponse.status > 400 && json?.errors.length === 0) {\n toast.error(t('error:unknown'))\n result[relationTo].errors = [t('error:unknown')]\n }\n\n continue\n } catch (_err) {\n toast.error(t('error:unknown'))\n result[relationTo] = {\n deletedCount: 0,\n errors: [_err],\n ids: [],\n totalCount: 0,\n }\n continue\n }\n }\n }\n\n if (typeof afterDelete === 'function') {\n afterDelete(result)\n }\n }, [\n selections,\n afterDelete,\n collections,\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission,\n locale,\n search,\n api,\n i18n,\n viewType,\n where,\n t,\n ])\n\n const { label: labelString, labelCount } = Object.entries(selections).reduce(\n (acc, [key, value], index, array) => {\n const collectionConfig = collections.find(({ slug }) => slug === key)\n if (collectionConfig) {\n const labelCount = acc.labelCount === undefined ? value.totalCount : acc.labelCount\n const collectionLabel = `${acc.labelCount !== undefined ? `${value.totalCount} ` : ''}${getTranslation(\n value.totalCount > 1 ? collectionConfig.labels.plural : collectionConfig.labels.singular,\n i18n,\n )}`\n\n let newLabel\n\n if (index === array.length - 1 && index !== 0) {\n newLabel = `${acc.label} and ${collectionLabel}`\n } else if (index > 0) {\n newLabel = `${acc.label}, ${collectionLabel}`\n } else {\n newLabel = collectionLabel\n }\n\n return {\n label: newLabel,\n labelCount,\n }\n }\n return acc\n },\n {\n label: '',\n labelCount: undefined,\n },\n )\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:delete')}\n className=\"delete-documents__toggle\"\n onClick={() => {\n openModal(confirmManyDeleteDrawerSlug)\n }}\n >\n {t('general:delete')}\n </ListSelectionButton>\n <ConfirmationModal\n body={\n <React.Fragment>\n <p>\n {trash && hasTrashPermission ? (\n viewType === 'trash' ? (\n <Translation\n elements={{\n '0': ({ children }) => <strong>{children}</strong>,\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToPermanentlyDeleteTrash\"\n t={t}\n variables={{\n count: labelCount ?? 0,\n label: labelString,\n }}\n />\n ) : (\n t('general:aboutToTrashCount', { count: labelCount, label: labelString })\n )\n ) : (\n t('general:aboutToDeleteCount', { count: labelCount, label: labelString })\n )}\n </p>\n {trash && hasTrashPermission && hasDeletePermission && viewType !== 'trash' && (\n <CheckboxInput\n checked={deletePermanently}\n id=\"delete-forever\"\n label={t('general:deletePermanently')}\n name=\"delete-forever\"\n onToggle={(e) => setDeletePermanently(e.target.checked)}\n />\n )}\n </React.Fragment>\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmManyDeleteDrawerSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","mergeListSearchAndWhere","qs","React","toast","CheckboxInput","useConfig","useLocale","useTranslation","requests","shouldPermanentlyDelete","ConfirmationModal","ListSelectionButton","Translation","DeleteMany","afterDelete","hasDeletePermission","hasTrashPermission","modalPrefix","search","selections","trash","viewType","where","t","config","collections","routes","api","code","locale","i18n","openModal","deletePermanently","setDeletePermanently","useState","confirmManyDeleteDrawerSlug","handleDelete","useCallback","deletingOneCollection","Object","keys","length","result","relationTo","all","ids","entries","collectionConfig","find","slug","whereConstraint","and","Array","isArray","deletedAt","exists","id","not_equals","in","url","apiRoute","path","stringify","limit","select","addQueryPrefix","permanentlyDelete","Boolean","isTrashView","deleteManyResponse","delete","headers","language","patch","body","JSON","Date","toISOString","plural","singular","labels","json","deletedDocs","docs","successLabel","status","successKey","success","count","label","errors","error","message","description","map","join","deletedCount","doc","totalCount","totalDocs","_err","labelString","labelCount","reduce","acc","key","value","index","array","undefined","collectionLabel","newLabel","_jsxs","Fragment","_jsx","className","onClick","elements","0","children","1","i18nKey","variables","checked","name","onToggle","e","target","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/DeleteMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ViewTypes, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { shouldPermanentlyDelete } from '../../utilities/shouldPermanentlyDelete.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { Translation } from '../Translation/index.js'\n\ntype AfterDeleteResult = {\n [relationTo: string]: {\n deletedCount: number\n errors: unknown[]\n ids: (number | string)[]\n totalCount: number\n }\n}\nexport type DeleteManyProps = {\n /**\n * A callback function to be called after the delete request is completed.\n */\n afterDelete?: (result: AfterDeleteResult) => void\n /**\n * Whether the user has permission to permanently delete documents.\n * When false, the \"delete permanently\" checkbox will be hidden.\n */\n hasDeletePermission?: boolean\n /**\n * Whether the user has permission to trash (soft delete) documents.\n * When false and hasDeletePermission is true, only permanent delete is available.\n */\n hasTrashPermission?: boolean\n /**\n * When multiple DeleteMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n /**\n * Optionally pass a search string to filter the documents to be deleted.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * search string that may not be stored in the URL.\n */\n search?: string\n /**\n * An object containing the relationTo as the key and an object with the following properties:\n * - all: boolean\n * - totalCount: number\n * - ids: (string | number)[]\n */\n selections: {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount?: number\n }\n }\n trash?: boolean\n viewType?: ViewTypes\n /**\n * Optionally pass a where clause to filter the documents to be deleted.\n * This will be ignored if multiple relations are selected.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * where clause that may not be stored in the URL.\n */\n where?: Where\n}\n\n/**\n * Handles polymorphic document delete operations.\n *\n * If you are deleting monomorphic documents, shape your `selections` to match the polymorphic structure.\n */\nexport function DeleteMany({\n afterDelete,\n hasDeletePermission = false,\n hasTrashPermission = false,\n modalPrefix,\n search,\n selections,\n trash,\n viewType,\n where,\n}: DeleteManyProps) {\n const { t } = useTranslation()\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n const { i18n } = useTranslation()\n const { openModal } = useModal()\n\n const [deletePermanently, setDeletePermanently] = React.useState(false)\n const confirmManyDeleteDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-delete-many-docs`\n\n const handleDelete = React.useCallback(async () => {\n const deletingOneCollection = Object.keys(selections).length === 1\n const result: AfterDeleteResult = {}\n\n for (const [relationTo, { all, ids = [] }] of Object.entries(selections)) {\n const collectionConfig = collections.find(({ slug }) => slug === relationTo)\n\n if (collectionConfig) {\n let whereConstraint: Where\n\n if (all) {\n // selecting all documents with optional where filter\n if (deletingOneCollection && where) {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [\n ...(Array.isArray(where.and) ? where.and : [where]),\n { deletedAt: { exists: true } },\n ],\n }\n : where\n } else {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [{ id: { not_equals: '' } }, { deletedAt: { exists: true } }],\n }\n : {\n id: { not_equals: '' },\n }\n }\n } else {\n // selecting specific documents\n whereConstraint = {\n and: [\n { id: { in: ids } },\n ...(viewType === 'trash' ? [{ deletedAt: { exists: true } }] : []),\n ],\n }\n }\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${relationTo}${qs.stringify(\n {\n limit: 0,\n locale,\n select: {},\n where: mergeListSearchAndWhere({\n collectionConfig,\n search,\n where: whereConstraint,\n }),\n ...(viewType === 'trash' ? { trash: true } : {}),\n },\n { addQueryPrefix: true },\n )}`,\n })\n\n const permanentlyDelete = shouldPermanentlyDelete({\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission: Boolean(collectionConfig.trash) && hasTrashPermission,\n isTrashView: viewType === 'trash',\n })\n\n const deleteManyResponse = permanentlyDelete\n ? await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n : await requests.patch(url, {\n body: JSON.stringify({\n deletedAt: new Date().toISOString(),\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n try {\n const { plural, singular } = collectionConfig.labels\n const json = await deleteManyResponse.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (deleteManyResponse.status < 400 || deletedDocs > 0) {\n let successKey:\n | 'general:deletedCountSuccessfully'\n | 'general:permanentlyDeletedCountSuccessfully'\n | 'general:trashedCountSuccessfully'\n\n if (!permanentlyDelete) {\n successKey = 'general:trashedCountSuccessfully'\n } else if (viewType === 'trash' || (hasDeletePermission && deletePermanently)) {\n successKey = 'general:permanentlyDeletedCountSuccessfully'\n } else {\n successKey = 'general:deletedCountSuccessfully'\n }\n\n toast.success(\n t(successKey, {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n }\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n result[relationTo] = {\n deletedCount: deletedDocs,\n errors: json?.errors || null,\n ids: json?.docs.map((doc) => doc.id) || [],\n totalCount: json.totalDocs,\n }\n\n if (deleteManyResponse.status > 400 && json?.errors.length === 0) {\n toast.error(t('error:unknown'))\n result[relationTo].errors = [t('error:unknown')]\n }\n\n continue\n } catch (_err) {\n toast.error(t('error:unknown'))\n result[relationTo] = {\n deletedCount: 0,\n errors: [_err],\n ids: [],\n totalCount: 0,\n }\n continue\n }\n }\n }\n\n if (typeof afterDelete === 'function') {\n afterDelete(result)\n }\n }, [\n selections,\n afterDelete,\n collections,\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission,\n locale,\n search,\n api,\n i18n,\n viewType,\n where,\n t,\n ])\n\n const { label: labelString, labelCount } = Object.entries(selections).reduce(\n (acc, [key, value], index, array) => {\n const collectionConfig = collections.find(({ slug }) => slug === key)\n if (collectionConfig) {\n const labelCount = acc.labelCount === undefined ? value.totalCount : acc.labelCount\n const collectionLabel = `${acc.labelCount !== undefined ? `${value.totalCount} ` : ''}${getTranslation(\n value.totalCount > 1 ? collectionConfig.labels.plural : collectionConfig.labels.singular,\n i18n,\n )}`\n\n let newLabel\n\n if (index === array.length - 1 && index !== 0) {\n newLabel = `${acc.label} and ${collectionLabel}`\n } else if (index > 0) {\n newLabel = `${acc.label}, ${collectionLabel}`\n } else {\n newLabel = collectionLabel\n }\n\n return {\n label: newLabel,\n labelCount,\n }\n }\n return acc\n },\n {\n label: '',\n labelCount: undefined,\n },\n )\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:delete')}\n className=\"delete-documents__toggle\"\n onClick={() => {\n openModal(confirmManyDeleteDrawerSlug)\n }}\n >\n {t('general:delete')}\n </ListSelectionButton>\n <ConfirmationModal\n body={\n <React.Fragment>\n <p>\n {trash && hasTrashPermission ? (\n viewType === 'trash' ? (\n <Translation\n elements={{\n '0': ({ children }) => <strong>{children}</strong>,\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToPermanentlyDeleteTrash\"\n t={t}\n variables={{\n count: labelCount ?? 0,\n label: labelString,\n }}\n />\n ) : (\n t('general:aboutToTrashCount', { count: labelCount, label: labelString })\n )\n ) : (\n t('general:aboutToDeleteCount', { count: labelCount, label: labelString })\n )}\n </p>\n {trash && hasTrashPermission && hasDeletePermission && viewType !== 'trash' && (\n <CheckboxInput\n checked={deletePermanently}\n id=\"delete-forever\"\n label={t('general:deletePermanently')}\n name=\"delete-forever\"\n onToggle={(e) => setDeletePermanently(e.target.checked)}\n />\n )}\n </React.Fragment>\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmManyDeleteDrawerSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { Modal } from '@faceless-ui/modal';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import '../index.css';
|
|
5
5
|
type FocusTrapOptions = ComponentProps<typeof Modal>['focusTrapOptions'];
|
|
6
|
-
export type DialogSize = 'medium' | 'small';
|
|
6
|
+
export type DialogSize = 'large' | 'medium' | 'small';
|
|
7
7
|
export type DialogModalProps = {
|
|
8
8
|
readonly children?: React.ReactNode;
|
|
9
9
|
readonly className?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,OAAO,cAAc,CAAA;AAErB,KAAK,gBAAgB,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAIxE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,OAAO,cAAc,CAAA;AAErB,KAAK,gBAAgB,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAIxE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8ClD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","Modal","React","useEffect","useState","drawerZBase","useDrawerDepth","DialogContext","baseClass","DialogModal","t0","$","slug","children","className","closeOnBlur","t1","closeOnEsc","t2","focusTrapOptions","size","t3","undefined","isConfirming","setConfirming","drawerDepth","t4","t5","handler","_temp","document","addEventListener","removeEventListener","t6","t7","t8","filter","Boolean","_jsx","value","style","zIndex","join","role","e","key","stopImmediatePropagation","preventDefault"],"sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"sourcesContent":["'use client'\nimport type { ComponentProps } from 'react'\n\nimport { Modal } from '@faceless-ui/modal'\nimport React, { useEffect, useState } from 'react'\n\nimport { drawerZBase, useDrawerDepth } from '../../Drawer/index.js'\nimport { DialogContext } from '../context.js'\nimport '../index.css'\n\ntype FocusTrapOptions = ComponentProps<typeof Modal>['focusTrapOptions']\n\nconst baseClass = 'dialog'\n\nexport type DialogSize = 'medium' | 'small'\n\nexport type DialogModalProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly closeOnBlur?: boolean\n readonly closeOnEsc?: boolean\n readonly focusTrapOptions?: FocusTrapOptions\n readonly size?: DialogSize\n readonly slug: string\n}\n\nexport const DialogModal: React.FC<DialogModalProps> = ({\n slug,\n children,\n className,\n closeOnBlur = false,\n closeOnEsc = true,\n focusTrapOptions,\n size = 'small',\n}) => {\n const [isConfirming, setConfirming] = useState(false)\n const drawerDepth = useDrawerDepth()\n\n useEffect(() => {\n if (closeOnEsc) {\n return\n }\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopImmediatePropagation()\n e.preventDefault()\n }\n }\n\n // Capture phase fires before ModalProvider's bubble-phase listener\n document.addEventListener('keydown', handler, true)\n return () => document.removeEventListener('keydown', handler, true)\n }, [closeOnEsc])\n\n return (\n <DialogContext value={{ slug, isConfirming, setConfirming }}>\n <Modal\n closeOnBlur={closeOnBlur}\n focusTrapOptions={focusTrapOptions}\n slug={slug}\n style={{ zIndex: drawerZBase + drawerDepth + 1 }}\n >\n <div\n className={[baseClass, `${baseClass}--${size}`, className].filter(Boolean).join(' ')}\n role=\"document\"\n >\n {children}\n </div>\n </Modal>\n </DialogContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,KAAK,QAAQ;AACtB,OAAOC,KAAA,IAASC,SAAS,EAAEC,QAAQ,QAAQ;AAE3C,SAASC,WAAW,EAAEC,cAAc,QAAQ;AAC5C,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAIP,MAAMC,SAAA,GAAY;AAclB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,IAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,WAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,gBAAA;IAAAC,IAAA,EAAAC;EAAA,IAAAX,EAQvD;EAJC,MAAAK,WAAA,GAAAC,EAAmB,KAAAM,SAAA,WAAnBN,EAAmB;EACnB,MAAAC,UAAA,GAAAC,EAAiB,KAAAI,SAAA,UAAjBJ,EAAiB;EAEjB,MAAAE,IAAA,GAAAC,EAAc,KAAAC,SAAA,GAAP,OAAO,GAAdD,EAAc;EAEd,OAAAE,YAAA,EAAAC,aAAA,IAAsCpB,QAAA,MAAS;EAC/C,MAAAqB,WAAA,GAAoBnB,cAAA;EAAA,IAAAoB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAM,UAAA;IAEVS,EAAA,GAAAA,CAAA;MAAA,IACJT,UAAA;QAAA;MAAA;MAIJ,MAAAW,OAAA,GAAAC,KAAA;MAQAC,QAAA,CAAAC,gBAAA,CAA0B,WAAWH,OAAA,MAAS;MAAA,aACjCE,QAAA,CAAAE,mBAAA,CAA6B,WAAWJ,OAAA,MAAS;IAAA;IAC7DD,EAAA,IAACV,UAAA;IAAWN,CAAA,MAAAM,UAAA;IAAAN,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;EAAA;IAAAD,EAAA,GAAAf,CAAA;IAAAgB,EAAA,GAAAhB,CAAA;EAAA;EAffR,SAAA,CAAUuB,EAeV,EAAGC,EAAY;EAAA,IAAAM,EAAA;EAAA,IAAAtB,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAI,WAAA,IAAAJ,CAAA,QAAAc,WAAA,IAAAd,CAAA,QAAAQ,gBAAA,IAAAR,CAAA,QAAAY,YAAA,IAAAZ,CAAA,QAAAS,IAAA,IAAAT,CAAA,SAAAC,IAAA;IAWgB,MAAAsB,EAAA,MAAA1B,SAAA,KAAiBY,IAAA,EAAM;IAAA,IAAAe,EAAA;IAAA,IAAAxB,CAAA,SAAAG,SAAA,IAAAH,CAAA,SAAAuB,EAAA;MAAnCC,EAAA,IAAA3B,SAAA,EAAY0B,EAAuB,EAAEpB,SAAA,EAAAsB,MAAA,CAAAC,OAAkB;MAAA1B,CAAA,OAAAG,SAAA;MAAAH,CAAA,OAAAuB,EAAA;MAAAvB,CAAA,OAAAwB,EAAA;IAAA;MAAAA,EAAA,GAAAxB,CAAA;IAAA;IARxEsB,EAAA,GAAAK,IAAA,CAAA/B,aAAA;MAAAgC,KAAA;QAAA3B,IAAA;QAAAW,YAAA;QAAAC;MAAA;MAAAX,QAAA,EACEyB,IAAA,CAAArC,KAAA;QAAAc,WAAA;QAAAI,gBAAA;QAAAP,IAAA;QAAA4B,KAAA;UAAAC,MAAA,EAImBpC,WAAA,GAAcoB,WAAA;QAAc;QAAAZ,QAAA,EAE7CyB,IAAA,CAAC;UAAAxB,SAAA,EACYqB,EAAuD,CAAAO,IAAA,CAAc;UAAAC,IAAA,EAC3E;UAAA9B;QAAA,C;;;;;;;;;;;;;;;SATXoB,E;CAgBJ;AA9CuD,SAAAJ,MAAAe,CAAA;EAAA,IAkB7CA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,wBAAA,CAA0B;IAC1BF,CAAA,CAAAG,cAAA,CAAgB;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","Modal","React","useEffect","useState","drawerZBase","useDrawerDepth","DialogContext","baseClass","DialogModal","t0","$","slug","children","className","closeOnBlur","t1","closeOnEsc","t2","focusTrapOptions","size","t3","undefined","isConfirming","setConfirming","drawerDepth","t4","t5","handler","_temp","document","addEventListener","removeEventListener","t6","t7","t8","filter","Boolean","_jsx","value","style","zIndex","join","role","e","key","stopImmediatePropagation","preventDefault"],"sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"sourcesContent":["'use client'\nimport type { ComponentProps } from 'react'\n\nimport { Modal } from '@faceless-ui/modal'\nimport React, { useEffect, useState } from 'react'\n\nimport { drawerZBase, useDrawerDepth } from '../../Drawer/index.js'\nimport { DialogContext } from '../context.js'\nimport '../index.css'\n\ntype FocusTrapOptions = ComponentProps<typeof Modal>['focusTrapOptions']\n\nconst baseClass = 'dialog'\n\nexport type DialogSize = 'large' | 'medium' | 'small'\n\nexport type DialogModalProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly closeOnBlur?: boolean\n readonly closeOnEsc?: boolean\n readonly focusTrapOptions?: FocusTrapOptions\n readonly size?: DialogSize\n readonly slug: string\n}\n\nexport const DialogModal: React.FC<DialogModalProps> = ({\n slug,\n children,\n className,\n closeOnBlur = false,\n closeOnEsc = true,\n focusTrapOptions,\n size = 'small',\n}) => {\n const [isConfirming, setConfirming] = useState(false)\n const drawerDepth = useDrawerDepth()\n\n useEffect(() => {\n if (closeOnEsc) {\n return\n }\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopImmediatePropagation()\n e.preventDefault()\n }\n }\n\n // Capture phase fires before ModalProvider's bubble-phase listener\n document.addEventListener('keydown', handler, true)\n return () => document.removeEventListener('keydown', handler, true)\n }, [closeOnEsc])\n\n return (\n <DialogContext value={{ slug, isConfirming, setConfirming }}>\n <Modal\n closeOnBlur={closeOnBlur}\n focusTrapOptions={focusTrapOptions}\n slug={slug}\n style={{ zIndex: drawerZBase + drawerDepth + 1 }}\n >\n <div\n className={[baseClass, `${baseClass}--${size}`, className].filter(Boolean).join(' ')}\n role=\"document\"\n >\n {children}\n </div>\n </Modal>\n </DialogContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,KAAK,QAAQ;AACtB,OAAOC,KAAA,IAASC,SAAS,EAAEC,QAAQ,QAAQ;AAE3C,SAASC,WAAW,EAAEC,cAAc,QAAQ;AAC5C,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAIP,MAAMC,SAAA,GAAY;AAclB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,IAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,WAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,gBAAA;IAAAC,IAAA,EAAAC;EAAA,IAAAX,EAQvD;EAJC,MAAAK,WAAA,GAAAC,EAAmB,KAAAM,SAAA,WAAnBN,EAAmB;EACnB,MAAAC,UAAA,GAAAC,EAAiB,KAAAI,SAAA,UAAjBJ,EAAiB;EAEjB,MAAAE,IAAA,GAAAC,EAAc,KAAAC,SAAA,GAAP,OAAO,GAAdD,EAAc;EAEd,OAAAE,YAAA,EAAAC,aAAA,IAAsCpB,QAAA,MAAS;EAC/C,MAAAqB,WAAA,GAAoBnB,cAAA;EAAA,IAAAoB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAM,UAAA;IAEVS,EAAA,GAAAA,CAAA;MAAA,IACJT,UAAA;QAAA;MAAA;MAIJ,MAAAW,OAAA,GAAAC,KAAA;MAQAC,QAAA,CAAAC,gBAAA,CAA0B,WAAWH,OAAA,MAAS;MAAA,aACjCE,QAAA,CAAAE,mBAAA,CAA6B,WAAWJ,OAAA,MAAS;IAAA;IAC7DD,EAAA,IAACV,UAAA;IAAWN,CAAA,MAAAM,UAAA;IAAAN,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;EAAA;IAAAD,EAAA,GAAAf,CAAA;IAAAgB,EAAA,GAAAhB,CAAA;EAAA;EAffR,SAAA,CAAUuB,EAeV,EAAGC,EAAY;EAAA,IAAAM,EAAA;EAAA,IAAAtB,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAI,WAAA,IAAAJ,CAAA,QAAAc,WAAA,IAAAd,CAAA,QAAAQ,gBAAA,IAAAR,CAAA,QAAAY,YAAA,IAAAZ,CAAA,QAAAS,IAAA,IAAAT,CAAA,SAAAC,IAAA;IAWgB,MAAAsB,EAAA,MAAA1B,SAAA,KAAiBY,IAAA,EAAM;IAAA,IAAAe,EAAA;IAAA,IAAAxB,CAAA,SAAAG,SAAA,IAAAH,CAAA,SAAAuB,EAAA;MAAnCC,EAAA,IAAA3B,SAAA,EAAY0B,EAAuB,EAAEpB,SAAA,EAAAsB,MAAA,CAAAC,OAAkB;MAAA1B,CAAA,OAAAG,SAAA;MAAAH,CAAA,OAAAuB,EAAA;MAAAvB,CAAA,OAAAwB,EAAA;IAAA;MAAAA,EAAA,GAAAxB,CAAA;IAAA;IARxEsB,EAAA,GAAAK,IAAA,CAAA/B,aAAA;MAAAgC,KAAA;QAAA3B,IAAA;QAAAW,YAAA;QAAAC;MAAA;MAAAX,QAAA,EACEyB,IAAA,CAAArC,KAAA;QAAAc,WAAA;QAAAI,gBAAA;QAAAP,IAAA;QAAA4B,KAAA;UAAAC,MAAA,EAImBpC,WAAA,GAAcoB,WAAA;QAAc;QAAAZ,QAAA,EAE7CyB,IAAA,CAAC;UAAAxB,SAAA,EACYqB,EAAuD,CAAAO,IAAA,CAAc;UAAAC,IAAA,EAC3E;UAAA9B;QAAA,C;;;;;;;;;;;;;;;SATXoB,E;CAgBJ;AA9CuD,SAAAJ,MAAAe,CAAA;EAAA,IAkB7CA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,wBAAA,CAA0B;IAC1BF,CAAA,CAAAG,cAAA,CAAgB;EAAA;AAAA","ignoreList":[]}
|
|
@@ -134,18 +134,34 @@
|
|
|
134
134
|
display: none;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
/* Action buttons rendered inside the document drawer header */
|
|
138
|
+
.doc-controls--drawerHeaderActions {
|
|
139
|
+
position: static;
|
|
140
|
+
width: auto;
|
|
141
|
+
padding: 0;
|
|
142
|
+
gap: 0;
|
|
143
|
+
border-bottom: 0;
|
|
144
|
+
background: transparent;
|
|
145
|
+
}
|
|
146
|
+
|
|
137
147
|
@media (max-width: 1024px) {
|
|
138
148
|
.doc-controls__controls-wrapper {
|
|
139
149
|
margin-left: auto;
|
|
140
150
|
}
|
|
141
151
|
|
|
142
152
|
.doc-controls {
|
|
143
|
-
padding: var(--spacer-2
|
|
153
|
+
padding: var(--spacer-2-5);
|
|
144
154
|
padding-right: var(--spacer-2-5);
|
|
145
155
|
gap: var(--spacer-2);
|
|
146
156
|
flex-wrap: wrap;
|
|
147
157
|
}
|
|
148
158
|
|
|
159
|
+
.doc-controls--drawerHeaderActions {
|
|
160
|
+
padding: 0;
|
|
161
|
+
gap: 0;
|
|
162
|
+
flex-wrap: nowrap;
|
|
163
|
+
}
|
|
164
|
+
|
|
149
165
|
.doc-controls__content {
|
|
150
166
|
min-width: 0;
|
|
151
167
|
}
|
|
@@ -38,5 +38,11 @@ export declare const DocumentControls: React.FC<{
|
|
|
38
38
|
readonly redirectAfterRestore?: boolean;
|
|
39
39
|
readonly slug: SanitizedCollectionConfig['slug'];
|
|
40
40
|
readonly user?: ClientUser;
|
|
41
|
+
/**
|
|
42
|
+
* Controls how the document controls render.
|
|
43
|
+
* - `default`: full controls bar (meta + actions), used on the edit page.
|
|
44
|
+
* - `drawerHeaderActions`: only the action buttons, rendered in the document drawer header.
|
|
45
|
+
*/
|
|
46
|
+
readonly variant?: 'default' | 'drawerHeaderActions';
|
|
41
47
|
}>;
|
|
42
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAShB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AA4B9E,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAA;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAShB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AA4B9E,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAA;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,qBAAqB,CAAA;CACrD,CAoWA,CAAA"}
|
|
@@ -65,7 +65,8 @@ export const DocumentControls = props => {
|
|
|
65
65
|
redirectAfterDelete,
|
|
66
66
|
redirectAfterDuplicate,
|
|
67
67
|
redirectAfterRestore,
|
|
68
|
-
user
|
|
68
|
+
user,
|
|
69
|
+
variant = 'default'
|
|
69
70
|
} = props;
|
|
70
71
|
const {
|
|
71
72
|
i18n,
|
|
@@ -142,7 +143,7 @@ export const DocumentControls = props => {
|
|
|
142
143
|
const unsavedDraftWithValidations = !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate;
|
|
143
144
|
const globalHasDraftsEnabled = hasDraftsEnabled(globalConfig);
|
|
144
145
|
const collectionHasDraftsEnabled = hasDraftsEnabled(collectionConfig);
|
|
145
|
-
const showDotMenu = Boolean(!disableActions && (collectionConfig && id && (hasCreatePermission || hasDeletePermission) || globalConfig && (globalHasDraftsEnabled || localization)));
|
|
146
|
+
const showDotMenu = Boolean(!disableActions && (EditMenuItems || collectionConfig && id && (hasCreatePermission || hasDeletePermission) || globalConfig && (globalHasDraftsEnabled || localization)));
|
|
146
147
|
const collectionAutosaveEnabled = hasAutosaveEnabled(collectionConfig);
|
|
147
148
|
const globalAutosaveEnabled = hasAutosaveEnabled(globalConfig);
|
|
148
149
|
const autosaveEnabled = collectionAutosaveEnabled || globalAutosaveEnabled;
|
|
@@ -150,8 +151,8 @@ export const DocumentControls = props => {
|
|
|
150
151
|
const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale;
|
|
151
152
|
const showLockedMetaIcon = user && readOnlyForIncomingUser;
|
|
152
153
|
return /*#__PURE__*/_jsxs("div", {
|
|
153
|
-
className: baseClass,
|
|
154
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
154
|
+
className: [baseClass, variant !== 'default' && `${baseClass}--${variant}`].filter(Boolean).join(' '),
|
|
155
|
+
children: [variant === 'default' && /*#__PURE__*/_jsxs("div", {
|
|
155
156
|
className: `${baseClass}__content`,
|
|
156
157
|
children: [Boolean(showLockedMetaIcon || BeforeDocumentMeta) && /*#__PURE__*/_jsxs("div", {
|
|
157
158
|
className: `${baseClass}__before-meta`,
|
|
@@ -185,14 +186,14 @@ export const DocumentControls = props => {
|
|
|
185
186
|
publishedDocUpdatedAt: data?.createdAt
|
|
186
187
|
})
|
|
187
188
|
})]
|
|
188
|
-
}), collectionConfig?.timestamps && (isEditing || isAccountView) &&
|
|
189
|
+
}), collectionConfig?.timestamps && (isEditing || isAccountView) && (data?.updatedAt || data?.createdAt) && /*#__PURE__*/_jsx("li", {
|
|
189
190
|
className: `${baseClass}__list-item ${baseClass}__value-wrap`,
|
|
190
191
|
title: updatedAt || createdAt || undefined,
|
|
191
192
|
children: /*#__PURE__*/_jsx("p", {
|
|
192
193
|
className: `${baseClass}__value`,
|
|
193
|
-
children: t(isTrashed ? 'general:deletedAgo' : 'general:updatedAgo', {
|
|
194
|
+
children: relativeTime ? t(isTrashed ? 'general:deletedAgo' : 'general:updatedAgo', {
|
|
194
195
|
distance: relativeTime
|
|
195
|
-
})
|
|
196
|
+
}) : `${t('general:loading')}...`
|
|
196
197
|
})
|
|
197
198
|
})]
|
|
198
199
|
})]
|
|
@@ -293,7 +294,7 @@ export const DocumentControls = props => {
|
|
|
293
294
|
slug: collectionConfig?.slug
|
|
294
295
|
})]
|
|
295
296
|
})]
|
|
296
|
-
}), hasDeletePermission && /*#__PURE__*/_jsx(DeleteDocument, {
|
|
297
|
+
}), hasDeletePermission && id && /*#__PURE__*/_jsx(DeleteDocument, {
|
|
297
298
|
buttonId: "action-delete",
|
|
298
299
|
collectionSlug: collectionConfig?.slug,
|
|
299
300
|
id: id.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","hasScheduledPublishEnabled","React","Fragment","useCallback","useEffect","useRef","useState","useFormInitializing","useFormProcessing","MoreIcon","useConfig","useDocumentInfo","useEditDepth","useLivePreviewContext","useTranslation","formatDate","formatTimeToNow","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","LivePreviewToggler","Locked","PermanentlyDeleteButton","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","RestoreButton","SaveButton","SaveDraftButton","SchedulePublishButton","Status","UnpublishButton","baseClass","DocumentControls","props","id","slug","BeforeDocumentControls","BeforeDocumentMeta","customComponents","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","CustomStatus","CustomUnpublishButton","data","disableActions","disableCreate","EditMenuItems","hasSavePermission","isAccountView","isEditing","isInDrawer","isTrashed","onDelete","onDrawerCreateNew","onDuplicate","onRestore","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","user","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","isLivePreviewEnabled","hasDeletePermission","docHasDeletePermission","hasTrashPermission","docHasTrashPermission","admin","dateFormat","localization","routes","adminRoute","updatedAt","setUpdatedAt","createdAt","setCreatedAt","relativeTime","setRelativeTime","processing","initializing","i18nRef","current","updateRelativeTime","date","pattern","interval","setInterval","clearInterval","hasCreatePermission","create","collectionDeletePermission","delete","trash","unsavedDraftWithValidations","versions","drafts","validate","globalHasDraftsEnabled","collectionHasDraftsEnabled","showDotMenu","Boolean","collectionAutosaveEnabled","globalAutosaveEnabled","autosaveEnabled","showSaveDraftButton","autosave","showCopyToLocale","disableCopyToLocale","showLockedMetaIcon","_jsxs","className","_jsx","label","labels","singular","CustomComponent","Fallback","collection","global","publishedDocUpdatedAt","timestamps","title","undefined","distance","preview","disabled","buttonId","toString","singularLabel","buttonStyle","onClick","size","type","buttonClassName","caret","horizontalAlign","renderButton","active","buttonProps","icon","selected","verticalAlign","ButtonGroup","href","path","disableDuplicate","_Fragment","selectLocales","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n formatAdminURL,\n hasAutosaveEnabled,\n hasDraftsEnabled,\n hasScheduledPublishEnabled,\n} from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext } from '../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate, formatTimeToNow } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { LivePreviewToggler } from '../LivePreview/Toggler/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { PermanentlyDeleteButton } from '../PermanentlyDeleteButton/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { RestoreButton } from '../RestoreButton/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { SchedulePublishButton } from '../SchedulePublishButton/index.js'\nimport { Status } from '../Status/index.js'\nimport { UnpublishButton } from '../UnpublishButton/index.js'\nimport './index.css'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly BeforeDocumentMeta?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n readonly Status?: React.ReactNode\n readonly UnpublishButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly EditMenuItems?: React.ReactNode\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly isInDrawer?: boolean\n readonly isTrashed?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onRestore?: DocumentDrawerContextType['onRestore']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n Status: CustomStatus,\n UnpublishButton: CustomUnpublishButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n EditMenuItems,\n hasSavePermission,\n isAccountView,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onRestore,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const { isLivePreviewEnabled } = useLivePreviewContext()\n\n const { hasDeletePermission: docHasDeletePermission, hasTrashPermission: docHasTrashPermission } =\n useDocumentInfo()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n const [relativeTime, setRelativeTime] = useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n const i18nRef = useRef(i18n)\n i18nRef.current = i18n\n\n const updateRelativeTime = useCallback(() => {\n const date = data?.updatedAt || data?.createdAt\n if (date) {\n setRelativeTime(formatTimeToNow({ date, i18n: i18nRef.current }))\n }\n }, [data?.updatedAt, data?.createdAt])\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n updateRelativeTime()\n }, [data, i18n, dateFormat, updateRelativeTime])\n\n useEffect(() => {\n const interval = setInterval(updateRelativeTime, 60000)\n return () => clearInterval(interval)\n }, [updateRelativeTime])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const collectionDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const hasDeletePermission = collectionConfig?.trash\n ? docHasTrashPermission || docHasDeletePermission\n : collectionDeletePermission\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const globalHasDraftsEnabled = hasDraftsEnabled(globalConfig)\n const collectionHasDraftsEnabled = hasDraftsEnabled(collectionConfig)\n\n const showDotMenu = Boolean(\n !disableActions &&\n ((collectionConfig && id && (hasCreatePermission || hasDeletePermission)) ||\n (globalConfig && (globalHasDraftsEnabled || localization))),\n )\n const collectionAutosaveEnabled = hasAutosaveEnabled(collectionConfig)\n const globalAutosaveEnabled = hasAutosaveEnabled(globalConfig)\n const autosaveEnabled = collectionAutosaveEnabled || globalAutosaveEnabled\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfig.versions.drafts.autosave !== false &&\n collectionConfig.versions.drafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfig.versions.drafts.autosave !== false &&\n globalConfig.versions.drafts.autosave.showSaveDraftButton === true)\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__content`}>\n {Boolean(showLockedMetaIcon || BeforeDocumentMeta) && (\n <div className={`${baseClass}__before-meta`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {BeforeDocumentMeta}\n </div>\n )}\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__creating-new`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n {(collectionHasDraftsEnabled || globalHasDraftsEnabled) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li className={`${baseClass}__status ${baseClass}__list-item`}>\n <RenderCustomComponent CustomComponent={CustomStatus} Fallback={<Status />} />\n </li>\n )}\n {hasSavePermission &&\n autosaveEnabled &&\n !unsavedDraftWithValidations &&\n !isTrashed && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && relativeTime && (\n <li\n className={`${baseClass}__list-item ${baseClass}__value-wrap`}\n title={updatedAt || createdAt || undefined}\n >\n <p className={`${baseClass}__value`}>\n {t(isTrashed ? 'general:deletedAgo' : 'general:updatedAgo', {\n distance: relativeTime,\n })}\n </p>\n </li>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n <div className={`${baseClass}__icon-buttons`}>\n {isLivePreviewEnabled && !isInDrawer && <LivePreviewToggler />}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasScheduledPublishEnabled(collectionConfig || globalConfig) && !isTrashed && (\n <SchedulePublishButton disabled={readOnlyForIncomingUser} />\n )}\n </div>\n {hasSavePermission && !isTrashed && !readOnlyForIncomingUser && (\n <Fragment>\n {collectionHasDraftsEnabled || globalHasDraftsEnabled ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {docHasDeletePermission && isTrashed && (\n <PermanentlyDeleteButton\n buttonId=\"action-permanently-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n />\n )}\n {hasSavePermission && isTrashed && (\n <RestoreButton\n buttonId=\"action-restore\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onRestore={onRestore}\n redirectAfterRestore={redirectAfterRestore}\n singularLabel={collectionConfig?.labels?.singular}\n />\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n buttonClassName={`${baseClass}__popup-button`}\n caret={false}\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n renderButton={({ active, ...buttonProps }) => (\n <Button\n {...buttonProps}\n buttonStyle=\"ghost\"\n className={`${baseClass}__popup-button`}\n icon={<MoreIcon />}\n selected={active}\n size=\"medium\"\n />\n )}\n size=\"medium\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <>\n <DuplicateDocument\n id={id}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n {localization && (\n <DuplicateDocument\n id={id}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n selectLocales={true}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </>\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomUnpublishButton}\n Fallback={<UnpublishButton />}\n />\n {EditMenuItems}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","hasScheduledPublishEnabled","React","Fragment","useCallback","useEffect","useRef","useState","useFormInitializing","useFormProcessing","MoreIcon","useConfig","useDocumentInfo","useEditDepth","useLivePreviewContext","useTranslation","formatDate","formatTimeToNow","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","LivePreviewToggler","Locked","PermanentlyDeleteButton","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","RestoreButton","SaveButton","SaveDraftButton","SchedulePublishButton","Status","UnpublishButton","baseClass","DocumentControls","props","id","slug","BeforeDocumentControls","BeforeDocumentMeta","customComponents","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","CustomStatus","CustomUnpublishButton","data","disableActions","disableCreate","EditMenuItems","hasSavePermission","isAccountView","isEditing","isInDrawer","isTrashed","onDelete","onDrawerCreateNew","onDuplicate","onRestore","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","user","variant","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","isLivePreviewEnabled","hasDeletePermission","docHasDeletePermission","hasTrashPermission","docHasTrashPermission","admin","dateFormat","localization","routes","adminRoute","updatedAt","setUpdatedAt","createdAt","setCreatedAt","relativeTime","setRelativeTime","processing","initializing","i18nRef","current","updateRelativeTime","date","pattern","interval","setInterval","clearInterval","hasCreatePermission","create","collectionDeletePermission","delete","trash","unsavedDraftWithValidations","versions","drafts","validate","globalHasDraftsEnabled","collectionHasDraftsEnabled","showDotMenu","Boolean","collectionAutosaveEnabled","globalAutosaveEnabled","autosaveEnabled","showSaveDraftButton","autosave","showCopyToLocale","disableCopyToLocale","showLockedMetaIcon","_jsxs","className","filter","join","_jsx","label","labels","singular","CustomComponent","Fallback","collection","global","publishedDocUpdatedAt","timestamps","title","undefined","distance","preview","disabled","buttonId","toString","singularLabel","buttonStyle","onClick","size","type","buttonClassName","caret","horizontalAlign","renderButton","active","buttonProps","icon","selected","verticalAlign","ButtonGroup","href","path","disableDuplicate","_Fragment","selectLocales","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n formatAdminURL,\n hasAutosaveEnabled,\n hasDraftsEnabled,\n hasScheduledPublishEnabled,\n} from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext } from '../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate, formatTimeToNow } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { LivePreviewToggler } from '../LivePreview/Toggler/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { PermanentlyDeleteButton } from '../PermanentlyDeleteButton/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { RestoreButton } from '../RestoreButton/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { SchedulePublishButton } from '../SchedulePublishButton/index.js'\nimport { Status } from '../Status/index.js'\nimport { UnpublishButton } from '../UnpublishButton/index.js'\nimport './index.css'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly BeforeDocumentMeta?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n readonly Status?: React.ReactNode\n readonly UnpublishButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly EditMenuItems?: React.ReactNode\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly isInDrawer?: boolean\n readonly isTrashed?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onRestore?: DocumentDrawerContextType['onRestore']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n /**\n * Controls how the document controls render.\n * - `default`: full controls bar (meta + actions), used on the edit page.\n * - `drawerHeaderActions`: only the action buttons, rendered in the document drawer header.\n */\n readonly variant?: 'default' | 'drawerHeaderActions'\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n Status: CustomStatus,\n UnpublishButton: CustomUnpublishButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n EditMenuItems,\n hasSavePermission,\n isAccountView,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onRestore,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user,\n variant = 'default',\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const { isLivePreviewEnabled } = useLivePreviewContext()\n\n const { hasDeletePermission: docHasDeletePermission, hasTrashPermission: docHasTrashPermission } =\n useDocumentInfo()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n const [relativeTime, setRelativeTime] = useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n const i18nRef = useRef(i18n)\n i18nRef.current = i18n\n\n const updateRelativeTime = useCallback(() => {\n const date = data?.updatedAt || data?.createdAt\n if (date) {\n setRelativeTime(formatTimeToNow({ date, i18n: i18nRef.current }))\n }\n }, [data?.updatedAt, data?.createdAt])\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n updateRelativeTime()\n }, [data, i18n, dateFormat, updateRelativeTime])\n\n useEffect(() => {\n const interval = setInterval(updateRelativeTime, 60000)\n return () => clearInterval(interval)\n }, [updateRelativeTime])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const collectionDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const hasDeletePermission = collectionConfig?.trash\n ? docHasTrashPermission || docHasDeletePermission\n : collectionDeletePermission\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const globalHasDraftsEnabled = hasDraftsEnabled(globalConfig)\n const collectionHasDraftsEnabled = hasDraftsEnabled(collectionConfig)\n\n const showDotMenu = Boolean(\n !disableActions &&\n (EditMenuItems ||\n (collectionConfig && id && (hasCreatePermission || hasDeletePermission)) ||\n (globalConfig && (globalHasDraftsEnabled || localization))),\n )\n const collectionAutosaveEnabled = hasAutosaveEnabled(collectionConfig)\n const globalAutosaveEnabled = hasAutosaveEnabled(globalConfig)\n const autosaveEnabled = collectionAutosaveEnabled || globalAutosaveEnabled\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfig.versions.drafts.autosave !== false &&\n collectionConfig.versions.drafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfig.versions.drafts.autosave !== false &&\n globalConfig.versions.drafts.autosave.showSaveDraftButton === true)\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <div\n className={[baseClass, variant !== 'default' && `${baseClass}--${variant}`]\n .filter(Boolean)\n .join(' ')}\n >\n {variant === 'default' && (\n <div className={`${baseClass}__content`}>\n {Boolean(showLockedMetaIcon || BeforeDocumentMeta) && (\n <div className={`${baseClass}__before-meta`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {BeforeDocumentMeta}\n </div>\n )}\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__creating-new`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n {(collectionHasDraftsEnabled || globalHasDraftsEnabled) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li className={`${baseClass}__status ${baseClass}__list-item`}>\n <RenderCustomComponent CustomComponent={CustomStatus} Fallback={<Status />} />\n </li>\n )}\n {hasSavePermission &&\n autosaveEnabled &&\n !unsavedDraftWithValidations &&\n !isTrashed && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps &&\n (isEditing || isAccountView) &&\n (data?.updatedAt || data?.createdAt) && (\n <li\n className={`${baseClass}__list-item ${baseClass}__value-wrap`}\n title={updatedAt || createdAt || undefined}\n >\n <p className={`${baseClass}__value`}>\n {relativeTime\n ? t(isTrashed ? 'general:deletedAgo' : 'general:updatedAgo', {\n distance: relativeTime,\n })\n : `${t('general:loading')}...`}\n </p>\n </li>\n )}\n </ul>\n </div>\n )}\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n <div className={`${baseClass}__icon-buttons`}>\n {isLivePreviewEnabled && !isInDrawer && <LivePreviewToggler />}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasScheduledPublishEnabled(collectionConfig || globalConfig) && !isTrashed && (\n <SchedulePublishButton disabled={readOnlyForIncomingUser} />\n )}\n </div>\n {hasSavePermission && !isTrashed && !readOnlyForIncomingUser && (\n <Fragment>\n {collectionHasDraftsEnabled || globalHasDraftsEnabled ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {docHasDeletePermission && isTrashed && (\n <PermanentlyDeleteButton\n buttonId=\"action-permanently-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n />\n )}\n {hasSavePermission && isTrashed && (\n <RestoreButton\n buttonId=\"action-restore\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onRestore={onRestore}\n redirectAfterRestore={redirectAfterRestore}\n singularLabel={collectionConfig?.labels?.singular}\n />\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n buttonClassName={`${baseClass}__popup-button`}\n caret={false}\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n renderButton={({ active, ...buttonProps }) => (\n <Button\n {...buttonProps}\n buttonStyle=\"ghost\"\n className={`${baseClass}__popup-button`}\n icon={<MoreIcon />}\n selected={active}\n size=\"medium\"\n />\n )}\n size=\"medium\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <>\n <DuplicateDocument\n id={id}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n {localization && (\n <DuplicateDocument\n id={id}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n selectLocales={true}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </>\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && id && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomUnpublishButton}\n Fallback={<UnpublishButton />}\n />\n {EditMenuItems}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AASrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AASrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkK/D,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useModal } from '@faceless-ui/modal';
|
|
5
5
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
6
6
|
import { toast } from 'sonner';
|
|
@@ -121,16 +121,20 @@ export const DocumentDrawerContent = ({
|
|
|
121
121
|
abortAndIgnore(abortGetDocumentView);
|
|
122
122
|
};
|
|
123
123
|
}, []);
|
|
124
|
-
|
|
125
|
-
return /*#__PURE__*/_jsx(LoadingOverlay, {});
|
|
126
|
-
}
|
|
127
|
-
return /*#__PURE__*/_jsx(DocumentDrawerContextProvider, {
|
|
124
|
+
return /*#__PURE__*/_jsxs(DocumentDrawerContextProvider, {
|
|
128
125
|
clearDoc: clearDoc,
|
|
129
126
|
drawerSlug: drawerSlug,
|
|
130
127
|
onDelete: onDelete,
|
|
131
128
|
onDuplicate: onDuplicate,
|
|
132
129
|
onSave: onSave,
|
|
133
|
-
children:
|
|
130
|
+
children: [!isLoading && /*#__PURE__*/_jsx("div", {
|
|
131
|
+
className: "drawer__fade-in",
|
|
132
|
+
children: DocumentView
|
|
133
|
+
}), /*#__PURE__*/_jsx(LoadingOverlay, {
|
|
134
|
+
animationDuration: "200ms",
|
|
135
|
+
overlayType: "drawer",
|
|
136
|
+
show: isLoading
|
|
137
|
+
})]
|
|
134
138
|
});
|
|
135
139
|
};
|
|
136
140
|
//# sourceMappingURL=DrawerContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useRef","useState","toast","LoadingOverlay","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","DocumentDrawerContextProvider","DocumentDrawerContent","id","docID","collectionSlug","disableActions","drawerSlug","initialData","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","overrideEntityVisibility","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","getEntityConfig","collectionConfig","abortGetDocumentViewRef","closeModal","t","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasInitialized","getDocumentView","showLoadingIndicator","controller","fetchDocumentView","result","signal","Document","error","message","current","args","operation","doc","clearDoc","abortGetDocumentView","_jsx"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { DocumentDrawerContextProvider } from './Provider.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: docID,\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n overrideEntityVisibility = true,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n}) => {\n const { getEntityConfig } = useConfig()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const abortGetDocumentViewRef = React.useRef<AbortController>(null)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const hasInitialized = useRef(false)\n\n const getDocumentView = useCallback(\n (docID?: DocumentDrawerProps['id'], showLoadingIndicator: boolean = false) => {\n const controller = handleAbortRef(abortGetDocumentViewRef)\n\n const fetchDocumentView = async () => {\n if (showLoadingIndicator) {\n setIsLoading(true)\n }\n\n try {\n const result = await renderDocument({\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n overrideEntityVisibility,\n redirectAfterCreate,\n redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,\n redirectAfterDuplicate:\n redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,\n redirectAfterRestore: redirectAfterRestore !== undefined ? redirectAfterRestore : false,\n signal: controller.signal,\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n }\n\n abortGetDocumentViewRef.current = null\n }\n\n void fetchDocumentView()\n },\n [\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n renderDocument,\n redirectAfterCreate,\n closeModal,\n overrideEntityVisibility,\n t,\n ],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n if (args.operation === 'create') {\n getDocumentView(args.doc.id)\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig, getDocumentView],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig, getDocumentView],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, closeModal, drawerSlug, collectionConfig],\n )\n\n const clearDoc = useCallback(() => {\n getDocumentView(undefined, true)\n }, [getDocumentView])\n\n useEffect(() => {\n if (!DocumentView && !hasInitialized.current) {\n getDocumentView(docID, true)\n hasInitialized.current = true\n }\n }, [DocumentView, getDocumentView, docID])\n\n // Cleanup any pending requests when the component unmounts\n useEffect(() => {\n const abortGetDocumentView = abortGetDocumentViewRef.current\n\n return () => {\n abortAndIgnore(abortGetDocumentView)\n }\n }, [])\n\n
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useRef","useState","toast","LoadingOverlay","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","DocumentDrawerContextProvider","DocumentDrawerContent","id","docID","collectionSlug","disableActions","drawerSlug","initialData","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","overrideEntityVisibility","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","getEntityConfig","collectionConfig","abortGetDocumentViewRef","closeModal","t","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasInitialized","getDocumentView","showLoadingIndicator","controller","fetchDocumentView","result","signal","Document","error","message","current","args","operation","doc","clearDoc","abortGetDocumentView","_jsxs","_jsx","className","animationDuration","overlayType","show"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { DocumentDrawerContextProvider } from './Provider.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: docID,\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n overrideEntityVisibility = true,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n}) => {\n const { getEntityConfig } = useConfig()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const abortGetDocumentViewRef = React.useRef<AbortController>(null)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const hasInitialized = useRef(false)\n\n const getDocumentView = useCallback(\n (docID?: DocumentDrawerProps['id'], showLoadingIndicator: boolean = false) => {\n const controller = handleAbortRef(abortGetDocumentViewRef)\n\n const fetchDocumentView = async () => {\n if (showLoadingIndicator) {\n setIsLoading(true)\n }\n\n try {\n const result = await renderDocument({\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n overrideEntityVisibility,\n redirectAfterCreate,\n redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,\n redirectAfterDuplicate:\n redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,\n redirectAfterRestore: redirectAfterRestore !== undefined ? redirectAfterRestore : false,\n signal: controller.signal,\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n }\n\n abortGetDocumentViewRef.current = null\n }\n\n void fetchDocumentView()\n },\n [\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n renderDocument,\n redirectAfterCreate,\n closeModal,\n overrideEntityVisibility,\n t,\n ],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n if (args.operation === 'create') {\n getDocumentView(args.doc.id)\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig, getDocumentView],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig, getDocumentView],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, closeModal, drawerSlug, collectionConfig],\n )\n\n const clearDoc = useCallback(() => {\n getDocumentView(undefined, true)\n }, [getDocumentView])\n\n useEffect(() => {\n if (!DocumentView && !hasInitialized.current) {\n getDocumentView(docID, true)\n hasInitialized.current = true\n }\n }, [DocumentView, getDocumentView, docID])\n\n // Cleanup any pending requests when the component unmounts\n useEffect(() => {\n const abortGetDocumentView = abortGetDocumentViewRef.current\n\n return () => {\n abortAndIgnore(abortGetDocumentView)\n }\n }, [])\n\n return (\n <DocumentDrawerContextProvider\n clearDoc={clearDoc}\n drawerSlug={drawerSlug}\n onDelete={onDelete}\n onDuplicate={onDuplicate}\n onSave={onSave}\n >\n {!isLoading && <div className=\"drawer__fade-in\">{DocumentView}</div>}\n <LoadingOverlay animationDuration=\"200ms\" overlayType=\"drawer\" show={isLoading} />\n </DocumentDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|