@strapi/admin 5.49.0 → 5.50.1
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/admin/admin/src/components/ConfirmDialog.js +2 -2
- package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.js +3 -3
- package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js +8 -8
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs +8 -8
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/ErrorElement.js +100 -5
- package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
- package/dist/admin/admin/src/components/ErrorElement.mjs +99 -4
- package/dist/admin/admin/src/components/ErrorElement.mjs.map +1 -1
- package/dist/admin/admin/src/components/Form.js +41 -27
- package/dist/admin/admin/src/components/Form.js.map +1 -1
- package/dist/admin/admin/src/components/Form.mjs +41 -27
- package/dist/admin/admin/src/components/Form.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Boolean.js +3 -2
- package/dist/admin/admin/src/components/FormInputs/Boolean.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Boolean.mjs +3 -2
- package/dist/admin/admin/src/components/FormInputs/Boolean.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.js +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.mjs +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Email.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Email.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js +4 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +4 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Json.js +2 -1
- package/dist/admin/admin/src/components/FormInputs/Json.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Json.mjs +2 -1
- package/dist/admin/admin/src/components/FormInputs/Json.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Password.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Password.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.js +18 -26
- package/dist/admin/admin/src/components/FormInputs/Renderer.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs +20 -28
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Textarea.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Textarea.mjs.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.js +2 -2
- package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
- package/dist/admin/admin/src/components/GradientBadge.js +3 -3
- package/dist/admin/admin/src/components/GradientBadge.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js +8 -8
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js +4 -4
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +2 -2
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js +2 -2
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/GridLayout.js +2 -2
- package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/Layout.js +4 -4
- package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
- package/dist/admin/admin/src/components/LazyOutlet.js +57 -0
- package/dist/admin/admin/src/components/LazyOutlet.js.map +1 -0
- package/dist/admin/admin/src/components/LazyOutlet.mjs +35 -0
- package/dist/admin/admin/src/components/LazyOutlet.mjs.map +1 -0
- package/dist/admin/admin/src/components/LeftMenu.js +3 -3
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNav.js +2 -2
- package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +4 -4
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavBrand.js +2 -2
- package/dist/admin/admin/src/components/MainNav/NavBrand.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js +3 -3
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js +8 -8
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.js +17 -7
- package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.mjs +10 -0
- package/dist/admin/admin/src/components/MainNav/NavUser.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +3 -3
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +2 -2
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.js +3 -2
- package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.mjs +3 -2
- package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js +6 -6
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +11 -9
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +4 -2
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/Table.js +9 -5
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Table.mjs +6 -2
- package/dist/admin/admin/src/components/Table.mjs.map +1 -1
- package/dist/admin/admin/src/components/Theme.js +2 -2
- package/dist/admin/admin/src/components/Theme.js.map +1 -1
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js +2 -2
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +3 -3
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.js +4 -7
- package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js +5 -5
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/router.js +19 -17
- package/dist/admin/admin/src/core/apis/router.js.map +1 -1
- package/dist/admin/admin/src/core/apis/router.mjs +19 -17
- package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
- package/dist/admin/admin/src/core/store/configure.js.map +1 -1
- package/dist/admin/admin/src/core/store/configure.mjs.map +1 -1
- package/dist/admin/admin/src/core/utils/createHook.js.map +1 -1
- package/dist/admin/admin/src/core/utils/createHook.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +3 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs +3 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/features/Widgets.js.map +1 -1
- package/dist/admin/admin/src/features/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useMediaQuery.js +4 -4
- package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.js +5 -3
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +5 -3
- package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useQueryParams.js +0 -1
- package/dist/admin/admin/src/hooks/useQueryParams.js.map +1 -1
- package/dist/admin/admin/src/hooks/useQueryParams.mjs +0 -1
- package/dist/admin/admin/src/hooks/useQueryParams.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.js.map +1 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +5 -3
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +5 -3
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +3 -3
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/AuthPage.js +3 -2
- package/dist/admin/admin/src/pages/Auth/AuthPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/AuthPage.mjs +3 -2
- package/dist/admin/admin/src/pages/Auth/AuthPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +17 -9
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +15 -7
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +2 -2
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +3 -6
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +4 -8
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +4 -8
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/SessionsPage.js +318 -0
- package/dist/admin/admin/src/pages/SessionsPage.js.map +1 -0
- package/dist/admin/admin/src/pages/SessionsPage.mjs +296 -0
- package/dist/admin/admin/src/pages/SessionsPage.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Settings/Layout.js +4 -1
- package/dist/admin/admin/src/pages/Settings/Layout.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/Layout.mjs +5 -2
- package/dist/admin/admin/src/pages/Settings/Layout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +1 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +1 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +7 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +7 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +7 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +44 -10
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs +34 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +5 -5
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +38 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +38 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js +18 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs +18 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.js +59 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.js.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.mjs +52 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
- package/dist/admin/admin/src/router.js +9 -0
- package/dist/admin/admin/src/router.js.map +1 -1
- package/dist/admin/admin/src/router.mjs +9 -0
- package/dist/admin/admin/src/router.mjs.map +1 -1
- package/dist/admin/admin/src/services/auth.js +43 -2
- package/dist/admin/admin/src/services/auth.js.map +1 -1
- package/dist/admin/admin/src/services/auth.mjs +41 -3
- package/dist/admin/admin/src/services/auth.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +22 -0
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +22 -0
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.js +726 -237
- package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.mjs +723 -238
- package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.js +1 -0
- package/dist/admin/admin/src/translations/languageNativeNames.js.map +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.mjs +1 -0
- package/dist/admin/admin/src/translations/languageNativeNames.mjs.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.js +22 -0
- package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.mjs +22 -0
- package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
- package/dist/admin/admin/src/utils/arrays.js.map +1 -1
- package/dist/admin/admin/src/utils/arrays.mjs.map +1 -1
- package/dist/admin/admin/src/utils/baseQuery.js +1 -1
- package/dist/admin/admin/src/utils/baseQuery.js.map +1 -1
- package/dist/admin/admin/src/utils/baseQuery.mjs +1 -1
- package/dist/admin/admin/src/utils/baseQuery.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/admin/src/utils/objects.js +43 -11
- package/dist/admin/admin/src/utils/objects.js.map +1 -1
- package/dist/admin/admin/src/utils/objects.mjs +43 -11
- package/dist/admin/admin/src/utils/objects.mjs.map +1 -1
- package/dist/admin/admin/src/utils/once.js.map +1 -1
- package/dist/admin/admin/src/utils/once.mjs.map +1 -1
- package/dist/admin/admin/src/utils/retryDynamicImport.js +85 -0
- package/dist/admin/admin/src/utils/retryDynamicImport.js.map +1 -0
- package/dist/admin/admin/src/utils/retryDynamicImport.mjs +80 -0
- package/dist/admin/admin/src/utils/retryDynamicImport.mjs.map +1 -0
- package/dist/admin/admin/src/utils/rulesEngine.js +2 -1
- package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs +2 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
- package/dist/admin/admin/src/utils/shims.js.map +1 -1
- package/dist/admin/admin/src/utils/shims.mjs.map +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js +16 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js.map +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.mjs +14 -2
- package/dist/admin/admin/src/utils/widgetVisibility.mjs.map +1 -1
- package/dist/admin/admin/tests/server.js +25 -0
- package/dist/admin/admin/tests/server.js.map +1 -1
- package/dist/admin/admin/tests/server.mjs +25 -0
- package/dist/admin/admin/tests/server.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +2 -2
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js +2 -2
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs +2 -2
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js +3 -3
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +3 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +2 -2
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/StrapiApp.d.ts +7 -7
- package/dist/admin/src/components/DescriptionComponentRenderer.d.ts +2 -1
- package/dist/admin/src/components/Form.d.ts +14 -12
- package/dist/admin/src/components/FormInputs/Boolean.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Checkbox.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/DateTime.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Email.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Enumeration.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Number.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Password.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Renderer.d.ts +1 -2
- package/dist/admin/src/components/FormInputs/String.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Textarea.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Time.d.ts +0 -1
- package/dist/admin/src/components/GuidedTour/GuidedTourProvider.d.ts +0 -1
- package/dist/admin/src/components/GuidedTour/Steps/Step.d.ts +1 -1
- package/dist/admin/src/components/LazyOutlet.d.ts +20 -0
- package/dist/admin/src/components/MainNav/MainNav.d.ts +1 -1
- package/dist/admin/src/components/MainNav/NavUser.d.ts +0 -1
- package/dist/admin/src/components/SubNav.d.ts +6 -7
- package/dist/admin/src/components/Table.d.ts +3 -2
- package/dist/admin/src/core/apis/Plugin.d.ts +2 -2
- package/dist/admin/src/core/apis/Widgets.d.ts +0 -1
- package/dist/admin/src/core/apis/router.d.ts +1 -1
- package/dist/admin/src/core/store/configure.d.ts +2 -2
- package/dist/admin/src/core/utils/createHook.d.ts +7 -7
- package/dist/admin/src/features/AppInfo.d.ts +1 -2
- package/dist/admin/src/features/StrapiApp.d.ts +1 -2
- package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +1 -1
- package/dist/admin/src/hooks/useAdminRoles.d.ts +3 -3
- package/dist/admin/src/hooks/useFetchClient.d.ts +1 -1
- package/dist/admin/src/hooks/useMenu.d.ts +1 -1
- package/dist/admin/src/hooks/usePersistentState.d.ts +0 -1
- package/dist/admin/src/hooks/useQueryParams.d.ts +3 -2
- package/dist/admin/src/hooks/useThrottledCallback.d.ts +1 -2
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +2 -2
- package/dist/admin/src/pages/SessionsPage.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +2 -3
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +0 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/Permissions.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/utils/forms.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.d.ts +5 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/permissions.d.ts +3 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +8 -8
- package/dist/admin/src/reducer.d.ts +1 -1
- package/dist/admin/src/services/admin.d.ts +8 -8
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +3 -3
- package/dist/admin/src/services/auth.d.ts +29 -27
- package/dist/admin/src/services/contentApi.d.ts +2 -2
- package/dist/admin/src/services/contentManager.d.ts +1 -1
- package/dist/admin/src/services/homepage.d.ts +3 -3
- package/dist/admin/src/services/transferTokens.d.ts +1 -1
- package/dist/admin/src/services/users.d.ts +15 -15
- package/dist/admin/src/services/webhooks.d.ts +4 -4
- package/dist/admin/src/translations/languageNativeNames.d.ts +1 -0
- package/dist/admin/src/utils/arrays.d.ts +1 -1
- package/dist/admin/src/utils/baseQuery.d.ts +1 -1
- package/dist/admin/src/utils/getFetchClient.d.ts +7 -7
- package/dist/admin/src/utils/locales.d.ts +0 -1
- package/dist/admin/src/utils/objects.d.ts +6 -4
- package/dist/admin/src/utils/once.d.ts +1 -1
- package/dist/admin/src/utils/retryDynamicImport.d.ts +19 -0
- package/dist/admin/src/utils/shims.d.ts +1 -1
- package/dist/admin/src/utils/widgetVisibility.d.ts +11 -0
- package/dist/admin/tests/store.d.ts +4 -4
- package/dist/admin/tests/utils.d.ts +5 -5
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +1 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +2 -1
- package/dist/ee/admin/src/services/ai.d.ts +5 -5
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +3 -3
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
- package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts +2 -2
- package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/bootstrap.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts +30 -31
- package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/index.d.ts +1 -2
- package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/user.d.ts +1 -1
- package/dist/ee/server/src/destroy.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +2 -3
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/ee/server/src/register.d.ts.map +1 -1
- package/dist/ee/server/src/routes/utils.d.ts.map +1 -1
- package/dist/ee/server/src/services/auth.d.ts.map +1 -1
- package/dist/ee/server/src/services/index.d.ts +1 -1
- package/dist/ee/server/src/services/metrics.d.ts.map +1 -1
- package/dist/ee/server/src/services/passport/sso.d.ts.map +1 -1
- package/dist/ee/server/src/services/persist-tables.d.ts +1 -1
- package/dist/ee/server/src/services/persist-tables.d.ts.map +1 -1
- package/dist/ee/server/src/services/role.d.ts.map +1 -1
- package/dist/ee/server/src/services/user.d.ts.map +1 -1
- package/dist/ee/server/src/utils/index.d.ts.map +1 -1
- package/dist/ee/server/src/utils/sso-lock.d.ts.map +1 -1
- package/dist/ee/server/src/validation/authentication.d.ts +2 -2
- package/dist/ee/server/src/validation/role.d.ts +6 -6
- package/dist/ee/server/src/validation/role.d.ts.map +1 -1
- package/dist/ee/server/src/validation/user.d.ts.map +1 -1
- package/dist/server/server/src/content-types/session.js +6 -0
- package/dist/server/server/src/content-types/session.js.map +1 -1
- package/dist/server/server/src/content-types/session.mjs +6 -0
- package/dist/server/server/src/content-types/session.mjs.map +1 -1
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/controllers/authenticated-session.js +61 -0
- package/dist/server/server/src/controllers/authenticated-session.js.map +1 -0
- package/dist/server/server/src/controllers/authenticated-session.mjs +59 -0
- package/dist/server/server/src/controllers/authenticated-session.mjs.map +1 -0
- package/dist/server/server/src/controllers/authentication.js +11 -4
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +12 -5
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/controllers/index.js +2 -0
- package/dist/server/server/src/controllers/index.js.map +1 -1
- package/dist/server/server/src/controllers/index.mjs +2 -0
- package/dist/server/server/src/controllers/index.mjs.map +1 -1
- package/dist/server/server/src/controllers/role.js +2 -4
- package/dist/server/server/src/controllers/role.js.map +1 -1
- package/dist/server/server/src/controllers/role.mjs +2 -4
- package/dist/server/server/src/controllers/role.mjs.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
- package/dist/server/server/src/routes/users.js +12 -26
- package/dist/server/server/src/routes/users.js.map +1 -1
- package/dist/server/server/src/routes/users.mjs +12 -26
- package/dist/server/server/src/routes/users.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js +0 -2
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs +0 -2
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.js +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.js.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs.map +1 -1
- package/dist/server/server/src/services/role.js +7 -2
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/role.mjs +7 -2
- package/dist/server/server/src/services/role.mjs.map +1 -1
- package/dist/server/server/src/strategies/admin.js +4 -0
- package/dist/server/server/src/strategies/admin.js.map +1 -1
- package/dist/server/server/src/strategies/admin.mjs +4 -0
- package/dist/server/server/src/strategies/admin.mjs.map +1 -1
- package/dist/server/server/src/validation/common-validators.js +19 -11
- package/dist/server/server/src/validation/common-validators.js.map +1 -1
- package/dist/server/server/src/validation/common-validators.mjs +19 -11
- package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
- package/dist/server/server/src/validation/permission.js +1 -1
- package/dist/server/server/src/validation/permission.js.map +1 -1
- package/dist/server/server/src/validation/permission.mjs +1 -1
- package/dist/server/server/src/validation/permission.mjs.map +1 -1
- package/dist/server/server/src/validation/role.js +2 -2
- package/dist/server/server/src/validation/role.js.map +1 -1
- package/dist/server/server/src/validation/role.mjs +2 -2
- package/dist/server/server/src/validation/role.mjs.map +1 -1
- package/dist/server/src/ai/controllers/ai.d.ts +3 -3
- package/dist/server/src/ai/services/ai.d.ts.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/config/admin-conditions.d.ts +2 -2
- package/dist/server/src/config/admin-conditions.d.ts.map +1 -1
- package/dist/server/src/content-types/index.d.ts +6 -0
- package/dist/server/src/content-types/index.d.ts.map +1 -1
- package/dist/server/src/content-types/session.d.ts +6 -0
- package/dist/server/src/content-types/session.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-token.d.ts +5 -5
- package/dist/server/src/controllers/api-token.d.ts +1 -1
- package/dist/server/src/controllers/authenticated-session.d.ts +8 -0
- package/dist/server/src/controllers/authenticated-session.d.ts.map +1 -0
- package/dist/server/src/controllers/authenticated-user.d.ts +1 -1
- package/dist/server/src/controllers/authentication.d.ts +4 -4
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/controllers/formatters/conditions.d.ts +0 -1
- package/dist/server/src/controllers/formatters/conditions.d.ts.map +1 -1
- package/dist/server/src/controllers/formatters/format-actions-by-sections.d.ts.map +1 -1
- package/dist/server/src/controllers/homepage.d.ts +2 -2
- package/dist/server/src/controllers/homepage.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +33 -43
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/role.d.ts +4 -4
- package/dist/server/src/controllers/transfer/runner.d.ts +4 -4
- package/dist/server/src/controllers/transfer/runner.d.ts.map +1 -1
- package/dist/server/src/controllers/transfer/token.d.ts +1 -1
- package/dist/server/src/controllers/user.d.ts +2 -2
- package/dist/server/src/controllers/webhooks.d.ts +4 -4
- package/dist/server/src/domain/action/index.d.ts +4 -65
- package/dist/server/src/domain/action/index.d.ts.map +1 -1
- package/dist/server/src/domain/action/provider.d.ts +30 -3
- package/dist/server/src/domain/action/provider.d.ts.map +1 -1
- package/dist/server/src/domain/condition/index.d.ts.map +1 -1
- package/dist/server/src/domain/condition/provider.d.ts +19 -2
- package/dist/server/src/domain/condition/provider.d.ts.map +1 -1
- package/dist/server/src/domain/permission/index.d.ts +0 -1
- package/dist/server/src/domain/permission/index.d.ts.map +1 -1
- package/dist/server/src/domain/user.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +51 -63
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/data-transfer.d.ts.map +1 -1
- package/dist/server/src/middlewares/index.d.ts +0 -1
- package/dist/server/src/middlewares/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -1
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
- package/dist/server/src/policies/index.d.ts.map +1 -1
- package/dist/server/src/policies/isAuthenticatedAdmin.d.ts.map +1 -1
- package/dist/server/src/policies/isTelemetryEnabled.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +0 -1
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -1
- package/dist/server/src/routes/transfer.d.ts +0 -1
- package/dist/server/src/routes/transfer.d.ts.map +1 -1
- package/dist/server/src/routes/users.d.ts.map +1 -1
- package/dist/server/src/services/action.d.ts.map +1 -1
- package/dist/server/src/services/api-token.d.ts +5 -6
- package/dist/server/src/services/api-token.d.ts.map +1 -1
- package/dist/server/src/services/auth.d.ts.map +1 -1
- package/dist/server/src/services/condition.d.ts.map +1 -1
- package/dist/server/src/services/content-type.d.ts.map +1 -1
- package/dist/server/src/services/encryption.d.ts.map +1 -1
- package/dist/server/src/services/homepage.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +12 -21
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/services/passport/local-strategy.d.ts.map +1 -1
- package/dist/server/src/services/passport.d.ts +0 -1
- package/dist/server/src/services/passport.d.ts.map +1 -1
- package/dist/server/src/services/permission/engine.d.ts +1 -2
- package/dist/server/src/services/permission/engine.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/index.d.ts +5 -5
- package/dist/server/src/services/permission/permissions-manager/index.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/query-builders.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts +3 -3
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
- package/dist/server/src/services/permission/queries.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/builder.d.ts +4 -4
- package/dist/server/src/services/permission/sections-builder/builder.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/index.d.ts +4 -4
- package/dist/server/src/services/permission/sections-builder/section.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/utils.d.ts +0 -1
- package/dist/server/src/services/permission/sections-builder/utils.d.ts.map +1 -1
- package/dist/server/src/services/permission.d.ts +13 -38
- package/dist/server/src/services/permission.d.ts.map +1 -1
- package/dist/server/src/services/project-settings.d.ts +2 -4
- package/dist/server/src/services/project-settings.d.ts.map +1 -1
- package/dist/server/src/services/role.d.ts +7 -1
- package/dist/server/src/services/role.d.ts.map +1 -1
- package/dist/server/src/services/token.d.ts +1 -1
- package/dist/server/src/services/token.d.ts.map +1 -1
- package/dist/server/src/services/transfer/token.d.ts +11 -11
- package/dist/server/src/services/transfer/token.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts +3 -3
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/server/src/strategies/admin-token.d.ts +4 -4
- package/dist/server/src/strategies/admin-token.d.ts.map +1 -1
- package/dist/server/src/strategies/admin.d.ts.map +1 -1
- package/dist/server/src/strategies/api-token-utils.d.ts.map +1 -1
- package/dist/server/src/strategies/content-api-token.d.ts.map +1 -1
- package/dist/server/src/strategies/data-transfer.d.ts.map +1 -1
- package/dist/server/src/utils/normalize-email.d.ts.map +1 -1
- package/dist/server/src/validation/action-provider.d.ts +2 -2
- package/dist/server/src/validation/action-provider.d.ts.map +1 -1
- package/dist/server/src/validation/admin-tokens.d.ts +2 -2
- package/dist/server/src/validation/api-tokens.d.ts +4 -4
- package/dist/server/src/validation/authentication/forgot-password.d.ts +1 -1
- package/dist/server/src/validation/authentication/login.d.ts +1 -1
- package/dist/server/src/validation/authentication/register.d.ts +6 -6
- package/dist/server/src/validation/authentication/register.d.ts.map +1 -1
- package/dist/server/src/validation/authentication/reset-password.d.ts +1 -1
- package/dist/server/src/validation/common-functions/check-fields-are-correctly-nested.d.ts.map +1 -1
- package/dist/server/src/validation/common-functions/check-fields-dont-have-duplicates.d.ts.map +1 -1
- package/dist/server/src/validation/common-validators.d.ts.map +1 -1
- package/dist/server/src/validation/permission.d.ts +6 -6
- package/dist/server/src/validation/permission.d.ts.map +1 -1
- package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -2
- package/dist/server/src/validation/project-settings.d.ts +6 -6
- package/dist/server/src/validation/role.d.ts +8 -8
- package/dist/server/src/validation/role.d.ts.map +1 -1
- package/dist/server/src/validation/transfer/token.d.ts +4 -4
- package/dist/server/src/validation/user.d.ts +8 -8
- package/dist/shared/contracts/permissions.d.ts +1 -0
- package/dist/shared/contracts/permissions.d.ts.map +1 -1
- package/dist/shared/contracts/sessions.d.ts +62 -0
- package/dist/shared/contracts/sessions.d.ts.map +1 -0
- package/dist/shared/contracts/shared.d.ts +1 -1
- package/dist/shared/contracts/shared.d.ts.map +1 -1
- package/dist/shared/utils/session-auth.d.ts +1 -1
- package/dist/shared/utils/session-auth.d.ts.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, useIntl, type MessageDescriptor } from 'react-intl';\nimport { To, NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { useGuidedTour, type ValidTourName } from '../Context';\nimport { tours } from '../Tours';\n\n/* -------------------------------------------------------------------------------------------------\n * Common Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst StepCount = ({\n tourName,\n displayedCurrentStep,\n displayedTourLength,\n}: {\n tourName: ValidTourName;\n displayedCurrentStep?: number;\n displayedTourLength?: number;\n}) => {\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = displayedCurrentStep ?? state.tours[tourName].currentStep + 1;\n const displayedStepCount = displayedTourLength ?? tours[tourName]._meta.displayedStepCount;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedStepCount }}\n />\n </Typography>\n );\n};\n\nconst GotItAction = ({ onClick }: { onClick: () => void }) => {\n return (\n <Button onClick={onClick}>\n <FormattedMessage id=\"tours.gotIt\" defaultMessage=\"Got it\" />\n </Button>\n );\n};\n\nexport type DefaultActionsProps = {\n showSkip?: boolean;\n showPrevious?: boolean;\n to?: To;\n onNextStep?: () => void;\n onPreviousStep?: () => void;\n tourName: ValidTourName;\n};\nconst DefaultActions = ({\n showSkip,\n showPrevious,\n to,\n tourName,\n onNextStep,\n onPreviousStep,\n}: DefaultActionsProps) => {\n const { trackUsage } = useTracking();\n const dispatch = useGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n\n // Safety check: if tours state is missing, return null\n if (!state.tours || !state.tours[tourName]) {\n return null;\n }\n\n const currentStep = state.tours[tourName].currentStep + 1;\n const actualTourLength = tours[tourName]._meta.totalStepCount;\n\n const handleSkip = () => {\n trackUsage('didSkipGuidedTour', { name: tourName });\n dispatch({ type: 'skip_tour', payload: tourName });\n };\n\n const handleNextStep = () => {\n if (currentStep === actualTourLength) {\n trackUsage('didCompleteGuidedTour', { name: tourName });\n }\n\n if (onNextStep) {\n onNextStep();\n } else {\n dispatch({ type: 'next_step', payload: tourName });\n }\n };\n\n const handlePreviousStep = () => {\n if (onPreviousStep) {\n onPreviousStep();\n } else {\n dispatch({ type: 'previous_step', payload: tourName });\n }\n };\n\n return (\n <Flex gap={2}>\n {showSkip && (\n <Button variant=\"tertiary\" onClick={handleSkip}>\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {!showSkip && showPrevious && (\n <Button variant=\"tertiary\" onClick={handlePreviousStep}>\n <FormattedMessage id=\"tours.previous\" defaultMessage=\"Previous\" />\n </Button>\n )}\n {to ? (\n <LinkButton tag={NavLink} to={to} onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (\n props: StepProps & {\n values?: Record<string, React.ReactNode | ((chunks: React.ReactNode) => React.ReactNode)>;\n }\n ) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\nconst ContentContainer = styled(Box)`\n p {\n margin-top: ${({ theme }) => theme.spaces[5]};\n }\n ul {\n list-style-type: disc;\n padding-left: ${({ theme }) => theme.spaces[4]};\n }\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content\n ref={ref}\n aria-labelledby=\"guided-tour-title\"\n side=\"top\"\n align=\"center\"\n style={{ border: 'none' }}\n onClick={(e) => e.stopPropagation()}\n {...props}\n >\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"h1\" id=\"guided-tour-title\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => {\n const { formatMessage } = useIntl();\n let content = '';\n if (!('children' in props)) {\n content = formatMessage({\n id: props.id,\n defaultMessage: props.defaultMessage,\n });\n }\n return (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <ContentContainer>\n <Typography tag=\"div\" variant=\"omega\" dangerouslySetInnerHTML={{ __html: content }} />\n </ContentContainer>\n )}\n </Box>\n );\n },\n\n Actions: ({\n showStepCount = true,\n showPrevious = true,\n showSkip = false,\n to,\n children,\n ...flexProps\n }) => {\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <DefaultActions\n tourName={tourName}\n showSkip={showSkip}\n showPrevious={!showSkip && showPrevious}\n to={to}\n />\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents, GotItAction, StepCount, DefaultActions };\n"],"names":["StepCount","tourName","displayedCurrentStep","displayedTourLength","state","useGuidedTour","s","currentStep","tours","displayedStepCount","_meta","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","GotItAction","onClick","Button","DefaultActions","showSkip","showPrevious","to","onNextStep","onPreviousStep","trackUsage","useTracking","dispatch","actualTourLength","totalStepCount","handleSkip","name","type","payload","handleNextStep","handlePreviousStep","_jsxs","Flex","gap","LinkButton","tag","NavLink","ActionsContainer","styled","theme","colors","neutral150","ContentContainer","Box","spaces","PopoverArrow","Popover","Arrow","neutral0","createStepComponents","Root","React","forwardRef","withArrow","props","ref","Content","aria-labelledby","side","align","style","border","e","stopPropagation","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","paddingTop","paddingLeft","paddingRight","paddingBottom","fontWeight","formatMessage","useIntl","content","dangerouslySetInnerHTML","__html","Actions","showStepCount","flexProps","padding","justifyContent","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Step.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, useIntl, type MessageDescriptor } from 'react-intl';\nimport { To, NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { useGuidedTour, type ValidTourName } from '../Context';\nimport { tours } from '../Tours';\n\n/* -------------------------------------------------------------------------------------------------\n * Common Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst StepCount = ({\n tourName,\n displayedCurrentStep,\n displayedTourLength,\n}: {\n tourName: ValidTourName;\n displayedCurrentStep?: number;\n displayedTourLength?: number;\n}) => {\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = displayedCurrentStep ?? state.tours[tourName].currentStep + 1;\n const displayedStepCount = displayedTourLength ?? tours[tourName]._meta.displayedStepCount;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedStepCount }}\n />\n </Typography>\n );\n};\n\nconst GotItAction = ({ onClick }: { onClick: () => void }) => {\n return (\n <Button onClick={onClick}>\n <FormattedMessage id=\"tours.gotIt\" defaultMessage=\"Got it\" />\n </Button>\n );\n};\n\nexport type DefaultActionsProps = {\n showSkip?: boolean;\n showPrevious?: boolean;\n to?: To;\n onNextStep?: () => void;\n onPreviousStep?: () => void;\n tourName: ValidTourName;\n};\nconst DefaultActions = ({\n showSkip,\n showPrevious,\n to,\n tourName,\n onNextStep,\n onPreviousStep,\n}: DefaultActionsProps) => {\n const { trackUsage } = useTracking();\n const dispatch = useGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n\n // Safety check: if tours state is missing, return null\n if (!state.tours || !state.tours[tourName]) {\n return null;\n }\n\n const currentStep = state.tours[tourName].currentStep + 1;\n const actualTourLength = tours[tourName]._meta.totalStepCount;\n\n const handleSkip = () => {\n trackUsage('didSkipGuidedTour', { name: tourName });\n dispatch({ type: 'skip_tour', payload: tourName });\n };\n\n const handleNextStep = () => {\n if (currentStep === actualTourLength) {\n trackUsage('didCompleteGuidedTour', { name: tourName });\n }\n\n if (onNextStep) {\n onNextStep();\n } else {\n dispatch({ type: 'next_step', payload: tourName });\n }\n };\n\n const handlePreviousStep = () => {\n if (onPreviousStep) {\n onPreviousStep();\n } else {\n dispatch({ type: 'previous_step', payload: tourName });\n }\n };\n\n return (\n <Flex gap={2}>\n {showSkip && (\n <Button variant=\"tertiary\" onClick={handleSkip}>\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {!showSkip && showPrevious && (\n <Button variant=\"tertiary\" onClick={handlePreviousStep}>\n <FormattedMessage id=\"tours.previous\" defaultMessage=\"Previous\" />\n </Button>\n )}\n {to ? (\n <LinkButton tag={NavLink} to={to} onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (\n props: StepProps & {\n values?: Record<string, React.ReactNode | ((_chunks: React.ReactNode) => React.ReactNode)>;\n }\n ) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\nconst ContentContainer = styled(Box)`\n p {\n margin-top: ${({ theme }) => theme.spaces[5]};\n }\n ul {\n list-style-type: disc;\n padding-left: ${({ theme }) => theme.spaces[4]};\n }\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content\n ref={ref}\n aria-labelledby=\"guided-tour-title\"\n side=\"top\"\n align=\"center\"\n style={{ border: 'none' }}\n onClick={(e) => e.stopPropagation()}\n {...props}\n >\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"h1\" id=\"guided-tour-title\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => {\n const { formatMessage } = useIntl();\n let content = '';\n if (!('children' in props)) {\n content = formatMessage({\n id: props.id,\n defaultMessage: props.defaultMessage,\n });\n }\n return (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <ContentContainer>\n <Typography tag=\"div\" variant=\"omega\" dangerouslySetInnerHTML={{ __html: content }} />\n </ContentContainer>\n )}\n </Box>\n );\n },\n\n Actions: ({\n showStepCount = true,\n showPrevious = true,\n showSkip = false,\n to,\n children,\n ...flexProps\n }) => {\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <DefaultActions\n tourName={tourName}\n showSkip={showSkip}\n showPrevious={!showSkip && showPrevious}\n to={to}\n />\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents, GotItAction, StepCount, DefaultActions };\n"],"names":["StepCount","tourName","displayedCurrentStep","displayedTourLength","state","useGuidedTour","s","currentStep","tours","displayedStepCount","_meta","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","GotItAction","onClick","Button","DefaultActions","showSkip","showPrevious","to","onNextStep","onPreviousStep","trackUsage","useTracking","dispatch","actualTourLength","totalStepCount","handleSkip","name","type","payload","handleNextStep","handlePreviousStep","_jsxs","Flex","gap","LinkButton","tag","NavLink","ActionsContainer","styled","theme","colors","neutral150","ContentContainer","Box","spaces","PopoverArrow","Popover","Arrow","neutral0","createStepComponents","Root","React","forwardRef","withArrow","props","ref","Content","aria-labelledby","side","align","style","border","e","stopPropagation","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","paddingTop","paddingLeft","paddingRight","paddingBottom","fontWeight","formatMessage","useIntl","content","dangerouslySetInnerHTML","__html","Actions","showStepCount","flexProps","padding","justifyContent","_Fragment"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
|
-
var
|
|
6
|
+
var styledComponents = require('styled-components');
|
|
7
7
|
var admin = require('../../services/admin.js');
|
|
8
8
|
var Context = require('./Context.js');
|
|
9
9
|
var ApiTokensSteps = require('./Steps/ApiTokensSteps.js');
|
|
@@ -50,7 +50,7 @@ const GuidedTourTooltip = ({ children, ...props })=>{
|
|
|
50
50
|
children: children
|
|
51
51
|
});
|
|
52
52
|
};
|
|
53
|
-
const GuidedTourOverlay =
|
|
53
|
+
const GuidedTourOverlay = styledComponents.styled(designSystem.Box)`
|
|
54
54
|
position: fixed;
|
|
55
55
|
top: 0;
|
|
56
56
|
left: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tours.js","sources":["../../../../../../admin/src/components/GuidedTour/Tours.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Popover, Portal, setOpacity } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { useGetGuidedTourMetaQuery } from '../../services/admin';\n\nimport { type State, type Action, useGuidedTour, ValidTourName, CompletedActions } from './Context';\nimport { apiTokensSteps } from './Steps/ApiTokensSteps';\nimport { contentManagerSteps } from './Steps/ContentManagerSteps';\nimport { contentTypeBuilderSteps } from './Steps/ContentTypeBuilderSteps';\nimport { type Step, createStepComponents } from './Steps/Step';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from './utils/constants';\n\n/* -------------------------------------------------------------------------------------------------\n * Tours\n * -----------------------------------------------------------------------------------------------*/\n\nconst tours = {\n contentTypeBuilder: createTour('contentTypeBuilder', contentTypeBuilderSteps),\n contentManager: createTour('contentManager', contentManagerSteps),\n apiTokens: createTour('apiTokens', apiTokensSteps),\n strapiCloud: createTour('strapiCloud', []),\n} as const;\n\ntype Tours = typeof tours;\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourTooltip\n * -----------------------------------------------------------------------------------------------*/\n\nexport type StepContentProps = {\n Step: Step;\n state: State;\n dispatch: React.Dispatch<Action>;\n};\ntype Content = (props: StepContentProps) => React.ReactNode;\n\ntype GuidedTourTooltipProps = {\n children: React.ReactNode;\n content: Content;\n tourName: ValidTourName;\n step: number;\n when?: (completedActions: CompletedActions) => boolean;\n};\n\nconst GuidedTourTooltip = ({ children, ...props }: GuidedTourTooltipProps) => {\n const state = useGuidedTour('TooltipWrapper', (s) => s.state);\n\n if (!state.enabled || state.hidden || process.env.NODE_ENV !== 'development') {\n return children;\n }\n\n return <GuidedTourTooltipImpl {...props}>{children}</GuidedTourTooltipImpl>;\n};\n\nconst GuidedTourOverlay = styled(Box)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: ${({ theme }) => setOpacity(theme.colors.neutral800, 0.2)};\n z-index: 10;\n`;\n\nconst GuidedTourTooltipImpl = ({\n children,\n content,\n tourName,\n step,\n when,\n}: GuidedTourTooltipProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n const state = useGuidedTour('GuidedTourTooltip', (s) => s.state);\n const dispatch = useGuidedTour('GuidedTourTooltip', (s) => s.dispatch);\n\n const tourState = state.tours?.[tourName];\n const isCurrentStep = tourState?.currentStep === step;\n const isStepConditionMet = when ? when(state.completedActions) : true;\n const isPopoverOpen =\n guidedTourMeta?.data?.isFirstSuperAdminUser &&\n !tourState?.isCompleted &&\n isCurrentStep &&\n isStepConditionMet;\n\n const anchorRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (!isPopoverOpen) return;\n\n anchorRef.current?.scrollIntoView({ behavior: 'instant', block: 'center' });\n\n const originalStyle = window.getComputedStyle(document.body).overflow;\n document.body.style.overflow = 'hidden';\n\n return () => {\n document.body.style.overflow = originalStyle;\n };\n }, [isPopoverOpen]);\n\n const Step = React.useMemo(() => createStepComponents(tourName), [tourName]);\n\n const hasApiSchema =\n Object.keys(guidedTourMeta?.data?.schemas ?? {}).filter((key) => key.startsWith('api::'))\n .length > 0;\n\n React.useEffect(() => {\n if (hasApiSchema) {\n /**\n * Fallback sync:\n *\n * When the user already has a schema (ie started project from template with seeded data),\n * allow them to proceed to the content manager tour.\n *\n * When the CTB fails to restart after saving a schema (as it often does)\n */\n dispatch({\n type: 'set_completed_actions',\n payload: [GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema],\n });\n }\n }, [dispatch, hasApiSchema, step, tourName]);\n\n // Safety check: if tours state is corrupted or missing, render without tooltip (after all hooks)\n if (!state.tours || !state.tours[tourName]) {\n return <>{children}</>;\n }\n\n return (\n <>\n {isPopoverOpen && (\n <Portal>\n <GuidedTourOverlay />\n </Portal>\n )}\n <Popover.Root open={isPopoverOpen}>\n <Popover.Anchor ref={anchorRef}>{children}</Popover.Anchor>\n {content({ Step, state, dispatch })}\n </Popover.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tour factory\n * -----------------------------------------------------------------------------------------------*/\n\nexport type TourStep<P extends string> = {\n name: P;\n content: Content;\n when?: (completedActions: CompletedActions) => boolean;\n excludeFromStepCount?: boolean;\n};\n\nexport function createTour<const T extends ReadonlyArray<TourStep<string>>>(\n tourName: string,\n steps: T\n) {\n type Components = {\n [K in T[number]['name']]: React.ComponentType<{ children: React.ReactNode }>;\n };\n\n const tour = steps.reduce(\n (acc, step, index) => {\n const name = step.name as keyof Components;\n\n if (name in acc) {\n throw Error(`The tour: ${tourName} with step: ${step.name} has already been registered`);\n }\n\n (acc as Components)[name] = ({ children }: { children: React.ReactNode }) => {\n return (\n <GuidedTourTooltip\n tourName={tourName as ValidTourName}\n step={index}\n content={step.content}\n when={step.when}\n >\n {children}\n </GuidedTourTooltip>\n );\n };\n\n if (step.excludeFromStepCount) {\n // Subtract all steps registered to be excluded from the step count\n acc._meta.displayedStepCount--;\n }\n\n return acc;\n },\n { _meta: { totalStepCount: steps.length, displayedStepCount: steps.length } } as Components & {\n _meta: { totalStepCount: number; displayedStepCount: number };\n }\n );\n\n return tour;\n}\n\nexport type { Content, Tours };\nexport { tours };\n"],"names":["tours","contentTypeBuilder","createTour","contentTypeBuilderSteps","contentManager","contentManagerSteps","apiTokens","apiTokensSteps","strapiCloud","GuidedTourTooltip","children","props","state","useGuidedTour","s","enabled","hidden","process","env","NODE_ENV","_jsx","GuidedTourTooltipImpl","GuidedTourOverlay","styled","Box","theme","setOpacity","colors","neutral800","content","tourName","step","when","data","guidedTourMeta","useGetGuidedTourMetaQuery","dispatch","tourState","isCurrentStep","currentStep","isStepConditionMet","completedActions","isPopoverOpen","isFirstSuperAdminUser","isCompleted","anchorRef","React","useRef","useEffect","current","scrollIntoView","behavior","block","originalStyle","window","getComputedStyle","document","body","overflow","style","Step","useMemo","createStepComponents","hasApiSchema","Object","keys","schemas","filter","key","startsWith","length","type","payload","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","_Fragment","_jsxs","Portal","Popover","Root","open","Anchor","ref","steps","tour","reduce","acc","index","name","Error","excludeFromStepCount","_meta","displayedStepCount","totalStepCount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tours.js","sources":["../../../../../../admin/src/components/GuidedTour/Tours.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Popover, Portal, setOpacity } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { useGetGuidedTourMetaQuery } from '../../services/admin';\n\nimport { type State, type Action, useGuidedTour, ValidTourName, CompletedActions } from './Context';\nimport { apiTokensSteps } from './Steps/ApiTokensSteps';\nimport { contentManagerSteps } from './Steps/ContentManagerSteps';\nimport { contentTypeBuilderSteps } from './Steps/ContentTypeBuilderSteps';\nimport { type Step, createStepComponents } from './Steps/Step';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from './utils/constants';\n\n/* -------------------------------------------------------------------------------------------------\n * Tours\n * -----------------------------------------------------------------------------------------------*/\n\nconst tours = {\n contentTypeBuilder: createTour('contentTypeBuilder', contentTypeBuilderSteps),\n contentManager: createTour('contentManager', contentManagerSteps),\n apiTokens: createTour('apiTokens', apiTokensSteps),\n strapiCloud: createTour('strapiCloud', []),\n} as const;\n\ntype Tours = typeof tours;\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourTooltip\n * -----------------------------------------------------------------------------------------------*/\n\nexport type StepContentProps = {\n Step: Step;\n state: State;\n dispatch: React.Dispatch<Action>;\n};\ntype Content = (props: StepContentProps) => React.ReactNode;\n\ntype GuidedTourTooltipProps = {\n children: React.ReactNode;\n content: Content;\n tourName: ValidTourName;\n step: number;\n when?: (completedActions: CompletedActions) => boolean;\n};\n\nconst GuidedTourTooltip = ({ children, ...props }: GuidedTourTooltipProps) => {\n const state = useGuidedTour('TooltipWrapper', (s) => s.state);\n\n if (!state.enabled || state.hidden || process.env.NODE_ENV !== 'development') {\n return children;\n }\n\n return <GuidedTourTooltipImpl {...props}>{children}</GuidedTourTooltipImpl>;\n};\n\nconst GuidedTourOverlay = styled(Box)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: ${({ theme }) => setOpacity(theme.colors.neutral800, 0.2)};\n z-index: 10;\n`;\n\nconst GuidedTourTooltipImpl = ({\n children,\n content,\n tourName,\n step,\n when,\n}: GuidedTourTooltipProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n const state = useGuidedTour('GuidedTourTooltip', (s) => s.state);\n const dispatch = useGuidedTour('GuidedTourTooltip', (s) => s.dispatch);\n\n const tourState = state.tours?.[tourName];\n const isCurrentStep = tourState?.currentStep === step;\n const isStepConditionMet = when ? when(state.completedActions) : true;\n const isPopoverOpen =\n guidedTourMeta?.data?.isFirstSuperAdminUser &&\n !tourState?.isCompleted &&\n isCurrentStep &&\n isStepConditionMet;\n\n const anchorRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (!isPopoverOpen) return;\n\n anchorRef.current?.scrollIntoView({ behavior: 'instant', block: 'center' });\n\n const originalStyle = window.getComputedStyle(document.body).overflow;\n document.body.style.overflow = 'hidden';\n\n return () => {\n document.body.style.overflow = originalStyle;\n };\n }, [isPopoverOpen]);\n\n const Step = React.useMemo(() => createStepComponents(tourName), [tourName]);\n\n const hasApiSchema =\n Object.keys(guidedTourMeta?.data?.schemas ?? {}).filter((key) => key.startsWith('api::'))\n .length > 0;\n\n React.useEffect(() => {\n if (hasApiSchema) {\n /**\n * Fallback sync:\n *\n * When the user already has a schema (ie started project from template with seeded data),\n * allow them to proceed to the content manager tour.\n *\n * When the CTB fails to restart after saving a schema (as it often does)\n */\n dispatch({\n type: 'set_completed_actions',\n payload: [GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema],\n });\n }\n }, [dispatch, hasApiSchema, step, tourName]);\n\n // Safety check: if tours state is corrupted or missing, render without tooltip (after all hooks)\n if (!state.tours || !state.tours[tourName]) {\n return <>{children}</>;\n }\n\n return (\n <>\n {isPopoverOpen && (\n <Portal>\n <GuidedTourOverlay />\n </Portal>\n )}\n <Popover.Root open={isPopoverOpen}>\n <Popover.Anchor ref={anchorRef}>{children}</Popover.Anchor>\n {content({ Step, state, dispatch })}\n </Popover.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tour factory\n * -----------------------------------------------------------------------------------------------*/\n\nexport type TourStep<P extends string> = {\n name: P;\n content: Content;\n when?: (completedActions: CompletedActions) => boolean;\n excludeFromStepCount?: boolean;\n};\n\nexport function createTour<const T extends ReadonlyArray<TourStep<string>>>(\n tourName: string,\n steps: T\n) {\n type Components = {\n [K in T[number]['name']]: React.ComponentType<{ children: React.ReactNode }>;\n };\n\n const tour = steps.reduce(\n (acc, step, index) => {\n const name = step.name as keyof Components;\n\n if (name in acc) {\n throw Error(`The tour: ${tourName} with step: ${step.name} has already been registered`);\n }\n\n (acc as Components)[name] = ({ children }: { children: React.ReactNode }) => {\n return (\n <GuidedTourTooltip\n tourName={tourName as ValidTourName}\n step={index}\n content={step.content}\n when={step.when}\n >\n {children}\n </GuidedTourTooltip>\n );\n };\n\n if (step.excludeFromStepCount) {\n // Subtract all steps registered to be excluded from the step count\n acc._meta.displayedStepCount--;\n }\n\n return acc;\n },\n { _meta: { totalStepCount: steps.length, displayedStepCount: steps.length } } as Components & {\n _meta: { totalStepCount: number; displayedStepCount: number };\n }\n );\n\n return tour;\n}\n\nexport type { Content, Tours };\nexport { tours };\n"],"names":["tours","contentTypeBuilder","createTour","contentTypeBuilderSteps","contentManager","contentManagerSteps","apiTokens","apiTokensSteps","strapiCloud","GuidedTourTooltip","children","props","state","useGuidedTour","s","enabled","hidden","process","env","NODE_ENV","_jsx","GuidedTourTooltipImpl","GuidedTourOverlay","styled","Box","theme","setOpacity","colors","neutral800","content","tourName","step","when","data","guidedTourMeta","useGetGuidedTourMetaQuery","dispatch","tourState","isCurrentStep","currentStep","isStepConditionMet","completedActions","isPopoverOpen","isFirstSuperAdminUser","isCompleted","anchorRef","React","useRef","useEffect","current","scrollIntoView","behavior","block","originalStyle","window","getComputedStyle","document","body","overflow","style","Step","useMemo","createStepComponents","hasApiSchema","Object","keys","schemas","filter","key","startsWith","length","type","payload","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","_Fragment","_jsxs","Portal","Popover","Root","open","Anchor","ref","steps","tour","reduce","acc","index","name","Error","excludeFromStepCount","_meta","displayedStepCount","totalStepCount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;AAEkG,2GAE5FA,KAAAA,GAAQ;AACZC,IAAAA,kBAAAA,EAAoBC,WAAW,oBAAA,EAAsBC,+CAAAA,CAAAA;AACrDC,IAAAA,cAAAA,EAAgBF,WAAW,gBAAA,EAAkBG,uCAAAA,CAAAA;AAC7CC,IAAAA,SAAAA,EAAWJ,WAAW,WAAA,EAAaK,6BAAAA,CAAAA;IACnCC,WAAAA,EAAaN,UAAAA,CAAW,eAAe,EAAE;AAC3C;AAuBA,MAAMO,oBAAoB,CAAC,EAAEC,QAAQ,EAAE,GAAGC,KAAAA,EAA+B,GAAA;AACvE,IAAA,MAAMC,QAAQC,qBAAAA,CAAc,gBAAA,EAAkB,CAACC,CAAAA,GAAMA,EAAEF,KAAK,CAAA;AAE5D,IAAA,IAAI,CAACA,KAAAA,CAAMG,OAAO,IAAIH,KAAAA,CAAMI,MAAM,IAAIC,OAAAA,CAAQC,GAAG,CAACC,QAAQ,KAAK,aAAA,EAAe;QAC5E,OAAOT,QAAAA;AACT,IAAA;AAEA,IAAA,qBAAOU,cAAA,CAACC,qBAAAA,EAAAA;AAAuB,QAAA,GAAGV,KAAK;AAAGD,QAAAA,QAAAA,EAAAA;;AAC5C,CAAA;AAEA,MAAMY,iBAAAA,GAAoBC,uBAAAA,CAAOC,gBAAAA,CAAI;;;;;;oBAMjB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKC,uBAAAA,CAAWD,KAAAA,CAAME,MAAM,CAACC,UAAU,EAAE,GAAA,CAAA,CAAK;;AAE9E,CAAC;AAED,MAAMP,qBAAAA,GAAwB,CAAC,EAC7BX,QAAQ,EACRmB,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,IAAI,EACmB,GAAA;AACvB,IAAA,MAAM,EAAEC,IAAAA,EAAMC,cAAc,EAAE,GAAGC,+BAAAA,EAAAA;AACjC,IAAA,MAAMvB,QAAQC,qBAAAA,CAAc,mBAAA,EAAqB,CAACC,CAAAA,GAAMA,EAAEF,KAAK,CAAA;AAC/D,IAAA,MAAMwB,WAAWvB,qBAAAA,CAAc,mBAAA,EAAqB,CAACC,CAAAA,GAAMA,EAAEsB,QAAQ,CAAA;AAErE,IAAA,MAAMC,SAAAA,GAAYzB,KAAAA,CAAMZ,KAAK,GAAG8B,QAAAA,CAAS;IACzC,MAAMQ,aAAAA,GAAgBD,WAAWE,WAAAA,KAAgBR,IAAAA;AACjD,IAAA,MAAMS,kBAAAA,GAAqBR,IAAAA,GAAOA,IAAAA,CAAKpB,KAAAA,CAAM6B,gBAAgB,CAAA,GAAI,IAAA;AACjE,IAAA,MAAMC,gBACJR,cAAAA,EAAgBD,IAAAA,EAAMU,yBACtB,CAACN,SAAAA,EAAWO,eACZN,aAAAA,IACAE,kBAAAA;IAEF,MAAMK,SAAAA,GAAYC,gBAAAA,CAAMC,MAAM,CAAiB,IAAA,CAAA;AAE/CD,IAAAA,gBAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAI,CAACN,aAAAA,EAAe;QAEpBG,SAAAA,CAAUI,OAAO,EAAEC,cAAAA,CAAe;YAAEC,QAAAA,EAAU,SAAA;YAAWC,KAAAA,EAAO;AAAS,SAAA,CAAA;AAEzE,QAAA,MAAMC,gBAAgBC,MAAAA,CAAOC,gBAAgB,CAACC,QAAAA,CAASC,IAAI,EAAEC,QAAQ;AACrEF,QAAAA,QAAAA,CAASC,IAAI,CAACE,KAAK,CAACD,QAAQ,GAAG,QAAA;QAE/B,OAAO,IAAA;AACLF,YAAAA,QAAAA,CAASC,IAAI,CAACE,KAAK,CAACD,QAAQ,GAAGL,aAAAA;AACjC,QAAA,CAAA;IACF,CAAA,EAAG;AAACX,QAAAA;AAAc,KAAA,CAAA;AAElB,IAAA,MAAMkB,SAAOd,gBAAAA,CAAMe,OAAO,CAAC,IAAMC,0BAAqBhC,QAAAA,CAAAA,EAAW;AAACA,QAAAA;AAAS,KAAA,CAAA;AAE3E,IAAA,MAAMiC,eACJC,MAAAA,CAAOC,IAAI,CAAC/B,cAAAA,EAAgBD,IAAAA,EAAMiC,WAAW,EAAC,CAAA,CAAGC,MAAM,CAAC,CAACC,GAAAA,GAAQA,GAAAA,CAAIC,UAAU,CAAC,OAAA,CAAA,CAAA,CAC7EC,MAAM,GAAG,CAAA;AAEdxB,IAAAA,gBAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAIe,YAAAA,EAAc;AAChB;;;;;;;AAOC,UACD3B,QAAAA,CAAS;gBACPmC,IAAAA,EAAM,uBAAA;gBACNC,OAAAA,EAAS;oBAACC,sCAAAA,CAA6BxE,kBAAkB,CAACyE;AAAa;AACzE,aAAA,CAAA;AACF,QAAA;IACF,CAAA,EAAG;AAACtC,QAAAA,QAAAA;AAAU2B,QAAAA,YAAAA;AAAchC,QAAAA,IAAAA;AAAMD,QAAAA;AAAS,KAAA,CAAA;;IAG3C,IAAI,CAAClB,MAAMZ,KAAK,IAAI,CAACY,KAAAA,CAAMZ,KAAK,CAAC8B,QAAAA,CAAS,EAAE;QAC1C,qBAAOV,cAAA,CAAAuD,mBAAA,EAAA;AAAGjE,YAAAA,QAAAA,EAAAA;;AACZ,IAAA;IAEA,qBACEkE,eAAA,CAAAD,mBAAA,EAAA;;AACGjC,YAAAA,aAAAA,kBACCtB,cAAA,CAACyD,mBAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAzD,cAAA,CAACE,iBAAAA,EAAAA,EAAAA;;AAGL,0BAAAsD,eAAA,CAACE,qBAAQC,IAAI,EAAA;gBAACC,IAAAA,EAAMtC,aAAAA;;AAClB,kCAAAtB,cAAA,CAAC0D,qBAAQG,MAAM,EAAA;wBAACC,GAAAA,EAAKrC,SAAAA;AAAYnC,wBAAAA,QAAAA,EAAAA;;oBAChCmB,OAAAA,CAAQ;AAAE+B,8BAAAA,MAAAA;AAAMhD,wBAAAA,KAAAA;AAAOwB,wBAAAA;AAAS,qBAAA;;;;;AAIzC,CAAA;AAaO,SAASlC,UAAAA,CACd4B,QAAgB,EAChBqD,KAAQ,EAAA;AAMR,IAAA,MAAMC,OAAOD,KAAAA,CAAME,MAAM,CACvB,CAACC,KAAKvD,IAAAA,EAAMwD,KAAAA,GAAAA;QACV,MAAMC,IAAAA,GAAOzD,KAAKyD,IAAI;AAEtB,QAAA,IAAIA,QAAQF,GAAAA,EAAK;YACf,MAAMG,KAAAA,CAAM,CAAC,UAAU,EAAE3D,QAAAA,CAAS,YAAY,EAAEC,IAAAA,CAAKyD,IAAI,CAAC,4BAA4B,CAAC,CAAA;AACzF,QAAA;AAECF,QAAAA,GAAkB,CAACE,IAAAA,CAAK,GAAG,CAAC,EAAE9E,QAAQ,EAAiC,GAAA;AACtE,YAAA,qBACEU,cAAA,CAACX,iBAAAA,EAAAA;gBACCqB,QAAAA,EAAUA,QAAAA;gBACVC,IAAAA,EAAMwD,KAAAA;AACN1D,gBAAAA,OAAAA,EAASE,KAAKF,OAAO;AACrBG,gBAAAA,IAAAA,EAAMD,KAAKC,IAAI;AAEdtB,gBAAAA,QAAAA,EAAAA;;AAGP,QAAA,CAAA;QAEA,IAAIqB,IAAAA,CAAK2D,oBAAoB,EAAE;;YAE7BJ,GAAAA,CAAIK,KAAK,CAACC,kBAAkB,EAAA;AAC9B,QAAA;QAEA,OAAON,GAAAA;IACT,CAAA,EACA;QAAEK,KAAAA,EAAO;AAAEE,YAAAA,cAAAA,EAAgBV,MAAMb,MAAM;AAAEsB,YAAAA,kBAAAA,EAAoBT,MAAMb;AAAO;AAAE,KAAA,CAAA;IAK9E,OAAOc,IAAAA;AACT;;;;;"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
|
-
var
|
|
6
|
+
var styledComponents = require('styled-components');
|
|
7
7
|
var theme = require('../../constants/theme.js');
|
|
8
8
|
|
|
9
|
-
/** On mobile: first item stays left, rest stick to the right (margin-right: auto on first child). */ const EndActionsFlex =
|
|
9
|
+
/** On mobile: first item stays left, rest stick to the right (margin-right: auto on first child). */ const EndActionsFlex = styledComponents.styled(designSystem.Flex)`
|
|
10
10
|
width: 100%;
|
|
11
11
|
& > *:first-child {
|
|
12
12
|
margin-right: auto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionLayout.js","sources":["../../../../../../admin/src/components/Layouts/ActionLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { RESPONSIVE_DEFAULT_SPACING } from '../../constants/theme';\n\n/** On mobile: first item stays left, rest stick to the right (margin-right: auto on first child). */\nconst EndActionsFlex = styled(Flex)`\n width: 100%;\n & > *:first-child {\n margin-right: auto;\n }\n\n ${({ theme }) => theme.breakpoints.medium} {\n width: auto;\n & > *:first-child {\n margin-right: 0;\n }\n }\n`;\n\ninterface ActionLayoutProps {\n endActions?: React.ReactNode;\n startActions?: React.ReactNode;\n bottomActions?: React.ReactNode;\n}\n\nconst ActionLayout = ({ startActions, endActions, bottomActions }: ActionLayoutProps) => {\n if (!startActions && !endActions) {\n return null;\n }\n\n return (\n <Flex\n direction={{ initial: 'column', medium: 'row' }}\n gap={{ initial: 4, medium: 3 }}\n alignItems=\"flex-start\"\n paddingBottom={{ initial: 2, medium: 4 }}\n paddingTop={0}\n paddingLeft={RESPONSIVE_DEFAULT_SPACING}\n paddingRight={RESPONSIVE_DEFAULT_SPACING}\n wrap={{ initial: 'nowrap', medium: 'wrap' }}\n >\n <Flex gap={2} wrap=\"wrap\" flex={1} width=\"100%\">\n {startActions}\n </Flex>\n <EndActionsFlex gap={{ initial: 3, medium: 2 }} shrink={0} wrap=\"wrap\">\n {endActions}\n </EndActionsFlex>\n {bottomActions && (\n <Flex gap={2} wrap=\"wrap\" width=\"100%\">\n {bottomActions}\n </Flex>\n )}\n </Flex>\n );\n};\n\nexport { ActionLayout, type ActionLayoutProps };\n"],"names":["EndActionsFlex","styled","Flex","theme","breakpoints","medium","ActionLayout","startActions","endActions","bottomActions","_jsxs","direction","initial","gap","alignItems","paddingBottom","paddingTop","paddingLeft","RESPONSIVE_DEFAULT_SPACING","paddingRight","wrap","_jsx","flex","width","shrink"],"mappings":";;;;;;;;AAOA,sGACA,MAAMA,cAAAA,GAAiBC,
|
|
1
|
+
{"version":3,"file":"ActionLayout.js","sources":["../../../../../../admin/src/components/Layouts/ActionLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { RESPONSIVE_DEFAULT_SPACING } from '../../constants/theme';\n\n/** On mobile: first item stays left, rest stick to the right (margin-right: auto on first child). */\nconst EndActionsFlex = styled(Flex)`\n width: 100%;\n & > *:first-child {\n margin-right: auto;\n }\n\n ${({ theme }) => theme.breakpoints.medium} {\n width: auto;\n & > *:first-child {\n margin-right: 0;\n }\n }\n`;\n\ninterface ActionLayoutProps {\n endActions?: React.ReactNode;\n startActions?: React.ReactNode;\n bottomActions?: React.ReactNode;\n}\n\nconst ActionLayout = ({ startActions, endActions, bottomActions }: ActionLayoutProps) => {\n if (!startActions && !endActions) {\n return null;\n }\n\n return (\n <Flex\n direction={{ initial: 'column', medium: 'row' }}\n gap={{ initial: 4, medium: 3 }}\n alignItems=\"flex-start\"\n paddingBottom={{ initial: 2, medium: 4 }}\n paddingTop={0}\n paddingLeft={RESPONSIVE_DEFAULT_SPACING}\n paddingRight={RESPONSIVE_DEFAULT_SPACING}\n wrap={{ initial: 'nowrap', medium: 'wrap' }}\n >\n <Flex gap={2} wrap=\"wrap\" flex={1} width=\"100%\">\n {startActions}\n </Flex>\n <EndActionsFlex gap={{ initial: 3, medium: 2 }} shrink={0} wrap=\"wrap\">\n {endActions}\n </EndActionsFlex>\n {bottomActions && (\n <Flex gap={2} wrap=\"wrap\" width=\"100%\">\n {bottomActions}\n </Flex>\n )}\n </Flex>\n );\n};\n\nexport { ActionLayout, type ActionLayoutProps };\n"],"names":["EndActionsFlex","styled","Flex","theme","breakpoints","medium","ActionLayout","startActions","endActions","bottomActions","_jsxs","direction","initial","gap","alignItems","paddingBottom","paddingTop","paddingLeft","RESPONSIVE_DEFAULT_SPACING","paddingRight","wrap","_jsx","flex","width","shrink"],"mappings":";;;;;;;;AAOA,sGACA,MAAMA,cAAAA,GAAiBC,uBAAAA,CAAOC,kBAAK;;;;;;EAMjC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,WAAW,CAACC,MAAM,CAAC;;;;;;AAM5C,CAAC;AAQD,MAAMC,YAAAA,GAAe,CAAC,EAAEC,YAAY,EAAEC,UAAU,EAAEC,aAAa,EAAqB,GAAA;IAClF,IAAI,CAACF,YAAAA,IAAgB,CAACC,UAAAA,EAAY;QAChC,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEE,eAAA,CAACR,iBAAAA,EAAAA;QACCS,SAAAA,EAAW;YAAEC,OAAAA,EAAS,QAAA;YAAUP,MAAAA,EAAQ;AAAM,SAAA;QAC9CQ,GAAAA,EAAK;YAAED,OAAAA,EAAS,CAAA;YAAGP,MAAAA,EAAQ;AAAE,SAAA;QAC7BS,UAAAA,EAAW,YAAA;QACXC,aAAAA,EAAe;YAAEH,OAAAA,EAAS,CAAA;YAAGP,MAAAA,EAAQ;AAAE,SAAA;QACvCW,UAAAA,EAAY,CAAA;QACZC,WAAAA,EAAaC,gCAAAA;QACbC,YAAAA,EAAcD,gCAAAA;QACdE,IAAAA,EAAM;YAAER,OAAAA,EAAS,QAAA;YAAUP,MAAAA,EAAQ;AAAO,SAAA;;0BAE1CgB,cAAA,CAACnB,iBAAAA,EAAAA;gBAAKW,GAAAA,EAAK,CAAA;gBAAGO,IAAAA,EAAK,MAAA;gBAAOE,IAAAA,EAAM,CAAA;gBAAGC,KAAAA,EAAM,MAAA;AACtChB,gBAAAA,QAAAA,EAAAA;;0BAEHc,cAAA,CAACrB,cAAAA,EAAAA;gBAAea,GAAAA,EAAK;oBAAED,OAAAA,EAAS,CAAA;oBAAGP,MAAAA,EAAQ;AAAE,iBAAA;gBAAGmB,MAAAA,EAAQ,CAAA;gBAAGJ,IAAAA,EAAK,MAAA;AAC7DZ,gBAAAA,QAAAA,EAAAA;;AAEFC,YAAAA,aAAAA,kBACCY,cAAA,CAACnB,iBAAAA,EAAAA;gBAAKW,GAAAA,EAAK,CAAA;gBAAGO,IAAAA,EAAK,MAAA;gBAAOG,KAAAA,EAAM,MAAA;AAC7Bd,gBAAAA,QAAAA,EAAAA;;;;AAKX;;;;"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
|
-
var
|
|
6
|
+
var styledComponents = require('styled-components');
|
|
7
7
|
|
|
8
8
|
const GridColSize = {
|
|
9
9
|
S: 180,
|
|
10
10
|
M: 250
|
|
11
11
|
};
|
|
12
|
-
const StyledGrid =
|
|
12
|
+
const StyledGrid = styledComponents.styled(designSystem.Box)`
|
|
13
13
|
display: grid;
|
|
14
14
|
grid-template-columns: repeat(
|
|
15
15
|
auto-fit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridLayout.js","sources":["../../../../../../admin/src/components/Layouts/GridLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\ninterface GridColSize {\n S: number;\n M: number;\n}\n\nconst GridColSize = {\n S: 180,\n M: 250,\n};\n\ntype Size = keyof GridColSize;\n\nconst StyledGrid = styled(Box)<{ $size: Size }>`\n display: grid;\n grid-template-columns: repeat(\n auto-fit,\n minmax(${({ $size }: { $size: Size }) => `${GridColSize[$size]}px`}, 1fr)\n );\n grid-gap: ${({ theme }) => theme.spaces[4]};\n`;\n\ninterface GridLayoutProps {\n size: Size;\n children: React.ReactNode;\n}\n\nconst GridLayout = ({ size, children }: GridLayoutProps) => {\n return <StyledGrid $size={size}>{children}</StyledGrid>;\n};\n\nexport { GridLayout };\nexport type { GridLayoutProps, GridColSize };\n"],"names":["GridColSize","S","M","StyledGrid","styled","Box","$size","theme","spaces","GridLayout","size","children","_jsx"],"mappings":";;;;;;;AAUA,MAAMA,WAAAA,GAAc;IAClBC,CAAAA,EAAG,GAAA;IACHC,CAAAA,EAAG;AACL,CAAA;AAIA,MAAMC,UAAAA,GAAaC,
|
|
1
|
+
{"version":3,"file":"GridLayout.js","sources":["../../../../../../admin/src/components/Layouts/GridLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\ninterface GridColSize {\n S: number;\n M: number;\n}\n\nconst GridColSize = {\n S: 180,\n M: 250,\n};\n\ntype Size = keyof GridColSize;\n\nconst StyledGrid = styled(Box)<{ $size: Size }>`\n display: grid;\n grid-template-columns: repeat(\n auto-fit,\n minmax(${({ $size }: { $size: Size }) => `${GridColSize[$size]}px`}, 1fr)\n );\n grid-gap: ${({ theme }) => theme.spaces[4]};\n`;\n\ninterface GridLayoutProps {\n size: Size;\n children: React.ReactNode;\n}\n\nconst GridLayout = ({ size, children }: GridLayoutProps) => {\n return <StyledGrid $size={size}>{children}</StyledGrid>;\n};\n\nexport { GridLayout };\nexport type { GridLayoutProps, GridColSize };\n"],"names":["GridColSize","S","M","StyledGrid","styled","Box","$size","theme","spaces","GridLayout","size","children","_jsx"],"mappings":";;;;;;;AAUA,MAAMA,WAAAA,GAAc;IAClBC,CAAAA,EAAG,GAAA;IACHC,CAAAA,EAAG;AACL,CAAA;AAIA,MAAMC,UAAAA,GAAaC,uBAAAA,CAAOC,gBAAAA,CAAqB;;;;AAIpC,WAAA,EAAE,CAAC,EAAEC,KAAK,EAAmB,GAAK,CAAA,EAAGN,WAAW,CAACM,KAAAA,CAAM,CAAC,EAAE,CAAC,CAAC;;YAE3D,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAAC,CAAA,CAAE,CAAC;AAC7C,CAAC;AAOD,MAAMC,aAAa,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAmB,GAAA;AACrD,IAAA,qBAAOC,cAAA,CAACT,UAAAA,EAAAA;QAAWG,KAAAA,EAAOI,IAAAA;AAAOC,QAAAA,QAAAA,EAAAA;;AACnC;;;;"}
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
|
-
var
|
|
6
|
+
var styledComponents = require('styled-components');
|
|
7
7
|
var theme = require('../../constants/theme.js');
|
|
8
8
|
var ActionLayout = require('./ActionLayout.js');
|
|
9
9
|
var ContentLayout = require('./ContentLayout.js');
|
|
10
10
|
var GridLayout = require('./GridLayout.js');
|
|
11
11
|
var HeaderLayout = require('./HeaderLayout.js');
|
|
12
12
|
|
|
13
|
-
const GridContainer =
|
|
13
|
+
const GridContainer = styledComponents.styled(designSystem.Box)`
|
|
14
14
|
width: 100%;
|
|
15
15
|
flex: 1;
|
|
16
16
|
display: grid;
|
|
@@ -22,7 +22,7 @@ const GridContainer = styled.styled(designSystem.Box)`
|
|
|
22
22
|
grid-template-columns: ${({ $hasSideNav })=>$hasSideNav ? `auto 1fr` : '1fr'};
|
|
23
23
|
}
|
|
24
24
|
`;
|
|
25
|
-
const SideNavContainer =
|
|
25
|
+
const SideNavContainer = styledComponents.styled(designSystem.Flex)`
|
|
26
26
|
overflow: hidden;
|
|
27
27
|
display: none;
|
|
28
28
|
background: ${({ theme })=>theme.colors.neutral0};
|
|
@@ -33,7 +33,7 @@ const SideNavContainer = styled.styled(designSystem.Flex)`
|
|
|
33
33
|
transform: none;
|
|
34
34
|
}
|
|
35
35
|
`;
|
|
36
|
-
const OverflowingItem =
|
|
36
|
+
const OverflowingItem = styledComponents.styled(designSystem.Box)`
|
|
37
37
|
position: relative;
|
|
38
38
|
overflow-x: hidden;
|
|
39
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sources":["../../../../../../admin/src/components/Layouts/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { RESPONSIVE_DEFAULT_SPACING } from '../../constants/theme';\n\nimport { ActionLayout } from './ActionLayout';\nimport { ContentLayout } from './ContentLayout';\nimport { GridLayout, GridLayoutProps } from './GridLayout';\nimport { HeaderLayout, BaseHeaderLayout } from './HeaderLayout';\n\ninterface LayoutProps extends BoxProps {\n children: React.ReactNode;\n sideNav?: React.ReactNode;\n}\n\nconst GridContainer = styled(Box)<{ $hasSideNav: boolean }>`\n width: 100%;\n flex: 1;\n display: grid;\n grid-template-columns: 1fr;\n padding: 0;\n\n ${({ theme }) => theme.breakpoints.medium} {\n overflow: hidden;\n grid-template-columns: ${({ $hasSideNav }) => ($hasSideNav ? `auto 1fr` : '1fr')};\n }\n`;\n\nconst SideNavContainer = styled(Flex)`\n overflow: hidden;\n display: none;\n background: ${({ theme }) => theme.colors.neutral0};\n\n ${({ theme }) => theme.breakpoints.medium} {\n display: block;\n box-shadow: none;\n transform: none;\n }\n`;\n\nconst OverflowingItem = styled(Box)`\n position: relative;\n overflow-x: hidden;\n\n ${({ theme }) => theme.breakpoints.medium} {\n transform: none;\n width: auto;\n }\n`;\n\nconst RootLayout = ({ sideNav, children, ...restProps }: LayoutProps) => (\n <GridContainer $hasSideNav={Boolean(sideNav)} {...restProps}>\n {sideNav && <SideNavContainer>{sideNav}</SideNavContainer>}\n <OverflowingItem paddingBottom={RESPONSIVE_DEFAULT_SPACING} data-strapi-main-content>\n {children}\n </OverflowingItem>\n </GridContainer>\n);\n\nconst Layouts = {\n Root: RootLayout,\n Header: HeaderLayout,\n BaseHeader: BaseHeaderLayout,\n Grid: GridLayout,\n Action: ActionLayout,\n Content: ContentLayout,\n};\n\nexport { Layouts, type LayoutProps, type GridLayoutProps };\n"],"names":["GridContainer","styled","Box","theme","breakpoints","medium","$hasSideNav","SideNavContainer","Flex","colors","neutral0","OverflowingItem","RootLayout","sideNav","children","restProps","_jsxs","Boolean","_jsx","paddingBottom","RESPONSIVE_DEFAULT_SPACING","data-strapi-main-content","Layouts","Root","Header","HeaderLayout","BaseHeader","BaseHeaderLayout","Grid","GridLayout","Action","ActionLayout","Content","ContentLayout"],"mappings":";;;;;;;;;;;;AAiBA,MAAMA,aAAAA,GAAgBC,
|
|
1
|
+
{"version":3,"file":"Layout.js","sources":["../../../../../../admin/src/components/Layouts/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { RESPONSIVE_DEFAULT_SPACING } from '../../constants/theme';\n\nimport { ActionLayout } from './ActionLayout';\nimport { ContentLayout } from './ContentLayout';\nimport { GridLayout, GridLayoutProps } from './GridLayout';\nimport { HeaderLayout, BaseHeaderLayout } from './HeaderLayout';\n\ninterface LayoutProps extends BoxProps {\n children: React.ReactNode;\n sideNav?: React.ReactNode;\n}\n\nconst GridContainer = styled(Box)<{ $hasSideNav: boolean }>`\n width: 100%;\n flex: 1;\n display: grid;\n grid-template-columns: 1fr;\n padding: 0;\n\n ${({ theme }) => theme.breakpoints.medium} {\n overflow: hidden;\n grid-template-columns: ${({ $hasSideNav }) => ($hasSideNav ? `auto 1fr` : '1fr')};\n }\n`;\n\nconst SideNavContainer = styled(Flex)`\n overflow: hidden;\n display: none;\n background: ${({ theme }) => theme.colors.neutral0};\n\n ${({ theme }) => theme.breakpoints.medium} {\n display: block;\n box-shadow: none;\n transform: none;\n }\n`;\n\nconst OverflowingItem = styled(Box)`\n position: relative;\n overflow-x: hidden;\n\n ${({ theme }) => theme.breakpoints.medium} {\n transform: none;\n width: auto;\n }\n`;\n\nconst RootLayout = ({ sideNav, children, ...restProps }: LayoutProps) => (\n <GridContainer $hasSideNav={Boolean(sideNav)} {...restProps}>\n {sideNav && <SideNavContainer>{sideNav}</SideNavContainer>}\n <OverflowingItem paddingBottom={RESPONSIVE_DEFAULT_SPACING} data-strapi-main-content>\n {children}\n </OverflowingItem>\n </GridContainer>\n);\n\nconst Layouts = {\n Root: RootLayout,\n Header: HeaderLayout,\n BaseHeader: BaseHeaderLayout,\n Grid: GridLayout,\n Action: ActionLayout,\n Content: ContentLayout,\n};\n\nexport { Layouts, type LayoutProps, type GridLayoutProps };\n"],"names":["GridContainer","styled","Box","theme","breakpoints","medium","$hasSideNav","SideNavContainer","Flex","colors","neutral0","OverflowingItem","RootLayout","sideNav","children","restProps","_jsxs","Boolean","_jsx","paddingBottom","RESPONSIVE_DEFAULT_SPACING","data-strapi-main-content","Layouts","Root","Header","HeaderLayout","BaseHeader","BaseHeaderLayout","Grid","GridLayout","Action","ActionLayout","Content","ContentLayout"],"mappings":";;;;;;;;;;;;AAiBA,MAAMA,aAAAA,GAAgBC,uBAAAA,CAAOC,gBAAAA,CAA8B;;;;;;;EAOzD,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,WAAW,CAACC,MAAM,CAAC;;2BAEjB,EAAE,CAAC,EAAEC,WAAW,EAAE,GAAMA,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAA,CAAO;;AAErF,CAAC;AAED,MAAMC,gBAAAA,GAAmBN,uBAAAA,CAAOO,iBAAAA,CAAK;;;cAGvB,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMM,MAAM,CAACC,QAAQ,CAAC;;EAEnD,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMC,WAAW,CAACC,MAAM,CAAC;;;;;AAK5C,CAAC;AAED,MAAMM,eAAAA,GAAkBV,uBAAAA,CAAOC,gBAAAA,CAAI;;;;EAIjC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,WAAW,CAACC,MAAM,CAAC;;;;AAI5C,CAAC;AAED,MAAMO,UAAAA,GAAa,CAAC,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGC,SAAAA,EAAwB,iBAClEC,eAAA,CAAChB,aAAAA,EAAAA;AAAcM,QAAAA,WAAAA,EAAaW,OAAAA,CAAQJ,OAAAA,CAAAA;AAAW,QAAA,GAAGE,SAAS;;AACxDF,YAAAA,OAAAA,kBAAWK,cAAA,CAACX,gBAAAA,EAAAA;AAAkBM,gBAAAA,QAAAA,EAAAA;;0BAC/BK,cAAA,CAACP,eAAAA,EAAAA;gBAAgBQ,aAAAA,EAAeC,gCAAAA;gBAA4BC,0BAAwB,EAAA,IAAA;AACjFP,gBAAAA,QAAAA,EAAAA;;;;AAKP,MAAMQ,OAAAA,GAAU;IACdC,IAAAA,EAAMX,UAAAA;IACNY,MAAAA,EAAQC,yBAAAA;IACRC,UAAAA,EAAYC,6BAAAA;IACZC,IAAAA,EAAMC,qBAAAA;IACNC,MAAAA,EAAQC,yBAAAA;IACRC,OAAAA,EAASC;AACX;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var designSystem = require('@strapi/design-system');
|
|
6
|
+
var reactRouterDom = require('react-router-dom');
|
|
7
|
+
var PageHelpers = require('./PageHelpers.js');
|
|
8
|
+
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
11
|
+
var n = Object.create(null);
|
|
12
|
+
if (e) {
|
|
13
|
+
Object.keys(e).forEach(function (k) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return e[k]; }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n.default = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
28
|
+
|
|
29
|
+
const NestedLoading = ()=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
30
|
+
alignItems: "center",
|
|
31
|
+
justifyContent: "center",
|
|
32
|
+
minHeight: "50vh",
|
|
33
|
+
padding: 8,
|
|
34
|
+
"aria-busy": true,
|
|
35
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Loader, {
|
|
36
|
+
children: "Loading content."
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Renders child routes with a visible loading state while lazy chunks load.
|
|
41
|
+
* Suspense fallbacks are suppressed during React Router transitions, so we also
|
|
42
|
+
* check `useNavigation().state` to replace stale outlet content while navigating.
|
|
43
|
+
*/ const LazyOutlet = ({ nested = false, suspenseOnly = false })=>{
|
|
44
|
+
const navigation = reactRouterDom.useNavigation();
|
|
45
|
+
const isNavigating = !suspenseOnly && navigation.state === 'loading';
|
|
46
|
+
const fallback = nested ? /*#__PURE__*/ jsxRuntime.jsx(NestedLoading, {}) : /*#__PURE__*/ jsxRuntime.jsx(PageHelpers.Page.Loading, {});
|
|
47
|
+
if (isNavigating) {
|
|
48
|
+
return fallback;
|
|
49
|
+
}
|
|
50
|
+
return /*#__PURE__*/ jsxRuntime.jsx(React__namespace.Suspense, {
|
|
51
|
+
fallback: fallback,
|
|
52
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Outlet, {})
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
exports.LazyOutlet = LazyOutlet;
|
|
57
|
+
//# sourceMappingURL=LazyOutlet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LazyOutlet.js","sources":["../../../../../admin/src/components/LazyOutlet.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Loader } from '@strapi/design-system';\nimport { Outlet, useNavigation } from 'react-router-dom';\n\nimport { Page } from './PageHelpers';\n\ninterface LazyOutletProps {\n /**\n * Compact loader for nested layout content columns (e.g. Settings, Content Manager)\n * where the parent shell should stay visible.\n */\n nested?: boolean;\n /**\n * Parent outlets only use Suspense so nested layouts can own navigation loading UX\n * (side nav stays visible while a child chunk loads).\n */\n suspenseOnly?: boolean;\n}\n\nconst NestedLoading = () => (\n <Flex alignItems=\"center\" justifyContent=\"center\" minHeight=\"50vh\" padding={8} aria-busy>\n <Loader>Loading content.</Loader>\n </Flex>\n);\n\n/**\n * Renders child routes with a visible loading state while lazy chunks load.\n * Suspense fallbacks are suppressed during React Router transitions, so we also\n * check `useNavigation().state` to replace stale outlet content while navigating.\n */\nconst LazyOutlet = ({ nested = false, suspenseOnly = false }: LazyOutletProps) => {\n const navigation = useNavigation();\n const isNavigating = !suspenseOnly && navigation.state === 'loading';\n const fallback = nested ? <NestedLoading /> : <Page.Loading />;\n\n if (isNavigating) {\n return fallback;\n }\n\n return (\n <React.Suspense fallback={fallback}>\n <Outlet />\n </React.Suspense>\n );\n};\n\nexport { LazyOutlet };\nexport type { LazyOutletProps };\n"],"names":["NestedLoading","_jsx","Flex","alignItems","justifyContent","minHeight","padding","aria-busy","Loader","LazyOutlet","nested","suspenseOnly","navigation","useNavigation","isNavigating","state","fallback","Page","Loading","React","Suspense","Outlet"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAMA,aAAAA,GAAgB,kBACpBC,cAAA,CAACC,iBAAAA,EAAAA;QAAKC,UAAAA,EAAW,QAAA;QAASC,cAAAA,EAAe,QAAA;QAASC,SAAAA,EAAU,MAAA;QAAOC,OAAAA,EAAS,CAAA;QAAGC,WAAS,EAAA,IAAA;AACtF,QAAA,QAAA,gBAAAN,cAAA,CAACO,mBAAAA,EAAAA;AAAO,YAAA,QAAA,EAAA;;;AAIZ;;;;IAKA,MAAMC,aAAa,CAAC,EAAEC,SAAS,KAAK,EAAEC,YAAAA,GAAe,KAAK,EAAmB,GAAA;AAC3E,IAAA,MAAMC,UAAAA,GAAaC,4BAAAA,EAAAA;AACnB,IAAA,MAAMC,YAAAA,GAAe,CAACH,YAAAA,IAAgBC,UAAAA,CAAWG,KAAK,KAAK,SAAA;AAC3D,IAAA,MAAMC,WAAWN,MAAAA,iBAAST,cAAA,CAACD,aAAAA,EAAAA,EAAAA,CAAAA,iBAAmBC,cAAA,CAACgB,iBAAKC,OAAO,EAAA,EAAA,CAAA;AAE3D,IAAA,IAAIJ,YAAAA,EAAc;QAChB,OAAOE,QAAAA;AACT,IAAA;IAEA,qBACEf,cAAA,CAACkB,iBAAMC,QAAQ,EAAA;QAACJ,QAAAA,EAAUA,QAAAA;AACxB,QAAA,QAAA,gBAAAf,cAAA,CAACoB,qBAAAA,EAAAA,EAAAA;;AAGP;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Flex, Loader } from '@strapi/design-system';
|
|
4
|
+
import { useNavigation, Outlet } from 'react-router-dom';
|
|
5
|
+
import { Page } from './PageHelpers.mjs';
|
|
6
|
+
|
|
7
|
+
const NestedLoading = ()=>/*#__PURE__*/ jsx(Flex, {
|
|
8
|
+
alignItems: "center",
|
|
9
|
+
justifyContent: "center",
|
|
10
|
+
minHeight: "50vh",
|
|
11
|
+
padding: 8,
|
|
12
|
+
"aria-busy": true,
|
|
13
|
+
children: /*#__PURE__*/ jsx(Loader, {
|
|
14
|
+
children: "Loading content."
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Renders child routes with a visible loading state while lazy chunks load.
|
|
19
|
+
* Suspense fallbacks are suppressed during React Router transitions, so we also
|
|
20
|
+
* check `useNavigation().state` to replace stale outlet content while navigating.
|
|
21
|
+
*/ const LazyOutlet = ({ nested = false, suspenseOnly = false })=>{
|
|
22
|
+
const navigation = useNavigation();
|
|
23
|
+
const isNavigating = !suspenseOnly && navigation.state === 'loading';
|
|
24
|
+
const fallback = nested ? /*#__PURE__*/ jsx(NestedLoading, {}) : /*#__PURE__*/ jsx(Page.Loading, {});
|
|
25
|
+
if (isNavigating) {
|
|
26
|
+
return fallback;
|
|
27
|
+
}
|
|
28
|
+
return /*#__PURE__*/ jsx(React.Suspense, {
|
|
29
|
+
fallback: fallback,
|
|
30
|
+
children: /*#__PURE__*/ jsx(Outlet, {})
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { LazyOutlet };
|
|
35
|
+
//# sourceMappingURL=LazyOutlet.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LazyOutlet.mjs","sources":["../../../../../admin/src/components/LazyOutlet.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Loader } from '@strapi/design-system';\nimport { Outlet, useNavigation } from 'react-router-dom';\n\nimport { Page } from './PageHelpers';\n\ninterface LazyOutletProps {\n /**\n * Compact loader for nested layout content columns (e.g. Settings, Content Manager)\n * where the parent shell should stay visible.\n */\n nested?: boolean;\n /**\n * Parent outlets only use Suspense so nested layouts can own navigation loading UX\n * (side nav stays visible while a child chunk loads).\n */\n suspenseOnly?: boolean;\n}\n\nconst NestedLoading = () => (\n <Flex alignItems=\"center\" justifyContent=\"center\" minHeight=\"50vh\" padding={8} aria-busy>\n <Loader>Loading content.</Loader>\n </Flex>\n);\n\n/**\n * Renders child routes with a visible loading state while lazy chunks load.\n * Suspense fallbacks are suppressed during React Router transitions, so we also\n * check `useNavigation().state` to replace stale outlet content while navigating.\n */\nconst LazyOutlet = ({ nested = false, suspenseOnly = false }: LazyOutletProps) => {\n const navigation = useNavigation();\n const isNavigating = !suspenseOnly && navigation.state === 'loading';\n const fallback = nested ? <NestedLoading /> : <Page.Loading />;\n\n if (isNavigating) {\n return fallback;\n }\n\n return (\n <React.Suspense fallback={fallback}>\n <Outlet />\n </React.Suspense>\n );\n};\n\nexport { LazyOutlet };\nexport type { LazyOutletProps };\n"],"names":["NestedLoading","_jsx","Flex","alignItems","justifyContent","minHeight","padding","aria-busy","Loader","LazyOutlet","nested","suspenseOnly","navigation","useNavigation","isNavigating","state","fallback","Page","Loading","React","Suspense","Outlet"],"mappings":";;;;;;AAoBA,MAAMA,aAAAA,GAAgB,kBACpBC,GAAA,CAACC,IAAAA,EAAAA;QAAKC,UAAAA,EAAW,QAAA;QAASC,cAAAA,EAAe,QAAA;QAASC,SAAAA,EAAU,MAAA;QAAOC,OAAAA,EAAS,CAAA;QAAGC,WAAS,EAAA,IAAA;AACtF,QAAA,QAAA,gBAAAN,GAAA,CAACO,MAAAA,EAAAA;AAAO,YAAA,QAAA,EAAA;;;AAIZ;;;;IAKA,MAAMC,aAAa,CAAC,EAAEC,SAAS,KAAK,EAAEC,YAAAA,GAAe,KAAK,EAAmB,GAAA;AAC3E,IAAA,MAAMC,UAAAA,GAAaC,aAAAA,EAAAA;AACnB,IAAA,MAAMC,YAAAA,GAAe,CAACH,YAAAA,IAAgBC,UAAAA,CAAWG,KAAK,KAAK,SAAA;AAC3D,IAAA,MAAMC,WAAWN,MAAAA,iBAAST,GAAA,CAACD,aAAAA,EAAAA,EAAAA,CAAAA,iBAAmBC,GAAA,CAACgB,KAAKC,OAAO,EAAA,EAAA,CAAA;AAE3D,IAAA,IAAIJ,YAAAA,EAAc;QAChB,OAAOE,QAAAA;AACT,IAAA;IAEA,qBACEf,GAAA,CAACkB,MAAMC,QAAQ,EAAA;QAACJ,QAAAA,EAAUA,QAAAA;AACxB,QAAA,QAAA,gBAAAf,GAAA,CAACoB,MAAAA,EAAAA,EAAAA;;AAGP;;;;"}
|
|
@@ -6,7 +6,7 @@ var designSystem = require('@strapi/design-system');
|
|
|
6
6
|
var icons = require('@strapi/icons');
|
|
7
7
|
var reactIntl = require('react-intl');
|
|
8
8
|
var reactRouterDom = require('react-router-dom');
|
|
9
|
-
var
|
|
9
|
+
var styledComponents = require('styled-components');
|
|
10
10
|
var Tracking = require('../features/Tracking.js');
|
|
11
11
|
var useMediaQuery = require('../hooks/useMediaQuery.js');
|
|
12
12
|
var MainNav = require('./MainNav/MainNav.js');
|
|
@@ -48,7 +48,7 @@ const sortLinks = (links)=>{
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
};
|
|
51
|
-
const NavListWrapper =
|
|
51
|
+
const NavListWrapper = styledComponents.styled(designSystem.Flex)`
|
|
52
52
|
width: 100%;
|
|
53
53
|
overflow-y: auto;
|
|
54
54
|
scrollbar-width: none;
|
|
@@ -58,7 +58,7 @@ const NavListWrapper = styled.styled(designSystem.Flex)`
|
|
|
58
58
|
display: none;
|
|
59
59
|
}
|
|
60
60
|
`;
|
|
61
|
-
const MenuDetails =
|
|
61
|
+
const MenuDetails = styledComponents.styled(designSystem.Flex)`
|
|
62
62
|
flex: 1;
|
|
63
63
|
flex-direction: row;
|
|
64
64
|
justify-content: space-between;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeftMenu.js","sources":["../../../../../admin/src/components/LeftMenu.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Divider, Flex, FlexComponent, IconButton, useCollator } from '@strapi/design-system';\nimport { Cross, List } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../features/Tracking';\nimport { useIsDesktop } from '../hooks/useMediaQuery';\nimport { Menu, MenuItem, MobileMenuItem } from '../hooks/useMenu';\n\nimport { MainNav } from './MainNav/MainNav';\nimport { MainNavIcons } from './MainNav/MainNavLinks';\nimport { NavBrand } from './MainNav/NavBrand';\nimport { NavBurgerMenu } from './MainNav/NavBurgerMenu';\nimport { NavUser } from './MainNav/NavUser';\nimport { TrialCountdown } from './MainNav/TrialCountdown';\n\nconst sortLinks = (links: MenuItem[]) => {\n return links.sort((a, b) => {\n // if no position is defined, we put the link in the position of the external plugins, before the plugins list\n const positionA = a.position ?? 6;\n const positionB = b.position ?? 6;\n\n if (positionA < positionB) {\n return -1;\n } else {\n return 1;\n }\n });\n};\n\nconst NavListWrapper = styled<FlexComponent<'ul'>>(Flex)`\n width: 100%;\n overflow-y: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n\ninterface LeftMenuProps\n extends Pick<\n Menu,\n 'generalSectionLinks' | 'pluginsSectionLinks' | 'topMobileNavigation' | 'burgerMobileNavigation'\n > {}\n\nconst MenuDetails = styled(Flex)`\n flex: 1;\n flex-direction: row;\n justify-content: space-between;\n overflow-x: auto;\n\n ${({ theme }) => theme.breakpoints.large} {\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n }\n`;\n\nconst LeftMenu = ({\n generalSectionLinks = [],\n pluginsSectionLinks = [],\n topMobileNavigation = [],\n burgerMobileNavigation = [],\n}: LeftMenuProps) => {\n const [isBurgerMenuShown, setIsBurgerMenuShown] = React.useState(false);\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n const isDesktop = useIsDesktop();\n\n const handleClickOnLink = (destination: string) => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n // Close burger menu when route changes\n React.useEffect(() => {\n setIsBurgerMenuShown(false);\n }, [pathname]);\n\n const listLinksAlphabeticallySorted = [...pluginsSectionLinks, ...generalSectionLinks].sort(\n (a, b) => formatter.compare(formatMessage(a.intlLabel), formatMessage(b.intlLabel))\n );\n const listLinks = sortLinks(listLinksAlphabeticallySorted);\n\n /**\n * Return filtered mobile navigation links (used for both top and burger menu)\n */\n const mapMobileNavigationLinks = (mobileNavLinks: MobileMenuItem[]): MenuItem[] =>\n mobileNavLinks.reduce<MenuItem[]>((acc, mobileLink) => {\n const linkFound = listLinks.find((link) => link.to === mobileLink.to);\n if (linkFound) {\n acc.push(mobileLink.link ? { ...linkFound, navigationLink: mobileLink.link } : linkFound);\n }\n return acc;\n }, []);\n\n /**\n * Mobile top navigation\n */\n const topMobileNavigationLinks = mapMobileNavigationLinks(topMobileNavigation);\n\n /**\n * Mobile burger menu\n */\n const excludedPluginsFromBurgerMenu = [\n 'content-manager',\n 'content-type-builder',\n 'upload',\n 'content-releases',\n ];\n const burgerMenuPluginsLinks = pluginsSectionLinks.filter(\n (plugin) => !excludedPluginsFromBurgerMenu.some((link) => plugin.to.includes(link))\n );\n const burgerMobileNavigationLinks = [\n ...burgerMenuPluginsLinks,\n ...mapMobileNavigationLinks(burgerMobileNavigation),\n ];\n\n return (\n <>\n <MainNav>\n <NavBrand />\n\n {isDesktop && <Divider />}\n\n <MenuDetails>\n <NavListWrapper\n tag=\"ul\"\n gap={3}\n direction={{\n initial: 'row',\n large: 'column',\n }}\n alignItems=\"center\"\n justifyContent={{\n initial: 'center',\n large: 'flex-start',\n }}\n flex={1}\n paddingLeft={{\n initial: 3,\n large: 0,\n }}\n paddingRight={{\n initial: 3,\n large: 0,\n }}\n paddingTop={3}\n paddingBottom={3}\n >\n <MainNavIcons\n listLinks={listLinks}\n mobileLinks={topMobileNavigationLinks}\n handleClickOnLink={handleClickOnLink}\n />\n </NavListWrapper>\n <TrialCountdown />\n <Box\n display={{\n initial: 'none',\n large: 'flex',\n }}\n borderStyle=\"solid\"\n borderWidth={{\n initial: 0,\n large: '1px 0 0 0',\n }}\n borderColor=\"neutral150\"\n padding={3}\n >\n <NavUser />\n </Box>\n </MenuDetails>\n\n <Box\n padding={3}\n display={{\n initial: 'flex',\n large: 'none',\n }}\n >\n <IconButton\n onClick={() => setIsBurgerMenuShown((prev) => !prev)}\n style={{ border: 'none' }}\n label=\"Menu\"\n type=\"button\"\n aria-expanded={isBurgerMenuShown}\n aria-controls=\"burger-menu\"\n >\n {!isBurgerMenuShown ? <List fill=\"neutral1000\" /> : <Cross fill=\"neutral1000\" />}\n </IconButton>\n </Box>\n </MainNav>\n <NavBurgerMenu\n isShown={isBurgerMenuShown}\n listLinks={burgerMobileNavigationLinks}\n handleClickOnLink={handleClickOnLink}\n onClose={() => setIsBurgerMenuShown(false)}\n />\n </>\n );\n};\n\nexport { LeftMenu };\n"],"names":["sortLinks","links","sort","a","b","positionA","position","positionB","NavListWrapper","styled","Flex","MenuDetails","theme","breakpoints","large","LeftMenu","generalSectionLinks","pluginsSectionLinks","topMobileNavigation","burgerMobileNavigation","isBurgerMenuShown","setIsBurgerMenuShown","React","useState","trackUsage","useTracking","pathname","useLocation","formatMessage","locale","useIntl","formatter","useCollator","sensitivity","isDesktop","useIsDesktop","handleClickOnLink","destination","from","to","useEffect","listLinksAlphabeticallySorted","compare","intlLabel","listLinks","mapMobileNavigationLinks","mobileNavLinks","reduce","acc","mobileLink","linkFound","find","link","push","navigationLink","topMobileNavigationLinks","excludedPluginsFromBurgerMenu","burgerMenuPluginsLinks","filter","plugin","some","includes","burgerMobileNavigationLinks","_jsxs","_Fragment","MainNav","_jsx","NavBrand","Divider","tag","gap","direction","initial","alignItems","justifyContent","flex","paddingLeft","paddingRight","paddingTop","paddingBottom","MainNavIcons","mobileLinks","TrialCountdown","Box","display","borderStyle","borderWidth","borderColor","padding","NavUser","IconButton","onClick","prev","style","border","label","type","aria-expanded","aria-controls","List","fill","Cross","NavBurgerMenu","isShown","onClose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LeftMenu.js","sources":["../../../../../admin/src/components/LeftMenu.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Divider, Flex, FlexComponent, IconButton, useCollator } from '@strapi/design-system';\nimport { Cross, List } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../features/Tracking';\nimport { useIsDesktop } from '../hooks/useMediaQuery';\nimport { Menu, MenuItem, MobileMenuItem } from '../hooks/useMenu';\n\nimport { MainNav } from './MainNav/MainNav';\nimport { MainNavIcons } from './MainNav/MainNavLinks';\nimport { NavBrand } from './MainNav/NavBrand';\nimport { NavBurgerMenu } from './MainNav/NavBurgerMenu';\nimport { NavUser } from './MainNav/NavUser';\nimport { TrialCountdown } from './MainNav/TrialCountdown';\n\nconst sortLinks = (links: MenuItem[]) => {\n return links.sort((a, b) => {\n // if no position is defined, we put the link in the position of the external plugins, before the plugins list\n const positionA = a.position ?? 6;\n const positionB = b.position ?? 6;\n\n if (positionA < positionB) {\n return -1;\n } else {\n return 1;\n }\n });\n};\n\nconst NavListWrapper = styled<FlexComponent<'ul'>>(Flex)`\n width: 100%;\n overflow-y: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n\ninterface LeftMenuProps\n extends Pick<\n Menu,\n 'generalSectionLinks' | 'pluginsSectionLinks' | 'topMobileNavigation' | 'burgerMobileNavigation'\n > {}\n\nconst MenuDetails = styled(Flex)`\n flex: 1;\n flex-direction: row;\n justify-content: space-between;\n overflow-x: auto;\n\n ${({ theme }) => theme.breakpoints.large} {\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n }\n`;\n\nconst LeftMenu = ({\n generalSectionLinks = [],\n pluginsSectionLinks = [],\n topMobileNavigation = [],\n burgerMobileNavigation = [],\n}: LeftMenuProps) => {\n const [isBurgerMenuShown, setIsBurgerMenuShown] = React.useState(false);\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n const isDesktop = useIsDesktop();\n\n const handleClickOnLink = (destination: string) => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n // Close burger menu when route changes\n React.useEffect(() => {\n setIsBurgerMenuShown(false);\n }, [pathname]);\n\n const listLinksAlphabeticallySorted = [...pluginsSectionLinks, ...generalSectionLinks].sort(\n (a, b) => formatter.compare(formatMessage(a.intlLabel), formatMessage(b.intlLabel))\n );\n const listLinks = sortLinks(listLinksAlphabeticallySorted);\n\n /**\n * Return filtered mobile navigation links (used for both top and burger menu)\n */\n const mapMobileNavigationLinks = (mobileNavLinks: MobileMenuItem[]): MenuItem[] =>\n mobileNavLinks.reduce<MenuItem[]>((acc, mobileLink) => {\n const linkFound = listLinks.find((link) => link.to === mobileLink.to);\n if (linkFound) {\n acc.push(mobileLink.link ? { ...linkFound, navigationLink: mobileLink.link } : linkFound);\n }\n return acc;\n }, []);\n\n /**\n * Mobile top navigation\n */\n const topMobileNavigationLinks = mapMobileNavigationLinks(topMobileNavigation);\n\n /**\n * Mobile burger menu\n */\n const excludedPluginsFromBurgerMenu = [\n 'content-manager',\n 'content-type-builder',\n 'upload',\n 'content-releases',\n ];\n const burgerMenuPluginsLinks = pluginsSectionLinks.filter(\n (plugin) => !excludedPluginsFromBurgerMenu.some((link) => plugin.to.includes(link))\n );\n const burgerMobileNavigationLinks = [\n ...burgerMenuPluginsLinks,\n ...mapMobileNavigationLinks(burgerMobileNavigation),\n ];\n\n return (\n <>\n <MainNav>\n <NavBrand />\n\n {isDesktop && <Divider />}\n\n <MenuDetails>\n <NavListWrapper\n tag=\"ul\"\n gap={3}\n direction={{\n initial: 'row',\n large: 'column',\n }}\n alignItems=\"center\"\n justifyContent={{\n initial: 'center',\n large: 'flex-start',\n }}\n flex={1}\n paddingLeft={{\n initial: 3,\n large: 0,\n }}\n paddingRight={{\n initial: 3,\n large: 0,\n }}\n paddingTop={3}\n paddingBottom={3}\n >\n <MainNavIcons\n listLinks={listLinks}\n mobileLinks={topMobileNavigationLinks}\n handleClickOnLink={handleClickOnLink}\n />\n </NavListWrapper>\n <TrialCountdown />\n <Box\n display={{\n initial: 'none',\n large: 'flex',\n }}\n borderStyle=\"solid\"\n borderWidth={{\n initial: 0,\n large: '1px 0 0 0',\n }}\n borderColor=\"neutral150\"\n padding={3}\n >\n <NavUser />\n </Box>\n </MenuDetails>\n\n <Box\n padding={3}\n display={{\n initial: 'flex',\n large: 'none',\n }}\n >\n <IconButton\n onClick={() => setIsBurgerMenuShown((prev) => !prev)}\n style={{ border: 'none' }}\n label=\"Menu\"\n type=\"button\"\n aria-expanded={isBurgerMenuShown}\n aria-controls=\"burger-menu\"\n >\n {!isBurgerMenuShown ? <List fill=\"neutral1000\" /> : <Cross fill=\"neutral1000\" />}\n </IconButton>\n </Box>\n </MainNav>\n <NavBurgerMenu\n isShown={isBurgerMenuShown}\n listLinks={burgerMobileNavigationLinks}\n handleClickOnLink={handleClickOnLink}\n onClose={() => setIsBurgerMenuShown(false)}\n />\n </>\n );\n};\n\nexport { LeftMenu };\n"],"names":["sortLinks","links","sort","a","b","positionA","position","positionB","NavListWrapper","styled","Flex","MenuDetails","theme","breakpoints","large","LeftMenu","generalSectionLinks","pluginsSectionLinks","topMobileNavigation","burgerMobileNavigation","isBurgerMenuShown","setIsBurgerMenuShown","React","useState","trackUsage","useTracking","pathname","useLocation","formatMessage","locale","useIntl","formatter","useCollator","sensitivity","isDesktop","useIsDesktop","handleClickOnLink","destination","from","to","useEffect","listLinksAlphabeticallySorted","compare","intlLabel","listLinks","mapMobileNavigationLinks","mobileNavLinks","reduce","acc","mobileLink","linkFound","find","link","push","navigationLink","topMobileNavigationLinks","excludedPluginsFromBurgerMenu","burgerMenuPluginsLinks","filter","plugin","some","includes","burgerMobileNavigationLinks","_jsxs","_Fragment","MainNav","_jsx","NavBrand","Divider","tag","gap","direction","initial","alignItems","justifyContent","flex","paddingLeft","paddingRight","paddingTop","paddingBottom","MainNavIcons","mobileLinks","TrialCountdown","Box","display","borderStyle","borderWidth","borderColor","padding","NavUser","IconButton","onClick","prev","style","border","label","type","aria-expanded","aria-controls","List","fill","Cross","NavBurgerMenu","isShown","onClose"],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
|
-
var
|
|
5
|
+
var styledComponents = require('styled-components');
|
|
6
6
|
|
|
7
|
-
const MainNavWrapper =
|
|
7
|
+
const MainNavWrapper = styledComponents.styled(designSystem.Flex)`
|
|
8
8
|
border-bottom: 1px solid ${({ theme })=>theme.colors.neutral150};
|
|
9
9
|
position: sticky;
|
|
10
10
|
max-height: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainNav.js","sources":["../../../../../../admin/src/components/MainNav/MainNav.tsx"],"sourcesContent":["import { Flex, FlexProps } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst MainNavWrapper = styled(Flex)`\n border-bottom: 1px solid ${({ theme }) => theme.colors.neutral150};\n position: sticky;\n max-height: 100%;\n height: auto;\n z-index: 4;\n\n ${({ theme }) => theme.breakpoints.large} {\n border-bottom: none;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n height: 100dvh;\n }\n`;\n\nconst MainNav = (props: FlexProps<'nav'>) => (\n <MainNavWrapper\n alignItems=\"normal\"\n tag=\"nav\"\n background=\"neutral0\"\n direction={{\n initial: 'row',\n large: 'column',\n }}\n width={{\n initial: '100dvw',\n large: 10,\n }}\n {...props}\n />\n);\n\nexport { MainNav };\n"],"names":["MainNavWrapper","styled","Flex","theme","colors","neutral150","breakpoints","large","MainNav","props","_jsx","alignItems","tag","background","direction","initial","width"],"mappings":";;;;;;AAGA,MAAMA,cAAAA,GAAiBC,
|
|
1
|
+
{"version":3,"file":"MainNav.js","sources":["../../../../../../admin/src/components/MainNav/MainNav.tsx"],"sourcesContent":["import { Flex, FlexProps } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst MainNavWrapper = styled(Flex)`\n border-bottom: 1px solid ${({ theme }) => theme.colors.neutral150};\n position: sticky;\n max-height: 100%;\n height: auto;\n z-index: 4;\n\n ${({ theme }) => theme.breakpoints.large} {\n border-bottom: none;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n height: 100dvh;\n }\n`;\n\nconst MainNav = (props: FlexProps<'nav'>) => (\n <MainNavWrapper\n alignItems=\"normal\"\n tag=\"nav\"\n background=\"neutral0\"\n direction={{\n initial: 'row',\n large: 'column',\n }}\n width={{\n initial: '100dvw',\n large: 10,\n }}\n {...props}\n />\n);\n\nexport { MainNav };\n"],"names":["MainNavWrapper","styled","Flex","theme","colors","neutral150","breakpoints","large","MainNav","props","_jsx","alignItems","tag","background","direction","initial","width"],"mappings":";;;;;;AAGA,MAAMA,cAAAA,GAAiBC,uBAAAA,CAAOC,iBAAAA,CAAK;2BACR,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;;;;EAMlE,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMG,WAAW,CAACC,KAAK,CAAC;;4BAEf,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;AAGrE,CAAC;AAED,MAAMG,OAAAA,GAAU,CAACC,KAAAA,iBACfC,cAAA,CAACV,cAAAA,EAAAA;QACCW,UAAAA,EAAW,QAAA;QACXC,GAAAA,EAAI,KAAA;QACJC,UAAAA,EAAW,UAAA;QACXC,SAAAA,EAAW;YACTC,OAAAA,EAAS,KAAA;YACTR,KAAAA,EAAO;AACT,SAAA;QACAS,KAAAA,EAAO;YACLD,OAAAA,EAAS,QAAA;YACTR,KAAAA,EAAO;AACT,SAAA;AACC,QAAA,GAAGE;;;;;"}
|
|
@@ -5,15 +5,15 @@ require('react');
|
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
6
|
var icons = require('@strapi/icons');
|
|
7
7
|
var reactIntl = require('react-intl');
|
|
8
|
-
var
|
|
8
|
+
var styledComponents = require('styled-components');
|
|
9
9
|
var useMediaQuery = require('../../hooks/useMediaQuery.js');
|
|
10
10
|
var Tours = require('../GuidedTour/Tours.js');
|
|
11
11
|
var NavLink = require('./NavLink.js');
|
|
12
12
|
|
|
13
|
-
const NavLinkBadgeLock =
|
|
13
|
+
const NavLinkBadgeLock = styledComponents.styled(NavLink.NavLink.Badge)`
|
|
14
14
|
background-color: transparent;
|
|
15
15
|
`;
|
|
16
|
-
const NavLinkBadgeCounter =
|
|
16
|
+
const NavLinkBadgeCounter = styledComponents.styled(NavLink.NavLink.Badge)`
|
|
17
17
|
span {
|
|
18
18
|
color: ${({ theme })=>theme.colors.neutral0};
|
|
19
19
|
}
|
|
@@ -99,7 +99,7 @@ const MainNavIcons = ({ listLinks, mobileLinks, handleClickOnLink })=>{
|
|
|
99
99
|
}, link.to) : null;
|
|
100
100
|
}) : null;
|
|
101
101
|
};
|
|
102
|
-
const IconContainer =
|
|
102
|
+
const IconContainer = styledComponents.styled(designSystem.Box)`
|
|
103
103
|
svg {
|
|
104
104
|
display: block;
|
|
105
105
|
}
|