@payloadcms/ui 3.68.0-internal-debug.185cc5f → 3.68.0-internal-debug.dafc24d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.js +83 -27
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +13 -5
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +107 -35
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +116 -36
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +18 -6
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +25 -9
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +97 -33
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +43 -15
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +47 -15
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +7 -3
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +12 -4
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +53 -17
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +90 -30
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +31 -11
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +214 -70
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +13 -5
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +19 -7
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +58 -18
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +101 -33
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.js +25 -9
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +19 -7
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +16 -4
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +42 -14
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +12 -4
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +13 -5
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +18 -6
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +84 -28
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +7 -3
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +13 -5
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +37 -13
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +49 -17
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +73 -25
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +18 -6
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +41 -13
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +19 -7
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +25 -9
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +49 -17
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +73 -25
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +303 -95
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +12 -4
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +59 -19
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +7 -3
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +32 -10
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +54 -18
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +73 -25
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +49 -17
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -3
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +19 -7
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +78 -26
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +37 -13
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +7 -3
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +7 -3
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +61 -21
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +25 -9
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +131 -43
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +37 -13
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +232 -76
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +31 -11
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +19 -7
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +25 -9
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +7 -3
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +19 -7
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +70 -22
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +43 -15
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +43 -15
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +13 -5
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +31 -11
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +12 -4
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +7 -3
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +7 -3
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +7 -3
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +68 -24
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +31 -11
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +25 -9
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +7 -3
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +15 -7
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +181 -61
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +19 -7
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +7 -3
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +103 -31
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +49 -17
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +7 -3
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +21 -9
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +26 -10
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +67 -23
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +86 -30
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +25 -9
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +7 -3
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +31 -11
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +43 -15
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +7 -3
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +13 -5
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +35 -11
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +13 -5
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +13 -5
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/Link/index.js +7 -3
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +126 -42
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +18 -6
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +7 -3
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +32 -10
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +19 -7
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -5
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +7 -3
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +7 -3
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +48 -16
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +37 -13
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +43 -15
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +55 -19
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +13 -5
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +7 -3
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +7 -3
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +13 -5
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +137 -45
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +7 -3
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +48 -16
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +7 -3
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +41 -13
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +55 -19
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +13 -5
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +31 -11
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +47 -15
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +18 -6
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +12 -4
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +7 -3
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +7 -3
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +49 -17
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +19 -7
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +7 -3
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +37 -13
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +12 -4
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +7 -3
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +7 -3
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +19 -7
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +61 -21
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +31 -11
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +37 -13
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +34 -10
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +25 -9
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +7 -3
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +7 -3
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +13 -5
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +60 -20
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +12 -4
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +97 -33
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +67 -23
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +165 -53
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +49 -17
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +7 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +25 -9
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +108 -36
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +42 -14
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -9
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +7 -3
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +25 -9
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +31 -11
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +79 -27
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +13 -5
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +13 -5
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +19 -7
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +13 -5
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +43 -15
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +37 -13
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +7 -3
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +24 -8
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +119 -39
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +19 -7
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +7 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +13 -5
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +25 -9
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +49 -17
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +37 -13
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +7 -3
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +7 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +24 -8
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +13 -5
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +7 -3
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +7 -3
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +13 -5
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +31 -11
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +48 -16
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +55 -19
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +24 -8
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +13 -5
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +61 -21
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +7 -3
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +7 -3
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +104 -32
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +7 -3
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -9
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -7
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +43 -15
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +25 -9
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +19 -7
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +79 -27
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +7 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +55 -19
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +47 -15
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +19 -7
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +19 -7
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +24 -8
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +31 -11
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +25 -9
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +18 -6
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +7 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +25 -9
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +229 -77
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +7 -3
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +13 -5
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +37 -13
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +12 -4
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +18 -6
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +7 -3
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +12 -4
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +73 -25
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +85 -29
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +7 -3
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +7 -3
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.js +52 -16
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +169 -57
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +72 -24
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +18 -6
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +71 -23
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +13 -5
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +19 -7
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +13 -5
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +187 -63
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +47 -15
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +37 -13
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +55 -19
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +61 -21
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +31 -11
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +61 -21
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +55 -19
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +7 -3
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +7 -3
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +19 -7
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +78 -26
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +7 -3
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +7 -3
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +55 -19
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +49 -17
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +66 -22
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +7 -3
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +61 -21
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Point/index.js +97 -33
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +31 -11
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +67 -23
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +84 -28
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +7 -3
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +43 -15
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +48 -16
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +19 -7
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +7 -3
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +55 -19
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +7 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +37 -13
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +25 -9
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +67 -23
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +7 -3
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +60 -20
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +7 -3
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +61 -21
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +7 -3
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +48 -16
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +13 -5
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +151 -55
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +73 -25
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +7 -3
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +13 -5
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Form/index.js +67 -23
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +13 -5
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +138 -46
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +19 -7
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +7 -3
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +19 -7
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +13 -5
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +19 -7
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/withCondition/index.js +13 -5
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +25 -9
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +7 -3
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +12 -4
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +67 -23
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +19 -7
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +19 -7
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +85 -29
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/icons/Calendar/index.js +13 -5
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +13 -5
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +13 -5
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +13 -5
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +13 -5
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +13 -5
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +13 -5
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +22 -6
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +43 -15
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +13 -5
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +13 -5
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +36 -12
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +13 -5
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +19 -7
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +31 -11
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +13 -5
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +13 -5
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +13 -5
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +19 -7
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +13 -5
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +13 -5
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +18 -6
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +25 -9
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +37 -13
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +13 -5
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +13 -5
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +13 -5
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +25 -9
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +13 -5
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +22 -6
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +13 -5
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +13 -5
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +7 -3
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +7 -3
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +7 -3
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +13 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +13 -5
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +7 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +25 -9
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +7 -3
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +7 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +7 -3
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +7 -3
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +13 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/LivePreview/index.js +13 -5
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +13 -5
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +7 -3
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +7 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +7 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +154 -50
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +7 -3
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +13 -5
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +7 -3
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +7 -3
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +7 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +7 -3
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +13 -5
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +7 -3
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +13 -5
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +7 -3
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -3
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +19 -7
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +19 -7
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +19 -7
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +19 -7
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +27 -7
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +7 -3
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +7 -3
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +7 -3
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +7 -3
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +37 -13
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +29 -13
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/renderTable.js +82 -26
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +168 -56
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +67 -23
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +147 -47
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +67 -23
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +91 -31
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +117 -41
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +19 -7
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +62 -22
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +49 -17
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +162 -54
- package/dist/views/List/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import { useSearchParams } from 'next/navigation.js';
|
|
4
4
|
import * as qs from 'qs-esm';
|
|
5
5
|
import React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
@@ -210,10 +210,14 @@ export const SelectionProvider = ({ children, docs = [], totalDocs })=>{
|
|
|
210
210
|
toggleAll,
|
|
211
211
|
totalDocs
|
|
212
212
|
};
|
|
213
|
-
return /*#__PURE__*/
|
|
213
|
+
return /*#__PURE__*/ _jsxDEV(Context, {
|
|
214
214
|
value: contextRef.current,
|
|
215
215
|
children: children
|
|
216
|
-
}
|
|
216
|
+
}, void 0, false, {
|
|
217
|
+
fileName: "src/providers/Selection/index.tsx",
|
|
218
|
+
lineNumber: 251,
|
|
219
|
+
columnNumber: 10
|
|
220
|
+
}, this);
|
|
217
221
|
};
|
|
218
222
|
export const useSelection = ()=>use(Context);
|
|
219
223
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useListQuery } from '../ListQuery/index.js'\nimport { useLocale } from '../Locale/index.js'\n\nexport enum SelectAllStatus {\n AllAvailable = 'allAvailable',\n AllInPage = 'allInPage',\n None = 'none',\n Some = 'some',\n}\n\ntype SelectionContext = {\n count: number\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n getQueryParams: (additionalParams?: Where) => string\n getSelectedIds: () => (number | string)[]\n selectAll: SelectAllStatus\n selected: Map<number | string, boolean>\n selectedIDs: (number | string)[]\n setSelection: (id: number | string) => void\n /**\n * Selects all rows on the current page within the current query.\n * If `allAvailable` is true, does not select specific IDs so that the query itself affects all rows across all pages.\n */\n toggleAll: (allAvailable?: boolean) => void\n totalDocs: number\n}\n\nconst Context = createContext({\n count: undefined,\n getQueryParams: (additionalParams?: Where) => '',\n getSelectedIds: () => [],\n selectAll: undefined,\n selected: new Map(),\n selectedIDs: [],\n setSelection: (id: number | string) => {},\n toggleAll: (toggleAll: boolean) => {},\n totalDocs: undefined,\n} satisfies SelectionContext)\n\ntype Props = {\n readonly children: React.ReactNode\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly docs: any[]\n readonly totalDocs: number\n}\n\nconst reduceActiveSelections = (selected: Map<number | string, boolean>): (number | string)[] => {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n return ids\n}\n\nexport const SelectionProvider: React.FC<Props> = ({ children, docs = [], totalDocs }) => {\n const contextRef = useRef({} as SelectionContext)\n const { user } = useAuth()\n\n const { code: locale } = useLocale()\n\n const [selected, setSelected] = useState<SelectionContext['selected']>(() => {\n const rows = new Map()\n\n docs.forEach(({ id }) => {\n rows.set(id, false)\n })\n\n return rows\n })\n\n const [selectAll, setSelectAll] = useState<SelectAllStatus>(SelectAllStatus.None)\n const [count, setCount] = useState(0)\n const searchParams = useSearchParams()\n const { query } = useListQuery()\n\n const toggleAll: SelectionContext['toggleAll'] = useCallback(\n (allAvailable = false) => {\n const rows = new Map()\n if (allAvailable) {\n setSelectAll(SelectAllStatus.AllAvailable)\n\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, true)\n }\n })\n } else if (\n // Reset back to `None` if we previously had any type of selection\n selectAll === SelectAllStatus.AllAvailable ||\n selectAll === SelectAllStatus.AllInPage\n ) {\n setSelectAll(SelectAllStatus.None)\n } else {\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, selectAll !== SelectAllStatus.Some)\n }\n })\n }\n\n setSelected(rows)\n },\n [docs, selectAll, user?.id],\n )\n\n const setSelection: SelectionContext['setSelection'] = useCallback(\n (id) => {\n const doc = docs.find((doc) => doc.id === id)\n\n if (doc?._isLocked && user?.id !== doc?._userEditing.id) {\n return // Prevent selection if the document is locked\n }\n\n const existingValue = selected.get(id)\n const isSelected = typeof existingValue === 'boolean' ? !existingValue : true\n\n const newMap = new Map(selected.set(id, isSelected))\n\n // If previously selected all and now deselecting, adjust status\n if (selectAll === SelectAllStatus.AllAvailable && !isSelected) {\n setSelectAll(SelectAllStatus.Some)\n }\n\n setSelected(newMap)\n },\n [selected, docs, selectAll, user?.id],\n )\n\n const getQueryParams = useCallback(\n (additionalWhereParams?: Where): string => {\n let where: Where\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n const params = parseSearchParams(searchParams)?.where as Where\n\n where = params || {\n id: {\n not_equals: '',\n },\n }\n } else {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n where = {\n id: {\n in: ids,\n },\n }\n }\n\n if (additionalWhereParams) {\n where = {\n and: [{ ...additionalWhereParams }, where],\n }\n }\n\n return qs.stringify(\n {\n locale,\n where,\n },\n { addQueryPrefix: true },\n )\n },\n [selectAll, selected, locale, searchParams],\n )\n\n const getSelectedIds = useCallback(() => reduceActiveSelections(selected), [selected])\n\n useEffect(() => {\n if (selectAll === SelectAllStatus.AllAvailable) {\n return\n }\n let some = false\n let all = true\n\n if (!selected.size) {\n all = false\n some = false\n } else {\n for (const [_, value] of selected) {\n all = all && value\n some = some || value\n }\n }\n\n if (all && selected.size === docs.length) {\n setSelectAll(SelectAllStatus.AllInPage)\n } else if (some) {\n setSelectAll(SelectAllStatus.Some)\n } else {\n setSelectAll(SelectAllStatus.None)\n }\n }, [selectAll, selected, totalDocs, docs])\n\n useEffect(() => {\n let newCount = 0\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n newCount = totalDocs\n } else {\n for (const [_, value] of selected) {\n if (value) {\n newCount++\n }\n }\n }\n\n setCount(newCount)\n }, [selectAll, selected, totalDocs])\n\n useEffect(() => {\n setSelectAll(SelectAllStatus.None)\n setSelected(new Map())\n }, [query])\n\n const selectedIDs = useMemo(() => reduceActiveSelections(selected), [selected])\n\n contextRef.current = {\n count,\n getQueryParams,\n getSelectedIds,\n selectAll,\n selected,\n selectedIDs,\n setSelection,\n toggleAll,\n totalDocs,\n }\n\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const useSelection = (): SelectionContext => use(Context)\n"],"names":["useSearchParams","qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","parseSearchParams","useAuth","useListQuery","useLocale","SelectAllStatus","Context","count","undefined","getQueryParams","additionalParams","getSelectedIds","selectAll","selected","Map","selectedIDs","setSelection","id","toggleAll","totalDocs","reduceActiveSelections","ids","key","value","push","SelectionProvider","children","docs","contextRef","user","code","locale","setSelected","rows","forEach","set","setSelectAll","setCount","searchParams","query","allAvailable","_isLocked","_userEditing","doc","find","existingValue","get","isSelected","newMap","additionalWhereParams","where","params","not_equals","in","and","stringify","addQueryPrefix","some","all","size","_","length","newCount","current","useSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useListQuery } from '../ListQuery/index.js'\nimport { useLocale } from '../Locale/index.js'\n\nexport enum SelectAllStatus {\n AllAvailable = 'allAvailable',\n AllInPage = 'allInPage',\n None = 'none',\n Some = 'some',\n}\n\ntype SelectionContext = {\n count: number\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n getQueryParams: (additionalParams?: Where) => string\n getSelectedIds: () => (number | string)[]\n selectAll: SelectAllStatus\n selected: Map<number | string, boolean>\n selectedIDs: (number | string)[]\n setSelection: (id: number | string) => void\n /**\n * Selects all rows on the current page within the current query.\n * If `allAvailable` is true, does not select specific IDs so that the query itself affects all rows across all pages.\n */\n toggleAll: (allAvailable?: boolean) => void\n totalDocs: number\n}\n\nconst Context = createContext({\n count: undefined,\n getQueryParams: (additionalParams?: Where) => '',\n getSelectedIds: () => [],\n selectAll: undefined,\n selected: new Map(),\n selectedIDs: [],\n setSelection: (id: number | string) => {},\n toggleAll: (toggleAll: boolean) => {},\n totalDocs: undefined,\n} satisfies SelectionContext)\n\ntype Props = {\n readonly children: React.ReactNode\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly docs: any[]\n readonly totalDocs: number\n}\n\nconst reduceActiveSelections = (selected: Map<number | string, boolean>): (number | string)[] => {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n return ids\n}\n\nexport const SelectionProvider: React.FC<Props> = ({ children, docs = [], totalDocs }) => {\n const contextRef = useRef({} as SelectionContext)\n const { user } = useAuth()\n\n const { code: locale } = useLocale()\n\n const [selected, setSelected] = useState<SelectionContext['selected']>(() => {\n const rows = new Map()\n\n docs.forEach(({ id }) => {\n rows.set(id, false)\n })\n\n return rows\n })\n\n const [selectAll, setSelectAll] = useState<SelectAllStatus>(SelectAllStatus.None)\n const [count, setCount] = useState(0)\n const searchParams = useSearchParams()\n const { query } = useListQuery()\n\n const toggleAll: SelectionContext['toggleAll'] = useCallback(\n (allAvailable = false) => {\n const rows = new Map()\n if (allAvailable) {\n setSelectAll(SelectAllStatus.AllAvailable)\n\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, true)\n }\n })\n } else if (\n // Reset back to `None` if we previously had any type of selection\n selectAll === SelectAllStatus.AllAvailable ||\n selectAll === SelectAllStatus.AllInPage\n ) {\n setSelectAll(SelectAllStatus.None)\n } else {\n docs.forEach(({ id, _isLocked, _userEditing }) => {\n if (!_isLocked || _userEditing?.id === user?.id) {\n rows.set(id, selectAll !== SelectAllStatus.Some)\n }\n })\n }\n\n setSelected(rows)\n },\n [docs, selectAll, user?.id],\n )\n\n const setSelection: SelectionContext['setSelection'] = useCallback(\n (id) => {\n const doc = docs.find((doc) => doc.id === id)\n\n if (doc?._isLocked && user?.id !== doc?._userEditing.id) {\n return // Prevent selection if the document is locked\n }\n\n const existingValue = selected.get(id)\n const isSelected = typeof existingValue === 'boolean' ? !existingValue : true\n\n const newMap = new Map(selected.set(id, isSelected))\n\n // If previously selected all and now deselecting, adjust status\n if (selectAll === SelectAllStatus.AllAvailable && !isSelected) {\n setSelectAll(SelectAllStatus.Some)\n }\n\n setSelected(newMap)\n },\n [selected, docs, selectAll, user?.id],\n )\n\n const getQueryParams = useCallback(\n (additionalWhereParams?: Where): string => {\n let where: Where\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n const params = parseSearchParams(searchParams)?.where as Where\n\n where = params || {\n id: {\n not_equals: '',\n },\n }\n } else {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n where = {\n id: {\n in: ids,\n },\n }\n }\n\n if (additionalWhereParams) {\n where = {\n and: [{ ...additionalWhereParams }, where],\n }\n }\n\n return qs.stringify(\n {\n locale,\n where,\n },\n { addQueryPrefix: true },\n )\n },\n [selectAll, selected, locale, searchParams],\n )\n\n const getSelectedIds = useCallback(() => reduceActiveSelections(selected), [selected])\n\n useEffect(() => {\n if (selectAll === SelectAllStatus.AllAvailable) {\n return\n }\n let some = false\n let all = true\n\n if (!selected.size) {\n all = false\n some = false\n } else {\n for (const [_, value] of selected) {\n all = all && value\n some = some || value\n }\n }\n\n if (all && selected.size === docs.length) {\n setSelectAll(SelectAllStatus.AllInPage)\n } else if (some) {\n setSelectAll(SelectAllStatus.Some)\n } else {\n setSelectAll(SelectAllStatus.None)\n }\n }, [selectAll, selected, totalDocs, docs])\n\n useEffect(() => {\n let newCount = 0\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n newCount = totalDocs\n } else {\n for (const [_, value] of selected) {\n if (value) {\n newCount++\n }\n }\n }\n\n setCount(newCount)\n }, [selectAll, selected, totalDocs])\n\n useEffect(() => {\n setSelectAll(SelectAllStatus.None)\n setSelected(new Map())\n }, [query])\n\n const selectedIDs = useMemo(() => reduceActiveSelections(selected), [selected])\n\n contextRef.current = {\n count,\n getQueryParams,\n getSelectedIds,\n selectAll,\n selected,\n selectedIDs,\n setSelection,\n toggleAll,\n totalDocs,\n }\n\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const useSelection = (): SelectionContext => use(Context)\n"],"names":["useSearchParams","qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","parseSearchParams","useAuth","useListQuery","useLocale","SelectAllStatus","Context","count","undefined","getQueryParams","additionalParams","getSelectedIds","selectAll","selected","Map","selectedIDs","setSelection","id","toggleAll","totalDocs","reduceActiveSelections","ids","key","value","push","SelectionProvider","children","docs","contextRef","user","code","locale","setSelected","rows","forEach","set","setSelectAll","setCount","searchParams","query","allAvailable","_isLocked","_userEditing","doc","find","existingValue","get","isSelected","newMap","additionalWhereParams","where","params","not_equals","in","and","stringify","addQueryPrefix","some","all","size","_","length","newCount","current","useSelection"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import React, { createContext, useCallback } from 'react';
|
|
3
3
|
/**
|
|
4
4
|
* Properties specific to the versions view
|
|
@@ -185,7 +185,7 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
185
185
|
[
|
|
186
186
|
serverFunction
|
|
187
187
|
]);
|
|
188
|
-
return /*#__PURE__*/
|
|
188
|
+
return /*#__PURE__*/ _jsxDEV(ServerFunctionsContext, {
|
|
189
189
|
value: {
|
|
190
190
|
_internal_renderField,
|
|
191
191
|
copyDataFromLocale,
|
|
@@ -199,7 +199,11 @@ export const ServerFunctionsProvider = ({ children, serverFunction })=>{
|
|
|
199
199
|
slugify
|
|
200
200
|
},
|
|
201
201
|
children: children
|
|
202
|
-
}
|
|
202
|
+
}, void 0, false, {
|
|
203
|
+
fileName: "src/providers/ServerFunctions/index.tsx",
|
|
204
|
+
lineNumber: 332,
|
|
205
|
+
columnNumber: 5
|
|
206
|
+
}, this);
|
|
203
207
|
};
|
|
204
208
|
|
|
205
209
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n AdminViewServerPropsOnly,\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentPreferences,\n DocumentSlots,\n FormState,\n GetFolderResultsComponentAndDataArgs,\n Locale,\n Params,\n RenderDocumentVersionsProperties,\n ServerFunction,\n ServerFunctionClient,\n SlugifyServerFunctionArgs,\n} from 'payload'\nimport type { Slugify } from 'payload/shared'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type {\n RenderFieldServerFnArgs,\n RenderFieldServerFnReturnType,\n} from '../../forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js'\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\nimport type { getFolderResultsComponentAndDataHandler } from '../../utilities/getFolderResultsComponentAndData.js'\nimport type {\n schedulePublishHandler,\n SchedulePublishHandlerArgs,\n} from '../../utilities/schedulePublishHandler.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype SchedulePublishClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof schedulePublishHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\ntype SlugifyClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SlugifyServerFunctionArgs, 'clientConfig' | 'req'>,\n) => ReturnType<Slugify>\n\nexport type RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\ntype RenderDocumentBaseArgs = {\n collectionSlug: string\n disableActions?: boolean\n docID: number | string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n paramsOverride?: AdminViewServerPropsOnly['params']\n redirectAfterCreate?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n redirectAfterRestore?: boolean\n searchParams?: Params\n /**\n * Properties specific to the versions view\n */\n versions?: RenderDocumentVersionsProperties\n}\n\nexport type RenderDocumentServerFunction = ServerFunction<\n RenderDocumentBaseArgs,\n Promise<RenderDocumentResult>\n>\n\ntype RenderDocumentServerFunctionHookFn = (\n // No req or importMap - those are augmented by handleServerFunctions\n args: {\n signal?: AbortSignal\n } & RenderDocumentBaseArgs,\n) => Promise<RenderDocumentResult>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n id?: number | string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype GetFolderResultsComponentAndDataClient = (\n args: {\n signal?: AbortSignal\n } & Omit<GetFolderResultsComponentAndDataArgs, 'req'>,\n) => ReturnType<typeof getFolderResultsComponentAndDataHandler>\n\ntype RenderFieldClient = (args: RenderFieldServerFnArgs) => Promise<RenderFieldServerFnReturnType>\n\nexport type ServerFunctionsContextType = {\n _internal_renderField: RenderFieldClient\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFolderResultsComponentAndData: GetFolderResultsComponentAndDataClient\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocumentServerFunctionHookFn\n schedulePublish: SchedulePublishClient\n serverFunction: ServerFunctionClient\n slugify: SlugifyClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.use(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const schedulePublish = useCallback<SchedulePublishClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'schedule-publish',\n args: { ...rest },\n })) as Awaited<ReturnType<typeof schedulePublishHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n let error = `Error scheduling ${rest.type}`\n\n if (rest.doc) {\n error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`\n }\n\n return { error }\n },\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildFormStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildTableStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocumentServerFunctionHookFn>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: {\n fallbackLocale: false,\n ...rest,\n } as Parameters<RenderDocumentServerFunctionHookFn>[0],\n })) as Awaited<ReturnType<RenderDocumentServerFunctionHookFn>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const getFolderResultsComponentAndData = useCallback<GetFolderResultsComponentAndDataClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'get-folder-results-component-and-data',\n args: rest,\n })) as Awaited<ReturnType<typeof getFolderResultsComponentAndDataHandler>>\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const _internal_renderField = useCallback<RenderFieldClient>(\n async (args) => {\n try {\n const result = (await serverFunction({\n name: 'render-field',\n args,\n })) as RenderFieldServerFnReturnType\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const slugify = useCallback<SlugifyClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'slugify',\n args: { ...rest },\n })) as Awaited<ReturnType<Slugify>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext\n value={{\n _internal_renderField,\n copyDataFromLocale,\n getDocumentSlots,\n getFolderResultsComponentAndData,\n getFormState,\n getTableState,\n renderDocument,\n schedulePublish,\n serverFunction,\n slugify,\n }}\n >\n {children}\n </ServerFunctionsContext>\n )\n}\n"],"names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","use","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","schedulePublish","signal","remoteSignal","rest","aborted","result","_err","console","error","type","doc","value","relationTo","getFormState","fallbackLocale","state","getTableState","renderDocument","copyDataFromLocale","getFolderResultsComponentAndData","_internal_renderField","slugify"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n AdminViewServerPropsOnly,\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentPreferences,\n DocumentSlots,\n FormState,\n GetFolderResultsComponentAndDataArgs,\n Locale,\n Params,\n RenderDocumentVersionsProperties,\n ServerFunction,\n ServerFunctionClient,\n SlugifyServerFunctionArgs,\n} from 'payload'\nimport type { Slugify } from 'payload/shared'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type {\n RenderFieldServerFnArgs,\n RenderFieldServerFnReturnType,\n} from '../../forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js'\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\nimport type { getFolderResultsComponentAndDataHandler } from '../../utilities/getFolderResultsComponentAndData.js'\nimport type {\n schedulePublishHandler,\n SchedulePublishHandlerArgs,\n} from '../../utilities/schedulePublishHandler.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype SchedulePublishClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof schedulePublishHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\ntype SlugifyClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SlugifyServerFunctionArgs, 'clientConfig' | 'req'>,\n) => ReturnType<Slugify>\n\nexport type RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\ntype RenderDocumentBaseArgs = {\n collectionSlug: string\n disableActions?: boolean\n docID: number | string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n paramsOverride?: AdminViewServerPropsOnly['params']\n redirectAfterCreate?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n redirectAfterRestore?: boolean\n searchParams?: Params\n /**\n * Properties specific to the versions view\n */\n versions?: RenderDocumentVersionsProperties\n}\n\nexport type RenderDocumentServerFunction = ServerFunction<\n RenderDocumentBaseArgs,\n Promise<RenderDocumentResult>\n>\n\ntype RenderDocumentServerFunctionHookFn = (\n // No req or importMap - those are augmented by handleServerFunctions\n args: {\n signal?: AbortSignal\n } & RenderDocumentBaseArgs,\n) => Promise<RenderDocumentResult>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n id?: number | string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype GetFolderResultsComponentAndDataClient = (\n args: {\n signal?: AbortSignal\n } & Omit<GetFolderResultsComponentAndDataArgs, 'req'>,\n) => ReturnType<typeof getFolderResultsComponentAndDataHandler>\n\ntype RenderFieldClient = (args: RenderFieldServerFnArgs) => Promise<RenderFieldServerFnReturnType>\n\nexport type ServerFunctionsContextType = {\n _internal_renderField: RenderFieldClient\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFolderResultsComponentAndData: GetFolderResultsComponentAndDataClient\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocumentServerFunctionHookFn\n schedulePublish: SchedulePublishClient\n serverFunction: ServerFunctionClient\n slugify: SlugifyClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.use(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const schedulePublish = useCallback<SchedulePublishClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'schedule-publish',\n args: { ...rest },\n })) as Awaited<ReturnType<typeof schedulePublishHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n let error = `Error scheduling ${rest.type}`\n\n if (rest.doc) {\n error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`\n }\n\n return { error }\n },\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildFormStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildTableStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocumentServerFunctionHookFn>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: {\n fallbackLocale: false,\n ...rest,\n } as Parameters<RenderDocumentServerFunctionHookFn>[0],\n })) as Awaited<ReturnType<RenderDocumentServerFunctionHookFn>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const getFolderResultsComponentAndData = useCallback<GetFolderResultsComponentAndDataClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'get-folder-results-component-and-data',\n args: rest,\n })) as Awaited<ReturnType<typeof getFolderResultsComponentAndDataHandler>>\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const _internal_renderField = useCallback<RenderFieldClient>(\n async (args) => {\n try {\n const result = (await serverFunction({\n name: 'render-field',\n args,\n })) as RenderFieldServerFnReturnType\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const slugify = useCallback<SlugifyClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'slugify',\n args: { ...rest },\n })) as Awaited<ReturnType<Slugify>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext\n value={{\n _internal_renderField,\n copyDataFromLocale,\n getDocumentSlots,\n getFolderResultsComponentAndData,\n getFormState,\n getTableState,\n renderDocument,\n schedulePublish,\n serverFunction,\n slugify,\n }}\n >\n {children}\n </ServerFunctionsContext>\n )\n}\n"],"names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","use","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","schedulePublish","signal","remoteSignal","rest","aborted","result","_err","console","error","type","doc","value","relationTo","getFormState","fallbackLocale","state","getTableState","renderDocument","copyDataFromLocale","getFolderResultsComponentAndData","_internal_renderField","slugify"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
|
|
5
5
|
import { DefaultCell } from '../../../elements/Table/DefaultCell/index.js';
|
|
@@ -28,12 +28,20 @@ export const RenderDefaultCell = ({ clientProps, columnIndex, isLinkedColumn })=
|
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
return /*#__PURE__*/
|
|
31
|
+
return /*#__PURE__*/ _jsxDEV(CellPropsContext, {
|
|
32
32
|
value: propsToPass,
|
|
33
|
-
children: isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : /*#__PURE__*/
|
|
33
|
+
children: isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : /*#__PURE__*/ _jsxDEV(DefaultCell, {
|
|
34
34
|
...propsToPass
|
|
35
|
-
}
|
|
36
|
-
|
|
35
|
+
}, void 0, false, {
|
|
36
|
+
fileName: "src/providers/TableColumns/RenderDefaultCell/index.tsx",
|
|
37
|
+
lineNumber: 47,
|
|
38
|
+
columnNumber: 68
|
|
39
|
+
}, this)
|
|
40
|
+
}, void 0, false, {
|
|
41
|
+
fileName: "src/providers/TableColumns/RenderDefaultCell/index.tsx",
|
|
42
|
+
lineNumber: 46,
|
|
43
|
+
columnNumber: 5
|
|
44
|
+
}, this);
|
|
37
45
|
};
|
|
38
46
|
|
|
39
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../../elements/Table/DefaultCell/index.js'\nimport { useTableColumns } from '../../../providers/TableColumns/index.js'\nimport './index.scss'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null => React.use(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n doc: rowData,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext>\n )\n}\n"],"names":["React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","use","RenderDefaultCell","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","propsToPass","className","link","onClick","collectionSlug","rowColl","rowData","doc","docID","id","value"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,oBAAoB,QAAQ,2CAA0C;AAC/E,SAASC,WAAW,QAAQ,+CAA8C;AAC1E,SAASC,eAAe,QAAQ,2CAA0C;AAC1E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,MAAMC,iCAAmBL,MAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,eAAe,IAAwCP,MAAMQ,GAAG,CAACH,kBAAiB;AAE/F,OAAO,MAAMI,oBAKR,CAAC,EAAEC,WAAW,EAAEC,WAAW,EAAEC,cAAc,EAAE;IAChD,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGb;IACjC,MAAM,EAAEc,kBAAkB,EAAE,GAAGZ;IAE/B,MAAMa,cAAyC;QAC7C,GAAGN,WAAW;QACdC;IACF;IAEA,IAAIC,kBAAkBC,YAAY;QAChCG,YAAYC,SAAS,GAAG,GAAGb,UAAU,YAAY,CAAC;QAClDY,YAAYE,IAAI,GAAG;QACnBF,YAAYG,OAAO,GAAG,CAAC,EAAEC,gBAAgBC,OAAO,EAAEC,OAAO,EAAE;YACzD,IAAI,OAAOR,aAAa,YAAY;gBAClCA,SAAS;oBACPM,gBAAgBC;oBAChBE,KAAKD;oBACLE,OAAOF,QAAQG,EAAE;gBACnB;YACF;QACF;IACF;IAEA,qBACE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../../elements/Table/DefaultCell/index.js'\nimport { useTableColumns } from '../../../providers/TableColumns/index.js'\nimport './index.scss'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null => React.use(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n doc: rowData,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext>\n )\n}\n"],"names":["React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","use","RenderDefaultCell","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","propsToPass","className","link","onClick","collectionSlug","rowColl","rowData","doc","docID","id","value"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,oBAAoB,QAAQ,2CAA0C;AAC/E,SAASC,WAAW,QAAQ,+CAA8C;AAC1E,SAASC,eAAe,QAAQ,2CAA0C;AAC1E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,MAAMC,iCAAmBL,MAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,eAAe,IAAwCP,MAAMQ,GAAG,CAACH,kBAAiB;AAE/F,OAAO,MAAMI,oBAKR,CAAC,EAAEC,WAAW,EAAEC,WAAW,EAAEC,cAAc,EAAE;IAChD,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGb;IACjC,MAAM,EAAEc,kBAAkB,EAAE,GAAGZ;IAE/B,MAAMa,cAAyC;QAC7C,GAAGN,WAAW;QACdC;IACF;IAEA,IAAIC,kBAAkBC,YAAY;QAChCG,YAAYC,SAAS,GAAG,GAAGb,UAAU,YAAY,CAAC;QAClDY,YAAYE,IAAI,GAAG;QACnBF,YAAYG,OAAO,GAAG,CAAC,EAAEC,gBAAgBC,OAAO,EAAEC,OAAO,EAAE;YACzD,IAAI,OAAOR,aAAa,YAAY;gBAClCA,SAAS;oBACPM,gBAAgBC;oBAChBE,KAAKD;oBACLE,OAAOF,QAAQG,EAAE;gBACnB;YACF;QACF;IACF;IAEA,qBACE,QAACpB;QAAiBqB,OAAOV;kBACtBJ,kBAAkBG,qBAAqBA,mCAAqB,QAACb;YAAa,GAAGc,WAAW;;;;;;;;;;;AAG/F,EAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { fieldIsHiddenOrDisabled, fieldIsID, fieldIsPresentationalOnly, flattenTopLevelFields } from 'payload/shared';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js';
|
|
@@ -99,13 +99,17 @@ export const buildColumnState = (args)=>{
|
|
|
99
99
|
const label = clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined ? clientField.labelWithPrefix : 'label' in clientField ? clientField.label : undefined;
|
|
100
100
|
// Convert accessor to dot notation specifically for SortColumn sorting behavior
|
|
101
101
|
const dotAccessor = accessor?.replace(/-/g, '.');
|
|
102
|
-
const Heading = /*#__PURE__*/
|
|
102
|
+
const Heading = /*#__PURE__*/ _jsxDEV(SortColumn, {
|
|
103
103
|
disable: fieldAffectsDataSubFields || fieldIsPresentationalOnly(clientField) || undefined,
|
|
104
104
|
Label: CustomLabel,
|
|
105
105
|
label: label,
|
|
106
106
|
name: dotAccessor,
|
|
107
107
|
...sortColumnProps || {}
|
|
108
|
-
}
|
|
108
|
+
}, void 0, false, {
|
|
109
|
+
fileName: "src/providers/TableColumns/buildColumnState/index.tsx",
|
|
110
|
+
lineNumber: 240,
|
|
111
|
+
columnNumber: 7
|
|
112
|
+
}, this);
|
|
109
113
|
const column = {
|
|
110
114
|
accessor,
|
|
111
115
|
active: isActive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientComponentProps,\n ClientField,\n CollectionPreferences,\n CollectionSlug,\n Column,\n DefaultCellComponentProps,\n Document,\n Field,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ServerComponentProps,\n StaticLabel,\n ViewTypes,\n} from 'payload'\n\nimport {\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsPresentationalOnly,\n flattenTopLevelFields,\n} from 'payload/shared'\nimport React from 'react'\n\nimport type { SortColumnProps } from '../../../elements/SortColumn/index.js'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { filterFieldsWithPermissions } from './filterFieldsWithPermissions.js'\nimport { isColumnActive } from './isColumnActive.js'\nimport { renderCell } from './renderCell.js'\nimport { sortFieldMap } from './sortFieldMap.js'\n\nexport type BuildColumnStateArgs = {\n beforeRows?: Column[]\n clientFields: ClientField[]\n columns?: CollectionPreferences['columns']\n customCellProps: DefaultCellComponentProps['customCellProps']\n enableLinkedCell?: boolean\n enableRowSelections: boolean\n enableRowTypes?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n i18n: I18nClient\n payload: Payload\n req?: PayloadRequest\n serverFields: Field[]\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n} & (\n | {\n collectionSlug: CollectionSlug\n dataType: 'monomorphic'\n docs: PaginatedDocs['docs']\n }\n | {\n collectionSlug?: undefined\n dataType: 'polymorphic'\n docs: {\n relationTo: CollectionSlug\n value: Document\n }[]\n }\n)\n\nexport const buildColumnState = (args: BuildColumnStateArgs): Column[] => {\n const {\n beforeRows,\n clientFields,\n collectionSlug,\n columns,\n customCellProps,\n dataType,\n docs,\n enableLinkedCell = true,\n enableRowSelections,\n fieldPermissions,\n i18n,\n payload,\n req,\n serverFields,\n sortColumnProps,\n useAsTitle,\n viewType,\n } = args\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({ fieldPermissions, fields: clientFields }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as ClientField[]\n\n let _sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({\n fieldPermissions,\n fields: serverFields,\n }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as Field[] // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columns`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => fieldIsID(field))\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columns`\n sortedFieldMap = sortFieldMap<ClientField>(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap<Field>(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, clientField, colIndex) => {\n if (fieldIsHiddenOrDisabled(clientField) && !fieldIsID(clientField)) {\n return acc\n }\n\n const accessor =\n (clientField as any).accessor ?? ('name' in clientField ? clientField.name : undefined)\n\n const serverField = _sortedFieldMap.find((f) => {\n const fAccessor = (f as any).accessor ?? ('name' in f ? f.name : undefined)\n return fAccessor === accessor\n })\n\n const hasCustomCell =\n serverField?.admin &&\n 'components' in serverField.admin &&\n serverField.admin.components &&\n 'Cell' in serverField.admin.components &&\n serverField.admin.components.Cell\n\n if (serverField && serverField.type === 'group' && !hasCustomCell) {\n return acc // skip any group without a custom cell\n }\n\n const columnPref = columns?.find(\n (preference) => clientField && 'name' in clientField && preference.accessor === accessor,\n )\n\n const isActive = isColumnActive({\n accessor,\n activeColumnsIndices,\n column: columnPref,\n columns,\n })\n\n if (isActive && !activeColumnsIndices.includes(colIndex)) {\n activeColumnsIndices.push(colIndex)\n }\n\n let CustomLabel = undefined\n\n if (dataType === 'monomorphic') {\n const CustomLabelToRender =\n serverField &&\n 'admin' in serverField &&\n 'components' in serverField.admin &&\n 'Label' in serverField.admin.components &&\n serverField.admin.components.Label !== undefined // let it return `null`\n ? serverField.admin.components.Label\n : undefined\n\n // TODO: customComponent will be optional in v4\n const clientProps: Omit<ClientComponentProps, 'customComponents'> = {\n field: clientField,\n }\n\n const customLabelServerProps: Pick<\n ServerComponentProps,\n 'clientField' | 'collectionSlug' | 'field' | 'i18n' | 'payload'\n > = {\n clientField,\n collectionSlug,\n field: serverField,\n i18n,\n payload,\n }\n\n CustomLabel = CustomLabelToRender\n ? RenderServerComponent({\n clientProps,\n Component: CustomLabelToRender,\n importMap: payload.importMap,\n serverProps: customLabelServerProps,\n })\n : undefined\n }\n\n const fieldAffectsDataSubFields =\n clientField &&\n clientField.type &&\n (clientField.type === 'array' ||\n clientField.type === 'group' ||\n clientField.type === 'blocks')\n\n const label =\n clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined\n ? clientField.labelWithPrefix\n : 'label' in clientField\n ? clientField.label\n : undefined\n\n // Convert accessor to dot notation specifically for SortColumn sorting behavior\n const dotAccessor = accessor?.replace(/-/g, '.')\n\n const Heading = (\n <SortColumn\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(clientField) || undefined}\n Label={CustomLabel}\n label={label as StaticLabel}\n name={dotAccessor}\n {...(sortColumnProps || {})}\n />\n )\n\n const column: Column = {\n accessor,\n active: isActive,\n CustomLabel,\n field: clientField,\n Heading,\n renderedCells: isActive\n ? docs.map((doc, rowIndex) => {\n return renderCell({\n clientField,\n collectionSlug: dataType === 'monomorphic' ? collectionSlug : doc.relationTo,\n columnIndex: colIndex,\n customCellProps,\n doc: dataType === 'monomorphic' ? doc : doc.value,\n enableRowSelections,\n i18n,\n isLinkedColumn: enableLinkedCell && colIndex === activeColumnsIndices[0],\n payload,\n req,\n rowIndex,\n serverField,\n viewType,\n })\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"names":["fieldIsHiddenOrDisabled","fieldIsID","fieldIsPresentationalOnly","flattenTopLevelFields","React","RenderServerComponent","SortColumn","filterFieldsWithPermissions","isColumnActive","renderCell","sortFieldMap","buildColumnState","args","beforeRows","clientFields","collectionSlug","columns","customCellProps","dataType","docs","enableLinkedCell","enableRowSelections","fieldPermissions","i18n","payload","req","serverFields","sortColumnProps","useAsTitle","viewType","sortedFieldMap","fields","keepPresentationalFields","moveSubFieldsToTop","_sortedFieldMap","idFieldIndex","findIndex","field","idField","splice","unshift","useAsTitleFieldIndex","name","useAsTitleField","sortTo","activeColumnsIndices","sorted","reduce","acc","clientField","colIndex","accessor","undefined","serverField","find","f","fAccessor","hasCustomCell","admin","components","Cell","type","columnPref","preference","isActive","column","includes","push","CustomLabel","CustomLabelToRender","Label","clientProps","customLabelServerProps","Component","importMap","serverProps","fieldAffectsDataSubFields","label","labelWithPrefix","dotAccessor","replace","Heading","disable","active","renderedCells","map","doc","rowIndex","relationTo","columnIndex","value","isLinkedColumn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientComponentProps,\n ClientField,\n CollectionPreferences,\n CollectionSlug,\n Column,\n DefaultCellComponentProps,\n Document,\n Field,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ServerComponentProps,\n StaticLabel,\n ViewTypes,\n} from 'payload'\n\nimport {\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsPresentationalOnly,\n flattenTopLevelFields,\n} from 'payload/shared'\nimport React from 'react'\n\nimport type { SortColumnProps } from '../../../elements/SortColumn/index.js'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { filterFieldsWithPermissions } from './filterFieldsWithPermissions.js'\nimport { isColumnActive } from './isColumnActive.js'\nimport { renderCell } from './renderCell.js'\nimport { sortFieldMap } from './sortFieldMap.js'\n\nexport type BuildColumnStateArgs = {\n beforeRows?: Column[]\n clientFields: ClientField[]\n columns?: CollectionPreferences['columns']\n customCellProps: DefaultCellComponentProps['customCellProps']\n enableLinkedCell?: boolean\n enableRowSelections: boolean\n enableRowTypes?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n i18n: I18nClient\n payload: Payload\n req?: PayloadRequest\n serverFields: Field[]\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n} & (\n | {\n collectionSlug: CollectionSlug\n dataType: 'monomorphic'\n docs: PaginatedDocs['docs']\n }\n | {\n collectionSlug?: undefined\n dataType: 'polymorphic'\n docs: {\n relationTo: CollectionSlug\n value: Document\n }[]\n }\n)\n\nexport const buildColumnState = (args: BuildColumnStateArgs): Column[] => {\n const {\n beforeRows,\n clientFields,\n collectionSlug,\n columns,\n customCellProps,\n dataType,\n docs,\n enableLinkedCell = true,\n enableRowSelections,\n fieldPermissions,\n i18n,\n payload,\n req,\n serverFields,\n sortColumnProps,\n useAsTitle,\n viewType,\n } = args\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({ fieldPermissions, fields: clientFields }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as ClientField[]\n\n let _sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({\n fieldPermissions,\n fields: serverFields,\n }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as Field[] // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columns`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => fieldIsID(field))\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columns`\n sortedFieldMap = sortFieldMap<ClientField>(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap<Field>(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, clientField, colIndex) => {\n if (fieldIsHiddenOrDisabled(clientField) && !fieldIsID(clientField)) {\n return acc\n }\n\n const accessor =\n (clientField as any).accessor ?? ('name' in clientField ? clientField.name : undefined)\n\n const serverField = _sortedFieldMap.find((f) => {\n const fAccessor = (f as any).accessor ?? ('name' in f ? f.name : undefined)\n return fAccessor === accessor\n })\n\n const hasCustomCell =\n serverField?.admin &&\n 'components' in serverField.admin &&\n serverField.admin.components &&\n 'Cell' in serverField.admin.components &&\n serverField.admin.components.Cell\n\n if (serverField && serverField.type === 'group' && !hasCustomCell) {\n return acc // skip any group without a custom cell\n }\n\n const columnPref = columns?.find(\n (preference) => clientField && 'name' in clientField && preference.accessor === accessor,\n )\n\n const isActive = isColumnActive({\n accessor,\n activeColumnsIndices,\n column: columnPref,\n columns,\n })\n\n if (isActive && !activeColumnsIndices.includes(colIndex)) {\n activeColumnsIndices.push(colIndex)\n }\n\n let CustomLabel = undefined\n\n if (dataType === 'monomorphic') {\n const CustomLabelToRender =\n serverField &&\n 'admin' in serverField &&\n 'components' in serverField.admin &&\n 'Label' in serverField.admin.components &&\n serverField.admin.components.Label !== undefined // let it return `null`\n ? serverField.admin.components.Label\n : undefined\n\n // TODO: customComponent will be optional in v4\n const clientProps: Omit<ClientComponentProps, 'customComponents'> = {\n field: clientField,\n }\n\n const customLabelServerProps: Pick<\n ServerComponentProps,\n 'clientField' | 'collectionSlug' | 'field' | 'i18n' | 'payload'\n > = {\n clientField,\n collectionSlug,\n field: serverField,\n i18n,\n payload,\n }\n\n CustomLabel = CustomLabelToRender\n ? RenderServerComponent({\n clientProps,\n Component: CustomLabelToRender,\n importMap: payload.importMap,\n serverProps: customLabelServerProps,\n })\n : undefined\n }\n\n const fieldAffectsDataSubFields =\n clientField &&\n clientField.type &&\n (clientField.type === 'array' ||\n clientField.type === 'group' ||\n clientField.type === 'blocks')\n\n const label =\n clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined\n ? clientField.labelWithPrefix\n : 'label' in clientField\n ? clientField.label\n : undefined\n\n // Convert accessor to dot notation specifically for SortColumn sorting behavior\n const dotAccessor = accessor?.replace(/-/g, '.')\n\n const Heading = (\n <SortColumn\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(clientField) || undefined}\n Label={CustomLabel}\n label={label as StaticLabel}\n name={dotAccessor}\n {...(sortColumnProps || {})}\n />\n )\n\n const column: Column = {\n accessor,\n active: isActive,\n CustomLabel,\n field: clientField,\n Heading,\n renderedCells: isActive\n ? docs.map((doc, rowIndex) => {\n return renderCell({\n clientField,\n collectionSlug: dataType === 'monomorphic' ? collectionSlug : doc.relationTo,\n columnIndex: colIndex,\n customCellProps,\n doc: dataType === 'monomorphic' ? doc : doc.value,\n enableRowSelections,\n i18n,\n isLinkedColumn: enableLinkedCell && colIndex === activeColumnsIndices[0],\n payload,\n req,\n rowIndex,\n serverField,\n viewType,\n })\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"names":["fieldIsHiddenOrDisabled","fieldIsID","fieldIsPresentationalOnly","flattenTopLevelFields","React","RenderServerComponent","SortColumn","filterFieldsWithPermissions","isColumnActive","renderCell","sortFieldMap","buildColumnState","args","beforeRows","clientFields","collectionSlug","columns","customCellProps","dataType","docs","enableLinkedCell","enableRowSelections","fieldPermissions","i18n","payload","req","serverFields","sortColumnProps","useAsTitle","viewType","sortedFieldMap","fields","keepPresentationalFields","moveSubFieldsToTop","_sortedFieldMap","idFieldIndex","findIndex","field","idField","splice","unshift","useAsTitleFieldIndex","name","useAsTitleField","sortTo","activeColumnsIndices","sorted","reduce","acc","clientField","colIndex","accessor","undefined","serverField","find","f","fAccessor","hasCustomCell","admin","components","Cell","type","columnPref","preference","isActive","column","includes","push","CustomLabel","CustomLabelToRender","Label","clientProps","customLabelServerProps","Component","importMap","serverProps","fieldAffectsDataSubFields","label","labelWithPrefix","dotAccessor","replace","Heading","disable","active","renderedCells","map","doc","rowIndex","relationTo","columnIndex","value","isLinkedColumn"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { MissingEditorProp } from 'payload';
|
|
3
3
|
import { formatAdminURL } from 'payload/shared';
|
|
4
4
|
import { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js';
|
|
@@ -143,15 +143,23 @@ export function renderCell({ clientField, collectionSlug, columnIndex, customCel
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
return /*#__PURE__*/
|
|
146
|
+
return /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
147
147
|
CustomComponent: CustomCell,
|
|
148
|
-
Fallback: /*#__PURE__*/
|
|
148
|
+
Fallback: /*#__PURE__*/ _jsxDEV(RenderDefaultCell, {
|
|
149
149
|
clientProps: cellClientProps,
|
|
150
150
|
columnIndex: columnIndex,
|
|
151
151
|
enableRowSelections: enableRowSelections,
|
|
152
152
|
isLinkedColumn: isLinkedColumn
|
|
153
|
-
}
|
|
154
|
-
|
|
153
|
+
}, void 0, false, {
|
|
154
|
+
fileName: "src/providers/TableColumns/buildColumnState/renderCell.tsx",
|
|
155
|
+
lineNumber: 226,
|
|
156
|
+
columnNumber: 9
|
|
157
|
+
}, void 0)
|
|
158
|
+
}, `${rowIndex}-${columnIndex}`, false, {
|
|
159
|
+
fileName: "src/providers/TableColumns/buildColumnState/renderCell.tsx",
|
|
160
|
+
lineNumber: 223,
|
|
161
|
+
columnNumber: 5
|
|
162
|
+
}, this);
|
|
155
163
|
}
|
|
156
164
|
|
|
157
165
|
//# sourceMappingURL=renderCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/TableColumns/buildColumnState/renderCell.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientField,\n DefaultCellComponentProps,\n DefaultServerCellComponentProps,\n Document,\n Field,\n Payload,\n PayloadRequest,\n ViewTypes,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\n\nimport { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js'\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n DefaultCell,\n RenderDefaultCell,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { hasOptionLabelJSXElement } from '../../../utilities/hasOptionLabelJSXElement.js'\nimport { findValueFromPath } from './findValueFromPath.js'\n\ntype RenderCellArgs = {\n readonly clientField: ClientField\n readonly collectionSlug: string\n readonly columnIndex: number\n readonly customCellProps: DefaultCellComponentProps['customCellProps']\n readonly doc: Document\n readonly enableRowSelections: boolean\n readonly i18n: I18nClient\n readonly isLinkedColumn: boolean\n readonly payload: Payload\n readonly req?: PayloadRequest\n readonly rowIndex: number\n readonly serverField: Field\n readonly viewType?: ViewTypes\n}\nexport function renderCell({\n clientField,\n collectionSlug,\n columnIndex,\n customCellProps,\n doc,\n enableRowSelections,\n i18n,\n isLinkedColumn,\n payload,\n req,\n rowIndex,\n serverField,\n viewType,\n}: RenderCellArgs) {\n const baseCellClientProps: DefaultCellComponentProps = {\n cellData: undefined,\n collectionSlug,\n customCellProps,\n field: clientField,\n rowData: undefined,\n viewType,\n }\n\n const accessor: string | undefined =\n ('accessor' in clientField ? (clientField.accessor as string) : undefined) ??\n ('name' in clientField ? clientField.name : undefined)\n\n // Check if there's a custom formatDocURL function for this linked column\n let shouldLink = isLinkedColumn\n let customLinkURL: string | undefined\n\n if (isLinkedColumn && req) {\n const collectionConfig = payload.collections[collectionSlug]?.config\n const formatDocURL = collectionConfig?.admin?.formatDocURL\n\n if (typeof formatDocURL === 'function') {\n // Generate the default URL that would normally be used\n const adminRoute = req.payload.config.routes?.admin || '/admin'\n const defaultURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}${viewType === 'trash' ? '/trash' : ''}/${encodeURIComponent(String(doc.id))}`,\n })\n\n const customURL = formatDocURL({\n collectionSlug,\n defaultURL,\n doc,\n req,\n viewType,\n })\n\n if (customURL === null) {\n // formatDocURL returned null = disable linking entirely\n shouldLink = false\n } else if (typeof customURL === 'string') {\n // formatDocURL returned a string = use custom URL\n shouldLink = true\n customLinkURL = customURL\n } else {\n // formatDocURL returned unexpected type = disable linking for safety\n shouldLink = false\n }\n }\n }\n\n // For _status field, use _displayStatus if available (for showing \"changed\" status in list view)\n const cellData =\n 'name' in clientField && accessor === '_status' && '_displayStatus' in doc\n ? doc._displayStatus\n : 'name' in clientField\n ? findValueFromPath(doc, accessor)\n : undefined\n\n // For _status field, add 'changed' option for display purposes\n // The 'changed' status is computed at runtime\n let enrichedClientField = clientField\n if ('name' in clientField && accessor === '_status' && clientField.type === 'select') {\n const hasChangedOption = clientField.options?.some(\n (opt) => (typeof opt === 'object' ? opt.value : opt) === 'changed',\n )\n if (!hasChangedOption) {\n enrichedClientField = {\n ...clientField,\n options: [\n ...(clientField.options || []),\n {\n label: i18n.t('version:draftHasPublishedVersion'),\n value: 'changed',\n },\n ],\n }\n }\n }\n\n const cellClientProps: DefaultCellComponentProps = {\n ...baseCellClientProps,\n cellData,\n field: enrichedClientField,\n link: shouldLink,\n linkURL: customLinkURL,\n rowData: doc,\n }\n\n const cellServerProps: DefaultServerCellComponentProps = {\n cellData: cellClientProps.cellData,\n className: baseCellClientProps.className,\n collectionConfig: payload.collections[collectionSlug].config,\n collectionSlug,\n columnIndex,\n customCellProps: baseCellClientProps.customCellProps,\n field: serverField,\n i18n,\n link: shouldLink,\n linkURL: customLinkURL,\n onClick: baseCellClientProps.onClick,\n payload,\n rowData: doc,\n }\n\n let CustomCell = null\n\n if (serverField?.type === 'richText') {\n if (!serverField?.editor) {\n throw new MissingEditorProp(serverField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof serverField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!serverField.admin) {\n serverField.admin = {}\n }\n\n if (!serverField.admin.components) {\n serverField.admin.components = {}\n }\n\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: serverField.editor.CellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else if (\n cellClientProps.cellData &&\n cellClientProps.field &&\n hasOptionLabelJSXElement(cellClientProps)\n ) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: DefaultCell,\n importMap: payload.importMap,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n CustomCell = undefined\n }\n }\n }\n\n return (\n <RenderCustomComponent\n CustomComponent={CustomCell}\n Fallback={\n <RenderDefaultCell\n clientProps={cellClientProps}\n columnIndex={columnIndex}\n enableRowSelections={enableRowSelections}\n isLinkedColumn={isLinkedColumn}\n />\n }\n key={`${rowIndex}-${columnIndex}`}\n />\n )\n}\n"],"names":["MissingEditorProp","formatAdminURL","RenderCustomComponent","RenderServerComponent","DefaultCell","RenderDefaultCell","hasOptionLabelJSXElement","findValueFromPath","renderCell","clientField","collectionSlug","columnIndex","customCellProps","doc","enableRowSelections","i18n","isLinkedColumn","payload","req","rowIndex","serverField","viewType","baseCellClientProps","cellData","undefined","field","rowData","accessor","name","shouldLink","customLinkURL","collectionConfig","collections","config","formatDocURL","admin","adminRoute","routes","defaultURL","path","encodeURIComponent","String","id","customURL","_displayStatus","enrichedClientField","type","hasChangedOption","options","some","opt","value","label","t","cellClientProps","link","linkURL","cellServerProps","className","onClick","CustomCell","editor","Error","components","clientProps","Component","CellComponent","importMap","serverProps","CustomCellComponent","Cell","CustomComponent","Fallback"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/TableColumns/buildColumnState/renderCell.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientField,\n DefaultCellComponentProps,\n DefaultServerCellComponentProps,\n Document,\n Field,\n Payload,\n PayloadRequest,\n ViewTypes,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\n\nimport { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js'\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n DefaultCell,\n RenderDefaultCell,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { hasOptionLabelJSXElement } from '../../../utilities/hasOptionLabelJSXElement.js'\nimport { findValueFromPath } from './findValueFromPath.js'\n\ntype RenderCellArgs = {\n readonly clientField: ClientField\n readonly collectionSlug: string\n readonly columnIndex: number\n readonly customCellProps: DefaultCellComponentProps['customCellProps']\n readonly doc: Document\n readonly enableRowSelections: boolean\n readonly i18n: I18nClient\n readonly isLinkedColumn: boolean\n readonly payload: Payload\n readonly req?: PayloadRequest\n readonly rowIndex: number\n readonly serverField: Field\n readonly viewType?: ViewTypes\n}\nexport function renderCell({\n clientField,\n collectionSlug,\n columnIndex,\n customCellProps,\n doc,\n enableRowSelections,\n i18n,\n isLinkedColumn,\n payload,\n req,\n rowIndex,\n serverField,\n viewType,\n}: RenderCellArgs) {\n const baseCellClientProps: DefaultCellComponentProps = {\n cellData: undefined,\n collectionSlug,\n customCellProps,\n field: clientField,\n rowData: undefined,\n viewType,\n }\n\n const accessor: string | undefined =\n ('accessor' in clientField ? (clientField.accessor as string) : undefined) ??\n ('name' in clientField ? clientField.name : undefined)\n\n // Check if there's a custom formatDocURL function for this linked column\n let shouldLink = isLinkedColumn\n let customLinkURL: string | undefined\n\n if (isLinkedColumn && req) {\n const collectionConfig = payload.collections[collectionSlug]?.config\n const formatDocURL = collectionConfig?.admin?.formatDocURL\n\n if (typeof formatDocURL === 'function') {\n // Generate the default URL that would normally be used\n const adminRoute = req.payload.config.routes?.admin || '/admin'\n const defaultURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}${viewType === 'trash' ? '/trash' : ''}/${encodeURIComponent(String(doc.id))}`,\n })\n\n const customURL = formatDocURL({\n collectionSlug,\n defaultURL,\n doc,\n req,\n viewType,\n })\n\n if (customURL === null) {\n // formatDocURL returned null = disable linking entirely\n shouldLink = false\n } else if (typeof customURL === 'string') {\n // formatDocURL returned a string = use custom URL\n shouldLink = true\n customLinkURL = customURL\n } else {\n // formatDocURL returned unexpected type = disable linking for safety\n shouldLink = false\n }\n }\n }\n\n // For _status field, use _displayStatus if available (for showing \"changed\" status in list view)\n const cellData =\n 'name' in clientField && accessor === '_status' && '_displayStatus' in doc\n ? doc._displayStatus\n : 'name' in clientField\n ? findValueFromPath(doc, accessor)\n : undefined\n\n // For _status field, add 'changed' option for display purposes\n // The 'changed' status is computed at runtime\n let enrichedClientField = clientField\n if ('name' in clientField && accessor === '_status' && clientField.type === 'select') {\n const hasChangedOption = clientField.options?.some(\n (opt) => (typeof opt === 'object' ? opt.value : opt) === 'changed',\n )\n if (!hasChangedOption) {\n enrichedClientField = {\n ...clientField,\n options: [\n ...(clientField.options || []),\n {\n label: i18n.t('version:draftHasPublishedVersion'),\n value: 'changed',\n },\n ],\n }\n }\n }\n\n const cellClientProps: DefaultCellComponentProps = {\n ...baseCellClientProps,\n cellData,\n field: enrichedClientField,\n link: shouldLink,\n linkURL: customLinkURL,\n rowData: doc,\n }\n\n const cellServerProps: DefaultServerCellComponentProps = {\n cellData: cellClientProps.cellData,\n className: baseCellClientProps.className,\n collectionConfig: payload.collections[collectionSlug].config,\n collectionSlug,\n columnIndex,\n customCellProps: baseCellClientProps.customCellProps,\n field: serverField,\n i18n,\n link: shouldLink,\n linkURL: customLinkURL,\n onClick: baseCellClientProps.onClick,\n payload,\n rowData: doc,\n }\n\n let CustomCell = null\n\n if (serverField?.type === 'richText') {\n if (!serverField?.editor) {\n throw new MissingEditorProp(serverField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof serverField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!serverField.admin) {\n serverField.admin = {}\n }\n\n if (!serverField.admin.components) {\n serverField.admin.components = {}\n }\n\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: serverField.editor.CellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else if (\n cellClientProps.cellData &&\n cellClientProps.field &&\n hasOptionLabelJSXElement(cellClientProps)\n ) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: DefaultCell,\n importMap: payload.importMap,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n CustomCell = undefined\n }\n }\n }\n\n return (\n <RenderCustomComponent\n CustomComponent={CustomCell}\n Fallback={\n <RenderDefaultCell\n clientProps={cellClientProps}\n columnIndex={columnIndex}\n enableRowSelections={enableRowSelections}\n isLinkedColumn={isLinkedColumn}\n />\n }\n key={`${rowIndex}-${columnIndex}`}\n />\n )\n}\n"],"names":["MissingEditorProp","formatAdminURL","RenderCustomComponent","RenderServerComponent","DefaultCell","RenderDefaultCell","hasOptionLabelJSXElement","findValueFromPath","renderCell","clientField","collectionSlug","columnIndex","customCellProps","doc","enableRowSelections","i18n","isLinkedColumn","payload","req","rowIndex","serverField","viewType","baseCellClientProps","cellData","undefined","field","rowData","accessor","name","shouldLink","customLinkURL","collectionConfig","collections","config","formatDocURL","admin","adminRoute","routes","defaultURL","path","encodeURIComponent","String","id","customURL","_displayStatus","enrichedClientField","type","hasChangedOption","options","some","opt","value","label","t","cellClientProps","link","linkURL","cellServerProps","className","onClick","CustomCell","editor","Error","components","clientProps","Component","CellComponent","importMap","serverProps","CustomCellComponent","Cell","CustomComponent","Fallback"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import { transformColumnsToSearchParams } from 'payload/shared';
|
|
4
4
|
import React, { startTransition, useCallback, useRef } from 'react';
|
|
5
5
|
import { useConfig } from '../../providers/Config/index.js';
|
|
@@ -77,7 +77,7 @@ export const TableColumnsProvider = ({ children, collectionSlug, columnState: co
|
|
|
77
77
|
defaultColumns,
|
|
78
78
|
refineListData
|
|
79
79
|
]);
|
|
80
|
-
return /*#__PURE__*/
|
|
80
|
+
return /*#__PURE__*/ _jsxDEV(TableColumnContext, {
|
|
81
81
|
value: {
|
|
82
82
|
columns: columnState,
|
|
83
83
|
LinkedCellOverride,
|
|
@@ -88,7 +88,11 @@ export const TableColumnsProvider = ({ children, collectionSlug, columnState: co
|
|
|
88
88
|
...contextRef.current
|
|
89
89
|
},
|
|
90
90
|
children: children
|
|
91
|
-
}
|
|
91
|
+
}, void 0, false, {
|
|
92
|
+
fileName: "src/providers/TableColumns/index.tsx",
|
|
93
|
+
lineNumber: 95,
|
|
94
|
+
columnNumber: 5
|
|
95
|
+
}, this);
|
|
92
96
|
};
|
|
93
97
|
|
|
94
98
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport { type Column } from 'payload'\nimport { transformColumnsToSearchParams } from 'payload/shared'\nimport React, { startTransition, useCallback, useRef } from 'react'\n\nimport type { ITableColumns, TableColumnsProviderProps } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { TableColumnContext } from './context.js'\n\nexport { useTableColumns } from './context.js'\n\nexport const TableColumnsProvider: React.FC<TableColumnsProviderProps> = ({\n children,\n collectionSlug,\n columnState: columnStateFromProps,\n LinkedCellOverride,\n}) => {\n const { getEntityConfig } = useConfig()\n const { query: currentQuery, refineListData } = useListQuery()\n\n const { admin: { defaultColumns } = {} } = getEntityConfig({\n collectionSlug,\n })\n\n const [columnState, setOptimisticColumnState] = React.useOptimistic(\n columnStateFromProps,\n (state, action: Column[]) => action,\n )\n\n const contextRef = useRef({} as ITableColumns)\n\n const toggleColumn = useCallback(\n async (column: string) => {\n const newColumnState = (columnState || []).map((col) => {\n if (col.accessor === column) {\n return { ...col, active: !col.active }\n }\n return col\n })\n\n startTransition(() => {\n setOptimisticColumnState(newColumnState)\n })\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumnState),\n })\n },\n [refineListData, columnState, setOptimisticColumnState],\n )\n\n const moveColumn = useCallback(\n async (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n const newColumnState = [...(columnState || [])]\n const [columnToMove] = newColumnState.splice(fromIndex, 1)\n newColumnState.splice(toIndex, 0, columnToMove)\n\n startTransition(() => {\n setOptimisticColumnState(newColumnState)\n })\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumnState),\n })\n },\n [columnState, refineListData, setOptimisticColumnState],\n )\n\n const setActiveColumns = useCallback(\n async (columns: string[]) => {\n const newColumnState = currentQuery.columns\n\n columns.forEach((colName) => {\n const colIndex = newColumnState.findIndex((c) => colName === c)\n\n // ensure the name does not begin with a `-` which denotes an inactive column\n if (colIndex !== undefined && newColumnState[colIndex][0] === '-') {\n newColumnState[colIndex] = colName.slice(1)\n }\n })\n\n await refineListData({ columns: newColumnState })\n },\n [currentQuery, refineListData],\n )\n\n const resetColumnsState = React.useCallback(async () => {\n await refineListData({ columns: defaultColumns || [] })\n }, [defaultColumns, refineListData])\n\n return (\n <TableColumnContext\n value={{\n columns: columnState,\n LinkedCellOverride,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n toggleColumn,\n ...contextRef.current,\n }}\n >\n {children}\n </TableColumnContext>\n )\n}\n"],"names":["transformColumnsToSearchParams","React","startTransition","useCallback","useRef","useConfig","useListQuery","TableColumnContext","useTableColumns","TableColumnsProvider","children","collectionSlug","columnState","columnStateFromProps","LinkedCellOverride","getEntityConfig","query","currentQuery","refineListData","admin","defaultColumns","setOptimisticColumnState","useOptimistic","state","action","contextRef","toggleColumn","column","newColumnState","map","col","accessor","active","columns","moveColumn","args","fromIndex","toIndex","columnToMove","splice","setActiveColumns","forEach","colName","colIndex","findIndex","c","undefined","slice","resetColumnsState","value","current"],"mappings":"AAAA;;AAEA,SAASA,8BAA8B,QAAQ,iBAAgB;AAC/D,OAAOC,SAASC,eAAe,EAAEC,WAAW,EAAEC,MAAM,QAAQ,QAAO;AAInE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,kBAAkB,QAAQ,eAAc;AAEjD,SAASC,eAAe,QAAQ,eAAc;AAE9C,OAAO,MAAMC,uBAA4D,CAAC,EACxEC,QAAQ,EACRC,cAAc,EACdC,aAAaC,oBAAoB,EACjCC,kBAAkB,EACnB;IACC,MAAM,EAAEC,eAAe,EAAE,GAAGV;IAC5B,MAAM,EAAEW,OAAOC,YAAY,EAAEC,cAAc,EAAE,GAAGZ;IAEhD,MAAM,EAAEa,OAAO,EAAEC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGL,gBAAgB;QACzDJ;IACF;IAEA,MAAM,CAACC,aAAaS,yBAAyB,GAAGpB,MAAMqB,aAAa,CACjET,sBACA,CAACU,OAAOC,SAAqBA;IAG/B,MAAMC,aAAarB,OAAO,CAAC;IAE3B,MAAMsB,eAAevB,YACnB,OAAOwB;QACL,MAAMC,iBAAiB,AAAChB,CAAAA,eAAe,EAAE,AAAD,EAAGiB,GAAG,CAAC,CAACC;YAC9C,IAAIA,IAAIC,QAAQ,KAAKJ,QAAQ;gBAC3B,OAAO;oBAAE,GAAGG,GAAG;oBAAEE,QAAQ,CAACF,IAAIE,MAAM;gBAAC;YACvC;YACA,OAAOF;QACT;QAEA5B,gBAAgB;YACdmB,yBAAyBO;QAC3B;QAEA,MAAMV,eAAe;YACnBe,SAASjC,+BAA+B4B;QAC1C;IACF,GACA;QAACV;QAAgBN;QAAaS;KAAyB;IAGzD,MAAMa,aAAa/B,YACjB,OAAOgC;QACL,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAE,GAAGF;QAC/B,MAAMP,iBAAiB;eAAKhB,eAAe,EAAE;SAAE;QAC/C,MAAM,CAAC0B,aAAa,GAAGV,eAAeW,MAAM,CAACH,WAAW;QACxDR,eAAeW,MAAM,CAACF,SAAS,GAAGC;QAElCpC,gBAAgB;YACdmB,yBAAyBO;QAC3B;QAEA,MAAMV,eAAe;YACnBe,SAASjC,+BAA+B4B;QAC1C;IACF,GACA;QAAChB;QAAaM;QAAgBG;KAAyB;IAGzD,MAAMmB,mBAAmBrC,YACvB,OAAO8B;QACL,MAAML,iBAAiBX,aAAagB,OAAO;QAE3CA,QAAQQ,OAAO,CAAC,CAACC;YACf,MAAMC,WAAWf,eAAegB,SAAS,CAAC,CAACC,IAAMH,YAAYG;YAE7D,6EAA6E;YAC7E,IAAIF,aAAaG,aAAalB,cAAc,CAACe,SAAS,CAAC,EAAE,KAAK,KAAK;gBACjEf,cAAc,CAACe,SAAS,GAAGD,QAAQK,KAAK,CAAC;YAC3C;QACF;QAEA,MAAM7B,eAAe;YAAEe,SAASL;QAAe;IACjD,GACA;QAACX;QAAcC;KAAe;IAGhC,MAAM8B,oBAAoB/C,MAAME,WAAW,CAAC;QAC1C,MAAMe,eAAe;YAAEe,SAASb,kBAAkB,EAAE;QAAC;IACvD,GAAG;QAACA;QAAgBF;KAAe;IAEnC,qBACE,
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport { type Column } from 'payload'\nimport { transformColumnsToSearchParams } from 'payload/shared'\nimport React, { startTransition, useCallback, useRef } from 'react'\n\nimport type { ITableColumns, TableColumnsProviderProps } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { TableColumnContext } from './context.js'\n\nexport { useTableColumns } from './context.js'\n\nexport const TableColumnsProvider: React.FC<TableColumnsProviderProps> = ({\n children,\n collectionSlug,\n columnState: columnStateFromProps,\n LinkedCellOverride,\n}) => {\n const { getEntityConfig } = useConfig()\n const { query: currentQuery, refineListData } = useListQuery()\n\n const { admin: { defaultColumns } = {} } = getEntityConfig({\n collectionSlug,\n })\n\n const [columnState, setOptimisticColumnState] = React.useOptimistic(\n columnStateFromProps,\n (state, action: Column[]) => action,\n )\n\n const contextRef = useRef({} as ITableColumns)\n\n const toggleColumn = useCallback(\n async (column: string) => {\n const newColumnState = (columnState || []).map((col) => {\n if (col.accessor === column) {\n return { ...col, active: !col.active }\n }\n return col\n })\n\n startTransition(() => {\n setOptimisticColumnState(newColumnState)\n })\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumnState),\n })\n },\n [refineListData, columnState, setOptimisticColumnState],\n )\n\n const moveColumn = useCallback(\n async (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n const newColumnState = [...(columnState || [])]\n const [columnToMove] = newColumnState.splice(fromIndex, 1)\n newColumnState.splice(toIndex, 0, columnToMove)\n\n startTransition(() => {\n setOptimisticColumnState(newColumnState)\n })\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumnState),\n })\n },\n [columnState, refineListData, setOptimisticColumnState],\n )\n\n const setActiveColumns = useCallback(\n async (columns: string[]) => {\n const newColumnState = currentQuery.columns\n\n columns.forEach((colName) => {\n const colIndex = newColumnState.findIndex((c) => colName === c)\n\n // ensure the name does not begin with a `-` which denotes an inactive column\n if (colIndex !== undefined && newColumnState[colIndex][0] === '-') {\n newColumnState[colIndex] = colName.slice(1)\n }\n })\n\n await refineListData({ columns: newColumnState })\n },\n [currentQuery, refineListData],\n )\n\n const resetColumnsState = React.useCallback(async () => {\n await refineListData({ columns: defaultColumns || [] })\n }, [defaultColumns, refineListData])\n\n return (\n <TableColumnContext\n value={{\n columns: columnState,\n LinkedCellOverride,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n toggleColumn,\n ...contextRef.current,\n }}\n >\n {children}\n </TableColumnContext>\n )\n}\n"],"names":["transformColumnsToSearchParams","React","startTransition","useCallback","useRef","useConfig","useListQuery","TableColumnContext","useTableColumns","TableColumnsProvider","children","collectionSlug","columnState","columnStateFromProps","LinkedCellOverride","getEntityConfig","query","currentQuery","refineListData","admin","defaultColumns","setOptimisticColumnState","useOptimistic","state","action","contextRef","toggleColumn","column","newColumnState","map","col","accessor","active","columns","moveColumn","args","fromIndex","toIndex","columnToMove","splice","setActiveColumns","forEach","colName","colIndex","findIndex","c","undefined","slice","resetColumnsState","value","current"],"mappings":"AAAA;;AAEA,SAASA,8BAA8B,QAAQ,iBAAgB;AAC/D,OAAOC,SAASC,eAAe,EAAEC,WAAW,EAAEC,MAAM,QAAQ,QAAO;AAInE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,kBAAkB,QAAQ,eAAc;AAEjD,SAASC,eAAe,QAAQ,eAAc;AAE9C,OAAO,MAAMC,uBAA4D,CAAC,EACxEC,QAAQ,EACRC,cAAc,EACdC,aAAaC,oBAAoB,EACjCC,kBAAkB,EACnB;IACC,MAAM,EAAEC,eAAe,EAAE,GAAGV;IAC5B,MAAM,EAAEW,OAAOC,YAAY,EAAEC,cAAc,EAAE,GAAGZ;IAEhD,MAAM,EAAEa,OAAO,EAAEC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGL,gBAAgB;QACzDJ;IACF;IAEA,MAAM,CAACC,aAAaS,yBAAyB,GAAGpB,MAAMqB,aAAa,CACjET,sBACA,CAACU,OAAOC,SAAqBA;IAG/B,MAAMC,aAAarB,OAAO,CAAC;IAE3B,MAAMsB,eAAevB,YACnB,OAAOwB;QACL,MAAMC,iBAAiB,AAAChB,CAAAA,eAAe,EAAE,AAAD,EAAGiB,GAAG,CAAC,CAACC;YAC9C,IAAIA,IAAIC,QAAQ,KAAKJ,QAAQ;gBAC3B,OAAO;oBAAE,GAAGG,GAAG;oBAAEE,QAAQ,CAACF,IAAIE,MAAM;gBAAC;YACvC;YACA,OAAOF;QACT;QAEA5B,gBAAgB;YACdmB,yBAAyBO;QAC3B;QAEA,MAAMV,eAAe;YACnBe,SAASjC,+BAA+B4B;QAC1C;IACF,GACA;QAACV;QAAgBN;QAAaS;KAAyB;IAGzD,MAAMa,aAAa/B,YACjB,OAAOgC;QACL,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAE,GAAGF;QAC/B,MAAMP,iBAAiB;eAAKhB,eAAe,EAAE;SAAE;QAC/C,MAAM,CAAC0B,aAAa,GAAGV,eAAeW,MAAM,CAACH,WAAW;QACxDR,eAAeW,MAAM,CAACF,SAAS,GAAGC;QAElCpC,gBAAgB;YACdmB,yBAAyBO;QAC3B;QAEA,MAAMV,eAAe;YACnBe,SAASjC,+BAA+B4B;QAC1C;IACF,GACA;QAAChB;QAAaM;QAAgBG;KAAyB;IAGzD,MAAMmB,mBAAmBrC,YACvB,OAAO8B;QACL,MAAML,iBAAiBX,aAAagB,OAAO;QAE3CA,QAAQQ,OAAO,CAAC,CAACC;YACf,MAAMC,WAAWf,eAAegB,SAAS,CAAC,CAACC,IAAMH,YAAYG;YAE7D,6EAA6E;YAC7E,IAAIF,aAAaG,aAAalB,cAAc,CAACe,SAAS,CAAC,EAAE,KAAK,KAAK;gBACjEf,cAAc,CAACe,SAAS,GAAGD,QAAQK,KAAK,CAAC;YAC3C;QACF;QAEA,MAAM7B,eAAe;YAAEe,SAASL;QAAe;IACjD,GACA;QAACX;QAAcC;KAAe;IAGhC,MAAM8B,oBAAoB/C,MAAME,WAAW,CAAC;QAC1C,MAAMe,eAAe;YAAEe,SAASb,kBAAkB,EAAE;QAAC;IACvD,GAAG;QAACA;QAAgBF;KAAe;IAEnC,qBACE,QAACX;QACC0C,OAAO;YACLhB,SAASrB;YACTE;YACAoB;YACAc;YACAR;YACAd;YACA,GAAGD,WAAWyB,OAAO;QACvB;kBAECxC;;;;;;AAGP,EAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import React, { createContext, use, useCallback, useEffect, useState } from 'react';
|
|
4
4
|
import { useConfig } from '../Config/index.js';
|
|
5
5
|
const initialContext = {
|
|
@@ -63,14 +63,18 @@ export const ThemeProvider = ({ children, theme: initialTheme })=>{
|
|
|
63
63
|
}, [
|
|
64
64
|
cookieKey
|
|
65
65
|
]);
|
|
66
|
-
return /*#__PURE__*/
|
|
66
|
+
return /*#__PURE__*/ _jsxDEV(Context, {
|
|
67
67
|
value: {
|
|
68
68
|
autoMode,
|
|
69
69
|
setTheme,
|
|
70
70
|
theme
|
|
71
71
|
},
|
|
72
72
|
children: children
|
|
73
|
-
}
|
|
73
|
+
}, void 0, false, {
|
|
74
|
+
fileName: "src/providers/Theme/index.tsx",
|
|
75
|
+
lineNumber: 103,
|
|
76
|
+
columnNumber: 10
|
|
77
|
+
}, this);
|
|
74
78
|
};
|
|
75
79
|
export const useTheme = ()=>use(Context);
|
|
76
80
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\n\nexport type Theme = 'dark' | 'light'\n\nexport type ThemeContext = {\n autoMode: boolean\n setTheme: (theme: Theme) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext(initialContext)\n\nfunction setCookie(cname, cvalue, exdays) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst getTheme = (\n cookieKey,\n): {\n theme: Theme\n themeFromCookies: null | string\n} => {\n let theme: Theme\n\n const themeFromCookies = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n if (themeFromCookies === 'light' || themeFromCookies === 'dark') {\n theme = themeFromCookies\n } else {\n theme =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n }\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { theme, themeFromCookies }\n}\n\nexport const defaultTheme = 'light'\n\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n theme?: Theme\n}> = ({ children, theme: initialTheme }) => {\n const { config } = useConfig()\n\n const preselectedTheme = config.admin.theme\n const cookieKey = `${config.cookiePrefix || 'payload'}-theme`\n\n const [theme, setThemeState] = useState<Theme>(initialTheme || defaultTheme)\n\n const [autoMode, setAutoMode] = useState<boolean>()\n\n useEffect(() => {\n if (preselectedTheme !== 'all') {\n return\n }\n\n const { theme, themeFromCookies } = getTheme(cookieKey)\n setThemeState(theme)\n setAutoMode(!themeFromCookies)\n }, [preselectedTheme, cookieKey])\n\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme) => {\n if (themeToSet === 'light' || themeToSet === 'dark') {\n setThemeState(themeToSet)\n setAutoMode(false)\n setCookie(cookieKey, themeToSet, 365)\n document.documentElement.setAttribute('data-theme', themeToSet)\n } else if (themeToSet === 'auto') {\n // to delete the cookie, we set an expired date\n setCookie(cookieKey, themeToSet, -1)\n const themeFromOS =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n document.documentElement.setAttribute('data-theme', themeFromOS)\n setAutoMode(true)\n setThemeState(themeFromOS)\n }\n },\n [cookieKey],\n )\n\n return <Context value={{ autoMode, setTheme, theme }}>{children}</Context>\n}\n\nexport const useTheme = (): ThemeContext => use(Context)\n"],"names":["React","createContext","use","useCallback","useEffect","useState","useConfig","initialContext","autoMode","setTheme","theme","Context","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","getTheme","cookieKey","themeFromCookies","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","defaultTheme","ThemeProvider","children","initialTheme","config","preselectedTheme","admin","cookiePrefix","setThemeState","setAutoMode","themeToSet","themeFromOS","value","useTheme"],"mappings":"AAAA;;AACA,OAAOA,SAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAEnF,SAASC,SAAS,QAAQ,qBAAoB;AAU9C,MAAMC,iBAA+B;IACnCC,UAAU;IACVC,UAAU,IAAM;IAChBC,OAAO;AACT;AAEA,MAAMC,wBAAUV,cAAcM;AAE9B,SAASK,UAAUC,KAAK,EAAEC,MAAM,EAAEC,MAAM;IACtC,MAAMC,IAAI,IAAIC;IACdD,EAAEE,OAAO,CAACF,EAAEG,OAAO,KAAKJ,SAAS,KAAK,KAAK,KAAK;IAChD,MAAMK,UAAU,aAAaJ,EAAEK,WAAW;IAC1CC,SAASC,MAAM,GAAGV,QAAQ,MAAMC,SAAS,MAAMM,UAAU;AAC3D;AAEA,MAAMI,WAAW,CACfC;IAKA,IAAIf;IAEJ,MAAMgB,mBAAmBC,OAAOL,QAAQ,CAACC,MAAM,CAC5CK,KAAK,CAAC,MACNC,IAAI,CAAC,CAACC,MAAQA,IAAIC,UAAU,CAAC,GAAGN,UAAU,CAAC,CAAC,IAC3CG,MAAM,IAAI,CAAC,EAAE;IAEjB,IAAIF,qBAAqB,WAAWA,qBAAqB,QAAQ;QAC/DhB,QAAQgB;IACV,OAAO;QACLhB,QACEiB,OAAOK,UAAU,IAAIL,OAAOK,UAAU,CAAC,gCAAgCC,OAAO,GAC1E,SACA;IACR;IAEAX,SAASY,eAAe,CAACC,YAAY,CAAC,cAAczB;IAEpD,OAAO;QAAEA;QAAOgB;IAAiB;AACnC;AAEA,OAAO,MAAMU,eAAe,QAAO;AAEnC,OAAO,MAAMC,gBAGR,CAAC,EAAEC,QAAQ,EAAE5B,OAAO6B,YAAY,EAAE;IACrC,MAAM,EAAEC,MAAM,EAAE,GAAGlC;IAEnB,MAAMmC,mBAAmBD,OAAOE,KAAK,CAAChC,KAAK;IAC3C,MAAMe,YAAY,GAAGe,OAAOG,YAAY,IAAI,UAAU,MAAM,CAAC;IAE7D,MAAM,CAACjC,OAAOkC,cAAc,GAAGvC,SAAgBkC,gBAAgBH;IAE/D,MAAM,CAAC5B,UAAUqC,YAAY,GAAGxC;IAEhCD,UAAU;QACR,IAAIqC,qBAAqB,OAAO;YAC9B;QACF;QAEA,MAAM,EAAE/B,KAAK,EAAEgB,gBAAgB,EAAE,GAAGF,SAASC;QAC7CmB,cAAclC;QACdmC,YAAY,CAACnB;IACf,GAAG;QAACe;QAAkBhB;KAAU;IAEhC,MAAMhB,WAAWN,YACf,CAAC2C;QACC,IAAIA,eAAe,WAAWA,eAAe,QAAQ;YACnDF,cAAcE;YACdD,YAAY;YACZjC,UAAUa,WAAWqB,YAAY;YACjCxB,SAASY,eAAe,CAACC,YAAY,CAAC,cAAcW;QACtD,OAAO,IAAIA,eAAe,QAAQ;YAChC,+CAA+C;YAC/ClC,UAAUa,WAAWqB,YAAY,CAAC;YAClC,MAAMC,cACJpB,OAAOK,UAAU,IAAIL,OAAOK,UAAU,CAAC,gCAAgCC,OAAO,GAC1E,SACA;YACNX,SAASY,eAAe,CAACC,YAAY,CAAC,cAAcY;YACpDF,YAAY;YACZD,cAAcG;QAChB;IACF,GACA;QAACtB;KAAU;IAGb,qBAAO,
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\n\nexport type Theme = 'dark' | 'light'\n\nexport type ThemeContext = {\n autoMode: boolean\n setTheme: (theme: Theme) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext(initialContext)\n\nfunction setCookie(cname, cvalue, exdays) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst getTheme = (\n cookieKey,\n): {\n theme: Theme\n themeFromCookies: null | string\n} => {\n let theme: Theme\n\n const themeFromCookies = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n if (themeFromCookies === 'light' || themeFromCookies === 'dark') {\n theme = themeFromCookies\n } else {\n theme =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n }\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { theme, themeFromCookies }\n}\n\nexport const defaultTheme = 'light'\n\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n theme?: Theme\n}> = ({ children, theme: initialTheme }) => {\n const { config } = useConfig()\n\n const preselectedTheme = config.admin.theme\n const cookieKey = `${config.cookiePrefix || 'payload'}-theme`\n\n const [theme, setThemeState] = useState<Theme>(initialTheme || defaultTheme)\n\n const [autoMode, setAutoMode] = useState<boolean>()\n\n useEffect(() => {\n if (preselectedTheme !== 'all') {\n return\n }\n\n const { theme, themeFromCookies } = getTheme(cookieKey)\n setThemeState(theme)\n setAutoMode(!themeFromCookies)\n }, [preselectedTheme, cookieKey])\n\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme) => {\n if (themeToSet === 'light' || themeToSet === 'dark') {\n setThemeState(themeToSet)\n setAutoMode(false)\n setCookie(cookieKey, themeToSet, 365)\n document.documentElement.setAttribute('data-theme', themeToSet)\n } else if (themeToSet === 'auto') {\n // to delete the cookie, we set an expired date\n setCookie(cookieKey, themeToSet, -1)\n const themeFromOS =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n document.documentElement.setAttribute('data-theme', themeFromOS)\n setAutoMode(true)\n setThemeState(themeFromOS)\n }\n },\n [cookieKey],\n )\n\n return <Context value={{ autoMode, setTheme, theme }}>{children}</Context>\n}\n\nexport const useTheme = (): ThemeContext => use(Context)\n"],"names":["React","createContext","use","useCallback","useEffect","useState","useConfig","initialContext","autoMode","setTheme","theme","Context","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","getTheme","cookieKey","themeFromCookies","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","defaultTheme","ThemeProvider","children","initialTheme","config","preselectedTheme","admin","cookiePrefix","setThemeState","setAutoMode","themeToSet","themeFromOS","value","useTheme"],"mappings":"AAAA;;AACA,OAAOA,SAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAEnF,SAASC,SAAS,QAAQ,qBAAoB;AAU9C,MAAMC,iBAA+B;IACnCC,UAAU;IACVC,UAAU,IAAM;IAChBC,OAAO;AACT;AAEA,MAAMC,wBAAUV,cAAcM;AAE9B,SAASK,UAAUC,KAAK,EAAEC,MAAM,EAAEC,MAAM;IACtC,MAAMC,IAAI,IAAIC;IACdD,EAAEE,OAAO,CAACF,EAAEG,OAAO,KAAKJ,SAAS,KAAK,KAAK,KAAK;IAChD,MAAMK,UAAU,aAAaJ,EAAEK,WAAW;IAC1CC,SAASC,MAAM,GAAGV,QAAQ,MAAMC,SAAS,MAAMM,UAAU;AAC3D;AAEA,MAAMI,WAAW,CACfC;IAKA,IAAIf;IAEJ,MAAMgB,mBAAmBC,OAAOL,QAAQ,CAACC,MAAM,CAC5CK,KAAK,CAAC,MACNC,IAAI,CAAC,CAACC,MAAQA,IAAIC,UAAU,CAAC,GAAGN,UAAU,CAAC,CAAC,IAC3CG,MAAM,IAAI,CAAC,EAAE;IAEjB,IAAIF,qBAAqB,WAAWA,qBAAqB,QAAQ;QAC/DhB,QAAQgB;IACV,OAAO;QACLhB,QACEiB,OAAOK,UAAU,IAAIL,OAAOK,UAAU,CAAC,gCAAgCC,OAAO,GAC1E,SACA;IACR;IAEAX,SAASY,eAAe,CAACC,YAAY,CAAC,cAAczB;IAEpD,OAAO;QAAEA;QAAOgB;IAAiB;AACnC;AAEA,OAAO,MAAMU,eAAe,QAAO;AAEnC,OAAO,MAAMC,gBAGR,CAAC,EAAEC,QAAQ,EAAE5B,OAAO6B,YAAY,EAAE;IACrC,MAAM,EAAEC,MAAM,EAAE,GAAGlC;IAEnB,MAAMmC,mBAAmBD,OAAOE,KAAK,CAAChC,KAAK;IAC3C,MAAMe,YAAY,GAAGe,OAAOG,YAAY,IAAI,UAAU,MAAM,CAAC;IAE7D,MAAM,CAACjC,OAAOkC,cAAc,GAAGvC,SAAgBkC,gBAAgBH;IAE/D,MAAM,CAAC5B,UAAUqC,YAAY,GAAGxC;IAEhCD,UAAU;QACR,IAAIqC,qBAAqB,OAAO;YAC9B;QACF;QAEA,MAAM,EAAE/B,KAAK,EAAEgB,gBAAgB,EAAE,GAAGF,SAASC;QAC7CmB,cAAclC;QACdmC,YAAY,CAACnB;IACf,GAAG;QAACe;QAAkBhB;KAAU;IAEhC,MAAMhB,WAAWN,YACf,CAAC2C;QACC,IAAIA,eAAe,WAAWA,eAAe,QAAQ;YACnDF,cAAcE;YACdD,YAAY;YACZjC,UAAUa,WAAWqB,YAAY;YACjCxB,SAASY,eAAe,CAACC,YAAY,CAAC,cAAcW;QACtD,OAAO,IAAIA,eAAe,QAAQ;YAChC,+CAA+C;YAC/ClC,UAAUa,WAAWqB,YAAY,CAAC;YAClC,MAAMC,cACJpB,OAAOK,UAAU,IAAIL,OAAOK,UAAU,CAAC,gCAAgCC,OAAO,GAC1E,SACA;YACNX,SAASY,eAAe,CAACC,YAAY,CAAC,cAAcY;YACpDF,YAAY;YACZD,cAAcG;QAChB;IACF,GACA;QAACtB;KAAU;IAGb,qBAAO,QAACd;QAAQqC,OAAO;YAAExC;YAAUC;YAAUC;QAAM;kBAAI4B;;;;;;AACzD,EAAC;AAED,OAAO,MAAMW,WAAW,IAAoB/C,IAAIS,SAAQ"}
|
|
@@ -1,26 +1,38 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
export const Error = ()=>{
|
|
5
|
-
return /*#__PURE__*/
|
|
5
|
+
return /*#__PURE__*/ _jsxDEV("svg", {
|
|
6
6
|
fill: "none",
|
|
7
7
|
height: "26",
|
|
8
8
|
viewBox: "0 0 26 26",
|
|
9
9
|
width: "26",
|
|
10
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11
11
|
children: [
|
|
12
|
-
/*#__PURE__*/
|
|
12
|
+
/*#__PURE__*/ _jsxDEV("path", {
|
|
13
13
|
d: "M13 21C17.4183 21 21 17.4183 21 13C21 8.58172 17.4183 5 13 5C8.58172 5 5 8.58172 5 13C5 17.4183 8.58172 21 13 21Z",
|
|
14
14
|
fill: "var(--theme-error-500)"
|
|
15
|
-
}
|
|
16
|
-
|
|
15
|
+
}, void 0, false, {
|
|
16
|
+
fileName: "src/providers/ToastContainer/icons/Error.tsx",
|
|
17
|
+
lineNumber: 7,
|
|
18
|
+
columnNumber: 7
|
|
19
|
+
}, this),
|
|
20
|
+
/*#__PURE__*/ _jsxDEV("path", {
|
|
17
21
|
d: "M15.4001 10.5996L10.6001 15.3996M10.6001 10.5996L15.4001 15.3996",
|
|
18
22
|
stroke: "var(--theme-error-50)",
|
|
19
23
|
strokeLinecap: "round",
|
|
20
24
|
strokeLinejoin: "round"
|
|
21
|
-
}
|
|
25
|
+
}, void 0, false, {
|
|
26
|
+
fileName: "src/providers/ToastContainer/icons/Error.tsx",
|
|
27
|
+
lineNumber: 11,
|
|
28
|
+
columnNumber: 7
|
|
29
|
+
}, this)
|
|
22
30
|
]
|
|
23
|
-
}
|
|
31
|
+
}, void 0, true, {
|
|
32
|
+
fileName: "src/providers/ToastContainer/icons/Error.tsx",
|
|
33
|
+
lineNumber: 6,
|
|
34
|
+
columnNumber: 5
|
|
35
|
+
}, this);
|
|
24
36
|
};
|
|
25
37
|
|
|
26
38
|
//# sourceMappingURL=Error.js.map
|