@payloadcms/ui 4.0.0-internal.d3909a9 → 4.0.0-internal.d7d662c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/app.css +2 -2
- package/dist/css/colors.css +65 -0
- package/dist/elements/APIKeyInput/index.js +22 -23
- package/dist/elements/APIKeyInput/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +17 -19
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +39 -30
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +234 -142
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +29 -21
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +63 -23
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -1
- package/dist/elements/Button/index.css +3 -3
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +1 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CardGrid/index.css +0 -1
- package/dist/elements/Chip/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +213 -88
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +95 -56
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CollapseAllToggle/index.js +47 -32
- package/dist/elements/CollapseAllToggle/index.js.map +1 -1
- package/dist/elements/Collapsible/index.css +15 -4
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +46 -38
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +37 -14
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.css +4 -0
- package/dist/elements/ColumnSelection/Popup.js +10 -2
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/ColumnSelection/index.js.map +1 -1
- package/dist/elements/CommandPalette/index.css +8 -0
- package/dist/elements/ConfirmationModal/index.d.ts +3 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +2 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +45 -43
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/index.css +5 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +4 -0
- package/dist/elements/DefaultListViewTabs/index.js +47 -37
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DelayedSpinner/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +1 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/Dialog/DialogCancel/index.js.map +1 -1
- package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -1
- package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
- package/dist/elements/DocumentCard/index.d.ts +2 -0
- package/dist/elements/DocumentCard/index.d.ts.map +1 -1
- package/dist/elements/DocumentCard/index.js +2 -0
- package/dist/elements/DocumentCard/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +125 -64
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +80 -34
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.css +4 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +1 -0
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentStaleData/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js +2 -0
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +10 -7
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +2 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +104 -170
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.d.ts +1 -0
- package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts +14 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts.map +1 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js +99 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js.map +1 -0
- package/dist/elements/Drawer/index.js +138 -81
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +177 -62
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +1 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +7 -1
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.d.ts +1 -0
- package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +2 -0
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +23 -14
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +21 -21
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupBy/Popup.js.map +1 -1
- package/dist/elements/GroupBy/index.js +120 -66
- package/dist/elements/GroupBy/index.js.map +1 -1
- package/dist/elements/HTMLDiff/colors.css +7 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +51 -42
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/EditButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +25 -18
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +10 -5
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/HydratePreferences/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +186 -105
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
- package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
- package/dist/elements/LayoutToggle/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/index.js +1 -1
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +3 -2
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListGroupByButton/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListWhereBuilder/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +6 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/LoadMoreRow/index.js.map +1 -1
- package/dist/elements/Loading/index.js +62 -18
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +93 -49
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +133 -108
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +54 -37
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.js +102 -38
- package/dist/elements/MiniCarousel/index.js.map +1 -1
- package/dist/elements/Modal/index.d.ts.map +1 -1
- package/dist/elements/Modal/index.js +13 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +13 -14
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +31 -20
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.css +5 -0
- package/dist/elements/NavGroup/index.css +27 -3
- package/dist/elements/NavGroup/index.js +31 -38
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.css +1 -0
- package/dist/elements/NoListResults/index.js +1 -1
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +36 -37
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +19 -3
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +141 -70
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +1 -0
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +1 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +32 -24
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.css +4 -0
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +1 -1
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +1 -1
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +111 -39
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +31 -21
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.js.map +1 -1
- package/dist/elements/SkipToContent/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Spinner/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/Switch/index.css +2 -2
- package/dist/elements/Switch/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/TableIdentity.js +32 -16
- package/dist/elements/Table/TableIdentity.js.map +1 -1
- package/dist/elements/Table/useAriaSort.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +133 -53
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +113 -54
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +32 -24
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +2 -1
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-I6PL55BF.js → CodeEditor-23ZGBN6S.js} +2 -2
- package/dist/exports/client/{DatePicker-RFCB5VGD.js → DatePicker-AZBZPMY6.js} +2 -2
- package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
- package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
- package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
- package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
- package/dist/exports/client/{chunk-O2RR6XEH.js → chunk-ZP2PB6M4.js} +2 -2
- package/dist/exports/client/{chunk-O2RR6XEH.js.map → chunk-ZP2PB6M4.js.map} +1 -1
- package/dist/exports/client/index.d.ts +2 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +27 -27
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -1
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -1
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +207 -99
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +521 -308
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +224 -136
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +114 -74
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +75 -55
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.css +4 -0
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +1 -0
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.css +3 -3
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +3 -2
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +114 -73
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +215 -121
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +29 -21
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +75 -46
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.js +23 -15
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +3 -2
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/Input.js.map +1 -1
- package/dist/fields/Password/input.js +46 -27
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +35 -35
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +14 -14
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +216 -111
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Select/Input.js +26 -10
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +158 -77
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +11 -15
- package/dist/fields/Tabs/index.js +120 -112
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +2 -2
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +172 -95
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +2 -1
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +58 -28
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +97 -55
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +16 -7
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/index.css +9 -0
- package/dist/fields/Upload/index.js +101 -63
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/useRowFocus.js.map +1 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +27 -8
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.js +3 -2
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +58 -18
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -13
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +32 -17
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +27 -18
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useElementHeightVariable.js.map +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +21 -24
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
- package/dist/layouts/Root/RootProviders.js +31 -28
- package/dist/layouts/Root/RootProviders.js.map +1 -1
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
- package/dist/providers/Auth/index.js +2 -2
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +65 -32
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/Embed/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +5 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +6 -1
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/ModalAccessibility/index.js.map +1 -1
- package/dist/providers/ModalFocus/index.d.ts +15 -0
- package/dist/providers/ModalFocus/index.d.ts.map +1 -0
- package/dist/providers/ModalFocus/index.js +70 -0
- package/dist/providers/ModalFocus/index.js.map +1 -0
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.d.ts +3 -2
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +78 -105
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/RouterAdapter/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/index.js +18 -35
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +66 -1
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -2
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +1 -0
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +17 -17
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +106 -27
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +373 -151
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +2 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +13 -11
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +27 -16
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
- package/dist/views/HierarchyList/index.js +2 -2
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.js.map +1 -1
- package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +321 -181
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +176 -77
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +113 -33
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +9 -11
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
- package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
- package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.css +42 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.js +125 -0
- package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
- package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
- package/dist/widgets/Activity/index.client.d.ts +15 -0
- package/dist/widgets/Activity/index.client.d.ts.map +1 -0
- package/dist/widgets/Activity/index.client.js +186 -0
- package/dist/widgets/Activity/index.client.js.map +1 -0
- package/dist/widgets/Activity/index.css +320 -0
- package/dist/widgets/Activity/index.d.ts +13 -0
- package/dist/widgets/Activity/index.d.ts.map +1 -0
- package/dist/widgets/Activity/index.js +100 -0
- package/dist/widgets/Activity/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +5 -13
- package/dist/widgets/Activity/types.d.ts.map +1 -0
- package/dist/widgets/Activity/types.js +2 -0
- package/dist/widgets/Activity/types.js.map +1 -0
- package/dist/widgets/Activity/utils/cache.d.ts +33 -0
- package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/cache.js +72 -0
- package/dist/widgets/Activity/utils/cache.js.map +1 -0
- package/dist/widgets/Activity/utils/constants.d.ts +5 -0
- package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/constants.js +4 -0
- package/dist/widgets/Activity/utils/constants.js.map +1 -0
- package/dist/widgets/Activity/utils/documents.d.ts +11 -0
- package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/documents.js +38 -0
- package/dist/widgets/Activity/utils/documents.js.map +1 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +18 -19
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
- package/dist/widgets/Activity/utils/state.d.ts +44 -0
- package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/state.js +80 -0
- package/dist/widgets/Activity/utils/state.js.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.js +35 -0
- package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
- package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.client.js +3 -0
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/CollectionCards/index.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.js +3 -0
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
- package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/index.js +3 -0
- package/dist/widgets/CollectionQuery/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
- package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.js +3 -0
- package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.js +3 -0
- package/dist/widgets/UploadDropzone/index.js.map +1 -1
- package/dist/widgets/Welcome/index.d.ts +3 -0
- package/dist/widgets/Welcome/index.d.ts.map +1 -1
- package/dist/widgets/Welcome/index.js +3 -0
- package/dist/widgets/Welcome/index.js.map +1 -1
- package/dist/widgets/WidgetCard/index.css +0 -20
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
- package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
- package/dist/widgets/shared/CollectionFilter/index.js +170 -0
- package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
- package/package.json +8 -7
- package/dist/exports/client/chunk-R7M6BG75.js +0 -27
- package/dist/exports/client/chunk-R7M6BG75.js.map +0 -7
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -41
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -121
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.js +0 -409
- package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.css +0 -352
- package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
- package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.js +0 -47
- package/dist/widgets/RecentlyViewed/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
- package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.js +0 -19
- package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-I6PL55BF.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-RFCB5VGD.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
3
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
5
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
5
6
|
import { appendCacheTag } from '../../utilities/appendCacheTag.js';
|
|
@@ -58,86 +59,156 @@ const PreviewSizeCard = ({
|
|
|
58
59
|
})]
|
|
59
60
|
});
|
|
60
61
|
};
|
|
61
|
-
export const PreviewSizes =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
export const PreviewSizes = t0 => {
|
|
63
|
+
const $ = _c(26);
|
|
64
|
+
const {
|
|
65
|
+
doc,
|
|
66
|
+
imageCacheTag,
|
|
67
|
+
uploadConfig
|
|
68
|
+
} = t0;
|
|
66
69
|
const {
|
|
67
70
|
variants
|
|
68
71
|
} = uploadConfig;
|
|
69
72
|
const {
|
|
70
73
|
variants: sizes
|
|
71
74
|
} = doc;
|
|
72
|
-
const alt = doc?.alt || doc.filename ||
|
|
73
|
-
|
|
75
|
+
const alt = doc?.alt || doc.filename || "";
|
|
76
|
+
let t1;
|
|
77
|
+
if ($[0] !== sizes || $[1] !== variants) {
|
|
78
|
+
t1 = () => sortSizes(sizes, variants);
|
|
79
|
+
$[0] = sizes;
|
|
80
|
+
$[1] = variants;
|
|
81
|
+
$[2] = t1;
|
|
82
|
+
} else {
|
|
83
|
+
t1 = $[2];
|
|
84
|
+
}
|
|
85
|
+
const [orderedSizes, setOrderedSizes] = useState(t1);
|
|
74
86
|
const [selectedSize, setSelectedSize] = useState(null);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
87
|
+
let t2;
|
|
88
|
+
if ($[3] !== imageCacheTag) {
|
|
89
|
+
t2 = doc_0 => {
|
|
90
|
+
if (!doc_0.filename) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
if (doc_0.url) {
|
|
94
|
+
return appendCacheTag(doc_0.url, imageCacheTag);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
$[3] = imageCacheTag;
|
|
98
|
+
$[4] = t2;
|
|
99
|
+
} else {
|
|
100
|
+
t2 = $[4];
|
|
101
|
+
}
|
|
102
|
+
const generateImageUrl = t2;
|
|
103
|
+
let t3;
|
|
104
|
+
if ($[5] !== sizes || $[6] !== variants) {
|
|
105
|
+
t3 = () => {
|
|
106
|
+
setOrderedSizes(sortSizes(sizes, variants));
|
|
107
|
+
};
|
|
108
|
+
$[5] = sizes;
|
|
109
|
+
$[6] = variants;
|
|
110
|
+
$[7] = t3;
|
|
111
|
+
} else {
|
|
112
|
+
t3 = $[7];
|
|
113
|
+
}
|
|
114
|
+
let t4;
|
|
115
|
+
if ($[8] !== imageCacheTag || $[9] !== sizes || $[10] !== variants) {
|
|
116
|
+
t4 = [sizes, variants, imageCacheTag];
|
|
117
|
+
$[8] = imageCacheTag;
|
|
118
|
+
$[9] = sizes;
|
|
119
|
+
$[10] = variants;
|
|
120
|
+
$[11] = t4;
|
|
121
|
+
} else {
|
|
122
|
+
t4 = $[11];
|
|
123
|
+
}
|
|
124
|
+
useEffect(t3, t4);
|
|
125
|
+
let t5;
|
|
126
|
+
if ($[12] !== alt || $[13] !== doc || $[14] !== generateImageUrl || $[15] !== orderedSizes || $[16] !== selectedSize) {
|
|
127
|
+
const mainPreviewSrc = selectedSize ? generateImageUrl(doc.variants[selectedSize]) : generateImageUrl(doc);
|
|
128
|
+
let t6;
|
|
129
|
+
if ($[18] !== doc.filename || $[19] !== doc.filesize || $[20] !== doc.height || $[21] !== doc.mimeType || $[22] !== doc.url || $[23] !== doc.width) {
|
|
130
|
+
t6 = {
|
|
131
|
+
filename: doc.filename,
|
|
132
|
+
filesize: doc.filesize,
|
|
133
|
+
height: doc.height,
|
|
134
|
+
mimeType: doc.mimeType,
|
|
135
|
+
url: doc.url,
|
|
136
|
+
width: doc.width
|
|
137
|
+
};
|
|
138
|
+
$[18] = doc.filename;
|
|
139
|
+
$[19] = doc.filesize;
|
|
140
|
+
$[20] = doc.height;
|
|
141
|
+
$[21] = doc.mimeType;
|
|
142
|
+
$[22] = doc.url;
|
|
143
|
+
$[23] = doc.width;
|
|
144
|
+
$[24] = t6;
|
|
145
|
+
} else {
|
|
146
|
+
t6 = $[24];
|
|
78
147
|
}
|
|
79
|
-
|
|
80
|
-
|
|
148
|
+
const originalImage = t6;
|
|
149
|
+
let t7;
|
|
150
|
+
if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
|
|
151
|
+
t7 = () => setSelectedSize(null);
|
|
152
|
+
$[25] = t7;
|
|
153
|
+
} else {
|
|
154
|
+
t7 = $[25];
|
|
81
155
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
99
|
-
className: `${baseClass}__imageWrap`,
|
|
100
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
101
|
-
className: `${baseClass}__meta`,
|
|
102
|
-
children: [/*#__PURE__*/_jsx("div", {
|
|
103
|
-
className: `${baseClass}__sizeName`,
|
|
104
|
-
children: selectedSize || originalFilename
|
|
105
|
-
}), /*#__PURE__*/_jsx(FileMeta, {
|
|
106
|
-
...(selectedSize ? orderedSizes[selectedSize] : originalImage)
|
|
156
|
+
t5 = _jsxs("div", {
|
|
157
|
+
className: baseClass,
|
|
158
|
+
children: [_jsxs("div", {
|
|
159
|
+
className: `${baseClass}__imageWrap`,
|
|
160
|
+
children: [_jsxs("div", {
|
|
161
|
+
className: `${baseClass}__meta`,
|
|
162
|
+
children: [_jsx("div", {
|
|
163
|
+
className: `${baseClass}__sizeName`,
|
|
164
|
+
children: selectedSize || "Original"
|
|
165
|
+
}), _jsx(FileMeta, {
|
|
166
|
+
...(selectedSize ? orderedSizes[selectedSize] : originalImage)
|
|
167
|
+
})]
|
|
168
|
+
}), _jsx("img", {
|
|
169
|
+
alt,
|
|
170
|
+
className: `${baseClass}__preview`,
|
|
171
|
+
src: mainPreviewSrc
|
|
107
172
|
})]
|
|
108
|
-
}),
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
173
|
+
}), _jsx("div", {
|
|
174
|
+
className: `${baseClass}__listWrap`,
|
|
175
|
+
children: _jsxs("div", {
|
|
176
|
+
className: `${baseClass}__list`,
|
|
177
|
+
children: [_jsx(PreviewSizeCard, {
|
|
178
|
+
active: !selectedSize,
|
|
179
|
+
alt,
|
|
180
|
+
meta: originalImage,
|
|
181
|
+
name: "Original",
|
|
182
|
+
onClick: t7,
|
|
183
|
+
previewSrc: generateImageUrl(doc)
|
|
184
|
+
}), Object.entries(orderedSizes).map(t8 => {
|
|
185
|
+
const [key, val] = t8;
|
|
186
|
+
const selected = selectedSize === key;
|
|
187
|
+
const previewSrc = generateImageUrl(val);
|
|
188
|
+
if (previewSrc) {
|
|
189
|
+
return _jsx(PreviewSizeCard, {
|
|
190
|
+
active: selected,
|
|
191
|
+
alt,
|
|
192
|
+
meta: val,
|
|
193
|
+
name: key,
|
|
194
|
+
onClick: () => setSelectedSize(key),
|
|
195
|
+
previewSrc
|
|
196
|
+
}, key);
|
|
197
|
+
}
|
|
198
|
+
return null;
|
|
199
|
+
})]
|
|
200
|
+
})
|
|
112
201
|
})]
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}), Object.entries(orderedSizes).map(([key, val]) => {
|
|
125
|
-
const selected = selectedSize === key;
|
|
126
|
-
const previewSrc = generateImageUrl(val);
|
|
127
|
-
if (previewSrc) {
|
|
128
|
-
return /*#__PURE__*/_jsx(PreviewSizeCard, {
|
|
129
|
-
active: selected,
|
|
130
|
-
alt: alt,
|
|
131
|
-
meta: val,
|
|
132
|
-
name: key,
|
|
133
|
-
onClick: () => setSelectedSize(key),
|
|
134
|
-
previewSrc: previewSrc
|
|
135
|
-
}, key);
|
|
136
|
-
}
|
|
137
|
-
return null;
|
|
138
|
-
})]
|
|
139
|
-
})
|
|
140
|
-
})]
|
|
141
|
-
});
|
|
202
|
+
});
|
|
203
|
+
$[12] = alt;
|
|
204
|
+
$[13] = doc;
|
|
205
|
+
$[14] = generateImageUrl;
|
|
206
|
+
$[15] = orderedSizes;
|
|
207
|
+
$[16] = selectedSize;
|
|
208
|
+
$[17] = t5;
|
|
209
|
+
} else {
|
|
210
|
+
t5 = $[17];
|
|
211
|
+
}
|
|
212
|
+
return t5;
|
|
142
213
|
};
|
|
143
214
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useEffect","useMemo","useState","appendCacheTag","FileMeta","baseClass","sortSizes","sizes","variants","length","orderedSizes","forEach","name","PreviewSizeCard","active","alt","meta","onClick","previewSrc","_jsxs","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","_jsx","src","PreviewSizes","doc","imageCacheTag","uploadConfig","filename","setOrderedSizes","selectedSize","setSelectedSize","generateImageUrl","url","mainPreviewSrc","originalImage","filesize","height","mimeType","width","originalFilename","Object","entries","map","val","selected"],"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSize, SanitizedCollectionConfig, SanitizedUploadConfig } from 'payload'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { appendCacheTag } from '../../utilities/appendCacheTag.js'\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.css'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = {\n url: string\n} & FileSize\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, variants: SanitizedUploadConfig['variants']) => {\n if (!variants || variants.length === 0) {\n return sizes\n }\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n variants.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n alt: string\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n alt,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') {\n return\n }\n if (e.key === 'Enter') {\n onClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={alt} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: {\n variants?: FilesSizesWithUrl\n } & Data\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { variants } = uploadConfig\n const { variants: sizes } = doc\n\n const alt = (doc as { alt?: string })?.alt || doc.filename || ''\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, variants),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) {\n return null\n }\n if (doc.url) {\n return appendCacheTag(doc.url, imageCacheTag)\n }\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, variants))\n }, [sizes, variants, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.variants[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={alt} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n alt={alt}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n alt={alt}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useMemo","useState","appendCacheTag","FileMeta","baseClass","sortSizes","sizes","variants","length","orderedSizes","forEach","name","PreviewSizeCard","active","alt","meta","onClick","previewSrc","_jsxs","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","_jsx","src","PreviewSizes","t0","$","doc","imageCacheTag","uploadConfig","filename","t1","setOrderedSizes","selectedSize","setSelectedSize","t2","doc_0","url","generateImageUrl","t3","t4","t5","mainPreviewSrc","t6","filesize","height","mimeType","width","originalImage","t7","Symbol","for","children","Object","entries","map","t8","val","selected"],"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSize, SanitizedCollectionConfig, SanitizedUploadConfig } from 'payload'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { appendCacheTag } from '../../utilities/appendCacheTag.js'\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.css'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = {\n url: string\n} & FileSize\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, variants: SanitizedUploadConfig['variants']) => {\n if (!variants || variants.length === 0) {\n return sizes\n }\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n variants.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n alt: string\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n alt,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') {\n return\n }\n if (e.key === 'Enter') {\n onClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={alt} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: {\n variants?: FilesSizesWithUrl\n } & Data\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { variants } = uploadConfig\n const { variants: sizes } = doc\n\n const alt = (doc as { alt?: string })?.alt || doc.filename || ''\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, variants),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) {\n return null\n }\n if (doc.url) {\n return appendCacheTag(doc.url, imageCacheTag)\n }\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, variants))\n }, [sizes, variants, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.variants[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={alt} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n alt={alt}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n alt={alt}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,eAAe,EAAE,MAAM,SAAS,CAAA;AAMtD,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAA;AAc5D,OAAO,aAAa,CAAA;AASpB,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,qBAAqB,CAAC,EAAE,eAAe,CAAA;IACvC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,eAAe,EAAE,MAAM,SAAS,CAAA;AAMtD,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAA;AAc5D,OAAO,aAAa,CAAA;AASpB,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,qBAAqB,CAAC,EAAE,eAAe,CAAA;IACvC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2S1C,CAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { TZDateMini as TZDate } from '@date-fns/tz/date/mini';
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import {
|
|
6
|
+
import { endOfDay, isSameDay, startOfDay } from 'date-fns';
|
|
7
7
|
import { transpose } from 'date-fns/transpose';
|
|
8
8
|
import React, { useCallback, useMemo } from 'react';
|
|
9
9
|
import { toast } from 'sonner';
|
|
@@ -66,6 +66,9 @@ export const ScheduleDrawer = ({
|
|
|
66
66
|
} = useServerFunctions();
|
|
67
67
|
const [type, setType] = React.useState(defaultType || 'publish');
|
|
68
68
|
const [date, setDate] = React.useState();
|
|
69
|
+
// Render can't read the current time, so keep it in state and refresh it when the date or
|
|
70
|
+
// timezone changes
|
|
71
|
+
const [now, setNow] = React.useState(() => new Date());
|
|
69
72
|
const [timezone, setTimezone] = React.useState(defaultTimezone);
|
|
70
73
|
const [locale, setLocale] = React.useState(defaultLocaleOption);
|
|
71
74
|
const [processing, setProcessing] = React.useState(false);
|
|
@@ -147,6 +150,7 @@ export const ScheduleDrawer = ({
|
|
|
147
150
|
timezone
|
|
148
151
|
});
|
|
149
152
|
setDate(undefined);
|
|
153
|
+
setNow(new Date());
|
|
150
154
|
toast.success(t('version:scheduledSuccessfully'));
|
|
151
155
|
void fetchUpcoming();
|
|
152
156
|
} catch (err_0) {
|
|
@@ -171,6 +175,7 @@ export const ScheduleDrawer = ({
|
|
|
171
175
|
return date;
|
|
172
176
|
}, [timezone, date, userTimezone]);
|
|
173
177
|
const onChangeDate = useCallback(incomingDate => {
|
|
178
|
+
setNow(new Date());
|
|
174
179
|
if (timezone && incomingDate) {
|
|
175
180
|
// Create TZDate instances for the selected timezone
|
|
176
181
|
const tzDateWithUTC = TZDate.tz(timezone);
|
|
@@ -192,11 +197,11 @@ export const ScheduleDrawer = ({
|
|
|
192
197
|
}
|
|
193
198
|
}, [upcoming, fetchUpcoming]);
|
|
194
199
|
const minTime = useMemo(() => {
|
|
195
|
-
if (!date ||
|
|
196
|
-
return
|
|
200
|
+
if (!date || isSameDay(date, now)) {
|
|
201
|
+
return now;
|
|
197
202
|
}
|
|
198
|
-
return startOfDay(
|
|
199
|
-
}, [date]);
|
|
203
|
+
return startOfDay(now);
|
|
204
|
+
}, [date, now]);
|
|
200
205
|
return /*#__PURE__*/_jsxs(Drawer, {
|
|
201
206
|
className: baseClass,
|
|
202
207
|
slug: slug,
|
|
@@ -244,8 +249,8 @@ export const ScheduleDrawer = ({
|
|
|
244
249
|
required: true
|
|
245
250
|
}), /*#__PURE__*/_jsx(DatePickerField, {
|
|
246
251
|
id: "time",
|
|
247
|
-
maxTime:
|
|
248
|
-
minDate:
|
|
252
|
+
maxTime: endOfDay(now),
|
|
253
|
+
minDate: now,
|
|
249
254
|
minTime: minTime,
|
|
250
255
|
onChange: e => onChangeDate(e),
|
|
251
256
|
pickerAppearance: "dayAndTime",
|
|
@@ -255,7 +260,10 @@ export const ScheduleDrawer = ({
|
|
|
255
260
|
value: displayedValue
|
|
256
261
|
}), supportedTimezones.length > 0 && /*#__PURE__*/_jsx(TimezonePicker, {
|
|
257
262
|
id: `timezone-picker`,
|
|
258
|
-
onChange:
|
|
263
|
+
onChange: newTimezone => {
|
|
264
|
+
setTimezone(newTimezone);
|
|
265
|
+
setNow(new Date());
|
|
266
|
+
},
|
|
259
267
|
options: supportedTimezones,
|
|
260
268
|
selectedTimezone: timezone
|
|
261
269
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TZDateMini","TZDate","getTranslation","endOfToday","isToday","startOfDay","transpose","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","Banner","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","onUpcomingChange","schedulePublishConfig","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","id","collectionSlug","globalSlug","title","i18n","t","getUpcomingScheduledPublish","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","docs","deleteHandler","current","length","deleteID","success","err","console","error","message","useEffect","handleSave","localeToPublish","doc","relationTo","String","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","Date","_jsxs","className","_jsx","required","isSelected","onChange","option","path","readOnly","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","selectedTimezone","buttonStyle","disabled","onClick","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfToday, isToday, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Banner } from '../../Banner/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport './index.css'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n onUpcomingChange?: (hasUpcoming: boolean) => void\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({\n slug,\n defaultType,\n onUpcomingChange,\n schedulePublishConfig,\n}) => {\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { getUpcomingScheduledPublish, schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const docs = await getUpcomingScheduledPublish({ id, collectionSlug, globalSlug })\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n onUpcomingChange?.(docs.length > 0)\n }, [\n collectionSlug,\n globalSlug,\n getUpcomingScheduledPublish,\n i18n,\n dateFormat,\n localization,\n supportedTimezones,\n t,\n id,\n onUpcomingChange,\n ])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let localeToPublish: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n localeToPublish = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n localeToPublish,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (!date || isToday(date)) {\n return new Date()\n }\n\n return startOfDay(new Date())\n }, [date])\n\n return (\n <Drawer className={baseClass} slug={slug} title={modalTitle}>\n <Gutter className={`${baseClass}__scheduler`}>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n </div>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfToday()}\n minDate={new Date()}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n </div>\n {localeOptions.length > 0 && type === 'publish' && (\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n </div>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && <Banner>{t('general:noUpcomingEventsScheduled')}</Banner>}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["TZDateMini","TZDate","getTranslation","endOfDay","isSameDay","startOfDay","transpose","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","Banner","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","onUpcomingChange","schedulePublishConfig","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","id","collectionSlug","globalSlug","title","i18n","t","getUpcomingScheduledPublish","schedulePublish","type","setType","useState","date","setDate","now","setNow","Date","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","docs","deleteHandler","current","length","deleteID","success","err","console","error","message","useEffect","handleSave","localeToPublish","doc","relationTo","String","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","_jsxs","className","_jsx","required","isSelected","onChange","option","path","readOnly","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","newTimezone","selectedTimezone","buttonStyle","disabled","onClick","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfDay, isSameDay, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Banner } from '../../Banner/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport './index.css'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n onUpcomingChange?: (hasUpcoming: boolean) => void\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({\n slug,\n defaultType,\n onUpcomingChange,\n schedulePublishConfig,\n}) => {\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { getUpcomingScheduledPublish, schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n // Render can't read the current time, so keep it in state and refresh it when the date or\n // timezone changes\n const [now, setNow] = React.useState(() => new Date())\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const docs = await getUpcomingScheduledPublish({ id, collectionSlug, globalSlug })\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n onUpcomingChange?.(docs.length > 0)\n }, [\n collectionSlug,\n globalSlug,\n getUpcomingScheduledPublish,\n i18n,\n dateFormat,\n localization,\n supportedTimezones,\n t,\n id,\n onUpcomingChange,\n ])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let localeToPublish: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n localeToPublish = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n localeToPublish,\n timezone,\n })\n\n setDate(undefined)\n setNow(new Date())\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n setNow(new Date())\n\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (!date || isSameDay(date, now)) {\n return now\n }\n\n return startOfDay(now)\n }, [date, now])\n\n return (\n <Drawer className={baseClass} slug={slug} title={modalTitle}>\n <Gutter className={`${baseClass}__scheduler`}>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n </div>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfDay(now)}\n minDate={now}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={(newTimezone) => {\n setTimezone(newTimezone)\n setNow(new Date())\n }}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n </div>\n {localeOptions.length > 0 && type === 'publish' && (\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n </div>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && <Banner>{t('general:noUpcomingEventsScheduled')}</Banner>}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAKvD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAiBpD,OAAO,aAAa,CAAA;AAEpB,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAKvD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAiBpD,OAAO,aAAa,CAAA;AAEpB,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAA6B,qBAsUpD"}
|
|
@@ -254,6 +254,7 @@ export function PublishButton({
|
|
|
254
254
|
disabled: !canPublish || isValidatingLocales,
|
|
255
255
|
loading: isValidatingLocales,
|
|
256
256
|
onClick: isSpecificLocalePublishEnabled ? () => publishLocale(activeLocale.code) : publish,
|
|
257
|
+
popupAriaLabel: `${t('general:moreOptions')}: ${t('version:publish')}`,
|
|
257
258
|
size: "medium",
|
|
258
259
|
SubMenuPopupContent: isSpecificLocalePublishEnabled ? () => /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
|
|
259
260
|
children: /*#__PURE__*/_jsx(PopupList.Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","hasAutosaveEnabled","hasLocalizeStatusEnabled","qs","React","useCallback","useState","toast","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","useUploadEdits","traverseForLocalizedFields","PopupList","FieldErrorsToast","validateDocumentLocales","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","getData","submit","uploadEdits","modified","editDepth","locale","localeCode","code","blocksMap","localization","routes","api","i18n","t","shortLabel","entityConfig","useMemo","hasNewerVersions","canPublish","isValidatingLocales","setIsValidatingLocales","hasLocalizedFields","Boolean","fields","isSpecificLocalePublishEnabled","operation","disabled","hasAutosave","saveDraft","params","stringify","depth","draft","undefined","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","localizeStatusEnabled","publish","validation","encodedID","encodeURIComponent","String","validationPath","Error","activeLocale","data","endpoint","locales","map","error","valid","introMessage","count","errors","length","fieldList","join","_jsx","errorMessage","publishAllLocales","result","publishLocale","pathSegment","find","activeLocaleLabel","Fragment","buttonId","loading","onClick","size","SubMenuPopupContent","ButtonGroup","Button","type","_jsxs","className"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasAutosaveEnabled, hasLocalizeStatusEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { FieldErrorsToast } from '../Toasts/fieldErrors.js'\nimport { validateDocumentLocales } from './validateAllLocales.js'\nimport './index.css'\n\nexport function PublishButton({\n label: labelProp,\n}: { label?: string } & PublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { getData, submit } = useForm()\n const { uploadEdits } = useUploadEdits()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const locale = useLocale()\n const localeCode = locale?.code\n const {\n blocksMap,\n localization,\n routes: { api },\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n const shortLabel = labelProp || t('version:publish')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const [isValidatingLocales, setIsValidatingLocales] = useState(false)\n\n const hasLocalizedFields = React.useMemo(\n () =>\n Boolean(\n entityConfig?.fields &&\n traverseForLocalizedFields({\n blocksMap,\n fields: entityConfig.fields,\n }),\n ),\n [blocksMap, entityConfig?.fields],\n )\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale: localeCode,\n uploadEdits: uploadEdits || undefined,\n },\n { addQueryPrefix: true },\n )\n\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${params}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${params}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [disabled, localeCode, collectionSlug, globalSlug, submit, api, id, uploadEdits])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const localizeStatusEnabled = hasLocalizeStatusEnabled(entityConfig)\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n if (localization && hasLocalizedFields) {\n setIsValidatingLocales(true)\n let validation\n\n try {\n const encodedID = id === undefined ? '' : `/${encodeURIComponent(String(id))}`\n let validationPath: `/${string}`\n\n if (globalSlug) {\n validationPath = `/globals/${encodeURIComponent(globalSlug)}/validate`\n } else if (collectionSlug) {\n validationPath = `/${encodeURIComponent(collectionSlug)}${encodedID}/validate`\n } else {\n throw new Error('Document validation requires a collection or global slug.')\n }\n\n validation = await validateDocumentLocales({\n activeLocale: localeCode,\n blocksMap,\n data: { ...getData(), _status: 'published' },\n endpoint: formatAdminURL({ apiRoute: api, path: validationPath }),\n fields: entityConfig?.fields ?? [],\n locales: localization.locales.map(({ code }) => code),\n })\n } catch {\n toast.error(t('error:unknown'))\n return\n } finally {\n setIsValidatingLocales(false)\n }\n\n if (!validation.valid) {\n const introMessage = t('error:followingFieldsInvalid', { count: validation.errors.length })\n const fieldList = validation.errors\n .map(\n (error) =>\n `${error.locale ? `[${error.locale}] ` : ''}${\n error.label ? getTranslation(error.label, i18n) : error.path\n }`,\n )\n .join(', ')\n\n toast.error(<FieldErrorsToast errorMessage={`${introMessage} ${fieldList}`} />)\n return\n }\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale: localeCode,\n uploadEdits: uploadEdits || undefined,\n ...(localizeStatusEnabled && { publishAllLocales: true }),\n },\n { addQueryPrefix: true },\n )\n\n const action = formatAdminURL({\n apiRoute: api,\n path: `${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n localeCode,\n localizeStatusEnabled,\n api,\n blocksMap,\n collectionSlug,\n entityConfig?.fields,\n getData,\n globalSlug,\n hasLocalizedFields,\n id,\n localization,\n i18n,\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n t,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n uploadEdits,\n ])\n\n const publishLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale,\n uploadEdits: uploadEdits || undefined,\n },\n { addQueryPrefix: true },\n )\n\n const pathSegment = globalSlug\n ? `/globals/${globalSlug}`\n : `/${collectionSlug}${id ? `/${id}` : ''}`\n const action = formatAdminURL({\n apiRoute: api,\n path: `${pathSegment}${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n submit,\n uploadStatus,\n uploadEdits,\n ],\n )\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel = activeLocale && getTranslation(activeLocale.label, i18n)\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish || isValidatingLocales}\n loading={isValidatingLocales}\n onClick={isSpecificLocalePublishEnabled ? () => publishLocale(activeLocale.code) : publish}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button id=\"publish-all-locales\" onClick={publish}>\n {t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : undefined\n }\n type=\"button\"\n >\n {isSpecificLocalePublishEnabled ? (\n t('version:publishIn', { locale: activeLocaleLabel })\n ) : (\n <React.Fragment>\n <span className=\"publish-button__label--full\">{label}</span>\n <span className=\"publish-button__label--short\">{shortLabel}</span>\n </React.Fragment>\n )}\n </FormSubmit>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","hasAutosaveEnabled","hasLocalizeStatusEnabled","qs","React","useCallback","useState","toast","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","useUploadEdits","traverseForLocalizedFields","PopupList","FieldErrorsToast","validateDocumentLocales","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","getData","submit","uploadEdits","modified","editDepth","locale","localeCode","code","blocksMap","localization","routes","api","i18n","t","shortLabel","entityConfig","useMemo","hasNewerVersions","canPublish","isValidatingLocales","setIsValidatingLocales","hasLocalizedFields","Boolean","fields","isSpecificLocalePublishEnabled","operation","disabled","hasAutosave","saveDraft","params","stringify","depth","draft","undefined","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","localizeStatusEnabled","publish","validation","encodedID","encodeURIComponent","String","validationPath","Error","activeLocale","data","endpoint","locales","map","error","valid","introMessage","count","errors","length","fieldList","join","_jsx","errorMessage","publishAllLocales","result","publishLocale","pathSegment","find","activeLocaleLabel","Fragment","buttonId","loading","onClick","popupAriaLabel","size","SubMenuPopupContent","ButtonGroup","Button","type","_jsxs","className"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasAutosaveEnabled, hasLocalizeStatusEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { FieldErrorsToast } from '../Toasts/fieldErrors.js'\nimport { validateDocumentLocales } from './validateAllLocales.js'\nimport './index.css'\n\nexport function PublishButton({\n label: labelProp,\n}: { label?: string } & PublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { getData, submit } = useForm()\n const { uploadEdits } = useUploadEdits()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const locale = useLocale()\n const localeCode = locale?.code\n const {\n blocksMap,\n localization,\n routes: { api },\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n const shortLabel = labelProp || t('version:publish')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const [isValidatingLocales, setIsValidatingLocales] = useState(false)\n\n const hasLocalizedFields = React.useMemo(\n () =>\n Boolean(\n entityConfig?.fields &&\n traverseForLocalizedFields({\n blocksMap,\n fields: entityConfig.fields,\n }),\n ),\n [blocksMap, entityConfig?.fields],\n )\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale: localeCode,\n uploadEdits: uploadEdits || undefined,\n },\n { addQueryPrefix: true },\n )\n\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${params}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${params}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [disabled, localeCode, collectionSlug, globalSlug, submit, api, id, uploadEdits])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const localizeStatusEnabled = hasLocalizeStatusEnabled(entityConfig)\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n if (localization && hasLocalizedFields) {\n setIsValidatingLocales(true)\n let validation\n\n try {\n const encodedID = id === undefined ? '' : `/${encodeURIComponent(String(id))}`\n let validationPath: `/${string}`\n\n if (globalSlug) {\n validationPath = `/globals/${encodeURIComponent(globalSlug)}/validate`\n } else if (collectionSlug) {\n validationPath = `/${encodeURIComponent(collectionSlug)}${encodedID}/validate`\n } else {\n throw new Error('Document validation requires a collection or global slug.')\n }\n\n validation = await validateDocumentLocales({\n activeLocale: localeCode,\n blocksMap,\n data: { ...getData(), _status: 'published' },\n endpoint: formatAdminURL({ apiRoute: api, path: validationPath }),\n fields: entityConfig?.fields ?? [],\n locales: localization.locales.map(({ code }) => code),\n })\n } catch {\n toast.error(t('error:unknown'))\n return\n } finally {\n setIsValidatingLocales(false)\n }\n\n if (!validation.valid) {\n const introMessage = t('error:followingFieldsInvalid', { count: validation.errors.length })\n const fieldList = validation.errors\n .map(\n (error) =>\n `${error.locale ? `[${error.locale}] ` : ''}${\n error.label ? getTranslation(error.label, i18n) : error.path\n }`,\n )\n .join(', ')\n\n toast.error(<FieldErrorsToast errorMessage={`${introMessage} ${fieldList}`} />)\n return\n }\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale: localeCode,\n uploadEdits: uploadEdits || undefined,\n ...(localizeStatusEnabled && { publishAllLocales: true }),\n },\n { addQueryPrefix: true },\n )\n\n const action = formatAdminURL({\n apiRoute: api,\n path: `${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n localeCode,\n localizeStatusEnabled,\n api,\n blocksMap,\n collectionSlug,\n entityConfig?.fields,\n getData,\n globalSlug,\n hasLocalizedFields,\n id,\n localization,\n i18n,\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n t,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n uploadEdits,\n ])\n\n const publishLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale,\n uploadEdits: uploadEdits || undefined,\n },\n { addQueryPrefix: true },\n )\n\n const pathSegment = globalSlug\n ? `/globals/${globalSlug}`\n : `/${collectionSlug}${id ? `/${id}` : ''}`\n const action = formatAdminURL({\n apiRoute: api,\n path: `${pathSegment}${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n submit,\n uploadStatus,\n uploadEdits,\n ],\n )\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel = activeLocale && getTranslation(activeLocale.label, i18n)\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish || isValidatingLocales}\n loading={isValidatingLocales}\n onClick={isSpecificLocalePublishEnabled ? () => publishLocale(activeLocale.code) : publish}\n popupAriaLabel={`${t('general:moreOptions')}: ${t('version:publish')}`}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button id=\"publish-all-locales\" onClick={publish}>\n {t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : undefined\n }\n type=\"button\"\n >\n {isSpecificLocalePublishEnabled ? (\n t('version:publishIn', { locale: activeLocaleLabel })\n ) : (\n <React.Fragment>\n <span className=\"publish-button__label--full\">{label}</span>\n <span className=\"publish-button__label--short\">{shortLabel}</span>\n </React.Fragment>\n )}\n </FormSubmit>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -116,7 +116,7 @@ export function PublishManyDrawerContent(props) {
|
|
|
116
116
|
description: json.errors.map(error => error.message).join('\n')
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
|
-
router.replace(qs.stringify({
|
|
119
|
+
void router.replace(qs.stringify({
|
|
120
120
|
...parseSearchParams(searchParams),
|
|
121
121
|
page: selectAll ? '1' : undefined
|
|
122
122
|
}, {
|