@payloadcms/ui 3.68.0-internal-debug.e9b66ee → 3.68.0-internal-debug.654e4ad
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 +126 -37
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +33 -17
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +147 -35
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +6 -6
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +184 -58
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +28 -12
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +34 -5
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +160 -56
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +80 -23
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +78 -13
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +17 -3
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +89 -19
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +134 -35
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +44 -10
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +326 -91
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +42 -25
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +26 -4
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +94 -43
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +155 -38
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.js +40 -5
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +41 -15
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +20 -3
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +64 -14
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +21 -8
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +48 -27
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +21 -5
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +128 -40
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +10 -2
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +28 -12
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +71 -23
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +81 -22
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +148 -56
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +41 -17
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +56 -11
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +23 -5
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +62 -22
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +79 -19
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +131 -45
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +442 -95
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +18 -4
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +76 -15
- 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 +62 -14
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +86 -22
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +126 -41
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +81 -24
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +21 -16
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +29 -8
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +135 -38
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +57 -18
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +13 -4
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +22 -15
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +98 -22
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +46 -15
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +204 -49
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +66 -18
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +388 -105
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +64 -25
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +27 -6
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +47 -17
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +10 -1
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +37 -14
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +107 -26
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +69 -19
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +72 -12
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +16 -2
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +51 -15
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +26 -10
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +22 -4
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +14 -1
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +8 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +138 -58
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +56 -18
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +47 -20
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +28 -16
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +24 -10
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +327 -105
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +39 -11
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +10 -1
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +168 -50
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +166 -97
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +30 -1
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +34 -10
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +104 -54
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +98 -31
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +135 -46
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +45 -14
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +15 -5
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +48 -10
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +113 -54
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +18 -10
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +22 -6
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +48 -9
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +25 -8
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +23 -2
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/Link/index.js +36 -26
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +199 -32
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +34 -6
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +13 -7
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +59 -12
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +34 -10
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +16 -3
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +12 -3
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +17 -5
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +110 -52
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +64 -16
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +64 -15
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +79 -20
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +26 -13
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +15 -8
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +18 -5
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +26 -8
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +197 -50
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +14 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +75 -23
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +11 -3
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +53 -13
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +79 -18
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +25 -8
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +51 -12
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +88 -39
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +34 -8
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +22 -6
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +28 -16
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +16 -10
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +76 -19
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +25 -6
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +13 -2
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +73 -14
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +17 -3
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +12 -3
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +10 -1
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +30 -9
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +90 -25
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +53 -14
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +68 -16
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +63 -21
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +50 -18
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +9 -1
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +10 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +33 -13
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +102 -40
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +19 -3
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +160 -43
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +96 -24
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +244 -44
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +78 -26
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +16 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +43 -9
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +202 -68
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +75 -28
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +40 -15
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +25 -12
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +21 -5
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +9 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +40 -11
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +49 -8
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +110 -21
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +27 -9
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +36 -25
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +24 -7
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +16 -4
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +32 -19
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +22 -7
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +44 -16
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +19 -8
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +28 -4
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +127 -36
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +60 -20
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +19 -3
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +37 -8
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +189 -39
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +24 -3
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +10 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +16 -2
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +36 -11
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +80 -19
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +62 -16
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +15 -4
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +19 -6
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +35 -8
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +25 -7
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +18 -4
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +20 -7
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +21 -5
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +51 -18
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +83 -28
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +77 -16
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +37 -13
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +18 -3
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +99 -20
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +15 -2
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +14 -8
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +139 -36
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +10 -1
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +16 -3
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +17 -3
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +14 -8
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +37 -8
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +16 -3
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +62 -36
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +76 -20
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +40 -18
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +23 -5
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +120 -37
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +14 -6
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +79 -28
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +69 -18
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +30 -4
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +38 -8
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +33 -8
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +56 -21
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +39 -16
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +25 -8
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +14 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +43 -9
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +401 -109
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +10 -2
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +20 -3
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +72 -6
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +28 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +52 -25
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +17 -4
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +27 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +128 -30
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +159 -54
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +9 -1
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.d.ts +1 -1
- package/dist/elements/withMergedProps/index.js +10 -2
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +2 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +2 -0
- package/dist/exports/client/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +18 -7
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +101 -17
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +297 -69
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +130 -22
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +25 -4
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +101 -29
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +23 -8
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +44 -12
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +24 -3
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +326 -83
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +83 -21
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +68 -13
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +92 -18
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +103 -21
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +54 -11
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +102 -19
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +91 -19
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +15 -8
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +13 -3
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +32 -7
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +132 -31
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +11 -3
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +13 -2
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +93 -18
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +88 -20
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +134 -36
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +29 -4
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +105 -21
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Point/index.js +157 -33
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +51 -13
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +124 -42
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +242 -119
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +44 -11
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +85 -33
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +88 -32
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +35 -9
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +11 -3
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +98 -19
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +30 -1
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +58 -13
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +43 -12
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +117 -31
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +11 -3
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +129 -31
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +36 -6
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +101 -20
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +29 -4
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +117 -52
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +34 -6
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +248 -60
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +112 -23
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +14 -7
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +39 -3
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Form/index.js +87 -26
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +23 -6
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +203 -23
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +72 -45
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +10 -2
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +31 -10
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +22 -5
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +44 -26
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/index.js +16 -3
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +46 -8
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +16 -3
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +14 -2
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +115 -16
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +33 -6
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +31 -4
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +112 -17
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/icons/Calendar/index.js +20 -3
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +20 -3
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +30 -9
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +20 -3
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +22 -3
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +24 -3
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +24 -3
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +32 -10
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +70 -11
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +23 -6
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +23 -6
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +53 -12
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +25 -6
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +34 -8
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +56 -6
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +23 -3
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +25 -3
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +24 -3
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +41 -7
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +23 -3
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +23 -3
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +27 -3
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +43 -8
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +62 -10
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +28 -7
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +22 -3
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +21 -3
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +48 -6
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +20 -3
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +26 -5
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +27 -6
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +25 -6
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +16 -10
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +22 -16
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +14 -6
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +21 -8
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +19 -4
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +14 -6
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +29 -7
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +13 -5
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +11 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +14 -8
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +48 -42
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +30 -17
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/LivePreview/index.js +51 -39
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +21 -10
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +11 -3
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +11 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +11 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +187 -54
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +14 -6
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +25 -11
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +14 -8
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +13 -5
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +11 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +21 -15
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +16 -4
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +13 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +18 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +17 -11
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js +15 -7
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +33 -4
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +33 -4
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +33 -4
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +33 -4
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +53 -19
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +21 -15
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +18 -12
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +15 -9
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +13 -5
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +51 -13
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +39 -10
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/renderTable.js +113 -23
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +273 -74
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +130 -44
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +268 -84
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +103 -23
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +165 -48
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +272 -85
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +34 -10
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +103 -18
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +93 -20
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +243 -58
- package/dist/views/List/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, I18nOptions, Language } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n LanguageOptions,\n Locale,\n SanitizedPermissions,\n ServerFunctionClient,\n TypedUser,\n} from 'payload'\n\nimport { DndContext, pointerWithin } from '@dnd-kit/core'\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport React from 'react'\n\nimport type { Theme } from '../Theme/index.js'\n\nimport { CloseModalOnRouteChange } from '../../elements/CloseModalOnRouteChange/index.js'\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ClickOutsideProvider } from '../../providers/ClickOutside/index.js'\nimport { WindowInfoProvider } from '../../providers/WindowInfo/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { RouteTransitionProvider } from '../RouteTransition/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ServerFunctionsProvider } from '../ServerFunctions/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { ToastContainer } from '../ToastContainer/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\nimport { UploadHandlersProvider } from '../UploadHandlers/index.js'\n\ntype Props = {\n readonly children: React.ReactNode\n readonly config: ClientConfig\n readonly dateFNSKey: Language['dateFNSKey']\n readonly fallbackLang: I18nOptions['fallbackLanguage']\n readonly isNavOpen?: boolean\n readonly languageCode: string\n readonly languageOptions: LanguageOptions\n readonly locale?: Locale['code']\n readonly permissions: SanitizedPermissions\n readonly serverFunction: ServerFunctionClient\n readonly switchLanguageServerAction?: (lang: string) => Promise<void>\n readonly theme: Theme\n readonly translations: I18nClient['translations']\n readonly user: null | TypedUser\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n config,\n dateFNSKey,\n fallbackLang,\n isNavOpen,\n languageCode,\n languageOptions,\n locale,\n permissions,\n serverFunction,\n switchLanguageServerAction,\n theme,\n translations,\n user,\n}) => {\n const dndContextID = React.useId()\n\n return (\n <ClickOutsideProvider>\n <ServerFunctionsProvider serverFunction={serverFunction}>\n <RouteTransitionProvider>\n <RouteCache\n cachingEnabled={process.env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH === 'true'}\n >\n <ConfigProvider config={config}>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <CloseModalOnRouteChange />\n <AuthProvider permissions={permissions} user={user}>\n <PreferencesProvider>\n <ThemeProvider theme={theme}>\n <ParamsProvider>\n <LocaleProvider locale={locale}>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <NavProvider initialIsOpen={isNavOpen}>\n <UploadHandlersProvider>\n <DndContext\n collisionDetection={pointerWithin}\n id={dndContextID}\n >\n {children}\n </DndContext>\n </UploadHandlersProvider>\n </NavProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </ConfigProvider>\n </RouteCache>\n </RouteTransitionProvider>\n </ServerFunctionsProvider>\n <ToastContainer config={config} />\n </ClickOutsideProvider>\n )\n}\n"],"names":["DndContext","pointerWithin","ModalContainer","ModalProvider","ScrollInfoProvider","React","CloseModalOnRouteChange","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","ClickOutsideProvider","WindowInfoProvider","AuthProvider","ClientFunctionProvider","ConfigProvider","DocumentEventsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","RouteTransitionProvider","SearchParamsProvider","ServerFunctionsProvider","ThemeProvider","ToastContainer","TranslationProvider","UploadHandlersProvider","RootProvider","children","config","dateFNSKey","fallbackLang","isNavOpen","languageCode","languageOptions","locale","permissions","serverFunction","switchLanguageServerAction","theme","translations","user","dndContextID","useId","cachingEnabled","process","env","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","initialIsOpen","collisionDetection","id"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, I18nOptions, Language } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n LanguageOptions,\n Locale,\n SanitizedPermissions,\n ServerFunctionClient,\n TypedUser,\n} from 'payload'\n\nimport { DndContext, pointerWithin } from '@dnd-kit/core'\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport React from 'react'\n\nimport type { Theme } from '../Theme/index.js'\n\nimport { CloseModalOnRouteChange } from '../../elements/CloseModalOnRouteChange/index.js'\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ClickOutsideProvider } from '../../providers/ClickOutside/index.js'\nimport { WindowInfoProvider } from '../../providers/WindowInfo/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { RouteTransitionProvider } from '../RouteTransition/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ServerFunctionsProvider } from '../ServerFunctions/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { ToastContainer } from '../ToastContainer/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\nimport { UploadHandlersProvider } from '../UploadHandlers/index.js'\n\ntype Props = {\n readonly children: React.ReactNode\n readonly config: ClientConfig\n readonly dateFNSKey: Language['dateFNSKey']\n readonly fallbackLang: I18nOptions['fallbackLanguage']\n readonly isNavOpen?: boolean\n readonly languageCode: string\n readonly languageOptions: LanguageOptions\n readonly locale?: Locale['code']\n readonly permissions: SanitizedPermissions\n readonly serverFunction: ServerFunctionClient\n readonly switchLanguageServerAction?: (lang: string) => Promise<void>\n readonly theme: Theme\n readonly translations: I18nClient['translations']\n readonly user: null | TypedUser\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n config,\n dateFNSKey,\n fallbackLang,\n isNavOpen,\n languageCode,\n languageOptions,\n locale,\n permissions,\n serverFunction,\n switchLanguageServerAction,\n theme,\n translations,\n user,\n}) => {\n const dndContextID = React.useId()\n\n return (\n <ClickOutsideProvider>\n <ServerFunctionsProvider serverFunction={serverFunction}>\n <RouteTransitionProvider>\n <RouteCache\n cachingEnabled={process.env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH === 'true'}\n >\n <ConfigProvider config={config}>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <CloseModalOnRouteChange />\n <AuthProvider permissions={permissions} user={user}>\n <PreferencesProvider>\n <ThemeProvider theme={theme}>\n <ParamsProvider>\n <LocaleProvider locale={locale}>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <NavProvider initialIsOpen={isNavOpen}>\n <UploadHandlersProvider>\n <DndContext\n collisionDetection={pointerWithin}\n id={dndContextID}\n >\n {children}\n </DndContext>\n </UploadHandlersProvider>\n </NavProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </ConfigProvider>\n </RouteCache>\n </RouteTransitionProvider>\n </ServerFunctionsProvider>\n <ToastContainer config={config} />\n </ClickOutsideProvider>\n )\n}\n"],"names":["DndContext","pointerWithin","ModalContainer","ModalProvider","ScrollInfoProvider","React","CloseModalOnRouteChange","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","ClickOutsideProvider","WindowInfoProvider","AuthProvider","ClientFunctionProvider","ConfigProvider","DocumentEventsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","RouteTransitionProvider","SearchParamsProvider","ServerFunctionsProvider","ThemeProvider","ToastContainer","TranslationProvider","UploadHandlersProvider","RootProvider","children","config","dateFNSKey","fallbackLang","isNavOpen","languageCode","languageOptions","locale","permissions","serverFunction","switchLanguageServerAction","theme","translations","user","dndContextID","useId","cachingEnabled","process","env","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","initialIsOpen","collisionDetection","id"],"mappings":"AAAA;;AAWA,SAASA,UAAU,EAAEC,aAAa,QAAQ,gBAAe;AACzD,SAASC,cAAc,EAAEC,aAAa,QAAQ,qBAAoB;AAClE,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,OAAOC,WAAW,QAAO;AAIzB,SAASC,uBAAuB,QAAQ,kDAAiD;AACzF,SAASC,sBAAsB,QAAQ,yCAAwC;AAC/E,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,kCAAiC;AACjE,SAASC,oBAAoB,QAAQ,wCAAuC;AAC5E,SAASC,kBAAkB,QAAQ,sCAAqC;AACxE,SAASC,YAAY,QAAQ,mBAAkB;AAC/C,SAASC,sBAAsB,QAAQ,6BAA4B;AACnE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,sBAAsB,QAAQ,6BAA4B;AACnE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,mBAAmB,QAAQ,0BAAyB;AAC7D,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,uBAAuB,QAAQ,8BAA6B;AACrE,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,SAASC,uBAAuB,QAAQ,8BAA6B;AACrE,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,cAAc,QAAQ,6BAA4B;AAC3D,SAASC,mBAAmB,QAAQ,0BAAyB;AAC7D,SAASC,sBAAsB,QAAQ,6BAA4B;AAmBnE,OAAO,MAAMC,eAAgC,CAAC,EAC5CC,QAAQ,EACRC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,SAAS,EACTC,YAAY,EACZC,eAAe,EACfC,MAAM,EACNC,WAAW,EACXC,cAAc,EACdC,0BAA0B,EAC1BC,KAAK,EACLC,YAAY,EACZC,IAAI,EACL;IACC,MAAMC,eAAetC,MAAMuC,KAAK;IAEhC,qBACE,QAACjC;;0BACC,QAACY;gBAAwBe,gBAAgBA;0BACvC,cAAA,QAACjB;8BACC,cAAA,QAACD;wBACCyB,gBAAgBC,QAAQC,GAAG,CAACC,uCAAuC,KAAK;kCAExE,cAAA,QAACjC;4BAAee,QAAQA;sCACtB,cAAA,QAAChB;0CACC,cAAA,QAACY;oCACCK,YAAYA;oCACZC,cAAcA;oCACdiB,UAAUf;oCACVC,iBAAiBA;oCACjBI,4BAA4BA;oCAC5BE,cAAcA;8CAEd,cAAA,QAAC7B;wCACCsC,aAAa;4CACXC,GAAG;4CACHC,GAAG;4CACHC,GAAG;4CACHC,IAAI;wCACN;kDAEA,cAAA,QAAClD;sDACC,cAAA,QAACkB;0DACC,cAAA,QAACnB;oDAAcoD,aAAY;oDAAUC,WAAW;oDAAGC,QAAO;;sEACxD,QAACnD;;;;;sEACD,QAACO;4DAAawB,aAAaA;4DAAaK,MAAMA;;8EAC5C,QAACvB;8EACC,cAAA,QAACK;wEAAcgB,OAAOA;kFACpB,cAAA,QAACtB;sFACC,cAAA,QAACD;gFAAemB,QAAQA;0FACtB,cAAA,QAAC1B;8FACC,cAAA,QAACH;kGACC,cAAA,QAACS;sGACC,cAAA,QAACR;gGAAYkD,eAAezB;0GAC1B,cAAA,QAACN;8GACC,cAAA,QAAC3B;wGACC2D,oBAAoB1D;wGACpB2D,IAAIjB;kHAEHd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAWrB,QAAC3B;;;;;8EACD,QAACO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAYvB,QAACgB;gBAAeK,QAAQA;;;;;;;;;;;;AAG9B,EAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import { usePathname, useRouter } from 'next/navigation.js';
|
|
3
|
-
import { createContext, use, useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import React, { createContext, use, useCallback, useEffect, useRef } from 'react';
|
|
4
5
|
import { useEffectEvent } from '../../hooks/useEffectEvent.js';
|
|
5
|
-
const Context = createContext({
|
|
6
|
+
const Context = /*#__PURE__*/ createContext({
|
|
6
7
|
cachingEnabled: true,
|
|
7
8
|
clearRouteCache: ()=>{}
|
|
8
9
|
});
|
|
@@ -43,10 +44,17 @@ export const RouteCache = ({ cachingEnabled = true, children })=>{
|
|
|
43
44
|
}, [
|
|
44
45
|
pathname
|
|
45
46
|
]);
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
return /*#__PURE__*/ _jsxDEV(Context, {
|
|
48
|
+
value: {
|
|
49
|
+
cachingEnabled,
|
|
50
|
+
clearRouteCache
|
|
51
|
+
},
|
|
52
|
+
children: children
|
|
53
|
+
}, void 0, false, {
|
|
54
|
+
fileName: "src/providers/RouteCache/index.tsx",
|
|
55
|
+
lineNumber: 61,
|
|
56
|
+
columnNumber: 10
|
|
57
|
+
}, this);
|
|
50
58
|
};
|
|
51
59
|
export const useRouteCache = ()=>use(Context);
|
|
52
60
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/RouteCache/index.tsx"],"sourcesContent":["'use client'\n\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport React, { createContext, use, useCallback, useEffect, useRef } from 'react'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\n\nexport type RouteCacheContext = {\n cachingEnabled: boolean\n clearRouteCache: () => void\n}\n\nconst Context = createContext<RouteCacheContext>({\n cachingEnabled: true,\n clearRouteCache: () => {},\n})\n\nexport const RouteCache: React.FC<{ cachingEnabled?: boolean; children: React.ReactNode }> = ({\n cachingEnabled = true,\n children,\n}) => {\n const pathname = usePathname()\n const router = useRouter()\n\n /**\n * Next.js caches pages in memory in their {@link https://nextjs.org/docs/app/guides/caching#client-side-router-cache Client-side Router Cache},\n * causing forward/back browser navigation to show stale data from a previous visit.\n * The problem is this bfcache-like behavior has no opt-out, even if the page is dynamic, requires authentication, etc.\n * The workaround is to force a refresh when navigating via the browser controls.\n * This should be removed if/when Next.js supports this natively.\n */\n const clearAfterPathnameChange = useRef(false)\n\n const clearRouteCache = useCallback(() => {\n router.refresh()\n }, [router])\n\n useEffect(() => {\n const handlePopState = () => {\n clearAfterPathnameChange.current = true\n }\n\n window.addEventListener('popstate', handlePopState)\n\n return () => {\n window.removeEventListener('popstate', handlePopState)\n }\n }, [router])\n\n const handlePathnameChange = useEffectEvent((pathname: string) => {\n if (cachingEnabled || clearAfterPathnameChange.current) {\n clearAfterPathnameChange.current = false\n clearRouteCache()\n }\n })\n\n useEffect(() => {\n handlePathnameChange(pathname)\n }, [pathname])\n\n return <Context value={{ cachingEnabled, clearRouteCache }}>{children}</Context>\n}\n\nexport const useRouteCache = () => use(Context)\n"],"names":["usePathname","useRouter","createContext","use","useCallback","useEffect","useRef","useEffectEvent","Context","cachingEnabled","clearRouteCache","RouteCache","children","pathname","router","clearAfterPathnameChange","refresh","handlePopState","current","window","addEventListener","removeEventListener","handlePathnameChange","value","useRouteCache"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/RouteCache/index.tsx"],"sourcesContent":["'use client'\n\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport React, { createContext, use, useCallback, useEffect, useRef } from 'react'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\n\nexport type RouteCacheContext = {\n cachingEnabled: boolean\n clearRouteCache: () => void\n}\n\nconst Context = createContext<RouteCacheContext>({\n cachingEnabled: true,\n clearRouteCache: () => {},\n})\n\nexport const RouteCache: React.FC<{ cachingEnabled?: boolean; children: React.ReactNode }> = ({\n cachingEnabled = true,\n children,\n}) => {\n const pathname = usePathname()\n const router = useRouter()\n\n /**\n * Next.js caches pages in memory in their {@link https://nextjs.org/docs/app/guides/caching#client-side-router-cache Client-side Router Cache},\n * causing forward/back browser navigation to show stale data from a previous visit.\n * The problem is this bfcache-like behavior has no opt-out, even if the page is dynamic, requires authentication, etc.\n * The workaround is to force a refresh when navigating via the browser controls.\n * This should be removed if/when Next.js supports this natively.\n */\n const clearAfterPathnameChange = useRef(false)\n\n const clearRouteCache = useCallback(() => {\n router.refresh()\n }, [router])\n\n useEffect(() => {\n const handlePopState = () => {\n clearAfterPathnameChange.current = true\n }\n\n window.addEventListener('popstate', handlePopState)\n\n return () => {\n window.removeEventListener('popstate', handlePopState)\n }\n }, [router])\n\n const handlePathnameChange = useEffectEvent((pathname: string) => {\n if (cachingEnabled || clearAfterPathnameChange.current) {\n clearAfterPathnameChange.current = false\n clearRouteCache()\n }\n })\n\n useEffect(() => {\n handlePathnameChange(pathname)\n }, [pathname])\n\n return <Context value={{ cachingEnabled, clearRouteCache }}>{children}</Context>\n}\n\nexport const useRouteCache = () => use(Context)\n"],"names":["usePathname","useRouter","React","createContext","use","useCallback","useEffect","useRef","useEffectEvent","Context","cachingEnabled","clearRouteCache","RouteCache","children","pathname","router","clearAfterPathnameChange","refresh","handlePopState","current","window","addEventListener","removeEventListener","handlePathnameChange","value","useRouteCache"],"mappings":"AAAA;;AAEA,SAASA,WAAW,EAAEC,SAAS,QAAQ,qBAAoB;AAC3D,OAAOC,SAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAEjF,SAASC,cAAc,QAAQ,gCAA+B;AAO9D,MAAMC,wBAAUN,cAAiC;IAC/CO,gBAAgB;IAChBC,iBAAiB,KAAO;AAC1B;AAEA,OAAO,MAAMC,aAAgF,CAAC,EAC5FF,iBAAiB,IAAI,EACrBG,QAAQ,EACT;IACC,MAAMC,WAAWd;IACjB,MAAMe,SAASd;IAEf;;;;;;GAMC,GACD,MAAMe,2BAA2BT,OAAO;IAExC,MAAMI,kBAAkBN,YAAY;QAClCU,OAAOE,OAAO;IAChB,GAAG;QAACF;KAAO;IAEXT,UAAU;QACR,MAAMY,iBAAiB;YACrBF,yBAAyBG,OAAO,GAAG;QACrC;QAEAC,OAAOC,gBAAgB,CAAC,YAAYH;QAEpC,OAAO;YACLE,OAAOE,mBAAmB,CAAC,YAAYJ;QACzC;IACF,GAAG;QAACH;KAAO;IAEX,MAAMQ,uBAAuBf,eAAe,CAACM;QAC3C,IAAIJ,kBAAkBM,yBAAyBG,OAAO,EAAE;YACtDH,yBAAyBG,OAAO,GAAG;YACnCR;QACF;IACF;IAEAL,UAAU;QACRiB,qBAAqBT;IACvB,GAAG;QAACA;KAAS;IAEb,qBAAO,QAACL;QAAQe,OAAO;YAAEd;YAAgBC;QAAgB;kBAAIE;;;;;;AAC/D,EAAC;AAED,OAAO,MAAMY,gBAAgB,IAAMrB,IAAIK,SAAQ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import React, { useEffect, useRef } from 'react';
|
|
3
4
|
import { useRouteTransition } from '../index.js';
|
|
4
5
|
import './index.scss';
|
|
@@ -53,17 +54,30 @@ const initialDelay = 150;
|
|
|
53
54
|
transitionProgress
|
|
54
55
|
]);
|
|
55
56
|
if (typeof progressToShow === 'number') {
|
|
56
|
-
return
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
57
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
58
|
+
className: [
|
|
59
|
+
baseClass,
|
|
60
|
+
progressToShow === 1 && `${baseClass}--fade-out`
|
|
61
|
+
].filter(Boolean).join(' '),
|
|
62
|
+
style: {
|
|
63
|
+
// @ts-expect-error - TS doesn't like custom CSS properties
|
|
64
|
+
'--transition-duration': `${transitionDuration}ms`
|
|
65
|
+
},
|
|
66
|
+
children: /*#__PURE__*/ _jsxDEV("div", {
|
|
67
|
+
className: `${baseClass}__progress`,
|
|
68
|
+
style: {
|
|
69
|
+
width: `${(progressToShow || 0) * 100}%`
|
|
70
|
+
}
|
|
71
|
+
}, void 0, false, {
|
|
72
|
+
fileName: "src/providers/RouteTransition/ProgressBar/index.tsx",
|
|
73
|
+
lineNumber: 73,
|
|
74
|
+
columnNumber: 9
|
|
75
|
+
}, this)
|
|
76
|
+
}, void 0, false, {
|
|
77
|
+
fileName: "src/providers/RouteTransition/ProgressBar/index.tsx",
|
|
78
|
+
lineNumber: 64,
|
|
79
|
+
columnNumber: 7
|
|
80
|
+
}, this);
|
|
67
81
|
}
|
|
68
82
|
return null;
|
|
69
83
|
};
|
|
@@ -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
|
|
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,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react';
|
|
3
4
|
/**
|
|
4
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.
|
|
@@ -62,15 +63,20 @@ import React, { startTransition, useCallback, useEffect, useOptimistic, useRef }
|
|
|
62
63
|
}, [
|
|
63
64
|
setIsTransitioning
|
|
64
65
|
]);
|
|
65
|
-
return
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
return /*#__PURE__*/ _jsxDEV(RouteTransitionContext, {
|
|
67
|
+
value: {
|
|
68
|
+
isTransitioning,
|
|
69
|
+
startRouteTransition,
|
|
70
|
+
transitionProgress
|
|
71
|
+
},
|
|
72
|
+
children: children
|
|
73
|
+
}, void 0, false, {
|
|
74
|
+
fileName: "src/providers/RouteTransition/index.tsx",
|
|
75
|
+
lineNumber: 77,
|
|
76
|
+
columnNumber: 5
|
|
77
|
+
}, this);
|
|
72
78
|
};
|
|
73
|
-
const RouteTransitionContext = React.createContext({
|
|
79
|
+
const RouteTransitionContext = /*#__PURE__*/ React.createContext({
|
|
74
80
|
isTransitioning: false,
|
|
75
81
|
startRouteTransition: ()=>undefined,
|
|
76
82
|
transitionProgress: 0
|
|
@@ -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
|
|
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,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import { useSearchParams as useNextSearchParams } from 'next/navigation.js';
|
|
3
4
|
import * as qs from 'qs-esm';
|
|
4
5
|
import React, { createContext, use } from 'react';
|
|
@@ -6,7 +7,7 @@ const initialContext = {
|
|
|
6
7
|
searchParams: {},
|
|
7
8
|
stringifyParams: ()=>''
|
|
8
9
|
};
|
|
9
|
-
const Context = createContext(initialContext);
|
|
10
|
+
const Context = /*#__PURE__*/ createContext(initialContext);
|
|
10
11
|
/**
|
|
11
12
|
* @deprecated
|
|
12
13
|
* 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.
|
|
@@ -33,10 +34,17 @@ const Context = createContext(initialContext);
|
|
|
33
34
|
}, [
|
|
34
35
|
searchParams
|
|
35
36
|
]);
|
|
36
|
-
return
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
return /*#__PURE__*/ _jsxDEV(Context, {
|
|
38
|
+
value: {
|
|
39
|
+
searchParams,
|
|
40
|
+
stringifyParams
|
|
41
|
+
},
|
|
42
|
+
children: children
|
|
43
|
+
}, void 0, false, {
|
|
44
|
+
fileName: "src/providers/SearchParams/index.tsx",
|
|
45
|
+
lineNumber: 53,
|
|
46
|
+
columnNumber: 10
|
|
47
|
+
}, this);
|
|
40
48
|
};
|
|
41
49
|
/**
|
|
42
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
|
|
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,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import { useSearchParams } from 'next/navigation.js';
|
|
3
4
|
import * as qs from 'qs-esm';
|
|
4
|
-
import { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
|
+
import React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
6
|
import { parseSearchParams } from '../../utilities/parseSearchParams.js';
|
|
6
7
|
import { useAuth } from '../Auth/index.js';
|
|
7
8
|
import { useListQuery } from '../ListQuery/index.js';
|
|
@@ -16,7 +17,7 @@ export var SelectAllStatus = /*#__PURE__*/ function(SelectAllStatus) {
|
|
|
16
17
|
/**
|
|
17
18
|
* Selects all rows on the current page within the current query.
|
|
18
19
|
* If `allAvailable` is true, does not select specific IDs so that the query itself affects all rows across all pages.
|
|
19
|
-
*/ const Context = createContext({
|
|
20
|
+
*/ const Context = /*#__PURE__*/ createContext({
|
|
20
21
|
count: undefined,
|
|
21
22
|
getQueryParams: (additionalParams)=>'',
|
|
22
23
|
getSelectedIds: ()=>[],
|
|
@@ -209,7 +210,14 @@ export const SelectionProvider = ({ children, docs = [], totalDocs })=>{
|
|
|
209
210
|
toggleAll,
|
|
210
211
|
totalDocs
|
|
211
212
|
};
|
|
212
|
-
return
|
|
213
|
+
return /*#__PURE__*/ _jsxDEV(Context, {
|
|
214
|
+
value: contextRef.current,
|
|
215
|
+
children: children
|
|
216
|
+
}, void 0, false, {
|
|
217
|
+
fileName: "src/providers/Selection/index.tsx",
|
|
218
|
+
lineNumber: 251,
|
|
219
|
+
columnNumber: 10
|
|
220
|
+
}, this);
|
|
213
221
|
};
|
|
214
222
|
export const useSelection = ()=>use(Context);
|
|
215
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","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,8 +1,9 @@
|
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
1
2
|
import React, { createContext, useCallback } from 'react';
|
|
2
3
|
/**
|
|
3
4
|
* Properties specific to the versions view
|
|
4
5
|
*/ // No req or importMap - those are augmented by handleServerFunctions
|
|
5
|
-
export const ServerFunctionsContext = createContext(undefined);
|
|
6
|
+
export const ServerFunctionsContext = /*#__PURE__*/ createContext(undefined);
|
|
6
7
|
export const useServerFunctions = ()=>{
|
|
7
8
|
const context = React.use(ServerFunctionsContext);
|
|
8
9
|
if (context === undefined) {
|
|
@@ -184,20 +185,25 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
184
185
|
[
|
|
185
186
|
serverFunction
|
|
186
187
|
]);
|
|
187
|
-
return
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
188
|
+
return /*#__PURE__*/ _jsxDEV(ServerFunctionsContext, {
|
|
189
|
+
value: {
|
|
190
|
+
_internal_renderField,
|
|
191
|
+
copyDataFromLocale,
|
|
192
|
+
getDocumentSlots,
|
|
193
|
+
getFolderResultsComponentAndData,
|
|
194
|
+
getFormState,
|
|
195
|
+
getTableState,
|
|
196
|
+
renderDocument,
|
|
197
|
+
schedulePublish,
|
|
198
|
+
serverFunction,
|
|
199
|
+
slugify
|
|
200
|
+
},
|
|
201
|
+
children: children
|
|
202
|
+
}, void 0, false, {
|
|
203
|
+
fileName: "src/providers/ServerFunctions/index.tsx",
|
|
204
|
+
lineNumber: 332,
|
|
205
|
+
columnNumber: 5
|
|
206
|
+
}, this);
|
|
201
207
|
};
|
|
202
208
|
|
|
203
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,11 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
|
|
4
5
|
import { DefaultCell } from '../../../elements/Table/DefaultCell/index.js';
|
|
5
6
|
import { useTableColumns } from '../../../providers/TableColumns/index.js';
|
|
6
7
|
import './index.scss';
|
|
7
8
|
const baseClass = 'default-cell';
|
|
8
|
-
const CellPropsContext = React.createContext(null);
|
|
9
|
+
const CellPropsContext = /*#__PURE__*/ React.createContext(null);
|
|
9
10
|
export const useCellProps = ()=>React.use(CellPropsContext);
|
|
10
11
|
export const RenderDefaultCell = ({ clientProps, columnIndex, isLinkedColumn })=>{
|
|
11
12
|
const { drawerSlug, onSelect } = useListDrawerContext();
|
|
@@ -27,9 +28,20 @@ export const RenderDefaultCell = ({ clientProps, columnIndex, isLinkedColumn })=
|
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
return /*#__PURE__*/ _jsxDEV(CellPropsContext, {
|
|
32
|
+
value: propsToPass,
|
|
33
|
+
children: isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : /*#__PURE__*/ _jsxDEV(DefaultCell, {
|
|
34
|
+
...propsToPass
|
|
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);
|
|
33
45
|
};
|
|
34
46
|
|
|
35
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
|
|
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"}
|