@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
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { transformColumnsToSearchParams } from 'payload/shared';
|
|
5
|
-
import React, {
|
|
5
|
+
import React, { useCallback, useRef } from 'react';
|
|
6
6
|
import { useConfig } from '../../providers/Config/index.js';
|
|
7
7
|
import { useListQuery } from '../../providers/ListQuery/index.js';
|
|
8
|
+
import { useRouteTransition } from '../RouteTransition/index.js';
|
|
8
9
|
import { TableColumnContext } from './context.js';
|
|
9
10
|
export { useTableColumns } from './context.js';
|
|
10
11
|
export const TableColumnsProvider = ({
|
|
@@ -20,6 +21,9 @@ export const TableColumnsProvider = ({
|
|
|
20
21
|
query: currentQuery,
|
|
21
22
|
refineListData
|
|
22
23
|
} = useListQuery();
|
|
24
|
+
const {
|
|
25
|
+
startRouteTransition
|
|
26
|
+
} = useRouteTransition();
|
|
23
27
|
const {
|
|
24
28
|
admin: {
|
|
25
29
|
defaultColumns
|
|
@@ -27,19 +31,16 @@ export const TableColumnsProvider = ({
|
|
|
27
31
|
} = getEntityConfig({
|
|
28
32
|
collectionSlug
|
|
29
33
|
});
|
|
30
|
-
const [columnState, setOptimisticColumnState] = React.useOptimistic(columnStateFromProps
|
|
31
|
-
// Sync optimistic state when props change (e.g., after preset reset)
|
|
32
|
-
const prevPropsRef = useRef(columnStateFromProps);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
if (columnStateFromProps !== prevPropsRef.current) {
|
|
35
|
-
prevPropsRef.current = columnStateFromProps;
|
|
36
|
-
// Force optimistic state to sync with new props by triggering a transition
|
|
37
|
-
startTransition(() => {
|
|
38
|
-
setOptimisticColumnState(columnStateFromProps);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}, [columnStateFromProps, setOptimisticColumnState]);
|
|
34
|
+
const [columnState, setOptimisticColumnState] = React.useOptimistic(columnStateFromProps);
|
|
42
35
|
const contextRef = useRef({});
|
|
36
|
+
const setColumns = useCallback(async newColumns => {
|
|
37
|
+
await startRouteTransition(async () => {
|
|
38
|
+
setOptimisticColumnState(newColumns);
|
|
39
|
+
await refineListData({
|
|
40
|
+
columns: transformColumnsToSearchParams(newColumns)
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}, [refineListData, setOptimisticColumnState, startRouteTransition]);
|
|
43
44
|
const toggleColumn = useCallback(async column => {
|
|
44
45
|
const currentColumns = columnState || [];
|
|
45
46
|
const columnIndex = currentColumns.findIndex(col => col.accessor === column);
|
|
@@ -56,13 +57,8 @@ export const TableColumnsProvider = ({
|
|
|
56
57
|
}
|
|
57
58
|
return col_0;
|
|
58
59
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
});
|
|
62
|
-
await refineListData({
|
|
63
|
-
columns: transformColumnsToSearchParams(newColumnState)
|
|
64
|
-
});
|
|
65
|
-
}, [refineListData, columnState, setOptimisticColumnState]);
|
|
60
|
+
await setColumns(newColumnState);
|
|
61
|
+
}, [columnState, setColumns]);
|
|
66
62
|
const moveColumn = useCallback(async args => {
|
|
67
63
|
const {
|
|
68
64
|
fromIndex,
|
|
@@ -71,13 +67,8 @@ export const TableColumnsProvider = ({
|
|
|
71
67
|
const newColumnState_0 = [...(columnState || [])];
|
|
72
68
|
const [columnToMove] = newColumnState_0.splice(fromIndex, 1);
|
|
73
69
|
newColumnState_0.splice(toIndex, 0, columnToMove);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
77
|
-
await refineListData({
|
|
78
|
-
columns: transformColumnsToSearchParams(newColumnState_0)
|
|
79
|
-
});
|
|
80
|
-
}, [columnState, refineListData, setOptimisticColumnState]);
|
|
70
|
+
await setColumns(newColumnState_0);
|
|
71
|
+
}, [columnState, setColumns]);
|
|
81
72
|
const setActiveColumns = useCallback(async columns => {
|
|
82
73
|
const newColumnState_1 = currentQuery.columns;
|
|
83
74
|
columns.forEach(colName => {
|
|
@@ -96,14 +87,6 @@ export const TableColumnsProvider = ({
|
|
|
96
87
|
columns: defaultColumns || []
|
|
97
88
|
});
|
|
98
89
|
}, [defaultColumns, refineListData]);
|
|
99
|
-
const setColumns = useCallback(async newColumns => {
|
|
100
|
-
startTransition(() => {
|
|
101
|
-
setOptimisticColumnState(newColumns);
|
|
102
|
-
});
|
|
103
|
-
await refineListData({
|
|
104
|
-
columns: transformColumnsToSearchParams(newColumns)
|
|
105
|
-
});
|
|
106
|
-
}, [refineListData, setOptimisticColumnState]);
|
|
107
90
|
return /*#__PURE__*/_jsx(TableColumnContext, {
|
|
108
91
|
value: {
|
|
109
92
|
columns: columnState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["transformColumnsToSearchParams","React","
|
|
1
|
+
{"version":3,"file":"index.js","names":["transformColumnsToSearchParams","React","useCallback","useRef","useConfig","useListQuery","useRouteTransition","TableColumnContext","useTableColumns","TableColumnsProvider","children","collectionSlug","columnState","columnStateFromProps","LinkedCellOverride","getEntityConfig","query","currentQuery","refineListData","startRouteTransition","admin","defaultColumns","setOptimisticColumnState","useOptimistic","contextRef","setColumns","newColumns","columns","toggleColumn","column","currentColumns","columnIndex","findIndex","col","accessor","newColumnState","map","active","moveColumn","args","fromIndex","toIndex","columnToMove","splice","setActiveColumns","forEach","colName","colIndex","c","undefined","slice","resetColumnsState","_jsx","value","current"],"sources":["../../../src/providers/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport { type Column } from 'payload'\nimport { transformColumnsToSearchParams } from 'payload/shared'\nimport React, { useCallback, useRef } from 'react'\n\nimport type { ITableColumns, TableColumnsProviderProps } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\nimport { TableColumnContext } from './context.js'\n\nexport { useTableColumns } from './context.js'\n\nexport const TableColumnsProvider: React.FC<TableColumnsProviderProps> = ({\n children,\n collectionSlug,\n columnState: columnStateFromProps,\n LinkedCellOverride,\n}) => {\n const { getEntityConfig } = useConfig()\n const { query: currentQuery, refineListData } = useListQuery()\n const { startRouteTransition } = useRouteTransition()\n\n const { admin: { defaultColumns } = {} } = getEntityConfig({\n collectionSlug,\n })\n\n const [columnState, setOptimisticColumnState] = React.useOptimistic(columnStateFromProps)\n\n const contextRef = useRef({} as ITableColumns)\n\n const setColumns = useCallback(\n async (newColumns: Column[]) => {\n await startRouteTransition(async () => {\n setOptimisticColumnState(newColumns)\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumns),\n })\n })\n },\n [refineListData, setOptimisticColumnState, startRouteTransition],\n )\n\n const toggleColumn = useCallback(\n async (column: string) => {\n const currentColumns = columnState || []\n const columnIndex = currentColumns.findIndex((col) => col.accessor === column)\n\n if (columnIndex === -1) {\n return\n }\n\n // Toggle the column's active state in place, preserving its position\n const newColumnState = currentColumns.map((col) => {\n if (col.accessor === column) {\n return { ...col, active: !col.active }\n }\n return col\n })\n\n await setColumns(newColumnState)\n },\n [columnState, setColumns],\n )\n\n const moveColumn = useCallback(\n async (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n const newColumnState = [...(columnState || [])]\n const [columnToMove] = newColumnState.splice(fromIndex, 1)\n newColumnState.splice(toIndex, 0, columnToMove)\n\n await setColumns(newColumnState)\n },\n [columnState, setColumns],\n )\n\n const setActiveColumns = useCallback(\n async (columns: string[]) => {\n const newColumnState = currentQuery.columns\n\n columns.forEach((colName) => {\n const colIndex = newColumnState.findIndex((c) => colName === c)\n\n // ensure the name does not begin with a `-` which denotes an inactive column\n if (colIndex !== undefined && newColumnState[colIndex][0] === '-') {\n newColumnState[colIndex] = colName.slice(1)\n }\n })\n\n await refineListData({ columns: newColumnState })\n },\n [currentQuery, refineListData],\n )\n\n const resetColumnsState = React.useCallback(async () => {\n await refineListData({ columns: defaultColumns || [] })\n }, [defaultColumns, refineListData])\n\n return (\n <TableColumnContext\n value={{\n columns: columnState,\n LinkedCellOverride,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n setColumns,\n toggleColumn,\n ...contextRef.current,\n }}\n >\n {children}\n </TableColumnContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useState","useConfig","useSearchParams","defaultTheme","initialContext","autoMode","highContrastMode","setHighContrastMode","setTheme","theme","Context","undefined","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","detectTheme","cookieKey","fromCookie","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","isAutoMode","detectHighContrastMode","isHighContrast","removeAttribute","isValidThemeParam","value","ThemeProvider","t0","$","children","initialHighContrastMode","themeOverride","outerContext","isScoped","config","preselectedTheme","admin","themeCookieKey","cookiePrefix","contrastCookieKey","themeParam","get","toLowerCase","setThemeState","setAutoMode","setHighContrastModeState","t1","themeToSet","options","scoped","resolvedTheme","t2","options_0","String","t3","t4","t5","t6","t7","detectedTheme","t8","t9","t10","t11","t12","_jsx","useTheme"],"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../RouterAdapter/index.js'\nimport { defaultTheme, type Theme } from './shared.js'\n\nexport { defaultTheme, type Theme }\n\nexport type ThemeContext = {\n autoMode: boolean\n highContrastMode: boolean\n setHighContrastMode: (isHighContrast: boolean, options?: { scoped?: boolean }) => void\n setTheme: (theme: 'auto' | Theme, options?: { scoped?: boolean }) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n highContrastMode: false,\n setHighContrastMode: () => null,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext<ThemeContext | undefined>(undefined)\n\nfunction setCookie(cname: string, cvalue: string, exdays: number) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst detectTheme = (cookieKey: string): { isAutoMode: boolean; theme: Theme } => {\n const fromCookie = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n const theme: Theme =\n fromCookie === 'light' || fromCookie === 'dark'\n ? fromCookie\n : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { isAutoMode: fromCookie !== 'light' && fromCookie !== 'dark', theme }\n}\n\nconst detectHighContrastMode = (cookieKey: string): boolean => {\n const fromCookie =\n window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1] ?? null\n\n const isHighContrast =\n fromCookie === 'true'\n ? true\n : fromCookie === 'false'\n ? false\n : !!(window.matchMedia && window.matchMedia('(prefers-contrast: more)').matches)\n\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n\n return isHighContrast\n}\n\nconst isValidThemeParam = (value: null | string): value is 'auto' | Theme =>\n value === 'auto' || value === 'light' || value === 'dark'\n\n/**\n * Provides theme context to its children.\n *\n * At the root (no parent ThemeProvider): reads/writes cookies, responds to\n * OS preference, owns setTheme and setHighContrastMode.\n *\n * When nested inside another ThemeProvider (e.g. inside a Popup): acts as a\n * scoped visual the `theme` prop sets the local theme, but setThemeoverride\n * and setHighContrastMode bubble up through each level to the root provider so\n * mutations always affect the global user preference.\n *\n * The ThemeProvider also reads the `?theme=light|dark|auto` query parameter and\n * persists it to the theme cookie using the same mechanism as manual theme selection.\n */\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n highContrastMode?: boolean\n theme?: Theme\n}> = ({ children, highContrastMode: initialHighContrastMode, theme: themeOverride }) => {\n const outerContext = use(Context)\n const isScoped = outerContext !== undefined\n\n const { config } = useConfig()\n const preselectedTheme = config.admin.theme\n const themeCookieKey = `${config.cookiePrefix || 'payload'}-theme`\n const contrastCookieKey = `${config.cookiePrefix || 'payload'}-high-contrast-mode`\n\n const themeParam = useSearchParams().get('theme')?.toLowerCase()\n\n const [theme, setThemeState] = useState<Theme>(themeOverride ?? defaultTheme)\n const [autoMode, setAutoMode] = useState<boolean>(!isScoped)\n const [highContrastMode, setHighContrastModeState] = useState<boolean>(\n isScoped ? (outerContext.highContrastMode ?? false) : (initialHighContrastMode ?? false),\n )\n\n // Setters bubble up to the root provider by default. Pass { scoped: true }\n // to update only the local (scoped) theme without affecting global state.\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setTheme(themeToSet, options)\n return\n }\n const resolvedTheme: Theme =\n themeToSet === 'auto'\n ? window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n : themeToSet\n\n setThemeState(resolvedTheme)\n setAutoMode(themeToSet === 'auto')\n\n if (!isScoped) {\n setCookie(themeCookieKey, themeToSet, themeToSet === 'auto' ? -1 : 365)\n document.documentElement.setAttribute('data-theme', resolvedTheme)\n }\n },\n [isScoped, outerContext, themeCookieKey],\n )\n\n const setHighContrastMode = useCallback(\n (isHighContrast: boolean, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setHighContrastMode(isHighContrast, options)\n return\n }\n setHighContrastModeState(isHighContrast)\n if (!isScoped) {\n setCookie(contrastCookieKey, String(isHighContrast), 365)\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n }\n },\n [isScoped, outerContext, contrastCookieKey],\n )\n\n // Keep highContrastMode in sync with the outer provider when scoped.\n useEffect(() => {\n if (isScoped) {\n setHighContrastModeState(outerContext.highContrastMode)\n }\n }, [isScoped, outerContext?.highContrastMode])\n\n // Resolve the root theme: a valid `?theme` param wins (applied via setTheme so\n // it persists to the theme cookie exactly like a manual selection; otherwise\n // fall back to the cookie or OS preference.\n useEffect(() => {\n if (isScoped || preselectedTheme !== 'all') {\n return\n }\n if (isValidThemeParam(themeParam)) {\n setTheme(themeParam)\n return\n }\n const { isAutoMode, theme: detectedTheme } = detectTheme(themeCookieKey)\n setThemeState(detectedTheme)\n setAutoMode(isAutoMode)\n }, [isScoped, preselectedTheme, themeCookieKey, themeParam, setTheme])\n\n useEffect(() => {\n if (isScoped) {\n return\n }\n setHighContrastModeState(detectHighContrastMode(contrastCookieKey))\n }, [isScoped, contrastCookieKey])\n\n return (\n <Context\n value={{\n autoMode: isScoped ? outerContext.autoMode : autoMode,\n highContrastMode,\n setHighContrastMode,\n setTheme,\n theme: isScoped ? outerContext.theme : theme,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTheme = (): ThemeContext => use(Context) ?? initialContext\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useState","useConfig","useSearchParams","defaultTheme","initialContext","autoMode","highContrastMode","setHighContrastMode","setTheme","theme","Context","undefined","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","detectTheme","cookieKey","fromCookie","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","isAutoMode","detectHighContrastMode","isHighContrast","removeAttribute","isValidThemeParam","value","ThemeProvider","t0","$","children","initialHighContrastMode","themeOverride","outerContext","isScoped","config","preselectedTheme","admin","themeCookieKey","cookiePrefix","contrastCookieKey","themeParam","get","toLowerCase","setThemeState","setAutoMode","setHighContrastModeState","t1","themeToSet","options","scoped","resolvedTheme","t2","options_0","String","t3","t4","t5","t6","t7","detectedTheme","t8","t9","t10","t11","t12","_jsx","useTheme"],"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../RouterAdapter/index.js'\nimport { defaultTheme, type Theme } from './shared.js'\n\nexport { defaultTheme, type Theme }\n\nexport type ThemeContext = {\n autoMode: boolean\n highContrastMode: boolean\n setHighContrastMode: (isHighContrast: boolean, options?: { scoped?: boolean }) => void\n setTheme: (theme: 'auto' | Theme, options?: { scoped?: boolean }) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n highContrastMode: false,\n setHighContrastMode: () => null,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext<ThemeContext | undefined>(undefined)\n\nfunction setCookie(cname: string, cvalue: string, exdays: number) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst detectTheme = (cookieKey: string): { isAutoMode: boolean; theme: Theme } => {\n const fromCookie = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n const theme: Theme =\n fromCookie === 'light' || fromCookie === 'dark'\n ? fromCookie\n : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { isAutoMode: fromCookie !== 'light' && fromCookie !== 'dark', theme }\n}\n\nconst detectHighContrastMode = (cookieKey: string): boolean => {\n const fromCookie =\n window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1] ?? null\n\n const isHighContrast =\n fromCookie === 'true'\n ? true\n : fromCookie === 'false'\n ? false\n : !!(window.matchMedia && window.matchMedia('(prefers-contrast: more)').matches)\n\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n\n return isHighContrast\n}\n\nconst isValidThemeParam = (value: null | string): value is 'auto' | Theme =>\n value === 'auto' || value === 'light' || value === 'dark'\n\n/**\n * Provides theme context to its children.\n *\n * At the root (no parent ThemeProvider): reads/writes cookies, responds to\n * OS preference, owns setTheme and setHighContrastMode.\n *\n * When nested inside another ThemeProvider (e.g. inside a Popup): acts as a\n * scoped visual the `theme` prop sets the local theme, but setThemeoverride\n * and setHighContrastMode bubble up through each level to the root provider so\n * mutations always affect the global user preference.\n *\n * The ThemeProvider also reads the `?theme=light|dark|auto` query parameter and\n * persists it to the theme cookie using the same mechanism as manual theme selection.\n */\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n highContrastMode?: boolean\n theme?: Theme\n}> = ({ children, highContrastMode: initialHighContrastMode, theme: themeOverride }) => {\n const outerContext = use(Context)\n const isScoped = outerContext !== undefined\n\n const { config } = useConfig()\n const preselectedTheme = config.admin.theme\n const themeCookieKey = `${config.cookiePrefix || 'payload'}-theme`\n const contrastCookieKey = `${config.cookiePrefix || 'payload'}-high-contrast-mode`\n\n const themeParam = useSearchParams().get('theme')?.toLowerCase()\n\n const [theme, setThemeState] = useState<Theme>(themeOverride ?? defaultTheme)\n const [autoMode, setAutoMode] = useState<boolean>(!isScoped)\n const [highContrastMode, setHighContrastModeState] = useState<boolean>(\n isScoped ? (outerContext.highContrastMode ?? false) : (initialHighContrastMode ?? false),\n )\n\n // Setters bubble up to the root provider by default. Pass { scoped: true }\n // to update only the local (scoped) theme without affecting global state.\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setTheme(themeToSet, options)\n return\n }\n const resolvedTheme: Theme =\n themeToSet === 'auto'\n ? window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n : themeToSet\n\n setThemeState(resolvedTheme)\n setAutoMode(themeToSet === 'auto')\n\n if (!isScoped) {\n setCookie(themeCookieKey, themeToSet, themeToSet === 'auto' ? -1 : 365)\n document.documentElement.setAttribute('data-theme', resolvedTheme)\n }\n },\n [isScoped, outerContext, themeCookieKey],\n )\n\n const setHighContrastMode = useCallback(\n (isHighContrast: boolean, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setHighContrastMode(isHighContrast, options)\n return\n }\n setHighContrastModeState(isHighContrast)\n if (!isScoped) {\n setCookie(contrastCookieKey, String(isHighContrast), 365)\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n }\n },\n [isScoped, outerContext, contrastCookieKey],\n )\n\n // Keep highContrastMode in sync with the outer provider when scoped.\n useEffect(() => {\n if (isScoped) {\n setHighContrastModeState(outerContext.highContrastMode)\n }\n }, [isScoped, outerContext?.highContrastMode])\n\n // Resolve the root theme: a valid `?theme` param wins (applied via setTheme so\n // it persists to the theme cookie exactly like a manual selection; otherwise\n // fall back to the cookie or OS preference.\n useEffect(() => {\n if (isScoped || preselectedTheme !== 'all') {\n return\n }\n if (isValidThemeParam(themeParam)) {\n setTheme(themeParam)\n return\n }\n const { isAutoMode, theme: detectedTheme } = detectTheme(themeCookieKey)\n setThemeState(detectedTheme)\n setAutoMode(isAutoMode)\n }, [isScoped, preselectedTheme, themeCookieKey, themeParam, setTheme])\n\n useEffect(() => {\n if (isScoped) {\n return\n }\n setHighContrastModeState(detectHighContrastMode(contrastCookieKey))\n }, [isScoped, contrastCookieKey])\n\n return (\n <Context\n value={{\n autoMode: isScoped ? outerContext.autoMode : autoMode,\n highContrastMode,\n setHighContrastMode,\n setTheme,\n theme: isScoped ? outerContext.theme : theme,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTheme = (): ThemeContext => use(Context) ?? initialContext\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useLayoutEffect","useState","createPortal","Toaster","CheckIcon","InfoIcon","WarningIcon","XIcon","getActiveModal","ToastContainer","t0","$","config","admin","t1","toast","t2","undefined","duration","expand","limit","position","modalState","portalContainer","setPortalContainer","setCloseIconRef","_temp","t3","t4","Symbol","for","container","document","createElement","body","appendChild","remove","t5","t6","updateContainer","activeModal","destination","parentElement","observer","MutationObserver","observe","attributeFilter","attributes","childList","subtree","disconnect","_jsx","className","closeButton","dir","gap","icons","close","ref","style","display","children","size","info","success","offset","bottom","right","width","theme","toastOptions","classNames","content","error","icon","title","warning","unstyled","visibleToasts","element","closest","setAttribute"],"sources":["../../../src/providers/ToastContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useLayoutEffect, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { Toaster } from 'sonner'\n\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { InfoIcon } from '../../icons/Info/index.js'\nimport { WarningIcon } from '../../icons/Warning/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { getActiveModal } from '../../utilities/getActiveModal.js'\nimport './index.css'\n\nexport const ToastContainer: React.FC<{\n config: ClientConfig\n}> = ({ config }) => {\n const { admin: { toast: { duration, expand, limit, position } = {} } = {} } = config\n\n const { modalState } = useModal()\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null)\n const setCloseIconRef = useCallback((element: HTMLSpanElement | null) => {\n element?.closest('[data-close-button]')?.setAttribute('aria-live', 'off')\n }, [])\n\n useLayoutEffect(() => {\n const container = document.createElement('div')\n\n document.body.appendChild(container)\n setPortalContainer(container)\n return () => container.remove()\n }, [])\n\n useLayoutEffect(() => {\n if (!portalContainer) {\n return\n }\n const updateContainer = () => {\n const activeModal = getActiveModal({ modalState })\n const destination = activeModal ?? document.body\n\n // Move the portal host, preserving Sonner's mounted state and pending notifications.\n if (portalContainer.parentElement !== destination) {\n destination.appendChild(portalContainer)\n }\n }\n\n updateContainer()\n const observer = new MutationObserver(updateContainer)\n\n observer.observe(document.body, {\n attributeFilter: ['open'],\n attributes: true,\n childList: true,\n subtree: true,\n })\n return () => observer.disconnect()\n }, [modalState, portalContainer])\n\n if (!portalContainer) {\n return null\n }\n\n return createPortal(\n <Toaster\n className=\"payload-toast-container\"\n closeButton\n // @ts-expect-error - Sonner's `dir` prop is typed as `Direction`, but passing \"undefined\" opts out of RTL/LTR handling\n dir=\"undefined\"\n duration={duration ?? 6000}\n expand={expand ?? false}\n gap={8}\n icons={{\n close: (\n <span aria-hidden=\"true\" ref={setCloseIconRef} style={{ display: 'contents' }}>\n <XIcon size={24} />\n </span>\n ),\n error: <WarningIcon />,\n info: <InfoIcon />,\n success: <CheckIcon size={24} />,\n warning: <WarningIcon />,\n }}\n offset={{\n bottom: 'var(--spacer-6)',\n right: 'var(--spacer-6)',\n }}\n position={position ?? 'bottom-right'}\n style={{\n width: '280px',\n }}\n theme=\"dark\"\n toastOptions={{\n classNames: {\n closeButton: 'payload-toast-close-button',\n content: 'toast-content',\n error: 'toast-error',\n icon: 'toast-icon',\n info: 'toast-info',\n success: 'toast-success',\n title: 'toast-title',\n toast: 'payload-toast-item',\n warning: 'toast-warning',\n },\n unstyled: true,\n }}\n visibleToasts={limit ?? 5}\n />,\n portalContainer,\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,eAAe,EAAEC,QAAQ,QAAQ;AAC9D,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAO,QAAQ;AAExB,SAASC,SAAS,QAAQ;AAC1B,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,KAAK,QAAQ;AACtB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,OAAO,MAAMC,cAAA,GAERC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB;EAAA,IAAAF,EAAU;EACd;IAAAG,KAAA,EAAAC;EAAA,IAA8EF,MAAA;EAA/D;IAAAG,KAAA,EAAAC;EAAA,IAAAF,EAA0D,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useLayoutEffect","useState","createPortal","Toaster","CheckIcon","InfoIcon","WarningIcon","XIcon","getActiveModal","ToastContainer","t0","$","config","admin","t1","toast","t2","undefined","duration","expand","limit","position","modalState","portalContainer","setPortalContainer","setCloseIconRef","_temp","t3","t4","Symbol","for","container","document","createElement","body","appendChild","remove","t5","t6","updateContainer","activeModal","destination","parentElement","observer","MutationObserver","observe","attributeFilter","attributes","childList","subtree","disconnect","_jsx","className","closeButton","dir","gap","icons","close","ref","style","display","children","size","info","success","offset","bottom","right","width","theme","toastOptions","classNames","content","error","icon","title","warning","unstyled","visibleToasts","element","closest","setAttribute"],"sources":["../../../src/providers/ToastContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useLayoutEffect, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { Toaster } from 'sonner'\n\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { InfoIcon } from '../../icons/Info/index.js'\nimport { WarningIcon } from '../../icons/Warning/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { getActiveModal } from '../../utilities/getActiveModal.js'\nimport './index.css'\n\nexport const ToastContainer: React.FC<{\n config: ClientConfig\n}> = ({ config }) => {\n const { admin: { toast: { duration, expand, limit, position } = {} } = {} } = config\n\n const { modalState } = useModal()\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null)\n const setCloseIconRef = useCallback((element: HTMLSpanElement | null) => {\n element?.closest('[data-close-button]')?.setAttribute('aria-live', 'off')\n }, [])\n\n useLayoutEffect(() => {\n const container = document.createElement('div')\n\n document.body.appendChild(container)\n setPortalContainer(container)\n return () => container.remove()\n }, [])\n\n useLayoutEffect(() => {\n if (!portalContainer) {\n return\n }\n const updateContainer = () => {\n const activeModal = getActiveModal({ modalState })\n const destination = activeModal ?? document.body\n\n // Move the portal host, preserving Sonner's mounted state and pending notifications.\n if (portalContainer.parentElement !== destination) {\n destination.appendChild(portalContainer)\n }\n }\n\n updateContainer()\n const observer = new MutationObserver(updateContainer)\n\n observer.observe(document.body, {\n attributeFilter: ['open'],\n attributes: true,\n childList: true,\n subtree: true,\n })\n return () => observer.disconnect()\n }, [modalState, portalContainer])\n\n if (!portalContainer) {\n return null\n }\n\n return createPortal(\n <Toaster\n className=\"payload-toast-container\"\n closeButton\n // @ts-expect-error - Sonner's `dir` prop is typed as `Direction`, but passing \"undefined\" opts out of RTL/LTR handling\n dir=\"undefined\"\n duration={duration ?? 6000}\n expand={expand ?? false}\n gap={8}\n icons={{\n close: (\n <span aria-hidden=\"true\" ref={setCloseIconRef} style={{ display: 'contents' }}>\n <XIcon size={24} />\n </span>\n ),\n error: <WarningIcon />,\n info: <InfoIcon />,\n success: <CheckIcon size={24} />,\n warning: <WarningIcon />,\n }}\n offset={{\n bottom: 'var(--spacer-6)',\n right: 'var(--spacer-6)',\n }}\n position={position ?? 'bottom-right'}\n style={{\n width: '280px',\n }}\n theme=\"dark\"\n toastOptions={{\n classNames: {\n closeButton: 'payload-toast-close-button',\n content: 'toast-content',\n error: 'toast-error',\n icon: 'toast-icon',\n info: 'toast-info',\n success: 'toast-success',\n title: 'toast-title',\n toast: 'payload-toast-item',\n warning: 'toast-warning',\n },\n unstyled: true,\n }}\n visibleToasts={limit ?? 5}\n />,\n portalContainer,\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","importDateFNSLocale","t","enUS","React","createContext","use","useEffect","useState","useRouter","useServerFunctions","Context","i18n","dateFNS","dateFNSKey","fallbackLanguage","language","key","translations","languageOptions","undefined","switchLanguage","TranslationProvider","t0","$","children","fallbackLang","router","switchLanguageServerFn","setDateFNS","t1","vars","nextT","t2","lang","refresh","t3","error","console","t4","isCancelled","loadDateFNS","imported","t5","_jsx","value","useTranslation"],"sources":["../../../src/providers/Translation/index.tsx"],"sourcesContent":["'use client'\nimport type {\n AcceptedLanguages,\n ClientTranslationKeys,\n ClientTranslationsObject,\n I18nClient,\n I18nOptions,\n Language,\n TFunction,\n} from '@payloadcms/translations'\nimport type { Locale } from 'date-fns'\nimport type { LanguageOptions } from 'payload'\n\nimport { importDateFNSLocale, t } from '@payloadcms/translations'\nimport { enUS } from 'date-fns/locale/en-US'\nimport React, { createContext, use, useEffect, useState } from 'react'\n\nimport { useRouter } from '../RouterAdapter/index.js'\nimport { useServerFunctions } from '../ServerFunctions/index.js'\n\ntype ContextType<\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n> = {\n i18n: [TAdditionalClientTranslationKeys] extends [never]\n ? I18nClient\n : TAdditionalTranslations extends object\n ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys>\n : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>\n languageOptions: LanguageOptions\n switchLanguage?: (lang: AcceptedLanguages) => Promise<void>\n t: TFunction<ClientTranslationKeys | Extract<TAdditionalClientTranslationKeys, string>>\n}\n\nconst Context = createContext<ContextType<any, any>>({\n // Use `any` here to be replaced later with a more specific type when used\n i18n: {\n dateFNS: enUS,\n dateFNSKey: 'en-US',\n fallbackLanguage: 'en',\n language: 'en',\n t: (key) => key,\n translations: {} as any,\n },\n languageOptions: undefined,\n switchLanguage: undefined,\n t: (key) => undefined,\n})\n\ntype Props = {\n children: React.ReactNode\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: I18nOptions['fallbackLanguage']\n language: string\n languageOptions: LanguageOptions\n translations: I18nClient['translations']\n}\n\nexport const TranslationProvider: React.FC<Props> = ({\n children,\n dateFNSKey,\n fallbackLang,\n language,\n languageOptions,\n translations,\n}) => {\n const router = useRouter()\n const { switchLanguage: switchLanguageServerFn } = useServerFunctions()\n const [dateFNS, setDateFNS] = useState<Locale>()\n\n const nextT: ContextType['t'] = React.useCallback(\n (key, vars): string =>\n t({\n key,\n translations,\n vars,\n }),\n [translations],\n )\n\n const switchLanguage = React.useCallback(\n async (lang: string) => {\n try {\n await switchLanguageServerFn(lang)\n router.refresh()\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error loading language: \"${lang}\"`, error)\n }\n },\n [switchLanguageServerFn, router],\n )\n\n useEffect(() => {\n // en-US is date-fns' default locale, so it's already part of the bundle\n if (dateFNSKey === 'en-US') {\n setDateFNS(enUS)\n return\n }\n\n let isCancelled = false\n const loadDateFNS = async () => {\n const imported = await importDateFNSLocale(dateFNSKey)\n\n if (!isCancelled) {\n setDateFNS(imported)\n }\n }\n\n void loadDateFNS()\n\n return () => {\n isCancelled = true\n }\n }, [dateFNSKey])\n\n return (\n <Context\n value={{\n i18n: {\n dateFNS,\n dateFNSKey,\n fallbackLanguage: fallbackLang,\n language,\n t: nextT,\n translations,\n },\n languageOptions,\n switchLanguage,\n t: nextT,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTranslation = <\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n>() => use<ContextType<TAdditionalTranslations, TAdditionalClientTranslationKeys>>(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAaA,SAASC,mBAAmB,EAAEC,CAAC,QAAQ;AACvC,SAASC,IAAI,QAAQ;AACrB,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAE/D,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,QAAQ;AAgBnC,MAAMC,OAAA,gBAAUN,aAAA,CAAqC;EACnD;EACAO,IAAA,EAAM;IACJC,OAAA,EAASV,IAAA;IACTW,UAAA,EAAY;IACZC,gBAAA,EAAkB;IAClBC,QAAA,EAAU;IACVd,CAAA,EAAIe,GAAA,IAAQA,GAAA;IACZC,YAAA,EAAc,CAAC;EACjB;EACAC,eAAA,EAAiBC,SAAA;EACjBC,cAAA,EAAgBD,SAAA;EAChBlB,CAAA,EAAIe,GAAA,IAAQG;AACd;AAWA,OAAO,MAAME,mBAAA,GAAuCC,EAAA;EAAA,MAAAC,CAAA,GAAAxB,EAAA;EAAC;IAAAyB,QAAA;IAAAX,UAAA;IAAAY,YAAA;IAAAV,QAAA;IAAAG,eAAA;IAAAD;EAAA,IAAAK,EAOpD;EACC,MAAAI,MAAA,GAAelB,SAAA;EACf;IAAAY,cAAA,EAAAO;EAAA,IAAmDlB,kBAAA;EACnD,OAAAG,OAAA,EAAAgB,UAAA,IAA8BrB,QAAA;EAAA,IAAAsB,EAAA;EAAA,IAAAN,CAAA,QAAAN,YAAA;IAG5BY,EAAA,GAAAA,CAAAb,GAAA,EAAAc,IAAA,KACE7B,CAAA;MAAAe,GAAA;MAAAC,YAAA;MAAAa;
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","importDateFNSLocale","t","enUS","React","createContext","use","useEffect","useState","useRouter","useServerFunctions","Context","i18n","dateFNS","dateFNSKey","fallbackLanguage","language","key","translations","languageOptions","undefined","switchLanguage","TranslationProvider","t0","$","children","fallbackLang","router","switchLanguageServerFn","setDateFNS","t1","vars","nextT","t2","lang","refresh","t3","error","console","t4","isCancelled","loadDateFNS","imported","t5","_jsx","value","useTranslation"],"sources":["../../../src/providers/Translation/index.tsx"],"sourcesContent":["'use client'\nimport type {\n AcceptedLanguages,\n ClientTranslationKeys,\n ClientTranslationsObject,\n I18nClient,\n I18nOptions,\n Language,\n TFunction,\n} from '@payloadcms/translations'\nimport type { Locale } from 'date-fns'\nimport type { LanguageOptions } from 'payload'\n\nimport { importDateFNSLocale, t } from '@payloadcms/translations'\nimport { enUS } from 'date-fns/locale/en-US'\nimport React, { createContext, use, useEffect, useState } from 'react'\n\nimport { useRouter } from '../RouterAdapter/index.js'\nimport { useServerFunctions } from '../ServerFunctions/index.js'\n\ntype ContextType<\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n> = {\n i18n: [TAdditionalClientTranslationKeys] extends [never]\n ? I18nClient\n : TAdditionalTranslations extends object\n ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys>\n : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>\n languageOptions: LanguageOptions\n switchLanguage?: (lang: AcceptedLanguages) => Promise<void>\n t: TFunction<ClientTranslationKeys | Extract<TAdditionalClientTranslationKeys, string>>\n}\n\nconst Context = createContext<ContextType<any, any>>({\n // Use `any` here to be replaced later with a more specific type when used\n i18n: {\n dateFNS: enUS,\n dateFNSKey: 'en-US',\n fallbackLanguage: 'en',\n language: 'en',\n t: (key) => key,\n translations: {} as any,\n },\n languageOptions: undefined,\n switchLanguage: undefined,\n t: (key) => undefined,\n})\n\ntype Props = {\n children: React.ReactNode\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: I18nOptions['fallbackLanguage']\n language: string\n languageOptions: LanguageOptions\n translations: I18nClient['translations']\n}\n\nexport const TranslationProvider: React.FC<Props> = ({\n children,\n dateFNSKey,\n fallbackLang,\n language,\n languageOptions,\n translations,\n}) => {\n const router = useRouter()\n const { switchLanguage: switchLanguageServerFn } = useServerFunctions()\n const [dateFNS, setDateFNS] = useState<Locale>()\n\n const nextT: ContextType['t'] = React.useCallback(\n (key, vars): string =>\n t({\n key,\n translations,\n vars,\n }),\n [translations],\n )\n\n const switchLanguage = React.useCallback(\n async (lang: string) => {\n try {\n await switchLanguageServerFn(lang)\n router.refresh()\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error loading language: \"${lang}\"`, error)\n }\n },\n [switchLanguageServerFn, router],\n )\n\n useEffect(() => {\n // en-US is date-fns' default locale, so it's already part of the bundle\n if (dateFNSKey === 'en-US') {\n setDateFNS(enUS)\n return\n }\n\n let isCancelled = false\n const loadDateFNS = async () => {\n const imported = await importDateFNSLocale(dateFNSKey)\n\n if (!isCancelled) {\n setDateFNS(imported)\n }\n }\n\n void loadDateFNS()\n\n return () => {\n isCancelled = true\n }\n }, [dateFNSKey])\n\n return (\n <Context\n value={{\n i18n: {\n dateFNS,\n dateFNSKey,\n fallbackLanguage: fallbackLang,\n language,\n t: nextT,\n translations,\n },\n languageOptions,\n switchLanguage,\n t: nextT,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTranslation = <\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n>() => use<ContextType<TAdditionalTranslations, TAdditionalClientTranslationKeys>>(Context)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useState","Context","undefined","UploadControlsProvider","t0","$","children","uploadControlFileName","setUploadControlFileName","uploadControlFileUrl","setUploadControlFileUrl","uploadControlFile","setUploadControlFile","t1","_jsx","value","useUploadControls","context","Error"],"sources":["../../../src/providers/UploadControls/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useState } from 'react'\n\nexport type UploadControlsContext = {\n setUploadControlFile: (file: File) => void\n setUploadControlFileName: (name: string) => void\n setUploadControlFileUrl: (url: string) => void\n uploadControlFile: File | null\n uploadControlFileName: null | string\n uploadControlFileUrl: string\n}\n\nconst Context = createContext<UploadControlsContext>(undefined)\n\nexport const UploadControlsProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [uploadControlFileName, setUploadControlFileName] = useState<null | string>(null)\n const [uploadControlFileUrl, setUploadControlFileUrl] = useState<string>('')\n const [uploadControlFile, setUploadControlFile] = useState<File | null>(null)\n\n return (\n <Context\n value={{\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\n uploadControlFileUrl,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useUploadControls = (): UploadControlsContext => {\n const context = use(Context)\n if (!context) {\n throw new Error('useUploadControls must be used within an UploadControlsProvider')\n }\n return context\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,QAAQ,QAAQ;AAWpD,MAAMC,OAAA,gBAAUH,aAAA,CAAqCI,SAAA;AAErD,OAAO,MAAMC,sBAAA,GAAkEC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAY;EAC1F,OAAAG,qBAAA,EAAAC,wBAAA,IAA0DR,QAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useState","Context","undefined","UploadControlsProvider","t0","$","children","uploadControlFileName","setUploadControlFileName","uploadControlFileUrl","setUploadControlFileUrl","uploadControlFile","setUploadControlFile","t1","_jsx","value","useUploadControls","context","Error"],"sources":["../../../src/providers/UploadControls/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useState } from 'react'\n\nexport type UploadControlsContext = {\n setUploadControlFile: (file: File) => void\n setUploadControlFileName: (name: string) => void\n setUploadControlFileUrl: (url: string) => void\n uploadControlFile: File | null\n uploadControlFileName: null | string\n uploadControlFileUrl: string\n}\n\nconst Context = createContext<UploadControlsContext>(undefined)\n\nexport const UploadControlsProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [uploadControlFileName, setUploadControlFileName] = useState<null | string>(null)\n const [uploadControlFileUrl, setUploadControlFileUrl] = useState<string>('')\n const [uploadControlFile, setUploadControlFile] = useState<File | null>(null)\n\n return (\n <Context\n value={{\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\n uploadControlFileUrl,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useUploadControls = (): UploadControlsContext => {\n const context = use(Context)\n if (!context) {\n throw new Error('useUploadControls must be used within an UploadControlsProvider')\n }\n return context\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,QAAQ,QAAQ;AAWpD,MAAMC,OAAA,gBAAUH,aAAA,CAAqCI,SAAA;AAErD,OAAO,MAAMC,sBAAA,GAAkEC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAY;EAC1F,OAAAG,qBAAA,EAAAC,wBAAA,IAA0DR,QAAA,CAAwB;EAClF,OAAAS,oBAAA,EAAAC,uBAAA,IAAwDV,QAAA,CAAiB;EACzE,OAAAW,iBAAA,EAAAC,oBAAA,IAAkDZ,QAAA,CAAsB;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAM,iBAAA,IAAAN,CAAA,QAAAE,qBAAA,IAAAF,CAAA,QAAAI,oBAAA;IAGtEI,EAAA,GAAAC,IAAA,CAACb,OAAA;MAAAc,KAAA,EACQ;QAAAH,oBAAA;QAAAJ,wBAAA;QAAAE,uBAAA;QAAAC,iBAAA;QAAAJ,qBAAA;QAAAE;MAOP;MAAAH;;;;;;;;;;SARFO,E;CAaJ;AAEA,OAAO,MAAMG,iBAAA,GAAoBA,CAAA;EAC/B,MAAMC,OAAA,GAAUlB,GAAA,CAAIE,OAAA;EACpB,IAAI,CAACgB,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EACA,OAAOD,OAAA;AACT","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","Context","createContext","getUploadEdits","undefined","resetUploadEdits","updateUploadEdits","uploadEdits","UploadEditsProvider","t0","$","children","initialUploadEdits","t1","setUploadEdits","useState","t2","Symbol","for","t3","edits","prevEdits","t4","t5","_jsx","value","useUploadEdits","use"],"sources":["../../../src/providers/UploadEdits/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadEdits } from 'payload'\n\nimport React from 'react'\n\nexport type UploadEditsProviderProps = {\n children: React.ReactNode\n initialUploadEdits?: UploadEdits\n}\nexport type UploadEditsContext = {\n getUploadEdits: () => UploadEdits\n resetUploadEdits: () => void\n updateUploadEdits: (edits: UploadEdits) => void\n uploadEdits: UploadEdits\n}\n\nconst Context = React.createContext<UploadEditsContext>({\n getUploadEdits: () => undefined,\n resetUploadEdits: undefined,\n updateUploadEdits: undefined,\n uploadEdits: undefined,\n})\n\nexport const UploadEditsProvider = ({ children, initialUploadEdits }: UploadEditsProviderProps) => {\n const [uploadEdits, setUploadEdits] = React.useState<UploadEdits>(initialUploadEdits || {})\n\n const resetUploadEdits = () => {\n setUploadEdits({})\n }\n\n const updateUploadEdits = (edits: UploadEdits) => {\n setUploadEdits((prevEdits) => ({\n ...(prevEdits || {}),\n ...(edits || {}),\n }))\n }\n\n const getUploadEdits = () => uploadEdits\n\n return (\n <Context value={{ getUploadEdits, resetUploadEdits, updateUploadEdits, uploadEdits }}>\n {children}\n </Context>\n )\n}\n\nexport const useUploadEdits = (): UploadEditsContext => React.use(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAalB,MAAMC,OAAA,gBAAUD,KAAA,CAAME,aAAa,CAAqB;EACtDC,cAAA,EAAgBA,CAAA,KAAMC,SAAA;EACtBC,gBAAA,EAAkBD,SAAA;EAClBE,iBAAA,EAAmBF,SAAA;EACnBG,WAAA,EAAaH;AACf;AAEA,OAAO,MAAMI,mBAAA,GAAsBC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,QAAA;IAAAC;EAAA,IAAAH,EAA0D;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,kBAAA;IAC1BC,EAAA,GAAAD,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Context","createContext","getUploadEdits","undefined","resetUploadEdits","updateUploadEdits","uploadEdits","UploadEditsProvider","t0","$","children","initialUploadEdits","t1","setUploadEdits","useState","t2","Symbol","for","t3","edits","prevEdits","t4","t5","_jsx","value","useUploadEdits","use"],"sources":["../../../src/providers/UploadEdits/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadEdits } from 'payload'\n\nimport React from 'react'\n\nexport type UploadEditsProviderProps = {\n children: React.ReactNode\n initialUploadEdits?: UploadEdits\n}\nexport type UploadEditsContext = {\n getUploadEdits: () => UploadEdits\n resetUploadEdits: () => void\n updateUploadEdits: (edits: UploadEdits) => void\n uploadEdits: UploadEdits\n}\n\nconst Context = React.createContext<UploadEditsContext>({\n getUploadEdits: () => undefined,\n resetUploadEdits: undefined,\n updateUploadEdits: undefined,\n uploadEdits: undefined,\n})\n\nexport const UploadEditsProvider = ({ children, initialUploadEdits }: UploadEditsProviderProps) => {\n const [uploadEdits, setUploadEdits] = React.useState<UploadEdits>(initialUploadEdits || {})\n\n const resetUploadEdits = () => {\n setUploadEdits({})\n }\n\n const updateUploadEdits = (edits: UploadEdits) => {\n setUploadEdits((prevEdits) => ({\n ...(prevEdits || {}),\n ...(edits || {}),\n }))\n }\n\n const getUploadEdits = () => uploadEdits\n\n return (\n <Context value={{ getUploadEdits, resetUploadEdits, updateUploadEdits, uploadEdits }}>\n {children}\n </Context>\n )\n}\n\nexport const useUploadEdits = (): UploadEditsContext => React.use(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAalB,MAAMC,OAAA,gBAAUD,KAAA,CAAME,aAAa,CAAqB;EACtDC,cAAA,EAAgBA,CAAA,KAAMC,SAAA;EACtBC,gBAAA,EAAkBD,SAAA;EAClBE,iBAAA,EAAmBF,SAAA;EACnBG,WAAA,EAAaH;AACf;AAEA,OAAO,MAAMI,mBAAA,GAAsBC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,QAAA;IAAAC;EAAA,IAAAH,EAA0D;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,kBAAA;IAC1BC,EAAA,GAAAD,kBAAuB,IAAvB,CAAuB;IAAAF,CAAA,MAAAE,kBAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAzF,OAAAH,WAAA,EAAAO,cAAA,IAAsCd,KAAA,CAAAe,QAAc,CAAcF,EAAuB;EAAA,IAAAG,EAAA;EAAA,IAAAN,CAAA,QAAAO,MAAA,CAAAC,GAAA;IAEhEF,EAAA,GAAAA,CAAA;MACvBF,cAAA,CAAe,CAAC;IAAA,CAClB;IAAAJ,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAFA,MAAAL,gBAAA,GAAyBW,EAEzB;EAAA,IAAAG,EAAA;EAAA,IAAAT,CAAA,QAAAO,MAAA,CAAAC,GAAA;IAE0BC,EAAA,GAAAC,KAAA;MACxBN,cAAA,CAAeO,SAAA,KAAgB;QAAA,IACzBA,SAAe,IAAf,CAAc,CAAC;QAAA,IACfD,KAAW,IAAX,CAAU,CAAC;MACjB;IAAA,CACF;IAAAV,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EALA,MAAAJ,iBAAA,GAA0Ba,EAK1B;EAAA,IAAAG,EAAA;EAAA,IAAAZ,CAAA,QAAAH,WAAA;IAEuBe,EAAA,GAAAA,CAAA,KAAMf,WAAA;IAAAG,CAAA,MAAAH,WAAA;IAAAG,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAA7B,MAAAP,cAAA,GAAuBmB,EAAM;EAAA,IAAAC,EAAA;EAAA,IAAAb,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAP,cAAA,IAAAO,CAAA,QAAAH,WAAA;IAG3BgB,EAAA,GAAAC,IAAA,CAACvB,OAAA;MAAAwB,KAAA,EAAe;QAAAtB,cAAA;QAAAE,gBAAA;QAAAC,iBAAA;QAAAC;MAAmE;MAAAI;;;;;;;;;SAAnFY,E;CAIJ;AAEA,OAAO,MAAMG,cAAA,GAAiBA,CAAA,KAA0B1B,KAAA,CAAM2B,GAAG,CAAC1B,OAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","formatAdminURL","React","useConfig","Context","createContext","UploadHandlersProvider","t0","$","children","config","getEntityConfig","t1","routes","api","serverURL","uploadInstructionsURL","apiRoute","path","getUploadHandler","t2","collectionSlug","upload","uploadInstructions","useInAdmin","t3","docPrefix","file","response","fetch","body","JSON","stringify","filename","name","filesize","size","mimeType","type","credentials","headers","method","ok","errors","json","Error","map","_temp","join","instructions","uploadedFile","url","request","status","result","Promise","resolve","reject","event","CustomEvent","cancelable","detail","data","updateFilename","window","dispatchEvent","uploadReference","_jsx","value","useUploadHandlers","context","use","message"],"sources":["../../../src/providers/UploadHandlers/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadCollectionSlug, UploadInstructions } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { useConfig } from '../Config/index.js'\n\ntype UploadHandler = (args: {\n docPrefix?: string\n file: File\n}) => Promise<UploadInstructions['file']>\n\nexport type UploadHandlersContext = {\n getUploadHandler: (args: { collectionSlug: UploadCollectionSlug }) => null | UploadHandler\n}\n\nconst Context = React.createContext<null | UploadHandlersContext>(null)\n\nexport const UploadHandlersProvider = ({ children }) => {\n const { config, getEntityConfig } = useConfig()\n const uploadInstructionsURL = formatAdminURL({\n apiRoute: config.routes.api,\n path: '/upload-instructions',\n serverURL: config.serverURL,\n })\n const getUploadHandler: UploadHandlersContext['getUploadHandler'] = ({ collectionSlug }) => {\n if (!getEntityConfig({ collectionSlug })?.upload?.uploadInstructions.useInAdmin) {\n return null\n }\n\n return async ({ docPrefix, file }) => {\n const response = await fetch(uploadInstructionsURL, {\n body: JSON.stringify({\n collectionSlug,\n docPrefix,\n filename: file.name,\n filesize: file.size,\n mimeType: file.type,\n }),\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n method: 'POST',\n })\n\n if (!response.ok) {\n const { errors } = (await response.json()) as { errors: { message: string }[] }\n throw new Error(errors.map(({ message }) => message).join(', '))\n }\n\n const instructions = (await response.json()) as UploadInstructions\n let uploadedFile = instructions.file\n\n if (instructions.type === 'http') {\n const { url, ...request } = instructions.request\n const upload = await fetch(url, { body: file, ...request })\n\n if (!upload.ok) {\n throw new Error(`Upload failed with status ${upload.status}`)\n }\n\n return uploadedFile\n }\n\n const result = await new Promise<unknown>((resolve, reject) => {\n const event = new CustomEvent(`payload:upload:${instructions.name}`, {\n cancelable: true,\n detail: {\n collectionSlug,\n data: instructions.data,\n docPrefix,\n file,\n reject,\n resolve,\n updateFilename: (filename: string) => {\n uploadedFile = { ...uploadedFile, filename }\n },\n },\n })\n\n if (window.dispatchEvent(event)) {\n reject(new Error(`Unsupported upload instruction: ${instructions.name}`))\n }\n })\n\n return typeof result === 'object' && result !== null\n ? { ...uploadedFile, uploadReference: result as Record<string, unknown> }\n : uploadedFile\n }\n }\n\n return <Context value={{ getUploadHandler }}>{children}</Context>\n}\n\nexport const useUploadHandlers = (): UploadHandlersContext => {\n const context = React.use(Context)\n\n if (context === null) {\n throw new Error('useUploadHandlers must be used within UploadHandlersProvider')\n }\n\n return context\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAW1B,MAAMC,OAAA,gBAAUF,KAAA,CAAMG,aAAa,CAA+B;AAElE,OAAO,MAAMC,sBAAA,GAAyBC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS;EAAA,IAAAF,EAAY;EACjD;IAAAG,MAAA;IAAAC;EAAA,IAAoCR,SAAA;EAAA,IAAAS,EAAA;EAAA,IAAAJ,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAE,MAAA,CAAAG,MAAA,CAAAC,GAAA,IAAAN,CAAA,QAAAE,MAAA,CAAAK,SAAA,IAAAP,CAAA,QAAAG,eAAA;IACpC,MAAAK,qBAAA,GAA8Bf,cAAA;MAAAgB,QAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","formatAdminURL","React","useConfig","Context","createContext","UploadHandlersProvider","t0","$","children","config","getEntityConfig","t1","routes","api","serverURL","uploadInstructionsURL","apiRoute","path","getUploadHandler","t2","collectionSlug","upload","uploadInstructions","useInAdmin","t3","docPrefix","file","response","fetch","body","JSON","stringify","filename","name","filesize","size","mimeType","type","credentials","headers","method","ok","errors","json","Error","map","_temp","join","instructions","uploadedFile","url","request","status","result","Promise","resolve","reject","event","CustomEvent","cancelable","detail","data","updateFilename","window","dispatchEvent","uploadReference","_jsx","value","useUploadHandlers","context","use","message"],"sources":["../../../src/providers/UploadHandlers/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadCollectionSlug, UploadInstructions } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { useConfig } from '../Config/index.js'\n\ntype UploadHandler = (args: {\n docPrefix?: string\n file: File\n}) => Promise<UploadInstructions['file']>\n\nexport type UploadHandlersContext = {\n getUploadHandler: (args: { collectionSlug: UploadCollectionSlug }) => null | UploadHandler\n}\n\nconst Context = React.createContext<null | UploadHandlersContext>(null)\n\nexport const UploadHandlersProvider = ({ children }) => {\n const { config, getEntityConfig } = useConfig()\n const uploadInstructionsURL = formatAdminURL({\n apiRoute: config.routes.api,\n path: '/upload-instructions',\n serverURL: config.serverURL,\n })\n const getUploadHandler: UploadHandlersContext['getUploadHandler'] = ({ collectionSlug }) => {\n if (!getEntityConfig({ collectionSlug })?.upload?.uploadInstructions.useInAdmin) {\n return null\n }\n\n return async ({ docPrefix, file }) => {\n const response = await fetch(uploadInstructionsURL, {\n body: JSON.stringify({\n collectionSlug,\n docPrefix,\n filename: file.name,\n filesize: file.size,\n mimeType: file.type,\n }),\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n method: 'POST',\n })\n\n if (!response.ok) {\n const { errors } = (await response.json()) as { errors: { message: string }[] }\n throw new Error(errors.map(({ message }) => message).join(', '))\n }\n\n const instructions = (await response.json()) as UploadInstructions\n let uploadedFile = instructions.file\n\n if (instructions.type === 'http') {\n const { url, ...request } = instructions.request\n const upload = await fetch(url, { body: file, ...request })\n\n if (!upload.ok) {\n throw new Error(`Upload failed with status ${upload.status}`)\n }\n\n return uploadedFile\n }\n\n const result = await new Promise<unknown>((resolve, reject) => {\n const event = new CustomEvent(`payload:upload:${instructions.name}`, {\n cancelable: true,\n detail: {\n collectionSlug,\n data: instructions.data,\n docPrefix,\n file,\n reject,\n resolve,\n updateFilename: (filename: string) => {\n uploadedFile = { ...uploadedFile, filename }\n },\n },\n })\n\n if (window.dispatchEvent(event)) {\n reject(new Error(`Unsupported upload instruction: ${instructions.name}`))\n }\n })\n\n return typeof result === 'object' && result !== null\n ? { ...uploadedFile, uploadReference: result as Record<string, unknown> }\n : uploadedFile\n }\n }\n\n return <Context value={{ getUploadHandler }}>{children}</Context>\n}\n\nexport const useUploadHandlers = (): UploadHandlersContext => {\n const context = React.use(Context)\n\n if (context === null) {\n throw new Error('useUploadHandlers must be used within UploadHandlersProvider')\n }\n\n return context\n}\n"],"mappings":"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","ignoreList":[]}
|