@payloadcms/ui 4.0.0-internal.cd47d20 → 4.0.0-internal.ce66a41
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 -1
- package/dist/css/forms.css +0 -1
- package/dist/css/spacing.css +1 -1
- package/dist/css/typography.css +161 -55
- package/dist/elements/APIKeyInput/index.css +2 -2
- package/dist/elements/AddNewRelation/index.css +0 -4
- package/dist/elements/AddNewRelation/index.js +2 -2
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.css +4 -0
- package/dist/elements/AppHeader/index.d.ts +1 -8
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +10 -19
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Banner/index.css +3 -4
- package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +12 -10
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +5 -0
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +49 -8
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +25 -20
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.css +4 -5
- package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +28 -35
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts +2 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +175 -60
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts +6 -0
- package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts.map +1 -0
- package/dist/elements/BulkUpload/useUploadCollectionOptions.js +74 -0
- package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -0
- package/dist/elements/Button/index.css +7 -1
- package/dist/elements/Button/types.d.ts +1 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.css +7 -8
- package/dist/elements/CardGrid/index.css +20 -0
- package/dist/elements/CardGrid/index.d.ts +13 -0
- package/dist/elements/CardGrid/index.d.ts.map +1 -0
- package/dist/elements/CardGrid/index.js +23 -0
- package/dist/elements/CardGrid/index.js.map +1 -0
- package/dist/elements/Chip/index.css +0 -1
- package/dist/elements/CollapseAllToggle/index.d.ts +3 -0
- package/dist/elements/CollapseAllToggle/index.d.ts.map +1 -1
- package/dist/elements/CollapseAllToggle/index.js +36 -22
- package/dist/elements/CollapseAllToggle/index.js.map +1 -1
- package/dist/elements/Collapsible/index.css +4 -1
- package/dist/elements/Collapsible/index.d.ts +2 -0
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +67 -46
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.css +14 -11
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/Popup.js +22 -14
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/CommandPalette/index.css +3 -8
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +1 -0
- 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 +56 -33
- 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 +33 -2
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
- package/dist/elements/DatePicker/index.css +27 -17
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +9 -7
- package/dist/elements/DefaultListViewTabs/index.js.map +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/DialogTitle/index.css +1 -1
- package/dist/elements/Dialog/index.css +1 -2
- package/dist/elements/DocumentCard/index.css +73 -0
- package/dist/elements/DocumentCard/index.d.ts +18 -0
- package/dist/elements/DocumentCard/index.d.ts.map +1 -0
- package/dist/elements/DocumentCard/index.js +182 -0
- package/dist/elements/DocumentCard/index.js.map +1 -0
- package/dist/elements/DocumentControls/index.css +1 -5
- package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
- 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/RequiredFieldsInfo/index.css +40 -0
- package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts +4 -0
- package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts.map +1 -0
- package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js +88 -0
- package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js.map +1 -0
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +2 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +0 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.css +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +13 -10
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.d.ts +1 -0
- package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.css +4 -5
- 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/Dropzone/index.d.ts +2 -1
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +9 -10
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/EditMany/index.css +4 -5
- package/dist/elements/EditUpload/index.css +3 -4
- package/dist/elements/ErrorPill/index.css +0 -1
- package/dist/elements/FieldDiffContainer/index.css +0 -1
- package/dist/elements/FieldDiffLabel/index.css +4 -5
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.css +2 -3
- package/dist/elements/FileManager/FilePreview/index.js +4 -4
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.css +2 -3
- package/dist/elements/FileManager/index.css +0 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +197 -177
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/FormHeader/index.css +0 -2
- package/dist/elements/GroupBy/Popup.css +3 -6
- package/dist/elements/HTMLDiff/index.css +0 -1
- 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/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +29 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +120 -105
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +0 -1
- package/dist/elements/Hierarchy/Modal/index.d.ts +1 -1
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +28 -39
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
- package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/selection.js +40 -0
- package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +17 -8
- 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 +11 -0
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +2 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +30 -28
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +6 -2
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +3 -1
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +25 -26
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/HydratePreferences/index.d.ts +8 -0
- package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
- package/dist/elements/HydratePreferences/index.js +34 -0
- package/dist/elements/HydratePreferences/index.js.map +1 -0
- package/dist/elements/IDLabel/index.css +5 -7
- package/dist/elements/IframeLoader/index.d.ts.map +1 -1
- package/dist/elements/IframeLoader/index.js +34 -6
- package/dist/elements/IframeLoader/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
- package/dist/elements/ItemsDrawer/index.d.ts.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +23 -1
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LLMInstructionsCell/index.css +11 -0
- package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
- package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsCell/index.js +24 -0
- package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
- package/dist/elements/LLMInstructionsDescription/index.css +79 -0
- package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
- package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsDescription/index.js +40 -0
- package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
- package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
- package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
- package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
- package/dist/elements/LayoutToggle/index.d.ts +8 -0
- package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
- package/dist/elements/LayoutToggle/index.js +56 -0
- package/dist/elements/LayoutToggle/index.js.map +1 -0
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Link/index.js +3 -0
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +5 -2
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +1 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +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/DrawerTitleActions/index.d.ts +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.css +4 -5
- 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/MiniCarousel/index.d.ts +1 -1
- package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
- package/dist/elements/MiniCarousel/index.js +6 -6
- package/dist/elements/MiniCarousel/index.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js +29 -24
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +15 -13
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +3 -3
- package/dist/elements/Nav/context.d.ts +1 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +32 -11
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +1 -10
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.css +45 -34
- package/dist/elements/Nav/index.d.ts +4 -0
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +15 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +32 -19
- package/dist/elements/NavGroup/index.d.ts.map +1 -1
- package/dist/elements/NavGroup/index.js +31 -28
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.css +2 -3
- package/dist/elements/PageControls/index.css +4 -1
- package/dist/elements/PageControls/index.d.ts +1 -0
- package/dist/elements/PageControls/index.d.ts.map +1 -1
- package/dist/elements/PageControls/index.js +41 -21
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +45 -11
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.css +0 -1
- package/dist/elements/Pagination/index.css +0 -2
- package/dist/elements/Pagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/index.js +32 -18
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.css +0 -1
- package/dist/elements/PerPage/index.js +3 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.css +0 -1
- package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.css +53 -0
- package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts +13 -0
- package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts.map +1 -0
- package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js +44 -0
- package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js.map +1 -0
- package/dist/elements/Popup/PopupButtonList/index.css +30 -8
- package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -0
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
- package/dist/elements/Popup/SubmenuScope.d.ts +21 -0
- package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -0
- package/dist/elements/Popup/SubmenuScope.js +89 -0
- package/dist/elements/Popup/SubmenuScope.js.map +1 -0
- package/dist/elements/Popup/index.css +5 -0
- package/dist/elements/Popup/index.d.ts +3 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +75 -10
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +13 -0
- package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -0
- package/dist/elements/Popup/useSubmenuPointerIntent.js +42 -0
- package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -0
- package/dist/elements/PreviewSizes/index.d.ts +1 -1
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js +9 -9
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
- package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +23 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.css +5 -3
- package/dist/elements/ReactSelect/types.d.ts +3 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RenderTitle/index.css +9 -7
- package/dist/elements/Search/ListSearchFilter/index.d.ts +2 -1
- package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
- package/dist/elements/Search/ListSearchFilter/index.js +33 -17
- package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.css +0 -1
- package/dist/elements/Search/SearchInput/index.d.ts +1 -0
- package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
- package/dist/elements/Search/SearchInput/index.js +23 -20
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +9 -0
- package/dist/elements/SegmentedControl/index.d.ts +20 -0
- package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
- package/dist/elements/SegmentedControl/index.js +162 -0
- package/dist/elements/SegmentedControl/index.js.map +1 -0
- 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/SidebarRow/index.css +43 -2
- package/dist/elements/SidebarToggle/index.css +3 -1
- package/dist/elements/SkipToContent/index.css +21 -0
- package/dist/elements/SkipToContent/index.d.ts +4 -0
- package/dist/elements/SkipToContent/index.d.ts.map +1 -0
- package/dist/elements/SkipToContent/index.js +63 -0
- package/dist/elements/SkipToContent/index.js.map +1 -0
- package/dist/elements/SortColumn/index.css +1 -2
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +7 -3
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Spinner/index.css +0 -2
- package/dist/elements/Status/index.css +3 -4
- package/dist/elements/StepNav/index.css +15 -9
- package/dist/elements/Switch/index.css +0 -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/Checkbox/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.css +18 -13
- package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +42 -8
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -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/TableIdentity.d.ts +3 -0
- package/dist/elements/Table/TableIdentity.d.ts.map +1 -1
- package/dist/elements/Table/TableIdentity.js +13 -8
- package/dist/elements/Table/TableIdentity.js.map +1 -1
- package/dist/elements/Table/index.css +23 -3
- package/dist/elements/Table/index.d.ts +2 -0
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +77 -83
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableSection/index.css +4 -5
- package/dist/elements/Tabs/index.css +1 -2
- package/dist/elements/Tabs/index.d.ts +4 -0
- package/dist/elements/Tabs/index.d.ts.map +1 -1
- package/dist/elements/Tabs/index.js +30 -1
- package/dist/elements/Tabs/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.css +0 -1
- package/dist/elements/TimezonePicker/index.css +0 -3
- package/dist/elements/Tooltip/index.css +2 -2
- package/dist/elements/Tooltip/index.d.ts +5 -5
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +20 -13
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/index.css +2 -3
- package/dist/elements/Upload/index.d.ts +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +6 -6
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +12 -30
- 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 +12 -30
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js +12 -30
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +29 -15
- package/dist/elements/UserMenu/index.d.ts +1 -0
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +60 -46
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/exports/client/CodeEditor-UKD3EPUY.js +14 -0
- package/dist/exports/client/CodeEditor-UKD3EPUY.js.map +7 -0
- package/dist/exports/client/DatePicker-BBZ3XRWP.js +14 -0
- package/dist/exports/client/DatePicker-BBZ3XRWP.js.map +7 -0
- package/dist/exports/client/chunk-6XCSN54Q.js +27 -0
- package/dist/exports/client/chunk-6XCSN54Q.js.map +7 -0
- package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
- package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
- package/dist/exports/client/chunk-USFUVW7C.js +29 -0
- package/dist/exports/client/chunk-USFUVW7C.js.map +7 -0
- package/dist/exports/client/index.d.ts +22 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +100 -1
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +3 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +3 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +1 -1
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/index.css +4 -0
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +14 -5
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.css +3 -5
- package/dist/fields/Blocks/index.css +2 -2
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +20 -11
- 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 +189 -155
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +20 -3
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +1 -0
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +45 -31
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +11 -0
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldError/index.css +12 -0
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +4 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.css +5 -4
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +28 -10
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.css +2 -3
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +15 -1
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.css +3 -4
- package/dist/fields/Password/input.d.ts.map +1 -1
- package/dist/fields/Password/input.js +73 -95
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +15 -2
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.css +0 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +25 -17
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +2 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +8 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +70 -51
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.css +7 -0
- package/dist/fields/Tabs/Tab/index.d.ts +2 -0
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +15 -9
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +179 -116
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +53 -34
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +1 -1
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +1 -1
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +13 -4
- package/dist/fields/Upload/Input.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/NullifyField/index.d.ts +10 -0
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +14 -4
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/index.css +3 -6
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -2
- package/dist/forms/fieldSchemasToFormState/renderField.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/icons/ImageStack/index.d.ts +3 -0
- package/dist/icons/ImageStack/index.d.ts.map +1 -0
- package/dist/icons/ImageStack/index.js +17 -0
- package/dist/icons/ImageStack/index.js.map +1 -0
- package/dist/icons/Table/index.css +1 -0
- package/dist/icons/Table/index.d.ts +7 -0
- package/dist/icons/Table/index.d.ts.map +1 -0
- package/dist/icons/Table/index.js +25 -0
- package/dist/icons/Table/index.js.map +1 -0
- package/dist/layouts/Root/DocumentRoot.d.ts +24 -0
- package/dist/layouts/Root/DocumentRoot.d.ts.map +1 -0
- package/dist/layouts/Root/DocumentRoot.js +40 -0
- package/dist/layouts/Root/DocumentRoot.js.map +1 -0
- 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/RootProviders.d.ts +11 -0
- package/dist/layouts/Root/RootProviders.d.ts.map +1 -0
- package/dist/layouts/Root/RootProviders.js +164 -0
- package/dist/layouts/Root/RootProviders.js.map +1 -0
- package/dist/layouts/Root/getRootLayoutData.d.ts +29 -0
- package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -0
- package/dist/layouts/Root/getRootLayoutData.js +72 -0
- package/dist/layouts/Root/getRootLayoutData.js.map +1 -0
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +48 -103
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +16 -12
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +4 -0
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts +7 -1
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +62 -20
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/ToastContainer/index.css +6 -7
- package/dist/providers/ToastContainer/index.d.ts.map +1 -1
- package/dist/providers/ToastContainer/index.js +15 -4
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.d.ts.map +1 -1
- package/dist/providers/Translation/index.js +11 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/styles.css +163 -58
- package/dist/templates/Default/Wrapper/index.css +20 -5
- package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +4 -3
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +19 -14
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
- package/dist/utilities/filterOutUploadFields.js +1 -1
- package/dist/utilities/filterOutUploadFields.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getClientConfig.d.ts +5 -1
- package/dist/utilities/getClientConfig.d.ts.map +1 -1
- package/dist/utilities/getClientConfig.js +2 -1
- package/dist/utilities/getClientConfig.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/hierarchyCollectionRestrictions.d.ts +15 -0
- package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
- package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
- package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +2 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +4 -0
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +19 -1
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.css +1 -2
- package/dist/views/CreateFirstUser/index.css +0 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +75 -116
- 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 -91
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +9 -6
- 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/Document/index.js +1 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +10 -3
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/index.css +4 -5
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +1 -3
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +104 -105
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +79 -63
- 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 +0 -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 +51 -41
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +80 -6
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
- package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
- package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
- package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +32 -11
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.d.ts +17 -0
- package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
- package/dist/views/List/DocumentGrid/index.js +152 -0
- package/dist/views/List/DocumentGrid/index.js.map +1 -0
- package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
- package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
- package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
- package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
- package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
- package/dist/views/List/ListHeader/index.css +4 -5
- package/dist/views/List/ListHeader/index.d.ts +1 -0
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +5 -2
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
- package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
- package/dist/views/List/getDocumentListItemURL.js +23 -0
- package/dist/views/List/getDocumentListItemURL.js.map +1 -0
- package/dist/views/List/handleGroupBy.d.ts +6 -2
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.js +13 -3
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +207 -129
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +1 -2
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +57 -3
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +3 -2
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.js +12 -4
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
- package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
- package/dist/views/List/resolveDocumentListItemURL.js +30 -0
- package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
- package/dist/views/NotFound/index.css +0 -2
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +1 -3
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts +1 -8
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +3 -12
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Unauthorized/index.css +0 -2
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +2 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Version/Default/index.css +7 -11
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
- 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 +0 -1
- package/dist/views/Versions/VersionPillLabel/index.css +1 -2
- 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 -1
- package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.client.js +8 -6
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/CollectionCards/index.css +30 -38
- package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.js +7 -5
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/index.css +4 -6
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +1 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +1 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +4 -0
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -0
- package/dist/widgets/UploadDropzone/CollectionsField/index.js +29 -0
- package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts +10 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
- package/dist/widgets/UploadDropzone/index.client.js +78 -0
- package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
- package/dist/widgets/UploadDropzone/index.css +80 -0
- package/dist/widgets/UploadDropzone/index.d.ts +12 -0
- package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
- package/dist/widgets/UploadDropzone/index.js +58 -0
- package/dist/widgets/UploadDropzone/index.js.map +1 -0
- package/dist/widgets/Welcome/getWelcomeDisplay.d.ts +7 -0
- package/dist/widgets/Welcome/getWelcomeDisplay.d.ts.map +1 -0
- package/dist/widgets/Welcome/getWelcomeDisplay.js +21 -0
- package/dist/widgets/Welcome/getWelcomeDisplay.js.map +1 -0
- package/dist/widgets/Welcome/index.css +25 -0
- package/dist/widgets/Welcome/index.d.ts +5 -0
- package/dist/widgets/Welcome/index.d.ts.map +1 -0
- package/dist/widgets/Welcome/index.js +25 -0
- package/dist/widgets/Welcome/index.js.map +1 -0
- package/dist/widgets/WidgetCard/index.css +4 -8
- package/package.json +35 -10
- package/dist/providers/Root/index.d.ts +0 -25
- package/dist/providers/Root/index.d.ts.map +0 -1
- package/dist/providers/Root/index.js +0 -156
- package/dist/providers/Root/index.js.map +0 -1
- package/dist/utilities/dateLocales.d.ts +0 -30
- package/dist/utilities/dateLocales.d.ts.map +0 -1
- package/dist/utilities/dateLocales.js +0 -57
- package/dist/utilities/dateLocales.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["PREFERENCE_KEYS","React","useCallback","useRef","useState","usePreferences","useServerFunctions","SidebarTabsProvider","DelayedSpinner","Tooltip","TabError","SidebarTabsClient","baseClass","initialActiveTabID","initialTabContents","loadingDelay","tabs","setPreference","serverFunction","activeTabID","setActiveTabID","tabContent","setTabContent","loadingTab","setLoadingTab","hoveredTab","setHoveredTab","loadingTabsRef","Set","tabContentRef","useEffect","current","prev","loadTabContent","tabSlug","revalidate","serverArgs","hasCachedContent","Boolean","has","add","result","name","args","newContent","component","error","errorMessage","Error","message","handleRetry","clearedContent","_jsx","onRetry","delete","reloadTabContent","handleTabChange","slug","NAV_SIDEBAR_ACTIVE_TAB","activeTab","tab","find","t","lazyLoadable","handleTabKeyDown","e","currentIndex","key","preventDefault","direction","newIndex","length","newTab","setTimeout","document","querySelector","focus","activeContent","_Fragment","activeTabSlug","_jsxs","className","role","map","index","isActive","onClick","onKeyDown","onMouseEnter","onMouseLeave","tabIndex","type","position","show","label","icon","delay","isLoading","content","style","undefined","display"],"sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport type { RenderTabServerFnArgs, RenderTabServerFnReturnType } from './renderTabServerFn.js'\n\nimport { usePreferences } from '../../../providers/Preferences/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { SidebarTabsProvider } from '../../../providers/SidebarTabs/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport { TabError } from './TabError/index.js'\n\nexport type TabMetadata = {\n icon: React.ReactNode\n isDefaultActive?: boolean\n label: string\n /** Whether this tab can be loaded/revalidated via serverFunction */\n lazyLoadable?: boolean\n slug: string\n}\n\nexport type SidebarTabsClientProps = {\n baseClass: string\n initialActiveTabID: string\n initialTabContents: Record<string, React.ReactNode>\n /**\n * Delay before showing loading spinner (in ms), prevents flashing on fast loads\n * @default 200\n */\n loadingDelay?: number\n tabs: TabMetadata[]\n}\n\nexport const SidebarTabsClient: React.FC<SidebarTabsClientProps> = ({\n baseClass,\n initialActiveTabID,\n initialTabContents,\n loadingDelay = 200,\n tabs,\n}) => {\n const { setPreference } = usePreferences()\n const { serverFunction } = useServerFunctions()\n\n const [activeTabID, setActiveTabID] = useState(initialActiveTabID)\n const [tabContent, setTabContent] = useState<Record<string, React.ReactNode>>(initialTabContents)\n const [loadingTab, setLoadingTab] = useState<null | string>(null)\n const [hoveredTab, setHoveredTab] = useState<null | string>(null)\n const loadingTabsRef = useRef<Set<string>>(new Set())\n const tabContentRef = useRef(initialTabContents)\n\n // Update cached content when server provides new initialTabContents\n // This is needed because useState only uses initialValue on first mount\n React.useEffect(() => {\n tabContentRef.current = { ...tabContentRef.current, ...initialTabContents }\n setTabContent((prev) => ({ ...prev, ...initialTabContents }))\n }, [initialTabContents])\n\n const loadTabContent = useCallback(\n async (\n tabSlug: string,\n {\n revalidate = false,\n serverArgs,\n }: { revalidate?: boolean; serverArgs?: Partial<RenderTabServerFnArgs> } = {},\n ) => {\n const hasCachedContent = Boolean(tabContentRef.current[tabSlug])\n\n // Skip if already loaded (unless revalidating) or currently loading\n if ((hasCachedContent && !revalidate) || loadingTabsRef.current.has(tabSlug)) {\n return\n }\n\n // Mark as loading - only show spinner if no cached content\n loadingTabsRef.current.add(tabSlug)\n if (!hasCachedContent) {\n setLoadingTab(tabSlug)\n }\n\n try {\n const result = (await serverFunction({\n name: 'render-tab',\n args: { ...serverArgs, tabSlug } as RenderTabServerFnArgs,\n })) as RenderTabServerFnReturnType\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: result.component,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } catch (error) {\n // On revalidate failure, keep showing cached content\n if (hasCachedContent && revalidate) {\n return\n }\n\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n\n const handleRetry = () => {\n // Clear the error and retry loading, threading the original serverArgs through so the\n // retry doesn't silently fall back to req.query-based rendering (the stale-tree bug).\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n void loadTabContent(tabSlug, { serverArgs })\n }\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: <TabError message={errorMessage} onRetry={handleRetry} />,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } finally {\n loadingTabsRef.current.delete(tabSlug)\n setLoadingTab(null)\n }\n },\n [serverFunction],\n )\n\n const reloadTabContent = useCallback(\n (tabSlug: string, serverArgs?: Partial<RenderTabServerFnArgs>) => {\n // Clear cached content to force reload\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n\n void loadTabContent(tabSlug, { serverArgs })\n },\n [loadTabContent],\n )\n\n const handleTabChange = useCallback(\n (slug: string) => {\n setActiveTabID(slug)\n void setPreference(PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB, { activeTab: slug })\n // Only revalidate tabs that can be loaded via serverFunction\n // Pre-rendered React elements (like default nav) can't be revalidated\n const tab = tabs.find((t) => t.slug === slug)\n void loadTabContent(slug, { revalidate: tab?.lazyLoadable ?? false })\n },\n [setPreference, loadTabContent, tabs],\n )\n\n const handleTabKeyDown = useCallback(\n (e: React.KeyboardEvent, currentIndex: number) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault()\n const direction = e.key === 'ArrowLeft' ? -1 : 1\n const newIndex = (currentIndex + direction + tabs.length) % tabs.length\n const newTab = tabs[newIndex]\n handleTabChange(newTab.slug)\n // Focus will be handled by the tabIndex change\n setTimeout(() => {\n document.querySelector<HTMLButtonElement>(`.${baseClass}__tab--active`)?.focus()\n }, 0)\n }\n },\n [baseClass, handleTabChange, tabs],\n )\n\n const activeContent = tabContent[activeTabID]\n\n // If there's only one tab (the default nav), render it without tab UI\n if (tabs.length === 1) {\n return <>{activeContent}</>\n }\n\n return (\n <SidebarTabsProvider activeTabSlug={activeTabID} reloadTabContent={reloadTabContent}>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs`} role=\"tablist\">\n {tabs.map((tab, index) => {\n const isActive = tab.slug === activeTabID\n\n return (\n <button\n aria-selected={isActive}\n className={`${baseClass}__tab ${isActive ? `${baseClass}__tab--active` : ''}`}\n key={tab.slug}\n onClick={() => handleTabChange(tab.slug)}\n onKeyDown={(e) => handleTabKeyDown(e, index)}\n onMouseEnter={() => setHoveredTab(tab.slug)}\n onMouseLeave={() => setHoveredTab(null)}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n type=\"button\"\n >\n <Tooltip\n className={`${baseClass}__tooltip`}\n position=\"bottom\"\n show={hoveredTab === tab.slug}\n >\n {tab.label}\n </Tooltip>\n <span className={`${baseClass}__tab-icon`}>{tab.icon}</span>\n <span className={`${baseClass}__tab-label`}>{tab.label}</span>\n </button>\n )\n })}\n </div>\n <div className={`${baseClass}__content`} role=\"tabpanel\">\n <DelayedSpinner\n baseClass={baseClass}\n delay={loadingDelay}\n isLoading={loadingTab === activeTabID}\n />\n {tabs.map((tab) => {\n const content = tabContent[tab.slug]\n if (!content) {\n return null\n }\n const isActive = tab.slug === activeTabID && loadingTab !== activeTabID\n return (\n <div key={tab.slug} style={isActive ? undefined : { display: 'none' }}>\n {content}\n </div>\n )\n })}\n </div>\n </div>\n </SidebarTabsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["PREFERENCE_KEYS","React","useCallback","useRef","useState","usePreferences","useServerFunctions","SidebarTabsProvider","DelayedSpinner","Tooltip","TabError","SidebarTabsClient","baseClass","initialActiveTabID","initialTabContents","loadingDelay","tabs","setPreference","serverFunction","activeTabID","setActiveTabID","tabContent","setTabContent","loadingTab","setLoadingTab","hoveredTab","setHoveredTab","loadingTabsRef","Set","tabContentRef","useEffect","current","prev","loadTabContent","tabSlug","revalidate","serverArgs","hasCachedContent","Boolean","has","add","result","name","args","newContent","component","error","errorMessage","Error","message","handleRetry","clearedContent","_jsx","onRetry","delete","reloadTabContent","handleTabChange","slug","NAV_SIDEBAR_ACTIVE_TAB","activeTab","tab","find","t","lazyLoadable","handleTabKeyDown","e","currentIndex","key","preventDefault","direction","newIndex","length","newTab","setTimeout","document","querySelector","focus","activeContent","_Fragment","activeTabSlug","_jsxs","className","role","map","index","isActive","onClick","onKeyDown","onMouseEnter","onMouseLeave","tabIndex","type","position","show","label","icon","delay","isLoading","content","style","undefined","display"],"sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport type { RenderTabServerFnArgs, RenderTabServerFnReturnType } from './renderTabServerFn.js'\n\nimport { usePreferences } from '../../../providers/Preferences/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { SidebarTabsProvider } from '../../../providers/SidebarTabs/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport { TabError } from './TabError/index.js'\n\nexport type TabMetadata = {\n icon: React.ReactNode\n isDefaultActive?: boolean\n label: string\n /** Whether this tab can be loaded/revalidated via serverFunction */\n lazyLoadable?: boolean\n slug: string\n}\n\nexport type SidebarTabsClientProps = {\n baseClass: string\n initialActiveTabID: string\n initialTabContents: Record<string, React.ReactNode>\n /**\n * Delay before showing loading spinner (in ms), prevents flashing on fast loads\n * @default 200\n */\n loadingDelay?: number\n tabs: TabMetadata[]\n}\n\nexport const SidebarTabsClient: React.FC<SidebarTabsClientProps> = ({\n baseClass,\n initialActiveTabID,\n initialTabContents,\n loadingDelay = 200,\n tabs,\n}) => {\n const { setPreference } = usePreferences()\n const { serverFunction } = useServerFunctions()\n\n const [activeTabID, setActiveTabID] = useState(initialActiveTabID)\n const [tabContent, setTabContent] = useState<Record<string, React.ReactNode>>(initialTabContents)\n const [loadingTab, setLoadingTab] = useState<null | string>(null)\n const [hoveredTab, setHoveredTab] = useState<null | string>(null)\n const loadingTabsRef = useRef<Set<string>>(new Set())\n const tabContentRef = useRef(initialTabContents)\n\n // Update cached content when server provides new initialTabContents\n // This is needed because useState only uses initialValue on first mount\n React.useEffect(() => {\n tabContentRef.current = { ...tabContentRef.current, ...initialTabContents }\n setTabContent((prev) => ({ ...prev, ...initialTabContents }))\n }, [initialTabContents])\n\n const loadTabContent = useCallback(\n async (\n tabSlug: string,\n {\n revalidate = false,\n serverArgs,\n }: { revalidate?: boolean; serverArgs?: Partial<RenderTabServerFnArgs> } = {},\n ) => {\n const hasCachedContent = Boolean(tabContentRef.current[tabSlug])\n\n // Skip if already loaded (unless revalidating) or currently loading\n if ((hasCachedContent && !revalidate) || loadingTabsRef.current.has(tabSlug)) {\n return\n }\n\n // Mark as loading - only show spinner if no cached content\n loadingTabsRef.current.add(tabSlug)\n if (!hasCachedContent) {\n setLoadingTab(tabSlug)\n }\n\n try {\n const result = (await serverFunction({\n name: 'render-tab',\n args: { ...serverArgs, tabSlug } as RenderTabServerFnArgs,\n })) as RenderTabServerFnReturnType\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: result.component,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } catch (error) {\n // On revalidate failure, keep showing cached content\n if (hasCachedContent && revalidate) {\n return\n }\n\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n\n const handleRetry = () => {\n // Clear the error and retry loading, threading the original serverArgs through so the\n // retry doesn't silently fall back to req.query-based rendering (the stale-tree bug).\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n void loadTabContent(tabSlug, { serverArgs })\n }\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: <TabError message={errorMessage} onRetry={handleRetry} />,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } finally {\n loadingTabsRef.current.delete(tabSlug)\n setLoadingTab(null)\n }\n },\n [serverFunction],\n )\n\n const reloadTabContent = useCallback(\n (tabSlug: string, serverArgs?: Partial<RenderTabServerFnArgs>) => {\n // Clear cached content to force reload\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n\n void loadTabContent(tabSlug, { serverArgs })\n },\n [loadTabContent],\n )\n\n const handleTabChange = useCallback(\n (slug: string) => {\n setActiveTabID(slug)\n void setPreference(PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB, { activeTab: slug })\n // Only revalidate tabs that can be loaded via serverFunction\n // Pre-rendered React elements (like default nav) can't be revalidated\n const tab = tabs.find((t) => t.slug === slug)\n void loadTabContent(slug, { revalidate: tab?.lazyLoadable ?? false })\n },\n [setPreference, loadTabContent, tabs],\n )\n\n const handleTabKeyDown = useCallback(\n (e: React.KeyboardEvent, currentIndex: number) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault()\n const direction = e.key === 'ArrowLeft' ? -1 : 1\n const newIndex = (currentIndex + direction + tabs.length) % tabs.length\n const newTab = tabs[newIndex]\n handleTabChange(newTab.slug)\n // Focus will be handled by the tabIndex change\n setTimeout(() => {\n document.querySelector<HTMLButtonElement>(`.${baseClass}__tab--active`)?.focus()\n }, 0)\n }\n },\n [baseClass, handleTabChange, tabs],\n )\n\n const activeContent = tabContent[activeTabID]\n\n // If there's only one tab (the default nav), render it without tab UI\n if (tabs.length === 1) {\n return <>{activeContent}</>\n }\n\n return (\n <SidebarTabsProvider activeTabSlug={activeTabID} reloadTabContent={reloadTabContent}>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs scrollbar-thin`} role=\"tablist\">\n {tabs.map((tab, index) => {\n const isActive = tab.slug === activeTabID\n\n return (\n <button\n aria-selected={isActive}\n className={`${baseClass}__tab ${isActive ? `${baseClass}__tab--active` : ''}`}\n key={tab.slug}\n onClick={() => handleTabChange(tab.slug)}\n onKeyDown={(e) => handleTabKeyDown(e, index)}\n onMouseEnter={() => setHoveredTab(tab.slug)}\n onMouseLeave={() => setHoveredTab(null)}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n type=\"button\"\n >\n <Tooltip\n className={`${baseClass}__tooltip`}\n position=\"bottom\"\n show={hoveredTab === tab.slug}\n >\n {tab.label}\n </Tooltip>\n <span className={`${baseClass}__tab-icon`}>{tab.icon}</span>\n <span className={`${baseClass}__tab-label`}>{tab.label}</span>\n </button>\n )\n })}\n </div>\n <div className={`${baseClass}__content`} role=\"tabpanel\">\n <DelayedSpinner\n baseClass={baseClass}\n delay={loadingDelay}\n isLoading={loadingTab === activeTabID}\n />\n {tabs.map((tab) => {\n const content = tabContent[tab.slug]\n if (!content) {\n return null\n }\n const isActive = tab.slug === activeTabID && loadingTab !== activeTabID\n return (\n <div key={tab.slug} style={isActive ? undefined : { display: 'none' }}>\n {content}\n </div>\n )\n })}\n </div>\n </div>\n </SidebarTabsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
flex-direction: column;
|
|
5
5
|
width: 100%;
|
|
6
6
|
flex-grow: 1;
|
|
7
|
-
gap: var(--spacer-2-5);
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
.sidebar-tabs__tabs {
|
|
@@ -12,7 +11,9 @@
|
|
|
12
11
|
gap: 0;
|
|
13
12
|
background-color: var(--color-bg-secondary);
|
|
14
13
|
border-radius: var(--button-radius);
|
|
15
|
-
|
|
14
|
+
margin: var(--spacer-2-5) var(--spacer-2-5) 0;
|
|
15
|
+
overflow-x: auto;
|
|
16
|
+
overflow-y: hidden;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
.sidebar-tabs__tab {
|
|
@@ -23,7 +24,6 @@
|
|
|
23
24
|
align-items: center;
|
|
24
25
|
justify-content: center;
|
|
25
26
|
height: var(--button-height);
|
|
26
|
-
padding: 0 var(--spacer-1);
|
|
27
27
|
cursor: pointer;
|
|
28
28
|
border-radius: var(--button-radius);
|
|
29
29
|
border: var(--stroke-width-small) solid transparent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/context.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAKhD,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/context.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAKhD,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACxD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,+BAKrB,CAAA;AAEF,eAAO,MAAM,MAAM,sBAA8B,CAAA;AAYjD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAmGA,CAAA"}
|
|
@@ -41,14 +41,26 @@ export const NavProvider = ({
|
|
|
41
41
|
} = useWindowInfo();
|
|
42
42
|
const pathname = usePathname();
|
|
43
43
|
const {
|
|
44
|
-
getPreference
|
|
44
|
+
getPreference,
|
|
45
|
+
setPreference
|
|
45
46
|
} = usePreferences();
|
|
46
47
|
const navRef = useRef(null);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
const previousBreakpoints = useRef({
|
|
49
|
+
large: largeBreak,
|
|
50
|
+
mid: midBreak,
|
|
51
|
+
small: smallBreak
|
|
52
|
+
});
|
|
53
|
+
const previousPathname = useRef(pathname);
|
|
54
|
+
// The server supplies the saved open state for the initial render.
|
|
55
|
+
const [navOpen, setNavOpenState] = React.useState(initialIsOpen);
|
|
56
|
+
const setNavOpen = React.useCallback((value, persist = false) => {
|
|
57
|
+
setNavOpenState(value);
|
|
58
|
+
if (persist) {
|
|
59
|
+
void setPreference(PREFERENCE_KEYS.NAV, {
|
|
60
|
+
open: value
|
|
61
|
+
}, true);
|
|
62
|
+
}
|
|
63
|
+
}, [setPreference]);
|
|
52
64
|
const [hydrated, setHydrated] = React.useState(false);
|
|
53
65
|
// on load check the user's preference and set "initial" state
|
|
54
66
|
useEffect(() => {
|
|
@@ -63,10 +75,11 @@ export const NavProvider = ({
|
|
|
63
75
|
// on smaller screens where the nav is a modal
|
|
64
76
|
// close the nav when the user navigates away
|
|
65
77
|
useEffect(() => {
|
|
66
|
-
if (smallBreak === true) {
|
|
78
|
+
if (previousPathname.current !== pathname && smallBreak === true) {
|
|
67
79
|
setNavOpen(false);
|
|
68
80
|
}
|
|
69
|
-
|
|
81
|
+
previousPathname.current = pathname;
|
|
82
|
+
}, [pathname, setNavOpen, smallBreak]);
|
|
70
83
|
// on open and close, lock the body scroll
|
|
71
84
|
// do not do this on desktop, the sidebar is not a modal
|
|
72
85
|
useEffect(() => {
|
|
@@ -82,11 +95,19 @@ export const NavProvider = ({
|
|
|
82
95
|
// close the nav when the user resizes down to mobile
|
|
83
96
|
// the sidebar is a modal on mobile
|
|
84
97
|
useEffect(() => {
|
|
85
|
-
|
|
98
|
+
const previous = previousBreakpoints.current;
|
|
99
|
+
if (largeBreak === true && previous.large === false || midBreak === true && previous.mid === false || smallBreak === true && previous.small !== true) {
|
|
86
100
|
setNavOpen(false);
|
|
87
101
|
}
|
|
88
|
-
|
|
89
|
-
|
|
102
|
+
previousBreakpoints.current = {
|
|
103
|
+
large: largeBreak,
|
|
104
|
+
mid: midBreak,
|
|
105
|
+
small: smallBreak
|
|
106
|
+
};
|
|
107
|
+
if (typeof smallBreak === 'boolean') {
|
|
108
|
+
setHydrated(true);
|
|
109
|
+
}
|
|
110
|
+
}, [largeBreak, midBreak, setNavOpen, smallBreak]);
|
|
90
111
|
// when the component unmounts, clear all body scroll locks
|
|
91
112
|
useEffect(() => {
|
|
92
113
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["useWindowInfo","PREFERENCE_KEYS","React","useEffect","useRef","usePreferences","usePathname","NavContext","createContext","hydrated","navOpen","navRef","setNavOpen","useNav","use","getNavPreference","getPreference","navPrefs","NAV","preferredState","open","NavProvider","children","initialIsOpen","breakpoints","l","largeBreak","m","midBreak","s","smallBreak","pathname","useState","setHydrated","setNavFromPreferences","current","style","overscrollBehavior","
|
|
1
|
+
{"version":3,"file":"context.js","names":["useWindowInfo","PREFERENCE_KEYS","React","useEffect","useRef","usePreferences","usePathname","NavContext","createContext","hydrated","navOpen","navRef","setNavOpen","useNav","use","getNavPreference","getPreference","navPrefs","NAV","preferredState","open","NavProvider","children","initialIsOpen","breakpoints","l","largeBreak","m","midBreak","s","smallBreak","pathname","setPreference","previousBreakpoints","large","mid","small","previousPathname","setNavOpenState","useState","useCallback","value","persist","setHydrated","setNavFromPreferences","current","style","overscrollBehavior","previous","_jsx"],"sources":["../../../src/elements/Nav/context.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { usePathname } from '../../providers/RouterAdapter/index.js'\n\ntype NavContextType = {\n hydrated: boolean\n navOpen: boolean\n navRef: React.RefObject<HTMLDivElement | null>\n setNavOpen: (value: boolean, persist?: boolean) => void\n}\n\n/**\n * @internal\n */\nexport const NavContext = React.createContext<NavContextType>({\n hydrated: false,\n navOpen: true,\n navRef: null,\n setNavOpen: () => {},\n})\n\nexport const useNav = () => React.use(NavContext)\n\nconst getNavPreference = async (getPreference): Promise<boolean> => {\n const navPrefs = await getPreference(PREFERENCE_KEYS.NAV)\n const preferredState = navPrefs?.open\n if (typeof preferredState === 'boolean') {\n return preferredState\n } else {\n return true\n }\n}\n\n/**\n * @internal\n */\nexport const NavProvider: React.FC<{\n children: React.ReactNode\n initialIsOpen?: boolean\n}> = ({ children, initialIsOpen }) => {\n const {\n breakpoints: { l: largeBreak, m: midBreak, s: smallBreak },\n } = useWindowInfo()\n\n const pathname = usePathname()\n\n const { getPreference, setPreference } = usePreferences()\n const navRef = useRef(null)\n const previousBreakpoints = useRef({\n large: largeBreak,\n mid: midBreak,\n small: smallBreak,\n })\n const previousPathname = useRef(pathname)\n\n // The server supplies the saved open state for the initial render.\n const [navOpen, setNavOpenState] = React.useState(initialIsOpen)\n\n const setNavOpen = React.useCallback(\n (value: boolean, persist = false) => {\n setNavOpenState(value)\n\n if (persist) {\n void setPreference(PREFERENCE_KEYS.NAV, { open: value }, true)\n }\n },\n [setPreference],\n )\n\n const [hydrated, setHydrated] = React.useState(false)\n\n // on load check the user's preference and set \"initial\" state\n useEffect(() => {\n if (largeBreak === false) {\n const setNavFromPreferences = async () => {\n const preferredState = await getNavPreference(getPreference)\n setNavOpen(preferredState)\n }\n\n void setNavFromPreferences()\n }\n }, [largeBreak, getPreference, setNavOpen])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user navigates away\n useEffect(() => {\n if (previousPathname.current !== pathname && smallBreak === true) {\n setNavOpen(false)\n }\n previousPathname.current = pathname\n }, [pathname, setNavOpen, smallBreak])\n\n // on open and close, lock the body scroll\n // do not do this on desktop, the sidebar is not a modal\n useEffect(() => {\n if (navRef.current) {\n if (navOpen && midBreak) {\n navRef.current.style.overscrollBehavior = 'contain'\n } else {\n navRef.current.style.overscrollBehavior = 'auto'\n }\n }\n }, [navOpen, midBreak])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user resizes down to mobile\n // the sidebar is a modal on mobile\n useEffect(() => {\n const previous = previousBreakpoints.current\n\n if (\n (largeBreak === true && previous.large === false) ||\n (midBreak === true && previous.mid === false) ||\n (smallBreak === true && previous.small !== true)\n ) {\n setNavOpen(false)\n }\n\n previousBreakpoints.current = {\n large: largeBreak,\n mid: midBreak,\n small: smallBreak,\n }\n if (typeof smallBreak === 'boolean') {\n setHydrated(true)\n }\n }, [largeBreak, midBreak, setNavOpen, smallBreak])\n\n // when the component unmounts, clear all body scroll locks\n useEffect(() => {\n return () => {\n if (navRef.current) {\n navRef.current.style.overscrollBehavior = 'auto'\n }\n }\n }, [])\n\n return <NavContext value={{ hydrated, navOpen, navRef, setNavOpen }}>{children}</NavContext>\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAUrE;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAUrE;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,CA0DA,CAAA"}
|
|
@@ -73,19 +73,10 @@ export const DefaultNavClient = t0 => {
|
|
|
73
73
|
className: `${baseClass}__link-label`,
|
|
74
74
|
children: getTranslation(label_0, i18n)
|
|
75
75
|
});
|
|
76
|
-
if (pathname === href) {
|
|
77
|
-
return _jsx("div", {
|
|
78
|
-
className: `${baseClass}__link-wrapper`,
|
|
79
|
-
children: _jsx("div", {
|
|
80
|
-
className: linkClass,
|
|
81
|
-
id,
|
|
82
|
-
children: Label
|
|
83
|
-
})
|
|
84
|
-
}, i);
|
|
85
|
-
}
|
|
86
76
|
return _jsx("div", {
|
|
87
77
|
className: `${baseClass}__link-wrapper`,
|
|
88
78
|
children: _jsx(Link, {
|
|
79
|
+
"aria-current": isActive ? pathname === href ? "page" : "location" : undefined,
|
|
89
80
|
className: linkClass,
|
|
90
81
|
href,
|
|
91
82
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["c","_c","getTranslation","EntityType","formatAdminURL","React","Fragment","useConfig","usePathname","useTranslation","Link","NavGroup","baseClass","DefaultNavClient","t0","$","groups","navPreferences","pathname","config","t1","routes","t2","admin","adminRoute","i18n","t3","t4","t5","key","entities","label","_jsx","isOpen","open","children","map","t6","i","slug","type","label_0","href","id","collection","global","isActive","startsWith","undefined","includes","length","linkClass","Label","className","prefetch"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { NavPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { EntityType, formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { groupNavItems } from '../../utilities/groupNavItems.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePathname } from '../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Link } from '../Link/index.js'\nimport { NavGroup } from '../NavGroup/index.js'\n\nconst baseClass = 'nav'\n\n/**\n * @internal\n */\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n navPreferences: NavPreferences\n}> = ({ groups, navPreferences }) => {\n const pathname = usePathname()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup isOpen={navPreferences?.groups?.[label]?.open} key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const isActive =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n const linkClass = `${baseClass}__link${isActive ? ` ${baseClass}__link--selected` : ''}`\n\n const Label = (\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n )\n\n
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["c","_c","getTranslation","EntityType","formatAdminURL","React","Fragment","useConfig","usePathname","useTranslation","Link","NavGroup","baseClass","DefaultNavClient","t0","$","groups","navPreferences","pathname","config","t1","routes","t2","admin","adminRoute","i18n","t3","t4","t5","key","entities","label","_jsx","isOpen","open","children","map","t6","i","slug","type","label_0","href","id","collection","global","isActive","startsWith","undefined","includes","length","linkClass","Label","className","prefetch"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { NavPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { EntityType, formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { groupNavItems } from '../../utilities/groupNavItems.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePathname } from '../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Link } from '../Link/index.js'\nimport { NavGroup } from '../NavGroup/index.js'\n\nconst baseClass = 'nav'\n\n/**\n * @internal\n */\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n navPreferences: NavPreferences\n}> = ({ groups, navPreferences }) => {\n const pathname = usePathname()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup isOpen={navPreferences?.groups?.[label]?.open} key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const isActive =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n const linkClass = `${baseClass}__link${isActive ? ` ${baseClass}__link--selected` : ''}`\n\n const Label = (\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n )\n\n return (\n <div className={`${baseClass}__link-wrapper`} key={i}>\n <Link\n aria-current={isActive ? (pathname === href ? 'page' : 'location') : undefined}\n className={linkClass}\n href={href}\n id={id}\n prefetch={false}\n >\n {Label}\n </Link>\n </div>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
position: sticky;
|
|
4
4
|
top: 0;
|
|
5
5
|
left: 0;
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
6
8
|
flex-shrink: 0;
|
|
7
9
|
height: 100vh;
|
|
8
10
|
width: var(--nav-width);
|
|
@@ -19,20 +21,20 @@
|
|
|
19
21
|
border-left: var(--stroke-width-small) solid var(--color-border);
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
.
|
|
23
|
-
display:
|
|
24
|
+
.nav__close {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
24
27
|
background: none;
|
|
25
28
|
border: 0;
|
|
26
29
|
outline: 0;
|
|
27
|
-
padding: var(--spacer-3) 0;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
.nav__scroll {
|
|
31
|
-
|
|
33
|
+
flex: 1 1 0;
|
|
34
|
+
min-height: 0;
|
|
35
|
+
width: 100%;
|
|
32
36
|
display: flex;
|
|
33
37
|
flex-direction: column;
|
|
34
|
-
padding: var(--nav-padding-block-start) var(--nav-padding-inline-end)
|
|
35
|
-
var(--nav-padding-block-end) var(--nav-padding-inline-start);
|
|
36
38
|
overflow-y: auto;
|
|
37
39
|
|
|
38
40
|
&::-webkit-scrollbar {
|
|
@@ -55,13 +57,6 @@
|
|
|
55
57
|
.nav__controls {
|
|
56
58
|
display: flex;
|
|
57
59
|
flex-direction: column;
|
|
58
|
-
gap: var(--spacer-2-5);
|
|
59
|
-
margin-top: auto;
|
|
60
|
-
margin-bottom: 0;
|
|
61
|
-
|
|
62
|
-
> :first-child {
|
|
63
|
-
margin-top: var(--spacer-3);
|
|
64
|
-
}
|
|
65
60
|
}
|
|
66
61
|
|
|
67
62
|
.nav__log-out {
|
|
@@ -72,38 +67,59 @@
|
|
|
72
67
|
transform: translateX(calc(-1 * var(--spacer-1) * 0.5));
|
|
73
68
|
}
|
|
74
69
|
|
|
75
|
-
.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
70
|
+
.nav__header {
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: center;
|
|
73
|
+
justify-content: space-between;
|
|
74
|
+
flex-shrink: 0;
|
|
75
|
+
width: 100%;
|
|
76
|
+
padding: var(--spacer-2) var(--spacer-2) var(--spacer-2) var(--spacer-2);
|
|
77
|
+
background-color: var(--color-bg);
|
|
78
|
+
border-bottom: var(--stroke-width-small) solid var(--color-border);
|
|
83
79
|
}
|
|
84
80
|
|
|
85
81
|
.nav__link {
|
|
86
82
|
display: flex;
|
|
87
83
|
align-items: center;
|
|
88
84
|
position: relative;
|
|
89
|
-
|
|
90
|
-
padding-
|
|
85
|
+
isolation: isolate;
|
|
86
|
+
padding-block: var(--spacer-2);
|
|
87
|
+
padding-inline: var(--spacer-3);
|
|
91
88
|
text-decoration: none;
|
|
89
|
+
|
|
90
|
+
&::before {
|
|
91
|
+
content: '';
|
|
92
|
+
position: absolute;
|
|
93
|
+
inset-block: var(--spacer-1);
|
|
94
|
+
inset-inline: var(--spacer-2);
|
|
95
|
+
border-radius: var(--button-radius);
|
|
96
|
+
z-index: -1;
|
|
97
|
+
}
|
|
92
98
|
}
|
|
93
99
|
|
|
94
|
-
a.nav__link {
|
|
95
|
-
|
|
100
|
+
a.nav__link:not(.nav__link--selected):hover {
|
|
101
|
+
text-decoration: none;
|
|
96
102
|
|
|
97
|
-
|
|
103
|
+
&::before {
|
|
98
104
|
background: var(--color-bg-secondary);
|
|
99
|
-
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
a.nav__link:focus-visible {
|
|
109
|
+
outline: none;
|
|
110
|
+
|
|
111
|
+
&::before {
|
|
112
|
+
outline: var(--accessibility-outline);
|
|
113
|
+
outline-offset: var(--accessibility-outline-offset);
|
|
100
114
|
}
|
|
101
115
|
}
|
|
102
116
|
|
|
103
117
|
.nav__link--selected {
|
|
104
118
|
font-weight: 600;
|
|
105
|
-
|
|
106
|
-
|
|
119
|
+
|
|
120
|
+
&::before {
|
|
121
|
+
background: var(--color-bg-selected);
|
|
122
|
+
}
|
|
107
123
|
}
|
|
108
124
|
|
|
109
125
|
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
@@ -120,10 +136,5 @@
|
|
|
120
136
|
--nav-padding-inline-start: var(--gutter-h);
|
|
121
137
|
--nav-padding-inline-end: var(--gutter-h);
|
|
122
138
|
}
|
|
123
|
-
|
|
124
|
-
.nav__mobile-close {
|
|
125
|
-
display: flex;
|
|
126
|
-
align-items: center;
|
|
127
|
-
}
|
|
128
139
|
}
|
|
129
140
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { PayloadRequest, ServerProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js';
|
|
3
4
|
import './index.css';
|
|
4
5
|
export type NavProps = {
|
|
6
|
+
CustomAvatar?: React.ReactNode;
|
|
7
|
+
CustomLogoutButton?: React.ReactNode;
|
|
5
8
|
req?: PayloadRequest;
|
|
9
|
+
settingsItemGroups?: UserMenuSettingsGroup[];
|
|
6
10
|
} & ServerProps;
|
|
7
11
|
export declare const DefaultNav: React.FC<NavProps>;
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1D,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAe9E,OAAO,aAAa,CAAA;AAMpB,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC7C,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAsNzC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { EntityType } from 'payload';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary */
|
|
5
|
-
import { DefaultNavClient, NavWrapper, SettingsMenuButton } from '../../exports/client/index.js';
|
|
5
|
+
import { DefaultNavClient, NavSidebarToggle, NavWrapper, SettingsMenuButton, UserMenu } from '../../exports/client/index.js';
|
|
6
6
|
/* eslint-enable payload/no-imports-from-exports-dir */
|
|
7
7
|
import { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js';
|
|
8
8
|
import { groupNavItems } from '../../utilities/groupNavItems.js';
|
|
@@ -13,6 +13,8 @@ const baseClass = 'nav';
|
|
|
13
13
|
import { getNavPrefs } from './getNavPrefs.js';
|
|
14
14
|
export const DefaultNav = async props => {
|
|
15
15
|
const {
|
|
16
|
+
CustomAvatar,
|
|
17
|
+
CustomLogoutButton,
|
|
16
18
|
documentSubViewType,
|
|
17
19
|
i18n,
|
|
18
20
|
locale,
|
|
@@ -21,6 +23,7 @@ export const DefaultNav = async props => {
|
|
|
21
23
|
permissions,
|
|
22
24
|
req,
|
|
23
25
|
searchParams,
|
|
26
|
+
settingsItemGroups,
|
|
24
27
|
user,
|
|
25
28
|
viewType,
|
|
26
29
|
visibleEntities
|
|
@@ -160,6 +163,17 @@ export const DefaultNav = async props => {
|
|
|
160
163
|
}, ...(payload.config.admin?.components?.sidebar?.tabs?.filter(tab => !tab.disabled) || [])];
|
|
161
164
|
return /*#__PURE__*/_jsxs(NavWrapper, {
|
|
162
165
|
baseClass: baseClass,
|
|
166
|
+
header: /*#__PURE__*/_jsxs("div", {
|
|
167
|
+
className: `${baseClass}__header`,
|
|
168
|
+
children: [/*#__PURE__*/_jsx(UserMenu, {
|
|
169
|
+
CustomAvatar: CustomAvatar,
|
|
170
|
+
CustomLogoutButton: CustomLogoutButton,
|
|
171
|
+
settingsItemGroups: settingsItemGroups,
|
|
172
|
+
showTitle: true
|
|
173
|
+
}), /*#__PURE__*/_jsx(NavSidebarToggle, {
|
|
174
|
+
baseClass: baseClass
|
|
175
|
+
})]
|
|
176
|
+
}),
|
|
163
177
|
children: [RenderedBeforeNav, /*#__PURE__*/_jsxs("nav", {
|
|
164
178
|
className: `${baseClass}__wrap`,
|
|
165
179
|
children: [/*#__PURE__*/_jsx(SidebarTabs, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["EntityType","React","DefaultNavClient","NavWrapper","SettingsMenuButton","AlignJustifiedIcon","groupNavItems","RenderServerComponent","SidebarTabs","baseClass","getNavPrefs","DefaultNav","props","documentSubViewType","i18n","locale","params","payload","permissions","req","searchParams","user","viewType","visibleEntities","config","admin","components","afterNav","afterNavLinks","beforeNav","beforeNavLinks","settingsMenu","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","RenderedSettingsMenu","Array","isArray","item","index","clientProps","Component","importMap","key","serverProps","RenderedBeforeNav","RenderedBeforeNavLinks","RenderedAfterNavLinks","RenderedAfterNav","allTabs","Content","_jsxs","_Fragment","_jsx","Icon","size","isDefaultActive","label","t","sidebar","tabs","tab","disabled","className","server"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { PayloadRequest, ServerProps } from 'payload'\n\nimport { EntityType } from 'payload'\nimport React from 'react'\n\nimport type { EntityToGroup } from '../../utilities/groupNavItems.js'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary */\nimport { DefaultNavClient, NavWrapper, SettingsMenuButton } from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js'\nimport { groupNavItems } from '../../utilities/groupNavItems.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\nimport { SidebarTabs } from './SidebarTabs/index.js'\nimport './index.css'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\n\nexport type NavProps = {\n req?: PayloadRequest\n} & ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNav, afterNavLinks, beforeNav, beforeNavLinks, settingsMenu },\n },\n collections,\n globals,\n } = payload.config\n\n // Group collections and globals for nav display\n // These groups are passed to SidebarTabs -> CollectionsTab to avoid recomputing\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs(req)\n\n const RenderedSettingsMenu =\n settingsMenu && Array.isArray(settingsMenu)\n ? settingsMenu.map((item, index) =>\n RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: item,\n importMap: payload.importMap,\n key: `settings-menu-item-${index}`,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n }),\n )\n : []\n\n const RenderedBeforeNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedBeforeNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n // Build the full tabs array, starting with the default nav tab\n const allTabs = [\n {\n slug: 'nav',\n components: {\n Content: (\n <>\n {RenderedBeforeNavLinks}\n <DefaultNavClient groups={groups} navPreferences={navPreferences} />\n {RenderedAfterNavLinks}\n </>\n ),\n Icon: <AlignJustifiedIcon size={24} />,\n },\n isDefaultActive: true,\n label: i18n.t('general:collections'),\n },\n ...(payload.config.admin?.components?.sidebar?.tabs?.filter((tab) => !tab.disabled) || []),\n ]\n\n return (\n <NavWrapper baseClass={baseClass}>\n {RenderedBeforeNav}\n <nav className={`${baseClass}__wrap`}>\n <SidebarTabs\n documentSubViewType={documentSubViewType}\n i18n={i18n}\n locale={locale}\n navPreferences={navPreferences}\n params={params}\n payload={payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n server={req?.server}\n tabs={allTabs}\n user={user}\n viewType={viewType}\n />\n <div className={`${baseClass}__controls`}>\n <SettingsMenuButton settingsMenu={RenderedSettingsMenu} />\n </div>\n </nav>\n {RenderedAfterNav}\n </NavWrapper>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["EntityType","React","DefaultNavClient","NavSidebarToggle","NavWrapper","SettingsMenuButton","UserMenu","AlignJustifiedIcon","groupNavItems","RenderServerComponent","SidebarTabs","baseClass","getNavPrefs","DefaultNav","props","CustomAvatar","CustomLogoutButton","documentSubViewType","i18n","locale","params","payload","permissions","req","searchParams","settingsItemGroups","user","viewType","visibleEntities","config","admin","components","afterNav","afterNavLinks","beforeNav","beforeNavLinks","settingsMenu","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","RenderedSettingsMenu","Array","isArray","item","index","clientProps","Component","importMap","key","serverProps","RenderedBeforeNav","RenderedBeforeNavLinks","RenderedAfterNavLinks","RenderedAfterNav","allTabs","Content","_jsxs","_Fragment","_jsx","Icon","size","isDefaultActive","label","t","sidebar","tabs","tab","disabled","header","className","showTitle","server"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { PayloadRequest, ServerProps } from 'payload'\n\nimport { EntityType } from 'payload'\nimport React from 'react'\n\nimport type { EntityToGroup } from '../../utilities/groupNavItems.js'\nimport type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary */\nimport {\n DefaultNavClient,\n NavSidebarToggle,\n NavWrapper,\n SettingsMenuButton,\n UserMenu,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js'\nimport { groupNavItems } from '../../utilities/groupNavItems.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\nimport { SidebarTabs } from './SidebarTabs/index.js'\nimport './index.css'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\n\nexport type NavProps = {\n CustomAvatar?: React.ReactNode\n CustomLogoutButton?: React.ReactNode\n req?: PayloadRequest\n settingsItemGroups?: UserMenuSettingsGroup[]\n} & ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n CustomAvatar,\n CustomLogoutButton,\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n settingsItemGroups,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNav, afterNavLinks, beforeNav, beforeNavLinks, settingsMenu },\n },\n collections,\n globals,\n } = payload.config\n\n // Group collections and globals for nav display\n // These groups are passed to SidebarTabs -> CollectionsTab to avoid recomputing\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs(req)\n\n const RenderedSettingsMenu =\n settingsMenu && Array.isArray(settingsMenu)\n ? settingsMenu.map((item, index) =>\n RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: item,\n importMap: payload.importMap,\n key: `settings-menu-item-${index}`,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n }),\n )\n : []\n\n const RenderedBeforeNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedBeforeNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n // Build the full tabs array, starting with the default nav tab\n const allTabs = [\n {\n slug: 'nav',\n components: {\n Content: (\n <>\n {RenderedBeforeNavLinks}\n <DefaultNavClient groups={groups} navPreferences={navPreferences} />\n {RenderedAfterNavLinks}\n </>\n ),\n Icon: <AlignJustifiedIcon size={24} />,\n },\n isDefaultActive: true,\n label: i18n.t('general:collections'),\n },\n ...(payload.config.admin?.components?.sidebar?.tabs?.filter((tab) => !tab.disabled) || []),\n ]\n\n return (\n <NavWrapper\n baseClass={baseClass}\n header={\n <div className={`${baseClass}__header`}>\n <UserMenu\n CustomAvatar={CustomAvatar}\n CustomLogoutButton={CustomLogoutButton}\n settingsItemGroups={settingsItemGroups}\n showTitle\n />\n <NavSidebarToggle baseClass={baseClass} />\n </div>\n }\n >\n {RenderedBeforeNav}\n <nav className={`${baseClass}__wrap`}>\n <SidebarTabs\n documentSubViewType={documentSubViewType}\n i18n={i18n}\n locale={locale}\n navPreferences={navPreferences}\n params={params}\n payload={payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n server={req?.server}\n tabs={allTabs}\n user={user}\n viewType={viewType}\n />\n <div className={`${baseClass}__controls`}>\n <SettingsMenuButton settingsMenu={RenderedSettingsMenu} />\n </div>\n </nav>\n {RenderedAfterNav}\n </NavWrapper>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,34 +1,48 @@
|
|
|
1
1
|
@layer payload-default {
|
|
2
2
|
.nav-group {
|
|
3
|
-
width:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
width: 100%;
|
|
4
|
+
padding: var(--spacer-2) 0;
|
|
5
|
+
border-top: var(--stroke-width-small) solid var(--color-border);
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
border-top: var(--stroke-width-small) solid var(--color-border);
|
|
10
|
-
padding-top: var(--spacer-2-5);
|
|
7
|
+
&:first-child {
|
|
8
|
+
border-top: none;
|
|
11
9
|
}
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
.nav-group__toggle {
|
|
15
13
|
cursor: pointer;
|
|
16
|
-
color: var(--color-text);
|
|
14
|
+
color: var(--color-text-secondary);
|
|
17
15
|
background: transparent;
|
|
18
16
|
border: 0;
|
|
19
|
-
width: calc(100% + var(--spacer-2));
|
|
20
17
|
text-align: left;
|
|
21
18
|
display: flex;
|
|
19
|
+
width: 100%;
|
|
22
20
|
align-items: center;
|
|
23
21
|
position: relative;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
font-
|
|
28
|
-
font-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
isolation: isolate;
|
|
23
|
+
padding-block: var(--spacer-2);
|
|
24
|
+
padding-inline: var(--spacer-3);
|
|
25
|
+
font-size: var(--text-body-medium-font-size);
|
|
26
|
+
font-weight: var(--text-body-medium-font-weight);
|
|
27
|
+
line-height: var(--text-body-medium-line-height);
|
|
28
|
+
|
|
29
|
+
&::before {
|
|
30
|
+
content: '';
|
|
31
|
+
position: absolute;
|
|
32
|
+
inset-block: var(--spacer-1);
|
|
33
|
+
inset-inline: var(--spacer-2);
|
|
34
|
+
border-radius: var(--button-radius);
|
|
35
|
+
z-index: -1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&:focus-visible {
|
|
39
|
+
outline: none;
|
|
40
|
+
|
|
41
|
+
&::before {
|
|
42
|
+
outline: var(--accessibility-outline);
|
|
43
|
+
outline-offset: var(--accessibility-outline-offset);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
32
46
|
|
|
33
47
|
&:hover,
|
|
34
48
|
&:focus-visible {
|
|
@@ -46,7 +60,7 @@
|
|
|
46
60
|
|
|
47
61
|
.nav-group__indicator {
|
|
48
62
|
position: absolute;
|
|
49
|
-
inset-inline-start:
|
|
63
|
+
inset-inline-start: var(--spacer-2);
|
|
50
64
|
transform: translate(-50%, 0%);
|
|
51
65
|
display: flex;
|
|
52
66
|
align-items: center;
|
|
@@ -55,7 +69,6 @@
|
|
|
55
69
|
width: var(--spacer-3);
|
|
56
70
|
height: var(--spacer-3);
|
|
57
71
|
color: var(--color-icon-tertiary);
|
|
58
|
-
left: calc(-1 * var(--spacer-1));
|
|
59
72
|
opacity: 0;
|
|
60
73
|
}
|
|
61
74
|
|