@payloadcms/ui 4.0.0-internal.8001944 → 4.0.0-internal.8089ef7
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 +1 -1
- package/dist/css/forms.css +0 -1
- package/dist/css/spacing.css +1 -1
- package/dist/css/typography.css +161 -55
- package/dist/elements/APIKeyInput/index.css +2 -2
- package/dist/elements/AppHeader/index.css +1 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +9 -2
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +10 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.css +3 -4
- package/dist/elements/BulkUpload/EditMany/index.css +4 -5
- package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/Button/index.css +31 -1
- package/dist/elements/Button/types.d.ts +1 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.css +3 -4
- package/dist/elements/CardGrid/index.css +20 -0
- package/dist/elements/CardGrid/index.d.ts +13 -0
- package/dist/elements/CardGrid/index.d.ts.map +1 -0
- package/dist/elements/CardGrid/index.js +23 -0
- package/dist/elements/CardGrid/index.js.map +1 -0
- package/dist/elements/Chip/index.css +0 -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 +5 -0
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.css +4 -1
- package/dist/elements/ColumnSelection/Popup.css +6 -11
- package/dist/elements/CommandPalette/index.css +3 -8
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +62 -54
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +56 -33
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +88 -15
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
- package/dist/elements/DatePicker/index.css +27 -17
- package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts +18 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts.map +1 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.js +212 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +9 -7
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/Dialog/DialogTitle/index.css +1 -1
- package/dist/elements/Dialog/index.css +1 -2
- package/dist/elements/DocumentCard/index.css +73 -0
- package/dist/elements/DocumentCard/index.d.ts +18 -0
- package/dist/elements/DocumentCard/index.d.ts.map +1 -0
- package/dist/elements/DocumentCard/index.js +182 -0
- package/dist/elements/DocumentCard/index.js.map +1 -0
- package/dist/elements/DocumentControls/index.css +14 -15
- package/dist/elements/DocumentControls/index.d.ts +4 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
- package/dist/elements/DocumentDrawer/types.d.ts +1 -5
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +2 -2
- package/dist/elements/DocumentFields/index.css +5 -5
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +1 -2
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.css +1 -1
- package/dist/elements/Drawer/index.css +4 -5
- package/dist/elements/Drawer/types.d.ts +2 -2
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/EditMany/index.css +4 -5
- package/dist/elements/EditUpload/index.css +3 -4
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +13 -2
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EditUpload/library.css +6 -13
- package/dist/elements/ErrorPill/index.css +0 -1
- package/dist/elements/FieldDiffContainer/index.css +0 -1
- package/dist/elements/FieldDiffLabel/index.css +4 -5
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +41 -21
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.css +2 -3
- package/dist/elements/FileManager/FilePreview/index.js +4 -4
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.css +2 -3
- package/dist/elements/FileManager/index.css +0 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +13 -6
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/FormHeader/index.css +0 -2
- package/dist/elements/GroupBy/Popup.css +3 -6
- package/dist/elements/HTMLDiff/index.css +0 -1
- package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +88 -13
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/EditButton/index.d.ts +8 -0
- package/dist/elements/Hierarchy/EditButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/EditButton/index.js +93 -0
- package/dist/elements/Hierarchy/EditButton/index.js.map +1 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +120 -105
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +0 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.css +0 -56
- package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +90 -102
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
- package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/selection.js +40 -0
- package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts +4 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +79 -92
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +1 -1
- package/dist/elements/HydratePreferences/index.d.ts +8 -0
- package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
- package/dist/elements/HydratePreferences/index.js +34 -0
- package/dist/elements/HydratePreferences/index.js.map +1 -0
- package/dist/elements/IDLabel/index.css +5 -7
- package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
- package/dist/elements/LLMInstructionsCell/index.css +11 -0
- package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
- package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsCell/index.js +24 -0
- package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
- package/dist/elements/LLMInstructionsDescription/index.css +79 -0
- package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
- package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsDescription/index.js +40 -0
- package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
- package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
- package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
- package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
- package/dist/elements/LayoutToggle/index.d.ts +8 -0
- package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
- package/dist/elements/LayoutToggle/index.js +56 -0
- package/dist/elements/LayoutToggle/index.js.map +1 -0
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Link/index.js +3 -0
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +2 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +1 -10
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +2 -3
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +0 -6
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +1 -0
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.css +4 -5
- package/dist/elements/MiniCarousel/index.d.ts +1 -1
- package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
- package/dist/elements/MiniCarousel/index.js +6 -6
- package/dist/elements/MiniCarousel/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +19 -14
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +2 -1
- package/dist/elements/Nav/index.js +1 -2
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +3 -4
- package/dist/elements/NoListResults/index.css +2 -3
- package/dist/elements/PageControls/index.css +4 -1
- package/dist/elements/PageControls/index.d.ts.map +1 -1
- package/dist/elements/PageControls/index.js +22 -8
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.css +0 -1
- package/dist/elements/Pagination/index.css +0 -2
- package/dist/elements/PerPage/index.css +0 -1
- package/dist/elements/Pill/index.css +0 -1
- package/dist/elements/Popup/PopupButtonList/index.css +4 -2
- package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +4 -0
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
- package/dist/elements/PreviewSizes/index.d.ts +1 -1
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js +9 -9
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +71 -8
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
- package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
- package/dist/elements/PublishButton/validateAllLocales.js +263 -0
- package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
- package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
- package/dist/elements/ReactSelect/index.css +0 -3
- 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/RenderTitle/index.css +9 -7
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +15 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.css +0 -1
- package/dist/elements/Search/SearchInput/index.js +1 -1
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +9 -0
- package/dist/elements/SegmentedControl/index.d.ts +20 -0
- package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
- package/dist/elements/SegmentedControl/index.js +162 -0
- package/dist/elements/SegmentedControl/index.js.map +1 -0
- package/dist/elements/SidebarRow/index.css +1 -2
- package/dist/elements/SortColumn/index.css +1 -2
- package/dist/elements/Spinner/index.css +0 -2
- package/dist/elements/Status/index.css +3 -4
- package/dist/elements/StepNav/index.css +15 -9
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +7 -0
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +2 -0
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Switch/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +100 -43
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
- package/dist/elements/Table/index.css +1 -1
- package/dist/elements/TableSection/index.css +4 -5
- package/dist/elements/Tabs/index.css +5 -5
- package/dist/elements/Tabs/index.d.ts +4 -0
- package/dist/elements/Tabs/index.d.ts.map +1 -1
- package/dist/elements/Tabs/index.js +30 -1
- package/dist/elements/Tabs/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.css +0 -1
- package/dist/elements/TimezonePicker/index.css +0 -3
- package/dist/elements/Tooltip/index.css +0 -1
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +1 -0
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
- package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
- package/dist/elements/Upload/getEditorFileSrc.js +6 -0
- package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
- package/dist/elements/Upload/index.css +2 -3
- package/dist/elements/Upload/index.d.ts +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +12 -7
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +7 -10
- package/dist/exports/client/CodeEditor-S7MOGZSR.js +14 -0
- package/dist/exports/client/CodeEditor-S7MOGZSR.js.map +7 -0
- package/dist/exports/client/DatePicker-POZJVQP4.js +14 -0
- package/dist/exports/client/DatePicker-POZJVQP4.js.map +7 -0
- package/dist/exports/client/chunk-2AY67NFV.js +29 -0
- package/dist/exports/client/chunk-2AY67NFV.js.map +7 -0
- package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
- package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
- package/dist/exports/client/chunk-Z42OBP5U.js +27 -0
- package/dist/exports/client/chunk-Z42OBP5U.js.map +7 -0
- package/dist/exports/client/index.d.ts +19 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +100 -1
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- 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/index.css +4 -0
- package/dist/fields/Blocks/SectionTitle/index.css +3 -5
- package/dist/fields/Blocks/index.css +2 -2
- package/dist/fields/Checkbox/Input.js +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +4 -0
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +9 -2
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.css +1 -2
- package/dist/fields/Group/index.css +5 -8
- package/dist/fields/Join/index.css +3 -4
- package/dist/fields/RadioGroup/Radio/index.css +0 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +25 -17
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +2 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +8 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +17 -15
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.css +7 -0
- package/dist/fields/Tabs/Tab/index.d.ts +2 -0
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +15 -9
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +14 -14
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +179 -116
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +1 -1
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +1 -1
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +13 -4
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +6 -9
- 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 +0 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +0 -5
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/index.css +2 -5
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/types.d.ts +0 -4
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/icons/Arrow/index.d.ts +1 -1
- package/dist/icons/Arrow/index.d.ts.map +1 -1
- package/dist/icons/Arrow/index.js +7 -1
- package/dist/icons/Arrow/index.js.map +1 -1
- package/dist/icons/Clock/index.d.ts +6 -0
- package/dist/icons/Clock/index.d.ts.map +1 -0
- package/dist/icons/Clock/index.js +18 -0
- package/dist/icons/Clock/index.js.map +1 -0
- package/dist/icons/Pin/index.d.ts +7 -0
- package/dist/icons/Pin/index.d.ts.map +1 -0
- package/dist/icons/Pin/index.js +23 -0
- package/dist/icons/Pin/index.js.map +1 -0
- 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 +1 -0
- package/dist/icons/Table/index.d.ts +7 -0
- package/dist/icons/Table/index.d.ts.map +1 -0
- package/dist/icons/Table/index.js +25 -0
- package/dist/icons/Table/index.js.map +1 -0
- package/dist/layouts/Root/getRootLayoutData.d.ts +3 -6
- package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
- package/dist/layouts/Root/getRootLayoutData.js +14 -13
- package/dist/layouts/Root/getRootLayoutData.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 +11 -18
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +11 -12
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +0 -4
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts +7 -1
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +62 -20
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +38 -37
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/types.d.ts +1 -34
- package/dist/providers/TableColumns/types.d.ts.map +1 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/providers/ToastContainer/index.css +6 -7
- package/dist/providers/Translation/index.d.ts.map +1 -1
- package/dist/providers/Translation/index.js +11 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/styles.css +163 -58
- package/dist/utilities/appendCacheTag.d.ts +1 -0
- package/dist/utilities/appendCacheTag.d.ts.map +1 -1
- package/dist/utilities/appendCacheTag.js +2 -1
- package/dist/utilities/appendCacheTag.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +9 -4
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
- package/dist/utilities/filterOutUploadFields.js +1 -1
- package/dist/utilities/filterOutUploadFields.js.map +1 -1
- package/dist/utilities/getClientConfig.d.ts +5 -1
- package/dist/utilities/getClientConfig.d.ts.map +1 -1
- package/dist/utilities/getClientConfig.js +2 -1
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/getClientSchemaMap.d.ts.map +1 -1
- package/dist/utilities/getClientSchemaMap.js +2 -1
- package/dist/utilities/getClientSchemaMap.js.map +1 -1
- package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
- package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
- package/dist/utilities/getDocumentThumbnail.js +27 -0
- package/dist/utilities/getDocumentThumbnail.js.map +1 -0
- package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
- package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
- package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
- package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
- package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
- package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
- package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
- package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
- package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
- package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
- package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
- package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +2 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +2 -0
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +3 -0
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -0
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +22 -8
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
- package/dist/views/API/index.css +1 -2
- package/dist/views/CreateFirstUser/index.css +0 -2
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +4 -2
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +31 -21
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -2
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +4 -3
- 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 +16 -4
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.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.d.ts +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +10 -3
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +1 -0
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.css +4 -5
- package/dist/views/Edit/index.css +26 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +1 -3
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +103 -105
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +4 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +26 -14
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +44 -86
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +8 -31
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +78 -5
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
- package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
- package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
- package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +35 -11
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.d.ts +17 -0
- package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
- package/dist/views/List/DocumentGrid/index.js +117 -0
- package/dist/views/List/DocumentGrid/index.js.map +1 -0
- package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
- package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
- package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
- package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
- package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
- package/dist/views/List/ListHeader/index.css +4 -5
- package/dist/views/List/ListHeader/index.d.ts +3 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +15 -4
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
- package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
- package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
- package/dist/views/List/getDocumentListItemURL.js +23 -0
- package/dist/views/List/getDocumentListItemURL.js.map +1 -0
- package/dist/views/List/handleGroupBy.d.ts +6 -2
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.js +13 -3
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +63 -18
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +91 -11
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +3 -2
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.js +12 -4
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
- package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
- package/dist/views/List/resolveDocumentListItemURL.js +30 -0
- package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
- package/dist/views/NotFound/index.css +0 -2
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +1 -3
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts +1 -8
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +3 -12
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Unauthorized/index.css +0 -2
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +2 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Version/Default/index.css +7 -11
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/index.css +1 -2
- package/dist/views/Versions/index.css +1 -1
- package/dist/widgets/CollectionCards/index.css +0 -1
- package/dist/widgets/CollectionQuery/index.css +4 -6
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocuments.js +251 -0
- package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
- package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
- package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/index.client.js +404 -0
- package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
- package/dist/widgets/RecentlyViewed/index.css +352 -0
- package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
- package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
- package/dist/widgets/RecentlyViewed/index.js +33 -134
- package/dist/widgets/RecentlyViewed/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
- package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
- package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/recents.js +19 -0
- package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
- package/dist/widgets/Welcome/index.css +16 -9
- package/dist/widgets/WidgetCard/index.css +4 -8
- package/package.json +8 -8
- package/dist/utilities/dateLocales.d.ts +0 -30
- package/dist/utilities/dateLocales.d.ts.map +0 -1
- package/dist/utilities/dateLocales.js +0 -57
- package/dist/utilities/dateLocales.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDocumentSlots.js","names":["hasDraftsEnabled","matchMimeType","RenderServerComponent","ViewDescription","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","editMenuItems","CustomPreviewButton","PreviewButton","LivePreview","views","livePreview","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","collectionSlug","slug","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 { 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}) => DocumentSlots = (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 = collectionConfig?.admin?.components?.edit?.editMenuItems\n\n if (EditMenuItems) {\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 = {} 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAyB3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAyB3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CA4RvF,CAAA"}
|
|
@@ -217,6 +217,7 @@ export const APIKey = ({
|
|
|
217
217
|
children: [/*#__PURE__*/_jsx("span", {
|
|
218
218
|
children: apiKeyLabel
|
|
219
219
|
}), apiKeyValue && /*#__PURE__*/_jsx(CopyToClipboard, {
|
|
220
|
+
defaultMessage: `${t('general:copy')}: ${apiKeyLabel}`,
|
|
220
221
|
value: apiKeyValue
|
|
221
222
|
})]
|
|
222
223
|
}), /*#__PURE__*/_jsxs("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIKey.js","names":["useModal","getTranslation","formatAdminURL","text","React","useEffect","useMemo","useState","toast","v4","uuidv4","Button","ConfirmationModal","CopyToClipboard","Spinner","FieldDescription","useFormFields","useFormSuccessfulSubmitCount","useField","EyeIcon","RefreshIcon","useConfig","useDocumentInfo","useLocale","useTranslation","APIKeyGenerationModal","path","baseClass","maskedCharacterCount","formatAPIKeyPreview","last4","repeat","APIKey","readOnly","reveal","generatedAtSubmitCount","setGeneratedAtSubmitCount","highlightedField","setHighlightedField","hasUpdatedPersistedAPIKey","setHasUpdatedPersistedAPIKey","isRevealing","setIsRevealing","revealedKey","setRevealedKey","showCopyWarning","setShowCopyWarning","showKey","setShowKey","successfulSubmitCount","i18n","t","toggleModal","config","getEntityConfig","id","collectionSlug","setData","setLastUpdateTime","locale","revokeModalSlug","apiKeyLast4","fields","dispatchFields","dispatch","apiKeyField","find","field","name","validate","val","type","blockData","data","event","maxLength","minLength","preferences","req","payload","siblingData","setValue","value","setLast4Value","apiKeyValue","last4Value","hasPersistedAPIKey","Boolean","canRevealPersistedAPIKey","apiKeyLabel","label","highlightField","updateKey","apiKey","searchParams","URLSearchParams","depth","code","set","response","fetch","apiRoute","routes","api","encodeURIComponent","String","body","JSON","stringify","headers","method","ok","Error","result","json","doc","updatedAt","Date","getTime","error","generateKey","key","revokeKey","success","revealKey","_jsxs","Fragment","className","htmlFor","_jsx","filter","join","disabled","buttonStyle","extraButtonProps","icon","loadingText","size","active","onClick","shown","setKey","description","willInvalidateExistingKey","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest, TextFieldClient } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { CopyToClipboard } from '../../../elements/CopyToClipboard/index.js'\nimport { Spinner } from '../../../elements/Spinner/index.js'\nimport { FieldDescription } from '../../../fields/FieldDescription/index.js'\nimport { useFormFields, useFormSuccessfulSubmitCount } from '../../../forms/Form/context.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { EyeIcon } from '../../../icons/Eye/index.js'\nimport { RefreshIcon } from '../../../icons/Refresh/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKeyGenerationModal } from './APIKeyGenerationModal.js'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst maskedCharacterCount = 20\n\nconst formatAPIKeyPreview = (last4: string): string => `${'•'.repeat(maskedCharacterCount)}${last4}`\n\nexport const APIKey: React.FC<{ readonly readOnly?: boolean; readonly reveal?: boolean }> = ({\n readOnly,\n reveal,\n}) => {\n const [generatedAtSubmitCount, setGeneratedAtSubmitCount] = useState<null | number>(null)\n const [highlightedField, setHighlightedField] = useState(false)\n const [hasUpdatedPersistedAPIKey, setHasUpdatedPersistedAPIKey] = useState<boolean | null>(null)\n const [isRevealing, setIsRevealing] = useState(false)\n const [revealedKey, setRevealedKey] = useState<null | string>(null)\n const [showCopyWarning, setShowCopyWarning] = useState(false)\n const [showKey, setShowKey] = useState(false)\n const successfulSubmitCount = useFormSuccessfulSubmitCount()\n const { i18n, t } = useTranslation()\n const { toggleModal } = useModal()\n const { config, getEntityConfig } = useConfig()\n const { id, collectionSlug, setData, setLastUpdateTime } = useDocumentInfo()\n const locale = useLocale()\n const revokeModalSlug = `revoke-api-key-${id}`\n\n const apiKeyLast4 = useFormFields(([fields]) => (fields && fields.apiKeyLast4) || null)\n const dispatchFields = useFormFields(([, dispatch]) => dispatch)\n const apiKeyField = getEntityConfig({ collectionSlug })?.fields?.find(\n (field) => 'name' in field && field.name === 'apiKey',\n ) as TextFieldClient\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n maxLength: 48,\n minLength: 24,\n path: ['apiKey'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n siblingData: {},\n })\n const { setValue, value } = useField({ path, validate })\n const { setValue: setLast4Value } = useField({ path: 'apiKeyLast4' })\n const apiKeyValue = revealedKey || (value as null | string | undefined)\n const last4Value = apiKeyLast4?.value as null | string | undefined\n const hasPersistedAPIKey = hasUpdatedPersistedAPIKey ?? Boolean(last4Value)\n const canRevealPersistedAPIKey = Boolean(reveal && hasPersistedAPIKey && !revealedKey)\n\n const apiKeyLabel = useMemo(\n () => getTranslation(apiKeyField?.label || 'API Key', i18n),\n [apiKeyField, i18n],\n )\n const highlightField = () => setHighlightedField(true)\n\n const updateKey = async (apiKey: null | string) => {\n if (!id) {\n return false\n }\n try {\n const searchParams = new URLSearchParams({ depth: '0', 'fallback-locale': 'null' })\n if (locale?.code) {\n searchParams.set('locale', locale.code)\n }\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${collectionSlug}/${encodeURIComponent(String(id))}?${searchParams}`,\n }),\n {\n body: JSON.stringify({ apiKey }),\n headers: { 'Content-Type': 'application/json' },\n method: 'PATCH',\n },\n )\n if (!response.ok) {\n throw new Error('API key update failed')\n }\n const result = await response.json()\n setHasUpdatedPersistedAPIKey(Boolean(apiKey))\n setLast4Value(result.doc?.apiKeyLast4 || null, true)\n dispatchFields({ type: 'REMOVE', path })\n if (result.doc?.updatedAt) {\n setData(result.doc)\n setLastUpdateTime(new Date(result.doc.updatedAt).getTime())\n }\n return true\n } catch {\n toast.error('Failed to update the API key.')\n return false\n }\n }\n\n const generateKey = async () => {\n const key = uuidv4()\n if (!id) {\n setValue(key, true)\n } else if (!(await updateKey(key))) {\n return false\n } else {\n setRevealedKey(key)\n }\n setGeneratedAtSubmitCount(successfulSubmitCount)\n setShowCopyWarning(true)\n setShowKey(true)\n highlightField()\n return true\n }\n\n const revokeKey = async () => {\n if (!(await updateKey(null))) {\n return\n }\n setRevealedKey(null)\n setHasUpdatedPersistedAPIKey(false)\n setHighlightedField(false)\n setShowCopyWarning(false)\n setShowKey(false)\n toast.success('API key revoked successfully.')\n }\n\n const revealKey = async () => {\n if (isRevealing) {\n return\n }\n setIsRevealing(true)\n try {\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${collectionSlug}/${encodeURIComponent(String(id))}/api-key/reveal`,\n }),\n { method: 'POST' },\n )\n if (!response.ok) {\n throw new Error('API key reveal failed')\n }\n const result = await response.json()\n setRevealedKey(result.apiKey)\n setShowCopyWarning(false)\n setShowKey(true)\n } catch {\n toast.error('Failed to reveal the API key.')\n } finally {\n setIsRevealing(false)\n }\n }\n\n useEffect(() => {\n if (\n generatedAtSubmitCount !== null &&\n successfulSubmitCount > generatedAtSubmitCount &&\n apiKeyValue\n ) {\n setHasUpdatedPersistedAPIKey(true)\n setHighlightedField(false)\n setGeneratedAtSubmitCount(null)\n setRevealedKey(null)\n setShowCopyWarning(false)\n dispatchFields({ type: 'REMOVE', path })\n setShowKey(false)\n }\n }, [apiKeyValue, dispatchFields, generatedAtSubmitCount, successfulSubmitCount])\n\n return (\n <React.Fragment>\n <div className=\"field-type api-key read-only\">\n <label className={`${baseClass}__label field-label`} htmlFor=\"apiKey\">\n <span>{apiKeyLabel}</span>\n {apiKeyValue && <CopyToClipboard value={apiKeyValue} />}\n </label>\n <div\n className={[\n `${baseClass}__input-wrap`,\n !readOnly && hasPersistedAPIKey && `${baseClass}__input-wrap--has-regenerate`,\n highlightedField && `${baseClass}__input-wrap--highlighted`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <input\n aria-label={apiKeyLabel}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type={apiKeyValue && !showKey ? 'password' : 'text'}\n value={apiKeyValue || (last4Value ? formatAPIKeyPreview(last4Value) : '')}\n />\n {(apiKeyValue || canRevealPersistedAPIKey || (!readOnly && hasPersistedAPIKey)) && (\n <div className={`${baseClass}__toggle-button-wrap`}>\n {(apiKeyValue || canRevealPersistedAPIKey) && (\n <Button\n aria-label={\n canRevealPersistedAPIKey ? 'Reveal API key' : 'Toggle API key visibility'\n }\n buttonStyle=\"ghost\"\n className={`${baseClass}__visibility-button${!readOnly && hasPersistedAPIKey ? ` ${baseClass}__visibility-button--with-regenerate` : ''}`}\n disabled={isRevealing}\n extraButtonProps={{ 'aria-busy': isRevealing }}\n icon={\n isRevealing ? (\n <Spinner loadingText={null} size=\"sm\" />\n ) : (\n <EyeIcon active={showKey} />\n )\n }\n id={canRevealPersistedAPIKey ? 'reveal-api-key' : 'toggle-api-key-visibility'}\n onClick={\n canRevealPersistedAPIKey ? revealKey : () => setShowKey((shown) => !shown)\n }\n />\n )}\n {!readOnly && hasPersistedAPIKey && (\n <APIKeyGenerationModal\n apiKeyLast4={last4Value}\n highlightField={highlightField}\n icon={<RefreshIcon />}\n id=\"regenerate-api-key\"\n setKey={generateKey}\n />\n )}\n </div>\n )}\n </div>\n {apiKeyValue && showCopyWarning && (\n <FieldDescription\n description={\n reveal\n ? 'Make sure to copy your API key. You may not have access to reveal it again.'\n : 'Make sure to copy your API key. It will not be displayed again.'\n }\n path={path}\n />\n )}\n </div>\n {!readOnly &&\n !apiKeyValue &&\n !hasPersistedAPIKey &&\n (id ? (\n <APIKeyGenerationModal\n highlightField={highlightField}\n id=\"generate-api-key\"\n setKey={generateKey}\n willInvalidateExistingKey={false}\n />\n ) : (\n <Button\n buttonStyle=\"secondary\"\n id=\"generate-api-key\"\n onClick={() => void generateKey()}\n size=\"medium\"\n >\n {t('authentication:generateNewAPIKey')}\n </Button>\n ))}\n {!readOnly && hasPersistedAPIKey && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__revoke-button`}\n id=\"revoke-api-key\"\n onClick={() => toggleModal(revokeModalSlug)}\n size=\"medium\"\n >\n Revoke API key\n </Button>\n <ConfirmationModal\n body={\n <span>\n Are you sure you want to revoke the API key ending in <strong>{last4Value}</strong>{' '}\n for user <strong>{id}</strong>? The key will no longer be usable, and this action\n cannot be undone.\n </span>\n }\n confirmLabel=\"Revoke\"\n heading=\"Revoke API key?\"\n modalSlug={revokeModalSlug}\n onConfirm={revokeKey}\n />\n </div>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"APIKey.js","names":["useModal","getTranslation","formatAdminURL","text","React","useEffect","useMemo","useState","toast","v4","uuidv4","Button","ConfirmationModal","CopyToClipboard","Spinner","FieldDescription","useFormFields","useFormSuccessfulSubmitCount","useField","EyeIcon","RefreshIcon","useConfig","useDocumentInfo","useLocale","useTranslation","APIKeyGenerationModal","path","baseClass","maskedCharacterCount","formatAPIKeyPreview","last4","repeat","APIKey","readOnly","reveal","generatedAtSubmitCount","setGeneratedAtSubmitCount","highlightedField","setHighlightedField","hasUpdatedPersistedAPIKey","setHasUpdatedPersistedAPIKey","isRevealing","setIsRevealing","revealedKey","setRevealedKey","showCopyWarning","setShowCopyWarning","showKey","setShowKey","successfulSubmitCount","i18n","t","toggleModal","config","getEntityConfig","id","collectionSlug","setData","setLastUpdateTime","locale","revokeModalSlug","apiKeyLast4","fields","dispatchFields","dispatch","apiKeyField","find","field","name","validate","val","type","blockData","data","event","maxLength","minLength","preferences","req","payload","siblingData","setValue","value","setLast4Value","apiKeyValue","last4Value","hasPersistedAPIKey","Boolean","canRevealPersistedAPIKey","apiKeyLabel","label","highlightField","updateKey","apiKey","searchParams","URLSearchParams","depth","code","set","response","fetch","apiRoute","routes","api","encodeURIComponent","String","body","JSON","stringify","headers","method","ok","Error","result","json","doc","updatedAt","Date","getTime","error","generateKey","key","revokeKey","success","revealKey","_jsxs","Fragment","className","htmlFor","_jsx","defaultMessage","filter","join","disabled","buttonStyle","extraButtonProps","icon","loadingText","size","active","onClick","shown","setKey","description","willInvalidateExistingKey","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest, TextFieldClient } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { CopyToClipboard } from '../../../elements/CopyToClipboard/index.js'\nimport { Spinner } from '../../../elements/Spinner/index.js'\nimport { FieldDescription } from '../../../fields/FieldDescription/index.js'\nimport { useFormFields, useFormSuccessfulSubmitCount } from '../../../forms/Form/context.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { EyeIcon } from '../../../icons/Eye/index.js'\nimport { RefreshIcon } from '../../../icons/Refresh/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKeyGenerationModal } from './APIKeyGenerationModal.js'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst maskedCharacterCount = 20\n\nconst formatAPIKeyPreview = (last4: string): string => `${'•'.repeat(maskedCharacterCount)}${last4}`\n\nexport const APIKey: React.FC<{ readonly readOnly?: boolean; readonly reveal?: boolean }> = ({\n readOnly,\n reveal,\n}) => {\n const [generatedAtSubmitCount, setGeneratedAtSubmitCount] = useState<null | number>(null)\n const [highlightedField, setHighlightedField] = useState(false)\n const [hasUpdatedPersistedAPIKey, setHasUpdatedPersistedAPIKey] = useState<boolean | null>(null)\n const [isRevealing, setIsRevealing] = useState(false)\n const [revealedKey, setRevealedKey] = useState<null | string>(null)\n const [showCopyWarning, setShowCopyWarning] = useState(false)\n const [showKey, setShowKey] = useState(false)\n const successfulSubmitCount = useFormSuccessfulSubmitCount()\n const { i18n, t } = useTranslation()\n const { toggleModal } = useModal()\n const { config, getEntityConfig } = useConfig()\n const { id, collectionSlug, setData, setLastUpdateTime } = useDocumentInfo()\n const locale = useLocale()\n const revokeModalSlug = `revoke-api-key-${id}`\n\n const apiKeyLast4 = useFormFields(([fields]) => (fields && fields.apiKeyLast4) || null)\n const dispatchFields = useFormFields(([, dispatch]) => dispatch)\n const apiKeyField = getEntityConfig({ collectionSlug })?.fields?.find(\n (field) => 'name' in field && field.name === 'apiKey',\n ) as TextFieldClient\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n maxLength: 48,\n minLength: 24,\n path: ['apiKey'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n siblingData: {},\n })\n const { setValue, value } = useField({ path, validate })\n const { setValue: setLast4Value } = useField({ path: 'apiKeyLast4' })\n const apiKeyValue = revealedKey || (value as null | string | undefined)\n const last4Value = apiKeyLast4?.value as null | string | undefined\n const hasPersistedAPIKey = hasUpdatedPersistedAPIKey ?? Boolean(last4Value)\n const canRevealPersistedAPIKey = Boolean(reveal && hasPersistedAPIKey && !revealedKey)\n\n const apiKeyLabel = useMemo(\n () => getTranslation(apiKeyField?.label || 'API Key', i18n),\n [apiKeyField, i18n],\n )\n const highlightField = () => setHighlightedField(true)\n\n const updateKey = async (apiKey: null | string) => {\n if (!id) {\n return false\n }\n try {\n const searchParams = new URLSearchParams({ depth: '0', 'fallback-locale': 'null' })\n if (locale?.code) {\n searchParams.set('locale', locale.code)\n }\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${collectionSlug}/${encodeURIComponent(String(id))}?${searchParams}`,\n }),\n {\n body: JSON.stringify({ apiKey }),\n headers: { 'Content-Type': 'application/json' },\n method: 'PATCH',\n },\n )\n if (!response.ok) {\n throw new Error('API key update failed')\n }\n const result = await response.json()\n setHasUpdatedPersistedAPIKey(Boolean(apiKey))\n setLast4Value(result.doc?.apiKeyLast4 || null, true)\n dispatchFields({ type: 'REMOVE', path })\n if (result.doc?.updatedAt) {\n setData(result.doc)\n setLastUpdateTime(new Date(result.doc.updatedAt).getTime())\n }\n return true\n } catch {\n toast.error('Failed to update the API key.')\n return false\n }\n }\n\n const generateKey = async () => {\n const key = uuidv4()\n if (!id) {\n setValue(key, true)\n } else if (!(await updateKey(key))) {\n return false\n } else {\n setRevealedKey(key)\n }\n setGeneratedAtSubmitCount(successfulSubmitCount)\n setShowCopyWarning(true)\n setShowKey(true)\n highlightField()\n return true\n }\n\n const revokeKey = async () => {\n if (!(await updateKey(null))) {\n return\n }\n setRevealedKey(null)\n setHasUpdatedPersistedAPIKey(false)\n setHighlightedField(false)\n setShowCopyWarning(false)\n setShowKey(false)\n toast.success('API key revoked successfully.')\n }\n\n const revealKey = async () => {\n if (isRevealing) {\n return\n }\n setIsRevealing(true)\n try {\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${collectionSlug}/${encodeURIComponent(String(id))}/api-key/reveal`,\n }),\n { method: 'POST' },\n )\n if (!response.ok) {\n throw new Error('API key reveal failed')\n }\n const result = await response.json()\n setRevealedKey(result.apiKey)\n setShowCopyWarning(false)\n setShowKey(true)\n } catch {\n toast.error('Failed to reveal the API key.')\n } finally {\n setIsRevealing(false)\n }\n }\n\n useEffect(() => {\n if (\n generatedAtSubmitCount !== null &&\n successfulSubmitCount > generatedAtSubmitCount &&\n apiKeyValue\n ) {\n setHasUpdatedPersistedAPIKey(true)\n setHighlightedField(false)\n setGeneratedAtSubmitCount(null)\n setRevealedKey(null)\n setShowCopyWarning(false)\n dispatchFields({ type: 'REMOVE', path })\n setShowKey(false)\n }\n }, [apiKeyValue, dispatchFields, generatedAtSubmitCount, successfulSubmitCount])\n\n return (\n <React.Fragment>\n <div className=\"field-type api-key read-only\">\n <label className={`${baseClass}__label field-label`} htmlFor=\"apiKey\">\n <span>{apiKeyLabel}</span>\n {apiKeyValue && (\n <CopyToClipboard\n defaultMessage={`${t('general:copy')}: ${apiKeyLabel}`}\n value={apiKeyValue}\n />\n )}\n </label>\n <div\n className={[\n `${baseClass}__input-wrap`,\n !readOnly && hasPersistedAPIKey && `${baseClass}__input-wrap--has-regenerate`,\n highlightedField && `${baseClass}__input-wrap--highlighted`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <input\n aria-label={apiKeyLabel}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type={apiKeyValue && !showKey ? 'password' : 'text'}\n value={apiKeyValue || (last4Value ? formatAPIKeyPreview(last4Value) : '')}\n />\n {(apiKeyValue || canRevealPersistedAPIKey || (!readOnly && hasPersistedAPIKey)) && (\n <div className={`${baseClass}__toggle-button-wrap`}>\n {(apiKeyValue || canRevealPersistedAPIKey) && (\n <Button\n aria-label={\n canRevealPersistedAPIKey ? 'Reveal API key' : 'Toggle API key visibility'\n }\n buttonStyle=\"ghost\"\n className={`${baseClass}__visibility-button${!readOnly && hasPersistedAPIKey ? ` ${baseClass}__visibility-button--with-regenerate` : ''}`}\n disabled={isRevealing}\n extraButtonProps={{ 'aria-busy': isRevealing }}\n icon={\n isRevealing ? (\n <Spinner loadingText={null} size=\"sm\" />\n ) : (\n <EyeIcon active={showKey} />\n )\n }\n id={canRevealPersistedAPIKey ? 'reveal-api-key' : 'toggle-api-key-visibility'}\n onClick={\n canRevealPersistedAPIKey ? revealKey : () => setShowKey((shown) => !shown)\n }\n />\n )}\n {!readOnly && hasPersistedAPIKey && (\n <APIKeyGenerationModal\n apiKeyLast4={last4Value}\n highlightField={highlightField}\n icon={<RefreshIcon />}\n id=\"regenerate-api-key\"\n setKey={generateKey}\n />\n )}\n </div>\n )}\n </div>\n {apiKeyValue && showCopyWarning && (\n <FieldDescription\n description={\n reveal\n ? 'Make sure to copy your API key. You may not have access to reveal it again.'\n : 'Make sure to copy your API key. It will not be displayed again.'\n }\n path={path}\n />\n )}\n </div>\n {!readOnly &&\n !apiKeyValue &&\n !hasPersistedAPIKey &&\n (id ? (\n <APIKeyGenerationModal\n highlightField={highlightField}\n id=\"generate-api-key\"\n setKey={generateKey}\n willInvalidateExistingKey={false}\n />\n ) : (\n <Button\n buttonStyle=\"secondary\"\n id=\"generate-api-key\"\n onClick={() => void generateKey()}\n size=\"medium\"\n >\n {t('authentication:generateNewAPIKey')}\n </Button>\n ))}\n {!readOnly && hasPersistedAPIKey && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__revoke-button`}\n id=\"revoke-api-key\"\n onClick={() => toggleModal(revokeModalSlug)}\n size=\"medium\"\n >\n Revoke API key\n </Button>\n <ConfirmationModal\n body={\n <span>\n Are you sure you want to revoke the API key ending in <strong>{last4Value}</strong>{' '}\n for user <strong>{id}</strong>? The key will no longer be usable, and this action\n cannot be undone.\n </span>\n }\n confirmLabel=\"Revoke\"\n heading=\"Revoke API key?\"\n modalSlug={revokeModalSlug}\n onConfirm={revokeKey}\n />\n </div>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,11 +36,10 @@
|
|
|
36
36
|
|
|
37
37
|
.auth-fields__title {
|
|
38
38
|
margin: 0;
|
|
39
|
-
font-
|
|
40
|
-
font-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
letter-spacing: var(--text-body-medium-strong-letter-spacing);
|
|
39
|
+
font-size: var(--text-body-medium-bold-font-size);
|
|
40
|
+
font-weight: var(--text-body-medium-bold-font-weight);
|
|
41
|
+
line-height: var(--text-body-medium-bold-line-height);
|
|
42
|
+
letter-spacing: var(--text-body-medium-bold-letter-spacing);
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
.auth-fields__body {
|
|
@@ -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,qBAsxBzB"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -516,7 +516,7 @@ export function DefaultEditView({
|
|
|
516
516
|
const shouldRenderUploadPanel = Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate);
|
|
517
517
|
const shouldScrollFieldsOnly = shouldRenderUploadPanel;
|
|
518
518
|
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(' '),
|
|
519
|
+
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
520
|
children: /*#__PURE__*/_jsx(OperationProvider, {
|
|
521
521
|
operation: operation,
|
|
522
522
|
children: /*#__PURE__*/_jsxs(Form, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","readOnly","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps, User } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as User,\n }\n setCurrentEditor(lockedState.user as User)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !isTrashed &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n readOnly: isTrashed || isReadOnlyForIncomingUser,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n isTrashed,\n isReadOnlyForIncomingUser,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","readOnly","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","constrainWidth","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps, User } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as User,\n }\n setCurrentEditor(lockedState.user as User)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !isTrashed &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n readOnly: isTrashed || isReadOnlyForIncomingUser,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n isTrashed,\n isReadOnlyForIncomingUser,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n config.admin.constrainWidth && `${baseClass}--constrain-document-width`,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,wBAAgB,kBAAkB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBA6D1E"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { formatAdminURL } from 'payload/shared';
|
|
3
3
|
import React, { Fragment } from 'react';
|
|
4
|
-
import { Button } from '../../elements/Button/index.js';
|
|
5
4
|
import { FormHeader } from '../../elements/FormHeader/index.js';
|
|
6
|
-
import { Link } from '../../elements/Link/index.js';
|
|
7
5
|
import { Translation } from '../../elements/Translation/index.js';
|
|
8
6
|
// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds
|
|
9
|
-
import { ForgotPasswordForm } from '../../exports/client/index.js';
|
|
7
|
+
import { Button, ForgotPasswordForm, Link } from '../../exports/client/index.js';
|
|
10
8
|
import './index.css';
|
|
11
9
|
export const forgotPasswordBaseClass = 'forgot-password';
|
|
12
10
|
export function ForgotPasswordView({
|