@payloadcms/ui 4.0.0-internal.e7d4ebc → 4.0.0-internal.f05c47f
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 +121 -0
- package/dist/css/forms.css +0 -6
- package/dist/css/spacing.css +10 -3
- package/dist/css/z-index.css +1 -0
- package/dist/elements/AddNewRelation/index.css +0 -1
- package/dist/elements/AppHeader/index.css +1 -3
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +45 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +3 -0
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BranchSelector/index.css +83 -0
- package/dist/elements/BranchSelector/index.d.ts +12 -0
- package/dist/elements/BranchSelector/index.d.ts.map +1 -0
- package/dist/elements/BranchSelector/index.js +160 -0
- package/dist/elements/BranchSelector/index.js.map +1 -0
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +6 -2
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +2 -2
- 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 +55 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/CodeEditor/index.css +0 -5
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/Popup.js +3 -3
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/Combobox/index.css +76 -23
- package/dist/elements/Combobox/index.d.ts +7 -0
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +58 -20
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/CommandPalette/index.css +0 -7
- package/dist/elements/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +10 -8
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +4 -1
- 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 +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +24 -2
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +4 -1
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Drawer/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/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +6 -1
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +6 -3
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.js +3 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
- package/dist/elements/FileManager/index.js +1 -0
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +4 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +4 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +2 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +2 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +3 -0
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +4 -1
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +3 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
- 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 +2 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +4 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- 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/InputStepper/index.css +0 -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/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +6 -2
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/Locked/index.css +0 -8
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +70 -64
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +0 -5
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/NavGroup/index.css +0 -1
- package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +4 -1
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +1 -1
- package/dist/elements/Popup/index.js +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -2
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -5
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +8 -9
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +6 -2
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +4 -1
- package/dist/elements/PublishMany/DrawerContent.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/ClearIndicator/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
- package/dist/elements/ReactSelect/index.css +0 -3
- package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +27 -77
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +41 -5
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.d.ts.map +1 -1
- package/dist/elements/RestoreButton/index.js +4 -1
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +3 -0
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +4 -3
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +10 -7
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.css +0 -17
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +42 -38
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +145 -69
- package/dist/elements/StepNav/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/Table/OrderableRow.d.ts +3 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +17 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +22 -3
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +29 -23
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/TableSection/index.css +0 -1
- package/dist/elements/Tooltip/index.css +15 -34
- package/dist/elements/Tooltip/index.d.ts +11 -3
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +151 -85
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +4 -1
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +4 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/Upload/index.css +0 -5
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +8 -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 +38 -10
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -0
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +32 -26
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +37 -73
- package/dist/fields/FieldError/index.css +0 -9
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +19 -9
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/Join/index.css +9 -0
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +13 -9
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.css +0 -7
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +37 -15
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Slug/index.css +0 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +80 -125
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +4 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +3 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +9 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +2 -2
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +44 -40
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- 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/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +8 -2
- package/dist/layouts/Root/index.js.map +1 -1
- 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/Branch/index.d.ts +62 -0
- package/dist/providers/Branch/index.d.ts.map +1 -0
- package/dist/providers/Branch/index.js +192 -0
- package/dist/providers/Branch/index.js.map +1 -0
- package/dist/providers/Branch/index.server.d.ts +14 -0
- package/dist/providers/Branch/index.server.d.ts.map +1 -0
- package/dist/providers/Branch/index.server.js +80 -0
- package/dist/providers/Branch/index.server.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +5 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +2 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +3 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/Embed/index.d.ts +24 -0
- package/dist/providers/Embed/index.d.ts.map +1 -0
- package/dist/providers/Embed/index.js +105 -0
- package/dist/providers/Embed/index.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +24 -0
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
- package/dist/providers/FormErrorHandler/index.js +6 -0
- package/dist/providers/FormErrorHandler/index.js.map +1 -0
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +4 -1
- package/dist/providers/Hierarchy/index.js.map +1 -1
- 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.d.ts +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +37 -31
- 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/providers/SidebarTabs/index.d.ts +3 -2
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
- package/dist/providers/SidebarTabs/index.js.map +1 -1
- package/dist/providers/Theme/index.d.ts +3 -0
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +107 -95
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/styles.css +12 -10
- 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 +45 -39
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.js +5 -1
- package/dist/utilities/combineFieldLabel.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 +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getRequestBranch.d.ts +18 -0
- package/dist/utilities/getRequestBranch.d.ts.map +1 -0
- package/dist/utilities/getRequestBranch.js +32 -0
- package/dist/utilities/getRequestBranch.js.map +1 -0
- package/dist/utilities/getRequestEmbed.d.ts +14 -0
- package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
- package/dist/utilities/getRequestEmbed.js +10 -0
- package/dist/utilities/getRequestEmbed.js.map +1 -0
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +8 -0
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/matchesSearchQuery.d.ts +12 -0
- package/dist/utilities/matchesSearchQuery.d.ts.map +1 -0
- package/dist/utilities/matchesSearchQuery.js +23 -0
- package/dist/utilities/matchesSearchQuery.js.map +1 -0
- package/dist/{elements/ColumnSelection/matchesColumnSearch.spec.js → utilities/matchesSearchQuery.spec.js} +29 -29
- package/dist/utilities/matchesSearchQuery.spec.js.map +1 -0
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +18 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +49 -6
- 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 +29 -144
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +6 -2
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/index.css +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/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +0 -14
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +6 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +4 -0
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +11 -0
- package/dist/views/Logout/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/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/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +6 -3
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/package.json +5 -10
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +0 -10
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.js +0 -21
- package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
- package/dist/elements/RelationshipTable/Pagination.css +0 -39
- package/dist/scss/app.scss +0 -183
- package/dist/scss/colors.scss +0 -191
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/styles.scss +0 -9
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toastify.scss +0 -61
- package/dist/scss/vars.scss +0 -192
- package/dist/scss/z-index.scss +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["applyLocaleFiltering","formatAdminURL","qs","React","RenderServerComponent","PageConfigProvider","DefaultTemplate","MinimalTemplate","getClientConfig","getPreferences","getVisibleEntities","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","renderRoot","adminViews","config","configPromise","importMap","initReq","key","notFound","params","paramsPromise","redirect","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","server","collectionPreferences","id","then","res","value","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","RenderedView","clientProps","collectionSlug","docID","globalSlug","Fallback","serverProps","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","KeyedView","_jsx","Fragment","_jsxs","className"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["'use server'\n\nimport type {\n AdminViewAdapter,\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n createLocalReq,\n ImportMap,\n InitReqResult,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { PageConfigProvider } from '../../exports/client/index.js'\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\ntype InitReqFn = (args: {\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n key: string\n overrides?: Parameters<typeof createLocalReq>[0]\n}) => Promise<InitReqResult>\n\nexport type RenderRootArgs = {\n adminViews: AdminViewAdapter\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n initReq: InitReqFn\n /**\n * Optional React `key` applied to the rendered view (not the surrounding admin\n * template/nav). Adapters whose router reconciles a single RSC payload in place\n * across navigations (e.g. TanStack Start) pass a per-route key here so the\n * *view* remounts on route change — resetting view-scoped client providers like\n * `DocumentInfoProvider` that hold uncontrolled `useState` from the prior\n * document — while the persistent nav/template reconciles in place (no flash).\n * Left `undefined` by Next.js, whose App Router already remounts the page\n * segment while its layout (nav) persists.\n */\n key?: string\n /** Framework notFound implementation (e.g. next/navigation notFound). Called before req is available. */\n notFound: () => never\n params: Promise<{ segments: string[] }>\n /** Framework redirect implementation (e.g. next/navigation redirect). Called before req is available. */\n redirect: (url: string) => never\n searchParams: Promise<{ [key: string]: string | string[] }>\n}\n\nexport const renderRoot = async ({\n adminViews,\n config: configPromise,\n importMap,\n initReq,\n key,\n notFound,\n params: paramsPromise,\n redirect,\n searchParams: searchParamsPromise,\n}: RenderRootArgs) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n // intentionally omit `serverURL` to keep URL relative\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n req.server.redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n\n const {\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n adminViews,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n req.server.notFound()\n }\n\n if (dbHasUser) {\n req.server.redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n req.server.redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n req.server.redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n req.server.redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n clientConfig,\n collectionSlug: collectionConfig?.slug,\n docID: routeParams.id,\n documentSubViewType,\n globalSlug: globalConfig?.slug,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n server: req.server,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n // Wrap the view in a keyed boundary so it remounts on route change while the\n // surrounding template/nav reconciles in place. `key={undefined}` (Next.js) is\n // a no-op, preserving prior behavior.\n const KeyedView = <React.Fragment key={key}>{RenderedView}</React.Fragment>\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{KeyedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{KeyedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {KeyedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["applyLocaleFiltering","formatAdminURL","qs","React","RenderServerComponent","PageConfigProvider","DefaultTemplate","MinimalTemplate","getClientConfig","getPreferences","getVisibleEntities","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","renderRoot","adminViews","config","configPromise","importMap","initReq","key","notFound","params","paramsPromise","redirect","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","server","collectionPreferences","id","then","res","value","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","RenderedView","clientProps","collectionSlug","docID","globalSlug","Fallback","serverProps","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","KeyedView","_jsx","Fragment","_jsxs","className"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["'use server'\n\nimport type {\n AdminViewAdapter,\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n createLocalReq,\n ImportMap,\n InitReqResult,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { PageConfigProvider } from '../../exports/client/index.js'\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\ntype InitReqFn = (args: {\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n key: string\n overrides?: Parameters<typeof createLocalReq>[0]\n}) => Promise<InitReqResult>\n\nexport type RenderRootArgs = {\n adminViews: AdminViewAdapter\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n initReq: InitReqFn\n /**\n * Optional React `key` applied to the rendered view (not the surrounding admin\n * template/nav). Adapters whose router reconciles a single RSC payload in place\n * across navigations (e.g. TanStack Start) pass a per-route key here so the\n * *view* remounts on route change — resetting view-scoped client providers like\n * `DocumentInfoProvider` that hold uncontrolled `useState` from the prior\n * document — while the persistent nav/template reconciles in place (no flash).\n * Left `undefined` by Next.js, whose App Router already remounts the page\n * segment while its layout (nav) persists.\n */\n key?: string\n /** Framework notFound implementation (e.g. next/navigation notFound). Called before req is available. */\n notFound: () => never\n params: Promise<{ segments: string[] }>\n /** Framework redirect implementation (e.g. next/navigation redirect). Called before req is available. */\n redirect: (url: string) => never\n searchParams: Promise<{ [key: string]: string | string[] }>\n}\n\nexport const renderRoot = async ({\n adminViews,\n config: configPromise,\n importMap,\n initReq,\n key,\n notFound,\n params: paramsPromise,\n redirect,\n searchParams: searchParamsPromise,\n}: RenderRootArgs) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n // intentionally omit `serverURL` to keep URL relative\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n req.server.redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n\n const {\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n adminViews,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n req.server.notFound()\n }\n\n if (dbHasUser) {\n req.server.redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n req.server.redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n req.server.redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n req.server.redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n clientConfig,\n collectionSlug: collectionConfig?.slug,\n docID: routeParams.id,\n documentSubViewType,\n globalSlug: globalConfig?.slug,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n server: req.server,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n // Wrap the view in a keyed boundary so it remounts on route change while the\n // surrounding template/nav reconciles in place. `key={undefined}` (Next.js) is\n // a no-op, preserving prior behavior.\n const KeyedView = <React.Fragment key={key}>{RenderedView}</React.Fragment>\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{KeyedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{KeyedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewKey={key}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {KeyedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAIpG,OAAO,KAA0C,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAIpG,OAAO,KAA0C,MAAM,OAAO,CAAA;AAa9D,OAAO,aAAa,CAAA;AAKpB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,KAAK,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACtD,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwHnC,CAAA"}
|
|
@@ -9,6 +9,7 @@ import { Button } from '../../../elements/Button/index.js';
|
|
|
9
9
|
import { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js';
|
|
10
10
|
import { useModal } from '../../../elements/Modal/index.js';
|
|
11
11
|
import * as PopupList from '../../../elements/Popup/PopupButtonList/index.js';
|
|
12
|
+
import { useBranchParam } from '../../../providers/Branch/index.js';
|
|
12
13
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
13
14
|
import { useRouter } from '../../../providers/RouterAdapter/index.js';
|
|
14
15
|
import { useRouteTransition } from '../../../providers/RouteTransition/index.js';
|
|
@@ -43,6 +44,7 @@ export const Restore = ({
|
|
|
43
44
|
i18n,
|
|
44
45
|
t
|
|
45
46
|
} = useTranslation();
|
|
47
|
+
const branch = useBranchParam();
|
|
46
48
|
const [draft, setDraft] = useState(false);
|
|
47
49
|
const {
|
|
48
50
|
startRouteTransition
|
|
@@ -53,20 +55,21 @@ export const Restore = ({
|
|
|
53
55
|
});
|
|
54
56
|
const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts;
|
|
55
57
|
const handleRestore = useCallback(async () => {
|
|
58
|
+
const branchParam = branch ? `&branch=${encodeURIComponent(branch)}` : '';
|
|
56
59
|
let fetchURL = formatAdminURL({
|
|
57
60
|
apiRoute,
|
|
58
61
|
path: ''
|
|
59
62
|
});
|
|
60
63
|
let redirectURL;
|
|
61
64
|
if (collectionConfig) {
|
|
62
|
-
fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}`;
|
|
65
|
+
fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`;
|
|
63
66
|
redirectURL = formatAdminURL({
|
|
64
67
|
adminRoute,
|
|
65
68
|
path: `/collections/${collectionConfig.slug}/${originalDocID}`
|
|
66
69
|
});
|
|
67
70
|
}
|
|
68
71
|
if (globalConfig) {
|
|
69
|
-
fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}`;
|
|
72
|
+
fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`;
|
|
70
73
|
redirectURL = formatAdminURL({
|
|
71
74
|
adminRoute,
|
|
72
75
|
path: `/globals/${globalConfig.slug}`
|
|
@@ -84,7 +87,7 @@ export const Restore = ({
|
|
|
84
87
|
} else {
|
|
85
88
|
toast.error(t('version:problemRestoringVersion'));
|
|
86
89
|
}
|
|
87
|
-
}, [apiRoute, collectionConfig, globalConfig, i18n.language, versionID, draft, adminRoute, originalDocID, startRouteTransition, router, t]);
|
|
90
|
+
}, [branch, apiRoute, collectionConfig, globalConfig, i18n.language, versionID, draft, adminRoute, originalDocID, startRouteTransition, router, t]);
|
|
88
91
|
return /*#__PURE__*/_jsxs(Fragment, {
|
|
89
92
|
children: [/*#__PURE__*/_jsx("div", {
|
|
90
93
|
className: [baseClass, className].filter(Boolean).join(' '),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","React","Fragment","useCallback","useState","toast","Button","ConfirmationModal","useModal","PopupList","useConfig","useRouter","useRouteTransition","useTranslation","requests","baseClass","modalSlug","Restore","className","collectionConfig","globalConfig","label","originalDocID","status","versionDateFormatted","versionID","config","routes","admin","adminRoute","api","apiRoute","toggleModal","router","i18n","t","draft","setDraft","startRouteTransition","restoreMessage","versionDate","canRestoreAsDraft","versions","drafts","handleRestore","fetchURL","path","redirectURL","slug","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport * as PopupList from '../../../elements/Popup/PopupButtonList/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport './index.css'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\ntype Props = {\n className?: string\n collectionConfig?: ClientCollectionConfig\n globalConfig?: ClientGlobalConfig\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDateFormatted: string\n versionID: string\n}\n\nexport const Restore: React.FC<Props> = ({\n className,\n collectionConfig,\n globalConfig,\n label,\n originalDocID,\n status,\n versionDateFormatted,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n } = useConfig()\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t(\n globalConfig ? 'version:aboutToRestoreGlobal' : 'version:aboutToRestore',\n {\n label: getTranslation(label, i18n),\n versionDate: versionDateFormatted,\n },\n )\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n const handleRestore = useCallback(async () => {\n let fetchURL = formatAdminURL({\n apiRoute,\n path: '',\n })\n let redirectURL: string\n\n if (collectionConfig) {\n fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig.slug}/${originalDocID}`,\n })\n }\n\n if (globalConfig) {\n fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n })\n }\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [\n apiRoute,\n collectionConfig,\n globalConfig,\n i18n.language,\n versionID,\n draft,\n adminRoute,\n originalDocID,\n startRouteTransition,\n router,\n t,\n ])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"primary\"\n className={[canRestoreAsDraft && `${baseClass}__restore-as-draft-button`]\n .filter(Boolean)\n .join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n SubMenuPopupContent={\n canRestoreAsDraft\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : null\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <ConfirmationModal\n body={restoreMessage}\n confirmingLabel={t('version:restoring')}\n heading={t('version:confirmVersionRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ;AACvD,SAASC,KAAK,QAAQ;AAEtB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,QAAQ;AACzB,YAAYC,SAAA,MAAe;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAClB,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,OAAA,GAA2BA,CAAC;EACvCC,SAAS;EACTC,gBAAgB;EAChBC,YAAY;EACZC,KAAK;EACLC,aAAa;EACbC,MAAM;EACNC,oBAAoB;EACpBC;AAAS,CACV;EACC,MAAM;IACJC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC,GAAA,EAAKC;MAAQ;IAAE;EAC7C,CACF,GAAGrB,SAAA;EAEJ,MAAM;IAAEsB;EAAW,CAAE,
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","React","Fragment","useCallback","useState","toast","Button","ConfirmationModal","useModal","PopupList","useBranchParam","useConfig","useRouter","useRouteTransition","useTranslation","requests","baseClass","modalSlug","Restore","className","collectionConfig","globalConfig","label","originalDocID","status","versionDateFormatted","versionID","config","routes","admin","adminRoute","api","apiRoute","toggleModal","router","i18n","t","branch","draft","setDraft","startRouteTransition","restoreMessage","versionDate","canRestoreAsDraft","versions","drafts","handleRestore","branchParam","encodeURIComponent","fetchURL","path","redirectURL","slug","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport * as PopupList from '../../../elements/Popup/PopupButtonList/index.js'\nimport { useBranchParam } from '../../../providers/Branch/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport './index.css'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\ntype Props = {\n className?: string\n collectionConfig?: ClientCollectionConfig\n globalConfig?: ClientGlobalConfig\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDateFormatted: string\n versionID: string\n}\n\nexport const Restore: React.FC<Props> = ({\n className,\n collectionConfig,\n globalConfig,\n label,\n originalDocID,\n status,\n versionDateFormatted,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n } = useConfig()\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const branch = useBranchParam()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t(\n globalConfig ? 'version:aboutToRestoreGlobal' : 'version:aboutToRestore',\n {\n label: getTranslation(label, i18n),\n versionDate: versionDateFormatted,\n },\n )\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n const handleRestore = useCallback(async () => {\n const branchParam = branch ? `&branch=${encodeURIComponent(branch)}` : ''\n\n let fetchURL = formatAdminURL({\n apiRoute,\n path: '',\n })\n let redirectURL: string\n\n if (collectionConfig) {\n fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig.slug}/${originalDocID}`,\n })\n }\n\n if (globalConfig) {\n fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n })\n }\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [\n branch,\n apiRoute,\n collectionConfig,\n globalConfig,\n i18n.language,\n versionID,\n draft,\n adminRoute,\n originalDocID,\n startRouteTransition,\n router,\n t,\n ])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"primary\"\n className={[canRestoreAsDraft && `${baseClass}__restore-as-draft-button`]\n .filter(Boolean)\n .join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n SubMenuPopupContent={\n canRestoreAsDraft\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : null\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <ConfirmationModal\n body={restoreMessage}\n confirmingLabel={t('version:restoring')}\n heading={t('version:confirmVersionRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "4.0.0-internal.
|
|
3
|
+
"version": "4.0.0-internal.f05c47f",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"sideEffects": [
|
|
20
|
-
"*.scss",
|
|
21
20
|
"*.css"
|
|
22
21
|
],
|
|
23
22
|
"type": "module",
|
|
@@ -41,16 +40,12 @@
|
|
|
41
40
|
"import": "./dist/styles.css",
|
|
42
41
|
"default": "./dist/styles.css"
|
|
43
42
|
},
|
|
44
|
-
"./
|
|
45
|
-
"import": "./dist/scss/styles.scss",
|
|
46
|
-
"default": "./dist/scss/styles.scss"
|
|
47
|
-
},
|
|
43
|
+
"./css/app.css": "./dist/css/app.css",
|
|
48
44
|
"./rsc": {
|
|
49
45
|
"import": "./dist/exports/rsc/index.js",
|
|
50
46
|
"types": "./dist/exports/rsc/index.d.ts",
|
|
51
47
|
"default": "./dist/exports/rsc/index.js"
|
|
52
48
|
},
|
|
53
|
-
"./scss/app.scss": "./dist/scss/app.scss",
|
|
54
49
|
"./styles.css": "./dist/styles.css",
|
|
55
50
|
"./assets": {
|
|
56
51
|
"import": "./dist/assets/index.js",
|
|
@@ -294,7 +289,7 @@
|
|
|
294
289
|
"ts-essentials": "10.0.3",
|
|
295
290
|
"use-context-selector": "2.0.0",
|
|
296
291
|
"uuid": "14.0.0",
|
|
297
|
-
"@payloadcms/translations": "4.0.0-internal.
|
|
292
|
+
"@payloadcms/translations": "4.0.0-internal.f05c47f"
|
|
298
293
|
},
|
|
299
294
|
"devDependencies": {
|
|
300
295
|
"@babel/cli": "7.27.2",
|
|
@@ -309,12 +304,12 @@
|
|
|
309
304
|
"esbuild": "0.27.1",
|
|
310
305
|
"esbuild-sass-plugin": "3.3.1",
|
|
311
306
|
"@payloadcms/eslint-config": "3.28.0",
|
|
312
|
-
"payload": "4.0.0-internal.
|
|
307
|
+
"payload": "4.0.0-internal.f05c47f"
|
|
313
308
|
},
|
|
314
309
|
"peerDependencies": {
|
|
315
310
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
316
311
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
317
|
-
"payload": "4.0.0-internal.
|
|
312
|
+
"payload": "4.0.0-internal.f05c47f"
|
|
318
313
|
},
|
|
319
314
|
"engines": {
|
|
320
315
|
"node": ">=24.15.0"
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matches a column label against a search query. Single-character queries only
|
|
3
|
-
* match the start of a word, keeping single-letter searches low-noise; queries
|
|
4
|
-
* of two or more characters match anywhere in the label.
|
|
5
|
-
*/
|
|
6
|
-
export declare function matchesColumnSearch({ labelText, query, }: {
|
|
7
|
-
labelText: string;
|
|
8
|
-
query: string;
|
|
9
|
-
}): boolean;
|
|
10
|
-
//# sourceMappingURL=matchesColumnSearch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matchesColumnSearch.d.ts","sourceRoot":"","sources":["../../../src/elements/ColumnSelection/matchesColumnSearch.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,KAAK,GACN,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAcV"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const WORD_SPLIT_REGEX = /[^\p{L}\p{N}]+/u;
|
|
2
|
-
/**
|
|
3
|
-
* Matches a column label against a search query. Single-character queries only
|
|
4
|
-
* match the start of a word, keeping single-letter searches low-noise; queries
|
|
5
|
-
* of two or more characters match anywhere in the label.
|
|
6
|
-
*/
|
|
7
|
-
export function matchesColumnSearch({
|
|
8
|
-
labelText,
|
|
9
|
-
query
|
|
10
|
-
}) {
|
|
11
|
-
const normalizedQuery = query.trim().toLowerCase();
|
|
12
|
-
if (!normalizedQuery) {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
const normalizedLabel = labelText.toLowerCase();
|
|
16
|
-
if (normalizedQuery.length === 1) {
|
|
17
|
-
return normalizedLabel.split(WORD_SPLIT_REGEX).some(word => word.startsWith(normalizedQuery));
|
|
18
|
-
}
|
|
19
|
-
return normalizedLabel.includes(normalizedQuery);
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=matchesColumnSearch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matchesColumnSearch.js","names":["WORD_SPLIT_REGEX","matchesColumnSearch","labelText","query","normalizedQuery","trim","toLowerCase","normalizedLabel","length","split","some","word","startsWith","includes"],"sources":["../../../src/elements/ColumnSelection/matchesColumnSearch.ts"],"sourcesContent":["const WORD_SPLIT_REGEX = /[^\\p{L}\\p{N}]+/u\n\n/**\n * Matches a column label against a search query. Single-character queries only\n * match the start of a word, keeping single-letter searches low-noise; queries\n * of two or more characters match anywhere in the label.\n */\nexport function matchesColumnSearch({\n labelText,\n query,\n}: {\n labelText: string\n query: string\n}): boolean {\n const normalizedQuery = query.trim().toLowerCase()\n\n if (!normalizedQuery) {\n return true\n }\n\n const normalizedLabel = labelText.toLowerCase()\n\n if (normalizedQuery.length === 1) {\n return normalizedLabel.split(WORD_SPLIT_REGEX).some((word) => word.startsWith(normalizedQuery))\n }\n\n return normalizedLabel.includes(normalizedQuery)\n}\n"],"mappings":"AAAA,MAAMA,gBAAA,GAAmB;AAEzB;;;;;AAKA,OAAO,SAASC,oBAAoB;EAClCC,SAAS;EACTC;AAAK,CAIN;EACC,MAAMC,eAAA,GAAkBD,KAAA,CAAME,IAAI,GAAGC,WAAW;EAEhD,IAAI,CAACF,eAAA,EAAiB;IACpB,OAAO;EACT;EAEA,MAAMG,eAAA,GAAkBL,SAAA,CAAUI,WAAW;EAE7C,IAAIF,eAAA,CAAgBI,MAAM,KAAK,GAAG;IAChC,OAAOD,eAAA,CAAgBE,KAAK,CAACT,gBAAA,EAAkBU,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,UAAU,CAACR,eAAA;EAChF;EAEA,OAAOG,eAAA,CAAgBM,QAAQ,CAACT,eAAA;AAClC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matchesColumnSearch.spec.js","names":["describe","expect","it","matchesColumnSearch","labelText","query","toBe"],"sources":["../../../src/elements/ColumnSelection/matchesColumnSearch.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { matchesColumnSearch } from './matchesColumnSearch.js'\n\ndescribe('matchesColumnSearch', () => {\n it('matches everything when the query is empty', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: '' })).toBe(true)\n })\n\n it('matches everything when the query is only whitespace', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: ' ' })).toBe(true)\n })\n\n describe('single-character queries', () => {\n it('matches the start of the label', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'p' })).toBe(true)\n })\n\n it('matches the start of a later word', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'd' })).toBe(true)\n })\n\n it('matches the start of a word after a nested-label separator', () => {\n expect(matchesColumnSearch({ labelText: 'Meta > Title', query: 't' })).toBe(true)\n })\n\n it('is case-insensitive', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'P' })).toBe(true)\n })\n\n it('does not match a character in the middle of a word', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'u' })).toBe(false)\n })\n\n it('returns false when no word starts with the character', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'z' })).toBe(false)\n })\n\n it('matches the start of a non-Latin label', () => {\n expect(matchesColumnSearch({ labelText: 'Пользователь', query: 'п' })).toBe(true)\n })\n })\n\n describe('multi-character queries', () => {\n it('matches a substring in the middle of the label', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'ish' })).toBe(true)\n })\n\n it('matches across a word boundary', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'd da' })).toBe(true)\n })\n\n it('is case-insensitive', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'DATE' })).toBe(true)\n })\n\n it('returns false when the substring is not present', () => {\n expect(matchesColumnSearch({ labelText: 'Published Date', query: 'zzz' })).toBe(false)\n })\n })\n})\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ;AAErC,SAASC,mBAAmB,QAAQ;AAEpCH,QAAA,CAAS,uBAAuB;EAC9BE,EAAA,CAAG,8CAA8C;IAC/CD,MAAA,CAAOE,mBAAA,CAAoB;MAAEC,SAAA,EAAW;MAAkBC,KAAA,EAAO;IAAG,IAAIC,IAAI,CAAC;EAC/E;EAEAJ,EAAA,CAAG,wDAAwD;IACzDD,MAAA,CAAOE,mBAAA,CAAoB;MAAEC,SAAA,EAAW;MAAkBC,KAAA,EAAO;IAAM,IAAIC,IAAI,CAAC;EAClF;EAEAN,QAAA,CAAS,4BAA4B;IACnCE,EAAA,CAAG,kCAAkC;MACnCD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAChF;IAEAJ,EAAA,CAAG,qCAAqC;MACtCD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAChF;IAEAJ,EAAA,CAAG,8DAA8D;MAC/DD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAgBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAC9E;IAEAJ,EAAA,CAAG,uBAAuB;MACxBD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAChF;IAEAJ,EAAA,CAAG,sDAAsD;MACvDD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAChF;IAEAJ,EAAA,CAAG,wDAAwD;MACzDD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAChF;IAEAJ,EAAA,CAAG,0CAA0C;MAC3CD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAgBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAC9E;EACF;EAEAN,QAAA,CAAS,2BAA2B;IAClCE,EAAA,CAAG,kDAAkD;MACnDD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAM,IAAIC,IAAI,CAAC;IAClF;IAEAJ,EAAA,CAAG,kCAAkC;MACnCD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAO,IAAIC,IAAI,CAAC;IACnF;IAEAJ,EAAA,CAAG,uBAAuB;MACxBD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAO,IAAIC,IAAI,CAAC;IACnF;IAEAJ,EAAA,CAAG,mDAAmD;MACpDD,MAAA,CAAOE,mBAAA,CAAoB;QAAEC,SAAA,EAAW;QAAkBC,KAAA,EAAO;MAAM,IAAIC,IAAI,CAAC;IAClF;EACF;AACF","ignoreList":[]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
@layer payload-default {
|
|
2
|
-
.relationship-table-pagination {
|
|
3
|
-
display: flex;
|
|
4
|
-
justify-content: space-between;
|
|
5
|
-
align-items: center;
|
|
6
|
-
font-family: var(--text-body-medium-font-family);
|
|
7
|
-
font-size: var(--text-body-medium-font-size);
|
|
8
|
-
font-weight: var(--text-body-medium-font-weight);
|
|
9
|
-
line-height: var(--text-body-medium-line-height);
|
|
10
|
-
color: var(--color-text-secondary);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.relationship-table-pagination__nav {
|
|
14
|
-
display: flex;
|
|
15
|
-
gap: var(--spacer-3);
|
|
16
|
-
align-items: center;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.relationship-table-pagination__button {
|
|
20
|
-
background: none;
|
|
21
|
-
border: none;
|
|
22
|
-
padding: 0;
|
|
23
|
-
font: inherit;
|
|
24
|
-
color: var(--color-text-secondary);
|
|
25
|
-
cursor: pointer;
|
|
26
|
-
|
|
27
|
-
&:hover:not(:disabled) {
|
|
28
|
-
color: var(--color-text);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&:disabled {
|
|
32
|
-
cursor: not-allowed;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.relationship-table-pagination__count {
|
|
37
|
-
white-space: nowrap;
|
|
38
|
-
}
|
|
39
|
-
}
|
package/dist/scss/app.scss
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
@layer payload-default, payload;
|
|
2
|
-
|
|
3
|
-
@import 'styles';
|
|
4
|
-
@import './colors.scss';
|
|
5
|
-
@import '../styles.css';
|
|
6
|
-
|
|
7
|
-
@layer payload-default {
|
|
8
|
-
:root {
|
|
9
|
-
--base-px: 20;
|
|
10
|
-
--base-body-size: 16;
|
|
11
|
-
--base: calc((var(--base-px) / var(--base-body-size)) * 1rem);
|
|
12
|
-
|
|
13
|
-
--breakpoint-xs-width: #{$breakpoint-xs-width};
|
|
14
|
-
--breakpoint-s-width: #{$breakpoint-s-width};
|
|
15
|
-
--breakpoint-m-width: #{$breakpoint-m-width};
|
|
16
|
-
--breakpoint-l-width: #{$breakpoint-l-width};
|
|
17
|
-
--scrollbar-width: 17px;
|
|
18
|
-
|
|
19
|
-
--theme-bg: var(--color-bg);
|
|
20
|
-
--theme-input-bg: var(--theme-elevation-0);
|
|
21
|
-
--theme-text: var(--theme-elevation-800);
|
|
22
|
-
--theme-overlay: rgba(5, 5, 5, 0.5);
|
|
23
|
-
--theme-baseline: #{$baseline-px};
|
|
24
|
-
--theme-baseline-body-size: #{$baseline-body-size};
|
|
25
|
-
--font-body: var(--font-family-sans), sans-serif;
|
|
26
|
-
--font-serif: 'Georgia', 'Bitstream Charter', 'Charis SIL', Utopia, 'URW Bookman L', serif;
|
|
27
|
-
--font-mono: var(--font-family-mono), 'SF Mono', Menlo, Consolas, Monaco, monospace;
|
|
28
|
-
|
|
29
|
-
--style-radius-s: #{$style-radius-s};
|
|
30
|
-
--style-radius-m: #{$style-radius-m};
|
|
31
|
-
--style-radius-l: #{$style-radius-l};
|
|
32
|
-
|
|
33
|
-
// --z-popup needs to be higher than --z-modal to ensure the popup is displayed when modal is open
|
|
34
|
-
--z-popup: 60;
|
|
35
|
-
--z-nav: 20;
|
|
36
|
-
--z-modal: 30;
|
|
37
|
-
--z-status: 40;
|
|
38
|
-
|
|
39
|
-
--gutter-h: var(--spacer-5);
|
|
40
|
-
--spacing-view-bottom: var(--gutter-h);
|
|
41
|
-
--app-header-height: 0px;
|
|
42
|
-
--doc-controls-height: 0px;
|
|
43
|
-
--doc-header-height: 0px;
|
|
44
|
-
--nav-width: 275px;
|
|
45
|
-
|
|
46
|
-
@include large-break {
|
|
47
|
-
--gutter-h: var(--spacer-4);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
@include mid-break {
|
|
51
|
-
--gutter-h: var(--spacer-3);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@include small-break {
|
|
55
|
-
--spacing-view-bottom: calc(var(--base) * 2);
|
|
56
|
-
--nav-width: 100vw;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/////////////////////////////
|
|
61
|
-
// GLOBAL STYLES
|
|
62
|
-
/////////////////////////////
|
|
63
|
-
|
|
64
|
-
* {
|
|
65
|
-
box-sizing: border-box;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
html {
|
|
69
|
-
background: var(--color-bg);
|
|
70
|
-
-webkit-font-smoothing: antialiased;
|
|
71
|
-
|
|
72
|
-
&[data-theme='dark'] {
|
|
73
|
-
--theme-bg: var(--color-bg);
|
|
74
|
-
--theme-text: var(--theme-elevation-1000);
|
|
75
|
-
--theme-input-bg: var(--theme-elevation-50);
|
|
76
|
-
--theme-overlay: rgba(5, 5, 5, 0.75);
|
|
77
|
-
color-scheme: dark;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
html,
|
|
82
|
-
body,
|
|
83
|
-
#app {
|
|
84
|
-
height: 100%;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
body {
|
|
88
|
-
font-family: var(--font-body);
|
|
89
|
-
font-size: var(--text-body-medium-font-size);
|
|
90
|
-
font-weight: var(--text-body-medium-font-weight);
|
|
91
|
-
line-height: var(--text-body-medium-line-height);
|
|
92
|
-
letter-spacing: var(--text-letter-spacing);
|
|
93
|
-
color: var(--theme-text);
|
|
94
|
-
margin: 0;
|
|
95
|
-
// this is for the nav to be able to push the document over
|
|
96
|
-
overflow-x: hidden;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Lock background scroll while a drawer is open. Backs up faceless-ui's JS
|
|
100
|
-
// body-scroll-lock, which a sibling modal can clear prematurely.
|
|
101
|
-
body:has(.drawer--is-open) {
|
|
102
|
-
overflow: hidden;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
img {
|
|
106
|
-
max-width: 100%;
|
|
107
|
-
height: auto;
|
|
108
|
-
display: block;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
h1 {
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
h2 {
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
h3 {
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
h4 {
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
h5 {
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
h6 {
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
p {
|
|
130
|
-
margin: 0;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
ul,
|
|
134
|
-
ol {
|
|
135
|
-
padding-left: $baseline;
|
|
136
|
-
margin: 0;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
:focus-visible {
|
|
140
|
-
outline: var(--accessibility-outline);
|
|
141
|
-
outline-offset: var(--accessibility-outline-offset);
|
|
142
|
-
border-radius: var(--radius-medium);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
a {
|
|
146
|
-
color: currentColor;
|
|
147
|
-
|
|
148
|
-
&:focus {
|
|
149
|
-
&:not(:focus-visible) {
|
|
150
|
-
opacity: 0.8;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
&:active {
|
|
155
|
-
opacity: 0.7;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
svg {
|
|
160
|
-
vertical-align: middle;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
dialog {
|
|
164
|
-
width: 100%;
|
|
165
|
-
border: 0;
|
|
166
|
-
padding: 0;
|
|
167
|
-
color: currentColor;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
.payload__modal-item {
|
|
171
|
-
min-height: 100%;
|
|
172
|
-
background: transparent;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.payload__modal-container--enterDone {
|
|
176
|
-
overflow: auto;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
.payload__modal-item--enter,
|
|
180
|
-
.payload__modal-item--enterDone {
|
|
181
|
-
z-index: var(--z-modal);
|
|
182
|
-
}
|
|
183
|
-
}
|