@payloadcms/ui 4.0.0-internal.532221d → 4.0.0-internal.567a487
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/AppHeader/index.css +5 -0
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +3 -0
- 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/NewBranchModal/index.css +46 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.d.ts +12 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.d.ts.map +1 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.js +174 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.js.map +1 -0
- package/dist/elements/BranchSelector/index.css +172 -0
- package/dist/elements/BranchSelector/index.d.ts +13 -0
- package/dist/elements/BranchSelector/index.d.ts.map +1 -0
- package/dist/elements/BranchSelector/index.js +255 -0
- package/dist/elements/BranchSelector/index.js.map +1 -0
- 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/ChangeSummary/index.css +18 -0
- package/dist/elements/ChangeSummary/index.d.ts +28 -0
- package/dist/elements/ChangeSummary/index.d.ts.map +1 -0
- package/dist/elements/ChangeSummary/index.js +147 -0
- package/dist/elements/ChangeSummary/index.js.map +1 -0
- 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/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 +84 -23
- package/dist/elements/Combobox/index.d.ts +21 -0
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +66 -21
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +9 -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/DocumentHeader/Tabs/Tab/index.css +5 -3
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.css +12 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts +12 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js +83 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts +14 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js +28 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +32 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/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 +4 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -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/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/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/MergeBranch/context.d.ts +67 -0
- package/dist/elements/MergeBranch/context.d.ts.map +1 -0
- package/dist/elements/MergeBranch/context.js +47 -0
- package/dist/elements/MergeBranch/context.js.map +1 -0
- package/dist/elements/MergeBranch/index.css +136 -0
- package/dist/elements/MergeBranch/index.d.ts +15 -0
- package/dist/elements/MergeBranch/index.d.ts.map +1 -0
- package/dist/elements/MergeBranch/index.js +545 -0
- package/dist/elements/MergeBranch/index.js.map +1 -0
- package/dist/elements/MergeBranch/provider.d.ts +12 -0
- package/dist/elements/MergeBranch/provider.d.ts.map +1 -0
- package/dist/elements/MergeBranch/provider.js +19 -0
- package/dist/elements/MergeBranch/provider.js.map +1 -0
- package/dist/elements/MergeBranch/slug.d.ts +9 -0
- package/dist/elements/MergeBranch/slug.d.ts.map +1 -0
- package/dist/elements/MergeBranch/slug.js +8 -0
- package/dist/elements/MergeBranch/slug.js.map +1 -0
- package/dist/elements/Nav/context.js +2 -2
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
- package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
- package/dist/elements/Nav/getNavPrefs.js +14 -46
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/NavGroup/index.js +1 -1
- package/dist/elements/NavGroup/index.js.map +1 -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/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/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/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/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +15 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +7 -1
- package/dist/elements/SchedulePublishButton/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/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +16 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +71 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +135 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.css +34 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts +13 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts.map +1 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js +51 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js.map +1 -0
- 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/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +3 -1
- 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/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/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 +19 -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/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +5 -1
- package/dist/fields/Relationship/Input.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/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/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/Branch/index.css +5 -0
- package/dist/icons/Branch/index.d.ts +7 -0
- package/dist/icons/Branch/index.d.ts.map +1 -0
- package/dist/icons/Branch/index.js +25 -0
- package/dist/icons/Branch/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/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 +68 -0
- package/dist/providers/Branch/index.d.ts.map +1 -0
- package/dist/providers/Branch/index.js +193 -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 +125 -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/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 +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/Preferences/index.d.ts +3 -1
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +9 -3
- package/dist/providers/Preferences/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/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +44 -36
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/getAdminPreferences.d.ts +14 -0
- package/dist/utilities/getAdminPreferences.d.ts.map +1 -0
- package/dist/utilities/getAdminPreferences.js +22 -0
- package/dist/utilities/getAdminPreferences.js.map +1 -0
- package/dist/utilities/getRequestBranch.d.ts +20 -0
- package/dist/utilities/getRequestBranch.d.ts.map +1 -0
- package/dist/utilities/getRequestBranch.js +35 -0
- package/dist/utilities/getRequestBranch.js.map +1 -0
- package/dist/utilities/getVersions.d.ts +6 -1
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/getVersions.js +5 -0
- package/dist/utilities/getVersions.js.map +1 -1
- 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/scheduleMergeHandler.d.ts +33 -0
- package/dist/utilities/scheduleMergeHandler.d.ts.map +1 -0
- package/dist/utilities/scheduleMergeHandler.js +119 -0
- package/dist/utilities/scheduleMergeHandler.js.map +1 -0
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +10 -0
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +6 -0
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +10 -2
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Branch/BranchChanges/index.d.ts +23 -0
- package/dist/views/Branch/BranchChanges/index.d.ts.map +1 -0
- package/dist/views/Branch/BranchChanges/index.js +150 -0
- package/dist/views/Branch/BranchChanges/index.js.map +1 -0
- package/dist/views/Branch/ChangedDocuments/index.css +118 -0
- package/dist/views/Branch/ChangedDocuments/index.d.ts +34 -0
- package/dist/views/Branch/ChangedDocuments/index.d.ts.map +1 -0
- package/dist/views/Branch/ChangedDocuments/index.js +233 -0
- package/dist/views/Branch/ChangedDocuments/index.js.map +1 -0
- package/dist/views/Branch/DiscardChangesButton/index.d.ts +16 -0
- package/dist/views/Branch/DiscardChangesButton/index.d.ts.map +1 -0
- package/dist/views/Branch/DiscardChangesButton/index.js +106 -0
- package/dist/views/Branch/DiscardChangesButton/index.js.map +1 -0
- package/dist/views/Branch/Manage/index.d.ts +11 -0
- package/dist/views/Branch/Manage/index.d.ts.map +1 -0
- package/dist/views/Branch/Manage/index.js +71 -0
- package/dist/views/Branch/Manage/index.js.map +1 -0
- package/dist/views/Branch/MergeChangesButton/index.d.ts +14 -0
- package/dist/views/Branch/MergeChangesButton/index.d.ts.map +1 -0
- package/dist/views/Branch/MergeChangesButton/index.js +55 -0
- package/dist/views/Branch/MergeChangesButton/index.js.map +1 -0
- package/dist/views/Branch/MergeLedger/index.css +137 -0
- package/dist/views/Branch/MergeLedger/index.d.ts +31 -0
- package/dist/views/Branch/MergeLedger/index.d.ts.map +1 -0
- package/dist/views/Branch/MergeLedger/index.js +211 -0
- package/dist/views/Branch/MergeLedger/index.js.map +1 -0
- package/dist/views/Branch/ScheduledMerges/index.css +83 -0
- package/dist/views/Branch/ScheduledMerges/index.d.ts +32 -0
- package/dist/views/Branch/ScheduledMerges/index.d.ts.map +1 -0
- package/dist/views/Branch/ScheduledMerges/index.js +183 -0
- package/dist/views/Branch/ScheduledMerges/index.js.map +1 -0
- package/dist/views/Branch/index.css +77 -0
- package/dist/views/Branch/index.d.ts +17 -0
- package/dist/views/Branch/index.d.ts.map +1 -0
- package/dist/views/Branch/index.js +188 -0
- package/dist/views/Branch/index.js.map +1 -0
- package/dist/views/Branch/renderBranchDiff.d.ts +29 -0
- package/dist/views/Branch/renderBranchDiff.d.ts.map +1 -0
- package/dist/views/Branch/renderBranchDiff.js +151 -0
- package/dist/views/Branch/renderBranchDiff.js.map +1 -0
- package/dist/views/Branch/renderMergeDiff.d.ts +24 -0
- package/dist/views/Branch/renderMergeDiff.d.ts.map +1 -0
- package/dist/views/Branch/renderMergeDiff.js +94 -0
- package/dist/views/Branch/renderMergeDiff.js.map +1 -0
- package/dist/views/Branches/index.d.ts +16 -0
- package/dist/views/Branches/index.d.ts.map +1 -0
- package/dist/views/Branches/index.js +54 -0
- package/dist/views/Branches/index.js.map +1 -0
- 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/Document/getDocumentView.d.ts.map +1 -1
- package/dist/views/Document/getDocumentView.js +21 -2
- package/dist/views/Document/getDocumentView.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +9 -0
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/index.d.ts +3 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +8 -1
- package/dist/views/Document/index.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/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 +5 -0
- 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 +12 -4
- 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/Default/index.css +26 -2
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +18 -6
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +9 -0
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +8 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.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/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +4 -0
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +2 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +21 -1
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/Branch/index.d.ts +12 -0
- package/dist/views/Versions/cells/Branch/index.d.ts.map +1 -0
- package/dist/views/Versions/cells/Branch/index.js +27 -0
- package/dist/views/Versions/cells/Branch/index.js.map +1 -0
- package/dist/views/Versions/index.client.d.ts +0 -1
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +2 -14
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +5 -5
- 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
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
flex-shrink: 0;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
.app-header__branch-selector {
|
|
13
|
+
align-self: center;
|
|
14
|
+
}
|
|
15
|
+
|
|
12
16
|
.app-header__content {
|
|
13
17
|
display: flex;
|
|
14
18
|
align-items: center;
|
|
@@ -60,6 +64,7 @@
|
|
|
60
64
|
flex-grow: 0;
|
|
61
65
|
gap: var(--spacer-1);
|
|
62
66
|
width: 100%;
|
|
67
|
+
min-width: 0;
|
|
63
68
|
}
|
|
64
69
|
|
|
65
70
|
.app-header__controls-wrapper {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAiB9E,OAAO,aAAa,CAAA;AAIpB,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC7C,CAAA;AACD,wBAAgB,SAAS,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,KAAK,qBAiHxF"}
|
|
@@ -11,6 +11,7 @@ import { useConfig } from '../../providers/Config/index.js';
|
|
|
11
11
|
import { useEmbed } from '../../providers/Embed/index.js';
|
|
12
12
|
import { useLocale } from '../../providers/Locale/index.js';
|
|
13
13
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
14
|
+
import { BranchSelector } from '../BranchSelector/index.js';
|
|
14
15
|
import { Button } from '../Button/index.js';
|
|
15
16
|
import { Localizer } from '../Localizer/index.js';
|
|
16
17
|
import { useNav } from '../Nav/context.js';
|
|
@@ -82,6 +83,8 @@ export function AppHeader({
|
|
|
82
83
|
icon: /*#__PURE__*/_jsx(SidebarIcon, {}),
|
|
83
84
|
onClick: () => setNavOpen(!navOpen),
|
|
84
85
|
type: "button"
|
|
86
|
+
}), /*#__PURE__*/_jsx(BranchSelector, {
|
|
87
|
+
className: `${baseClass}__branch-selector`
|
|
85
88
|
}), /*#__PURE__*/_jsx("div", {
|
|
86
89
|
className: `${baseClass}__step-nav-wrapper`,
|
|
87
90
|
children: /*#__PURE__*/_jsx(StepNav, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","useElementHeightVariable","ChevronIcon","LanguageIcon","SidebarIcon","useActions","useConfig","useEmbed","useLocale","useTranslation","Button","Localizer","useNav","StepNav","UserMenu","baseClass","AppHeader","CustomAvatar","CustomLogoutButton","settingsItemGroups","t","locale","isEmbedded","Actions","navOpen","setNavOpen","config","localization","headerRef","customControlsRef","isScrollable","setIsScrollable","cssVar","ref","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","ActionComponents","Object","values","_jsx","className","filter","Boolean","join","_jsxs","buttonStyle","icon","onClick","type","map","Action","i","length","renderButton","active","onKeyDown","ariaProps","extraButtonProps","style","padding","size","iconPosition","selected","code","direction"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js'\n\nimport { useElementHeightVariable } from '../../hooks/useElementHeightVariable.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { LanguageIcon } from '../../icons/Language/index.js'\nimport { SidebarIcon } from '../../icons/Sidebar/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEmbed } from '../../providers/Embed/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { StepNav } from '../StepNav/index.js'\nimport { UserMenu } from '../UserMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'app-header'\n\ntype Props = {\n CustomAvatar?: React.ReactNode\n CustomLogoutButton?: React.ReactNode\n settingsItemGroups?: UserMenuSettingsGroup[]\n}\nexport function AppHeader({ CustomAvatar, CustomLogoutButton, settingsItemGroups }: Props) {\n const { t } = useTranslation()\n const locale = useLocale()\n const { isEmbedded } = useEmbed()\n\n const { Actions } = useActions()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n config: { localization },\n } = useConfig()\n\n const headerRef = useRef<HTMLElement>(null)\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useElementHeightVariable({ cssVar: '--app-header-height', ref: headerRef })\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [Actions])\n\n const ActionComponents = Actions ? Object.values(Actions) : []\n\n return (\n <header\n className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}\n ref={headerRef}\n >\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <Button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n buttonStyle=\"ghost\"\n className={`${baseClass}__sidebar-toggle`}\n icon={<SidebarIcon />}\n onClick={() => setNavOpen(!navOpen)}\n type=\"button\"\n />\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} />\n </div>\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {ActionComponents.map((Action, i) => (\n <div\n className={\n isScrollable && i === ActionComponents.length - 1\n ? `${baseClass}__last-action`\n : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <Localizer\n className={`${baseClass}__localizer`}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:locale')}\n buttonStyle=\"secondary\"\n extraButtonProps={{ onKeyDown, style: { padding: '0 var(--spacer-1) 0 0' } }}\n icon={<LanguageIcon size={24} />}\n iconPosition=\"left\"\n onClick={onClick}\n selected={active}\n {...ariaProps}\n >\n <div className=\"localizer__button-content\">\n {locale.code}\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </div>\n </Button>\n )}\n />\n )}\n </div>\n {!isEmbedded && (\n <UserMenu\n CustomAvatar={CustomAvatar}\n CustomLogoutButton={CustomLogoutButton}\n settingsItemGroups={settingsItemGroups}\n />\n )}\n </div>\n </div>\n </header>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAInD,SAASC,wBAAwB,QAAQ;AACzC,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,MAAM,QAAQ;AACvB,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,SAASC,UAAU;EAAEC,YAAY;EAAEC,kBAAkB;EAAEC;AAAkB,CAAS;EACvF,MAAM;IAAEC;EAAC,CAAE,
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","useElementHeightVariable","ChevronIcon","LanguageIcon","SidebarIcon","useActions","useConfig","useEmbed","useLocale","useTranslation","BranchSelector","Button","Localizer","useNav","StepNav","UserMenu","baseClass","AppHeader","CustomAvatar","CustomLogoutButton","settingsItemGroups","t","locale","isEmbedded","Actions","navOpen","setNavOpen","config","localization","headerRef","customControlsRef","isScrollable","setIsScrollable","cssVar","ref","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","ActionComponents","Object","values","_jsx","className","filter","Boolean","join","_jsxs","buttonStyle","icon","onClick","type","map","Action","i","length","renderButton","active","onKeyDown","ariaProps","extraButtonProps","style","padding","size","iconPosition","selected","code","direction"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js'\n\nimport { useElementHeightVariable } from '../../hooks/useElementHeightVariable.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { LanguageIcon } from '../../icons/Language/index.js'\nimport { SidebarIcon } from '../../icons/Sidebar/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEmbed } from '../../providers/Embed/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { BranchSelector } from '../BranchSelector/index.js'\nimport { Button } from '../Button/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { StepNav } from '../StepNav/index.js'\nimport { UserMenu } from '../UserMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'app-header'\n\ntype Props = {\n CustomAvatar?: React.ReactNode\n CustomLogoutButton?: React.ReactNode\n settingsItemGroups?: UserMenuSettingsGroup[]\n}\nexport function AppHeader({ CustomAvatar, CustomLogoutButton, settingsItemGroups }: Props) {\n const { t } = useTranslation()\n const locale = useLocale()\n const { isEmbedded } = useEmbed()\n\n const { Actions } = useActions()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n config: { localization },\n } = useConfig()\n\n const headerRef = useRef<HTMLElement>(null)\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useElementHeightVariable({ cssVar: '--app-header-height', ref: headerRef })\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [Actions])\n\n const ActionComponents = Actions ? Object.values(Actions) : []\n\n return (\n <header\n className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}\n ref={headerRef}\n >\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <Button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n buttonStyle=\"ghost\"\n className={`${baseClass}__sidebar-toggle`}\n icon={<SidebarIcon />}\n onClick={() => setNavOpen(!navOpen)}\n type=\"button\"\n />\n {/* Ahead of the trail rather than inside it: the trail collapses under\n width pressure, and the active branch must never collapse away. */}\n <BranchSelector className={`${baseClass}__branch-selector`} />\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} />\n </div>\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {ActionComponents.map((Action, i) => (\n <div\n className={\n isScrollable && i === ActionComponents.length - 1\n ? `${baseClass}__last-action`\n : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <Localizer\n className={`${baseClass}__localizer`}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:locale')}\n buttonStyle=\"secondary\"\n extraButtonProps={{ onKeyDown, style: { padding: '0 var(--spacer-1) 0 0' } }}\n icon={<LanguageIcon size={24} />}\n iconPosition=\"left\"\n onClick={onClick}\n selected={active}\n {...ariaProps}\n >\n <div className=\"localizer__button-content\">\n {locale.code}\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </div>\n </Button>\n )}\n />\n )}\n </div>\n {!isEmbedded && (\n <UserMenu\n CustomAvatar={CustomAvatar}\n CustomLogoutButton={CustomLogoutButton}\n settingsItemGroups={settingsItemGroups}\n />\n )}\n </div>\n </div>\n </header>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAInD,SAASC,wBAAwB,QAAQ;AACzC,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,MAAM,QAAQ;AACvB,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,SAASC,UAAU;EAAEC,YAAY;EAAEC,kBAAkB;EAAEC;AAAkB,CAAS;EACvF,MAAM;IAAEC;EAAC,CAAE,GAAGZ,cAAA;EACd,MAAMa,MAAA,GAASd,SAAA;EACf,MAAM;IAAEe;EAAU,CAAE,GAAGhB,QAAA;EAEvB,MAAM;IAAEiB;EAAO,CAAE,GAAGnB,UAAA;EAEpB,MAAM;IAAEoB,OAAO;IAAEC;EAAU,CAAE,GAAGb,MAAA;EAEhC,MAAM;IACJc,MAAA,EAAQ;MAAEC;IAAY;EAAE,CACzB,GAAGtB,SAAA;EAEJ,MAAMuB,SAAA,GAAY9B,MAAA,CAAoB;EACtC,MAAM+B,iBAAA,GAAoB/B,MAAA,CAAuB;EACjD,MAAM,CAACgC,YAAA,EAAcC,eAAA,CAAgB,GAAGhC,QAAA,CAAS;EAEjDC,wBAAA,CAAyB;IAAEgC,MAAA,EAAQ;IAAuBC,GAAA,EAAKL;EAAU;EAEzE/B,SAAA,CAAU;IACR,MAAMqC,iBAAA,GAAoBA,CAAA;MACxB,MAAMC,EAAA,GAAKN,iBAAA,CAAkBO,OAAO;MACpC,IAAID,EAAA,EAAI;QACN,MAAME,UAAA,GAAaF,EAAA,CAAGG,WAAW,GAAGH,EAAA,CAAGI,WAAW;QAClDR,eAAA,CAAgBM,UAAA;MAClB;IACF;IAEAH,iBAAA;IACAM,MAAA,CAAOC,gBAAgB,CAAC,UAAUP,iBAAA;IAElC,OAAO;MACLM,MAAA,CAAOE,mBAAmB,CAAC,UAAUR,iBAAA;IACvC;EACF,GAAG,CAACX,OAAA,CAAQ;EAEZ,MAAMoB,gBAAA,GAAmBpB,OAAA,GAAUqB,MAAA,CAAOC,MAAM,CAACtB,OAAA,IAAW,EAAE;EAE9D,oBACEuB,IAAA,CAAC;IACCC,SAAA,EAAW,CAAChC,SAAA,EAAWS,OAAA,IAAW,GAAGT,SAAA,YAAqB,CAAC,CAACiC,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACjFjB,GAAA,EAAKL,SAAA;cAEL,aAAAkB,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAGhC,SAAA,WAAoB;gBACrC,aAAAoC,KAAA,CAAC;QAAIJ,SAAA,EAAW,GAAGhC,SAAA,WAAoB;gCACrCoC,KAAA,CAAC;UAAIJ,SAAA,EAAW,GAAGhC,SAAA,oBAA6B;kCAC9CoC,KAAA,CAAC;YAAIJ,SAAA,EAAW,GAAGhC,SAAA,oBAA6B;oCAC9C+B,IAAA,CAACpC,MAAA;cACC,cAAY,GAAGc,OAAA,GAAUJ,CAAA,CAAE,mBAAmBA,CAAA,CAAE,mBAAmBA,CAAA,CAAE,iBAAiB;cACtFgC,WAAA,EAAY;cACZL,SAAA,EAAW,GAAGhC,SAAA,kBAA2B;cACzCsC,IAAA,eAAMP,IAAA,CAAC3C,WAAA;cACPmD,OAAA,EAASA,CAAA,KAAM7B,UAAA,CAAW,CAACD,OAAA;cAC3B+B,IAAA,EAAK;6BAIPT,IAAA,CAACrC,cAAA;cAAesC,SAAA,EAAW,GAAGhC,SAAA;6BAC9B+B,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGhC,SAAA,oBAA6B;wBAC9C,aAAA+B,IAAA,CAACjC,OAAA;gBAAQkC,SAAA,EAAW,GAAGhC,SAAA;;;2BAG3BoC,KAAA,CAAC;YAAIJ,SAAA,EAAW,GAAGhC,SAAA,mBAA4B;oCAC7C+B,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGhC,SAAA,WAAoB;cAAEkB,GAAA,EAAKJ,iBAAA;wBAC3Cc,gBAAA,CAAiBa,GAAG,CAAC,CAACC,MAAA,EAAQC,CAAA,kBAC7BZ,IAAA,CAAC;gBACCC,SAAA,EACEjB,YAAA,IAAgB4B,CAAA,KAAMf,gBAAA,CAAiBgB,MAAM,GAAG,IAC5C,GAAG5C,SAAA,eAAwB,GAC3B;0BAIL0C;iBAFIC,CAAA;gBAMV5B,YAAA,iBAAgBgB,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGhC,SAAA;;cAErCY,YAAA,iBACCmB,IAAA,CAACnC,SAAA;YACCoC,SAAA,EAAW,GAAGhC,SAAA,aAAsB;YACpC6C,YAAA,EAAcA,CAAC;cAAEC,MAAM;cAAEP,OAAO;cAAEQ,SAAS;cAAE,GAAGC;YAAA,CAAW,kBACzDjB,IAAA,CAACpC,MAAA;cACC,cAAYU,CAAA,CAAE;cACdgC,WAAA,EAAY;cACZY,gBAAA,EAAkB;gBAAEF,SAAA;gBAAWG,KAAA,EAAO;kBAAEC,OAAA,EAAS;gBAAwB;cAAE;cAC3Eb,IAAA,eAAMP,IAAA,CAAC5C,YAAA;gBAAaiE,IAAA,EAAM;;cAC1BC,YAAA,EAAa;cACbd,OAAA,EAASA,OAAA;cACTe,QAAA,EAAUR,MAAA;cACT,GAAGE,SAAS;wBAEb,aAAAZ,KAAA,CAAC;gBAAIJ,SAAA,EAAU;2BACZ1B,MAAA,CAAOiD,IAAI,E,aACZxB,IAAA,CAAC7C,WAAA;kBAAYsE,SAAA,EAAWV,MAAA,GAAS,OAAO;kBAAQM,IAAA,EAAM;;;;;YAOjE,CAAC7C,UAAA,iBACAwB,IAAA,CAAChC,QAAA;UACCG,YAAA,EAAcA,YAAA;UACdC,kBAAA,EAAoBA,kBAAA;UACpBC,kBAAA,EAAoBA;;;;;AAOlC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ArrayAction/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAYhF,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,6BAA6B,CAAA;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ArrayAction/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAYhF,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,6BAA6B,CAAA;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmIvC,CAAA"}
|
|
@@ -4,11 +4,11 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { ArrowIcon } from '../../icons/Arrow/index.js';
|
|
7
|
-
import { ClipboardIcon } from '../../icons/Clipboard/index.js';
|
|
8
7
|
import { CopyIcon } from '../../icons/Copy/index.js';
|
|
9
8
|
import { DuplicateIcon } from '../../icons/Duplicate/index.js';
|
|
10
9
|
import { MoreIcon } from '../../icons/More/index.js';
|
|
11
10
|
import { PlusIcon } from '../../icons/Plus/index.js';
|
|
11
|
+
import { SwapIcon } from '../../icons/Swap/index.js';
|
|
12
12
|
import { XIcon } from '../../icons/X/index.js';
|
|
13
13
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
14
14
|
import { useCanPasteClipboard } from '../ClipboardAction/useCanPasteClipboard.js';
|
|
@@ -16,7 +16,7 @@ import { Popup, PopupList } from '../Popup/index.js';
|
|
|
16
16
|
import './index.css';
|
|
17
17
|
const baseClass = 'array-actions';
|
|
18
18
|
export const ArrayAction = t0 => {
|
|
19
|
-
const $ = _c(
|
|
19
|
+
const $ = _c(31);
|
|
20
20
|
const {
|
|
21
21
|
addRow,
|
|
22
22
|
copyRow,
|
|
@@ -27,6 +27,7 @@ export const ArrayAction = t0 => {
|
|
|
27
27
|
moveRow,
|
|
28
28
|
pasteData,
|
|
29
29
|
pasteRow,
|
|
30
|
+
pasteRowBelow,
|
|
30
31
|
removeRow,
|
|
31
32
|
rowCount
|
|
32
33
|
} = t0;
|
|
@@ -38,21 +39,21 @@ export const ArrayAction = t0 => {
|
|
|
38
39
|
refresh
|
|
39
40
|
} = useCanPasteClipboard(pasteData);
|
|
40
41
|
let t1;
|
|
41
|
-
if ($[0] !== addRow || $[1] !== canPaste || $[2] !== copyRow || $[3] !== duplicateRow || $[4] !== hasMaxRows || $[5] !== index || $[6] !== isSortable || $[7] !== moveRow || $[8] !== pasteRow || $[9] !==
|
|
42
|
+
if ($[0] !== addRow || $[1] !== canPaste || $[2] !== copyRow || $[3] !== duplicateRow || $[4] !== hasMaxRows || $[5] !== index || $[6] !== isSortable || $[7] !== moveRow || $[8] !== pasteRow || $[9] !== pasteRowBelow || $[10] !== refresh || $[11] !== removeRow || $[12] !== rowCount || $[13] !== t) {
|
|
42
43
|
let t2;
|
|
43
|
-
if ($[
|
|
44
|
+
if ($[15] !== refresh) {
|
|
44
45
|
t2 = active => {
|
|
45
46
|
if (active) {
|
|
46
47
|
refresh();
|
|
47
48
|
}
|
|
48
49
|
};
|
|
49
|
-
$[
|
|
50
|
-
$[
|
|
50
|
+
$[15] = refresh;
|
|
51
|
+
$[16] = t2;
|
|
51
52
|
} else {
|
|
52
|
-
t2 = $[
|
|
53
|
+
t2 = $[16];
|
|
53
54
|
}
|
|
54
55
|
let t3;
|
|
55
|
-
if ($[
|
|
56
|
+
if ($[17] !== addRow || $[18] !== canPaste || $[19] !== copyRow || $[20] !== duplicateRow || $[21] !== hasMaxRows || $[22] !== index || $[23] !== isSortable || $[24] !== moveRow || $[25] !== pasteRow || $[26] !== pasteRowBelow || $[27] !== removeRow || $[28] !== rowCount || $[29] !== t) {
|
|
56
57
|
t3 = t4 => {
|
|
57
58
|
const {
|
|
58
59
|
close
|
|
@@ -112,17 +113,27 @@ export const ArrayAction = t0 => {
|
|
|
112
113
|
close();
|
|
113
114
|
},
|
|
114
115
|
children: t("general:copyRow")
|
|
115
|
-
}), _jsx(PopupList.Button, {
|
|
116
|
-
className: `${baseClass}__action ${baseClass}__paste`,
|
|
116
|
+
}), !hasMaxRows && _jsx(PopupList.Button, {
|
|
117
|
+
className: `${baseClass}__action ${baseClass}__paste-below`,
|
|
117
118
|
disabled: !canPaste,
|
|
118
|
-
icon: _jsx(
|
|
119
|
+
icon: _jsx(ArrowIcon, {
|
|
120
|
+
direction: "down",
|
|
119
121
|
size: 24
|
|
120
122
|
}),
|
|
123
|
+
onClick: () => {
|
|
124
|
+
pasteRowBelow(index);
|
|
125
|
+
close();
|
|
126
|
+
},
|
|
127
|
+
children: t("general:pasteBelow")
|
|
128
|
+
}), _jsx(PopupList.Button, {
|
|
129
|
+
className: `${baseClass}__action ${baseClass}__paste`,
|
|
130
|
+
disabled: !canPaste,
|
|
131
|
+
icon: _jsx(SwapIcon, {}),
|
|
121
132
|
onClick: () => {
|
|
122
133
|
pasteRow(index);
|
|
123
134
|
close();
|
|
124
135
|
},
|
|
125
|
-
children: t("general:
|
|
136
|
+
children: t("general:replaceRow")
|
|
126
137
|
}), _jsx(PopupList.Button, {
|
|
127
138
|
className: `${baseClass}__action ${baseClass}__remove`,
|
|
128
139
|
icon: _jsx(XIcon, {
|
|
@@ -136,21 +147,22 @@ export const ArrayAction = t0 => {
|
|
|
136
147
|
})]
|
|
137
148
|
});
|
|
138
149
|
};
|
|
139
|
-
$[
|
|
140
|
-
$[
|
|
141
|
-
$[
|
|
142
|
-
$[
|
|
143
|
-
$[
|
|
144
|
-
$[
|
|
145
|
-
$[
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
151
|
-
$[
|
|
150
|
+
$[17] = addRow;
|
|
151
|
+
$[18] = canPaste;
|
|
152
|
+
$[19] = copyRow;
|
|
153
|
+
$[20] = duplicateRow;
|
|
154
|
+
$[21] = hasMaxRows;
|
|
155
|
+
$[22] = index;
|
|
156
|
+
$[23] = isSortable;
|
|
157
|
+
$[24] = moveRow;
|
|
158
|
+
$[25] = pasteRow;
|
|
159
|
+
$[26] = pasteRowBelow;
|
|
160
|
+
$[27] = removeRow;
|
|
161
|
+
$[28] = rowCount;
|
|
162
|
+
$[29] = t;
|
|
163
|
+
$[30] = t3;
|
|
152
164
|
} else {
|
|
153
|
-
t3 = $[
|
|
165
|
+
t3 = $[30];
|
|
154
166
|
}
|
|
155
167
|
t1 = _jsx(Popup, {
|
|
156
168
|
button: _jsx(MoreIcon, {}),
|
|
@@ -171,13 +183,14 @@ export const ArrayAction = t0 => {
|
|
|
171
183
|
$[6] = isSortable;
|
|
172
184
|
$[7] = moveRow;
|
|
173
185
|
$[8] = pasteRow;
|
|
174
|
-
$[9] =
|
|
175
|
-
$[10] =
|
|
176
|
-
$[11] =
|
|
177
|
-
$[12] =
|
|
178
|
-
$[13] =
|
|
186
|
+
$[9] = pasteRowBelow;
|
|
187
|
+
$[10] = refresh;
|
|
188
|
+
$[11] = removeRow;
|
|
189
|
+
$[12] = rowCount;
|
|
190
|
+
$[13] = t;
|
|
191
|
+
$[14] = t1;
|
|
179
192
|
} else {
|
|
180
|
-
t1 = $[
|
|
193
|
+
t1 = $[14];
|
|
181
194
|
}
|
|
182
195
|
return t1;
|
|
183
196
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","ArrowIcon","ClipboardIcon","CopyIcon","DuplicateIcon","MoreIcon","PlusIcon","XIcon","useTranslation","useCanPasteClipboard","Popup","PopupList","baseClass","ArrayAction","t0","$","addRow","copyRow","duplicateRow","hasMaxRows","index","isSortable","moveRow","pasteData","pasteRow","removeRow","rowCount","t","canPaste","refresh","t1","t2","active","t3","t4","close","_jsxs","MenuItem","children","_jsx","Button","className","icon","direction","size","Fragment","disabled","button","buttonAriaLabel","buttonClassName","caret","horizontalAlign","onToggleOpen","render"],"sources":["../../../src/elements/ArrayAction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { ClipboardPasteEligibilityArgs } from '../ClipboardAction/types.js'\n\nimport { ArrowIcon } from '../../icons/Arrow/index.js'\nimport { ClipboardIcon } from '../../icons/Clipboard/index.js'\nimport { CopyIcon } from '../../icons/Copy/index.js'\nimport { DuplicateIcon } from '../../icons/Duplicate/index.js'\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useCanPasteClipboard } from '../ClipboardAction/useCanPasteClipboard.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'array-actions'\n\nexport type Props = {\n addRow: (current: number, blockType?: string) => Promise<void> | void\n copyRow: (index: number) => void\n duplicateRow: (current: number) => void\n hasMaxRows: boolean\n index: number\n isSortable?: boolean\n moveRow: (from: number, to: number) => void\n pasteData: ClipboardPasteEligibilityArgs\n pasteRow: (index: number) => void\n removeRow: (index: number) => void\n rowCount: number\n}\n\nexport const ArrayAction: React.FC<Props> = ({\n addRow,\n copyRow,\n duplicateRow,\n hasMaxRows,\n index,\n isSortable,\n moveRow,\n pasteData,\n pasteRow,\n removeRow,\n rowCount,\n}) => {\n const { t } = useTranslation()\n\n const { canPaste, refresh } = useCanPasteClipboard(pasteData)\n\n return (\n <Popup\n button={<MoreIcon />}\n buttonAriaLabel={t('general:moreOptions')}\n buttonClassName={`${baseClass}__button`}\n caret={false}\n className={baseClass}\n horizontalAlign=\"right\"\n onToggleOpen={(active) => {\n if (active) {\n refresh()\n }\n }}\n render={({ close }) => {\n return (\n <PopupList.MenuItem>\n {isSortable && index !== 0 && (\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__move-up`}\n icon={<ArrowIcon direction=\"up\" size={24} />}\n onClick={() => {\n moveRow(index, index - 1)\n close()\n }}\n >\n {t('general:moveUp')}\n </PopupList.Button>\n )}\n {isSortable && index < rowCount - 1 && (\n <PopupList.Button\n className={`${baseClass}__action`}\n icon={<ArrowIcon direction=\"down\" size={24} />}\n onClick={() => {\n moveRow(index, index + 1)\n close()\n }}\n >\n {t('general:moveDown')}\n </PopupList.Button>\n )}\n {!hasMaxRows && (\n <React.Fragment>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__add`}\n icon={<PlusIcon size={24} />}\n onClick={() => {\n void addRow(index + 1)\n close()\n }}\n >\n {t('general:addBelow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__duplicate`}\n icon={<DuplicateIcon size={24} />}\n onClick={() => {\n duplicateRow(index)\n close()\n }}\n >\n {t('general:duplicate')}\n </PopupList.Button>\n </React.Fragment>\n )}\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__copy`}\n icon={<CopyIcon size={24} />}\n onClick={() => {\n copyRow(index)\n close()\n }}\n >\n {t('general:copyRow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__paste`}\n disabled={!canPaste}\n icon={<ClipboardIcon size={24} />}\n onClick={() => {\n pasteRow(index)\n close()\n }}\n >\n {t('general:pasteRow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__remove`}\n icon={<XIcon size={24} />}\n onClick={() => {\n removeRow(index)\n close()\n }}\n >\n {t('general:remove')}\n </PopupList.Button>\n </PopupList.MenuItem>\n )\n }}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","ArrowIcon","CopyIcon","DuplicateIcon","MoreIcon","PlusIcon","SwapIcon","XIcon","useTranslation","useCanPasteClipboard","Popup","PopupList","baseClass","ArrayAction","t0","$","addRow","copyRow","duplicateRow","hasMaxRows","index","isSortable","moveRow","pasteData","pasteRow","pasteRowBelow","removeRow","rowCount","t","canPaste","refresh","t1","t2","active","t3","t4","close","_jsxs","MenuItem","children","_jsx","Button","className","icon","direction","size","Fragment","disabled","onClick","button","buttonAriaLabel","buttonClassName","caret","horizontalAlign","onToggleOpen","render"],"sources":["../../../src/elements/ArrayAction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { ClipboardPasteEligibilityArgs } from '../ClipboardAction/types.js'\n\nimport { ArrowIcon } from '../../icons/Arrow/index.js'\nimport { CopyIcon } from '../../icons/Copy/index.js'\nimport { DuplicateIcon } from '../../icons/Duplicate/index.js'\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useCanPasteClipboard } from '../ClipboardAction/useCanPasteClipboard.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'array-actions'\n\nexport type Props = {\n addRow: (current: number, blockType?: string) => Promise<void> | void\n copyRow: (index: number) => void\n duplicateRow: (current: number) => void\n hasMaxRows: boolean\n index: number\n isSortable?: boolean\n moveRow: (from: number, to: number) => void\n pasteData: ClipboardPasteEligibilityArgs\n pasteRow: (index: number) => void\n pasteRowBelow: (index: number) => void\n removeRow: (index: number) => void\n rowCount: number\n}\n\nexport const ArrayAction: React.FC<Props> = ({\n addRow,\n copyRow,\n duplicateRow,\n hasMaxRows,\n index,\n isSortable,\n moveRow,\n pasteData,\n pasteRow,\n pasteRowBelow,\n removeRow,\n rowCount,\n}) => {\n const { t } = useTranslation()\n\n const { canPaste, refresh } = useCanPasteClipboard(pasteData)\n\n return (\n <Popup\n button={<MoreIcon />}\n buttonAriaLabel={t('general:moreOptions')}\n buttonClassName={`${baseClass}__button`}\n caret={false}\n className={baseClass}\n horizontalAlign=\"right\"\n onToggleOpen={(active) => {\n if (active) {\n refresh()\n }\n }}\n render={({ close }) => {\n return (\n <PopupList.MenuItem>\n {isSortable && index !== 0 && (\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__move-up`}\n icon={<ArrowIcon direction=\"up\" size={24} />}\n onClick={() => {\n moveRow(index, index - 1)\n close()\n }}\n >\n {t('general:moveUp')}\n </PopupList.Button>\n )}\n {isSortable && index < rowCount - 1 && (\n <PopupList.Button\n className={`${baseClass}__action`}\n icon={<ArrowIcon direction=\"down\" size={24} />}\n onClick={() => {\n moveRow(index, index + 1)\n close()\n }}\n >\n {t('general:moveDown')}\n </PopupList.Button>\n )}\n {!hasMaxRows && (\n <React.Fragment>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__add`}\n icon={<PlusIcon size={24} />}\n onClick={() => {\n void addRow(index + 1)\n close()\n }}\n >\n {t('general:addBelow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__duplicate`}\n icon={<DuplicateIcon size={24} />}\n onClick={() => {\n duplicateRow(index)\n close()\n }}\n >\n {t('general:duplicate')}\n </PopupList.Button>\n </React.Fragment>\n )}\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__copy`}\n icon={<CopyIcon size={24} />}\n onClick={() => {\n copyRow(index)\n close()\n }}\n >\n {t('general:copyRow')}\n </PopupList.Button>\n {!hasMaxRows && (\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__paste-below`}\n disabled={!canPaste}\n icon={<ArrowIcon direction=\"down\" size={24} />}\n onClick={() => {\n pasteRowBelow(index)\n close()\n }}\n >\n {t('general:pasteBelow')}\n </PopupList.Button>\n )}\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__paste`}\n disabled={!canPaste}\n icon={<SwapIcon />}\n onClick={() => {\n pasteRow(index)\n close()\n }}\n >\n {t('general:replaceRow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__remove`}\n icon={<XIcon size={24} />}\n onClick={() => {\n removeRow(index)\n close()\n }}\n >\n {t('general:remove')}\n </PopupList.Button>\n </PopupList.MenuItem>\n )\n }}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAUzE,OAAO,KAAwD,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAUzE,OAAO,KAAwD,MAAM,OAAO,CAAA;AAoB5E,OAAO,aAAa,CAAA;AAMpB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuMpC,CAAA"}
|
|
@@ -9,6 +9,7 @@ import { useAllFormFields, useForm, useFormModified, useFormSubmitted } from '..
|
|
|
9
9
|
import { useDebounce } from '../../hooks/useDebounce.js';
|
|
10
10
|
import { useEffectEvent } from '../../hooks/useEffectEvent.js';
|
|
11
11
|
import { useQueue } from '../../hooks/useQueue.js';
|
|
12
|
+
import { useBranchParam } from '../../providers/Branch/index.js';
|
|
12
13
|
import { useConfig } from '../../providers/Config/index.js';
|
|
13
14
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
14
15
|
import { useLocale } from '../../providers/Locale/index.js';
|
|
@@ -48,6 +49,7 @@ export const Autosave = ({
|
|
|
48
49
|
const {
|
|
49
50
|
code: locale
|
|
50
51
|
} = useLocale();
|
|
52
|
+
const branch = useBranchParam();
|
|
51
53
|
const {
|
|
52
54
|
t
|
|
53
55
|
} = useTranslation();
|
|
@@ -84,6 +86,7 @@ export const Autosave = ({
|
|
|
84
86
|
let entitySlug;
|
|
85
87
|
const params = qs.stringify({
|
|
86
88
|
autosave: true,
|
|
89
|
+
branch,
|
|
87
90
|
depth: 0,
|
|
88
91
|
draft: true,
|
|
89
92
|
'fallback-locale': 'null',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["dequal","formatAdminURL","getAutosaveInterval","hasDraftValidationEnabled","reduceFieldsToValues","qs","React","useDeferredValue","useEffect","useRef","useState","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useEffectEvent","useQueue","useConfig","useDocumentInfo","useLocale","useTranslation","reduceFieldsToValuesWithValidation","LeaveWithoutSaving","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","config","routes","api","docConfig","mostRecentVersionIsAutosaved","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","isValid","setBackgroundProcessing","submit","formState","modified","submitted","code","locale","t","interval","validateOnDraft","_saving","setSaving","saving","debouncedFormState","queueTask","autosaveTimeoutRef","handleAutosave","current","undefined","startTimestamp","endTimestamp","hideIndicator","setTimeout","stopAutoSaveIndicator","Date","getTime","url","method","entitySlug","params","stringify","autosave","depth","draft","addQueryPrefix","slug","apiRoute","path","valid","skipSubmission","result","acceptValues","overrideLocalChanges","action","context","getDocPermissions","incrementVersionCount","disableFormWhileProcessing","disableSuccessStatus","overrides","_status","skipValidation","res","ok","prev","newDate","afterProcess","beforeProcess","didMount","previousDebouncedData","updatedAt","_","formData","__","prevFormData","clearTimeout","_jsxs","Fragment","_jsx","className"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport {\n formatAdminURL,\n getAutosaveInterval,\n hasDraftValidationEnabled,\n reduceFieldsToValues,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useDeferredValue, useEffect, useRef, useState } from 'react'\n\nimport type { OnSaveContext } from '../../views/Edit/index.js'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport { LeaveWithoutSaving } from '../LeaveWithoutSaving/index.js'\nimport './index.css'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({ id, collection, global: globalDoc }) => {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const {\n docConfig,\n mostRecentVersionIsAutosaved,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n\n const { isValid, setBackgroundProcessing, submit } = useForm()\n\n const [formState] = useAllFormFields()\n const modified = useFormModified()\n const submitted = useFormSubmitted()\n\n const { code: locale } = useLocale()\n const { t } = useTranslation()\n\n const interval = getAutosaveInterval(docConfig)\n const validateOnDraft = hasDraftValidationEnabled(docConfig)\n\n const [_saving, setSaving] = useState(false)\n\n const saving = useDeferredValue(_saving)\n\n const debouncedFormState = useDebounce(formState, interval)\n\n const { queueTask } = useQueue()\n\n const autosaveTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n const handleAutosave = useEffectEvent(() => {\n autosaveTimeoutRef.current = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const hideIndicator = () => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeoutRef.current = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n stopAutoSaveIndicator()\n }\n }\n\n queueTask(\n async () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n const params = qs.stringify(\n {\n autosave: true,\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n if (collection && id) {\n entitySlug = collection.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/${entitySlug}/${id}${params}`,\n })\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${entitySlug}${params}`,\n })\n method = 'POST'\n }\n\n const { valid } = reduceFieldsToValuesWithValidation(formState, true)\n\n const skipSubmission = submitted && !valid && validateOnDraft\n\n if (!skipSubmission && modified && url) {\n const result = await submit<any, OnSaveContext>({\n acceptValues: {\n overrideLocalChanges: false,\n },\n action: url,\n context: {\n getDocPermissions: false,\n incrementVersionCount: !mostRecentVersionIsAutosaved,\n },\n disableFormWhileProcessing: false,\n disableSuccessStatus: true,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: !validateOnDraft,\n })\n\n if (result && result?.res?.ok && !mostRecentVersionIsAutosaved) {\n setMostRecentVersionIsAutosaved(true)\n setUnpublishedVersionCount((prev) => prev + 1)\n }\n\n const newDate = new Date()\n\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n hideIndicator()\n }\n }\n },\n {\n afterProcess: () => {\n setBackgroundProcessing(false)\n },\n beforeProcess: () => {\n setBackgroundProcessing(true)\n },\n },\n )\n })\n\n const didMount = useRef(false)\n const previousDebouncedData = useRef(reduceFieldsToValues(debouncedFormState))\n\n // When debounced fields change, autosave\n useEffect(() => {\n /**\n * Ensure autosave doesn't run on mount\n */\n if (!didMount.current) {\n didMount.current = true\n return\n }\n\n /**\n * Ensure autosave only runs if the form data changes, not every time the entire form state changes\n * Remove `updatedAt` from comparison as it changes on every autosave interval.\n */\n const { updatedAt: _, ...formData } = reduceFieldsToValues(debouncedFormState)\n const { updatedAt: __, ...prevFormData } = previousDebouncedData.current\n\n if (dequal(formData, prevFormData)) {\n return\n }\n\n previousDebouncedData.current = formData\n\n handleAutosave()\n }, [debouncedFormState])\n\n /**\n * If component unmounts, clear the autosave timeout\n */\n useEffect(() => {\n return () => {\n stopAutoSaveIndicator()\n }\n }, [])\n\n const stopAutoSaveIndicator = useEffectEvent(() => {\n if (autosaveTimeoutRef.current) {\n clearTimeout(autosaveTimeoutRef.current)\n }\n\n setSaving(false)\n })\n\n return (\n <React.Fragment>\n {validateOnDraft && !isValid && <LeaveWithoutSaving />}\n {saving && <div className={baseClass}>{t('general:saving')}</div>}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["dequal","formatAdminURL","getAutosaveInterval","hasDraftValidationEnabled","reduceFieldsToValues","qs","React","useDeferredValue","useEffect","useRef","useState","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useEffectEvent","useQueue","useBranchParam","useConfig","useDocumentInfo","useLocale","useTranslation","reduceFieldsToValuesWithValidation","LeaveWithoutSaving","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","config","routes","api","docConfig","mostRecentVersionIsAutosaved","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","isValid","setBackgroundProcessing","submit","formState","modified","submitted","code","locale","branch","t","interval","validateOnDraft","_saving","setSaving","saving","debouncedFormState","queueTask","autosaveTimeoutRef","handleAutosave","current","undefined","startTimestamp","endTimestamp","hideIndicator","setTimeout","stopAutoSaveIndicator","Date","getTime","url","method","entitySlug","params","stringify","autosave","depth","draft","addQueryPrefix","slug","apiRoute","path","valid","skipSubmission","result","acceptValues","overrideLocalChanges","action","context","getDocPermissions","incrementVersionCount","disableFormWhileProcessing","disableSuccessStatus","overrides","_status","skipValidation","res","ok","prev","newDate","afterProcess","beforeProcess","didMount","previousDebouncedData","updatedAt","_","formData","__","prevFormData","clearTimeout","_jsxs","Fragment","_jsx","className"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport {\n formatAdminURL,\n getAutosaveInterval,\n hasDraftValidationEnabled,\n reduceFieldsToValues,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useDeferredValue, useEffect, useRef, useState } from 'react'\n\nimport type { OnSaveContext } from '../../views/Edit/index.js'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.js'\nimport { useBranchParam } from '../../providers/Branch/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport { LeaveWithoutSaving } from '../LeaveWithoutSaving/index.js'\nimport './index.css'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({ id, collection, global: globalDoc }) => {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const {\n docConfig,\n mostRecentVersionIsAutosaved,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n\n const { isValid, setBackgroundProcessing, submit } = useForm()\n\n const [formState] = useAllFormFields()\n const modified = useFormModified()\n const submitted = useFormSubmitted()\n\n const { code: locale } = useLocale()\n const branch = useBranchParam()\n const { t } = useTranslation()\n\n const interval = getAutosaveInterval(docConfig)\n const validateOnDraft = hasDraftValidationEnabled(docConfig)\n\n const [_saving, setSaving] = useState(false)\n\n const saving = useDeferredValue(_saving)\n\n const debouncedFormState = useDebounce(formState, interval)\n\n const { queueTask } = useQueue()\n\n const autosaveTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n const handleAutosave = useEffectEvent(() => {\n autosaveTimeoutRef.current = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const hideIndicator = () => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeoutRef.current = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n stopAutoSaveIndicator()\n }\n }\n\n queueTask(\n async () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n const params = qs.stringify(\n {\n autosave: true,\n branch,\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n if (collection && id) {\n entitySlug = collection.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/${entitySlug}/${id}${params}`,\n })\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${entitySlug}${params}`,\n })\n method = 'POST'\n }\n\n const { valid } = reduceFieldsToValuesWithValidation(formState, true)\n\n const skipSubmission = submitted && !valid && validateOnDraft\n\n if (!skipSubmission && modified && url) {\n const result = await submit<any, OnSaveContext>({\n acceptValues: {\n overrideLocalChanges: false,\n },\n action: url,\n context: {\n getDocPermissions: false,\n incrementVersionCount: !mostRecentVersionIsAutosaved,\n },\n disableFormWhileProcessing: false,\n disableSuccessStatus: true,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: !validateOnDraft,\n })\n\n if (result && result?.res?.ok && !mostRecentVersionIsAutosaved) {\n setMostRecentVersionIsAutosaved(true)\n setUnpublishedVersionCount((prev) => prev + 1)\n }\n\n const newDate = new Date()\n\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n hideIndicator()\n }\n }\n },\n {\n afterProcess: () => {\n setBackgroundProcessing(false)\n },\n beforeProcess: () => {\n setBackgroundProcessing(true)\n },\n },\n )\n })\n\n const didMount = useRef(false)\n const previousDebouncedData = useRef(reduceFieldsToValues(debouncedFormState))\n\n // When debounced fields change, autosave\n useEffect(() => {\n /**\n * Ensure autosave doesn't run on mount\n */\n if (!didMount.current) {\n didMount.current = true\n return\n }\n\n /**\n * Ensure autosave only runs if the form data changes, not every time the entire form state changes\n * Remove `updatedAt` from comparison as it changes on every autosave interval.\n */\n const { updatedAt: _, ...formData } = reduceFieldsToValues(debouncedFormState)\n const { updatedAt: __, ...prevFormData } = previousDebouncedData.current\n\n if (dequal(formData, prevFormData)) {\n return\n }\n\n previousDebouncedData.current = formData\n\n handleAutosave()\n }, [debouncedFormState])\n\n /**\n * If component unmounts, clear the autosave timeout\n */\n useEffect(() => {\n return () => {\n stopAutoSaveIndicator()\n }\n }, [])\n\n const stopAutoSaveIndicator = useEffectEvent(() => {\n if (autosaveTimeoutRef.current) {\n clearTimeout(autosaveTimeoutRef.current)\n }\n\n setSaving(false)\n })\n\n return (\n <React.Fragment>\n {validateOnDraft && !isValid && <LeaveWithoutSaving />}\n {saving && <div className={baseClass}>{t('general:saving')}</div>}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
.new-branch-modal {
|
|
3
|
+
--dialog-width: 400px;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.new-branch-modal__form {
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
gap: var(--spacer-2);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.new-branch-modal__form .field-type {
|
|
13
|
+
margin-bottom: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.new-branch-modal__source {
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
gap: var(--spacer-1);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.new-branch-modal__source-label {
|
|
23
|
+
color: var(--color-text);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Shaped like the inputs above it so the trail reads as one column, but inert:
|
|
27
|
+
there is only ever one source branch to show. */
|
|
28
|
+
.new-branch-modal__source-value {
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
gap: var(--spacer-1);
|
|
32
|
+
min-height: var(--spacer-5);
|
|
33
|
+
padding-inline: var(--spacer-1);
|
|
34
|
+
border: var(--stroke-width-small) solid var(--color-border);
|
|
35
|
+
border-radius: var(--radius-medium);
|
|
36
|
+
color: var(--color-text-secondary);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.new-branch-modal__source-value .icon--branch {
|
|
40
|
+
color: var(--color-icon);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.new-branch-modal__source-name {
|
|
44
|
+
color: var(--color-text);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.css';
|
|
3
|
+
export declare const newBranchModalSlug = "new-branch";
|
|
4
|
+
/**
|
|
5
|
+
* Creates a branch without leaving the current view.
|
|
6
|
+
*
|
|
7
|
+
* The slug is derived from the name server-side rather than asked for, so the
|
|
8
|
+
* only thing required here is a name — which is why this is a modal rather than
|
|
9
|
+
* a trip to the collection's create view.
|
|
10
|
+
*/
|
|
11
|
+
export declare const NewBranchModal: React.FC;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BranchSelector/NewBranchModal/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAapD,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,kBAAkB,eAAe,CAAA;AAI9C;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAqJlC,CAAA"}
|