@strapi/admin 5.50.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 +4 -4
- package/dist/admin/admin/src/components/ErrorElement.js.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/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/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 +7 -7
- package/dist/admin/admin/src/components/MainNav/NavUser.js.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/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/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.map +1 -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 +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +1 -1
- 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/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/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 +0 -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 +0 -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 +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.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 +10 -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/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/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/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/translations/ja.json.js +693 -687
- package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.mjs +693 -687
- package/dist/admin/admin/src/translations/ja.json.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/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/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/src/StrapiApp.d.ts +2 -2
- 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/Renderer.d.ts +1 -1
- package/dist/admin/src/components/GuidedTour/Steps/Step.d.ts +1 -1
- package/dist/admin/src/components/SubNav.d.ts +1 -1
- package/dist/admin/src/components/Table.d.ts +3 -2
- package/dist/admin/src/core/apis/Plugin.d.ts +1 -1
- package/dist/admin/src/core/utils/createHook.d.ts +6 -6
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/hooks/useMenu.d.ts +1 -1
- package/dist/admin/src/hooks/useQueryParams.d.ts +2 -1
- package/dist/admin/src/hooks/useThrottledCallback.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/services/admin.d.ts +6 -6
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +2 -2
- package/dist/admin/src/services/auth.d.ts +12 -12
- package/dist/admin/src/services/contentApi.d.ts +1 -1
- 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 +8 -8
- package/dist/admin/src/services/webhooks.d.ts +2 -2
- 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/objects.d.ts +6 -4
- package/dist/admin/src/utils/once.d.ts +1 -1
- package/dist/admin/src/utils/widgetVisibility.d.ts +11 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +2 -1
- package/dist/ee/admin/src/services/ai.d.ts +3 -3
- package/dist/ee/admin/src/services/auditLogs.d.ts +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 +5 -1
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/role.mjs +5 -1
- package/dist/server/server/src/services/role.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/services/permission/sections-builder/handlers.d.ts.map +1 -1
- package/dist/server/src/services/role.d.ts.map +1 -1
- package/dist/server/src/validation/common-validators.d.ts.map +1 -1
- package/dist/server/src/validation/role.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainNavLinks.js","sources":["../../../../../../admin/src/components/MainNav/MainNavLinks.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { type To } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useIsDesktop } from '../../hooks/useMediaQuery';\nimport { MenuItem } from '../../hooks/useMenu';\nimport { tours } from '../GuidedTour/Tours';\n\nimport { NavLink } from './NavLink';\n\nconst NavLinkBadgeLock = styled(NavLink.Badge)`\n background-color: transparent;\n`;\n\nconst NavLinkBadgeCounter = styled(NavLink.Badge)`\n span {\n color: ${({ theme }) => theme.colors.neutral0};\n }\n`;\n\n/**\n * Will attach a guided tour tooltip to the right links. (mostly used for the finish step to indicate the next tour)\n * @param to: The target link\n * @param children: The original link to be wrapped in a guided tour tooltip\n * @returns The link wrapped in a guided tour tooltip or the original link if no guided tour needs to be attached\n */\nconst GuidedTourTooltip = ({ to, children }: { to: To; children: React.ReactNode }) => {\n const normalizedTo = to.toString().replace(/\\//g, '');\n\n switch (normalizedTo) {\n // We attach the final step of the content type builder tour on content manager link because it's the next tour (Content Type Builder -> Content Manager).\n case 'content-manager':\n return <tours.contentTypeBuilder.Finish>{children}</tours.contentTypeBuilder.Finish>;\n // We attach the final step of the api tokens tour on the home link because it was the last tour (API Tokens -> Go back to homepage).\n case '':\n return <tours.apiTokens.Finish>{children}</tours.apiTokens.Finish>;\n // We attach the final step of the content manager tour on the settings link because it's the next tour (Content Manager -> API tokens).\n case 'settings':\n return <tours.contentManager.Finish>{children}</tours.contentManager.Finish>;\n // If the link doesn't match any of the above, we return the original link.\n default:\n return children;\n }\n};\n\nconst MainNavIcons = ({\n listLinks,\n mobileLinks,\n handleClickOnLink,\n}: {\n listLinks: MenuItem[];\n mobileLinks: MenuItem[];\n handleClickOnLink: (value: string) => void;\n}) => {\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n return listLinks.length > 0\n ? listLinks.map((link) => {\n const LinkIcon = link.icon;\n const badgeContentLock = link?.licenseOnly ? <Lightning fill=\"primary600\" /> : undefined;\n\n const badgeContentNumeric =\n link.notificationsCount && link.notificationsCount > 0\n ? link.notificationsCount.toString()\n : undefined;\n\n const labelValue = formatMessage(link.intlLabel);\n const linkMobile = mobileLinks.find((mobileLink) => mobileLink.to === link.to);\n\n const LinkElement = () => (\n <NavLink.NavButton\n to={link.to}\n target={link.target}\n onClick={() => handleClickOnLink(link.to)}\n aria-label={labelValue}\n >\n <NavLink.Icon label={labelValue}>\n <LinkIcon width=\"20\" height=\"20\" fill=\"neutral500\" />\n </NavLink.Icon>\n {badgeContentLock ? (\n <NavLinkBadgeLock\n label=\"locked\"\n textColor=\"neutral500\"\n paddingLeft={0}\n paddingRight={0}\n >\n {badgeContentLock}\n </NavLinkBadgeLock>\n ) : badgeContentNumeric ? (\n <NavLinkBadgeCounter\n label={badgeContentNumeric}\n backgroundColor=\"primary600\"\n width=\"2.3rem\"\n color=\"neutral0\"\n >\n {badgeContentNumeric}\n </NavLinkBadgeCounter>\n ) : null}\n </NavLink.NavButton>\n );\n\n return isDesktop || (!isDesktop && linkMobile) ? (\n <Flex tag=\"li\" key={link.to}>\n <GuidedTourTooltip to={link.to}>\n <NavLink.Tooltip position={isDesktop ? 'right' : 'bottom'} label={labelValue}>\n <LinkElement />\n </NavLink.Tooltip>\n </GuidedTourTooltip>\n </Flex>\n ) : null;\n })\n : null;\n};\n\nconst IconContainer = styled(Box)`\n svg {\n display: block;\n }\n`;\n\nconst MainNavBurgerMenuLinks = ({\n listLinks,\n handleClickOnLink,\n}: {\n listLinks: MenuItem[];\n handleClickOnLink: (value: string) => void;\n}) => {\n const { formatMessage } = useIntl();\n\n return listLinks.length > 0\n ? listLinks.map((link) => {\n const LinkIcon = link.icon;\n const badgeContentLock = link?.licenseOnly ? <Lightning fill=\"primary600\" /> : undefined;\n\n const badgeContentNumeric =\n link.notificationsCount && link.notificationsCount > 0\n ? link.notificationsCount.toString()\n : undefined;\n\n const labelValue = formatMessage(link.intlLabel);\n const navigationTarget = link.navigationLink || link.to;\n\n return (\n <Flex alignItems=\"center\" tag=\"li\" key={navigationTarget}>\n <NavLink.Link\n to={navigationTarget}\n onClick={() => handleClickOnLink(navigationTarget)}\n aria-label={labelValue}\n >\n <Flex alignItems=\"center\" gap={3}>\n <IconContainer>\n <LinkIcon width=\"20\" height=\"20\" fill=\"neutral500\" />\n </IconContainer>\n <Typography>{labelValue}</Typography>\n {badgeContentLock ? (\n <NavLinkBadgeLock\n label=\"locked\"\n textColor=\"neutral500\"\n paddingLeft={0}\n paddingRight={0}\n >\n {badgeContentLock}\n </NavLinkBadgeLock>\n ) : badgeContentNumeric ? (\n <NavLinkBadgeCounter\n label={badgeContentNumeric}\n backgroundColor=\"primary600\"\n width=\"2.3rem\"\n color=\"neutral0\"\n >\n {badgeContentNumeric}\n </NavLinkBadgeCounter>\n ) : null}\n </Flex>\n </NavLink.Link>\n </Flex>\n );\n })\n : null;\n};\n\nexport { MainNavIcons, MainNavBurgerMenuLinks };\n"],"names":["NavLinkBadgeLock","styled","NavLink","Badge","NavLinkBadgeCounter","theme","colors","neutral0","GuidedTourTooltip","to","children","normalizedTo","toString","replace","_jsx","tours","contentTypeBuilder","Finish","apiTokens","contentManager","MainNavIcons","listLinks","mobileLinks","handleClickOnLink","formatMessage","useIntl","isDesktop","useIsDesktop","length","map","link","LinkIcon","icon","badgeContentLock","licenseOnly","Lightning","fill","undefined","badgeContentNumeric","notificationsCount","labelValue","intlLabel","linkMobile","find","mobileLink","LinkElement","_jsxs","NavButton","target","onClick","aria-label","Icon","label","width","height","textColor","paddingLeft","paddingRight","backgroundColor","color","Flex","tag","Tooltip","position","IconContainer","Box","MainNavBurgerMenuLinks","navigationTarget","navigationLink","alignItems","Link","gap","Typography"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MainNavLinks.js","sources":["../../../../../../admin/src/components/MainNav/MainNavLinks.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { type To } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useIsDesktop } from '../../hooks/useMediaQuery';\nimport { MenuItem } from '../../hooks/useMenu';\nimport { tours } from '../GuidedTour/Tours';\n\nimport { NavLink } from './NavLink';\n\nconst NavLinkBadgeLock = styled(NavLink.Badge)`\n background-color: transparent;\n`;\n\nconst NavLinkBadgeCounter = styled(NavLink.Badge)`\n span {\n color: ${({ theme }) => theme.colors.neutral0};\n }\n`;\n\n/**\n * Will attach a guided tour tooltip to the right links. (mostly used for the finish step to indicate the next tour)\n * @param to: The target link\n * @param children: The original link to be wrapped in a guided tour tooltip\n * @returns The link wrapped in a guided tour tooltip or the original link if no guided tour needs to be attached\n */\nconst GuidedTourTooltip = ({ to, children }: { to: To; children: React.ReactNode }) => {\n const normalizedTo = to.toString().replace(/\\//g, '');\n\n switch (normalizedTo) {\n // We attach the final step of the content type builder tour on content manager link because it's the next tour (Content Type Builder -> Content Manager).\n case 'content-manager':\n return <tours.contentTypeBuilder.Finish>{children}</tours.contentTypeBuilder.Finish>;\n // We attach the final step of the api tokens tour on the home link because it was the last tour (API Tokens -> Go back to homepage).\n case '':\n return <tours.apiTokens.Finish>{children}</tours.apiTokens.Finish>;\n // We attach the final step of the content manager tour on the settings link because it's the next tour (Content Manager -> API tokens).\n case 'settings':\n return <tours.contentManager.Finish>{children}</tours.contentManager.Finish>;\n // If the link doesn't match any of the above, we return the original link.\n default:\n return children;\n }\n};\n\nconst MainNavIcons = ({\n listLinks,\n mobileLinks,\n handleClickOnLink,\n}: {\n listLinks: MenuItem[];\n mobileLinks: MenuItem[];\n handleClickOnLink: (value: string) => void;\n}) => {\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n return listLinks.length > 0\n ? listLinks.map((link) => {\n const LinkIcon = link.icon;\n const badgeContentLock = link?.licenseOnly ? <Lightning fill=\"primary600\" /> : undefined;\n\n const badgeContentNumeric =\n link.notificationsCount && link.notificationsCount > 0\n ? link.notificationsCount.toString()\n : undefined;\n\n const labelValue = formatMessage(link.intlLabel);\n const linkMobile = mobileLinks.find((mobileLink) => mobileLink.to === link.to);\n\n const LinkElement = () => (\n <NavLink.NavButton\n to={link.to}\n target={link.target}\n onClick={() => handleClickOnLink(link.to)}\n aria-label={labelValue}\n >\n <NavLink.Icon label={labelValue}>\n <LinkIcon width=\"20\" height=\"20\" fill=\"neutral500\" />\n </NavLink.Icon>\n {badgeContentLock ? (\n <NavLinkBadgeLock\n label=\"locked\"\n textColor=\"neutral500\"\n paddingLeft={0}\n paddingRight={0}\n >\n {badgeContentLock}\n </NavLinkBadgeLock>\n ) : badgeContentNumeric ? (\n <NavLinkBadgeCounter\n label={badgeContentNumeric}\n backgroundColor=\"primary600\"\n width=\"2.3rem\"\n color=\"neutral0\"\n >\n {badgeContentNumeric}\n </NavLinkBadgeCounter>\n ) : null}\n </NavLink.NavButton>\n );\n\n return isDesktop || (!isDesktop && linkMobile) ? (\n <Flex tag=\"li\" key={link.to}>\n <GuidedTourTooltip to={link.to}>\n <NavLink.Tooltip position={isDesktop ? 'right' : 'bottom'} label={labelValue}>\n <LinkElement />\n </NavLink.Tooltip>\n </GuidedTourTooltip>\n </Flex>\n ) : null;\n })\n : null;\n};\n\nconst IconContainer = styled(Box)`\n svg {\n display: block;\n }\n`;\n\nconst MainNavBurgerMenuLinks = ({\n listLinks,\n handleClickOnLink,\n}: {\n listLinks: MenuItem[];\n handleClickOnLink: (value: string) => void;\n}) => {\n const { formatMessage } = useIntl();\n\n return listLinks.length > 0\n ? listLinks.map((link) => {\n const LinkIcon = link.icon;\n const badgeContentLock = link?.licenseOnly ? <Lightning fill=\"primary600\" /> : undefined;\n\n const badgeContentNumeric =\n link.notificationsCount && link.notificationsCount > 0\n ? link.notificationsCount.toString()\n : undefined;\n\n const labelValue = formatMessage(link.intlLabel);\n const navigationTarget = link.navigationLink || link.to;\n\n return (\n <Flex alignItems=\"center\" tag=\"li\" key={navigationTarget}>\n <NavLink.Link\n to={navigationTarget}\n onClick={() => handleClickOnLink(navigationTarget)}\n aria-label={labelValue}\n >\n <Flex alignItems=\"center\" gap={3}>\n <IconContainer>\n <LinkIcon width=\"20\" height=\"20\" fill=\"neutral500\" />\n </IconContainer>\n <Typography>{labelValue}</Typography>\n {badgeContentLock ? (\n <NavLinkBadgeLock\n label=\"locked\"\n textColor=\"neutral500\"\n paddingLeft={0}\n paddingRight={0}\n >\n {badgeContentLock}\n </NavLinkBadgeLock>\n ) : badgeContentNumeric ? (\n <NavLinkBadgeCounter\n label={badgeContentNumeric}\n backgroundColor=\"primary600\"\n width=\"2.3rem\"\n color=\"neutral0\"\n >\n {badgeContentNumeric}\n </NavLinkBadgeCounter>\n ) : null}\n </Flex>\n </NavLink.Link>\n </Flex>\n );\n })\n : null;\n};\n\nexport { MainNavIcons, MainNavBurgerMenuLinks };\n"],"names":["NavLinkBadgeLock","styled","NavLink","Badge","NavLinkBadgeCounter","theme","colors","neutral0","GuidedTourTooltip","to","children","normalizedTo","toString","replace","_jsx","tours","contentTypeBuilder","Finish","apiTokens","contentManager","MainNavIcons","listLinks","mobileLinks","handleClickOnLink","formatMessage","useIntl","isDesktop","useIsDesktop","length","map","link","LinkIcon","icon","badgeContentLock","licenseOnly","Lightning","fill","undefined","badgeContentNumeric","notificationsCount","labelValue","intlLabel","linkMobile","find","mobileLink","LinkElement","_jsxs","NavButton","target","onClick","aria-label","Icon","label","width","height","textColor","paddingLeft","paddingRight","backgroundColor","color","Flex","tag","Tooltip","position","IconContainer","Box","MainNavBurgerMenuLinks","navigationTarget","navigationLink","alignItems","Link","gap","Typography"],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
5
|
var reactIntl = require('react-intl');
|
|
6
|
-
var
|
|
6
|
+
var styledComponents = require('styled-components');
|
|
7
7
|
var Configuration = require('../../features/Configuration.js');
|
|
8
8
|
|
|
9
|
-
const BrandIconWrapper =
|
|
9
|
+
const BrandIconWrapper = styledComponents.styled(designSystem.Flex)`
|
|
10
10
|
svg,
|
|
11
11
|
img {
|
|
12
12
|
border-radius: ${({ theme })=>theme.borderRadius};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavBrand.js","sources":["../../../../../../admin/src/components/MainNav/NavBrand.tsx"],"sourcesContent":["import { Box, Flex, type FlexComponent, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useConfiguration } from '../../features/Configuration';\n\nconst BrandIconWrapper = styled<FlexComponent>(Flex)`\n svg,\n img {\n border-radius: ${({ theme }) => theme.borderRadius};\n object-fit: contain;\n height: 2.4rem;\n width: 2.4rem;\n }\n`;\n\nexport const NavBrand = () => {\n const { formatMessage } = useIntl();\n const {\n logos: { menu },\n } = useConfiguration('LeftMenu');\n return (\n <Flex alignItems=\"center\" padding={3}>\n <Box padding={{ initial: 1, medium: 0 }}>\n <BrandIconWrapper direction=\"column\" justifyContent=\"center\" width=\"3.2rem\" height=\"3.2rem\">\n <img\n src={menu.custom?.url || menu.default}\n alt={formatMessage({\n id: 'app.components.LeftMenu.logo.alt',\n defaultMessage: 'Application logo',\n })}\n width=\"100%\"\n height=\"100%\"\n />\n <VisuallyHidden>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.title',\n defaultMessage: 'Strapi Dashboard',\n })}\n </span>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.workplace',\n defaultMessage: 'Workplace',\n })}\n </span>\n </VisuallyHidden>\n </BrandIconWrapper>\n </Box>\n </Flex>\n );\n};\n"],"names":["BrandIconWrapper","styled","Flex","theme","borderRadius","NavBrand","formatMessage","useIntl","logos","menu","useConfiguration","_jsx","alignItems","padding","Box","initial","medium","_jsxs","direction","justifyContent","width","height","img","src","custom","url","default","alt","id","defaultMessage","VisuallyHidden","span"],"mappings":";;;;;;;;AAMA,MAAMA,gBAAAA,GAAmBC,
|
|
1
|
+
{"version":3,"file":"NavBrand.js","sources":["../../../../../../admin/src/components/MainNav/NavBrand.tsx"],"sourcesContent":["import { Box, Flex, type FlexComponent, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useConfiguration } from '../../features/Configuration';\n\nconst BrandIconWrapper = styled<FlexComponent>(Flex)`\n svg,\n img {\n border-radius: ${({ theme }) => theme.borderRadius};\n object-fit: contain;\n height: 2.4rem;\n width: 2.4rem;\n }\n`;\n\nexport const NavBrand = () => {\n const { formatMessage } = useIntl();\n const {\n logos: { menu },\n } = useConfiguration('LeftMenu');\n return (\n <Flex alignItems=\"center\" padding={3}>\n <Box padding={{ initial: 1, medium: 0 }}>\n <BrandIconWrapper direction=\"column\" justifyContent=\"center\" width=\"3.2rem\" height=\"3.2rem\">\n <img\n src={menu.custom?.url || menu.default}\n alt={formatMessage({\n id: 'app.components.LeftMenu.logo.alt',\n defaultMessage: 'Application logo',\n })}\n width=\"100%\"\n height=\"100%\"\n />\n <VisuallyHidden>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.title',\n defaultMessage: 'Strapi Dashboard',\n })}\n </span>\n <span>\n {formatMessage({\n id: 'app.components.LeftMenu.navbrand.workplace',\n defaultMessage: 'Workplace',\n })}\n </span>\n </VisuallyHidden>\n </BrandIconWrapper>\n </Box>\n </Flex>\n );\n};\n"],"names":["BrandIconWrapper","styled","Flex","theme","borderRadius","NavBrand","formatMessage","useIntl","logos","menu","useConfiguration","_jsx","alignItems","padding","Box","initial","medium","_jsxs","direction","justifyContent","width","height","img","src","custom","url","default","alt","id","defaultMessage","VisuallyHidden","span"],"mappings":";;;;;;;;AAMA,MAAMA,gBAAAA,GAAmBC,uBAAAA,CAAsBC,iBAAAA,CAAK;;;AAGjC,mBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,YAAY,CAAC;;;;;AAKvD,CAAC;MAEYC,QAAAA,GAAW,IAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EACJC,KAAAA,EAAO,EAAEC,IAAI,EAAE,EAChB,GAAGC,8BAAAA,CAAiB,UAAA,CAAA;AACrB,IAAA,qBACEC,cAAA,CAACT,iBAAAA,EAAAA;QAAKU,UAAAA,EAAW,QAAA;QAASC,OAAAA,EAAS,CAAA;AACjC,QAAA,QAAA,gBAAAF,cAAA,CAACG,gBAAAA,EAAAA;YAAID,OAAAA,EAAS;gBAAEE,OAAAA,EAAS,CAAA;gBAAGC,MAAAA,EAAQ;AAAE,aAAA;AACpC,YAAA,QAAA,gBAAAC,eAAA,CAACjB,gBAAAA,EAAAA;gBAAiBkB,SAAAA,EAAU,QAAA;gBAASC,cAAAA,EAAe,QAAA;gBAASC,KAAAA,EAAM,QAAA;gBAASC,MAAAA,EAAO,QAAA;;kCACjFV,cAAA,CAACW,KAAAA,EAAAA;AACCC,wBAAAA,GAAAA,EAAKd,IAAAA,CAAKe,MAAM,EAAEC,GAAAA,IAAOhB,KAAKiB,OAAO;AACrCC,wBAAAA,GAAAA,EAAKrB,aAAAA,CAAc;4BACjBsB,EAAAA,EAAI,kCAAA;4BACJC,cAAAA,EAAgB;AAClB,yBAAA,CAAA;wBACAT,KAAAA,EAAM,MAAA;wBACNC,MAAAA,EAAO;;kCAETJ,eAAA,CAACa,2BAAAA,EAAAA;;0CACCnB,cAAA,CAACoB,MAAAA,EAAAA;0CACEzB,aAAAA,CAAc;oCACbsB,EAAAA,EAAI,wCAAA;oCACJC,cAAAA,EAAgB;AAClB,iCAAA;;0CAEFlB,cAAA,CAACoB,MAAAA,EAAAA;0CACEzB,aAAAA,CAAc;oCACbsB,EAAAA,EAAI,4CAAA;oCACJC,cAAAA,EAAgB;AAClB,iCAAA;;;;;;;;AAOd;;;;"}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
5
|
var react = require('motion/react');
|
|
6
|
-
var
|
|
6
|
+
var styledComponents = require('styled-components');
|
|
7
7
|
var theme = require('../../constants/theme.js');
|
|
8
8
|
var MainNavLinks = require('./MainNavLinks.js');
|
|
9
9
|
var NavUser = require('./NavUser.js');
|
|
10
10
|
|
|
11
|
-
const MotionLayer =
|
|
11
|
+
const MotionLayer = styledComponents.styled(react.motion.div)`
|
|
12
12
|
position: fixed;
|
|
13
13
|
top: calc(${theme.HEIGHT_TOP_NAVIGATION} + 1px);
|
|
14
14
|
left: 0;
|
|
@@ -20,7 +20,7 @@ const MotionLayer = styled.styled(react.motion.div)`
|
|
|
20
20
|
display: none;
|
|
21
21
|
}
|
|
22
22
|
`;
|
|
23
|
-
const Surface =
|
|
23
|
+
const Surface = styledComponents.styled(designSystem.Box)`
|
|
24
24
|
height: 100%;
|
|
25
25
|
background-color: ${({ theme })=>theme.colors.neutral0};
|
|
26
26
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavBurgerMenu.js","sources":["../../../../../../admin/src/components/MainNav/NavBurgerMenu.tsx"],"sourcesContent":["import { Box, FocusTrap, Portal, ScrollArea, Flex, Divider } from '@strapi/design-system';\nimport { motion, AnimatePresence } from 'motion/react';\nimport { styled } from 'styled-components';\n\nimport { HEIGHT_TOP_NAVIGATION } from '../../constants/theme';\nimport { MenuItem } from '../../core/apis/router';\n\nimport { MainNavBurgerMenuLinks } from './MainNavLinks';\nimport { NavUser } from './NavUser';\n\ninterface NavBurgerMenuProps {\n isShown: boolean;\n listLinks: MenuItem[];\n handleClickOnLink: (value: string) => void;\n mobile?: boolean;\n onClose: () => void;\n}\n\nconst MotionLayer = styled(motion.div)`\n position: fixed;\n top: calc(${HEIGHT_TOP_NAVIGATION} + 1px);\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n\n ${({ theme }) => theme.breakpoints.large} {\n display: none;\n }\n`;\n\nconst Surface = styled(Box)`\n height: 100%;\n background-color: ${({ theme }) => theme.colors.neutral0};\n`;\n\nexport const NavBurgerMenu = ({\n isShown,\n handleClickOnLink,\n onClose,\n listLinks,\n}: NavBurgerMenuProps) => {\n return (\n <Portal>\n <AnimatePresence>\n {isShown && (\n <FocusTrap onEscape={onClose}>\n <MotionLayer\n key=\"burger\"\n role=\"dialog\"\n aria-modal=\"true\"\n initial={{ y: '-100%' }}\n animate={{ y: 0 }}\n exit={{ y: '-100%' }}\n transition={{ duration: 0.2, ease: 'easeInOut' }}\n id=\"burger-menu\"\n >\n <Surface>\n <ScrollArea>\n <Flex\n tag=\"ul\"\n direction=\"column\"\n alignItems=\"stretch\"\n width=\"100%\"\n paddingLeft={{ initial: 4, medium: 6 }}\n paddingRight={{ initial: 4, medium: 6 }}\n paddingTop={{ initial: 4, medium: 3 }}\n paddingBottom={{ initial: 4, medium: 6 }}\n gap={3}\n >\n <MainNavBurgerMenuLinks\n listLinks={listLinks}\n handleClickOnLink={handleClickOnLink}\n />\n <Box tag=\"li\">\n <Divider />\n </Box>\n <Box paddingLeft={2} paddingRight={2} paddingTop={1} paddingBottom={1} tag=\"li\">\n <NavUser showDisplayName />\n </Box>\n </Flex>\n </ScrollArea>\n </Surface>\n </MotionLayer>\n </FocusTrap>\n )}\n </AnimatePresence>\n </Portal>\n );\n};\n"],"names":["MotionLayer","styled","motion","div","HEIGHT_TOP_NAVIGATION","theme","breakpoints","large","Surface","Box","colors","neutral0","NavBurgerMenu","isShown","handleClickOnLink","onClose","listLinks","_jsx","Portal","AnimatePresence","FocusTrap","onEscape","role","aria-modal","initial","y","animate","exit","transition","duration","ease","id","ScrollArea","_jsxs","Flex","tag","direction","alignItems","width","paddingLeft","medium","paddingRight","paddingTop","paddingBottom","gap","MainNavBurgerMenuLinks","Divider","NavUser","showDisplayName"],"mappings":";;;;;;;;;;AAkBA,MAAMA,WAAAA,GAAcC,
|
|
1
|
+
{"version":3,"file":"NavBurgerMenu.js","sources":["../../../../../../admin/src/components/MainNav/NavBurgerMenu.tsx"],"sourcesContent":["import { Box, FocusTrap, Portal, ScrollArea, Flex, Divider } from '@strapi/design-system';\nimport { motion, AnimatePresence } from 'motion/react';\nimport { styled } from 'styled-components';\n\nimport { HEIGHT_TOP_NAVIGATION } from '../../constants/theme';\nimport { MenuItem } from '../../core/apis/router';\n\nimport { MainNavBurgerMenuLinks } from './MainNavLinks';\nimport { NavUser } from './NavUser';\n\ninterface NavBurgerMenuProps {\n isShown: boolean;\n listLinks: MenuItem[];\n handleClickOnLink: (value: string) => void;\n mobile?: boolean;\n onClose: () => void;\n}\n\nconst MotionLayer = styled(motion.div)`\n position: fixed;\n top: calc(${HEIGHT_TOP_NAVIGATION} + 1px);\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n\n ${({ theme }) => theme.breakpoints.large} {\n display: none;\n }\n`;\n\nconst Surface = styled(Box)`\n height: 100%;\n background-color: ${({ theme }) => theme.colors.neutral0};\n`;\n\nexport const NavBurgerMenu = ({\n isShown,\n handleClickOnLink,\n onClose,\n listLinks,\n}: NavBurgerMenuProps) => {\n return (\n <Portal>\n <AnimatePresence>\n {isShown && (\n <FocusTrap onEscape={onClose}>\n <MotionLayer\n key=\"burger\"\n role=\"dialog\"\n aria-modal=\"true\"\n initial={{ y: '-100%' }}\n animate={{ y: 0 }}\n exit={{ y: '-100%' }}\n transition={{ duration: 0.2, ease: 'easeInOut' }}\n id=\"burger-menu\"\n >\n <Surface>\n <ScrollArea>\n <Flex\n tag=\"ul\"\n direction=\"column\"\n alignItems=\"stretch\"\n width=\"100%\"\n paddingLeft={{ initial: 4, medium: 6 }}\n paddingRight={{ initial: 4, medium: 6 }}\n paddingTop={{ initial: 4, medium: 3 }}\n paddingBottom={{ initial: 4, medium: 6 }}\n gap={3}\n >\n <MainNavBurgerMenuLinks\n listLinks={listLinks}\n handleClickOnLink={handleClickOnLink}\n />\n <Box tag=\"li\">\n <Divider />\n </Box>\n <Box paddingLeft={2} paddingRight={2} paddingTop={1} paddingBottom={1} tag=\"li\">\n <NavUser showDisplayName />\n </Box>\n </Flex>\n </ScrollArea>\n </Surface>\n </MotionLayer>\n </FocusTrap>\n )}\n </AnimatePresence>\n </Portal>\n );\n};\n"],"names":["MotionLayer","styled","motion","div","HEIGHT_TOP_NAVIGATION","theme","breakpoints","large","Surface","Box","colors","neutral0","NavBurgerMenu","isShown","handleClickOnLink","onClose","listLinks","_jsx","Portal","AnimatePresence","FocusTrap","onEscape","role","aria-modal","initial","y","animate","exit","transition","duration","ease","id","ScrollArea","_jsxs","Flex","tag","direction","alignItems","width","paddingLeft","medium","paddingRight","paddingTop","paddingBottom","gap","MainNavBurgerMenuLinks","Divider","NavUser","showDisplayName"],"mappings":";;;;;;;;;;AAkBA,MAAMA,WAAAA,GAAcC,uBAAAA,CAAOC,YAAAA,CAAOC,GAAG,CAAC;;AAE1B,YAAA,EAAEC,2BAAAA,CAAsB;;;;;;EAMlC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,WAAW,CAACC,KAAK,CAAC;;;AAG3C,CAAC;AAED,MAAMC,OAAAA,GAAUP,uBAAAA,CAAOQ,gBAAAA,CAAI;;oBAEP,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMK,MAAM,CAACC,QAAQ,CAAC;AAC3D,CAAC;AAEM,MAAMC,aAAAA,GAAgB,CAAC,EAC5BC,OAAO,EACPC,iBAAiB,EACjBC,OAAO,EACPC,SAAS,EACU,GAAA;AACnB,IAAA,qBACEC,cAAA,CAACC,mBAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAD,cAAA,CAACE,qBAAAA,EAAAA;AACEN,YAAAA,QAAAA,EAAAA,OAAAA,kBACCI,cAAA,CAACG,sBAAAA,EAAAA;gBAAUC,QAAAA,EAAUN,OAAAA;AACnB,gBAAA,QAAA,gBAAAE,cAAA,CAACjB,WAAAA,EAAAA;oBAECsB,IAAAA,EAAK,QAAA;oBACLC,YAAAA,EAAW,MAAA;oBACXC,OAAAA,EAAS;wBAAEC,CAAAA,EAAG;AAAQ,qBAAA;oBACtBC,OAAAA,EAAS;wBAAED,CAAAA,EAAG;AAAE,qBAAA;oBAChBE,IAAAA,EAAM;wBAAEF,CAAAA,EAAG;AAAQ,qBAAA;oBACnBG,UAAAA,EAAY;wBAAEC,QAAAA,EAAU,GAAA;wBAAKC,IAAAA,EAAM;AAAY,qBAAA;oBAC/CC,EAAAA,EAAG,aAAA;AAEH,oBAAA,QAAA,gBAAAd,cAAA,CAACT,OAAAA,EAAAA;AACC,wBAAA,QAAA,gBAAAS,cAAA,CAACe,uBAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAC,eAAA,CAACC,iBAAAA,EAAAA;gCACCC,GAAAA,EAAI,IAAA;gCACJC,SAAAA,EAAU,QAAA;gCACVC,UAAAA,EAAW,SAAA;gCACXC,KAAAA,EAAM,MAAA;gCACNC,WAAAA,EAAa;oCAAEf,OAAAA,EAAS,CAAA;oCAAGgB,MAAAA,EAAQ;AAAE,iCAAA;gCACrCC,YAAAA,EAAc;oCAAEjB,OAAAA,EAAS,CAAA;oCAAGgB,MAAAA,EAAQ;AAAE,iCAAA;gCACtCE,UAAAA,EAAY;oCAAElB,OAAAA,EAAS,CAAA;oCAAGgB,MAAAA,EAAQ;AAAE,iCAAA;gCACpCG,aAAAA,EAAe;oCAAEnB,OAAAA,EAAS,CAAA;oCAAGgB,MAAAA,EAAQ;AAAE,iCAAA;gCACvCI,GAAAA,EAAK,CAAA;;kDAEL3B,cAAA,CAAC4B,mCAAAA,EAAAA;wCACC7B,SAAAA,EAAWA,SAAAA;wCACXF,iBAAAA,EAAmBA;;kDAErBG,cAAA,CAACR,gBAAAA,EAAAA;wCAAI0B,GAAAA,EAAI,IAAA;AACP,wCAAA,QAAA,gBAAAlB,cAAA,CAAC6B,oBAAAA,EAAAA,EAAAA;;kDAEH7B,cAAA,CAACR,gBAAAA,EAAAA;wCAAI8B,WAAAA,EAAa,CAAA;wCAAGE,YAAAA,EAAc,CAAA;wCAAGC,UAAAA,EAAY,CAAA;wCAAGC,aAAAA,EAAe,CAAA;wCAAGR,GAAAA,EAAI,IAAA;AACzE,wCAAA,QAAA,gBAAAlB,cAAA,CAAC8B,eAAAA,EAAAA;4CAAQC,eAAe,EAAA;;;;;;;AA9B5B,iBAAA,EAAA,QAAA;;;;AAyClB;;;;"}
|
|
@@ -4,12 +4,12 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
6
|
var reactRouterDom = require('react-router-dom');
|
|
7
|
-
var
|
|
7
|
+
var styledComponents = require('styled-components');
|
|
8
8
|
|
|
9
9
|
const isExternalLink = (to)=>typeof to === 'string' && (to.startsWith('http://') || to.startsWith('https://'));
|
|
10
10
|
/* -------------------------------------------------------------------------------------------------
|
|
11
11
|
* Link
|
|
12
|
-
* -----------------------------------------------------------------------------------------------*/ const MainNavLinkStyles =
|
|
12
|
+
* -----------------------------------------------------------------------------------------------*/ const MainNavLinkStyles = styledComponents.css`
|
|
13
13
|
text-decoration: none;
|
|
14
14
|
display: flex;
|
|
15
15
|
align-items: center;
|
|
@@ -40,20 +40,20 @@ const isExternalLink = (to)=>typeof to === 'string' && (to.startsWith('http://')
|
|
|
40
40
|
background: ${({ theme })=>theme.colors.primary100};
|
|
41
41
|
}
|
|
42
42
|
`;
|
|
43
|
-
const MainNavLinkWrapper =
|
|
43
|
+
const MainNavLinkWrapper = styledComponents.styled(reactRouterDom.NavLink)`
|
|
44
44
|
${MainNavLinkStyles}
|
|
45
45
|
`;
|
|
46
|
-
const MainNavLinkAnchor =
|
|
46
|
+
const MainNavLinkAnchor = styledComponents.styled.a`
|
|
47
47
|
${MainNavLinkStyles}
|
|
48
48
|
`;
|
|
49
|
-
const MainNavButtonStyles =
|
|
49
|
+
const MainNavButtonStyles = styledComponents.css`
|
|
50
50
|
padding-block: 1rem;
|
|
51
51
|
padding-inline: 1rem;
|
|
52
52
|
`;
|
|
53
|
-
const MainNavButtonWrapper =
|
|
53
|
+
const MainNavButtonWrapper = styledComponents.styled(MainNavLinkWrapper)`
|
|
54
54
|
${MainNavButtonStyles}
|
|
55
55
|
`;
|
|
56
|
-
const MainNavButtonAnchor =
|
|
56
|
+
const MainNavButtonAnchor = styledComponents.styled(MainNavLinkAnchor)`
|
|
57
57
|
${MainNavButtonStyles}
|
|
58
58
|
`;
|
|
59
59
|
const LinkImpl = ({ children, to, ...props })=>{
|
|
@@ -109,7 +109,7 @@ const NavButtonImpl = ({ children, to, ...props })=>{
|
|
|
109
109
|
};
|
|
110
110
|
/* -------------------------------------------------------------------------------------------------
|
|
111
111
|
* Badge
|
|
112
|
-
* -----------------------------------------------------------------------------------------------*/ const CustomBadge =
|
|
112
|
+
* -----------------------------------------------------------------------------------------------*/ const CustomBadge = styledComponents.styled(designSystem.Badge)`
|
|
113
113
|
/* override default badge styles to change the border radius of the Base element in the Design System */
|
|
114
114
|
border-radius: ${({ theme })=>theme.spaces[10]};
|
|
115
115
|
height: 2rem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavLink.js","sources":["../../../../../../admin/src/components/MainNav/NavLink.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Tooltip,\n TooltipProps as DSTooltipProps,\n Badge,\n BadgeProps,\n AccessibleIcon,\n} from '@strapi/design-system';\nimport { NavLink as RouterLink, LinkProps } from 'react-router-dom';\nimport { styled, css } from 'styled-components';\n\nconst isExternalLink = (to: LinkProps['to']) =>\n typeof to === 'string' && (to.startsWith('http://') || to.startsWith('https://'));\n\n/* -------------------------------------------------------------------------------------------------\n * Link\n * -----------------------------------------------------------------------------------------------*/\nconst MainNavLinkStyles = css`\n text-decoration: none;\n display: flex;\n align-items: center;\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n color: ${({ theme }) => theme.colors.neutral500};\n position: relative;\n width: 100%;\n padding-block: 0.4rem;\n padding-inline: 1.2rem;\n\n ${({ theme }) => theme.breakpoints.medium} {\n padding-block: 0.6rem;\n padding-inline: 0.6rem;\n }\n\n &:hover {\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n background: ${({ theme }) => theme.colors.neutral100};\n }\n\n &.active {\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n background: ${({ theme }) => theme.colors.primary100};\n }\n`;\n\nconst MainNavLinkWrapper = styled(RouterLink)`\n ${MainNavLinkStyles}\n`;\n\nconst MainNavLinkAnchor = styled.a`\n ${MainNavLinkStyles}\n`;\n\nconst MainNavButtonStyles = css`\n padding-block: 1rem;\n padding-inline: 1rem;\n`;\n\nconst MainNavButtonWrapper = styled(MainNavLinkWrapper)`\n ${MainNavButtonStyles}\n`;\n\nconst MainNavButtonAnchor = styled(MainNavLinkAnchor)`\n ${MainNavButtonStyles}\n`;\n\nconst LinkImpl = ({ children, to, ...props }: LinkProps) => {\n if (isExternalLink(to)) {\n return (\n <MainNavLinkAnchor href={to as string} {...props}>\n {children}\n </MainNavLinkAnchor>\n );\n }\n return (\n <MainNavLinkWrapper to={to} {...props}>\n {children}\n </MainNavLinkWrapper>\n );\n};\n\nconst NavButtonImpl = ({ children, to, ...props }: LinkProps) => {\n if (isExternalLink(to)) {\n return (\n <MainNavButtonAnchor href={to as string} {...props}>\n {children}\n </MainNavButtonAnchor>\n );\n }\n\n return (\n <MainNavButtonWrapper to={to} {...props}>\n {children}\n </MainNavButtonWrapper>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/\nconst TooltipImpl = ({ children, label, position = 'right' }: NavLink.TooltipProps) => {\n return (\n <Tooltip side={position} label={label} delayDuration={0}>\n <span>{children}</span>\n </Tooltip>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Icon\n * -----------------------------------------------------------------------------------------------*/\nconst IconImpl = ({ label, children }: { label: string; children: React.ReactNode }) => {\n if (!children) {\n return null;\n }\n return <AccessibleIcon label={label}>{children}</AccessibleIcon>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Badge\n * -----------------------------------------------------------------------------------------------*/\nconst CustomBadge = styled(Badge)`\n /* override default badge styles to change the border radius of the Base element in the Design System */\n border-radius: ${({ theme }) => theme.spaces[10]};\n height: 2rem;\n`;\n\nconst BadgeImpl = ({ children, label, ...props }: NavLink.NavBadgeProps) => {\n if (!children) {\n return null;\n }\n return (\n <CustomBadge\n position=\"absolute\"\n top=\"-0.8rem\"\n left=\"1.7rem\"\n aria-label={label}\n active={false}\n {...props}\n >\n {children}\n </CustomBadge>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EXPORTS\n * -----------------------------------------------------------------------------------------------*/\n\nconst NavLink = {\n Link: LinkImpl,\n NavButton: NavButtonImpl,\n Tooltip: TooltipImpl,\n Icon: IconImpl,\n Badge: BadgeImpl,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace NavLink {\n export interface NavBadgeProps extends BadgeProps {\n children: React.ReactNode;\n label: string;\n }\n\n export interface TooltipProps {\n children: React.ReactNode;\n label?: string;\n position?: DSTooltipProps['side'];\n }\n}\n\nexport { NavLink };\n"],"names":["isExternalLink","to","startsWith","MainNavLinkStyles","css","theme","borderRadius","colors","neutral0","neutral500","breakpoints","medium","neutral600","neutral100","primary600","primary100","MainNavLinkWrapper","styled","RouterLink","MainNavLinkAnchor","a","MainNavButtonStyles","MainNavButtonWrapper","MainNavButtonAnchor","LinkImpl","children","props","_jsx","href","NavButtonImpl","TooltipImpl","label","position","Tooltip","side","delayDuration","span","IconImpl","AccessibleIcon","CustomBadge","Badge","spaces","BadgeImpl","top","left","aria-label","active","NavLink","Link","NavButton","Icon"],"mappings":";;;;;;;;AAYA,MAAMA,cAAAA,GAAiB,CAACC,EAAAA,GACtB,OAAOA,OAAO,QAAA,KAAaA,EAAAA,CAAGC,UAAU,CAAC,SAAA,CAAA,IAAcD,EAAAA,CAAGC,UAAU,CAAC,UAAA,CAAU,CAAA;AAEjF;;qGAGA,MAAMC,iBAAAA,GAAoBC,
|
|
1
|
+
{"version":3,"file":"NavLink.js","sources":["../../../../../../admin/src/components/MainNav/NavLink.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Tooltip,\n TooltipProps as DSTooltipProps,\n Badge,\n BadgeProps,\n AccessibleIcon,\n} from '@strapi/design-system';\nimport { NavLink as RouterLink, LinkProps } from 'react-router-dom';\nimport { styled, css } from 'styled-components';\n\nconst isExternalLink = (to: LinkProps['to']) =>\n typeof to === 'string' && (to.startsWith('http://') || to.startsWith('https://'));\n\n/* -------------------------------------------------------------------------------------------------\n * Link\n * -----------------------------------------------------------------------------------------------*/\nconst MainNavLinkStyles = css`\n text-decoration: none;\n display: flex;\n align-items: center;\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n color: ${({ theme }) => theme.colors.neutral500};\n position: relative;\n width: 100%;\n padding-block: 0.4rem;\n padding-inline: 1.2rem;\n\n ${({ theme }) => theme.breakpoints.medium} {\n padding-block: 0.6rem;\n padding-inline: 0.6rem;\n }\n\n &:hover {\n svg path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n background: ${({ theme }) => theme.colors.neutral100};\n }\n\n &.active {\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n background: ${({ theme }) => theme.colors.primary100};\n }\n`;\n\nconst MainNavLinkWrapper = styled(RouterLink)`\n ${MainNavLinkStyles}\n`;\n\nconst MainNavLinkAnchor = styled.a`\n ${MainNavLinkStyles}\n`;\n\nconst MainNavButtonStyles = css`\n padding-block: 1rem;\n padding-inline: 1rem;\n`;\n\nconst MainNavButtonWrapper = styled(MainNavLinkWrapper)`\n ${MainNavButtonStyles}\n`;\n\nconst MainNavButtonAnchor = styled(MainNavLinkAnchor)`\n ${MainNavButtonStyles}\n`;\n\nconst LinkImpl = ({ children, to, ...props }: LinkProps) => {\n if (isExternalLink(to)) {\n return (\n <MainNavLinkAnchor href={to as string} {...props}>\n {children}\n </MainNavLinkAnchor>\n );\n }\n return (\n <MainNavLinkWrapper to={to} {...props}>\n {children}\n </MainNavLinkWrapper>\n );\n};\n\nconst NavButtonImpl = ({ children, to, ...props }: LinkProps) => {\n if (isExternalLink(to)) {\n return (\n <MainNavButtonAnchor href={to as string} {...props}>\n {children}\n </MainNavButtonAnchor>\n );\n }\n\n return (\n <MainNavButtonWrapper to={to} {...props}>\n {children}\n </MainNavButtonWrapper>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/\nconst TooltipImpl = ({ children, label, position = 'right' }: NavLink.TooltipProps) => {\n return (\n <Tooltip side={position} label={label} delayDuration={0}>\n <span>{children}</span>\n </Tooltip>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Icon\n * -----------------------------------------------------------------------------------------------*/\nconst IconImpl = ({ label, children }: { label: string; children: React.ReactNode }) => {\n if (!children) {\n return null;\n }\n return <AccessibleIcon label={label}>{children}</AccessibleIcon>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Badge\n * -----------------------------------------------------------------------------------------------*/\nconst CustomBadge = styled(Badge)`\n /* override default badge styles to change the border radius of the Base element in the Design System */\n border-radius: ${({ theme }) => theme.spaces[10]};\n height: 2rem;\n`;\n\nconst BadgeImpl = ({ children, label, ...props }: NavLink.NavBadgeProps) => {\n if (!children) {\n return null;\n }\n return (\n <CustomBadge\n position=\"absolute\"\n top=\"-0.8rem\"\n left=\"1.7rem\"\n aria-label={label}\n active={false}\n {...props}\n >\n {children}\n </CustomBadge>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EXPORTS\n * -----------------------------------------------------------------------------------------------*/\n\nconst NavLink = {\n Link: LinkImpl,\n NavButton: NavButtonImpl,\n Tooltip: TooltipImpl,\n Icon: IconImpl,\n Badge: BadgeImpl,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace NavLink {\n export interface NavBadgeProps extends BadgeProps {\n children: React.ReactNode;\n label: string;\n }\n\n export interface TooltipProps {\n children: React.ReactNode;\n label?: string;\n position?: DSTooltipProps['side'];\n }\n}\n\nexport { NavLink };\n"],"names":["isExternalLink","to","startsWith","MainNavLinkStyles","css","theme","borderRadius","colors","neutral0","neutral500","breakpoints","medium","neutral600","neutral100","primary600","primary100","MainNavLinkWrapper","styled","RouterLink","MainNavLinkAnchor","a","MainNavButtonStyles","MainNavButtonWrapper","MainNavButtonAnchor","LinkImpl","children","props","_jsx","href","NavButtonImpl","TooltipImpl","label","position","Tooltip","side","delayDuration","span","IconImpl","AccessibleIcon","CustomBadge","Badge","spaces","BadgeImpl","top","left","aria-label","active","NavLink","Link","NavButton","Icon"],"mappings":"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"}
|
|
@@ -4,11 +4,11 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
5
|
var reactIntl = require('react-intl');
|
|
6
6
|
var reactRouterDom = require('react-router-dom');
|
|
7
|
-
var
|
|
7
|
+
var styledComponents = require('styled-components');
|
|
8
8
|
var Auth = require('../../features/Auth.js');
|
|
9
9
|
var users = require('../../utils/users.js');
|
|
10
10
|
|
|
11
|
-
const MenuTrigger =
|
|
11
|
+
const MenuTrigger = styledComponents.styled(designSystem.Menu.Trigger)`
|
|
12
12
|
padding: 0;
|
|
13
13
|
|
|
14
14
|
${({ theme })=>theme.breakpoints.large} {
|
|
@@ -17,7 +17,7 @@ const MenuTrigger = styled.styled(designSystem.Menu.Trigger)`
|
|
|
17
17
|
justify-content: center;
|
|
18
18
|
}
|
|
19
19
|
`;
|
|
20
|
-
const MenuIcon =
|
|
20
|
+
const MenuIcon = styledComponents.styled(designSystem.Flex)`
|
|
21
21
|
height: ${({ theme })=>theme.spaces[7]};
|
|
22
22
|
width: ${({ theme })=>theme.spaces[7]};
|
|
23
23
|
border: none;
|
|
@@ -25,24 +25,24 @@ const MenuIcon = styled.styled(designSystem.Flex)`
|
|
|
25
25
|
padding: 0;
|
|
26
26
|
overflow: hidden;
|
|
27
27
|
`;
|
|
28
|
-
const MenuContent =
|
|
28
|
+
const MenuContent = styledComponents.styled(designSystem.Menu.Content)`
|
|
29
29
|
max-height: fit-content;
|
|
30
30
|
width: 200px;
|
|
31
31
|
`;
|
|
32
|
-
const UserInfo =
|
|
32
|
+
const UserInfo = styledComponents.styled(designSystem.Flex)`
|
|
33
33
|
&& {
|
|
34
34
|
padding: ${({ theme })=>theme.spaces[3]};
|
|
35
35
|
}
|
|
36
36
|
align-items: flex-start;
|
|
37
37
|
`;
|
|
38
|
-
const BadgeWrapper =
|
|
38
|
+
const BadgeWrapper = styledComponents.styled(designSystem.Flex)`
|
|
39
39
|
display: flex;
|
|
40
40
|
flex-wrap: wrap;
|
|
41
41
|
gap: ${({ theme })=>theme.spaces[1]};
|
|
42
42
|
|
|
43
43
|
width: 100%;
|
|
44
44
|
`;
|
|
45
|
-
const StyledTypography =
|
|
45
|
+
const StyledTypography = styledComponents.styled(designSystem.Typography)`
|
|
46
46
|
word-break: break-word;
|
|
47
47
|
margin-bottom: ${({ theme })=>theme.spaces[3]};
|
|
48
48
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavUser.js","sources":["../../../../../../admin/src/components/MainNav/NavUser.tsx"],"sourcesContent":["import { Flex, Menu, VisuallyHidden, Avatar, Typography, Badge } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../../features/Auth';\nimport { getInitials, getDisplayName } from '../../utils/users';\n\nconst MenuTrigger = styled(Menu.Trigger)`\n padding: 0;\n\n ${({ theme }) => theme.breakpoints.large} {\n width: 4rem;\n height: 4rem;\n justify-content: center;\n }\n`;\n\nconst MenuIcon = styled(Flex)`\n height: ${({ theme }) => theme.spaces[7]};\n width: ${({ theme }) => theme.spaces[7]};\n border: none;\n border-radius: 50%;\n padding: 0;\n overflow: hidden;\n`;\n\nconst MenuContent = styled(Menu.Content)`\n max-height: fit-content;\n width: 200px;\n`;\n\nconst UserInfo = styled(Flex)`\n && {\n padding: ${({ theme }) => theme.spaces[3]};\n }\n align-items: flex-start;\n`;\n\nconst BadgeWrapper = styled(Flex)`\n display: flex;\n flex-wrap: wrap;\n gap: ${({ theme }) => theme.spaces[1]};\n\n width: 100%;\n`;\nconst StyledTypography = styled(Typography)`\n word-break: break-word;\n margin-bottom: ${({ theme }) => theme.spaces[3]};\n`;\n\nexport interface NavUserProps {\n initials?: string;\n children?: React.ReactNode;\n showDisplayName?: boolean;\n}\n\nexport const NavUser = ({\n initials,\n showDisplayName = false,\n children,\n ...props\n}: NavUserProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const user = useAuth('User', (state) => state.user);\n const logout = useAuth('Logout', (state) => state.logout);\n const userDisplayName = getDisplayName(user);\n\n const handleProfile = () => {\n const redirection = '/me';\n navigate(redirection);\n };\n\n const handleSessions = () => {\n navigate('/me/sessions');\n };\n\n const handleLogout = () => {\n const redirection = '/auth/login';\n logout();\n navigate(redirection);\n };\n\n return (\n <Flex {...props}>\n <Menu.Root>\n <MenuTrigger endIcon={null} fullWidth justifyContent=\"flex-start\">\n <Flex alignItems=\"center\" gap={3}>\n <MenuIcon justifyContent=\"center\">\n <Avatar.Item delayMs={0} fallback={initials || getInitials(user)} />\n </MenuIcon>\n {showDisplayName ? (\n <Typography variant=\"omega\">{children || userDisplayName}</Typography>\n ) : (\n <VisuallyHidden tag=\"span\">{children || userDisplayName}</VisuallyHidden>\n )}\n </Flex>\n </MenuTrigger>\n\n <MenuContent popoverPlacement=\"top-start\" zIndex={3}>\n <UserInfo direction=\"column\" gap={0} alignItems=\"flex-start\">\n <Typography variant=\"omega\" fontWeight=\"bold\" textTransform=\"none\">\n {children || userDisplayName}\n </Typography>\n <StyledTypography variant=\"pi\" textColor=\"neutral600\">\n {user?.email}\n </StyledTypography>\n <BadgeWrapper>\n {user?.roles?.map((role) => <Badge key={role.id}>{role.name}</Badge>)}\n </BadgeWrapper>\n </UserInfo>\n\n <Menu.Separator />\n\n <Menu.Item onSelect={handleProfile}>\n {formatMessage({\n id: 'global.profile.settings',\n defaultMessage: 'Profile settings',\n })}\n </Menu.Item>\n\n <Menu.Item onSelect={handleSessions}>\n {formatMessage({\n id: 'global.sessions.active-devices',\n defaultMessage: 'Active devices',\n })}\n </Menu.Item>\n\n <Menu.Item variant=\"danger\" onSelect={handleLogout} color=\"danger600\">\n {formatMessage({\n id: 'app.components.LeftMenu.logout',\n defaultMessage: 'Log out',\n })}\n </Menu.Item>\n </MenuContent>\n </Menu.Root>\n </Flex>\n );\n};\n"],"names":["MenuTrigger","styled","Menu","Trigger","theme","breakpoints","large","MenuIcon","Flex","spaces","MenuContent","Content","UserInfo","BadgeWrapper","StyledTypography","Typography","NavUser","initials","showDisplayName","children","props","formatMessage","useIntl","navigate","useNavigate","user","useAuth","state","logout","userDisplayName","getDisplayName","handleProfile","redirection","handleSessions","handleLogout","_jsx","_jsxs","Root","endIcon","fullWidth","justifyContent","alignItems","gap","Avatar","Item","delayMs","fallback","getInitials","variant","VisuallyHidden","tag","popoverPlacement","zIndex","direction","fontWeight","textTransform","textColor","email","roles","map","role","Badge","name","id","Separator","onSelect","defaultMessage","color"],"mappings":";;;;;;;;;;AAQA,MAAMA,WAAAA,GAAcC,
|
|
1
|
+
{"version":3,"file":"NavUser.js","sources":["../../../../../../admin/src/components/MainNav/NavUser.tsx"],"sourcesContent":["import { Flex, Menu, VisuallyHidden, Avatar, Typography, Badge } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../../features/Auth';\nimport { getInitials, getDisplayName } from '../../utils/users';\n\nconst MenuTrigger = styled(Menu.Trigger)`\n padding: 0;\n\n ${({ theme }) => theme.breakpoints.large} {\n width: 4rem;\n height: 4rem;\n justify-content: center;\n }\n`;\n\nconst MenuIcon = styled(Flex)`\n height: ${({ theme }) => theme.spaces[7]};\n width: ${({ theme }) => theme.spaces[7]};\n border: none;\n border-radius: 50%;\n padding: 0;\n overflow: hidden;\n`;\n\nconst MenuContent = styled(Menu.Content)`\n max-height: fit-content;\n width: 200px;\n`;\n\nconst UserInfo = styled(Flex)`\n && {\n padding: ${({ theme }) => theme.spaces[3]};\n }\n align-items: flex-start;\n`;\n\nconst BadgeWrapper = styled(Flex)`\n display: flex;\n flex-wrap: wrap;\n gap: ${({ theme }) => theme.spaces[1]};\n\n width: 100%;\n`;\nconst StyledTypography = styled(Typography)`\n word-break: break-word;\n margin-bottom: ${({ theme }) => theme.spaces[3]};\n`;\n\nexport interface NavUserProps {\n initials?: string;\n children?: React.ReactNode;\n showDisplayName?: boolean;\n}\n\nexport const NavUser = ({\n initials,\n showDisplayName = false,\n children,\n ...props\n}: NavUserProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const user = useAuth('User', (state) => state.user);\n const logout = useAuth('Logout', (state) => state.logout);\n const userDisplayName = getDisplayName(user);\n\n const handleProfile = () => {\n const redirection = '/me';\n navigate(redirection);\n };\n\n const handleSessions = () => {\n navigate('/me/sessions');\n };\n\n const handleLogout = () => {\n const redirection = '/auth/login';\n logout();\n navigate(redirection);\n };\n\n return (\n <Flex {...props}>\n <Menu.Root>\n <MenuTrigger endIcon={null} fullWidth justifyContent=\"flex-start\">\n <Flex alignItems=\"center\" gap={3}>\n <MenuIcon justifyContent=\"center\">\n <Avatar.Item delayMs={0} fallback={initials || getInitials(user)} />\n </MenuIcon>\n {showDisplayName ? (\n <Typography variant=\"omega\">{children || userDisplayName}</Typography>\n ) : (\n <VisuallyHidden tag=\"span\">{children || userDisplayName}</VisuallyHidden>\n )}\n </Flex>\n </MenuTrigger>\n\n <MenuContent popoverPlacement=\"top-start\" zIndex={3}>\n <UserInfo direction=\"column\" gap={0} alignItems=\"flex-start\">\n <Typography variant=\"omega\" fontWeight=\"bold\" textTransform=\"none\">\n {children || userDisplayName}\n </Typography>\n <StyledTypography variant=\"pi\" textColor=\"neutral600\">\n {user?.email}\n </StyledTypography>\n <BadgeWrapper>\n {user?.roles?.map((role) => <Badge key={role.id}>{role.name}</Badge>)}\n </BadgeWrapper>\n </UserInfo>\n\n <Menu.Separator />\n\n <Menu.Item onSelect={handleProfile}>\n {formatMessage({\n id: 'global.profile.settings',\n defaultMessage: 'Profile settings',\n })}\n </Menu.Item>\n\n <Menu.Item onSelect={handleSessions}>\n {formatMessage({\n id: 'global.sessions.active-devices',\n defaultMessage: 'Active devices',\n })}\n </Menu.Item>\n\n <Menu.Item variant=\"danger\" onSelect={handleLogout} color=\"danger600\">\n {formatMessage({\n id: 'app.components.LeftMenu.logout',\n defaultMessage: 'Log out',\n })}\n </Menu.Item>\n </MenuContent>\n </Menu.Root>\n </Flex>\n );\n};\n"],"names":["MenuTrigger","styled","Menu","Trigger","theme","breakpoints","large","MenuIcon","Flex","spaces","MenuContent","Content","UserInfo","BadgeWrapper","StyledTypography","Typography","NavUser","initials","showDisplayName","children","props","formatMessage","useIntl","navigate","useNavigate","user","useAuth","state","logout","userDisplayName","getDisplayName","handleProfile","redirection","handleSessions","handleLogout","_jsx","_jsxs","Root","endIcon","fullWidth","justifyContent","alignItems","gap","Avatar","Item","delayMs","fallback","getInitials","variant","VisuallyHidden","tag","popoverPlacement","zIndex","direction","fontWeight","textTransform","textColor","email","roles","map","role","Badge","name","id","Separator","onSelect","defaultMessage","color"],"mappings":"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"}
|
|
@@ -5,11 +5,11 @@ var ee = require('@strapi/admin/strapi-admin/ee');
|
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
6
|
var dateFns = require('date-fns');
|
|
7
7
|
var reactIntl = require('react-intl');
|
|
8
|
-
var
|
|
8
|
+
var styledComponents = require('styled-components');
|
|
9
9
|
var admin = require('../../services/admin.js');
|
|
10
10
|
|
|
11
11
|
const CircleProgressBar = ({ percentage })=>{
|
|
12
|
-
const theme =
|
|
12
|
+
const theme = styledComponents.useTheme();
|
|
13
13
|
const radius = 45;
|
|
14
14
|
const circumference = 2 * Math.PI * radius;
|
|
15
15
|
const offset = circumference * (1 - percentage / 100);
|
|
@@ -71,7 +71,7 @@ const CircleProgressBar = ({ percentage })=>{
|
|
|
71
71
|
]
|
|
72
72
|
});
|
|
73
73
|
};
|
|
74
|
-
const Container =
|
|
74
|
+
const Container = styledComponents.styled(designSystem.Flex)`
|
|
75
75
|
display: none;
|
|
76
76
|
|
|
77
77
|
${({ theme })=>theme.breakpoints.large} {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrialCountdown.js","sources":["../../../../../../admin/src/components/MainNav/TrialCountdown.tsx"],"sourcesContent":["import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, Tooltip } from '@strapi/design-system';\nimport { format, isBefore, startOfToday } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { useGetLicenseTrialTimeLeftQuery } from '../../../src/services/admin';\n\ntype CircleProgressBarProps = {\n percentage: number;\n};\n\nconst CircleProgressBar = ({ percentage }: CircleProgressBarProps) => {\n const theme = useTheme();\n\n const radius = 45;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference * (1 - percentage / 100);\n\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 100 100\">\n <defs>\n <linearGradient id=\"progressGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0%\" stopColor={theme.colors.primary600} />\n <stop offset=\"100%\" stopColor={theme.colors.alternative600} />\n </linearGradient>\n </defs>\n <circle cx=\"50\" cy=\"50\" r={radius} stroke=\"#ccc\" strokeWidth=\"10\" fill=\"none\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"url(#progressGradient)\"\n strokeWidth=\"10\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform=\"rotate(-90 50 50)\"\n strokeLinecap=\"round\"\n />\n <svg x=\"35\" y=\"25\" width=\"50\" height=\"50\" viewBox=\"0 0 32 32\">\n <path\n fill=\"url(#progressGradient)\"\n d=\"m21.731 14.683-14 15a1 1 0 0 1-1.711-.875l1.832-9.167L.65 16.936a1 1 0 0 1-.375-1.625l14-15a1 1 0 0 1 1.71.875l-1.837 9.177 7.204 2.7a1 1 0 0 1 .375 1.62z\"\n />\n </svg>\n </svg>\n );\n};\n\nconst Container = styled(Flex)`\n display: none;\n\n ${({ theme }) => theme.breakpoints.large} {\n display: flex;\n }\n`;\n\nconst TrialCountdown = () => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const timeLeftData = useGetLicenseTrialTimeLeftQuery(undefined, {\n skip: !license?.isTrial,\n });\n\n if (\n isError ||\n isLoading ||\n !license?.isTrial ||\n timeLeftData.isLoading ||\n timeLeftData.isError ||\n !timeLeftData.data ||\n !timeLeftData.data.trialEndsAt\n ) {\n return null;\n }\n\n const targetDate = new Date(timeLeftData.data.trialEndsAt);\n const now = new Date();\n const isTargetDateInPast = isBefore(targetDate, startOfToday());\n\n const millisecondsPerDay = 1000 * 60 * 60 * 24;\n const timeDifference = targetDate.getTime() - now.getTime();\n\n const daysLeft =\n Math.ceil(timeDifference / millisecondsPerDay) <= 0\n ? 0\n : Math.ceil(timeDifference / millisecondsPerDay);\n\n return (\n <Container justifyContent=\"center\" padding={3}>\n <Tooltip\n label={formatMessage(\n isTargetDateInPast\n ? {\n id: 'app.components.LeftMenu.trialCountdown.endedAt',\n defaultMessage: 'Your trial ended on {date}',\n }\n : {\n id: 'app.components.LeftMenu.trialCountdown.endsAt',\n defaultMessage: 'Your trial ends on {date}',\n },\n {\n date: format(new Date(timeLeftData.data.trialEndsAt), 'PPP'),\n }\n )}\n side=\"right\"\n >\n <div data-testid=\"trial-countdown\">\n <CircleProgressBar percentage={((30 - daysLeft) * 100) / 30} />\n </div>\n </Tooltip>\n </Container>\n );\n};\n\nexport { TrialCountdown };\n"],"names":["CircleProgressBar","percentage","theme","useTheme","radius","circumference","Math","PI","offset","_jsxs","svg","width","height","viewBox","_jsx","defs","linearGradient","id","x1","y1","x2","y2","stop","stopColor","colors","primary600","alternative600","circle","cx","cy","r","stroke","strokeWidth","fill","strokeDasharray","strokeDashoffset","transform","strokeLinecap","x","y","path","d","Container","styled","Flex","breakpoints","large","TrialCountdown","formatMessage","useIntl","license","isError","isLoading","useLicenseLimits","timeLeftData","useGetLicenseTrialTimeLeftQuery","undefined","skip","isTrial","data","trialEndsAt","targetDate","Date","now","isTargetDateInPast","isBefore","startOfToday","millisecondsPerDay","timeDifference","getTime","daysLeft","ceil","justifyContent","padding","Tooltip","label","defaultMessage","date","format","side","div","data-testid"],"mappings":";;;;;;;;;;AAYA,MAAMA,iBAAAA,GAAoB,CAAC,EAAEC,UAAU,EAA0B,GAAA;AAC/D,IAAA,MAAMC,KAAAA,GAAQC,
|
|
1
|
+
{"version":3,"file":"TrialCountdown.js","sources":["../../../../../../admin/src/components/MainNav/TrialCountdown.tsx"],"sourcesContent":["import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, Tooltip } from '@strapi/design-system';\nimport { format, isBefore, startOfToday } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { useGetLicenseTrialTimeLeftQuery } from '../../../src/services/admin';\n\ntype CircleProgressBarProps = {\n percentage: number;\n};\n\nconst CircleProgressBar = ({ percentage }: CircleProgressBarProps) => {\n const theme = useTheme();\n\n const radius = 45;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference * (1 - percentage / 100);\n\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 100 100\">\n <defs>\n <linearGradient id=\"progressGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0%\" stopColor={theme.colors.primary600} />\n <stop offset=\"100%\" stopColor={theme.colors.alternative600} />\n </linearGradient>\n </defs>\n <circle cx=\"50\" cy=\"50\" r={radius} stroke=\"#ccc\" strokeWidth=\"10\" fill=\"none\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"url(#progressGradient)\"\n strokeWidth=\"10\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform=\"rotate(-90 50 50)\"\n strokeLinecap=\"round\"\n />\n <svg x=\"35\" y=\"25\" width=\"50\" height=\"50\" viewBox=\"0 0 32 32\">\n <path\n fill=\"url(#progressGradient)\"\n d=\"m21.731 14.683-14 15a1 1 0 0 1-1.711-.875l1.832-9.167L.65 16.936a1 1 0 0 1-.375-1.625l14-15a1 1 0 0 1 1.71.875l-1.837 9.177 7.204 2.7a1 1 0 0 1 .375 1.62z\"\n />\n </svg>\n </svg>\n );\n};\n\nconst Container = styled(Flex)`\n display: none;\n\n ${({ theme }) => theme.breakpoints.large} {\n display: flex;\n }\n`;\n\nconst TrialCountdown = () => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const timeLeftData = useGetLicenseTrialTimeLeftQuery(undefined, {\n skip: !license?.isTrial,\n });\n\n if (\n isError ||\n isLoading ||\n !license?.isTrial ||\n timeLeftData.isLoading ||\n timeLeftData.isError ||\n !timeLeftData.data ||\n !timeLeftData.data.trialEndsAt\n ) {\n return null;\n }\n\n const targetDate = new Date(timeLeftData.data.trialEndsAt);\n const now = new Date();\n const isTargetDateInPast = isBefore(targetDate, startOfToday());\n\n const millisecondsPerDay = 1000 * 60 * 60 * 24;\n const timeDifference = targetDate.getTime() - now.getTime();\n\n const daysLeft =\n Math.ceil(timeDifference / millisecondsPerDay) <= 0\n ? 0\n : Math.ceil(timeDifference / millisecondsPerDay);\n\n return (\n <Container justifyContent=\"center\" padding={3}>\n <Tooltip\n label={formatMessage(\n isTargetDateInPast\n ? {\n id: 'app.components.LeftMenu.trialCountdown.endedAt',\n defaultMessage: 'Your trial ended on {date}',\n }\n : {\n id: 'app.components.LeftMenu.trialCountdown.endsAt',\n defaultMessage: 'Your trial ends on {date}',\n },\n {\n date: format(new Date(timeLeftData.data.trialEndsAt), 'PPP'),\n }\n )}\n side=\"right\"\n >\n <div data-testid=\"trial-countdown\">\n <CircleProgressBar percentage={((30 - daysLeft) * 100) / 30} />\n </div>\n </Tooltip>\n </Container>\n );\n};\n\nexport { TrialCountdown };\n"],"names":["CircleProgressBar","percentage","theme","useTheme","radius","circumference","Math","PI","offset","_jsxs","svg","width","height","viewBox","_jsx","defs","linearGradient","id","x1","y1","x2","y2","stop","stopColor","colors","primary600","alternative600","circle","cx","cy","r","stroke","strokeWidth","fill","strokeDasharray","strokeDashoffset","transform","strokeLinecap","x","y","path","d","Container","styled","Flex","breakpoints","large","TrialCountdown","formatMessage","useIntl","license","isError","isLoading","useLicenseLimits","timeLeftData","useGetLicenseTrialTimeLeftQuery","undefined","skip","isTrial","data","trialEndsAt","targetDate","Date","now","isTargetDateInPast","isBefore","startOfToday","millisecondsPerDay","timeDifference","getTime","daysLeft","ceil","justifyContent","padding","Tooltip","label","defaultMessage","date","format","side","div","data-testid"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ var designSystem = require('@strapi/design-system');
|
|
|
6
6
|
var icons = require('@strapi/icons');
|
|
7
7
|
var formik = require('formik');
|
|
8
8
|
var reactIntl = require('react-intl');
|
|
9
|
-
var
|
|
9
|
+
var styledComponents = require('styled-components');
|
|
10
10
|
var yup = require('yup');
|
|
11
11
|
var AppInfo = require('../features/AppInfo.js');
|
|
12
12
|
var Auth = require('../features/Auth.js');
|
|
@@ -35,7 +35,7 @@ function _interopNamespace(e) {
|
|
|
35
35
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
36
36
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
37
37
|
|
|
38
|
-
const FieldWrapper =
|
|
38
|
+
const FieldWrapper = styledComponents.styled(designSystem.Field.Root)`
|
|
39
39
|
height: 3.2rem;
|
|
40
40
|
width: 3.2rem;
|
|
41
41
|
align-items: center;
|