@payloadcms/ui 4.0.0-internal.a7ca468 → 4.0.0-internal.af6aad0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.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 +5 -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 +4 -13
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +45 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/Button/index.css +25 -2
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -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/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +84 -62
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- 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.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/FileManager/index.css +0 -30
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +379 -287
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -15
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
- package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +120 -95
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +3 -34
- package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.css +4 -53
- package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +136 -99
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.d.ts +15 -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/MoveMany/index.d.ts +7 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.css +2 -9
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js +6 -73
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -186
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +1 -21
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -29
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +8 -9
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +29 -47
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +3 -2
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +4 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
- 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 +12 -18
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +1 -2
- package/dist/elements/Nav/context.d.ts +0 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +92 -67
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/index.css +47 -42
- 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 +16 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +29 -15
- package/dist/elements/Popup/PopupButtonList/index.css +33 -17
- package/dist/elements/Popup/index.css +6 -0
- package/dist/elements/Popup/index.d.ts +10 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +13 -6
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +5 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +5 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +58 -0
- package/dist/elements/SegmentedControl/index.d.ts +19 -0
- package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
- package/dist/elements/SegmentedControl/index.js +104 -0
- package/dist/elements/SegmentedControl/index.js.map +1 -0
- package/dist/elements/SelectAll/index.d.ts.map +1 -1
- package/dist/elements/SelectAll/index.js +1 -2
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +1 -2
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarRow/index.css +1 -5
- package/dist/elements/SidebarToggle/index.css +3 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/StepNav/DropTarget/index.css +20 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
- package/dist/elements/StepNav/DropTarget/index.js +71 -0
- package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +147 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +6 -0
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -32
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
- 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 +57 -21
- 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 +83 -39
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +32 -2
- 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 +77 -51
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
- package/dist/elements/ViewModeToggle/index.d.ts +8 -0
- package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
- package/dist/elements/ViewModeToggle/index.js +29 -0
- package/dist/elements/ViewModeToggle/index.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.js +32 -0
- package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +15 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +6 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +2 -0
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +38 -10
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -0
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +22 -19
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +35 -7
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -2
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +134 -152
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +168 -155
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +24 -6
- 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 +24 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +44 -16
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +241 -0
- package/dist/fields/Upload/Input.spec.js.map +1 -0
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +4 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/icons/CollapseLayers/index.css +5 -0
- package/dist/icons/CollapseLayers/index.d.ts +7 -0
- package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
- package/dist/icons/CollapseLayers/index.js +23 -0
- package/dist/icons/CollapseLayers/index.js.map +1 -0
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -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/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +5 -1
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
- package/dist/providers/FormErrorHandler/index.js.map +1 -1
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +53 -24
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Hierarchy/types.d.ts +2 -0
- package/dist/providers/Hierarchy/types.d.ts.map +1 -1
- package/dist/providers/Hierarchy/types.js.map +1 -1
- package/dist/providers/HierarchyDnd/index.css +51 -0
- package/dist/providers/HierarchyDnd/index.d.ts +21 -0
- package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/index.js +163 -0
- package/dist/providers/HierarchyDnd/index.js.map +1 -0
- package/dist/providers/HierarchyDnd/types.d.ts +56 -0
- package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/types.js +21 -0
- package/dist/providers/HierarchyDnd/types.js.map +1 -0
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +41 -36
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Root/index.js +4 -4
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/Default/Wrapper/index.css +2 -1
- package/dist/templates/Default/Wrapper/index.d.ts +2 -0
- package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +12 -6
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +3 -1
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +19 -15
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.js +0 -5
- package/dist/utilities/formatMetadata.js.map +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +1 -0
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- 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 +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +103 -20
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -3
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +138 -122
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/handleHierarchy.d.ts +6 -1
- package/dist/views/List/handleHierarchy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.js +34 -3
- package/dist/views/List/handleHierarchy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +128 -18
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +5 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +27 -16
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +8 -2
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +1 -0
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
/*
|
|
3
|
+
* Every state ring is a spread-only box-shadow rather than a border, so the selected state can
|
|
4
|
+
* double the stroke width without taking layout space - a widening border would grow the card's
|
|
5
|
+
* auto height and shift the whole grid row below it. The ring is drawn outside the card box, so
|
|
6
|
+
* it also never crops the thumbnail it surrounds.
|
|
7
|
+
*/
|
|
8
|
+
.hierarchy-document-card {
|
|
9
|
+
position: relative;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
background: var(--color-bg);
|
|
13
|
+
border-radius: var(--radius-large);
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
box-shadow: 0 0 0 var(--stroke-width-small) var(--color-border);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/*
|
|
19
|
+
* :not(--selected) so the hover ring cannot win over the accent ring on a selected card - both
|
|
20
|
+
* rules live in the same layer and file, and the hover selector would otherwise have the higher
|
|
21
|
+
* specificity.
|
|
22
|
+
*/
|
|
23
|
+
.hierarchy-document-card:not(.hierarchy-document-card--selected):hover {
|
|
24
|
+
box-shadow: 0 0 0 var(--stroke-width-small) var(--special-border-translucent-strong);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.hierarchy-document-card--selected {
|
|
28
|
+
box-shadow: 0 0 0 var(--stroke-width-medium) var(--color-border-selected);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Thumbnail */
|
|
32
|
+
|
|
33
|
+
.hierarchy-document-card__thumbnail-wrap {
|
|
34
|
+
position: relative;
|
|
35
|
+
width: 100%;
|
|
36
|
+
aspect-ratio: 4 / 3;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
background: var(--color-bg-secondary);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.hierarchy-document-card__thumbnail {
|
|
42
|
+
width: 100%;
|
|
43
|
+
height: 100%;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Type badge, overlaid on the thumbnail */
|
|
47
|
+
|
|
48
|
+
.hierarchy-document-card__type {
|
|
49
|
+
position: absolute;
|
|
50
|
+
inset-block-start: var(--spacer-2-5);
|
|
51
|
+
inset-inline-start: var(--spacer-2-5);
|
|
52
|
+
display: inline-flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
/* Leaves room for the lock indicator in the opposite corner */
|
|
55
|
+
max-width: calc(100% - var(--spacer-6));
|
|
56
|
+
padding-inline: var(--spacer-1);
|
|
57
|
+
padding-block: var(--spacer-0);
|
|
58
|
+
border-radius: var(--radius-medium);
|
|
59
|
+
background: var(--color-bg);
|
|
60
|
+
color: black;
|
|
61
|
+
border: var(--stroke-width-small) solid var(--color-border);
|
|
62
|
+
font-family: var(--text-body-medium-font-family);
|
|
63
|
+
font-size: var(--text-body-medium-font-size);
|
|
64
|
+
font-weight: var(--text-body-medium-font-weight);
|
|
65
|
+
line-height: var(--text-body-medium-line-height);
|
|
66
|
+
letter-spacing: var(--text-body-medium-letter-spacing);
|
|
67
|
+
white-space: nowrap;
|
|
68
|
+
overflow: hidden;
|
|
69
|
+
text-overflow: ellipsis;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* Content */
|
|
73
|
+
|
|
74
|
+
.hierarchy-document-card__content {
|
|
75
|
+
display: flex;
|
|
76
|
+
flex-direction: column;
|
|
77
|
+
gap: var(--spacer-1);
|
|
78
|
+
padding-inline: var(--spacer-3);
|
|
79
|
+
padding-block-start: var(--spacer-2-5);
|
|
80
|
+
padding-block-end: var(--spacer-3);
|
|
81
|
+
min-width: 0;
|
|
82
|
+
border-block-start: var(--stroke-width-small) solid var(--color-border);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.hierarchy-document-card__link {
|
|
86
|
+
display: block;
|
|
87
|
+
min-width: 0;
|
|
88
|
+
color: inherit;
|
|
89
|
+
text-decoration: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Stretches the title link across the card so the whole surface navigates */
|
|
93
|
+
.hierarchy-document-card__link::after {
|
|
94
|
+
content: '';
|
|
95
|
+
position: absolute;
|
|
96
|
+
inset: 0;
|
|
97
|
+
z-index: 1;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/*
|
|
101
|
+
* The stretched overlay above is intentionally hit-testable, but left alone it also swallows
|
|
102
|
+
* hover on the title - suppressing the truncated-title tooltip, because a native `title`
|
|
103
|
+
* tooltip only resolves against ancestors of the hit element and the attribute sits on this
|
|
104
|
+
* span. Lifting just the title restores it; the title still navigates because it lives inside
|
|
105
|
+
* the anchor. The metadata rows are deliberately NOT lifted, so the whole card stays navigable.
|
|
106
|
+
*/
|
|
107
|
+
.hierarchy-document-card__title {
|
|
108
|
+
position: relative;
|
|
109
|
+
z-index: 2;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/*
|
|
113
|
+
* Custom property rows may contain their own controls, so they alone are lifted above the
|
|
114
|
+
* overlay. Clicks here will not navigate.
|
|
115
|
+
*/
|
|
116
|
+
.hierarchy-document-card__extra {
|
|
117
|
+
position: relative;
|
|
118
|
+
z-index: 2;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.hierarchy-document-card__title {
|
|
122
|
+
display: block;
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
white-space: nowrap;
|
|
125
|
+
text-overflow: ellipsis;
|
|
126
|
+
color: var(--color-text);
|
|
127
|
+
font-family: var(--text-body-medium-strong-font-family);
|
|
128
|
+
font-size: var(--text-body-medium-strong-font-size);
|
|
129
|
+
font-weight: var(--text-body-medium-strong-font-weight);
|
|
130
|
+
line-height: var(--text-body-medium-strong-line-height);
|
|
131
|
+
letter-spacing: var(--text-body-medium-strong-letter-spacing);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* Properties */
|
|
135
|
+
|
|
136
|
+
.hierarchy-document-card__properties {
|
|
137
|
+
display: flex;
|
|
138
|
+
flex-direction: column;
|
|
139
|
+
gap: var(--spacer-1);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.hierarchy-document-card__property {
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
gap: var(--spacer-0-5, 2px);
|
|
146
|
+
min-width: 0;
|
|
147
|
+
font-family: var(--text-body-medium-font-family);
|
|
148
|
+
font-size: var(--text-body-medium-font-size);
|
|
149
|
+
font-weight: var(--text-body-medium-font-weight);
|
|
150
|
+
line-height: var(--text-body-medium-line-height);
|
|
151
|
+
letter-spacing: var(--text-body-medium-letter-spacing);
|
|
152
|
+
color: var(--color-text-secondary);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.hierarchy-document-card__property-label {
|
|
156
|
+
color: var(--color-text-secondary);
|
|
157
|
+
white-space: nowrap;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.hierarchy-document-card__property-value {
|
|
161
|
+
min-width: 0;
|
|
162
|
+
overflow: hidden;
|
|
163
|
+
white-space: nowrap;
|
|
164
|
+
text-overflow: ellipsis;
|
|
165
|
+
color: var(--color-text-secondary);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/* Status pill - mirrors the token pairs used by the table status cell */
|
|
169
|
+
|
|
170
|
+
.hierarchy-document-card__status {
|
|
171
|
+
display: inline-flex;
|
|
172
|
+
/* The pill is a direct child of the stretch-aligned properties column, so it shrink-wraps here */
|
|
173
|
+
align-self: flex-start;
|
|
174
|
+
align-items: center;
|
|
175
|
+
justify-content: center;
|
|
176
|
+
padding-inline: var(--spacer-1);
|
|
177
|
+
padding-block: var(--spacer-0);
|
|
178
|
+
border-radius: var(--radius-medium);
|
|
179
|
+
white-space: nowrap;
|
|
180
|
+
font-family: var(--text-body-medium-font-family);
|
|
181
|
+
font-size: var(--text-body-medium-font-size);
|
|
182
|
+
font-weight: var(--text-body-medium-font-weight);
|
|
183
|
+
line-height: var(--text-body-medium-line-height);
|
|
184
|
+
letter-spacing: var(--text-body-medium-letter-spacing);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.hierarchy-document-card__status--published {
|
|
188
|
+
background: var(--color-bg-selected);
|
|
189
|
+
color: var(--color-text-brand);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.hierarchy-document-card__status--draft {
|
|
193
|
+
background: var(--color-bg-tertiary);
|
|
194
|
+
color: var(--color-text);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.hierarchy-document-card__status--changed {
|
|
198
|
+
background: var(--color-bg-warning-tertiary);
|
|
199
|
+
color: var(--color-text-warning);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.hierarchy-document-card__status--previously-published {
|
|
203
|
+
background: var(--color-bg-tertiary);
|
|
204
|
+
color: var(--color-text);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/* Lock indicator */
|
|
208
|
+
|
|
209
|
+
.hierarchy-document-card__corner-slot {
|
|
210
|
+
position: absolute;
|
|
211
|
+
inset-block-start: var(--spacer-2);
|
|
212
|
+
inset-inline-end: var(--spacer-2);
|
|
213
|
+
/* Above both the stretched link and the raised text, so selecting never navigates */
|
|
214
|
+
z-index: 3;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { User } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './index.css';
|
|
4
|
+
export type DocumentCardProps = {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
collectionSlug: string;
|
|
7
|
+
doc: Record<string, unknown>;
|
|
8
|
+
href: string;
|
|
9
|
+
isSelected?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The user currently editing this document. When set, a lock indicator is shown and the card
|
|
12
|
+
* cannot be selected.
|
|
13
|
+
*/
|
|
14
|
+
lockedUser?: User;
|
|
15
|
+
showType?: boolean;
|
|
16
|
+
typeLabel?: string;
|
|
17
|
+
updatedAt?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const DocumentCard: React.FC<DocumentCardProps>;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/HierarchyList/HierarchyCards/DocumentCard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAkB,MAAM,OAAO,CAAA;AAStC,OAAO,aAAa,CAAA;AAsBpB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwHpD,CAAA"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import React, { useMemo } from 'react';
|
|
5
|
+
import { Link } from '../../../../elements/Link/index.js';
|
|
6
|
+
import { Locked } from '../../../../elements/Locked/index.js';
|
|
7
|
+
import { Thumbnail } from '../../../../elements/Thumbnail/index.js';
|
|
8
|
+
import { useConfig } from '../../../../providers/Config/index.js';
|
|
9
|
+
import { useTranslation } from '../../../../providers/Translation/index.js';
|
|
10
|
+
import { formatRelativeDate } from '../../../../utilities/formatRelativeDate.js';
|
|
11
|
+
import { getThumbnailSrc } from '../getThumbnailSrc.js';
|
|
12
|
+
import './index.css';
|
|
13
|
+
const baseClass = 'hierarchy-document-card';
|
|
14
|
+
/**
|
|
15
|
+
* Mirrors the labels and modifier classes of the table `StatusCell` so cards and rows read the
|
|
16
|
+
* same. Unknown statuses fall back to the raw value with the neutral `draft` treatment.
|
|
17
|
+
*/
|
|
18
|
+
const statusLabels = {
|
|
19
|
+
changed: 'Changed',
|
|
20
|
+
draft: 'Draft',
|
|
21
|
+
previouslyPublished: 'Previously Published',
|
|
22
|
+
published: 'Published'
|
|
23
|
+
};
|
|
24
|
+
const statusModifiers = {
|
|
25
|
+
changed: 'changed',
|
|
26
|
+
draft: 'draft',
|
|
27
|
+
previouslyPublished: 'previously-published',
|
|
28
|
+
published: 'published'
|
|
29
|
+
};
|
|
30
|
+
export const DocumentCard = ({
|
|
31
|
+
children,
|
|
32
|
+
collectionSlug,
|
|
33
|
+
doc,
|
|
34
|
+
href,
|
|
35
|
+
isSelected = false,
|
|
36
|
+
lockedUser,
|
|
37
|
+
showType = false,
|
|
38
|
+
typeLabel,
|
|
39
|
+
updatedAt
|
|
40
|
+
}) => {
|
|
41
|
+
const {
|
|
42
|
+
getEntityConfig
|
|
43
|
+
} = useConfig();
|
|
44
|
+
const {
|
|
45
|
+
i18n
|
|
46
|
+
} = useTranslation();
|
|
47
|
+
const collectionConfig = getEntityConfig({
|
|
48
|
+
collectionSlug
|
|
49
|
+
});
|
|
50
|
+
const uploadConfig = collectionConfig?.upload;
|
|
51
|
+
const isPreviewAllowed = uploadConfig?.displayPreview ?? true;
|
|
52
|
+
const hasOwnFile = typeof doc.filename === 'string' && doc.filename.length > 0;
|
|
53
|
+
const isOwnUpload = Boolean(uploadConfig) && isPreviewAllowed && hasOwnFile;
|
|
54
|
+
// Falls back to the first field of type `upload` on the collection (resolved server-side), so a
|
|
55
|
+
// card can surface a thumbnail even when the collection itself isn't upload-enabled.
|
|
56
|
+
const useAsThumbnail = collectionConfig?.admin?.useAsThumbnail;
|
|
57
|
+
const relatedUploadDoc = !isOwnUpload && useAsThumbnail && typeof doc[useAsThumbnail] === 'object' && doc[useAsThumbnail] ? doc[useAsThumbnail] : undefined;
|
|
58
|
+
const thumbnailDoc = isOwnUpload ? doc : relatedUploadDoc;
|
|
59
|
+
const thumbnailSrc = thumbnailDoc ? getThumbnailSrc({
|
|
60
|
+
doc: thumbnailDoc
|
|
61
|
+
}) : undefined;
|
|
62
|
+
const hasThumbnailImage = Boolean(thumbnailSrc);
|
|
63
|
+
const title = getDocTitle({
|
|
64
|
+
doc,
|
|
65
|
+
titleField: collectionConfig?.admin?.useAsTitle || 'id'
|
|
66
|
+
});
|
|
67
|
+
const status = getDocStatus({
|
|
68
|
+
doc
|
|
69
|
+
});
|
|
70
|
+
const hasTypePill = showType && Boolean(typeLabel);
|
|
71
|
+
// Creating the formatter is expensive, so build one per language rather than one per render.
|
|
72
|
+
const relativeTimeFormat = useMemo(() => getLongRelativeTimeFormat(i18n.language), [i18n.language]);
|
|
73
|
+
const updatedLabel = useMemo(() => updatedAt ? formatRelativeDate({
|
|
74
|
+
relativeTimeFormat,
|
|
75
|
+
value: updatedAt
|
|
76
|
+
}) : undefined, [relativeTimeFormat, updatedAt]);
|
|
77
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
78
|
+
className: [baseClass,
|
|
79
|
+
// The corner slot holds the lock indicator, and content below it must reserve space for it.
|
|
80
|
+
lockedUser && `${baseClass}--has-corner-slot`, isSelected && `${baseClass}--selected`].filter(Boolean).join(' '),
|
|
81
|
+
"data-selected": isSelected ? 'true' : undefined,
|
|
82
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
83
|
+
className: `${baseClass}__thumbnail-wrap`,
|
|
84
|
+
children: [hasThumbnailImage && /*#__PURE__*/_jsx(Thumbnail, {
|
|
85
|
+
className: `${baseClass}__thumbnail`,
|
|
86
|
+
collectionSlug: isOwnUpload ? collectionConfig?.slug : undefined,
|
|
87
|
+
doc: thumbnailDoc,
|
|
88
|
+
fileSrc: thumbnailSrc,
|
|
89
|
+
imageCacheTag: isOwnUpload && uploadConfig?.cacheTags ? doc.updatedAt : undefined,
|
|
90
|
+
size: "expand",
|
|
91
|
+
uploadConfig: isOwnUpload ? uploadConfig : undefined
|
|
92
|
+
}), hasTypePill && /*#__PURE__*/_jsx("span", {
|
|
93
|
+
className: `${baseClass}__type`,
|
|
94
|
+
children: typeLabel
|
|
95
|
+
})]
|
|
96
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
97
|
+
className: `${baseClass}__content`,
|
|
98
|
+
children: [/*#__PURE__*/_jsx(Link, {
|
|
99
|
+
className: `${baseClass}__link`,
|
|
100
|
+
draggable: false,
|
|
101
|
+
href: href,
|
|
102
|
+
children: /*#__PURE__*/_jsx("span", {
|
|
103
|
+
className: `${baseClass}__title`,
|
|
104
|
+
title: title,
|
|
105
|
+
children: title
|
|
106
|
+
})
|
|
107
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
108
|
+
className: `${baseClass}__properties`,
|
|
109
|
+
children: [updatedLabel && /*#__PURE__*/_jsxs("div", {
|
|
110
|
+
className: `${baseClass}__property`,
|
|
111
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
112
|
+
className: `${baseClass}__property-label`,
|
|
113
|
+
children: "Updated"
|
|
114
|
+
}), /*#__PURE__*/_jsx("time", {
|
|
115
|
+
className: `${baseClass}__property-value`,
|
|
116
|
+
dateTime: updatedAt,
|
|
117
|
+
children: updatedLabel
|
|
118
|
+
})]
|
|
119
|
+
}), status && /*#__PURE__*/_jsx("span", {
|
|
120
|
+
className: `${baseClass}__status ${baseClass}__status--${statusModifiers[status] || 'draft'}`,
|
|
121
|
+
children: statusLabels[status] || status
|
|
122
|
+
}), children ? /*#__PURE__*/_jsx("div", {
|
|
123
|
+
className: `${baseClass}__extra`,
|
|
124
|
+
children: children
|
|
125
|
+
}) : null]
|
|
126
|
+
})]
|
|
127
|
+
}), lockedUser && /*#__PURE__*/_jsx("div", {
|
|
128
|
+
className: `${baseClass}__corner-slot`,
|
|
129
|
+
children: /*#__PURE__*/_jsx(Locked, {
|
|
130
|
+
user: lockedUser
|
|
131
|
+
})
|
|
132
|
+
}), isSelected && !lockedUser && /*#__PURE__*/_jsx("span", {
|
|
133
|
+
className: "sr-only",
|
|
134
|
+
children: "Selected"
|
|
135
|
+
})]
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Cards spell the unit out ("2 days ago") per the design, whereas the shared
|
|
140
|
+
* `getRelativeTimeFormat` helper is deliberately `narrow` ("2d ago") for the dense dashboard
|
|
141
|
+
* widgets. Falls back to English on locales Intl does not recognise.
|
|
142
|
+
*/
|
|
143
|
+
function getLongRelativeTimeFormat(language) {
|
|
144
|
+
try {
|
|
145
|
+
return new Intl.RelativeTimeFormat(language, {
|
|
146
|
+
numeric: 'auto',
|
|
147
|
+
style: 'long'
|
|
148
|
+
});
|
|
149
|
+
} catch {
|
|
150
|
+
return new Intl.RelativeTimeFormat('en', {
|
|
151
|
+
numeric: 'auto',
|
|
152
|
+
style: 'long'
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
function getDocTitle({
|
|
157
|
+
doc,
|
|
158
|
+
titleField
|
|
159
|
+
}) {
|
|
160
|
+
const rawTitle = doc[titleField];
|
|
161
|
+
if (typeof rawTitle === 'string' || typeof rawTitle === 'number') {
|
|
162
|
+
return String(rawTitle);
|
|
163
|
+
}
|
|
164
|
+
const {
|
|
165
|
+
id
|
|
166
|
+
} = doc;
|
|
167
|
+
if (typeof id === 'string' || typeof id === 'number') {
|
|
168
|
+
return String(id);
|
|
169
|
+
}
|
|
170
|
+
return '';
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Prefers `_displayStatus` because the list view enriches docs with it to surface `changed`,
|
|
174
|
+
* falling back to the persisted `_status`.
|
|
175
|
+
*/
|
|
176
|
+
function getDocStatus({
|
|
177
|
+
doc
|
|
178
|
+
}) {
|
|
179
|
+
const rawStatus = doc._displayStatus ?? doc._status;
|
|
180
|
+
return typeof rawStatus === 'string' && rawStatus.length > 0 ? rawStatus : undefined;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useMemo","Link","Locked","Thumbnail","useConfig","useTranslation","formatRelativeDate","getThumbnailSrc","baseClass","statusLabels","changed","draft","previouslyPublished","published","statusModifiers","DocumentCard","children","collectionSlug","doc","href","isSelected","lockedUser","showType","typeLabel","updatedAt","getEntityConfig","i18n","collectionConfig","uploadConfig","upload","isPreviewAllowed","displayPreview","hasOwnFile","filename","length","isOwnUpload","Boolean","useAsThumbnail","admin","relatedUploadDoc","undefined","thumbnailDoc","thumbnailSrc","hasThumbnailImage","title","getDocTitle","titleField","useAsTitle","status","getDocStatus","hasTypePill","relativeTimeFormat","getLongRelativeTimeFormat","language","updatedLabel","value","_jsxs","className","filter","join","_jsx","slug","fileSrc","imageCacheTag","cacheTags","size","draggable","dateTime","user","Intl","RelativeTimeFormat","numeric","style","rawTitle","String","id","rawStatus","_displayStatus","_status"],"sources":["../../../../../src/views/HierarchyList/HierarchyCards/DocumentCard/index.tsx"],"sourcesContent":["'use client'\n\nimport type { User } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { Link } from '../../../../elements/Link/index.js'\nimport { Locked } from '../../../../elements/Locked/index.js'\nimport { Thumbnail } from '../../../../elements/Thumbnail/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { formatRelativeDate } from '../../../../utilities/formatRelativeDate.js'\nimport { getThumbnailSrc } from '../getThumbnailSrc.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-document-card'\n\n/**\n * Mirrors the labels and modifier classes of the table `StatusCell` so cards and rows read the\n * same. Unknown statuses fall back to the raw value with the neutral `draft` treatment.\n */\nconst statusLabels: Record<string, string> = {\n changed: 'Changed',\n draft: 'Draft',\n previouslyPublished: 'Previously Published',\n published: 'Published',\n}\n\nconst statusModifiers: Record<string, string> = {\n changed: 'changed',\n draft: 'draft',\n previouslyPublished: 'previously-published',\n published: 'published',\n}\n\nexport type DocumentCardProps = {\n children?: React.ReactNode\n collectionSlug: string\n doc: Record<string, unknown>\n href: string\n isSelected?: boolean\n /**\n * The user currently editing this document. When set, a lock indicator is shown and the card\n * cannot be selected.\n */\n lockedUser?: User\n showType?: boolean\n typeLabel?: string\n updatedAt?: string\n}\n\nexport const DocumentCard: React.FC<DocumentCardProps> = ({\n children,\n collectionSlug,\n doc,\n href,\n isSelected = false,\n lockedUser,\n showType = false,\n typeLabel,\n updatedAt,\n}) => {\n const { getEntityConfig } = useConfig()\n const { i18n } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const uploadConfig = collectionConfig?.upload\n const isPreviewAllowed = uploadConfig?.displayPreview ?? true\n const hasOwnFile = typeof doc.filename === 'string' && doc.filename.length > 0\n const isOwnUpload = Boolean(uploadConfig) && isPreviewAllowed && hasOwnFile\n\n // Falls back to the first field of type `upload` on the collection (resolved server-side), so a\n // card can surface a thumbnail even when the collection itself isn't upload-enabled.\n const useAsThumbnail = collectionConfig?.admin?.useAsThumbnail\n const relatedUploadDoc =\n !isOwnUpload && useAsThumbnail && typeof doc[useAsThumbnail] === 'object' && doc[useAsThumbnail]\n ? (doc[useAsThumbnail] as Record<string, unknown>)\n : undefined\n const thumbnailDoc = isOwnUpload ? doc : relatedUploadDoc\n\n const thumbnailSrc = thumbnailDoc ? getThumbnailSrc({ doc: thumbnailDoc }) : undefined\n const hasThumbnailImage = Boolean(thumbnailSrc)\n\n const title = getDocTitle({ doc, titleField: collectionConfig?.admin?.useAsTitle || 'id' })\n const status = getDocStatus({ doc })\n const hasTypePill = showType && Boolean(typeLabel)\n\n // Creating the formatter is expensive, so build one per language rather than one per render.\n const relativeTimeFormat = useMemo(\n () => getLongRelativeTimeFormat(i18n.language),\n [i18n.language],\n )\n\n const updatedLabel = useMemo(\n () => (updatedAt ? formatRelativeDate({ relativeTimeFormat, value: updatedAt }) : undefined),\n [relativeTimeFormat, updatedAt],\n )\n\n return (\n <div\n className={[\n baseClass,\n // The corner slot holds the lock indicator, and content below it must reserve space for it.\n lockedUser && `${baseClass}--has-corner-slot`,\n isSelected && `${baseClass}--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n data-selected={isSelected ? 'true' : undefined}\n >\n <div className={`${baseClass}__thumbnail-wrap`}>\n {hasThumbnailImage && (\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={isOwnUpload ? collectionConfig?.slug : undefined}\n doc={thumbnailDoc}\n fileSrc={thumbnailSrc}\n imageCacheTag={\n isOwnUpload && uploadConfig?.cacheTags ? (doc.updatedAt as string) : undefined\n }\n size=\"expand\"\n uploadConfig={isOwnUpload ? uploadConfig : undefined}\n />\n )}\n {hasTypePill && <span className={`${baseClass}__type`}>{typeLabel}</span>}\n </div>\n\n <div className={`${baseClass}__content`}>\n {/* The link is a sibling of the checkbox and stretches over the whole card via ::after */}\n {/* The card itself is the drag handle; a link's native drag would fight the pointer sensor. */}\n <Link className={`${baseClass}__link`} draggable={false} href={href}>\n <span className={`${baseClass}__title`} title={title}>\n {title}\n </span>\n </Link>\n\n <div className={`${baseClass}__properties`}>\n {updatedLabel && (\n <div className={`${baseClass}__property`}>\n <span className={`${baseClass}__property-label`}>Updated</span>\n <time className={`${baseClass}__property-value`} dateTime={updatedAt}>\n {updatedLabel}\n </time>\n </div>\n )}\n\n {status && (\n <span\n className={`${baseClass}__status ${baseClass}__status--${statusModifiers[status] || 'draft'}`}\n >\n {statusLabels[status] || status}\n </span>\n )}\n\n {children ? <div className={`${baseClass}__extra`}>{children}</div> : null}\n </div>\n </div>\n\n {lockedUser && (\n <div className={`${baseClass}__corner-slot`}>\n <Locked user={lockedUser} />\n </div>\n )}\n\n {/*\n The accent border is the only visual signal that the card is selected. Suppressed when\n locked, so this never contradicts the lock indicator's own announcement.\n */}\n {isSelected && !lockedUser && <span className=\"sr-only\">Selected</span>}\n </div>\n )\n}\n\n/**\n * Cards spell the unit out (\"2 days ago\") per the design, whereas the shared\n * `getRelativeTimeFormat` helper is deliberately `narrow` (\"2d ago\") for the dense dashboard\n * widgets. Falls back to English on locales Intl does not recognise.\n */\nfunction getLongRelativeTimeFormat(language: string): Intl.RelativeTimeFormat {\n try {\n return new Intl.RelativeTimeFormat(language, { numeric: 'auto', style: 'long' })\n } catch {\n return new Intl.RelativeTimeFormat('en', { numeric: 'auto', style: 'long' })\n }\n}\n\nfunction getDocTitle({\n doc,\n titleField,\n}: {\n doc: Record<string, unknown>\n titleField: string\n}): string {\n const rawTitle = doc[titleField]\n\n if (typeof rawTitle === 'string' || typeof rawTitle === 'number') {\n return String(rawTitle)\n }\n\n const { id } = doc\n\n if (typeof id === 'string' || typeof id === 'number') {\n return String(id)\n }\n\n return ''\n}\n\n/**\n * Prefers `_displayStatus` because the list view enriches docs with it to surface `changed`,\n * falling back to the persisted `_status`.\n */\nfunction getDocStatus({ doc }: { doc: Record<string, unknown> }): string | undefined {\n const rawStatus = doc._displayStatus ?? doc._status\n\n return typeof rawStatus === 'string' && rawStatus.length > 0 ? rawStatus : undefined\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
/*
|
|
3
|
+
* A fixed 40px square, so a stack of these has a predictable footprint regardless of the aspect
|
|
4
|
+
* ratio of whatever was picked up.
|
|
5
|
+
*/
|
|
6
|
+
.hierarchy-drag-preview-item {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
width: var(--spacer-6);
|
|
11
|
+
height: var(--spacer-6);
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
border-radius: var(--radius-medium);
|
|
14
|
+
background: var(--color-bg);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Fills the square and crops, rather than letter-boxing a wide image inside it. */
|
|
18
|
+
.hierarchy-drag-preview-item__thumbnail {
|
|
19
|
+
width: 100%;
|
|
20
|
+
height: 100%;
|
|
21
|
+
|
|
22
|
+
img {
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 100%;
|
|
25
|
+
object-fit: cover;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.hierarchy-drag-preview-item__icon {
|
|
30
|
+
display: flex;
|
|
31
|
+
color: var(--color-icon);
|
|
32
|
+
|
|
33
|
+
svg {
|
|
34
|
+
width: var(--spacer-4);
|
|
35
|
+
height: var(--spacer-4);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TableRow } from '../../HierarchyTable/types.js';
|
|
3
|
+
import './index.css';
|
|
4
|
+
/**
|
|
5
|
+
* One tile in the drag stack: a small square thumbnail rather than a full card, so a multi-item drag
|
|
6
|
+
* stays legible under the cursor instead of covering the folders it is aiming for.
|
|
7
|
+
*
|
|
8
|
+
* `Thumbnail` already falls back to the generic file graphic when a document has no image, so
|
|
9
|
+
* non-upload collections need no special case here - only folders, which have an icon instead.
|
|
10
|
+
*/
|
|
11
|
+
export declare const DragPreviewItem: React.FC<{
|
|
12
|
+
isHierarchyGroup: boolean;
|
|
13
|
+
row: TableRow;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/HierarchyList/HierarchyCards/DragPreviewItem/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAM7D,OAAO,aAAa,CAAA;AAIpB;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,gBAAgB,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,QAAQ,CAAA;CACd,CA2BA,CAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { Thumbnail } from '../../../../elements/Thumbnail/index.js';
|
|
7
|
+
import { FolderIcon } from '../../../../icons/Folder/index.js';
|
|
8
|
+
import { useConfig } from '../../../../providers/Config/index.js';
|
|
9
|
+
import { getThumbnailSrc } from '../getThumbnailSrc.js';
|
|
10
|
+
import './index.css';
|
|
11
|
+
const baseClass = 'hierarchy-drag-preview-item';
|
|
12
|
+
/**
|
|
13
|
+
* One tile in the drag stack: a small square thumbnail rather than a full card, so a multi-item drag
|
|
14
|
+
* stays legible under the cursor instead of covering the folders it is aiming for.
|
|
15
|
+
*
|
|
16
|
+
* `Thumbnail` already falls back to the generic file graphic when a document has no image, so
|
|
17
|
+
* non-upload collections need no special case here - only folders, which have an icon instead.
|
|
18
|
+
*/
|
|
19
|
+
export const DragPreviewItem = t0 => {
|
|
20
|
+
const $ = _c(7);
|
|
21
|
+
const {
|
|
22
|
+
isHierarchyGroup,
|
|
23
|
+
row
|
|
24
|
+
} = t0;
|
|
25
|
+
const {
|
|
26
|
+
getEntityConfig
|
|
27
|
+
} = useConfig();
|
|
28
|
+
const t1 = row._collectionSlug;
|
|
29
|
+
let t2;
|
|
30
|
+
let t3;
|
|
31
|
+
if ($[0] !== getEntityConfig || $[1] !== isHierarchyGroup || $[2] !== row) {
|
|
32
|
+
t3 = Symbol.for("react.early_return_sentinel");
|
|
33
|
+
bb0: {
|
|
34
|
+
const collectionConfig = getEntityConfig({
|
|
35
|
+
collectionSlug: t1
|
|
36
|
+
});
|
|
37
|
+
const uploadConfig = collectionConfig?.upload;
|
|
38
|
+
if (isHierarchyGroup) {
|
|
39
|
+
let t4;
|
|
40
|
+
if ($[5] !== row._hierarchyIcon) {
|
|
41
|
+
t4 = _jsx("div", {
|
|
42
|
+
className: baseClass,
|
|
43
|
+
children: _jsx("span", {
|
|
44
|
+
className: `${baseClass}__icon`,
|
|
45
|
+
children: row._hierarchyIcon || _jsx(FolderIcon, {})
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
$[5] = row._hierarchyIcon;
|
|
49
|
+
$[6] = t4;
|
|
50
|
+
} else {
|
|
51
|
+
t4 = $[6];
|
|
52
|
+
}
|
|
53
|
+
t3 = t4;
|
|
54
|
+
break bb0;
|
|
55
|
+
}
|
|
56
|
+
t2 = _jsx("div", {
|
|
57
|
+
className: baseClass,
|
|
58
|
+
children: _jsx(Thumbnail, {
|
|
59
|
+
className: `${baseClass}__thumbnail`,
|
|
60
|
+
collectionSlug: collectionConfig?.slug,
|
|
61
|
+
doc: row,
|
|
62
|
+
fileSrc: getThumbnailSrc({
|
|
63
|
+
doc: row
|
|
64
|
+
}),
|
|
65
|
+
imageCacheTag: uploadConfig?.cacheTags ? row.updatedAt : undefined,
|
|
66
|
+
size: "expand",
|
|
67
|
+
uploadConfig
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
$[0] = getEntityConfig;
|
|
72
|
+
$[1] = isHierarchyGroup;
|
|
73
|
+
$[2] = row;
|
|
74
|
+
$[3] = t2;
|
|
75
|
+
$[4] = t3;
|
|
76
|
+
} else {
|
|
77
|
+
t2 = $[3];
|
|
78
|
+
t3 = $[4];
|
|
79
|
+
}
|
|
80
|
+
if (t3 !== Symbol.for("react.early_return_sentinel")) {
|
|
81
|
+
return t3;
|
|
82
|
+
}
|
|
83
|
+
return t2;
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Thumbnail","FolderIcon","useConfig","getThumbnailSrc","baseClass","DragPreviewItem","t0","$","isHierarchyGroup","row","getEntityConfig","t1","_collectionSlug","t2","t3","Symbol","for","collectionConfig","collectionSlug","uploadConfig","upload","t4","_hierarchyIcon","_jsx","className","children","slug","doc","fileSrc","imageCacheTag","cacheTags","updatedAt","undefined","size"],"sources":["../../../../../src/views/HierarchyList/HierarchyCards/DragPreviewItem/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport type { TableRow } from '../../HierarchyTable/types.js'\n\nimport { Thumbnail } from '../../../../elements/Thumbnail/index.js'\nimport { FolderIcon } from '../../../../icons/Folder/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { getThumbnailSrc } from '../getThumbnailSrc.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-drag-preview-item'\n\n/**\n * One tile in the drag stack: a small square thumbnail rather than a full card, so a multi-item drag\n * stays legible under the cursor instead of covering the folders it is aiming for.\n *\n * `Thumbnail` already falls back to the generic file graphic when a document has no image, so\n * non-upload collections need no special case here - only folders, which have an icon instead.\n */\nexport const DragPreviewItem: React.FC<{\n isHierarchyGroup: boolean\n row: TableRow\n}> = ({ isHierarchyGroup, row }) => {\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: row._collectionSlug })\n const uploadConfig = collectionConfig?.upload\n\n if (isHierarchyGroup) {\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__icon`}>{row._hierarchyIcon || <FolderIcon />}</span>\n </div>\n )\n }\n\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={row}\n fileSrc={getThumbnailSrc({ doc: row })}\n imageCacheTag={uploadConfig?.cacheTags ? (row.updatedAt as string) : undefined}\n size=\"expand\"\n uploadConfig={uploadConfig}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAIlB,SAASC,SAAS,QAAQ;AAC1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;;;;;;;AAOA,OAAO,MAAMC,eAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,gBAAA;IAAAC;EAAA,IAAAH,EAAyB;EAC7B;IAAAI;EAAA,IAA4BR,SAAA;EAE+B,MAAAS,EAAA,GAAAF,GAAA,CAAAG,eAAA;EAAmB,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAE,GAAA;IAK1EK,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;MALJ,MAAAC,gBAAA,GAAyBP,eAAA;QAAAQ,cAAA,EAAkCP;MAAmB,CAAC;MAC/E,MAAAQ,YAAA,GAAqBF,gBAAA,EAAAG,MAAA;MAAkB,IAEnCZ,gBAAA;QAAA,IAAAa,EAAA;QAAA,IAAAd,CAAA,QAAAE,GAAA,CAAAa,cAAA;UAEAD,EAAA,GAAAE,IAAA,CAAC;YAAAC,SAAA,EAAApB,SAAA;YAAAqB,QAAA,EACCF,IAAA,CAAC;cAAAC,SAAA,EAAgB,GAAApB,SAAA,QAAoB;cAAAqB,QAAA,EAAGhB,GAAA,CAAAa,cAAA,IAAsBC,IAAA,CAAAtB,UAAA,IAAC;YAAA,C;;;;;;;QADjEa,EAAA,GAAAO,E;;;MAOFR,EAAA,GAAAU,IAAA,CAAC;QAAAC,SAAA,EAAApB,SAAA;QAAAqB,QAAA,EACCF,IAAA,CAAAvB,SAAA;UAAAwB,SAAA,EACa,GAAApB,SAAA,aAAyB;UAAAc,cAAA,EACpBD,gBAAA,EAAAS,IAAA;UAAAC,GAAA,EACXlB,GAAA;UAAAmB,OAAA,EACIzB,eAAA;YAAAwB,GAAA,EAAuBlB;UAAA,CAAI;UAAAoB,aAAA,EACrBV,YAAA,EAAAW,SAAA,GAA2BrB,GAAA,CAAAsB,SAAA,GAAAC,SAA2B;UAAAC,IAAA,EAChE;UAAAd;QAAA,C;;;;;;;;;;;;;;;SAPTN,E;CAYJ","ignoreList":[]}
|