@payloadcms/ui 3.68.0-internal-debug.2eb12b9 → 3.68.0-internal-debug.dafc24d
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/elements/AddNewRelation/index.js +83 -27
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +13 -5
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +2 -2
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/AppHeader/index.js +107 -35
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +116 -36
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +19 -6
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +25 -9
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +97 -33
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +43 -15
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +47 -15
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +7 -3
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +12 -4
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +53 -17
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +90 -30
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +33 -13
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +214 -70
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +21 -13
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +19 -7
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +70 -19
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +103 -35
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +13 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +30 -10
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +19 -7
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +16 -4
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +42 -14
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +12 -4
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +15 -7
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +18 -6
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +3 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +92 -29
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +7 -3
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +13 -5
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +43 -13
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +49 -17
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +73 -25
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +18 -6
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +42 -13
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +1 -0
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js +19 -7
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +25 -9
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +49 -17
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +98 -26
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +304 -96
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +12 -4
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +59 -19
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +12 -4
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +32 -10
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +11 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +54 -18
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +73 -25
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +49 -17
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -3
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +19 -7
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +80 -26
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +37 -13
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +7 -3
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +7 -3
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +61 -21
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +25 -9
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +146 -44
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +40 -14
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +232 -76
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +31 -11
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +19 -7
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +25 -9
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +7 -3
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +19 -7
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +70 -22
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +43 -15
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +43 -15
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +13 -5
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +31 -11
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +12 -4
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +7 -3
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +7 -3
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +7 -3
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +68 -24
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +31 -11
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +25 -9
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +7 -3
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +15 -7
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +189 -62
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +19 -7
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +7 -3
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +104 -31
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +49 -17
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +7 -3
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +21 -9
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +28 -13
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +67 -23
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +86 -30
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +25 -9
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +7 -3
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +31 -11
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +43 -15
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +7 -3
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js +24 -3
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +13 -5
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +35 -11
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +6 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +13 -5
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +13 -5
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/index.js +12 -4
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +126 -42
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.js +7 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +20 -8
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +15 -4
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +34 -11
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +5 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +19 -7
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -5
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +12 -4
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +7 -3
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +48 -16
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +37 -13
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +43 -15
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +66 -20
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +13 -5
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +7 -3
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +7 -3
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +13 -5
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +137 -45
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +7 -3
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +48 -16
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +7 -3
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +41 -13
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +55 -19
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +13 -5
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +31 -11
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +47 -15
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +18 -6
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +17 -5
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +7 -3
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +7 -3
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +49 -17
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +19 -7
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +7 -3
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +37 -13
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +12 -4
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +7 -3
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +7 -3
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +19 -7
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +61 -21
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +31 -11
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +42 -15
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +34 -10
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +25 -9
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +7 -3
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +7 -3
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +13 -5
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +60 -20
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +12 -4
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +97 -33
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +67 -23
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +165 -53
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +49 -17
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +7 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +28 -10
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +109 -38
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +42 -14
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -9
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +7 -3
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +25 -9
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +31 -11
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +79 -27
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +13 -5
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +13 -5
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +19 -7
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +13 -5
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +45 -17
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +8 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +37 -13
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +7 -3
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +24 -8
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +121 -41
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +19 -7
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +7 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +13 -5
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +25 -9
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +49 -17
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +38 -13
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +8 -5
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +8 -5
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +24 -8
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +13 -5
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.js +19 -1
- package/dist/elements/SearchFilter/types.js.map +1 -1
- package/dist/elements/SelectAll/index.js +7 -3
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +7 -3
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +13 -5
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +31 -11
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +48 -16
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +55 -19
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +24 -8
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +13 -5
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +63 -23
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +7 -3
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +7 -3
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +109 -33
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +7 -3
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -9
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -7
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +11 -7
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +45 -16
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +25 -9
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +19 -7
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +79 -27
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +10 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +55 -19
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.js +12 -12
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +47 -15
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +19 -7
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +19 -7
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +24 -8
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +34 -12
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +25 -9
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +18 -6
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +7 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +28 -10
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +235 -83
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +7 -3
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +13 -5
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +37 -13
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +13 -4
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +23 -12
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +7 -3
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +13 -4
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +73 -25
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +87 -31
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +7 -3
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +7 -3
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.js +26 -2
- package/dist/exports/client/index.js.map +1 -1
- package/dist/exports/shared/index.js +2 -1
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.js +52 -16
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +169 -57
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +72 -24
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +18 -6
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +74 -24
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +13 -5
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +19 -7
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +13 -5
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +187 -63
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +47 -15
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +37 -13
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +55 -19
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +61 -21
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +31 -11
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +61 -21
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +55 -19
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +7 -3
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +7 -3
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +19 -7
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +78 -26
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +7 -3
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +7 -3
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +55 -19
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +49 -17
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +71 -25
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +7 -3
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +61 -21
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.js +11 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +97 -33
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +31 -11
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +67 -23
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +84 -28
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +7 -3
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +47 -16
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +52 -17
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +19 -7
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +7 -3
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +55 -19
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +7 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +37 -13
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +25 -9
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +67 -23
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +7 -3
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +60 -20
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +10 -5
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +61 -21
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +7 -3
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +48 -16
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +13 -5
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +154 -56
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +73 -25
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +7 -3
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +13 -5
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.js +1 -0
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/shared/index.js +2 -3
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +2 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +78 -31
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +11 -3
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +2 -2
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/types.js +52 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +15 -6
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +138 -46
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +19 -7
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +7 -3
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +19 -7
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +13 -5
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +6 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +20 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +33 -1
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +2 -2
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +16 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +21 -9
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js +5 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.js +1 -0
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +19 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/index.js +13 -5
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +25 -9
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +7 -3
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +12 -4
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +67 -23
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +19 -7
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +19 -7
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +85 -29
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useControllableState.js +9 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +3 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useHotkey.js +2 -2
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +3 -4
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js +2 -2
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useQueue.js +15 -7
- package/dist/hooks/useQueue.js.map +1 -1
- package/dist/hooks/useResize.js +4 -3
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/icons/Calendar/index.js +13 -5
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +13 -5
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +13 -5
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +13 -5
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +13 -5
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +13 -5
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +13 -5
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +22 -6
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +43 -15
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +13 -5
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +13 -5
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +36 -12
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +13 -5
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +19 -7
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +31 -11
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +13 -5
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +13 -5
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +13 -5
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +19 -7
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +13 -5
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +13 -5
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +18 -6
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +25 -9
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +37 -13
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +13 -5
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +13 -5
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +13 -5
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +25 -9
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +13 -5
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +22 -6
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +13 -5
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +13 -5
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +7 -3
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +42 -6
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +7 -3
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +13 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +23 -6
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +7 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +31 -16
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +25 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +7 -3
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +7 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +7 -3
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +51 -5
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +13 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.js +5 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/LivePreview/context.js +11 -1
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.js +20 -9
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +13 -5
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +7 -3
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +7 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +14 -5
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +154 -50
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +7 -3
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +13 -5
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +16 -12
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +7 -3
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +14 -5
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +32 -25
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +13 -5
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +17 -12
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +17 -8
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +7 -3
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/TableColumns/types.js +17 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -3
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +19 -7
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +19 -7
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +19 -7
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +19 -7
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +27 -7
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +7 -3
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +7 -3
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +7 -3
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +7 -3
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/abortAndIgnore.js +4 -6
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +2 -2
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +37 -13
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +6 -2
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +8 -8
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +31 -14
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +2 -2
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/hasSavePermission.js +5 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isURLAllowed.js +6 -6
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/renderTable.js +84 -27
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +3 -1
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/upsertPreferences.js +1 -0
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +168 -56
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +67 -23
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +147 -47
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +67 -23
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +91 -31
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +124 -48
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +19 -7
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +68 -23
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +49 -17
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +162 -54
- package/dist/views/List/index.js.map +1 -1
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/RouteTransition/ProgressBar/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef } from 'react'\n\nimport { useRouteTransition } from '../index.js'\nimport './index.scss'\n\nconst transitionDuration = 200\nconst baseClass = 'progress-bar'\nconst initialDelay = 150\n\n/**\n * Renders a progress bar that shows the progress of a route transition.\n * Place this at the root of your application, inside of the `RouteTransitionProvider`.\n * When a transition is triggered, the progress bar will show the progress of that transition and exit when the transition is complete.\n * @returns A progress bar that shows the progress of a route transition\n * @example\n * import { RouteTransitionProvider, ProgressBar, Link } from '@payloadcms/ui'\n * const App = () => (\n * <RouteTransitionProvider>\n * <ProgressBar />\n * <Link href=\"/somewhere\">Go Somewhere</Link>\n * </RouteTransitionProvider>\n */\nexport const ProgressBar = () => {\n const { isTransitioning, transitionProgress } = useRouteTransition()\n const [progressToShow, setProgressToShow] = React.useState<null | number>(null)\n const shouldDelayProgress = useRef(true)\n\n useEffect(() => {\n let clearTimerID: NodeJS.Timeout\n let delayTimerID: NodeJS.Timeout\n\n if (isTransitioning) {\n if (shouldDelayProgress.current) {\n delayTimerID = setTimeout(() => {\n setProgressToShow(transitionProgress)\n shouldDelayProgress.current = false\n }, initialDelay)\n } else {\n setProgressToShow(transitionProgress)\n }\n } else {\n shouldDelayProgress.current = true\n\n // Fast forward to 100% when the transition is complete\n // Then fade out the progress bar directly after\n setProgressToShow(1)\n\n // Wait for CSS transition to finish before hiding the progress bar\n // This includes both the fast-forward to 100% and the subsequent fade-out\n clearTimerID = setTimeout(() => {\n setProgressToShow(null)\n }, transitionDuration * 2)\n }\n\n return () => {\n clearTimeout(clearTimerID)\n clearTimeout(delayTimerID)\n }\n }, [isTransitioning, transitionProgress])\n\n if (typeof progressToShow === 'number') {\n return (\n <div\n className={[baseClass, progressToShow === 1 && `${baseClass}--fade-out`]\n .filter(Boolean)\n .join(' ')}\n style={{\n // @ts-expect-error - TS doesn't like custom CSS properties\n '--transition-duration': `${transitionDuration}ms`,\n }}\n >\n <div\n className={`${baseClass}__progress`}\n style={{\n width: `${(progressToShow || 0) * 100}%`,\n }}\n />\n </div>\n )\n }\n\n return null\n}\n"],"names":["React","useEffect","useRef","useRouteTransition","transitionDuration","baseClass","initialDelay","ProgressBar","isTransitioning","transitionProgress","progressToShow","setProgressToShow","useState","shouldDelayProgress","clearTimerID","delayTimerID","current","setTimeout","clearTimeout","div","className","filter","Boolean","join","style","width"],"mappings":"AAAA;;AACA,OAAOA,SAASC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAEhD,SAASC,kBAAkB,QAAQ,cAAa;AAChD,OAAO,eAAc;AAErB,MAAMC,qBAAqB;AAC3B,MAAMC,YAAY;AAClB,MAAMC,eAAe;AAErB;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC,cAAc;IACzB,MAAM,EAAEC,eAAe,EAAEC,kBAAkB,EAAE,GAAGN;IAChD,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGX,MAAMY,QAAQ,CAAgB;IAC1E,MAAMC,sBAAsBX,OAAO;IAEnCD,UAAU;QACR,IAAIa;QACJ,IAAIC;QAEJ,IAAIP,iBAAiB;YACnB,IAAIK,oBAAoBG,OAAO,EAAE;gBAC/BD,eAAeE,WAAW;oBACxBN,kBAAkBF;oBAClBI,oBAAoBG,OAAO,GAAG;gBAChC,GAAGV;YACL,OAAO;gBACLK,kBAAkBF;YACpB;QACF,OAAO;YACLI,oBAAoBG,OAAO,GAAG;YAE9B,uDAAuD;YACvD,gDAAgD;YAChDL,kBAAkB;YAElB,mEAAmE;YACnE,0EAA0E;YAC1EG,eAAeG,WAAW;gBACxBN,kBAAkB;YACpB,GAAGP,qBAAqB;QAC1B;QAEA,OAAO;YACLc,aAAaJ;YACbI,aAAaH;QACf;IACF,GAAG;QAACP;QAAiBC;KAAmB;IAExC,IAAI,OAAOC,mBAAmB,UAAU;QACtC,qBACE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/RouteTransition/ProgressBar/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef } from 'react'\n\nimport { useRouteTransition } from '../index.js'\nimport './index.scss'\n\nconst transitionDuration = 200\nconst baseClass = 'progress-bar'\nconst initialDelay = 150\n\n/**\n * Renders a progress bar that shows the progress of a route transition.\n * Place this at the root of your application, inside of the `RouteTransitionProvider`.\n * When a transition is triggered, the progress bar will show the progress of that transition and exit when the transition is complete.\n * @returns A progress bar that shows the progress of a route transition\n * @example\n * import { RouteTransitionProvider, ProgressBar, Link } from '@payloadcms/ui'\n * const App = () => (\n * <RouteTransitionProvider>\n * <ProgressBar />\n * <Link href=\"/somewhere\">Go Somewhere</Link>\n * </RouteTransitionProvider>\n */\nexport const ProgressBar = () => {\n const { isTransitioning, transitionProgress } = useRouteTransition()\n const [progressToShow, setProgressToShow] = React.useState<null | number>(null)\n const shouldDelayProgress = useRef(true)\n\n useEffect(() => {\n let clearTimerID: NodeJS.Timeout\n let delayTimerID: NodeJS.Timeout\n\n if (isTransitioning) {\n if (shouldDelayProgress.current) {\n delayTimerID = setTimeout(() => {\n setProgressToShow(transitionProgress)\n shouldDelayProgress.current = false\n }, initialDelay)\n } else {\n setProgressToShow(transitionProgress)\n }\n } else {\n shouldDelayProgress.current = true\n\n // Fast forward to 100% when the transition is complete\n // Then fade out the progress bar directly after\n setProgressToShow(1)\n\n // Wait for CSS transition to finish before hiding the progress bar\n // This includes both the fast-forward to 100% and the subsequent fade-out\n clearTimerID = setTimeout(() => {\n setProgressToShow(null)\n }, transitionDuration * 2)\n }\n\n return () => {\n clearTimeout(clearTimerID)\n clearTimeout(delayTimerID)\n }\n }, [isTransitioning, transitionProgress])\n\n if (typeof progressToShow === 'number') {\n return (\n <div\n className={[baseClass, progressToShow === 1 && `${baseClass}--fade-out`]\n .filter(Boolean)\n .join(' ')}\n style={{\n // @ts-expect-error - TS doesn't like custom CSS properties\n '--transition-duration': `${transitionDuration}ms`,\n }}\n >\n <div\n className={`${baseClass}__progress`}\n style={{\n width: `${(progressToShow || 0) * 100}%`,\n }}\n />\n </div>\n )\n }\n\n return null\n}\n"],"names":["React","useEffect","useRef","useRouteTransition","transitionDuration","baseClass","initialDelay","ProgressBar","isTransitioning","transitionProgress","progressToShow","setProgressToShow","useState","shouldDelayProgress","clearTimerID","delayTimerID","current","setTimeout","clearTimeout","div","className","filter","Boolean","join","style","width"],"mappings":"AAAA;;AACA,OAAOA,SAASC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAEhD,SAASC,kBAAkB,QAAQ,cAAa;AAChD,OAAO,eAAc;AAErB,MAAMC,qBAAqB;AAC3B,MAAMC,YAAY;AAClB,MAAMC,eAAe;AAErB;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC,cAAc;IACzB,MAAM,EAAEC,eAAe,EAAEC,kBAAkB,EAAE,GAAGN;IAChD,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGX,MAAMY,QAAQ,CAAgB;IAC1E,MAAMC,sBAAsBX,OAAO;IAEnCD,UAAU;QACR,IAAIa;QACJ,IAAIC;QAEJ,IAAIP,iBAAiB;YACnB,IAAIK,oBAAoBG,OAAO,EAAE;gBAC/BD,eAAeE,WAAW;oBACxBN,kBAAkBF;oBAClBI,oBAAoBG,OAAO,GAAG;gBAChC,GAAGV;YACL,OAAO;gBACLK,kBAAkBF;YACpB;QACF,OAAO;YACLI,oBAAoBG,OAAO,GAAG;YAE9B,uDAAuD;YACvD,gDAAgD;YAChDL,kBAAkB;YAElB,mEAAmE;YACnE,0EAA0E;YAC1EG,eAAeG,WAAW;gBACxBN,kBAAkB;YACpB,GAAGP,qBAAqB;QAC1B;QAEA,OAAO;YACLc,aAAaJ;YACbI,aAAaH;QACf;IACF,GAAG;QAACP;QAAiBC;KAAmB;IAExC,IAAI,OAAOC,mBAAmB,UAAU;QACtC,qBACE,QAACS;YACCC,WAAW;gBAACf;gBAAWK,mBAAmB,KAAK,GAAGL,UAAU,UAAU,CAAC;aAAC,CACrEgB,MAAM,CAACC,SACPC,IAAI,CAAC;YACRC,OAAO;gBACL,2DAA2D;gBAC3D,yBAAyB,GAAGpB,mBAAmB,EAAE,CAAC;YACpD;sBAEA,cAAA,QAACe;gBACCC,WAAW,GAAGf,UAAU,UAAU,CAAC;gBACnCmB,OAAO;oBACLC,OAAO,GAAG,AAACf,CAAAA,kBAAkB,CAAA,IAAK,IAAI,CAAC,CAAC;gBAC1C;;;;;;;;;;;IAIR;IAEA,OAAO;AACT,EAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react';
|
|
4
4
|
/**
|
|
5
5
|
* Route transitions are useful in showing immediate visual feedback to the user when navigating between pages. This is especially useful on slow networks when navigating to data heavy or process intensive pages.
|
|
@@ -27,18 +27,18 @@ import React, { startTransition, useCallback, useEffect, useOptimistic, useRef }
|
|
|
27
27
|
// cap the progress to ensure it never fully reaches completion
|
|
28
28
|
// accelerate quickly then decelerate slowly
|
|
29
29
|
const maxProgress = 0.93;
|
|
30
|
-
const jumpFactor = 0.2
|
|
31
|
-
|
|
32
|
-
const growthFactor = 0.75
|
|
33
|
-
|
|
34
|
-
const slowdownFactor = 0.75
|
|
35
|
-
|
|
30
|
+
const jumpFactor = 0.2;
|
|
31
|
+
// lower to reduce jumps in progress
|
|
32
|
+
const growthFactor = 0.75;
|
|
33
|
+
// adjust to control acceleration
|
|
34
|
+
const slowdownFactor = 0.75;
|
|
35
|
+
// adjust to control deceleration
|
|
36
36
|
const newProgress = transitionProgressRef.current + (maxProgress - transitionProgressRef.current) * Math.random() * jumpFactor * Math.pow(Math.log(1 + (1 - transitionProgressRef.current) * growthFactor), slowdownFactor);
|
|
37
37
|
setTransitionProgress(newProgress);
|
|
38
38
|
transitionProgressRef.current = newProgress;
|
|
39
|
-
}, 250)
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
}, 250);
|
|
40
|
+
}, // every n ms, update progress
|
|
41
|
+
[]);
|
|
42
42
|
useEffect(()=>{
|
|
43
43
|
setTransitionProgress(0);
|
|
44
44
|
transitionProgressRef.current = 0;
|
|
@@ -63,14 +63,18 @@ import React, { startTransition, useCallback, useEffect, useOptimistic, useRef }
|
|
|
63
63
|
}, [
|
|
64
64
|
setIsTransitioning
|
|
65
65
|
]);
|
|
66
|
-
return /*#__PURE__*/
|
|
66
|
+
return /*#__PURE__*/ _jsxDEV(RouteTransitionContext, {
|
|
67
67
|
value: {
|
|
68
68
|
isTransitioning,
|
|
69
69
|
startRouteTransition,
|
|
70
70
|
transitionProgress
|
|
71
71
|
},
|
|
72
72
|
children: children
|
|
73
|
-
}
|
|
73
|
+
}, void 0, false, {
|
|
74
|
+
fileName: "src/providers/RouteTransition/index.tsx",
|
|
75
|
+
lineNumber: 77,
|
|
76
|
+
columnNumber: 5
|
|
77
|
+
}, this);
|
|
74
78
|
};
|
|
75
79
|
const RouteTransitionContext = /*#__PURE__*/ React.createContext({
|
|
76
80
|
isTransitioning: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/RouteTransition/index.tsx"],"sourcesContent":["'use client'\nimport React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react'\n\n/**\n * Route transitions are useful in showing immediate visual feedback to the user when navigating between pages. This is especially useful on slow networks when navigating to data heavy or process intensive pages.\n * To use route transitions, place the `RouteTransitionProvider` at the root of your application, outside of the `ProgressBar` component.\n * To trigger a route transition, use the `Link` component from `@payloadcms/ui`,\n * or wrap a callback function with the `startRouteTransition` method.\n * To gain access to the `RouteTransitionContext`, call the `useRouteTransition` hook in your component.\n * @returns A context provider with methods and state for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * import { RouteTransitionProvider, ProgressBar, Link } from '@payloadcms/ui'\n * const App = () => (\n * <RouteTransitionProvider>\n * <ProgressBar />\n * <Link href=\"/somewhere\">Go Somewhere</Link>\n * </RouteTransitionProvider>\n * )\n */\nexport const RouteTransitionProvider: React.FC<RouteTransitionProps> = ({ children }) => {\n const [isTransitioning, setIsTransitioning] = useOptimistic(false)\n const [transitionProgress, setTransitionProgress] = React.useState<number>(0)\n\n const transitionProgressRef = useRef(transitionProgress)\n\n const timerID = useRef(null)\n\n const initiateProgress = useCallback(() => {\n timerID.current = setInterval(() => {\n // randomly update progress using an exponential curve\n // cap the progress to ensure it never fully reaches completion\n // accelerate quickly then decelerate slowly\n const maxProgress = 0.93\n const jumpFactor = 0.2 // lower to reduce jumps in progress\n const growthFactor = 0.75 // adjust to control acceleration\n const slowdownFactor = 0.75 // adjust to control deceleration\n\n const newProgress =\n transitionProgressRef.current +\n (maxProgress - transitionProgressRef.current) *\n Math.random() *\n jumpFactor *\n Math.pow(Math.log(1 + (1 - transitionProgressRef.current) * growthFactor), slowdownFactor)\n\n setTransitionProgress(newProgress)\n transitionProgressRef.current = newProgress\n }, 250) // every n ms, update progress\n }, [])\n\n useEffect(() => {\n setTransitionProgress(0)\n transitionProgressRef.current = 0\n\n if (isTransitioning) {\n initiateProgress()\n } else {\n if (timerID.current) {\n clearInterval(timerID.current)\n }\n }\n }, [isTransitioning, initiateProgress])\n\n const startRouteTransition: StartRouteTransition = useCallback(\n (callback?: () => void) => {\n startTransition(() => {\n setIsTransitioning(true)\n\n if (typeof callback === 'function') {\n callback()\n }\n })\n },\n [setIsTransitioning],\n )\n\n return (\n <RouteTransitionContext value={{ isTransitioning, startRouteTransition, transitionProgress }}>\n {children}\n </RouteTransitionContext>\n )\n}\n\ntype RouteTransitionProps = {\n children: React.ReactNode\n}\n\ntype StartRouteTransition = (callback?: () => void) => void\n\ntype RouteTransitionContextValue = {\n isTransitioning: boolean\n startRouteTransition: StartRouteTransition\n transitionProgress: number\n}\n\nconst RouteTransitionContext = React.createContext<RouteTransitionContextValue>({\n isTransitioning: false,\n startRouteTransition: () => undefined,\n transitionProgress: 0,\n})\n\n/**\n * Use this hook to access the `RouteTransitionContext` provided by the `RouteTransitionProvider`.\n * To start a transition, fire the `startRouteTransition` method with a provided callback to run while the transition takes place.\n * @returns The `RouteTransitionContext` needed for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * 'use client'\n * import React, { useCallback } from 'react'\n * import { useTransition } from '@payloadcms/ui'\n * import { useRouter } from 'next/navigation'\n *\n * const MyComponent: React.FC = () => {\n * const router = useRouter()\n * const { startRouteTransition } = useRouteTransition()\n *\n * const redirectSomewhere = useCallback(() => {\n * startRouteTransition(() => router.push('/somewhere'))\n * }, [startRouteTransition, router])\n *\n * // ...\n * }\n */\nexport const useRouteTransition = () => React.use(RouteTransitionContext)\n"],"names":["React","startTransition","useCallback","useEffect","useOptimistic","useRef","RouteTransitionProvider","children","isTransitioning","setIsTransitioning","transitionProgress","setTransitionProgress","useState","transitionProgressRef","timerID","initiateProgress","current","setInterval","maxProgress","jumpFactor","growthFactor","slowdownFactor","newProgress","Math","random","pow","log","clearInterval","startRouteTransition","callback","RouteTransitionContext","value","createContext","undefined","useRouteTransition","use"],"mappings":"AAAA;;AACA,OAAOA,SAASC,eAAe,EAAEC,WAAW,EAAEC,SAAS,EAAEC,aAAa,EAAEC,MAAM,QAAQ,QAAO;AAE7F;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMC,0BAA0D,CAAC,EAAEC,QAAQ,EAAE;IAClF,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGL,cAAc;IAC5D,MAAM,CAACM,oBAAoBC,sBAAsB,GAAGX,MAAMY,QAAQ,CAAS;IAE3E,MAAMC,wBAAwBR,OAAOK;IAErC,MAAMI,UAAUT,OAAO;IAEvB,MAAMU,mBAAmBb,YAAY;QACnCY,QAAQE,OAAO,GAAGC,YAAY;YAC5B,sDAAsD;YACtD,+DAA+D;YAC/D,4CAA4C;YAC5C,MAAMC,cAAc;YACpB,MAAMC,aAAa,
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/RouteTransition/index.tsx"],"sourcesContent":["'use client'\nimport React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react'\n\n/**\n * Route transitions are useful in showing immediate visual feedback to the user when navigating between pages. This is especially useful on slow networks when navigating to data heavy or process intensive pages.\n * To use route transitions, place the `RouteTransitionProvider` at the root of your application, outside of the `ProgressBar` component.\n * To trigger a route transition, use the `Link` component from `@payloadcms/ui`,\n * or wrap a callback function with the `startRouteTransition` method.\n * To gain access to the `RouteTransitionContext`, call the `useRouteTransition` hook in your component.\n * @returns A context provider with methods and state for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * import { RouteTransitionProvider, ProgressBar, Link } from '@payloadcms/ui'\n * const App = () => (\n * <RouteTransitionProvider>\n * <ProgressBar />\n * <Link href=\"/somewhere\">Go Somewhere</Link>\n * </RouteTransitionProvider>\n * )\n */\nexport const RouteTransitionProvider: React.FC<RouteTransitionProps> = ({ children }) => {\n const [isTransitioning, setIsTransitioning] = useOptimistic(false)\n const [transitionProgress, setTransitionProgress] = React.useState<number>(0)\n\n const transitionProgressRef = useRef(transitionProgress)\n\n const timerID = useRef(null)\n\n const initiateProgress = useCallback(() => {\n timerID.current = setInterval(() => {\n // randomly update progress using an exponential curve\n // cap the progress to ensure it never fully reaches completion\n // accelerate quickly then decelerate slowly\n const maxProgress = 0.93\n const jumpFactor = 0.2 // lower to reduce jumps in progress\n const growthFactor = 0.75 // adjust to control acceleration\n const slowdownFactor = 0.75 // adjust to control deceleration\n\n const newProgress =\n transitionProgressRef.current +\n (maxProgress - transitionProgressRef.current) *\n Math.random() *\n jumpFactor *\n Math.pow(Math.log(1 + (1 - transitionProgressRef.current) * growthFactor), slowdownFactor)\n\n setTransitionProgress(newProgress)\n transitionProgressRef.current = newProgress\n }, 250) // every n ms, update progress\n }, [])\n\n useEffect(() => {\n setTransitionProgress(0)\n transitionProgressRef.current = 0\n\n if (isTransitioning) {\n initiateProgress()\n } else {\n if (timerID.current) {\n clearInterval(timerID.current)\n }\n }\n }, [isTransitioning, initiateProgress])\n\n const startRouteTransition: StartRouteTransition = useCallback(\n (callback?: () => void) => {\n startTransition(() => {\n setIsTransitioning(true)\n\n if (typeof callback === 'function') {\n callback()\n }\n })\n },\n [setIsTransitioning],\n )\n\n return (\n <RouteTransitionContext value={{ isTransitioning, startRouteTransition, transitionProgress }}>\n {children}\n </RouteTransitionContext>\n )\n}\n\ntype RouteTransitionProps = {\n children: React.ReactNode\n}\n\ntype StartRouteTransition = (callback?: () => void) => void\n\ntype RouteTransitionContextValue = {\n isTransitioning: boolean\n startRouteTransition: StartRouteTransition\n transitionProgress: number\n}\n\nconst RouteTransitionContext = React.createContext<RouteTransitionContextValue>({\n isTransitioning: false,\n startRouteTransition: () => undefined,\n transitionProgress: 0,\n})\n\n/**\n * Use this hook to access the `RouteTransitionContext` provided by the `RouteTransitionProvider`.\n * To start a transition, fire the `startRouteTransition` method with a provided callback to run while the transition takes place.\n * @returns The `RouteTransitionContext` needed for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * 'use client'\n * import React, { useCallback } from 'react'\n * import { useTransition } from '@payloadcms/ui'\n * import { useRouter } from 'next/navigation'\n *\n * const MyComponent: React.FC = () => {\n * const router = useRouter()\n * const { startRouteTransition } = useRouteTransition()\n *\n * const redirectSomewhere = useCallback(() => {\n * startRouteTransition(() => router.push('/somewhere'))\n * }, [startRouteTransition, router])\n *\n * // ...\n * }\n */\nexport const useRouteTransition = () => React.use(RouteTransitionContext)\n"],"names":["React","startTransition","useCallback","useEffect","useOptimistic","useRef","RouteTransitionProvider","children","isTransitioning","setIsTransitioning","transitionProgress","setTransitionProgress","useState","transitionProgressRef","timerID","initiateProgress","current","setInterval","maxProgress","jumpFactor","growthFactor","slowdownFactor","newProgress","Math","random","pow","log","clearInterval","startRouteTransition","callback","RouteTransitionContext","value","createContext","undefined","useRouteTransition","use"],"mappings":"AAAA;;AACA,OAAOA,SAASC,eAAe,EAAEC,WAAW,EAAEC,SAAS,EAAEC,aAAa,EAAEC,MAAM,QAAQ,QAAO;AAE7F;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMC,0BAA0D,CAAC,EAAEC,QAAQ,EAAE;IAClF,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGL,cAAc;IAC5D,MAAM,CAACM,oBAAoBC,sBAAsB,GAAGX,MAAMY,QAAQ,CAAS;IAE3E,MAAMC,wBAAwBR,OAAOK;IAErC,MAAMI,UAAUT,OAAO;IAEvB,MAAMU,mBAAmBb,YAAY;QACnCY,QAAQE,OAAO,GAAGC,YAAY;YAC5B,sDAAsD;YACtD,+DAA+D;YAC/D,4CAA4C;YAC5C,MAAMC,cAAc;YACpB,MAAMC,aAAa;YAAI,oCAAoC;YAC3D,MAAMC,eAAe;YAAK,iCAAiC;YAC3D,MAAMC,iBAAiB;YAAK,iCAAiC;YAE7D,MAAMC,cACJT,sBAAsBG,OAAO,GAC7B,AAACE,CAAAA,cAAcL,sBAAsBG,OAAO,AAAD,IACzCO,KAAKC,MAAM,KACXL,aACAI,KAAKE,GAAG,CAACF,KAAKG,GAAG,CAAC,IAAI,AAAC,CAAA,IAAIb,sBAAsBG,OAAO,AAAD,IAAKI,eAAeC;YAE/EV,sBAAsBW;YACtBT,sBAAsBG,OAAO,GAAGM;QAClC,GAAG;IACL,GADU,8BAA8B;IACrC,EAAE;IAELnB,UAAU;QACRQ,sBAAsB;QACtBE,sBAAsBG,OAAO,GAAG;QAEhC,IAAIR,iBAAiB;YACnBO;QACF,OAAO;YACL,IAAID,QAAQE,OAAO,EAAE;gBACnBW,cAAcb,QAAQE,OAAO;YAC/B;QACF;IACF,GAAG;QAACR;QAAiBO;KAAiB;IAEtC,MAAMa,uBAA6C1B,YACjD,CAAC2B;QACC5B,gBAAgB;YACdQ,mBAAmB;YAEnB,IAAI,OAAOoB,aAAa,YAAY;gBAClCA;YACF;QACF;IACF,GACA;QAACpB;KAAmB;IAGtB,qBACE,QAACqB;QAAuBC,OAAO;YAAEvB;YAAiBoB;YAAsBlB;QAAmB;kBACxFH;;;;;;AAGP,EAAC;AAcD,MAAMuB,uCAAyB9B,MAAMgC,aAAa,CAA8B;IAC9ExB,iBAAiB;IACjBoB,sBAAsB,IAAMK;IAC5BvB,oBAAoB;AACtB;AAEA;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,MAAMwB,qBAAqB,IAAMlC,MAAMmC,GAAG,CAACL,wBAAuB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import { useSearchParams as useNextSearchParams } from 'next/navigation.js';
|
|
4
4
|
import * as qs from 'qs-esm';
|
|
5
5
|
import React, { createContext, use } from 'react';
|
|
@@ -34,13 +34,17 @@ const Context = /*#__PURE__*/ createContext(initialContext);
|
|
|
34
34
|
}, [
|
|
35
35
|
searchParams
|
|
36
36
|
]);
|
|
37
|
-
return /*#__PURE__*/
|
|
37
|
+
return /*#__PURE__*/ _jsxDEV(Context, {
|
|
38
38
|
value: {
|
|
39
39
|
searchParams,
|
|
40
40
|
stringifyParams
|
|
41
41
|
},
|
|
42
42
|
children: children
|
|
43
|
-
}
|
|
43
|
+
}, void 0, false, {
|
|
44
|
+
fileName: "src/providers/SearchParams/index.tsx",
|
|
45
|
+
lineNumber: 53,
|
|
46
|
+
columnNumber: 10
|
|
47
|
+
}, this);
|
|
44
48
|
};
|
|
45
49
|
/**
|
|
46
50
|
* @deprecated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/SearchParams/index.tsx"],"sourcesContent":["'use client'\n\nimport { useSearchParams as useNextSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use } from 'react'\n\nexport type SearchParamsContext = {\n searchParams: qs.ParsedQs\n stringifyParams: ({ params, replace }: { params: qs.ParsedQs; replace?: boolean }) => string\n}\n\nconst initialContext: SearchParamsContext = {\n searchParams: {},\n stringifyParams: () => '',\n}\n\nconst Context = createContext(initialContext)\n\n/**\n * @deprecated\n * The SearchParamsProvider is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useSearchParams } from 'next/navigation'\n * ```\n */\nexport const SearchParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const nextSearchParams = useNextSearchParams()\n const searchString = nextSearchParams.toString()\n\n const searchParams = React.useMemo(\n () =>\n qs.parse(searchString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n [searchString],\n )\n\n const stringifyParams = React.useCallback(\n ({ params, replace = false }: { params: qs.ParsedQs; replace?: boolean }) => {\n return qs.stringify(\n {\n ...(replace ? {} : searchParams),\n ...params,\n },\n { addQueryPrefix: true },\n )\n },\n [searchParams],\n )\n\n return <Context value={{ searchParams, stringifyParams }}>{children}</Context>\n}\n\n/**\n * @deprecated\n * The `useSearchParams` hook is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useSearchParams } from 'next/navigation'\n * ```\n * If you need to parse the `where` query, you can do so with the `parseSearchParams` utility.\n * ```tsx\n * import { parseSearchParams } from '@payloadcms/ui'\n * const parsedSearchParams = parseSearchParams(searchParams)\n * ```\n */\nexport const useSearchParams = (): SearchParamsContext => use(Context)\n"],"names":["useSearchParams","useNextSearchParams","qs","React","createContext","use","initialContext","searchParams","stringifyParams","Context","SearchParamsProvider","children","nextSearchParams","searchString","toString","useMemo","parse","depth","ignoreQueryPrefix","useCallback","params","replace","stringify","addQueryPrefix","value"],"mappings":"AAAA;;AAEA,SAASA,mBAAmBC,mBAAmB,QAAQ,qBAAoB;AAC3E,YAAYC,QAAQ,SAAQ;AAC5B,OAAOC,SAASC,aAAa,EAAEC,GAAG,QAAQ,QAAO;AAOjD,MAAMC,iBAAsC;IAC1CC,cAAc,CAAC;IACfC,iBAAiB,IAAM;AACzB;AAEA,MAAMC,wBAAUL,cAAcE;AAE9B;;;;;;;CAOC,GACD,OAAO,MAAMI,uBAAiE,CAAC,EAAEC,QAAQ,EAAE;IACzF,MAAMC,mBAAmBX;IACzB,MAAMY,eAAeD,iBAAiBE,QAAQ;IAE9C,MAAMP,eAAeJ,MAAMY,OAAO,CAChC,IACEb,GAAGc,KAAK,CAACH,cAAc;YACrBI,OAAO;YACPC,mBAAmB;QACrB,IACF;QAACL;KAAa;IAGhB,MAAML,kBAAkBL,MAAMgB,WAAW,CACvC,CAAC,EAAEC,MAAM,EAAEC,UAAU,KAAK,EAA8C;QACtE,OAAOnB,GAAGoB,SAAS,CACjB;YACE,GAAID,UAAU,CAAC,IAAId,YAAY;YAC/B,GAAGa,MAAM;QACX,GACA;YAAEG,gBAAgB;QAAK;IAE3B,GACA;QAAChB;KAAa;IAGhB,qBAAO,
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/SearchParams/index.tsx"],"sourcesContent":["'use client'\n\nimport { useSearchParams as useNextSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use } from 'react'\n\nexport type SearchParamsContext = {\n searchParams: qs.ParsedQs\n stringifyParams: ({ params, replace }: { params: qs.ParsedQs; replace?: boolean }) => string\n}\n\nconst initialContext: SearchParamsContext = {\n searchParams: {},\n stringifyParams: () => '',\n}\n\nconst Context = createContext(initialContext)\n\n/**\n * @deprecated\n * The SearchParamsProvider is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useSearchParams } from 'next/navigation'\n * ```\n */\nexport const SearchParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const nextSearchParams = useNextSearchParams()\n const searchString = nextSearchParams.toString()\n\n const searchParams = React.useMemo(\n () =>\n qs.parse(searchString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n [searchString],\n )\n\n const stringifyParams = React.useCallback(\n ({ params, replace = false }: { params: qs.ParsedQs; replace?: boolean }) => {\n return qs.stringify(\n {\n ...(replace ? {} : searchParams),\n ...params,\n },\n { addQueryPrefix: true },\n )\n },\n [searchParams],\n )\n\n return <Context value={{ searchParams, stringifyParams }}>{children}</Context>\n}\n\n/**\n * @deprecated\n * The `useSearchParams` hook is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useSearchParams } from 'next/navigation'\n * ```\n * If you need to parse the `where` query, you can do so with the `parseSearchParams` utility.\n * ```tsx\n * import { parseSearchParams } from '@payloadcms/ui'\n * const parsedSearchParams = parseSearchParams(searchParams)\n * ```\n */\nexport const useSearchParams = (): SearchParamsContext => use(Context)\n"],"names":["useSearchParams","useNextSearchParams","qs","React","createContext","use","initialContext","searchParams","stringifyParams","Context","SearchParamsProvider","children","nextSearchParams","searchString","toString","useMemo","parse","depth","ignoreQueryPrefix","useCallback","params","replace","stringify","addQueryPrefix","value"],"mappings":"AAAA;;AAEA,SAASA,mBAAmBC,mBAAmB,QAAQ,qBAAoB;AAC3E,YAAYC,QAAQ,SAAQ;AAC5B,OAAOC,SAASC,aAAa,EAAEC,GAAG,QAAQ,QAAO;AAOjD,MAAMC,iBAAsC;IAC1CC,cAAc,CAAC;IACfC,iBAAiB,IAAM;AACzB;AAEA,MAAMC,wBAAUL,cAAcE;AAE9B;;;;;;;CAOC,GACD,OAAO,MAAMI,uBAAiE,CAAC,EAAEC,QAAQ,EAAE;IACzF,MAAMC,mBAAmBX;IACzB,MAAMY,eAAeD,iBAAiBE,QAAQ;IAE9C,MAAMP,eAAeJ,MAAMY,OAAO,CAChC,IACEb,GAAGc,KAAK,CAACH,cAAc;YACrBI,OAAO;YACPC,mBAAmB;QACrB,IACF;QAACL;KAAa;IAGhB,MAAML,kBAAkBL,MAAMgB,WAAW,CACvC,CAAC,EAAEC,MAAM,EAAEC,UAAU,KAAK,EAA8C;QACtE,OAAOnB,GAAGoB,SAAS,CACjB;YACE,GAAID,UAAU,CAAC,IAAId,YAAY;YAC/B,GAAGa,MAAM;QACX,GACA;YAAEG,gBAAgB;QAAK;IAE3B,GACA;QAAChB;KAAa;IAGhB,qBAAO,QAACE;QAAQe,OAAO;YAAEjB;YAAcC;QAAgB;kBAAIG;;;;;;AAC7D,EAAC;AAED;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMX,kBAAkB,IAA2BK,IAAII,SAAQ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import { useSearchParams } from 'next/navigation.js';
|
|
4
4
|
import * as qs from 'qs-esm';
|
|
5
5
|
import React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
@@ -14,7 +14,10 @@ export var SelectAllStatus = /*#__PURE__*/ function(SelectAllStatus) {
|
|
|
14
14
|
SelectAllStatus["Some"] = "some";
|
|
15
15
|
return SelectAllStatus;
|
|
16
16
|
}({});
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Selects all rows on the current page within the current query.
|
|
19
|
+
* If `allAvailable` is true, does not select specific IDs so that the query itself affects all rows across all pages.
|
|
20
|
+
*/ const Context = /*#__PURE__*/ createContext({
|
|
18
21
|
count: undefined,
|
|
19
22
|
getQueryParams: (additionalParams)=>'',
|
|
20
23
|
getSelectedIds: ()=>[],
|
|
@@ -25,6 +28,7 @@ const Context = /*#__PURE__*/ createContext({
|
|
|
25
28
|
toggleAll: (toggleAll)=>{},
|
|
26
29
|
totalDocs: undefined
|
|
27
30
|
});
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
32
|
const reduceActiveSelections = (selected)=>{
|
|
29
33
|
const ids = [];
|
|
30
34
|
for (const [key, value] of selected){
|
|
@@ -77,8 +81,9 @@ export const SelectionProvider = ({ children, docs = [], totalDocs })=>{
|
|
|
77
81
|
const setSelection = useCallback((id)=>{
|
|
78
82
|
const doc = docs.find((doc)=>doc.id === id);
|
|
79
83
|
if (doc?._isLocked && user?.id !== doc?._userEditing.id) {
|
|
80
|
-
return;
|
|
84
|
+
return;
|
|
81
85
|
}
|
|
86
|
+
// Prevent selection if the document is locked
|
|
82
87
|
const existingValue = selected.get(id);
|
|
83
88
|
const isSelected = typeof existingValue === 'boolean' ? !existingValue : true;
|
|
84
89
|
const newMap = new Map(selected.set(id, isSelected));
|
|
@@ -205,10 +210,14 @@ export const SelectionProvider = ({ children, docs = [], totalDocs })=>{
|
|
|
205
210
|
toggleAll,
|
|
206
211
|
totalDocs
|
|
207
212
|
};
|
|
208
|
-
return /*#__PURE__*/
|
|
213
|
+
return /*#__PURE__*/ _jsxDEV(Context, {
|
|
209
214
|
value: contextRef.current,
|
|
210
215
|
children: children
|
|
211
|
-
}
|
|
216
|
+
}, void 0, false, {
|
|
217
|
+
fileName: "src/providers/Selection/index.tsx",
|
|
218
|
+
lineNumber: 251,
|
|
219
|
+
columnNumber: 10
|
|
220
|
+
}, this);
|
|
212
221
|
};
|
|
213
222
|
export const useSelection = ()=>use(Context);
|
|
214
223
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useListQuery } from '../ListQuery/index.js'\nimport { useLocale } from '../Locale/index.js'\n\nexport enum SelectAllStatus {\n AllAvailable = 'allAvailable',\n AllInPage = 'allInPage',\n None = 'none',\n Some = 'some',\n}\n\ntype SelectionContext = {\n count: number\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n getQueryParams: (additionalParams?: Where) => string\n getSelectedIds: () => (number | string)[]\n selectAll: SelectAllStatus\n selected: Map<number | string, boolean>\n selectedIDs: (number | string)[]\n setSelection: (id: number | string) => void\n /**\n * Selects all rows on the current page within the current query.\n * If `allAvailable` is true, does not select specific IDs so that the query itself affects all rows across all pages.\n */\n toggleAll: (allAvailable?: boolean) => void\n totalDocs: number\n}\n\nconst Context = createContext({\n count: undefined,\n getQueryParams: (additionalParams?: Where) => '',\n getSelectedIds: () => [],\n selectAll: undefined,\n selected: new Map(),\n selectedIDs: [],\n setSelection: (id: number | string) => {},\n toggleAll: (toggleAll: boolean) => {},\n totalDocs: undefined,\n} satisfies SelectionContext)\n\ntype Props = {\n readonly children: React.ReactNode\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly docs: any[]\n readonly totalDocs: number\n}\n\nconst reduceActiveSelections = (selected: Map<number | string, boolean>): (number | string)[] => {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n return ids\n}\n\nexport const SelectionProvider: React.FC<Props> = ({ children, docs = [], totalDocs }) => {\n const contextRef = useRef({} as SelectionContext)\n const { user } = useAuth()\n\n const { code: locale } = useLocale()\n\n const [selected, setSelected] = useState<SelectionContext['selected']>(() => {\n const rows = new Map()\n\n docs.forEach(({ id }) => {\n rows.set(id, false)\n })\n\n return rows\n })\n\n const [selectAll, setSelectAll] = useState<SelectAllStatus>(SelectAllStatus.None)\n const [count, setCount] = useState(0)\n const searchParams = useSearchParams()\n const { query } = useListQuery()\n\n const toggleAll: SelectionContext['toggleAll'] = useCallback(\n (allAvailable = false) => {\n const rows = new Map()\n if (allAvailable) {\n setSelectAll(SelectAllStatus.AllAvailable)\n\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, true)\n }\n })\n } else if (\n // Reset back to `None` if we previously had any type of selection\n selectAll === SelectAllStatus.AllAvailable ||\n selectAll === SelectAllStatus.AllInPage\n ) {\n setSelectAll(SelectAllStatus.None)\n } else {\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, selectAll !== SelectAllStatus.Some)\n }\n })\n }\n\n setSelected(rows)\n },\n [docs, selectAll, user?.id],\n )\n\n const setSelection: SelectionContext['setSelection'] = useCallback(\n (id) => {\n const doc = docs.find((doc) => doc.id === id)\n\n if (doc?._isLocked && user?.id !== doc?._userEditing.id) {\n return // Prevent selection if the document is locked\n }\n\n const existingValue = selected.get(id)\n const isSelected = typeof existingValue === 'boolean' ? !existingValue : true\n\n const newMap = new Map(selected.set(id, isSelected))\n\n // If previously selected all and now deselecting, adjust status\n if (selectAll === SelectAllStatus.AllAvailable && !isSelected) {\n setSelectAll(SelectAllStatus.Some)\n }\n\n setSelected(newMap)\n },\n [selected, docs, selectAll, user?.id],\n )\n\n const getQueryParams = useCallback(\n (additionalWhereParams?: Where): string => {\n let where: Where\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n const params = parseSearchParams(searchParams)?.where as Where\n\n where = params || {\n id: {\n not_equals: '',\n },\n }\n } else {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n where = {\n id: {\n in: ids,\n },\n }\n }\n\n if (additionalWhereParams) {\n where = {\n and: [{ ...additionalWhereParams }, where],\n }\n }\n\n return qs.stringify(\n {\n locale,\n where,\n },\n { addQueryPrefix: true },\n )\n },\n [selectAll, selected, locale, searchParams],\n )\n\n const getSelectedIds = useCallback(() => reduceActiveSelections(selected), [selected])\n\n useEffect(() => {\n if (selectAll === SelectAllStatus.AllAvailable) {\n return\n }\n let some = false\n let all = true\n\n if (!selected.size) {\n all = false\n some = false\n } else {\n for (const [_, value] of selected) {\n all = all && value\n some = some || value\n }\n }\n\n if (all && selected.size === docs.length) {\n setSelectAll(SelectAllStatus.AllInPage)\n } else if (some) {\n setSelectAll(SelectAllStatus.Some)\n } else {\n setSelectAll(SelectAllStatus.None)\n }\n }, [selectAll, selected, totalDocs, docs])\n\n useEffect(() => {\n let newCount = 0\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n newCount = totalDocs\n } else {\n for (const [_, value] of selected) {\n if (value) {\n newCount++\n }\n }\n }\n\n setCount(newCount)\n }, [selectAll, selected, totalDocs])\n\n useEffect(() => {\n setSelectAll(SelectAllStatus.None)\n setSelected(new Map())\n }, [query])\n\n const selectedIDs = useMemo(() => reduceActiveSelections(selected), [selected])\n\n contextRef.current = {\n count,\n getQueryParams,\n getSelectedIds,\n selectAll,\n selected,\n selectedIDs,\n setSelection,\n toggleAll,\n totalDocs,\n }\n\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const useSelection = (): SelectionContext => use(Context)\n"],"names":["useSearchParams","qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","parseSearchParams","useAuth","useListQuery","useLocale","SelectAllStatus","Context","count","undefined","getQueryParams","additionalParams","getSelectedIds","selectAll","selected","Map","selectedIDs","setSelection","id","toggleAll","totalDocs","reduceActiveSelections","ids","key","value","push","SelectionProvider","children","docs","contextRef","user","code","locale","setSelected","rows","forEach","set","setSelectAll","setCount","searchParams","query","allAvailable","_isLocked","_userEditing","doc","find","existingValue","get","isSelected","newMap","additionalWhereParams","where","params","not_equals","in","and","stringify","addQueryPrefix","some","all","size","_","length","newCount","current","useSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useListQuery } from '../ListQuery/index.js'\nimport { useLocale } from '../Locale/index.js'\n\nexport enum SelectAllStatus {\n AllAvailable = 'allAvailable',\n AllInPage = 'allInPage',\n None = 'none',\n Some = 'some',\n}\n\ntype SelectionContext = {\n count: number\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n getQueryParams: (additionalParams?: Where) => string\n getSelectedIds: () => (number | string)[]\n selectAll: SelectAllStatus\n selected: Map<number | string, boolean>\n selectedIDs: (number | string)[]\n setSelection: (id: number | string) => void\n /**\n * Selects all rows on the current page within the current query.\n * If `allAvailable` is true, does not select specific IDs so that the query itself affects all rows across all pages.\n */\n toggleAll: (allAvailable?: boolean) => void\n totalDocs: number\n}\n\nconst Context = createContext({\n count: undefined,\n getQueryParams: (additionalParams?: Where) => '',\n getSelectedIds: () => [],\n selectAll: undefined,\n selected: new Map(),\n selectedIDs: [],\n setSelection: (id: number | string) => {},\n toggleAll: (toggleAll: boolean) => {},\n totalDocs: undefined,\n} satisfies SelectionContext)\n\ntype Props = {\n readonly children: React.ReactNode\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly docs: any[]\n readonly totalDocs: number\n}\n\nconst reduceActiveSelections = (selected: Map<number | string, boolean>): (number | string)[] => {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n return ids\n}\n\nexport const SelectionProvider: React.FC<Props> = ({ children, docs = [], totalDocs }) => {\n const contextRef = useRef({} as SelectionContext)\n const { user } = useAuth()\n\n const { code: locale } = useLocale()\n\n const [selected, setSelected] = useState<SelectionContext['selected']>(() => {\n const rows = new Map()\n\n docs.forEach(({ id }) => {\n rows.set(id, false)\n })\n\n return rows\n })\n\n const [selectAll, setSelectAll] = useState<SelectAllStatus>(SelectAllStatus.None)\n const [count, setCount] = useState(0)\n const searchParams = useSearchParams()\n const { query } = useListQuery()\n\n const toggleAll: SelectionContext['toggleAll'] = useCallback(\n (allAvailable = false) => {\n const rows = new Map()\n if (allAvailable) {\n setSelectAll(SelectAllStatus.AllAvailable)\n\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, true)\n }\n })\n } else if (\n // Reset back to `None` if we previously had any type of selection\n selectAll === SelectAllStatus.AllAvailable ||\n selectAll === SelectAllStatus.AllInPage\n ) {\n setSelectAll(SelectAllStatus.None)\n } else {\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, selectAll !== SelectAllStatus.Some)\n }\n })\n }\n\n setSelected(rows)\n },\n [docs, selectAll, user?.id],\n )\n\n const setSelection: SelectionContext['setSelection'] = useCallback(\n (id) => {\n const doc = docs.find((doc) => doc.id === id)\n\n if (doc?._isLocked && user?.id !== doc?._userEditing.id) {\n return // Prevent selection if the document is locked\n }\n\n const existingValue = selected.get(id)\n const isSelected = typeof existingValue === 'boolean' ? !existingValue : true\n\n const newMap = new Map(selected.set(id, isSelected))\n\n // If previously selected all and now deselecting, adjust status\n if (selectAll === SelectAllStatus.AllAvailable && !isSelected) {\n setSelectAll(SelectAllStatus.Some)\n }\n\n setSelected(newMap)\n },\n [selected, docs, selectAll, user?.id],\n )\n\n const getQueryParams = useCallback(\n (additionalWhereParams?: Where): string => {\n let where: Where\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n const params = parseSearchParams(searchParams)?.where as Where\n\n where = params || {\n id: {\n not_equals: '',\n },\n }\n } else {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n where = {\n id: {\n in: ids,\n },\n }\n }\n\n if (additionalWhereParams) {\n where = {\n and: [{ ...additionalWhereParams }, where],\n }\n }\n\n return qs.stringify(\n {\n locale,\n where,\n },\n { addQueryPrefix: true },\n )\n },\n [selectAll, selected, locale, searchParams],\n )\n\n const getSelectedIds = useCallback(() => reduceActiveSelections(selected), [selected])\n\n useEffect(() => {\n if (selectAll === SelectAllStatus.AllAvailable) {\n return\n }\n let some = false\n let all = true\n\n if (!selected.size) {\n all = false\n some = false\n } else {\n for (const [_, value] of selected) {\n all = all && value\n some = some || value\n }\n }\n\n if (all && selected.size === docs.length) {\n setSelectAll(SelectAllStatus.AllInPage)\n } else if (some) {\n setSelectAll(SelectAllStatus.Some)\n } else {\n setSelectAll(SelectAllStatus.None)\n }\n }, [selectAll, selected, totalDocs, docs])\n\n useEffect(() => {\n let newCount = 0\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n newCount = totalDocs\n } else {\n for (const [_, value] of selected) {\n if (value) {\n newCount++\n }\n }\n }\n\n setCount(newCount)\n }, [selectAll, selected, totalDocs])\n\n useEffect(() => {\n setSelectAll(SelectAllStatus.None)\n setSelected(new Map())\n }, [query])\n\n const selectedIDs = useMemo(() => reduceActiveSelections(selected), [selected])\n\n contextRef.current = {\n count,\n getQueryParams,\n getSelectedIds,\n selectAll,\n selected,\n selectedIDs,\n setSelection,\n toggleAll,\n totalDocs,\n }\n\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const useSelection = (): SelectionContext => use(Context)\n"],"names":["useSearchParams","qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","parseSearchParams","useAuth","useListQuery","useLocale","SelectAllStatus","Context","count","undefined","getQueryParams","additionalParams","getSelectedIds","selectAll","selected","Map","selectedIDs","setSelection","id","toggleAll","totalDocs","reduceActiveSelections","ids","key","value","push","SelectionProvider","children","docs","contextRef","user","code","locale","setSelected","rows","forEach","set","setSelectAll","setCount","searchParams","query","allAvailable","_isLocked","_userEditing","doc","find","existingValue","get","isSelected","newMap","additionalWhereParams","where","params","not_equals","in","and","stringify","addQueryPrefix","some","all","size","_","length","newCount","current","useSelection"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import React, { createContext, useCallback } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Properties specific to the versions view
|
|
5
|
+
*/ // No req or importMap - those are augmented by handleServerFunctions
|
|
3
6
|
export const ServerFunctionsContext = /*#__PURE__*/ createContext(undefined);
|
|
4
7
|
export const useServerFunctions = ()=>{
|
|
5
8
|
const context = React.use(ServerFunctionsContext);
|
|
@@ -34,9 +37,9 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
} catch (_err) {
|
|
37
|
-
console.error(_err)
|
|
38
|
-
;
|
|
40
|
+
console.error(_err);
|
|
39
41
|
}
|
|
42
|
+
// eslint-disable-line no-console
|
|
40
43
|
let error = `Error scheduling ${rest.type}`;
|
|
41
44
|
if (rest.doc) {
|
|
42
45
|
error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`;
|
|
@@ -64,9 +67,9 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
} catch (_err) {
|
|
67
|
-
console.error(_err)
|
|
68
|
-
;
|
|
70
|
+
console.error(_err);
|
|
69
71
|
}
|
|
72
|
+
// eslint-disable-line no-console
|
|
70
73
|
return {
|
|
71
74
|
state: null
|
|
72
75
|
};
|
|
@@ -90,11 +93,11 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
90
93
|
}
|
|
91
94
|
}
|
|
92
95
|
} catch (_err) {
|
|
93
|
-
console.error(_err)
|
|
94
|
-
;
|
|
96
|
+
console.error(_err);
|
|
95
97
|
}
|
|
98
|
+
}, // eslint-disable-line no-console
|
|
96
99
|
// return { state: args.formState }
|
|
97
|
-
|
|
100
|
+
[
|
|
98
101
|
serverFunction
|
|
99
102
|
]);
|
|
100
103
|
const renderDocument = useCallback(async (args)=>{
|
|
@@ -110,10 +113,10 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
110
113
|
// TODO: infer this type when `strictNullChecks` is enabled
|
|
111
114
|
return result;
|
|
112
115
|
} catch (_err) {
|
|
113
|
-
console.error(_err)
|
|
114
|
-
;
|
|
116
|
+
console.error(_err);
|
|
115
117
|
}
|
|
116
|
-
},
|
|
118
|
+
}, // eslint-disable-line no-console
|
|
119
|
+
[
|
|
117
120
|
serverFunction
|
|
118
121
|
]);
|
|
119
122
|
const copyDataFromLocale = useCallback(async (args)=>{
|
|
@@ -127,10 +130,10 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
127
130
|
return result;
|
|
128
131
|
}
|
|
129
132
|
} catch (_err) {
|
|
130
|
-
console.error(_err)
|
|
131
|
-
;
|
|
133
|
+
console.error(_err);
|
|
132
134
|
}
|
|
133
|
-
},
|
|
135
|
+
}, // eslint-disable-line no-console
|
|
136
|
+
[
|
|
134
137
|
serverFunction
|
|
135
138
|
]);
|
|
136
139
|
const getFolderResultsComponentAndData = useCallback(async (args)=>{
|
|
@@ -144,10 +147,10 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
144
147
|
return result;
|
|
145
148
|
}
|
|
146
149
|
} catch (_err) {
|
|
147
|
-
console.error(_err)
|
|
148
|
-
;
|
|
150
|
+
console.error(_err);
|
|
149
151
|
}
|
|
150
|
-
},
|
|
152
|
+
}, // eslint-disable-line no-console
|
|
153
|
+
[
|
|
151
154
|
serverFunction
|
|
152
155
|
]);
|
|
153
156
|
const _internal_renderField = useCallback(async (args)=>{
|
|
@@ -158,10 +161,10 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
158
161
|
});
|
|
159
162
|
return result;
|
|
160
163
|
} catch (_err) {
|
|
161
|
-
console.error(_err)
|
|
162
|
-
;
|
|
164
|
+
console.error(_err);
|
|
163
165
|
}
|
|
164
|
-
},
|
|
166
|
+
}, // eslint-disable-line no-console
|
|
167
|
+
[
|
|
165
168
|
serverFunction
|
|
166
169
|
]);
|
|
167
170
|
const slugify = useCallback(async (args)=>{
|
|
@@ -176,13 +179,13 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
176
179
|
// TODO: infer this type when `strictNullChecks` is enabled
|
|
177
180
|
return result;
|
|
178
181
|
} catch (_err) {
|
|
179
|
-
console.error(_err)
|
|
180
|
-
;
|
|
182
|
+
console.error(_err);
|
|
181
183
|
}
|
|
182
|
-
},
|
|
184
|
+
}, // eslint-disable-line no-console
|
|
185
|
+
[
|
|
183
186
|
serverFunction
|
|
184
187
|
]);
|
|
185
|
-
return /*#__PURE__*/
|
|
188
|
+
return /*#__PURE__*/ _jsxDEV(ServerFunctionsContext, {
|
|
186
189
|
value: {
|
|
187
190
|
_internal_renderField,
|
|
188
191
|
copyDataFromLocale,
|
|
@@ -196,7 +199,11 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
196
199
|
slugify
|
|
197
200
|
},
|
|
198
201
|
children: children
|
|
199
|
-
}
|
|
202
|
+
}, void 0, false, {
|
|
203
|
+
fileName: "src/providers/ServerFunctions/index.tsx",
|
|
204
|
+
lineNumber: 332,
|
|
205
|
+
columnNumber: 5
|
|
206
|
+
}, this);
|
|
200
207
|
};
|
|
201
208
|
|
|
202
209
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n AdminViewServerPropsOnly,\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentPreferences,\n DocumentSlots,\n FormState,\n GetFolderResultsComponentAndDataArgs,\n Locale,\n Params,\n RenderDocumentVersionsProperties,\n ServerFunction,\n ServerFunctionClient,\n SlugifyServerFunctionArgs,\n} from 'payload'\nimport type { Slugify } from 'payload/shared'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type {\n RenderFieldServerFnArgs,\n RenderFieldServerFnReturnType,\n} from '../../forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js'\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\nimport type { getFolderResultsComponentAndDataHandler } from '../../utilities/getFolderResultsComponentAndData.js'\nimport type {\n schedulePublishHandler,\n SchedulePublishHandlerArgs,\n} from '../../utilities/schedulePublishHandler.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype SchedulePublishClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof schedulePublishHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\ntype SlugifyClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SlugifyServerFunctionArgs, 'clientConfig' | 'req'>,\n) => ReturnType<Slugify>\n\nexport type RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\ntype RenderDocumentBaseArgs = {\n collectionSlug: string\n disableActions?: boolean\n docID: number | string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n paramsOverride?: AdminViewServerPropsOnly['params']\n redirectAfterCreate?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n redirectAfterRestore?: boolean\n searchParams?: Params\n /**\n * Properties specific to the versions view\n */\n versions?: RenderDocumentVersionsProperties\n}\n\nexport type RenderDocumentServerFunction = ServerFunction<\n RenderDocumentBaseArgs,\n Promise<RenderDocumentResult>\n>\n\ntype RenderDocumentServerFunctionHookFn = (\n // No req or importMap - those are augmented by handleServerFunctions\n args: {\n signal?: AbortSignal\n } & RenderDocumentBaseArgs,\n) => Promise<RenderDocumentResult>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n id?: number | string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype GetFolderResultsComponentAndDataClient = (\n args: {\n signal?: AbortSignal\n } & Omit<GetFolderResultsComponentAndDataArgs, 'req'>,\n) => ReturnType<typeof getFolderResultsComponentAndDataHandler>\n\ntype RenderFieldClient = (args: RenderFieldServerFnArgs) => Promise<RenderFieldServerFnReturnType>\n\nexport type ServerFunctionsContextType = {\n _internal_renderField: RenderFieldClient\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFolderResultsComponentAndData: GetFolderResultsComponentAndDataClient\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocumentServerFunctionHookFn\n schedulePublish: SchedulePublishClient\n serverFunction: ServerFunctionClient\n slugify: SlugifyClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.use(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const schedulePublish = useCallback<SchedulePublishClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'schedule-publish',\n args: { ...rest },\n })) as Awaited<ReturnType<typeof schedulePublishHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n let error = `Error scheduling ${rest.type}`\n\n if (rest.doc) {\n error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`\n }\n\n return { error }\n },\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildFormStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildTableStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocumentServerFunctionHookFn>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: {\n fallbackLocale: false,\n ...rest,\n } as Parameters<RenderDocumentServerFunctionHookFn>[0],\n })) as Awaited<ReturnType<RenderDocumentServerFunctionHookFn>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const getFolderResultsComponentAndData = useCallback<GetFolderResultsComponentAndDataClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'get-folder-results-component-and-data',\n args: rest,\n })) as Awaited<ReturnType<typeof getFolderResultsComponentAndDataHandler>>\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const _internal_renderField = useCallback<RenderFieldClient>(\n async (args) => {\n try {\n const result = (await serverFunction({\n name: 'render-field',\n args,\n })) as RenderFieldServerFnReturnType\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const slugify = useCallback<SlugifyClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'slugify',\n args: { ...rest },\n })) as Awaited<ReturnType<Slugify>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext\n value={{\n _internal_renderField,\n copyDataFromLocale,\n getDocumentSlots,\n getFolderResultsComponentAndData,\n getFormState,\n getTableState,\n renderDocument,\n schedulePublish,\n serverFunction,\n slugify,\n }}\n >\n {children}\n </ServerFunctionsContext>\n )\n}\n"],"names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","use","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","schedulePublish","signal","remoteSignal","rest","aborted","result","_err","console","error","type","doc","value","relationTo","getFormState","fallbackLocale","state","getTableState","renderDocument","copyDataFromLocale","getFolderResultsComponentAndData","_internal_renderField","slugify"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n AdminViewServerPropsOnly,\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentPreferences,\n DocumentSlots,\n FormState,\n GetFolderResultsComponentAndDataArgs,\n Locale,\n Params,\n RenderDocumentVersionsProperties,\n ServerFunction,\n ServerFunctionClient,\n SlugifyServerFunctionArgs,\n} from 'payload'\nimport type { Slugify } from 'payload/shared'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type {\n RenderFieldServerFnArgs,\n RenderFieldServerFnReturnType,\n} from '../../forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js'\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\nimport type { getFolderResultsComponentAndDataHandler } from '../../utilities/getFolderResultsComponentAndData.js'\nimport type {\n schedulePublishHandler,\n SchedulePublishHandlerArgs,\n} from '../../utilities/schedulePublishHandler.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype SchedulePublishClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof schedulePublishHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\ntype SlugifyClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SlugifyServerFunctionArgs, 'clientConfig' | 'req'>,\n) => ReturnType<Slugify>\n\nexport type RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\ntype RenderDocumentBaseArgs = {\n collectionSlug: string\n disableActions?: boolean\n docID: number | string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n paramsOverride?: AdminViewServerPropsOnly['params']\n redirectAfterCreate?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n redirectAfterRestore?: boolean\n searchParams?: Params\n /**\n * Properties specific to the versions view\n */\n versions?: RenderDocumentVersionsProperties\n}\n\nexport type RenderDocumentServerFunction = ServerFunction<\n RenderDocumentBaseArgs,\n Promise<RenderDocumentResult>\n>\n\ntype RenderDocumentServerFunctionHookFn = (\n // No req or importMap - those are augmented by handleServerFunctions\n args: {\n signal?: AbortSignal\n } & RenderDocumentBaseArgs,\n) => Promise<RenderDocumentResult>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n id?: number | string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype GetFolderResultsComponentAndDataClient = (\n args: {\n signal?: AbortSignal\n } & Omit<GetFolderResultsComponentAndDataArgs, 'req'>,\n) => ReturnType<typeof getFolderResultsComponentAndDataHandler>\n\ntype RenderFieldClient = (args: RenderFieldServerFnArgs) => Promise<RenderFieldServerFnReturnType>\n\nexport type ServerFunctionsContextType = {\n _internal_renderField: RenderFieldClient\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFolderResultsComponentAndData: GetFolderResultsComponentAndDataClient\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocumentServerFunctionHookFn\n schedulePublish: SchedulePublishClient\n serverFunction: ServerFunctionClient\n slugify: SlugifyClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.use(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const schedulePublish = useCallback<SchedulePublishClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'schedule-publish',\n args: { ...rest },\n })) as Awaited<ReturnType<typeof schedulePublishHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n let error = `Error scheduling ${rest.type}`\n\n if (rest.doc) {\n error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`\n }\n\n return { error }\n },\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildFormStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildTableStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocumentServerFunctionHookFn>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: {\n fallbackLocale: false,\n ...rest,\n } as Parameters<RenderDocumentServerFunctionHookFn>[0],\n })) as Awaited<ReturnType<RenderDocumentServerFunctionHookFn>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const getFolderResultsComponentAndData = useCallback<GetFolderResultsComponentAndDataClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'get-folder-results-component-and-data',\n args: rest,\n })) as Awaited<ReturnType<typeof getFolderResultsComponentAndDataHandler>>\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const _internal_renderField = useCallback<RenderFieldClient>(\n async (args) => {\n try {\n const result = (await serverFunction({\n name: 'render-field',\n args,\n })) as RenderFieldServerFnReturnType\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const slugify = useCallback<SlugifyClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'slugify',\n args: { ...rest },\n })) as Awaited<ReturnType<Slugify>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext\n value={{\n _internal_renderField,\n copyDataFromLocale,\n getDocumentSlots,\n getFolderResultsComponentAndData,\n getFormState,\n getTableState,\n renderDocument,\n schedulePublish,\n serverFunction,\n slugify,\n }}\n >\n {children}\n </ServerFunctionsContext>\n )\n}\n"],"names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","use","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","schedulePublish","signal","remoteSignal","rest","aborted","result","_err","console","error","type","doc","value","relationTo","getFormState","fallbackLocale","state","getTableState","renderDocument","copyDataFromLocale","getFolderResultsComponentAndData","_internal_renderField","slugify"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
|
|
5
5
|
import { DefaultCell } from '../../../elements/Table/DefaultCell/index.js';
|
|
@@ -28,12 +28,20 @@ export const RenderDefaultCell = ({ clientProps, columnIndex, isLinkedColumn })=
|
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
return /*#__PURE__*/
|
|
31
|
+
return /*#__PURE__*/ _jsxDEV(CellPropsContext, {
|
|
32
32
|
value: propsToPass,
|
|
33
|
-
children: isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : /*#__PURE__*/
|
|
33
|
+
children: isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : /*#__PURE__*/ _jsxDEV(DefaultCell, {
|
|
34
34
|
...propsToPass
|
|
35
|
-
}
|
|
36
|
-
|
|
35
|
+
}, void 0, false, {
|
|
36
|
+
fileName: "src/providers/TableColumns/RenderDefaultCell/index.tsx",
|
|
37
|
+
lineNumber: 47,
|
|
38
|
+
columnNumber: 68
|
|
39
|
+
}, this)
|
|
40
|
+
}, void 0, false, {
|
|
41
|
+
fileName: "src/providers/TableColumns/RenderDefaultCell/index.tsx",
|
|
42
|
+
lineNumber: 46,
|
|
43
|
+
columnNumber: 5
|
|
44
|
+
}, this);
|
|
37
45
|
};
|
|
38
46
|
|
|
39
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../../elements/Table/DefaultCell/index.js'\nimport { useTableColumns } from '../../../providers/TableColumns/index.js'\nimport './index.scss'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null => React.use(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n doc: rowData,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext>\n )\n}\n"],"names":["React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","use","RenderDefaultCell","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","propsToPass","className","link","onClick","collectionSlug","rowColl","rowData","doc","docID","id","value"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,oBAAoB,QAAQ,2CAA0C;AAC/E,SAASC,WAAW,QAAQ,+CAA8C;AAC1E,SAASC,eAAe,QAAQ,2CAA0C;AAC1E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,MAAMC,iCAAmBL,MAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,eAAe,IAAwCP,MAAMQ,GAAG,CAACH,kBAAiB;AAE/F,OAAO,MAAMI,oBAKR,CAAC,EAAEC,WAAW,EAAEC,WAAW,EAAEC,cAAc,EAAE;IAChD,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGb;IACjC,MAAM,EAAEc,kBAAkB,EAAE,GAAGZ;IAE/B,MAAMa,cAAyC;QAC7C,GAAGN,WAAW;QACdC;IACF;IAEA,IAAIC,kBAAkBC,YAAY;QAChCG,YAAYC,SAAS,GAAG,GAAGb,UAAU,YAAY,CAAC;QAClDY,YAAYE,IAAI,GAAG;QACnBF,YAAYG,OAAO,GAAG,CAAC,EAAEC,gBAAgBC,OAAO,EAAEC,OAAO,EAAE;YACzD,IAAI,OAAOR,aAAa,YAAY;gBAClCA,SAAS;oBACPM,gBAAgBC;oBAChBE,KAAKD;oBACLE,OAAOF,QAAQG,EAAE;gBACnB;YACF;QACF;IACF;IAEA,qBACE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../../elements/Table/DefaultCell/index.js'\nimport { useTableColumns } from '../../../providers/TableColumns/index.js'\nimport './index.scss'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null => React.use(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n doc: rowData,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext>\n )\n}\n"],"names":["React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","use","RenderDefaultCell","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","propsToPass","className","link","onClick","collectionSlug","rowColl","rowData","doc","docID","id","value"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,oBAAoB,QAAQ,2CAA0C;AAC/E,SAASC,WAAW,QAAQ,+CAA8C;AAC1E,SAASC,eAAe,QAAQ,2CAA0C;AAC1E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,MAAMC,iCAAmBL,MAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,eAAe,IAAwCP,MAAMQ,GAAG,CAACH,kBAAiB;AAE/F,OAAO,MAAMI,oBAKR,CAAC,EAAEC,WAAW,EAAEC,WAAW,EAAEC,cAAc,EAAE;IAChD,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGb;IACjC,MAAM,EAAEc,kBAAkB,EAAE,GAAGZ;IAE/B,MAAMa,cAAyC;QAC7C,GAAGN,WAAW;QACdC;IACF;IAEA,IAAIC,kBAAkBC,YAAY;QAChCG,YAAYC,SAAS,GAAG,GAAGb,UAAU,YAAY,CAAC;QAClDY,YAAYE,IAAI,GAAG;QACnBF,YAAYG,OAAO,GAAG,CAAC,EAAEC,gBAAgBC,OAAO,EAAEC,OAAO,EAAE;YACzD,IAAI,OAAOR,aAAa,YAAY;gBAClCA,SAAS;oBACPM,gBAAgBC;oBAChBE,KAAKD;oBACLE,OAAOF,QAAQG,EAAE;gBACnB;YACF;QACF;IACF;IAEA,qBACE,QAACpB;QAAiBqB,OAAOV;kBACtBJ,kBAAkBG,qBAAqBA,mCAAqB,QAACb;YAAa,GAAGc,WAAW;;;;;;;;;;;AAG/F,EAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { fieldIsHiddenOrDisabled, fieldIsID, fieldIsPresentationalOnly, flattenTopLevelFields } from 'payload/shared';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js';
|
|
5
|
-
import { SortColumn } from
|
|
5
|
+
import { SortColumn } from // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587
|
|
6
|
+
'../../../exports/client/index.js';
|
|
6
7
|
import { filterFieldsWithPermissions } from './filterFieldsWithPermissions.js';
|
|
7
8
|
import { isColumnActive } from './isColumnActive.js';
|
|
8
9
|
import { renderCell } from './renderCell.js';
|
|
@@ -25,8 +26,8 @@ export const buildColumnState = (args)=>{
|
|
|
25
26
|
i18n,
|
|
26
27
|
keepPresentationalFields: true,
|
|
27
28
|
moveSubFieldsToTop: true
|
|
28
|
-
})
|
|
29
|
-
|
|
29
|
+
});
|
|
30
|
+
// TODO: think of a way to avoid this additional flatten
|
|
30
31
|
// place the `ID` field first, if it exists
|
|
31
32
|
// do the same for the `useAsTitle` field with precedence over the `ID` field
|
|
32
33
|
// then sort the rest of the fields based on the `defaultColumns` or `columns`
|
|
@@ -44,9 +45,9 @@ export const buildColumnState = (args)=>{
|
|
|
44
45
|
if (sortTo) {
|
|
45
46
|
// sort the fields to the order of `defaultColumns` or `columns`
|
|
46
47
|
sortedFieldMap = sortFieldMap(sortedFieldMap, sortTo);
|
|
47
|
-
_sortedFieldMap = sortFieldMap(_sortedFieldMap, sortTo)
|
|
48
|
-
;
|
|
48
|
+
_sortedFieldMap = sortFieldMap(_sortedFieldMap, sortTo);
|
|
49
49
|
}
|
|
50
|
+
// TODO: think of a way to avoid this additional sort
|
|
50
51
|
const activeColumnsIndices = [];
|
|
51
52
|
const sorted = sortedFieldMap?.reduce((acc, clientField, colIndex)=>{
|
|
52
53
|
if (fieldIsHiddenOrDisabled(clientField) && !fieldIsID(clientField)) {
|
|
@@ -59,9 +60,9 @@ export const buildColumnState = (args)=>{
|
|
|
59
60
|
});
|
|
60
61
|
const hasCustomCell = serverField?.admin && 'components' in serverField.admin && serverField.admin.components && 'Cell' in serverField.admin.components && serverField.admin.components.Cell;
|
|
61
62
|
if (serverField && serverField.type === 'group' && !hasCustomCell) {
|
|
62
|
-
return acc
|
|
63
|
-
;
|
|
63
|
+
return acc;
|
|
64
64
|
}
|
|
65
|
+
// skip any group without a custom cell
|
|
65
66
|
const columnPref = columns?.find((preference)=>clientField && 'name' in clientField && preference.accessor === accessor);
|
|
66
67
|
const isActive = isColumnActive({
|
|
67
68
|
accessor,
|
|
@@ -74,8 +75,8 @@ export const buildColumnState = (args)=>{
|
|
|
74
75
|
}
|
|
75
76
|
let CustomLabel = undefined;
|
|
76
77
|
if (dataType === 'monomorphic') {
|
|
77
|
-
const CustomLabelToRender = serverField && 'admin' in serverField && 'components' in serverField.admin && 'Label' in serverField.admin.components && serverField.admin.components.Label !== undefined // let it return `null`
|
|
78
|
-
|
|
78
|
+
const CustomLabelToRender = serverField && 'admin' in serverField && 'components' in serverField.admin && 'Label' in serverField.admin.components && serverField.admin.components.Label !== undefined ? // let it return `null`
|
|
79
|
+
serverField.admin.components.Label : undefined;
|
|
79
80
|
// TODO: customComponent will be optional in v4
|
|
80
81
|
const clientProps = {
|
|
81
82
|
field: clientField
|
|
@@ -98,13 +99,17 @@ export const buildColumnState = (args)=>{
|
|
|
98
99
|
const label = clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined ? clientField.labelWithPrefix : 'label' in clientField ? clientField.label : undefined;
|
|
99
100
|
// Convert accessor to dot notation specifically for SortColumn sorting behavior
|
|
100
101
|
const dotAccessor = accessor?.replace(/-/g, '.');
|
|
101
|
-
const Heading = /*#__PURE__*/
|
|
102
|
+
const Heading = /*#__PURE__*/ _jsxDEV(SortColumn, {
|
|
102
103
|
disable: fieldAffectsDataSubFields || fieldIsPresentationalOnly(clientField) || undefined,
|
|
103
104
|
Label: CustomLabel,
|
|
104
105
|
label: label,
|
|
105
106
|
name: dotAccessor,
|
|
106
107
|
...sortColumnProps || {}
|
|
107
|
-
}
|
|
108
|
+
}, void 0, false, {
|
|
109
|
+
fileName: "src/providers/TableColumns/buildColumnState/index.tsx",
|
|
110
|
+
lineNumber: 240,
|
|
111
|
+
columnNumber: 7
|
|
112
|
+
}, this);
|
|
108
113
|
const column = {
|
|
109
114
|
accessor,
|
|
110
115
|
active: isActive,
|