@payloadcms/ui 4.0.0-internal.314c594 → 4.0.0-internal.31ba7ee
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/app.css +1 -0
- package/dist/css/preflight.css +1 -0
- package/dist/css/spacing.css +3 -0
- package/dist/elements/APIKeyInput/index.d.ts +2 -0
- package/dist/elements/APIKeyInput/index.d.ts.map +1 -1
- package/dist/elements/APIKeyInput/index.js +27 -29
- package/dist/elements/APIKeyInput/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.css +0 -4
- package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
- package/dist/elements/AddNewRelation/index.js +3 -2
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.css +3 -0
- package/dist/elements/AppHeader/index.js +1 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +35 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.css +4 -0
- package/dist/elements/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js +1 -0
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
- package/dist/elements/BulkUpload/FileSidebar/index.css +1 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +7 -3
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +18 -12
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.css +2 -0
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +11 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +8 -3
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/index.js +1 -0
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/Collapsible/index.css +1 -0
- package/dist/elements/ColumnSelection/Popup.css +8 -0
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/Popup.js +17 -14
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/ColumnSelection/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/index.js +59 -55
- package/dist/elements/ColumnSelection/index.js.map +1 -1
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +2 -0
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +8 -9
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +1 -0
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +113 -83
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +7 -0
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -3
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
- package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.js +40 -28
- package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
- package/dist/elements/Dialog/index.css +1 -0
- package/dist/elements/DocumentControls/index.css +1 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -0
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -2
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.css +2 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -3
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
- package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +5 -3
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.css +1 -0
- package/dist/elements/DocumentHeader/index.d.ts +1 -0
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +4 -2
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +11 -8
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +3 -1
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +2 -2
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +2 -3
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +2 -3
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditUpload/index.css +2 -1
- package/dist/elements/EditUpload/index.js +53 -12
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.css +1 -0
- package/dist/elements/FieldDiffContainer/index.js +1 -1
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.css +1 -0
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +41 -24
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +5 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +24 -4
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.css +2 -0
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.js +1 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
- package/dist/elements/FilterTrigger/index.d.ts +5 -1
- package/dist/elements/FilterTrigger/index.d.ts.map +1 -1
- package/dist/elements/FilterTrigger/index.js +6 -0
- package/dist/elements/FilterTrigger/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.d.ts.map +1 -1
- package/dist/elements/FullscreenModal/index.js +1 -1
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
- package/dist/elements/GroupBy/Popup.js +74 -45
- package/dist/elements/GroupBy/Popup.js.map +1 -1
- package/dist/elements/GroupBy/index.d.ts.map +1 -1
- package/dist/elements/GroupBy/index.js +2 -0
- package/dist/elements/GroupBy/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.css +1 -0
- package/dist/elements/HTMLDiff/index.d.ts +3 -1
- package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
- package/dist/elements/HTMLDiff/index.js +9 -3
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +3 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +60 -47
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +34 -27
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.server.d.ts +3 -2
- package/dist/elements/Hierarchy/Field/index.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.server.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js +6 -7
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.css +3 -0
- package/dist/elements/ListControls/index.css +1 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +8 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +3 -1
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListControlsBar/index.css +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +3 -4
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +3 -0
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.css +1 -0
- package/dist/elements/LivePreview/Window/index.js +1 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.d.ts.map +1 -1
- package/dist/elements/Loading/index.js +1 -0
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts +3 -6
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +20 -12
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Modal/index.d.ts +5 -1
- package/dist/elements/Modal/index.d.ts.map +1 -1
- package/dist/elements/Modal/index.js +69 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js +1 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +3 -2
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
- package/dist/elements/Nav/getNavPrefs.js +2 -0
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.css +2 -0
- package/dist/elements/PageControls/GroupByPageControls.d.ts +1 -0
- package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +9 -6
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.css +1 -0
- package/dist/elements/PageControls/index.d.ts +3 -0
- package/dist/elements/PageControls/index.d.ts.map +1 -1
- package/dist/elements/PageControls/index.js +42 -27
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.d.ts +1 -0
- package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +46 -10
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.d.ts +1 -0
- package/dist/elements/Pagination/SimplePagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.js +14 -8
- package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
- package/dist/elements/Pagination/index.d.ts +1 -0
- package/dist/elements/Pagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/index.js +36 -17
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.d.ts +1 -0
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js +24 -15
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PillSelector/index.css +1 -0
- package/dist/elements/Popup/PopupButtonList/index.d.ts +8 -0
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +50 -6
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.d.ts +9 -2
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +58 -6
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.css +4 -2
- package/dist/elements/Popup/index.d.ts +6 -27
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +114 -75
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +2 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.css +1 -0
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +16 -31
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +2 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +18 -2
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +3 -2
- package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +3 -2
- package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
- package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +3 -2
- package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.css +5 -0
- package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +51 -20
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.js +2 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -4
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +16 -21
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/context.d.ts +6 -0
- package/dist/elements/ReactSelect/MultiValue/context.d.ts.map +1 -0
- package/dist/elements/ReactSelect/MultiValue/context.js +5 -0
- package/dist/elements/ReactSelect/MultiValue/context.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValue/index.css +5 -0
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +89 -35
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +41 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts +5 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +49 -4
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.css +30 -4
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +92 -66
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/Option/index.d.ts +6 -0
- package/dist/elements/ReactSelect/Option/index.d.ts.map +1 -0
- package/dist/elements/ReactSelect/Option/index.js +30 -0
- package/dist/elements/ReactSelect/Option/index.js.map +1 -0
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +4 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +7 -1
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +1 -0
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +61 -57
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.css +1 -0
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +2 -3
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +1 -0
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +35 -27
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +63 -95
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +18 -36
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +2 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +1 -0
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Switch/index.d.ts +1 -0
- package/dist/elements/Switch/index.d.ts.map +1 -1
- package/dist/elements/Switch/index.js +18 -16
- package/dist/elements/Switch/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.css +18 -13
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts +8 -0
- package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts.map +1 -0
- package/dist/elements/Table/GridNavigation/useGridNavigation.js +397 -0
- package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -0
- package/dist/elements/Table/OrderableTable.d.ts +1 -0
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +8 -5
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +2 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/TableIdentity.d.ts +10 -0
- package/dist/elements/Table/TableIdentity.d.ts.map +1 -0
- package/dist/elements/Table/TableIdentity.js +52 -0
- package/dist/elements/Table/TableIdentity.js.map +1 -0
- package/dist/elements/Table/index.css +24 -3
- package/dist/elements/Table/index.d.ts +3 -0
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +72 -29
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/useAriaSort.d.ts +7 -0
- package/dist/elements/Table/useAriaSort.d.ts.map +1 -0
- package/dist/elements/Table/useAriaSort.js +53 -0
- package/dist/elements/Table/useAriaSort.js.map +1 -0
- package/dist/elements/TableSection/index.css +1 -0
- package/dist/elements/Tabs/index.css +1 -0
- package/dist/elements/Thumbnail/index.css +1 -0
- package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +10 -8
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.css +1 -0
- package/dist/elements/Tooltip/index.css +7 -0
- package/dist/elements/Tooltip/index.d.ts +1 -1
- package/dist/elements/Tooltip/index.js +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +3 -4
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +3 -0
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js +3 -0
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SubMenuHeader/index.js +2 -0
- package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js +3 -0
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +21 -4
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.css +1 -0
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +7 -1
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.css +2 -0
- package/dist/exports/shared/index.js +1 -1
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +1 -0
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.css +1 -0
- package/dist/fields/Array/index.d.ts +3 -7
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +10 -7
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +25 -16
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.css +1 -0
- package/dist/fields/Blocks/index.d.ts +2 -5
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +10 -7
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -2
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +134 -152
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +185 -155
- package/dist/fields/Checkbox/index.d.ts +2 -12
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts +2 -8
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +2 -3
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +3 -7
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +1 -1
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +2 -7
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +4 -5
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.css +1 -0
- package/dist/fields/Group/index.d.ts +3 -5
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +2 -6
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts +2 -6
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +2 -7
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts +3 -8
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +2 -3
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +2 -6
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +24 -2
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Row/index.css +2 -0
- package/dist/fields/Row/index.d.ts +2 -3
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts +2 -9
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +2 -3
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +1 -0
- package/dist/fields/Tabs/index.d.ts +2 -4
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts +2 -8
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +2 -9
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +2 -3
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/shared/index.d.ts +1 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/fields/shared/useRowFocus.d.ts +5 -0
- package/dist/fields/shared/useRowFocus.d.ts.map +1 -0
- package/dist/fields/shared/useRowFocus.js +50 -0
- package/dist/fields/shared/useRowFocus.js.map +1 -0
- package/dist/forms/Form/context.d.ts +3 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/context.js +3 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +15 -7
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/context.d.ts +2 -2
- package/dist/forms/RenderFields/context.js +2 -2
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.css +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +12 -4
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +3 -2
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts +12 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js +42 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +8 -6
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -9
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/graphics/Logo/index.d.ts.map +1 -1
- package/dist/graphics/Logo/index.js +2 -0
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useControllableState.js +3 -3
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +2 -3
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/layouts/Root/ResolveThemeOnClient.d.ts +12 -0
- package/dist/layouts/Root/ResolveThemeOnClient.d.ts.map +1 -0
- package/dist/layouts/Root/ResolveThemeOnClient.js +35 -0
- package/dist/layouts/Root/ResolveThemeOnClient.js.map +1 -0
- package/dist/layouts/Root/index.d.ts +3 -6
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +18 -13
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +32 -24
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +0 -10
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +13 -6
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts +1 -5
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +61 -140
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/ModalAccessibility/index.d.ts +3 -0
- package/dist/providers/ModalAccessibility/index.d.ts.map +1 -0
- package/dist/providers/ModalAccessibility/index.js +102 -0
- package/dist/providers/ModalAccessibility/index.js.map +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +7 -6
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +2 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/ToastContainer/index.d.ts.map +1 -1
- package/dist/providers/ToastContainer/index.js +100 -33
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/styles.css +5 -1
- package/dist/templates/Default/Wrapper/index.css +2 -0
- package/dist/templates/Default/index.css +1 -0
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +6 -2
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
- package/dist/utilities/formatAbsoluteURL.js +18 -8
- package/dist/utilities/formatAbsoluteURL.js.map +1 -1
- package/dist/utilities/getActiveModal.d.ts +6 -0
- package/dist/utilities/getActiveModal.d.ts.map +1 -0
- package/dist/utilities/getActiveModal.js +8 -0
- package/dist/utilities/getActiveModal.js.map +1 -0
- package/dist/utilities/getDocPreferences.d.ts.map +1 -1
- package/dist/utilities/getDocPreferences.js +1 -0
- package/dist/utilities/getDocPreferences.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js +2 -5
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/getPreferences.d.ts.map +1 -1
- package/dist/utilities/getPreferences.js +1 -0
- package/dist/utilities/getPreferences.js.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +8 -1
- package/dist/utilities/getRequestTheme.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.js +16 -4
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/getVersions.js +8 -0
- package/dist/utilities/getVersions.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +4 -1
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +9 -9
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +7 -5
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/isAbsoluteURL.d.ts +3 -0
- package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
- package/dist/utilities/isAbsoluteURL.js +15 -0
- package/dist/utilities/isAbsoluteURL.js.map +1 -0
- package/dist/utilities/isHttpURL.d.ts +3 -0
- package/dist/utilities/isHttpURL.d.ts.map +1 -0
- package/dist/utilities/isHttpURL.js +12 -0
- package/dist/utilities/isHttpURL.js.map +1 -0
- package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/utilities/isPathMatchingRoute.js +7 -5
- package/dist/utilities/isPathMatchingRoute.js.map +1 -1
- package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
- package/dist/utilities/isPublicAdminRoute.js +9 -6
- package/dist/utilities/isPublicAdminRoute.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +11 -4
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +8 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +74 -5
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -1
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +2 -0
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.js +3 -0
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -3
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.css +1 -0
- package/dist/views/Account/index.d.ts +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +8 -5
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +75 -115
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts +7 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js +65 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +2 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +8 -2
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +127 -89
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +7 -3
- package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +3 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +3 -0
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +2 -38
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +2 -3
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
- package/dist/views/Document/handleServerFunction.js +3 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.d.ts +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +10 -6
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +7 -4
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.d.ts +1 -1
- package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +233 -59
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts +12 -0
- package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts.map +1 -0
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js +117 -0
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -0
- package/dist/views/Edit/Auth/index.css +91 -0
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +10 -28
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.d.ts +3 -1
- package/dist/views/Edit/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/index.css +1 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +14 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +209 -161
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +2 -11
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +76 -62
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +35 -87
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -101
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +45 -32
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +48 -36
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +2 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.js +6 -7
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
- package/dist/views/HierarchyList/index.css +1 -0
- package/dist/views/List/ListHeader/index.css +1 -0
- package/dist/views/List/ListHeader/index.d.ts +0 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +2 -6
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js +1 -0
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js +4 -1
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +145 -124
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +2 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +2 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/NotFound/client.d.ts +2 -0
- package/dist/views/NotFound/client.d.ts.map +1 -0
- package/dist/views/NotFound/client.js +4 -0
- package/dist/views/NotFound/client.js.map +1 -0
- package/dist/views/NotFound/page.d.ts +4 -11
- package/dist/views/NotFound/page.d.ts.map +1 -1
- package/dist/views/NotFound/page.js +6 -5
- package/dist/views/NotFound/page.js.map +1 -1
- package/dist/views/Root/index.d.ts +6 -7
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +33 -24
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Verify/index.d.ts +1 -1
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +4 -4
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +10 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.css +2 -0
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +12 -13
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +3 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +9 -6
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +1 -0
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/index.css +1 -0
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +3 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.css +1 -0
- package/dist/widgets/CollectionCards/index.css +4 -0
- package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -2
- package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +3 -2
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
- package/package.json +17 -6
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +0 -120
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +0 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +0 -144
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +0 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -885
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
- package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
- package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
- package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
- package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +0 -143
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +0 -1
- package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
- package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
- package/dist/elements/WhereBuilder/conditionValue.spec.js +0 -65
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +0 -1
- package/dist/fields/Upload/Input.spec.js +0 -241
- package/dist/fields/Upload/Input.spec.js.map +0 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
- package/dist/layouts/Root/index.spec.js +0 -20
- package/dist/layouts/Root/index.spec.js.map +0 -1
- package/dist/providers/Auth/authSessionRequests.spec.js +0 -121
- package/dist/providers/Auth/authSessionRequests.spec.js.map +0 -1
- package/dist/providers/Auth/sessionActivity.spec.js +0 -44
- package/dist/providers/Auth/sessionActivity.spec.js.map +0 -1
- package/dist/providers/Auth/tabSessionSync/index.spec.js +0 -463
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +0 -1
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +0 -311
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +0 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +0 -44
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +0 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +0 -40
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +0 -1
- package/dist/utilities/appendCacheTag.spec.js +0 -34
- package/dist/utilities/appendCacheTag.spec.js.map +0 -1
- package/dist/utilities/formatMetadata.spec.js +0 -83
- package/dist/utilities/formatMetadata.spec.js.map +0 -1
- package/dist/utilities/fuzzyMatch.spec.js +0 -38
- package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
- package/dist/utilities/getRequestLocale.d.ts +0 -7
- package/dist/utilities/getRequestLocale.d.ts.map +0 -1
- package/dist/utilities/getRequestLocale.js +0 -20
- package/dist/utilities/getRequestLocale.js.map +0 -1
- package/dist/utilities/initReq.d.ts +0 -16
- package/dist/utilities/initReq.d.ts.map +0 -1
- package/dist/utilities/initReq.js +0 -111
- package/dist/utilities/initReq.js.map +0 -1
- package/dist/utilities/isCustomAdminView.spec.js +0 -90
- package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
- package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
- package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
- package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
- package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
- package/dist/utilities/recentlyViewed.spec.js +0 -92
- package/dist/utilities/recentlyViewed.spec.js.map +0 -1
- package/dist/utilities/selectiveCache.d.ts +0 -12
- package/dist/utilities/selectiveCache.d.ts.map +0 -1
- package/dist/utilities/selectiveCache.js +0 -37
- package/dist/utilities/selectiveCache.js.map +0 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
- package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -861
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -135
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridNavigation.js","names":["c","_c","useLayoutEffect","useRef","controlsSelector","compositeSelector","interactionSelector","useGridNavigation","t0","$","id","isEnabled","ref","position","t1","table","current","originals","Map","assignedTabIndexes","activeCell","isInteracting","isLeaving","hadFocus","focusedElement","rows","Array","from","cells","flatMap","_temp","ownedCell","target","HTMLElement","cell","closest","undefined","isVisible","_temp2","controls","cell_0","querySelectorAll","filter","element_0","popup","element","original","has","get","getAttribute","contains","matches","Number","refreshOriginals","element_1","assigned","original_0","removeAttribute","setAttribute","delete","set","setTabIndex","element_2","value","attribute","String","getCellNavigation","t2","cell_1","items","buttons","_temp3","composite","canFocusControl","length","remember","cell_2","row_0","parentElement","column","dataset","cellIndex","columnIndex","row","rowIndex","synchronize","available","shouldRecoverFocus","document","activeElement","body","isConnected","includes","saved","row_1","find","item_0","item","Math","min","cell_4","_temp4","cell_5","buttons_0","items_0","target_0","isActive","item_1","tabIndex","focus","move","t3","cell_6","shouldFocusLastControl","buttons_1","target_1","focusTarget","onFocus","event","cell_7","buttons_2","target_2","onBlur","event_0","relatedTarget","Node","onKeyDown","event_1","cell_8","defaultPrevented","target_3","popup_0","buttons_3","key","altKey","metaKey","ctrlKey","shiftKey","isRTL","getComputedStyle","direction","isForward","nextButton","indexOf","preventDefault","stopPropagation","items_1","index","items_2","click","allRows","row_2","isRTL_0","bb413","nextRow","max","nextCell","onOutsidePointer","event_2","onWindowBlur","onChange","queueMicrotask","observer","MutationObserver","observe","attributeFilter","attributes","childList","subtree","addEventListener","window","disconnect","removeEventListener","element_3","original_1","cell_3","getClientRects","visibility"],"sources":["../../../../src/elements/Table/GridNavigation/useGridNavigation.ts"],"sourcesContent":["'use client'\n\nimport type { RefObject } from 'react'\n\nimport { useLayoutEffect, useRef } from 'react'\n\nconst controlsSelector =\n 'a[href],button,input:not([type=\"hidden\"]),select,textarea,[tabindex],[contenteditable=\"true\"],summary,audio[controls],video[controls]'\nconst compositeSelector =\n '[role=\"toolbar\"],[role=\"tablist\"],[role=\"radiogroup\"],[role=\"listbox\"],[role=\"tree\"],[role=\"menu\"],[role=\"menubar\"],[role=\"grid\"],[role=\"treegrid\"]'\nconst interactionSelector =\n 'input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"button\"]):not([type=\"submit\"]),textarea,select,[contenteditable=\"true\"],[role=\"combobox\"],[aria-haspopup],[aria-roledescription=\"sortable\"]'\n\ntype Position = { column: string; columnIndex: number; row: string; rowIndex: number }\n\n/** Rove over rendered cells, including opaque server-rendered/custom cell contents. */\nexport function useGridNavigation({\n id,\n isEnabled,\n ref,\n}: {\n id?: string\n isEnabled: boolean\n ref: RefObject<HTMLTableElement | null>\n}) {\n const position = useRef<null | Position>(null)\n\n useLayoutEffect(() => {\n const table = ref.current\n\n if (!isEnabled || !table) {\n return\n }\n\n const originals = new Map<HTMLElement, null | string>()\n const assignedTabIndexes = new Map<HTMLElement, null | string>()\n let activeCell: HTMLTableCellElement | undefined\n let isInteracting = false\n let isLeaving = false\n let hadFocus = false\n let focusedElement: HTMLElement | undefined\n\n const rows = () => Array.from(table.rows)\n const cells = () => rows().flatMap((row) => Array.from(row.cells))\n const ownedCell = (target: EventTarget | null) => {\n if (!(target instanceof HTMLElement)) {\n return undefined\n }\n\n const cell = target.closest<HTMLTableCellElement>('th,td')\n\n return cell?.closest('table') === table ? cell : undefined\n }\n const isVisible = (element: HTMLElement) =>\n !element.closest('[hidden],[inert],[aria-hidden=\"true\"]') &&\n element.getClientRects().length > 0 &&\n getComputedStyle(element).visibility !== 'hidden'\n const controls = (cell: HTMLTableCellElement) =>\n Array.from(cell.querySelectorAll<HTMLElement>(controlsSelector)).filter((element) => {\n const popup = element.closest('.popup__content,[role=\"dialog\"]')\n const original = originals.has(element)\n ? originals.get(element)\n : element.getAttribute('tabindex')\n\n return (\n ownedCell(element) === cell &&\n !(popup && cell.contains(popup)) &&\n !element.matches(':disabled') &&\n (original === null || Number(original) >= 0) &&\n isVisible(element)\n )\n })\n const refreshOriginals = () => {\n for (const [element, assigned] of assignedTabIndexes) {\n if (!table.contains(element)) {\n const original = originals.get(element)\n\n if (original == null) {\n element.removeAttribute('tabindex')\n } else {\n element.setAttribute('tabindex', original)\n }\n originals.delete(element)\n assignedTabIndexes.delete(element)\n continue\n }\n const current = element.getAttribute('tabindex')\n\n // Preserve changes made by a custom widget instead of treating them as grid writes.\n if (current !== assigned) {\n originals.set(element, current)\n assignedTabIndexes.set(element, current)\n }\n }\n }\n const setTabIndex = (element: HTMLElement, value: null | number | string) => {\n if (!originals.has(element)) {\n originals.set(element, element.getAttribute('tabindex'))\n }\n const attribute = value === null ? null : String(value)\n\n if (element.getAttribute('tabindex') !== attribute) {\n if (attribute === null) {\n element.removeAttribute('tabindex')\n } else {\n element.setAttribute('tabindex', attribute)\n }\n }\n assignedTabIndexes.set(element, attribute)\n }\n const getCellNavigation = ({ cell }: { cell: HTMLTableCellElement }) => {\n const items = controls(cell)\n const buttons = cell.matches('th')\n ? items.filter((item) => item.matches('[data-grid-sort-controls] button'))\n : []\n const composite = items[0]?.closest(compositeSelector)\n const canFocusControl =\n items.length === 1 &&\n !(composite && cell.contains(composite)) &&\n items[0].matches(\n 'button,input[type=\"checkbox\"],[role=\"button\"],[role=\"checkbox\"],[role=\"switch\"]',\n ) &&\n !items[0].matches(interactionSelector)\n\n return { buttons, items, target: buttons[0] ?? (canFocusControl ? items[0] : cell) }\n }\n const remember = (cell: HTMLTableCellElement) => {\n const row = cell.parentElement as HTMLTableRowElement\n\n position.current = {\n column: cell.dataset.column ?? String(cell.cellIndex),\n columnIndex: cell.cellIndex,\n row: row.dataset.id ?? 'header',\n rowIndex: row.rowIndex,\n }\n }\n const synchronize = () => {\n refreshOriginals()\n const available = cells().filter(isVisible)\n const shouldRecoverFocus =\n hadFocus &&\n focusedElement &&\n (!table.contains(focusedElement) ||\n !isVisible(focusedElement) ||\n focusedElement.matches(':disabled')) &&\n (document.activeElement === document.body || document.activeElement === focusedElement)\n\n if (shouldRecoverFocus) {\n isInteracting = false\n }\n\n if (!activeCell?.isConnected || !available.includes(activeCell)) {\n const saved = position.current\n const row =\n saved &&\n (rows().find((item) => (item.dataset.id ?? 'header') === saved.row) ??\n rows()[Math.min(saved.rowIndex, rows().length - 1)])\n\n activeCell =\n (row &&\n (Array.from(row.cells).find(\n (cell) => available.includes(cell) && cell.dataset.column === saved?.column,\n ) ??\n Array.from(row.cells).filter(isVisible)[\n Math.min(saved.columnIndex, Array.from(row.cells).filter(isVisible).length - 1)\n ])) ||\n available.find((cell) => cell.matches('tbody .cell--linked')) ||\n available[0]\n isInteracting = false\n }\n for (const cell of available) {\n const { buttons, items, target } = getCellNavigation({ cell })\n const isActive = cell === activeCell && !isLeaving\n\n setTabIndex(cell, isActive && target === cell && !isInteracting ? 0 : -1)\n for (const item of items) {\n let tabIndex: null | number | string = -1\n\n if (isActive) {\n if (isInteracting) {\n tabIndex = originals.has(item) ? originals.get(item) : item.getAttribute('tabindex')\n } else if (target === item || buttons.includes(item)) {\n tabIndex = 0\n }\n }\n setTabIndex(item, tabIndex ?? null)\n }\n }\n if (activeCell) {\n remember(activeCell)\n if (shouldRecoverFocus) {\n getCellNavigation({ cell: activeCell }).target.focus()\n }\n }\n }\n const move = ({\n cell,\n shouldFocusLastControl,\n }: {\n cell: HTMLTableCellElement\n shouldFocusLastControl: boolean\n }) => {\n activeCell = cell\n isInteracting = false\n synchronize()\n const { buttons, target } = getCellNavigation({ cell })\n const focusTarget =\n shouldFocusLastControl && buttons.length ? buttons[buttons.length - 1] : target\n\n focusTarget.focus()\n }\n const onFocus = (event: FocusEvent) => {\n const cell = ownedCell(event.target)\n\n if (!cell) {\n return\n }\n refreshOriginals()\n hadFocus = true\n isLeaving = false\n focusedElement = event.target as HTMLElement\n activeCell = cell\n const { buttons, target } = getCellNavigation({ cell })\n\n isInteracting =\n event.target !== cell &&\n event.target !== target &&\n !buttons.includes(event.target as HTMLElement)\n synchronize()\n }\n const onBlur = (event: FocusEvent) => {\n if (\n isLeaving ||\n (event.relatedTarget instanceof Node && !table.contains(event.relatedTarget))\n ) {\n hadFocus = false\n isLeaving = false\n isInteracting = false\n synchronize()\n }\n }\n const onKeyDown = (event: KeyboardEvent) => {\n const cell = ownedCell(event.target)\n\n if (!cell || event.defaultPrevented) {\n return\n }\n const target = event.target as HTMLElement\n const popup = target.closest('.popup__content,[role=\"dialog\"]')\n\n if (popup && cell.contains(popup)) {\n return\n }\n const { buttons } = getCellNavigation({ cell })\n\n if (buttons.includes(target)) {\n if (event.key === 'Tab') {\n isLeaving = true\n synchronize()\n return\n }\n if (\n !event.altKey &&\n !event.metaKey &&\n !event.ctrlKey &&\n !event.shiftKey &&\n (event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n ) {\n const isRTL = getComputedStyle(table).direction === 'rtl'\n const isForward = (event.key === 'ArrowRight') !== isRTL\n const nextButton = buttons[buttons.indexOf(target) + (isForward ? 1 : -1)]\n\n if (nextButton) {\n event.preventDefault()\n nextButton.focus()\n return\n }\n }\n if (event.key === 'Escape') {\n event.preventDefault()\n buttons[0].focus()\n return\n }\n }\n if (isInteracting) {\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n isInteracting = false\n getCellNavigation({ cell }).target.focus()\n synchronize()\n } else if (event.key === 'Tab') {\n const items = controls(cell)\n const index = items.indexOf(target)\n\n if ((event.shiftKey && index === 0) || (!event.shiftKey && index === items.length - 1)) {\n isInteracting = false\n isLeaving = true\n synchronize()\n }\n }\n return\n }\n if ((event.key === 'Enter' || event.key === 'F2') && target === cell) {\n const items = controls(cell)\n\n if (event.key === 'Enter' && items.length === 1 && items[0].matches('a[href]')) {\n event.preventDefault()\n items[0].click()\n return\n }\n if (items.length) {\n event.preventDefault()\n isInteracting = true\n synchronize()\n items[0].focus()\n }\n return\n }\n if (event.altKey || event.metaKey || event.shiftKey) {\n return\n }\n const allRows = rows()\n const row = cell.parentElement as HTMLTableRowElement\n let rowIndex = row.rowIndex\n let columnIndex = cell.cellIndex\n const isRTL = getComputedStyle(table).direction === 'rtl'\n\n switch (event.key) {\n case 'ArrowDown':\n rowIndex++\n break\n case 'ArrowLeft':\n columnIndex += isRTL ? 1 : -1\n break\n case 'ArrowRight':\n columnIndex += isRTL ? -1 : 1\n break\n case 'ArrowUp':\n rowIndex--\n break\n case 'End':\n columnIndex = row.cells.length - 1\n if (event.ctrlKey) {\n rowIndex = allRows.length - 1\n }\n break\n case 'Home':\n columnIndex = 0\n if (event.ctrlKey) {\n rowIndex = 0\n }\n break\n default:\n return\n }\n event.preventDefault()\n const nextRow = allRows[Math.max(0, Math.min(rowIndex, allRows.length - 1))]\n const nextCell = nextRow.cells[Math.max(0, Math.min(columnIndex, nextRow.cells.length - 1))]\n\n if (nextCell && nextCell !== cell && isVisible(nextCell)) {\n move({\n cell: nextCell,\n shouldFocusLastControl:\n (event.key === 'ArrowLeft' && !isRTL) || (event.key === 'ArrowRight' && isRTL),\n })\n }\n }\n const onOutsidePointer = (event: PointerEvent) => {\n if (event.target instanceof Node && !table.contains(event.target)) {\n hadFocus = false\n }\n }\n const onWindowBlur = () => {\n hadFocus = false\n }\n const onChange = () => queueMicrotask(synchronize)\n const observer = new MutationObserver(synchronize)\n\n synchronize()\n observer.observe(table, {\n attributeFilter: ['tabindex', 'disabled', 'hidden', 'aria-hidden'],\n attributes: true,\n childList: true,\n subtree: true,\n })\n document.addEventListener('pointerdown', onOutsidePointer, true)\n window.addEventListener('blur', onWindowBlur)\n table.addEventListener('focusin', onFocus)\n table.addEventListener('focusout', onBlur)\n // React cell handlers must be able to consume keys before grid navigation handles them.\n document.addEventListener('keydown', onKeyDown)\n table.addEventListener('change', onChange)\n\n return () => {\n observer.disconnect()\n document.removeEventListener('pointerdown', onOutsidePointer, true)\n window.removeEventListener('blur', onWindowBlur)\n table.removeEventListener('focusin', onFocus)\n table.removeEventListener('focusout', onBlur)\n document.removeEventListener('keydown', onKeyDown)\n table.removeEventListener('change', onChange)\n for (const [element, original] of originals) {\n if (original === null) {\n element.removeAttribute('tabindex')\n } else {\n element.setAttribute('tabindex', original)\n }\n }\n }\n }, [id, isEnabled, ref])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ export type Props = {
|
|
|
8
8
|
readonly columns?: Column[];
|
|
9
9
|
readonly data: Record<string, unknown>[];
|
|
10
10
|
readonly heading?: React.ReactNode;
|
|
11
|
+
readonly id?: string;
|
|
11
12
|
};
|
|
12
13
|
export declare const OrderableTable: React.FC<Props>;
|
|
13
14
|
//# sourceMappingURL=OrderableTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderableTable.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAyB,MAAM,SAAS,CAAA;AAEpF,OAAO,aAAa,CAAA;AAIpB,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"OrderableTable.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAyB,MAAM,SAAS,CAAA;AAEpF,OAAO,aAAa,CAAA;AAIpB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAkBlD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmN1C,CAAA"}
|
|
@@ -14,16 +14,19 @@ import { DraggableSortableItem } from '../DraggableSortable/DraggableSortableIte
|
|
|
14
14
|
import { DraggableSortable } from '../DraggableSortable/index.js';
|
|
15
15
|
import { OrderableRow } from './OrderableRow.js';
|
|
16
16
|
import { OrderableRowDragPreview } from './OrderableRowDragPreview.js';
|
|
17
|
+
import { useTableID } from './TableIdentity.js';
|
|
17
18
|
const baseClass = 'table';
|
|
18
19
|
// A stable id so repeated attempts (e.g. holding Space) update the same toast instead of stacking new ones
|
|
19
20
|
const mustSortByOrderToastId = 'orderable-table-must-sort-by-order';
|
|
20
21
|
export const OrderableTable = ({
|
|
22
|
+
id,
|
|
21
23
|
appearance = 'default',
|
|
22
24
|
BeforeTable,
|
|
23
25
|
collection,
|
|
24
26
|
columns,
|
|
25
27
|
data: initialData
|
|
26
28
|
}) => {
|
|
29
|
+
const tableID = useTableID(id);
|
|
27
30
|
const {
|
|
28
31
|
config
|
|
29
32
|
} = useConfig();
|
|
@@ -32,9 +35,8 @@ export const OrderableTable = ({
|
|
|
32
35
|
orderableFieldName,
|
|
33
36
|
query
|
|
34
37
|
} = useListQuery();
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
} = useLocale();
|
|
38
|
+
const locale = useLocale();
|
|
39
|
+
const localeCode = locale?.code;
|
|
38
40
|
const {
|
|
39
41
|
t
|
|
40
42
|
} = useTranslation();
|
|
@@ -132,9 +134,9 @@ export const OrderableTable = ({
|
|
|
132
134
|
}
|
|
133
135
|
};
|
|
134
136
|
const handleDragStart = ({
|
|
135
|
-
id
|
|
137
|
+
id: id_0
|
|
136
138
|
}) => {
|
|
137
|
-
setDragActiveRowId(
|
|
139
|
+
setDragActiveRowId(id_0);
|
|
138
140
|
};
|
|
139
141
|
const handleDisabledDragAttempt = () => {
|
|
140
142
|
toast.warning(t('general:sortByOrderToReorder'), {
|
|
@@ -151,6 +153,7 @@ export const OrderableTable = ({
|
|
|
151
153
|
children: [/*#__PURE__*/_jsxs("table", {
|
|
152
154
|
cellPadding: "0",
|
|
153
155
|
cellSpacing: "0",
|
|
156
|
+
id: tableID,
|
|
154
157
|
children: [/*#__PURE__*/_jsx("thead", {
|
|
155
158
|
children: /*#__PURE__*/_jsx("tr", {
|
|
156
159
|
children: activeColumns.map((col_1, i) => /*#__PURE__*/_jsx("th", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderableTable.js","names":["DragOverlay","formatAdminURL","React","useEffect","useState","toast","useConfig","useListQuery","useLocale","useTranslation","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","baseClass","mustSortByOrderToastId","OrderableTable","appearance","BeforeTable","collection","columns","data","initialData","config","listQueryData","orderableFieldName","query","code","localeCode","t","serverData","docs","isOrderable","sort","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","id","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","apiRoute","routes","api","path","body","JSON","stringify","credentials","headers","method","status","Error","ok","json","err","error","message","handleDragStart","handleDisabledDragAttempt","rowIds","row","_jsxs","className","Boolean","join","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","disabled","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","onDisabledDragAttempt","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.css'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\n\nconst baseClass = 'table'\n\n// A stable id so repeated attempts (e.g. holding Space) update the same toast instead of stacking new ones\nconst mustSortByOrderToastId = 'orderable-table-must-sort-by-order'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly BeforeTable?: React.ReactNode\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n readonly heading?: React.ReactNode\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n appearance = 'default',\n BeforeTable,\n collection,\n columns,\n data: initialData,\n}) => {\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n const { code: localeCode } = useLocale()\n const { t } = useTranslation()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n const isOrderable = query.sort === orderableFieldName || query.sort === `-${orderableFieldName}`\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (!isOrderable) {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/reorder?locale=${localeCode}`,\n }),\n {\n body: JSON.stringify(jsonBody),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n )\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n\n if (response.status === 200 && (await response.json())['message'] === 'initial migration') {\n throw new Error(\n 'You have enabled \"orderable\" on a collection with existing documents' +\n 'and this is the first time you have sorted documents. We have run an automatic migration ' +\n 'to add an initial order to the documents. Please refresh the page and try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const handleDisabledDragAttempt = () => {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeTable}\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem\n disabled={!isOrderable}\n id={rowIds[rowIndex]}\n key={rowIds[rowIndex]}\n >\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n isOrderable={isOrderable}\n onDisabledDragAttempt={handleDisabledDragAttempt}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OrderableTable.js","names":["DragOverlay","formatAdminURL","React","useEffect","useState","toast","useConfig","useListQuery","useLocale","useTranslation","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","useTableID","baseClass","mustSortByOrderToastId","OrderableTable","id","appearance","BeforeTable","collection","columns","data","initialData","tableID","config","listQueryData","orderableFieldName","query","locale","localeCode","code","t","serverData","docs","isOrderable","sort","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","apiRoute","routes","api","path","body","JSON","stringify","credentials","headers","method","status","Error","ok","json","err","error","message","handleDragStart","handleDisabledDragAttempt","rowIds","row","_jsxs","className","Boolean","join","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","disabled","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","onDisabledDragAttempt","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.css'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\nimport { useTableID } from './TableIdentity.js'\n\nconst baseClass = 'table'\n\n// A stable id so repeated attempts (e.g. holding Space) update the same toast instead of stacking new ones\nconst mustSortByOrderToastId = 'orderable-table-must-sort-by-order'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly BeforeTable?: React.ReactNode\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n readonly heading?: React.ReactNode\n readonly id?: string\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n id,\n appearance = 'default',\n BeforeTable,\n collection,\n columns,\n data: initialData,\n}) => {\n const tableID = useTableID(id)\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n const locale = useLocale()\n const localeCode = locale?.code\n const { t } = useTranslation()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n const isOrderable = query.sort === orderableFieldName || query.sort === `-${orderableFieldName}`\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (!isOrderable) {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/reorder?locale=${localeCode}`,\n }),\n {\n body: JSON.stringify(jsonBody),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n )\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n\n if (response.status === 200 && (await response.json())['message'] === 'initial migration') {\n throw new Error(\n 'You have enabled \"orderable\" on a collection with existing documents' +\n 'and this is the first time you have sorted documents. We have run an automatic migration ' +\n 'to add an initial order to the documents. Please refresh the page and try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const handleDisabledDragAttempt = () => {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeTable}\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\" id={tableID}>\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem\n disabled={!isOrderable}\n id={rowIds[rowIndex]}\n key={rowIds[rowIndex]}\n >\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n isOrderable={isOrderable}\n onDisabledDragAttempt={handleDisabledDragAttempt}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAyE,MAAM,OAAO,CAAA;AAW7F,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAyE,MAAM,OAAO,CAAA;AAW7F,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAqGlF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAAuC,CAAA"}
|
|
@@ -38,9 +38,8 @@ export const RelationshipProvider = t0 => {
|
|
|
38
38
|
const {
|
|
39
39
|
i18n
|
|
40
40
|
} = useTranslation();
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
} = useLocale();
|
|
41
|
+
const currentLocale = useLocale();
|
|
42
|
+
const locale = currentLocale?.code;
|
|
44
43
|
const prevLocale = useRef(locale);
|
|
45
44
|
let t4;
|
|
46
45
|
if ($[1] !== api || $[2] !== collections || $[3] !== debouncedDocuments || $[4] !== i18n || $[5] !== locale) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","api","i18n","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","api","i18n","currentLocale","locale","code","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","apiRoute","path","params","URLSearchParams","select","append","collection","find","fieldToSelect","admin","useAsTitle","upload","collectionConfig","idsToString","map","_temp","join","query","toString","stringify","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport { appendUploadSelectFields, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = formatAdminURL({ apiRoute: api, path: `/${slug}` })\n\n const params = new URLSearchParams()\n const select: SelectType = {}\n\n params.append('depth', '0')\n params.append('draft', 'true')\n params.append('limit', '250')\n\n const collection = collections.find((c) => c.slug === slug)\n\n if (!collection) {\n return\n }\n\n const fieldToSelect = collection.admin.useAsTitle ?? 'id'\n\n select[fieldToSelect] = true\n\n if (collection.upload) {\n appendUploadSelectFields({ collectionConfig: collection, select })\n }\n\n if (locale) {\n params.append('locale', locale)\n }\n\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n\n const query = `?${params.toString()}&${qs.stringify({ select })}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, api, i18n, locale, collections],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const TableGridContext: React.Context<boolean>;
|
|
3
|
+
export declare const TableIdentityProvider: React.FC<{
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
collectionSlug: string;
|
|
6
|
+
navigationLabel?: string;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const useTableID: (id?: string) => string | undefined;
|
|
9
|
+
export declare const useTableNavigationLabel: () => string | undefined;
|
|
10
|
+
//# sourceMappingURL=TableIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableIdentity.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/TableIdentity.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAQxD,eAAO,MAAM,gBAAgB,wBAAuB,CAAA;AAIpD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAcA,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,MAAM,GAAG,SAgBjD,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAO,MAAM,GAAG,SACR,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import React, { createContext, use, useId } from 'react';
|
|
6
|
+
export const TableGridContext = /*#__PURE__*/createContext(false);
|
|
7
|
+
const TableIdentityContext = /*#__PURE__*/createContext(null);
|
|
8
|
+
export const TableIdentityProvider = t0 => {
|
|
9
|
+
const $ = _c(5);
|
|
10
|
+
const {
|
|
11
|
+
children,
|
|
12
|
+
collectionSlug,
|
|
13
|
+
navigationLabel
|
|
14
|
+
} = t0;
|
|
15
|
+
const instanceID = useId().replace(/:/g, "");
|
|
16
|
+
const t1 = `payload-table-${collectionSlug}-${instanceID}`;
|
|
17
|
+
const t2 = `payload-table-${collectionSlug}`;
|
|
18
|
+
let t3;
|
|
19
|
+
if ($[0] !== children || $[1] !== navigationLabel || $[2] !== t1 || $[3] !== t2) {
|
|
20
|
+
t3 = _jsx(TableIdentityContext, {
|
|
21
|
+
value: {
|
|
22
|
+
baseID: t1,
|
|
23
|
+
legacyBaseID: t2,
|
|
24
|
+
navigationLabel
|
|
25
|
+
},
|
|
26
|
+
children
|
|
27
|
+
});
|
|
28
|
+
$[0] = children;
|
|
29
|
+
$[1] = navigationLabel;
|
|
30
|
+
$[2] = t1;
|
|
31
|
+
$[3] = t2;
|
|
32
|
+
$[4] = t3;
|
|
33
|
+
} else {
|
|
34
|
+
t3 = $[4];
|
|
35
|
+
}
|
|
36
|
+
return t3;
|
|
37
|
+
};
|
|
38
|
+
export const useTableID = id => {
|
|
39
|
+
const identity = use(TableIdentityContext);
|
|
40
|
+
if (!identity || !id) {
|
|
41
|
+
return id;
|
|
42
|
+
}
|
|
43
|
+
if (id === identity.legacyBaseID) {
|
|
44
|
+
return identity.baseID;
|
|
45
|
+
}
|
|
46
|
+
if (id.startsWith(`${identity.legacyBaseID}-`)) {
|
|
47
|
+
return `${identity.baseID}${id.slice(identity.legacyBaseID.length)}`;
|
|
48
|
+
}
|
|
49
|
+
return id;
|
|
50
|
+
};
|
|
51
|
+
export const useTableNavigationLabel = () => use(TableIdentityContext)?.navigationLabel;
|
|
52
|
+
//# sourceMappingURL=TableIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableIdentity.js","names":["c","_c","React","createContext","use","useId","TableGridContext","TableIdentityContext","TableIdentityProvider","t0","$","children","collectionSlug","navigationLabel","instanceID","replace","t1","t2","t3","_jsx","value","baseID","legacyBaseID","useTableID","id","identity","startsWith","slice","length","useTableNavigationLabel"],"sources":["../../../src/elements/Table/TableIdentity.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, use, useId } from 'react'\n\ntype TableIdentity = {\n baseID: string\n legacyBaseID: string\n navigationLabel?: string\n}\n\nexport const TableGridContext = createContext(false)\n\nconst TableIdentityContext = createContext<null | TableIdentity>(null)\n\nexport const TableIdentityProvider: React.FC<{\n children: React.ReactNode\n collectionSlug: string\n navigationLabel?: string\n}> = ({ children, collectionSlug, navigationLabel }) => {\n const instanceID = useId().replace(/:/g, '')\n\n return (\n <TableIdentityContext\n value={{\n baseID: `payload-table-${collectionSlug}-${instanceID}`,\n legacyBaseID: `payload-table-${collectionSlug}`,\n navigationLabel,\n }}\n >\n {children}\n </TableIdentityContext>\n )\n}\n\nexport const useTableID = (id?: string): string | undefined => {\n const identity = use(TableIdentityContext)\n\n if (!identity || !id) {\n return id\n }\n\n if (id === identity.legacyBaseID) {\n return identity.baseID\n }\n\n if (id.startsWith(`${identity.legacyBaseID}-`)) {\n return `${identity.baseID}${id.slice(identity.legacyBaseID.length)}`\n }\n\n return id\n}\n\nexport const useTableNavigationLabel = (): string | undefined =>\n use(TableIdentityContext)?.navigationLabel\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,KAAK,QAAQ;AAQjD,OAAO,MAAMC,gBAAA,gBAAmBH,aAAA,CAAc;AAE9C,MAAMI,oBAAA,gBAAuBJ,aAAA,CAAoC;AAEjE,OAAO,MAAMK,qBAAA,GAIRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,QAAA;IAAAC,cAAA;IAAAC;EAAA,IAAAJ,EAA6C;EACjD,MAAAK,UAAA,GAAmBT,KAAA,GAAAU,OAAA,OAAsB;EAK3B,MAAAC,EAAA,oBAAiBJ,cAAA,IAAkBE,UAAA,EAAY;EACzC,MAAAG,EAAA,oBAAiBL,cAAA,EAAgB;EAAA,IAAAM,EAAA;EAAA,IAAAR,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAO,EAAA;IAHnDC,EAAA,GAAAC,IAAA,CAAAZ,oBAAA;MAAAa,KAAA;QAAAC,MAAA,EAEYL,EAA+C;QAAAM,YAAA,EACzCL,EAAiC;QAAAJ;MAAA;MAAAF;IAAA,C;;;;;;;;;SAHnDO,E;CAUJ;AAEA,OAAO,MAAMK,UAAA,GAAcC,EAAA;EACzB,MAAMC,QAAA,GAAWrB,GAAA,CAAIG,oBAAA;EAErB,IAAI,CAACkB,QAAA,IAAY,CAACD,EAAA,EAAI;IACpB,OAAOA,EAAA;EACT;EAEA,IAAIA,EAAA,KAAOC,QAAA,CAASH,YAAY,EAAE;IAChC,OAAOG,QAAA,CAASJ,MAAM;EACxB;EAEA,IAAIG,EAAA,CAAGE,UAAU,CAAC,GAAGD,QAAA,CAASH,YAAY,GAAG,GAAG;IAC9C,OAAO,GAAGG,QAAA,CAASJ,MAAM,GAAGG,EAAA,CAAGG,KAAK,CAACF,QAAA,CAASH,YAAY,CAACM,MAAM,GAAG;EACtE;EAEA,OAAOJ,EAAA;AACT;AAEA,OAAO,MAAMK,uBAAA,GAA0BA,CAAA,KACrCzB,GAAA,CAAIG,oBAAA,GAAuBM,eAAA","ignoreList":[]}
|
|
@@ -75,7 +75,27 @@
|
|
|
75
75
|
padding-inline-start: var(--spacer-3);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
td.cell--linked > :is(a, button),
|
|
79
|
+
.cell-link {
|
|
80
|
+
font-weight: var(--text-body-medium-strong-font-weight);
|
|
81
|
+
text-decoration-line: underline;
|
|
82
|
+
text-decoration-style: solid;
|
|
83
|
+
text-decoration-skip-ink: none;
|
|
84
|
+
text-decoration-color: var(--color-border);
|
|
85
|
+
text-decoration-thickness: auto;
|
|
86
|
+
text-underline-offset: 2px;
|
|
87
|
+
text-underline-position: from-font;
|
|
88
|
+
|
|
89
|
+
&:hover {
|
|
90
|
+
text-decoration-color: var(--color-text);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
td.cell--linked > :is(a, button):has(.id-label) {
|
|
95
|
+
text-decoration-line: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.heading-_select,
|
|
79
99
|
.cell-_select {
|
|
80
100
|
width: var(--spacer-5);
|
|
81
101
|
min-width: var(--spacer-5);
|
|
@@ -96,13 +116,13 @@
|
|
|
96
116
|
}
|
|
97
117
|
}
|
|
98
118
|
|
|
99
|
-
|
|
119
|
+
.heading-_dragHandle {
|
|
100
120
|
display: flex;
|
|
101
121
|
align-items: center;
|
|
102
122
|
justify-content: center;
|
|
103
123
|
}
|
|
104
124
|
|
|
105
|
-
|
|
125
|
+
.heading-_dragHandle,
|
|
106
126
|
.cell-_dragHandle {
|
|
107
127
|
width: var(--spacer-4);
|
|
108
128
|
min-width: var(--spacer-4);
|
|
@@ -253,6 +273,7 @@
|
|
|
253
273
|
z-index: var(--z-popup);
|
|
254
274
|
}
|
|
255
275
|
|
|
276
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
256
277
|
@media (max-width: 1024px) {
|
|
257
278
|
.table {
|
|
258
279
|
th,
|
|
@@ -3,9 +3,12 @@ import React from 'react';
|
|
|
3
3
|
import './index.css';
|
|
4
4
|
export type Props = {
|
|
5
5
|
readonly appearance?: 'condensed' | 'default';
|
|
6
|
+
readonly ariaLabel?: string;
|
|
6
7
|
readonly BeforeTable?: React.ReactNode;
|
|
7
8
|
readonly columns?: Column[];
|
|
8
9
|
readonly data: Record<string, unknown>[];
|
|
10
|
+
readonly id?: string;
|
|
11
|
+
readonly navigationLabel?: string;
|
|
9
12
|
};
|
|
10
13
|
export declare const Table: React.FC<Props>;
|
|
11
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAQ,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAiB,MAAM,OAAO,CAAA;AAMrC,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgHjC,CAAA"}
|
|
@@ -1,16 +1,40 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import React from 'react';
|
|
4
|
+
import React, { useRef } from 'react';
|
|
5
|
+
import { useAuth } from '../../providers/Auth/index.js';
|
|
6
|
+
import { useSelection } from '../../providers/Selection/index.js';
|
|
7
|
+
import { useGridNavigation } from './GridNavigation/useGridNavigation.js';
|
|
8
|
+
import { TableGridContext, useTableID, useTableNavigationLabel } from './TableIdentity.js';
|
|
5
9
|
import './index.css';
|
|
6
10
|
const baseClass = 'table';
|
|
7
11
|
export const Table = ({
|
|
12
|
+
id,
|
|
8
13
|
appearance,
|
|
14
|
+
ariaLabel,
|
|
9
15
|
BeforeTable,
|
|
10
16
|
columns,
|
|
11
|
-
data
|
|
17
|
+
data,
|
|
18
|
+
navigationLabel: navigationLabelFromProps
|
|
12
19
|
}) => {
|
|
20
|
+
const tableID = useTableID(id);
|
|
21
|
+
const navigationLabelFromContext = useTableNavigationLabel();
|
|
22
|
+
const navigationLabel = navigationLabelFromProps ?? navigationLabelFromContext;
|
|
23
|
+
const tableRef = useRef(null);
|
|
24
|
+
const isGrid = Boolean(navigationLabel);
|
|
25
|
+
const {
|
|
26
|
+
selected
|
|
27
|
+
} = useSelection();
|
|
28
|
+
const {
|
|
29
|
+
user
|
|
30
|
+
} = useAuth();
|
|
13
31
|
const activeColumns = columns?.filter(col => col?.active);
|
|
32
|
+
const hasRowSelection = isGrid && activeColumns?.some(column => column.accessor === '_select');
|
|
33
|
+
useGridNavigation({
|
|
34
|
+
id,
|
|
35
|
+
isEnabled: isGrid && Boolean(activeColumns?.length),
|
|
36
|
+
ref: tableRef
|
|
37
|
+
});
|
|
14
38
|
if (!activeColumns || activeColumns.length === 0) {
|
|
15
39
|
return /*#__PURE__*/_jsx("div", {
|
|
16
40
|
children: "No columns selected"
|
|
@@ -18,33 +42,52 @@ export const Table = ({
|
|
|
18
42
|
}
|
|
19
43
|
return /*#__PURE__*/_jsxs("div", {
|
|
20
44
|
className: [baseClass, appearance && `${baseClass}--appearance-${appearance}`].filter(Boolean).join(' '),
|
|
21
|
-
children: [BeforeTable, /*#__PURE__*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
children: [BeforeTable, /*#__PURE__*/_jsx(TableGridContext, {
|
|
46
|
+
value: isGrid,
|
|
47
|
+
children: /*#__PURE__*/_jsxs("table", {
|
|
48
|
+
"aria-label": ariaLabel ?? navigationLabel,
|
|
49
|
+
"aria-multiselectable": hasRowSelection || undefined,
|
|
50
|
+
cellPadding: "0",
|
|
51
|
+
cellSpacing: "0",
|
|
52
|
+
id: tableID,
|
|
53
|
+
ref: tableRef,
|
|
54
|
+
role: isGrid ? 'grid' : undefined,
|
|
55
|
+
children: [/*#__PURE__*/_jsx("thead", {
|
|
56
|
+
children: /*#__PURE__*/_jsx("tr", {
|
|
57
|
+
role: isGrid ? 'row' : undefined,
|
|
58
|
+
children: activeColumns.map(col_0 => /*#__PURE__*/_jsx("th", {
|
|
59
|
+
"data-column": col_0.accessor,
|
|
60
|
+
id: `heading-${col_0.accessor.replace(/\./g, '__')}`,
|
|
61
|
+
role: isGrid ? 'columnheader' : undefined,
|
|
62
|
+
scope: "col",
|
|
63
|
+
children: col_0.Heading
|
|
64
|
+
}, col_0.accessor))
|
|
65
|
+
})
|
|
66
|
+
}), /*#__PURE__*/_jsx("tbody", {
|
|
67
|
+
children: data && data?.map((row, rowIndex) => {
|
|
68
|
+
const userEditing = row._userEditing;
|
|
69
|
+
const isLockedByAnotherUser = row._isLocked && userEditing && userEditing.id !== user?.id;
|
|
70
|
+
return /*#__PURE__*/_jsx("tr", {
|
|
71
|
+
"aria-label": isGrid ? String(rowIndex + 1) : undefined,
|
|
72
|
+
"aria-selected": hasRowSelection && !isLockedByAnotherUser ? Boolean((typeof row.id === 'string' || typeof row.id === 'number') && selected.get(row.id)) : undefined,
|
|
73
|
+
className: `row-${rowIndex + 1}`,
|
|
74
|
+
"data-id": row.id,
|
|
75
|
+
role: isGrid ? 'row' : undefined,
|
|
76
|
+
children: activeColumns.map(col_1 => {
|
|
77
|
+
const {
|
|
78
|
+
accessor
|
|
79
|
+
} = col_1;
|
|
80
|
+
return /*#__PURE__*/_jsx("td", {
|
|
81
|
+
className: [`cell-${accessor.replace(/\./g, '__')}`, col_1.isLinkedColumn && 'cell--linked'].filter(Boolean).join(' '),
|
|
82
|
+
"data-column": accessor,
|
|
83
|
+
role: isGrid ? 'gridcell' : undefined,
|
|
84
|
+
children: col_1.renderedCells[rowIndex]
|
|
85
|
+
}, accessor);
|
|
86
|
+
})
|
|
87
|
+
}, typeof row.id === 'string' || typeof row.id === 'number' ? String(row.id) : rowIndex);
|
|
88
|
+
})
|
|
89
|
+
})]
|
|
90
|
+
})
|
|
48
91
|
})]
|
|
49
92
|
});
|
|
50
93
|
};
|