@payloadcms/ui 4.0.0-internal.934870d → 4.0.0-internal.970009e
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/app.css +2 -2
- package/dist/css/colors.css +65 -0
- package/dist/css/preflight.css +21 -2
- package/dist/elements/APIKeyInput/index.js +22 -23
- package/dist/elements/APIKeyInput/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +17 -19
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.css +1 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +39 -30
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +234 -142
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +29 -21
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- 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 +1 -34
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +63 -23
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -1
- package/dist/elements/Button/index.css +3 -3
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +1 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CardGrid/index.css +0 -1
- package/dist/elements/Chip/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +213 -88
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +95 -56
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CollapseAllToggle/index.js +47 -32
- package/dist/elements/CollapseAllToggle/index.js.map +1 -1
- package/dist/elements/Collapsible/index.css +15 -4
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +46 -38
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +37 -14
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.css +4 -0
- package/dist/elements/ColumnSelection/Popup.js +10 -2
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/ColumnSelection/index.js.map +1 -1
- package/dist/elements/CommandPalette/index.css +8 -0
- package/dist/elements/ConfirmationModal/index.d.ts +3 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +2 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +45 -43
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +6 -2
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +40 -25
- package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +4 -0
- package/dist/elements/DefaultListViewTabs/index.js +47 -37
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DelayedSpinner/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +1 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/Dialog/DialogCancel/index.js.map +1 -1
- package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -1
- package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
- package/dist/elements/DocumentCard/index.d.ts +2 -0
- package/dist/elements/DocumentCard/index.d.ts.map +1 -1
- package/dist/elements/DocumentCard/index.js +2 -0
- package/dist/elements/DocumentCard/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.css +13 -10
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.css +7 -7
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +125 -65
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +80 -34
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.css +4 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +1 -0
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentStaleData/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js +2 -0
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +10 -7
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +2 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +104 -170
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.d.ts +1 -0
- package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts +14 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts.map +1 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js +99 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js.map +1 -0
- package/dist/elements/Drawer/index.js +138 -81
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +177 -62
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +1 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +7 -1
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.d.ts +1 -0
- package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +2 -0
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +23 -14
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +21 -21
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupBy/Popup.js.map +1 -1
- package/dist/elements/GroupBy/index.js +120 -66
- package/dist/elements/GroupBy/index.js.map +1 -1
- package/dist/elements/HTMLDiff/colors.css +7 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +51 -42
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/EditButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +25 -18
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +10 -5
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -1
- package/dist/elements/HierarchyTypeField/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/HydratePreferences/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +186 -105
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
- package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
- package/dist/elements/LayoutToggle/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/index.js +1 -1
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +3 -2
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListGroupByButton/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListWhereBuilder/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.css +7 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +6 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/LoadMoreRow/index.js.map +1 -1
- package/dist/elements/Loading/index.js +62 -18
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +93 -49
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +133 -108
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +54 -37
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.js +102 -38
- package/dist/elements/MiniCarousel/index.js.map +1 -1
- package/dist/elements/Modal/index.d.ts.map +1 -1
- package/dist/elements/Modal/index.js +13 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +10 -6
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +32 -21
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.css +5 -0
- package/dist/elements/NavGroup/index.css +27 -3
- package/dist/elements/NavGroup/index.js +31 -38
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.css +1 -0
- package/dist/elements/NoListResults/index.js +1 -1
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +36 -37
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +19 -3
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +141 -70
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
- 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 +1 -0
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +1 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +32 -24
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.css +4 -0
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +1 -1
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +1 -1
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +111 -39
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +50 -7
- package/dist/elements/SegmentedControl/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +31 -21
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.js.map +1 -1
- package/dist/elements/SkipToContent/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Spinner/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/Switch/index.css +2 -2
- package/dist/elements/Switch/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +6 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/TableIdentity.js +32 -16
- package/dist/elements/Table/TableIdentity.js.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/useAriaSort.js.map +1 -1
- package/dist/elements/Tabs/index.css +4 -3
- package/dist/elements/Thumbnail/index.js +133 -53
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +113 -54
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +1 -1
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +32 -24
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +2 -1
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-S7MOGZSR.js → CodeEditor-23ZGBN6S.js} +2 -2
- package/dist/exports/client/{DatePicker-POZJVQP4.js → DatePicker-AZBZPMY6.js} +2 -2
- package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
- package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
- package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
- package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
- package/dist/exports/client/{chunk-2AY67NFV.js → chunk-ZP2PB6M4.js} +2 -2
- package/dist/exports/client/chunk-ZP2PB6M4.js.map +7 -0
- package/dist/exports/client/index.d.ts +2 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +27 -27
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -1
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -1
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +207 -99
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +521 -308
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +224 -136
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +114 -74
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +75 -55
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.css +4 -0
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +1 -0
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.css +3 -3
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +3 -2
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +114 -73
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +215 -121
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +29 -21
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.css +3 -5
- package/dist/fields/Group/index.js +75 -46
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.js +23 -15
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +3 -2
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/Input.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +46 -27
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +35 -35
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +14 -14
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +216 -111
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Select/Input.js +26 -10
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +158 -77
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +17 -21
- package/dist/fields/Tabs/index.js +120 -112
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +2 -2
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +172 -95
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +2 -1
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +58 -28
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +97 -55
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +19 -8
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/index.css +9 -0
- package/dist/fields/Upload/index.js +101 -63
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/useRowFocus.js.map +1 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +27 -8
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.d.ts +9 -4
- package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +34 -7
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.js +3 -2
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.css +2 -2
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +58 -18
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -13
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +32 -17
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +27 -18
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useElementHeightVariable.js.map +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +21 -24
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Sidebar/index.d.ts.map +1 -1
- package/dist/icons/Sidebar/index.js +2 -0
- package/dist/icons/Sidebar/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -1
- package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
- package/dist/layouts/Root/RootProviders.js +31 -28
- package/dist/layouts/Root/RootProviders.js.map +1 -1
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +4 -15
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
- package/dist/providers/Auth/index.js +2 -2
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +65 -32
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/Embed/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +5 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +6 -1
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/ModalAccessibility/index.js.map +1 -1
- package/dist/providers/ModalFocus/index.d.ts +15 -0
- package/dist/providers/ModalFocus/index.d.ts.map +1 -0
- package/dist/providers/ModalFocus/index.js +70 -0
- package/dist/providers/ModalFocus/index.js.map +1 -0
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +37 -25
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.d.ts +3 -2
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +78 -105
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/RouterAdapter/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +34 -23
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/index.js +18 -35
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +87 -3
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +0 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +11 -1
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +2 -10
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +3 -7
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +2 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +4 -9
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +1 -0
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +17 -17
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +106 -27
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +373 -151
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +18 -5
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -1
- package/dist/views/Document/generateEditViewMetadata.js.map +1 -1
- package/dist/views/Document/index.js +1 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +13 -11
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.css +26 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +28 -17
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
- package/dist/views/HierarchyList/index.js +2 -2
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.js.map +1 -1
- package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +321 -181
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +176 -77
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +113 -33
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +9 -11
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +2 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
- package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
- package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.css +42 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.js +125 -0
- package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
- package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
- package/dist/widgets/Activity/index.client.d.ts +15 -0
- package/dist/widgets/Activity/index.client.d.ts.map +1 -0
- package/dist/widgets/Activity/index.client.js +186 -0
- package/dist/widgets/Activity/index.client.js.map +1 -0
- package/dist/widgets/Activity/index.css +320 -0
- package/dist/widgets/Activity/index.d.ts +13 -0
- package/dist/widgets/Activity/index.d.ts.map +1 -0
- package/dist/widgets/Activity/index.js +100 -0
- package/dist/widgets/Activity/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +6 -13
- package/dist/widgets/Activity/types.d.ts.map +1 -0
- package/dist/widgets/Activity/types.js +2 -0
- package/dist/widgets/Activity/types.js.map +1 -0
- package/dist/widgets/Activity/utils/cache.d.ts +33 -0
- package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/cache.js +72 -0
- package/dist/widgets/Activity/utils/cache.js.map +1 -0
- package/dist/widgets/Activity/utils/constants.d.ts +5 -0
- package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/constants.js +4 -0
- package/dist/widgets/Activity/utils/constants.js.map +1 -0
- package/dist/widgets/Activity/utils/documents.d.ts +11 -0
- package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/documents.js +38 -0
- package/dist/widgets/Activity/utils/documents.js.map +1 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +24 -21
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
- package/dist/widgets/Activity/utils/state.d.ts +44 -0
- package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/state.js +80 -0
- package/dist/widgets/Activity/utils/state.js.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.js +35 -0
- package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
- package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.client.js +3 -0
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/CollectionCards/index.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.js +3 -0
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
- package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/index.js +3 -0
- package/dist/widgets/CollectionQuery/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
- package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.js +3 -0
- package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.js +3 -0
- package/dist/widgets/UploadDropzone/index.js.map +1 -1
- package/dist/widgets/Welcome/index.d.ts +3 -0
- package/dist/widgets/Welcome/index.d.ts.map +1 -1
- package/dist/widgets/Welcome/index.js +3 -0
- package/dist/widgets/Welcome/index.js.map +1 -1
- package/dist/widgets/WidgetCard/index.css +0 -20
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
- package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
- package/dist/widgets/shared/CollectionFilter/index.js +170 -0
- package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
- package/package.json +21 -23
- package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
- package/dist/exports/client/chunk-Z42OBP5U.js +0 -27
- package/dist/exports/client/chunk-Z42OBP5U.js.map +0 -7
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -73
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -122
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.js +0 -401
- package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.css +0 -318
- package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
- package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.js +0 -45
- package/dist/widgets/RecentlyViewed/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
- package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.js +0 -19
- package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-S7MOGZSR.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDocumentSlots.js","names":["hasDraftsEnabled","matchMimeType","RenderServerComponent","ViewDescription","filterLLMInstructionsMenuItems","getDocumentPermissions","renderDocumentSlots","args","id","collectionConfig","doc","globalConfig","hasSavePermission","locale","permissions","req","user","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","server","BeforeDocumentControls","edit","beforeDocumentControls","Component","importMap","BeforeDocumentMeta","EditMenuItems","collectionSlug","slug","globalSlug","menuItems","editMenuItems","length","CustomPreviewButton","PreviewButton","LivePreview","views","livePreview","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","Fallback","versions","drafts","CustomStatus","Status","CustomPublishButton","PublishButton","CustomUnpublishButton","UnpublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","filePreviewConfig","filePreview","mimeType","filePreviewComponent","UploadFilePreview","filename","filesize","fileSrc","url","height","width","renderDocumentSlotsHandler","collections","config","Error","data","result","findByID","collection","depth","overrideAccess","select"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n Locale,\n PayloadComponent,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n UnpublishButtonServerPropsOnly,\n UploadFilePreviewClientProps,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { hasDraftsEnabled, matchMimeType } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { ViewDescription } from '../../exports/client/index.js'\nimport { filterLLMInstructionsMenuItems } from '../../utilities/filterLLMInstructionsMenuItems.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n doc?: Record<string, unknown>\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n id?: number | string\n locale: Locale\n permissions: SanitizedPermissions\n req: PayloadRequest\n user?: PayloadRequest['user']\n}) => Promise<DocumentSlots> = async (args) => {\n const {\n id,\n collectionConfig,\n doc,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n id,\n i18n: req.i18n,\n locale,\n payload: req.payload,\n permissions,\n server: req.server,\n user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.edit?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const BeforeDocumentMeta =\n collectionConfig?.admin?.components?.edit?.BeforeDocumentMeta ||\n globalConfig?.admin?.components?.edit?.BeforeDocumentMeta\n\n if (BeforeDocumentMeta) {\n components.BeforeDocumentMeta = RenderServerComponent({\n Component: BeforeDocumentMeta,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const EditMenuItems = await filterLLMInstructionsMenuItems({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n menuItems:\n collectionConfig?.admin?.components?.edit?.editMenuItems ||\n globalConfig?.admin?.components?.edit?.editMenuItems,\n permissions,\n req,\n })\n\n if (EditMenuItems?.length) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.edit?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const LivePreview =\n collectionConfig?.admin?.components?.views?.edit?.livePreview ||\n globalConfig?.admin?.components?.views?.edit?.livePreview\n\n if (LivePreview?.Component) {\n components.LivePreview = RenderServerComponent({\n Component: LivePreview.Component,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description || globalConfig?.admin?.components?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomStatus =\n collectionConfig?.admin?.components?.edit?.Status ||\n globalConfig?.admin?.components?.edit?.Status\n\n if (CustomStatus) {\n components.Status = RenderServerComponent({\n Component: CustomStatus,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n if (hasSavePermission) {\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.edit?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomUnpublishButton =\n collectionConfig?.admin?.components?.edit?.UnpublishButton ||\n globalConfig?.admin?.components?.edit?.UnpublishButton\n\n if (CustomUnpublishButton) {\n components.UnpublishButton = RenderServerComponent({\n Component: CustomUnpublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies UnpublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.edit?.SaveDraftButton\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.edit?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const filePreviewConfig = collectionConfig?.upload?.admin?.components?.filePreview\n if (collectionConfig?.upload && filePreviewConfig) {\n const mimeType = (doc?.mimeType as string) ?? ''\n let filePreviewComponent: PayloadComponent | undefined\n\n if (\n typeof filePreviewConfig === 'string' ||\n (typeof filePreviewConfig === 'object' && 'path' in filePreviewConfig)\n ) {\n filePreviewComponent = filePreviewConfig as PayloadComponent\n } else {\n filePreviewComponent = matchMimeType(\n filePreviewConfig as Record<string, PayloadComponent>,\n mimeType,\n )\n }\n\n if (filePreviewComponent) {\n components.UploadFilePreview = RenderServerComponent({\n clientProps: {\n filename: doc?.filename,\n filesize: doc?.filesize,\n fileSrc: doc?.url,\n height: doc?.height,\n mimeType,\n width: doc?.width,\n } as UploadFilePreviewClientProps,\n Component: filePreviewComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{\n collectionSlug: string\n id?: number | string\n}> = async (args) => {\n const { id, collectionSlug, locale, permissions, req, user } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data: {},\n req,\n })\n\n let doc: Record<string, unknown> | undefined\n if (id && collectionConfig.upload) {\n const result = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n overrideAccess: false,\n req,\n select: {\n filename: true,\n filesize: true,\n height: true,\n mimeType: true,\n url: true,\n width: true,\n },\n })\n doc = result as Record<string, unknown>\n }\n\n return renderDocumentSlots({\n id,\n collectionConfig,\n doc,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"renderDocumentSlots.js","names":["hasDraftsEnabled","matchMimeType","RenderServerComponent","ViewDescription","filterLLMInstructionsMenuItems","getDocumentPermissions","renderDocumentSlots","args","id","collectionConfig","doc","globalConfig","hasSavePermission","locale","permissions","req","user","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","server","BeforeDocumentControls","edit","beforeDocumentControls","Component","importMap","BeforeDocumentMeta","EditMenuItems","collectionSlug","slug","globalSlug","menuItems","editMenuItems","length","CustomPreviewButton","PreviewButton","LivePreview","views","livePreview","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","Fallback","versions","drafts","CustomStatus","Status","CustomPublishButton","PublishButton","CustomUnpublishButton","UnpublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","filePreviewConfig","filePreview","mimeType","filePreviewComponent","UploadFilePreview","filename","filesize","fileSrc","url","height","width","renderDocumentSlotsHandler","collections","config","Error","data","result","findByID","collection","depth","overrideAccess","select"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n Locale,\n PayloadComponent,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n UnpublishButtonServerPropsOnly,\n UploadFilePreviewClientProps,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { hasDraftsEnabled, matchMimeType } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { ViewDescription } from '../../exports/client/index.js'\nimport { filterLLMInstructionsMenuItems } from '../../utilities/filterLLMInstructionsMenuItems.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n doc?: Record<string, unknown>\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n id?: number | string\n locale: Locale\n permissions: SanitizedPermissions\n req: PayloadRequest\n user?: PayloadRequest['user']\n}) => Promise<DocumentSlots> = async (args) => {\n const {\n id,\n collectionConfig,\n doc,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n } = args\n\n const components: DocumentSlots = {}\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n id,\n i18n: req.i18n,\n locale,\n payload: req.payload,\n permissions,\n server: req.server,\n user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.edit?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const BeforeDocumentMeta =\n collectionConfig?.admin?.components?.edit?.BeforeDocumentMeta ||\n globalConfig?.admin?.components?.edit?.BeforeDocumentMeta\n\n if (BeforeDocumentMeta) {\n components.BeforeDocumentMeta = RenderServerComponent({\n Component: BeforeDocumentMeta,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const EditMenuItems = await filterLLMInstructionsMenuItems({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n menuItems:\n collectionConfig?.admin?.components?.edit?.editMenuItems ||\n globalConfig?.admin?.components?.edit?.editMenuItems,\n permissions,\n req,\n })\n\n if (EditMenuItems?.length) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.edit?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const LivePreview =\n collectionConfig?.admin?.components?.views?.edit?.livePreview ||\n globalConfig?.admin?.components?.views?.edit?.livePreview\n\n if (LivePreview?.Component) {\n components.LivePreview = RenderServerComponent({\n Component: LivePreview.Component,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description || globalConfig?.admin?.components?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomStatus =\n collectionConfig?.admin?.components?.edit?.Status ||\n globalConfig?.admin?.components?.edit?.Status\n\n if (CustomStatus) {\n components.Status = RenderServerComponent({\n Component: CustomStatus,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n if (hasSavePermission) {\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.edit?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomUnpublishButton =\n collectionConfig?.admin?.components?.edit?.UnpublishButton ||\n globalConfig?.admin?.components?.edit?.UnpublishButton\n\n if (CustomUnpublishButton) {\n components.UnpublishButton = RenderServerComponent({\n Component: CustomUnpublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies UnpublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.edit?.SaveDraftButton\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.edit?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const filePreviewConfig = collectionConfig?.upload?.admin?.components?.filePreview\n if (collectionConfig?.upload && filePreviewConfig) {\n const mimeType = (doc?.mimeType as string) ?? ''\n let filePreviewComponent: PayloadComponent | undefined\n\n if (\n typeof filePreviewConfig === 'string' ||\n (typeof filePreviewConfig === 'object' && 'path' in filePreviewConfig)\n ) {\n filePreviewComponent = filePreviewConfig as PayloadComponent\n } else {\n filePreviewComponent = matchMimeType(\n filePreviewConfig as Record<string, PayloadComponent>,\n mimeType,\n )\n }\n\n if (filePreviewComponent) {\n components.UploadFilePreview = RenderServerComponent({\n clientProps: {\n filename: doc?.filename,\n filesize: doc?.filesize,\n fileSrc: doc?.url,\n height: doc?.height,\n mimeType,\n width: doc?.width,\n },\n Component: filePreviewComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{\n collectionSlug: string\n id?: number | string\n}> = async (args) => {\n const { id, collectionSlug, locale, permissions, req, user } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data: {},\n req,\n })\n\n let doc: Record<string, unknown> | undefined\n if (id && collectionConfig.upload) {\n const result = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n overrideAccess: false,\n req,\n select: {\n filename: true,\n filesize: true,\n height: true,\n mimeType: true,\n url: true,\n width: true,\n },\n })\n doc = result\n }\n\n return renderDocumentSlots({\n id,\n collectionConfig,\n doc,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIKeyGenerationModal.js","names":["c","_c","useModal","React","useCallback","toast","Button","ConfirmationModal","Translation","useDocumentInfo","useTranslation","APIKeyGenerationModal","t0","$","id","apiKeyLast4","highlightField","icon","setKey","willInvalidateExistingKey","t1","undefined","documentID","toggleModal","t","modalSlug","t2","success","handleGenerate","t3","t4","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","size","body","elements","1","_temp","i18nKey","heading","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKeyGenerationModal.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { Translation } from '../../../elements/Translation/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\ntype APIKeyGenerationModalProps = {\n apiKeyLast4?: string\n highlightField: () => void\n icon?: React.ReactNode\n id?: string\n setKey: () => boolean | Promise<boolean | void> | void\n willInvalidateExistingKey?: boolean\n}\n\nexport function APIKeyGenerationModal({\n id,\n apiKeyLast4,\n highlightField,\n icon,\n setKey,\n willInvalidateExistingKey = true,\n}: APIKeyGenerationModalProps) {\n const { id: documentID } = useDocumentInfo()\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n const modalSlug = `generate-confirmation-${documentID}`\n const handleGenerate = useCallback(async () => {\n if ((await setKey()) === false) {\n return\n }\n toast.success(t('authentication:newAPIKeyGenerated'))\n highlightField()\n }, [highlightField, setKey, t])\n\n return (\n <React.Fragment>\n <Button\n aria-label={icon ? t('authentication:generateNewAPIKey') : undefined}\n buttonStyle={icon ? 'ghost' : 'secondary'}\n className={icon ? 'api-key__regenerate-button' : undefined}\n icon={icon}\n id={id}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n >\n {!icon && t('authentication:generateNewAPIKey')}\n </Button>\n <ConfirmationModal\n body={\n willInvalidateExistingKey && apiKeyLast4 ? (\n <span>\n Generating a new API key will invalidate the key ending in{' '}\n <strong>{apiKeyLast4}</strong>. This will take effect immediately.\n </span>\n ) : willInvalidateExistingKey ? (\n <Translation\n elements={{ 1: ({ children }) => <strong>{children}</strong> }}\n i18nKey=\"authentication:generatingNewAPIKeyWillInvalidate\"\n t={t}\n />\n ) : (\n <span>\n Are you sure you want to generate an API key for user <strong>{documentID}</strong>?\n This will take effect immediately.\n </span>\n )\n }\n confirmLabel={t('authentication:generate')}\n heading={t('authentication:confirmGeneration')}\n modalSlug={modalSlug}\n onConfirm={handleGenerate}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAW/B,OAAO,SAAAC,sBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAA+B;IAAAa,EAAA;IAAAC,WAAA;IAAAC,cAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,yBAAA,EAAAC;EAAA,IAAAR,EAOT;EAD3B,MAAAO,yBAAA,GAAAC,EAAgC,
|
|
1
|
+
{"version":3,"file":"APIKeyGenerationModal.js","names":["c","_c","useModal","React","useCallback","toast","Button","ConfirmationModal","Translation","useDocumentInfo","useTranslation","APIKeyGenerationModal","t0","$","id","apiKeyLast4","highlightField","icon","setKey","willInvalidateExistingKey","t1","undefined","documentID","toggleModal","t","modalSlug","t2","success","handleGenerate","t3","t4","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","size","body","elements","1","_temp","i18nKey","heading","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKeyGenerationModal.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { Translation } from '../../../elements/Translation/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\ntype APIKeyGenerationModalProps = {\n apiKeyLast4?: string\n highlightField: () => void\n icon?: React.ReactNode\n id?: string\n setKey: () => boolean | Promise<boolean | void> | void\n willInvalidateExistingKey?: boolean\n}\n\nexport function APIKeyGenerationModal({\n id,\n apiKeyLast4,\n highlightField,\n icon,\n setKey,\n willInvalidateExistingKey = true,\n}: APIKeyGenerationModalProps) {\n const { id: documentID } = useDocumentInfo()\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n const modalSlug = `generate-confirmation-${documentID}`\n const handleGenerate = useCallback(async () => {\n if ((await setKey()) === false) {\n return\n }\n toast.success(t('authentication:newAPIKeyGenerated'))\n highlightField()\n }, [highlightField, setKey, t])\n\n return (\n <React.Fragment>\n <Button\n aria-label={icon ? t('authentication:generateNewAPIKey') : undefined}\n buttonStyle={icon ? 'ghost' : 'secondary'}\n className={icon ? 'api-key__regenerate-button' : undefined}\n icon={icon}\n id={id}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n >\n {!icon && t('authentication:generateNewAPIKey')}\n </Button>\n <ConfirmationModal\n body={\n willInvalidateExistingKey && apiKeyLast4 ? (\n <span>\n Generating a new API key will invalidate the key ending in{' '}\n <strong>{apiKeyLast4}</strong>. This will take effect immediately.\n </span>\n ) : willInvalidateExistingKey ? (\n <Translation\n elements={{ 1: ({ children }) => <strong>{children}</strong> }}\n i18nKey=\"authentication:generatingNewAPIKeyWillInvalidate\"\n t={t}\n />\n ) : (\n <span>\n Are you sure you want to generate an API key for user <strong>{documentID}</strong>?\n This will take effect immediately.\n </span>\n )\n }\n confirmLabel={t('authentication:generate')}\n heading={t('authentication:confirmGeneration')}\n modalSlug={modalSlug}\n onConfirm={handleGenerate}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAWvC,OAAO,aAAa,CAAA;AAKpB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsRhC,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { formatAdminURL, getFieldPermissions } from 'payload/shared';
|
|
5
|
+
import { flattenTopLevelFields, formatAdminURL, getFieldPermissions } from 'payload/shared';
|
|
6
6
|
import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react';
|
|
7
7
|
import { toast } from 'sonner';
|
|
8
8
|
import { Button } from '../../../elements/Button/index.js';
|
|
@@ -47,7 +47,8 @@ export const Auth = props => {
|
|
|
47
47
|
isTrashed
|
|
48
48
|
} = useDocumentInfo();
|
|
49
49
|
const {
|
|
50
|
-
config: t0
|
|
50
|
+
config: t0,
|
|
51
|
+
getEntityConfig
|
|
51
52
|
} = useConfig();
|
|
52
53
|
const {
|
|
53
54
|
routes: t1
|
|
@@ -55,13 +56,15 @@ export const Auth = props => {
|
|
|
55
56
|
const {
|
|
56
57
|
api
|
|
57
58
|
} = t1;
|
|
58
|
-
|
|
59
|
+
const hasPasswordField = flattenTopLevelFields(getEntityConfig({
|
|
60
|
+
collectionSlug
|
|
61
|
+
}).fields).some(_temp2);
|
|
62
|
+
let showPasswordFields = Boolean(docPermissions[operation]);
|
|
59
63
|
let showUnlock = true;
|
|
60
|
-
const hasPasswordFieldOverride = typeof docPermissions.fields === "object" && "password" in docPermissions.fields;
|
|
61
64
|
const hasLoginFieldOverride = typeof docPermissions.fields === "object" && ("username" in docPermissions.fields || "email" in docPermissions.fields);
|
|
62
|
-
if (
|
|
65
|
+
if (hasPasswordField) {
|
|
63
66
|
const {
|
|
64
|
-
|
|
67
|
+
operation: passwordPermission
|
|
65
68
|
} = getFieldPermissions({
|
|
66
69
|
field: {
|
|
67
70
|
name: "password",
|
|
@@ -71,11 +74,7 @@ export const Auth = props => {
|
|
|
71
74
|
parentName: "",
|
|
72
75
|
permissions: docPermissions?.fields
|
|
73
76
|
});
|
|
74
|
-
|
|
75
|
-
showPasswordFields = passwordPermissions === true || typeof passwordPermissions === "object" && passwordPermissions.create;
|
|
76
|
-
} else {
|
|
77
|
-
showPasswordFields = passwordPermissions === true || typeof passwordPermissions === "object" && passwordPermissions.update;
|
|
78
|
-
}
|
|
77
|
+
showPasswordFields = passwordPermission;
|
|
79
78
|
}
|
|
80
79
|
if (hasLoginFieldOverride) {
|
|
81
80
|
const hasEmailAndUsernameFields = loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin);
|
|
@@ -332,4 +331,7 @@ export const Auth = props => {
|
|
|
332
331
|
function _temp(reducer) {
|
|
333
332
|
return reducer[1];
|
|
334
333
|
}
|
|
334
|
+
function _temp2(field) {
|
|
335
|
+
return field.name === "password";
|
|
336
|
+
}
|
|
335
337
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","formatAdminURL","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","changingPassword","setChangingPassword","dispatchFields","_temp","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","permissions","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKey","canManageAPIKey","Boolean","t2","bb0","unlock","undefined","hasPermissionToUnlock","t3","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","apiRoute","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","label","startsWith","charAt","slice","toLowerCase","formatHeaderButtonLabel","Controls","_jsxs","children","_jsx","buttonStyle","id","onClick","size","t8","filter","join","autoComplete","required","indexPath","parentPath","parentSchemaPath","schemaPath","reveal","admin","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedFieldPermissions } from 'payload'\n\nimport { formatAdminURL, getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\nimport { APIKey } from './APIKey.js'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n let showPasswordFields: SanitizedFieldPermissions = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.create) as SanitizedFieldPermissions)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.update) as SanitizedFieldPermissions)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.apiKey\n const canManageAPIKey =\n apiKeyPermissions === true ||\n (typeof apiKeyPermissions === 'object' && Boolean(apiKeyPermissions?.[operation]))\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n if (docPermissions) {\n return Boolean('unlock' in docPermissions ? docPermissions.unlock : undefined)\n }\n\n return false\n }, [docPermissions])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/unlock`,\n })\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canManageAPIKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n const formatHeaderButtonLabel = (label: string): string => {\n if (!i18n?.language?.startsWith('en') || !label) {\n return label\n }\n\n return label.charAt(0) + label.slice(1).toLowerCase()\n }\n\n const Controls =\n enableFields &&\n (changingPassword ||\n (!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields) ||\n (!changingPassword && operation === 'update' && hasPermissionToUnlock)) ? (\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"cancel-change-password\"\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:changePassword'))}\n </Button>\n )}\n {!changingPassword && operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n id=\"force-unlock\"\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:forceUnlock'))}\n </Button>\n )}\n </div>\n ) : null\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__title`}>{t('authentication:account')}</div>\n {Controls}\n </div>\n <div className={`${baseClass}__body`}>\n {showAuthBlock && (\n <Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) &&\n (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n </Fragment>\n )}\n {showAPIKeyBlock && (\n <div className={`${baseClass}__api-key`}>\n <APIKey\n readOnly={disabled}\n reveal={typeof useAPIKey === 'object' && useAPIKey.reveal === true}\n />\n </div>\n )}\n {showVerifyBlock && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","flattenTopLevelFields","formatAdminURL","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","changingPassword","setChangingPassword","dispatchFields","_temp","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","getEntityConfig","routes","t1","api","hasPasswordField","fields","some","_temp2","showPasswordFields","Boolean","showUnlock","hasLoginFieldOverride","passwordPermission","field","name","type","parentName","permissions","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKey","canManageAPIKey","t2","bb0","unlock","undefined","hasPermissionToUnlock","t3","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","apiRoute","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","label","startsWith","charAt","slice","toLowerCase","formatHeaderButtonLabel","Controls","_jsxs","children","_jsx","buttonStyle","id","onClick","size","t8","filter","join","autoComplete","required","indexPath","parentPath","parentSchemaPath","schemaPath","reveal","admin","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { flattenTopLevelFields, formatAdminURL, getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\nimport { APIKey } from './APIKey.js'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n },\n getEntityConfig,\n } = useConfig()\n\n const hasPasswordField = useMemo(\n () =>\n flattenTopLevelFields(getEntityConfig({ collectionSlug }).fields).some(\n (field) => field.name === 'password',\n ),\n [collectionSlug, getEntityConfig],\n )\n\n let showPasswordFields = Boolean(docPermissions[operation])\n let showUnlock = true\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordField) {\n const { operation: passwordPermission } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n showPasswordFields = passwordPermission\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.apiKey\n const canManageAPIKey =\n apiKeyPermissions === true ||\n (typeof apiKeyPermissions === 'object' && Boolean(apiKeyPermissions?.[operation]))\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n if (docPermissions) {\n return Boolean('unlock' in docPermissions ? docPermissions.unlock : undefined)\n }\n\n return false\n }, [docPermissions])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/unlock`,\n })\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canManageAPIKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n const formatHeaderButtonLabel = (label: string): string => {\n if (!i18n?.language?.startsWith('en') || !label) {\n return label\n }\n\n return label.charAt(0) + label.slice(1).toLowerCase()\n }\n\n const Controls =\n enableFields &&\n (changingPassword ||\n (!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields) ||\n (!changingPassword && operation === 'update' && hasPermissionToUnlock)) ? (\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"cancel-change-password\"\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:changePassword'))}\n </Button>\n )}\n {!changingPassword && operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n id=\"force-unlock\"\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:forceUnlock'))}\n </Button>\n )}\n </div>\n ) : null\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__title`}>{t('authentication:account')}</div>\n {Controls}\n </div>\n <div className={`${baseClass}__body`}>\n {showAuthBlock && (\n <Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) &&\n (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n </Fragment>\n )}\n {showAPIKeyBlock && (\n <div className={`${baseClass}__api-key`}>\n <APIKey\n readOnly={disabled}\n reveal={typeof useAPIKey === 'object' && useAPIKey.reveal === true}\n />\n </div>\n )}\n {showVerifyBlock && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentInfo","useDocumentTitle","useEntityVisibility","useTranslation","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","isTrashed","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","serverURL","admin","adminRoute","t3","nav","push","label","url","path","t4"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n isTrashed?: boolean\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, isTrashed, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing } = useDocumentInfo()\n const { title } = useDocumentTitle()\n\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n } = useConfig()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n // Collection label\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n // Trash breadcrumb (if in trash view)\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n })\n : undefined,\n })\n }\n\n // Document label\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n // Fallback view (used for versions, previews, etc.)\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n setStepNav(nav)\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n isTrashed,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n serverURL,\n view,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAI1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,kBAAA,GASRC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACH;IAAAa,EAAA;IAAAC,cAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC,WAAA;IAAAC;EAAA,IAA+EP,KAAA;EAE/E,MAAAQ,IAAA,GAAiCR,KAAA,EAAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentInfo","useDocumentTitle","useEntityVisibility","useTranslation","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","isTrashed","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","serverURL","admin","adminRoute","t3","nav","push","label","url","path","t4"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n isTrashed?: boolean\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, isTrashed, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing } = useDocumentInfo()\n const { title } = useDocumentTitle()\n\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n } = useConfig()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n // Collection label\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n // Trash breadcrumb (if in trash view)\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n })\n : undefined,\n })\n }\n\n // Document label\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n // Fallback view (used for versions, previews, etc.)\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n setStepNav(nav)\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n isTrashed,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n serverURL,\n view,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useEffect","useRef","useFormFields","useDocumentTitle","useTranslation","formatDocTitle","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","value","t2","data","id","title","t3","t4","current","animationFrame","requestAnimationFrame","cancelAnimationFrame"],"sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useEffect, useRef } from 'react'\n\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../../utilities/formatDocTitle/index.js'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentTitle()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '', [useAsTitle]: field?.value || '' },\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n // Coalesce rapid field changes before updating the title and step navigation contexts.\n const animationFrame = requestAnimationFrame(() => {\n setDocumentTitle(title)\n })\n\n return () => cancelAnimationFrame(animationFrame)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useEffect","useRef","useFormFields","useDocumentTitle","useTranslation","formatDocTitle","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","value","t2","data","id","title","t3","t4","current","animationFrame","requestAnimationFrame","cancelAnimationFrame"],"sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useEffect, useRef } from 'react'\n\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../../utilities/formatDocTitle/index.js'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentTitle()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '', [useAsTitle]: field?.value || '' },\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n // Coalesce rapid field changes before updating the title and step navigation contexts.\n const animationFrame = requestAnimationFrame(() => {\n setDocumentTitle(title)\n })\n\n return () => cancelAnimationFrame(animationFrame)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,KAAyB,EAAAD,UAAA;EAAA,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA;IAEhBE,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKH,UAAe,IAAfI,MAA6C,IAApBA,MAAA,GAASJ,UAAA,CAAgB,IAAlD,IAAkD;IAAA;IAAAL,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5F,MAAAU,KAAA,GAAchB,aAAA,CAAca,EAAgE;EAE5F,MAAAI,cAAA,GAAuBlB,MAAA,CAAO;EAE9B;IAAAmB;EAAA,IAAiBhB,cAAA;EAEjB;IAAAiB;EAAA,IAA6BlB,gBAAA;EAE7B,MAAAmB,oBAAA,GAA6BZ,MAAA,EAAAI,KAAe,EAAAS,UAAA;EAIZ,MAAAP,EAAA,GAAAE,KAAA,EAAAM,KAAgB,IAAhB,EAAgB;EAAA,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAc,oBAAA,IAAAd,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAK,UAAA;IAFlCY,EAAA,GAAApB,cAAA,CAAe;MAAAI,gBAAA;MAAAiB,IAAA,EAErB;QAAAC,EAAA,EAAM;QAAA,CAAKd,UAAA,GAAaG;MAAmB;MAAAO,UAAA,EACrCD,oBAAA;MAAAX,QAAA;MAAAC,YAAA;MAAAQ;IAId;IAAAZ,CAAA,MAAAC,gBAAA;IAAAD,CAAA,MAAAc,oBAAA;IAAAd,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAPA,MAAAoB,KAAA,GAAcH,EAOd;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,SAAAa,gBAAA,IAAAb,CAAA,SAAAoB,KAAA;IAEUC,EAAA,GAAAA,CAAA;MACR,IAAI,CAACV,cAAA,CAAAY,OAAsB;QACzBZ,cAAA,CAAAY,OAAA,GAAyB,IAAH;QAAA;MAAA;MAKxB,MAAAC,cAAA,GAAuBC,qBAAA,CAAsB;QAC3CZ,gBAAA,CAAiBO,KAAA;MAAA,CACnB;MAAA,OAEO,MAAMM,oBAAA,CAAqBF,cAAA;IAAA,CACpC;IAAGF,EAAA,IAACT,gBAAA,EAAkBO,KAAA,CAAM;IAAApB,CAAA,OAAAa,gBAAA;IAAAb,CAAA,OAAAoB,KAAA;IAAApB,CAAA,OAAAqB,EAAA;IAAArB,CAAA,OAAAsB,EAAA;EAAA;IAAAD,EAAA,GAAArB,CAAA;IAAAsB,EAAA,GAAAtB,CAAA;EAAA;EAZ5BR,SAAA,CAAU6B,EAYV,EAAGC,EAAyB;EAAA,OAErB;AAAA,CACT","ignoreList":[]}
|
|
@@ -68,6 +68,32 @@
|
|
|
68
68
|
width: 100%;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
.collection-edit .collection-edit__main > .document-fields {
|
|
72
|
+
width: 100%;
|
|
73
|
+
max-width: 100%;
|
|
74
|
+
margin-inline: auto;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@media (min-width: 1024px) {
|
|
78
|
+
.collection-edit--constrain-document-width
|
|
79
|
+
.collection-edit__main
|
|
80
|
+
> .document-fields:not(.document-fields--force-sidebar-wrap) {
|
|
81
|
+
--field-border-bleed: 0;
|
|
82
|
+
--field-tabs-edge-display: none;
|
|
83
|
+
max-width: calc(var(--spacer-6) * 27);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@container drawer (width <= 768px) {
|
|
88
|
+
.collection-edit--constrain-document-width
|
|
89
|
+
.collection-edit__main
|
|
90
|
+
> .document-fields:not(.document-fields--force-sidebar-wrap) {
|
|
91
|
+
--field-border-bleed: 1;
|
|
92
|
+
--field-tabs-edge-display: block;
|
|
93
|
+
max-width: 100%;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
71
97
|
.collection-edit__main--popup-open {
|
|
72
98
|
width: 100%;
|
|
73
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAQ,MAAM,SAAS,CAAA;AAG5D,OAAO,KAA4D,MAAM,OAAO,CAAA;AAsChF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACN,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,iBAAiB,GAClB,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAQ,MAAM,SAAS,CAAA;AAG5D,OAAO,KAA4D,MAAM,OAAO,CAAA;AAsChF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACN,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,iBAAiB,GAClB,EAAE,uBAAuB,qBAmyBzB"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -72,7 +72,7 @@ export function DefaultEditView({
|
|
|
72
72
|
disableLeaveWithoutSaving,
|
|
73
73
|
docPermissions,
|
|
74
74
|
documentIsLocked,
|
|
75
|
-
documentLockState,
|
|
75
|
+
documentLockState: documentLockStateRef,
|
|
76
76
|
getDocPermissions,
|
|
77
77
|
getDocPreferences,
|
|
78
78
|
globalSlug,
|
|
@@ -176,13 +176,24 @@ export function DefaultEditView({
|
|
|
176
176
|
const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false);
|
|
177
177
|
const [showTakeOverModal, setShowTakeOverModal] = useState(false);
|
|
178
178
|
const [showStaleDataModal, setShowStaleDataModal] = useState(false);
|
|
179
|
-
const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now());
|
|
179
|
+
const [editSessionStartTime, setEditSessionStartTime] = useState(() => Date.now());
|
|
180
180
|
const hasCheckedForStaleDataRef = useRef(false);
|
|
181
181
|
const originalUpdatedAtRef = useRef(data?.updatedAt);
|
|
182
182
|
const saveCounterRef = useRef(0);
|
|
183
183
|
const isSavingRef = useRef(false);
|
|
184
184
|
const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds;
|
|
185
|
-
|
|
185
|
+
// Render can't read the current time, so check for expiry when the lock changes and expires
|
|
186
|
+
const [isLockExpired, setIsLockExpired] = useState(() => Date.now() > lockExpiryTime);
|
|
187
|
+
useEffect(() => {
|
|
188
|
+
const msUntilExpiry = lockExpiryTime - Date.now();
|
|
189
|
+
setIsLockExpired(msUntilExpiry < 0);
|
|
190
|
+
// Start a timer that marks the lock as expired at the moment it expires, which
|
|
191
|
+
// hides the "document locked" modal
|
|
192
|
+
if (msUntilExpiry >= 0 && msUntilExpiry <= 2_147_483_647) {
|
|
193
|
+
const timeout = setTimeout(() => setIsLockExpired(true), msUntilExpiry);
|
|
194
|
+
return () => clearTimeout(timeout);
|
|
195
|
+
}
|
|
196
|
+
}, [lockExpiryTime]);
|
|
186
197
|
const preventLeaveWithoutSaving = !isReadOnlyForIncomingUser && (typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled);
|
|
187
198
|
const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug]);
|
|
188
199
|
const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
|
|
@@ -194,16 +205,16 @@ export function DefaultEditView({
|
|
|
194
205
|
const nextHrefRef = React.useRef(null);
|
|
195
206
|
const handleDocumentLocking = useCallback(lockedState => {
|
|
196
207
|
setDocumentIsLocked(true);
|
|
197
|
-
const previousOwnerID = typeof
|
|
208
|
+
const previousOwnerID = typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id : documentLockStateRef.current?.user;
|
|
198
209
|
if (lockedState && lockedState.user) {
|
|
199
210
|
const lockedUserID = typeof lockedState.user === 'string' || typeof lockedState.user === 'number' ? lockedState.user : lockedState.user.id;
|
|
200
|
-
if (!
|
|
211
|
+
if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {
|
|
201
212
|
if (previousOwnerID === user.id && lockedUserID !== user.id) {
|
|
202
213
|
setShowTakeOverModal(true);
|
|
203
|
-
|
|
214
|
+
documentLockStateRef.current.hasShownLockedModal = true;
|
|
204
215
|
}
|
|
205
|
-
|
|
206
|
-
hasShownLockedModal:
|
|
216
|
+
documentLockStateRef.current = {
|
|
217
|
+
hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,
|
|
207
218
|
isLocked: true,
|
|
208
219
|
user: lockedState.user
|
|
209
220
|
};
|
|
@@ -214,7 +225,7 @@ export function DefaultEditView({
|
|
|
214
225
|
setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime());
|
|
215
226
|
}
|
|
216
227
|
}
|
|
217
|
-
}, [
|
|
228
|
+
}, [documentLockStateRef, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id]);
|
|
218
229
|
const handleStaleDataReload = useCallback(() => {
|
|
219
230
|
// Reset modal state so it can appear again if needed
|
|
220
231
|
setShowStaleDataModal(false);
|
|
@@ -225,7 +236,7 @@ export function DefaultEditView({
|
|
|
225
236
|
nextHrefRef.current = nextHref;
|
|
226
237
|
}, []);
|
|
227
238
|
const handleLeaveConfirm = useCallback(async () => {
|
|
228
|
-
const lockUser =
|
|
239
|
+
const lockUser = documentLockStateRef.current?.user;
|
|
229
240
|
const isLockOwnedByCurrentUser = typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id;
|
|
230
241
|
if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {
|
|
231
242
|
// Check where user is trying to go
|
|
@@ -242,7 +253,7 @@ export function DefaultEditView({
|
|
|
242
253
|
}
|
|
243
254
|
}
|
|
244
255
|
}
|
|
245
|
-
}, [collectionSlug, documentIsLocked,
|
|
256
|
+
}, [collectionSlug, documentIsLocked, documentLockStateRef, globalSlug, id, isLockingEnabled, setCurrentEditor, setDocumentIsLocked, unlockDocument, user?.id]);
|
|
246
257
|
const onSave = useCallback(async (json, ctx) => {
|
|
247
258
|
const {
|
|
248
259
|
context,
|
|
@@ -288,7 +299,7 @@ export function DefaultEditView({
|
|
|
288
299
|
adminRoute,
|
|
289
300
|
path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`
|
|
290
301
|
});
|
|
291
|
-
startRouteTransition(() => router.push(redirectRoute));
|
|
302
|
+
void startRouteTransition(() => router.push(redirectRoute));
|
|
292
303
|
} else {
|
|
293
304
|
resetUploadEdits();
|
|
294
305
|
}
|
|
@@ -446,7 +457,7 @@ export function DefaultEditView({
|
|
|
446
457
|
}
|
|
447
458
|
}
|
|
448
459
|
}, [isInitializing]);
|
|
449
|
-
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !
|
|
460
|
+
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockStateRef.current?.hasShownLockedModal && !isLockExpired;
|
|
450
461
|
const isFolderCollection = Boolean(collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' && collectionConfig.hierarchy.allowHasMany === false);
|
|
451
462
|
const documentControlsProps = {
|
|
452
463
|
id,
|
|
@@ -481,7 +492,7 @@ export function DefaultEditView({
|
|
|
481
492
|
id,
|
|
482
493
|
clearRouteCache,
|
|
483
494
|
collectionSlug,
|
|
484
|
-
documentLockStateRef
|
|
495
|
+
documentLockStateRef,
|
|
485
496
|
globalSlug,
|
|
486
497
|
isLockingEnabled,
|
|
487
498
|
isWithinDoc: true,
|
|
@@ -508,7 +519,7 @@ export function DefaultEditView({
|
|
|
508
519
|
readOnly: !hasSavePermission,
|
|
509
520
|
requirePassword: !id,
|
|
510
521
|
setValidateBeforeSubmit: setValidateBeforeSubmit,
|
|
511
|
-
// eslint-disable-next-line react-
|
|
522
|
+
// eslint-disable-next-line react-hooks/hooks
|
|
512
523
|
useAPIKey: auth.useAPIKey,
|
|
513
524
|
username: data?.username,
|
|
514
525
|
verify: auth.verify
|
|
@@ -516,7 +527,7 @@ export function DefaultEditView({
|
|
|
516
527
|
const shouldRenderUploadPanel = Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate);
|
|
517
528
|
const shouldScrollFieldsOnly = shouldRenderUploadPanel;
|
|
518
529
|
return /*#__PURE__*/_jsx("main", {
|
|
519
|
-
className: [baseClass, (id || globalSlug) && `${baseClass}--is-editing`, globalSlug && `global-edit--${globalSlug}`, collectionSlug && `collection-edit--${collectionSlug}`, isLivePreviewing && `${baseClass}--is-live-previewing`].filter(Boolean).join(' '),
|
|
530
|
+
className: [baseClass, config.admin.constrainWidth && `${baseClass}--constrain-document-width`, (id || globalSlug) && `${baseClass}--is-editing`, globalSlug && `global-edit--${globalSlug}`, collectionSlug && `collection-edit--${collectionSlug}`, isLivePreviewing && `${baseClass}--is-live-previewing`].filter(Boolean).join(' '),
|
|
520
531
|
children: /*#__PURE__*/_jsx(OperationProvider, {
|
|
521
532
|
operation: operation,
|
|
522
533
|
children: /*#__PURE__*/_jsxs(Form, {
|
|
@@ -563,7 +574,7 @@ export function DefaultEditView({
|
|
|
563
574
|
id,
|
|
564
575
|
clearRouteCache,
|
|
565
576
|
collectionSlug,
|
|
566
|
-
documentLockStateRef
|
|
577
|
+
documentLockStateRef,
|
|
567
578
|
globalSlug,
|
|
568
579
|
isLockingEnabled,
|
|
569
580
|
isWithinDoc: false,
|