@strapi/admin 5.50.0 → 5.50.2
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/NpsSurvey.mjs.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js +6 -6
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +11 -9
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +4 -2
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/Table.js +9 -5
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Table.mjs +6 -2
- package/dist/admin/admin/src/components/Table.mjs.map +1 -1
- package/dist/admin/admin/src/components/Theme.js +2 -2
- package/dist/admin/admin/src/components/Theme.js.map +1 -1
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js +2 -2
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +3 -3
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.js +4 -7
- package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js +5 -5
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/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 +6 -4
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +6 -4
- 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/useRBAC.js +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.js.map +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.mjs +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.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 +3 -11
- 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 +3 -11
- 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/reducer.js +3 -3
- package/dist/admin/admin/src/reducer.js.map +1 -1
- package/dist/admin/admin/src/reducer.mjs +4 -4
- package/dist/admin/admin/src/reducer.mjs.map +1 -1
- package/dist/admin/admin/src/render.js +6 -2
- package/dist/admin/admin/src/render.js.map +1 -1
- package/dist/admin/admin/src/render.mjs +6 -2
- package/dist/admin/admin/src/render.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +1 -2
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +1 -2
- package/dist/admin/admin/src/translations/en.json.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/ko.json.js +157 -1
- package/dist/admin/admin/src/translations/ko.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ko.json.mjs +157 -1
- package/dist/admin/admin/src/translations/ko.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/cookies.js +7 -0
- package/dist/admin/admin/src/utils/cookies.js.map +1 -1
- package/dist/admin/admin/src/utils/cookies.mjs +7 -1
- package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js +2 -2
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs +3 -3
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getProjectType.js +22 -0
- package/dist/admin/admin/src/utils/getProjectType.js.map +1 -0
- package/dist/admin/admin/src/utils/getProjectType.mjs +20 -0
- package/dist/admin/admin/src/utils/getProjectType.mjs.map +1 -0
- 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/AuthResponse.js +1 -1
- package/dist/admin/ee/admin/src/pages/AuthResponse.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthResponse.mjs +2 -2
- package/dist/admin/ee/admin/src/pages/AuthResponse.mjs.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/shared/utils/auth-cookie-name.js +31 -0
- package/dist/admin/shared/utils/auth-cookie-name.js.map +1 -0
- package/dist/admin/shared/utils/auth-cookie-name.mjs +28 -0
- package/dist/admin/shared/utils/auth-cookie-name.mjs.map +1 -0
- 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 +5 -5
- 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 +3 -3
- 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/cookies.d.ts +5 -0
- package/dist/admin/src/utils/getFetchClient.d.ts +7 -7
- package/dist/admin/src/utils/getProjectType.d.ts +16 -0
- 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/hooks/useAuditLogsData.d.ts +1 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +2 -1
- package/dist/ee/admin/src/services/ai.d.ts +3 -3
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/routes/audit-logs.d.ts +1 -1
- package/dist/ee/server/src/controllers/admin.d.ts +2 -0
- package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/index.d.ts +2 -0
- package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +2 -0
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/ee/server/src/routes/index.d.ts +2 -2
- package/dist/ee/server/src/routes/sso.d.ts +2 -2
- package/dist/ee/server/src/services/index.d.ts +2 -2
- package/dist/server/ee/server/src/controllers/admin.js +1 -0
- package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.mjs +1 -0
- package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +2 -2
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.js +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.js.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs.map +1 -1
- package/dist/server/server/src/services/role.js +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/shared/utils/auth-cookie-name.js +31 -0
- package/dist/server/shared/utils/auth-cookie-name.js.map +1 -0
- package/dist/server/shared/utils/auth-cookie-name.mjs +28 -0
- package/dist/server/shared/utils/auth-cookie-name.mjs.map +1 -0
- package/dist/server/shared/utils/session-auth.js +6 -0
- package/dist/server/shared/utils/session-auth.js.map +1 -1
- package/dist/server/shared/utils/session-auth.mjs +6 -1
- package/dist/server/shared/utils/session-auth.mjs.map +1 -1
- package/dist/server/src/controllers/admin.d.ts +3 -3
- package/dist/server/src/controllers/index.d.ts +3 -3
- package/dist/server/src/domain/user.d.ts +1 -1
- package/dist/server/src/index.d.ts +19 -19
- package/dist/server/src/middlewares/index.d.ts +1 -1
- package/dist/server/src/services/index.d.ts +13 -13
- 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/dist/shared/utils/__tests__/auth-cookie-name.test.d.ts +1 -0
- package/dist/shared/utils/__tests__/auth-cookie-name.test.d.ts.map +1 -0
- package/dist/shared/utils/__tests__/session-auth.test.d.ts +1 -0
- package/dist/shared/utils/__tests__/session-auth.test.d.ts.map +1 -0
- package/dist/shared/utils/auth-cookie-name.d.ts +14 -0
- package/dist/shared/utils/auth-cookie-name.d.ts.map +1 -0
- package/dist/shared/utils/session-auth.d.ts +1 -0
- package/dist/shared/utils/session-auth.d.ts.map +1 -1
- package/package.json +20 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadersInput.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n TextButton,\n ComboboxOption,\n Combobox,\n ComboboxProps,\n IconButton,\n Field as DSField,\n} from '@strapi/design-system';\nimport { Minus, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField, useForm } from '../../../../../components/Form';\nimport { StringInput } from '../../../../../components/FormInputs/String';\n\nconst AddHeaderButton = styled(TextButton)`\n cursor: pointer;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * HeadersInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface Header {\n key: HTTPHeaders;\n value: string;\n}\n\nconst HeadersInput = () => {\n const { formatMessage } = useIntl();\n\n const addFieldRow = useForm('HeadersInput', (state) => state.addFieldRow);\n const removeFieldRow = useForm('HeadersInput', (state) => state.removeFieldRow);\n const setFieldValue = useForm('HeadersInput', (state) => state.onChange);\n const { value = [] } = useField<Header[]>('headers');\n\n const removeRow = (index: number) => {\n // if we are removing the last row, simply clear it\n if (value.length === 1) {\n setFieldValue('headers', [{ key: '', value: '' }]);\n } else {\n removeFieldRow('headers', index);\n }\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <DSField.Label>\n {formatMessage({\n id: 'Settings.webhooks.form.headers',\n defaultMessage: 'Headers',\n })}\n </DSField.Label>\n <Box padding={8} background=\"neutral100\" hasRadius>\n {value.map((val, index) => {\n return (\n <Grid.Root key={`${index}-${JSON.stringify(val.key)}`} gap={4} padding={2}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <HeaderCombobox\n name={`headers.${index}.key`}\n aria-label={`row ${index + 1} key`}\n label={formatMessage({\n id: 'Settings.webhooks.key',\n defaultMessage: 'Key',\n })}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Flex alignItems=\"flex-end\" gap={2}>\n <Box style={{ flex: 1 }}>\n <StringInput\n name={`headers.${index}.value`}\n aria-label={`row ${index + 1} value`}\n label={formatMessage({\n id: 'Settings.webhooks.value',\n defaultMessage: 'Value',\n })}\n type=\"text\"\n />\n </Box>\n <IconButton\n width=\"4rem\"\n height=\"4rem\"\n onClick={() => removeRow(index)}\n color=\"primary600\"\n label={formatMessage(\n {\n id: 'Settings.webhooks.headers.remove',\n defaultMessage: 'Remove header row {number}',\n },\n { number: index + 1 }\n )}\n type=\"button\"\n >\n <Minus width=\"0.8rem\" />\n </IconButton>\n </Flex>\n </Grid.Item>\n </Grid.Root>\n );\n })}\n <Box paddingTop={4}>\n <AddHeaderButton\n type=\"button\"\n onClick={() => {\n addFieldRow('headers', { key: '', value: '' });\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.create.header',\n defaultMessage: 'Create new header',\n })}\n </AddHeaderButton>\n </Box>\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderCombobox\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderComboboxProps extends Omit<ComboboxProps, 'children' | 'name'> {\n name: string;\n label: string;\n}\n\nconst HeaderCombobox = ({ name, label, ...restProps }: HeaderComboboxProps) => {\n const [options, setOptions] = React.useState<HTTPHeaders[]>([...HTTP_HEADERS]);\n const { value: headers } = useField<Header[]>('headers');\n const field = useField(name);\n\n React.useEffect(() => {\n const headerOptions = HTTP_HEADERS.filter(\n (key) => !headers?.some((header) => header.key !== field.value && header.key === key)\n );\n\n setOptions(headerOptions);\n }, [headers, field.value]);\n\n const handleChange: ComboboxProps['onChange'] = (value) => {\n field.onChange(name, value);\n };\n\n const handleCreateOption = (value?: string) => {\n setOptions((prev) => [...prev, value as HTTPHeaders]);\n\n if (value) {\n handleChange(value);\n }\n };\n\n return (\n <DSField.Root name={name} error={field.error}>\n <DSField.Label>{label}</DSField.Label>\n <Combobox\n {...restProps}\n onClear={() => handleChange('')}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n placeholder=\"\"\n creatable\n value={field.value}\n >\n {options.map((key) => (\n <ComboboxOption value={key} key={key}>\n {key}\n </ComboboxOption>\n ))}\n </Combobox>\n <DSField.Error />\n </DSField.Root>\n );\n};\n\nconst HTTP_HEADERS = [\n 'A-IM',\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Datetime',\n 'Access-Control-Request-Method',\n 'Access-Control-Request-Headers',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Length',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Max-Forwards',\n 'Origin',\n 'Pragma',\n 'Proxy-Authorization',\n 'Range',\n 'Referer',\n 'TE',\n 'User-Agent',\n 'Upgrade',\n 'Via',\n 'Warning',\n] as const;\n\ntype HTTPHeaders = (typeof HTTP_HEADERS)[number];\n\nexport { HeadersInput };\n"],"names":["AddHeaderButton","styled","TextButton","HeadersInput","formatMessage","useIntl","addFieldRow","useForm","state","removeFieldRow","setFieldValue","onChange","value","useField","removeRow","index","length","key","_jsxs","Flex","direction","alignItems","gap","_jsx","DSField","Label","id","defaultMessage","Box","padding","background","hasRadius","map","val","Grid","Root","Item","xs","col","HeaderCombobox","name","aria-label","label","style","flex","StringInput","type","IconButton","width","height","onClick","color","number","Minus","JSON","stringify","paddingTop","startIcon","Plus","restProps","options","setOptions","React","useState","HTTP_HEADERS","headers","field","useEffect","headerOptions","filter","some","header","handleChange","handleCreateOption","prev","error","Combobox","onClear","onCreateOption","placeholder","creatable","ComboboxOption","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeadersInput.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n TextButton,\n ComboboxOption,\n Combobox,\n ComboboxProps,\n IconButton,\n Field as DSField,\n} from '@strapi/design-system';\nimport { Minus, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField, useForm } from '../../../../../components/Form';\nimport { StringInput } from '../../../../../components/FormInputs/String';\n\nconst AddHeaderButton = styled(TextButton)`\n cursor: pointer;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * HeadersInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface Header {\n key: HTTPHeaders;\n value: string;\n}\n\nconst HeadersInput = () => {\n const { formatMessage } = useIntl();\n\n const addFieldRow = useForm('HeadersInput', (state) => state.addFieldRow);\n const removeFieldRow = useForm('HeadersInput', (state) => state.removeFieldRow);\n const setFieldValue = useForm('HeadersInput', (state) => state.onChange);\n const { value = [] } = useField<Header[]>('headers');\n\n const removeRow = (index: number) => {\n // if we are removing the last row, simply clear it\n if (value.length === 1) {\n setFieldValue('headers', [{ key: '', value: '' }]);\n } else {\n removeFieldRow('headers', index);\n }\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <DSField.Label>\n {formatMessage({\n id: 'Settings.webhooks.form.headers',\n defaultMessage: 'Headers',\n })}\n </DSField.Label>\n <Box padding={8} background=\"neutral100\" hasRadius>\n {value.map((val, index) => {\n return (\n <Grid.Root key={`${index}-${JSON.stringify(val.key)}`} gap={4} padding={2}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <HeaderCombobox\n name={`headers.${index}.key`}\n aria-label={`row ${index + 1} key`}\n label={formatMessage({\n id: 'Settings.webhooks.key',\n defaultMessage: 'Key',\n })}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Flex alignItems=\"flex-end\" gap={2}>\n <Box style={{ flex: 1 }}>\n <StringInput\n name={`headers.${index}.value`}\n aria-label={`row ${index + 1} value`}\n label={formatMessage({\n id: 'Settings.webhooks.value',\n defaultMessage: 'Value',\n })}\n type=\"text\"\n />\n </Box>\n <IconButton\n width=\"4rem\"\n height=\"4rem\"\n onClick={() => removeRow(index)}\n color=\"primary600\"\n label={formatMessage(\n {\n id: 'Settings.webhooks.headers.remove',\n defaultMessage: 'Remove header row {number}',\n },\n { number: index + 1 }\n )}\n type=\"button\"\n >\n <Minus width=\"0.8rem\" />\n </IconButton>\n </Flex>\n </Grid.Item>\n </Grid.Root>\n );\n })}\n <Box paddingTop={4}>\n <AddHeaderButton\n type=\"button\"\n onClick={() => {\n addFieldRow('headers', { key: '', value: '' });\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.create.header',\n defaultMessage: 'Create new header',\n })}\n </AddHeaderButton>\n </Box>\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderCombobox\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderComboboxProps extends Omit<ComboboxProps, 'children' | 'name'> {\n name: string;\n label: string;\n}\n\nconst HeaderCombobox = ({ name, label, ...restProps }: HeaderComboboxProps) => {\n const [options, setOptions] = React.useState<HTTPHeaders[]>([...HTTP_HEADERS]);\n const { value: headers } = useField<Header[]>('headers');\n const field = useField<string>(name);\n\n React.useEffect(() => {\n const headerOptions = HTTP_HEADERS.filter(\n (key) => !headers?.some((header) => header.key !== field.value && header.key === key)\n );\n\n setOptions(headerOptions);\n }, [headers, field.value]);\n\n const handleChange: ComboboxProps['onChange'] = (value) => {\n field.onChange(name, value);\n };\n\n const handleCreateOption = (value?: string) => {\n setOptions((prev) => [...prev, value as HTTPHeaders]);\n\n if (value) {\n handleChange(value);\n }\n };\n\n return (\n <DSField.Root name={name} error={field.error}>\n <DSField.Label>{label}</DSField.Label>\n <Combobox\n {...restProps}\n onClear={() => handleChange('')}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n placeholder=\"\"\n creatable\n value={field.value}\n >\n {options.map((key) => (\n <ComboboxOption value={key} key={key}>\n {key}\n </ComboboxOption>\n ))}\n </Combobox>\n <DSField.Error />\n </DSField.Root>\n );\n};\n\nconst HTTP_HEADERS = [\n 'A-IM',\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Datetime',\n 'Access-Control-Request-Method',\n 'Access-Control-Request-Headers',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Length',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Max-Forwards',\n 'Origin',\n 'Pragma',\n 'Proxy-Authorization',\n 'Range',\n 'Referer',\n 'TE',\n 'User-Agent',\n 'Upgrade',\n 'Via',\n 'Warning',\n] as const;\n\ntype HTTPHeaders = (typeof HTTP_HEADERS)[number];\n\nexport { HeadersInput };\n"],"names":["AddHeaderButton","styled","TextButton","HeadersInput","formatMessage","useIntl","addFieldRow","useForm","state","removeFieldRow","setFieldValue","onChange","value","useField","removeRow","index","length","key","_jsxs","Flex","direction","alignItems","gap","_jsx","DSField","Label","id","defaultMessage","Box","padding","background","hasRadius","map","val","Grid","Root","Item","xs","col","HeaderCombobox","name","aria-label","label","style","flex","StringInput","type","IconButton","width","height","onClick","color","number","Minus","JSON","stringify","paddingTop","startIcon","Plus","restProps","options","setOptions","React","useState","HTTP_HEADERS","headers","field","useEffect","headerOptions","filter","some","header","handleChange","handleCreateOption","prev","error","Combobox","onClear","onCreateOption","placeholder","creatable","ComboboxOption","Error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadersInput.mjs","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n TextButton,\n ComboboxOption,\n Combobox,\n ComboboxProps,\n IconButton,\n Field as DSField,\n} from '@strapi/design-system';\nimport { Minus, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField, useForm } from '../../../../../components/Form';\nimport { StringInput } from '../../../../../components/FormInputs/String';\n\nconst AddHeaderButton = styled(TextButton)`\n cursor: pointer;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * HeadersInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface Header {\n key: HTTPHeaders;\n value: string;\n}\n\nconst HeadersInput = () => {\n const { formatMessage } = useIntl();\n\n const addFieldRow = useForm('HeadersInput', (state) => state.addFieldRow);\n const removeFieldRow = useForm('HeadersInput', (state) => state.removeFieldRow);\n const setFieldValue = useForm('HeadersInput', (state) => state.onChange);\n const { value = [] } = useField<Header[]>('headers');\n\n const removeRow = (index: number) => {\n // if we are removing the last row, simply clear it\n if (value.length === 1) {\n setFieldValue('headers', [{ key: '', value: '' }]);\n } else {\n removeFieldRow('headers', index);\n }\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <DSField.Label>\n {formatMessage({\n id: 'Settings.webhooks.form.headers',\n defaultMessage: 'Headers',\n })}\n </DSField.Label>\n <Box padding={8} background=\"neutral100\" hasRadius>\n {value.map((val, index) => {\n return (\n <Grid.Root key={`${index}-${JSON.stringify(val.key)}`} gap={4} padding={2}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <HeaderCombobox\n name={`headers.${index}.key`}\n aria-label={`row ${index + 1} key`}\n label={formatMessage({\n id: 'Settings.webhooks.key',\n defaultMessage: 'Key',\n })}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Flex alignItems=\"flex-end\" gap={2}>\n <Box style={{ flex: 1 }}>\n <StringInput\n name={`headers.${index}.value`}\n aria-label={`row ${index + 1} value`}\n label={formatMessage({\n id: 'Settings.webhooks.value',\n defaultMessage: 'Value',\n })}\n type=\"text\"\n />\n </Box>\n <IconButton\n width=\"4rem\"\n height=\"4rem\"\n onClick={() => removeRow(index)}\n color=\"primary600\"\n label={formatMessage(\n {\n id: 'Settings.webhooks.headers.remove',\n defaultMessage: 'Remove header row {number}',\n },\n { number: index + 1 }\n )}\n type=\"button\"\n >\n <Minus width=\"0.8rem\" />\n </IconButton>\n </Flex>\n </Grid.Item>\n </Grid.Root>\n );\n })}\n <Box paddingTop={4}>\n <AddHeaderButton\n type=\"button\"\n onClick={() => {\n addFieldRow('headers', { key: '', value: '' });\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.create.header',\n defaultMessage: 'Create new header',\n })}\n </AddHeaderButton>\n </Box>\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderCombobox\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderComboboxProps extends Omit<ComboboxProps, 'children' | 'name'> {\n name: string;\n label: string;\n}\n\nconst HeaderCombobox = ({ name, label, ...restProps }: HeaderComboboxProps) => {\n const [options, setOptions] = React.useState<HTTPHeaders[]>([...HTTP_HEADERS]);\n const { value: headers } = useField<Header[]>('headers');\n const field = useField(name);\n\n React.useEffect(() => {\n const headerOptions = HTTP_HEADERS.filter(\n (key) => !headers?.some((header) => header.key !== field.value && header.key === key)\n );\n\n setOptions(headerOptions);\n }, [headers, field.value]);\n\n const handleChange: ComboboxProps['onChange'] = (value) => {\n field.onChange(name, value);\n };\n\n const handleCreateOption = (value?: string) => {\n setOptions((prev) => [...prev, value as HTTPHeaders]);\n\n if (value) {\n handleChange(value);\n }\n };\n\n return (\n <DSField.Root name={name} error={field.error}>\n <DSField.Label>{label}</DSField.Label>\n <Combobox\n {...restProps}\n onClear={() => handleChange('')}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n placeholder=\"\"\n creatable\n value={field.value}\n >\n {options.map((key) => (\n <ComboboxOption value={key} key={key}>\n {key}\n </ComboboxOption>\n ))}\n </Combobox>\n <DSField.Error />\n </DSField.Root>\n );\n};\n\nconst HTTP_HEADERS = [\n 'A-IM',\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Datetime',\n 'Access-Control-Request-Method',\n 'Access-Control-Request-Headers',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Length',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Max-Forwards',\n 'Origin',\n 'Pragma',\n 'Proxy-Authorization',\n 'Range',\n 'Referer',\n 'TE',\n 'User-Agent',\n 'Upgrade',\n 'Via',\n 'Warning',\n] as const;\n\ntype HTTPHeaders = (typeof HTTP_HEADERS)[number];\n\nexport { HeadersInput };\n"],"names":["AddHeaderButton","styled","TextButton","HeadersInput","formatMessage","useIntl","addFieldRow","useForm","state","removeFieldRow","setFieldValue","onChange","value","useField","removeRow","index","length","key","_jsxs","Flex","direction","alignItems","gap","_jsx","DSField","Label","id","defaultMessage","Box","padding","background","hasRadius","map","val","Grid","Root","Item","xs","col","HeaderCombobox","name","aria-label","label","style","flex","StringInput","type","IconButton","width","height","onClick","color","number","Minus","JSON","stringify","paddingTop","startIcon","Plus","restProps","options","setOptions","React","useState","HTTP_HEADERS","headers","field","useEffect","headerOptions","filter","some","header","handleChange","handleCreateOption","prev","error","Combobox","onClear","onCreateOption","placeholder","creatable","ComboboxOption","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeadersInput.mjs","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n TextButton,\n ComboboxOption,\n Combobox,\n ComboboxProps,\n IconButton,\n Field as DSField,\n} from '@strapi/design-system';\nimport { Minus, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField, useForm } from '../../../../../components/Form';\nimport { StringInput } from '../../../../../components/FormInputs/String';\n\nconst AddHeaderButton = styled(TextButton)`\n cursor: pointer;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * HeadersInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface Header {\n key: HTTPHeaders;\n value: string;\n}\n\nconst HeadersInput = () => {\n const { formatMessage } = useIntl();\n\n const addFieldRow = useForm('HeadersInput', (state) => state.addFieldRow);\n const removeFieldRow = useForm('HeadersInput', (state) => state.removeFieldRow);\n const setFieldValue = useForm('HeadersInput', (state) => state.onChange);\n const { value = [] } = useField<Header[]>('headers');\n\n const removeRow = (index: number) => {\n // if we are removing the last row, simply clear it\n if (value.length === 1) {\n setFieldValue('headers', [{ key: '', value: '' }]);\n } else {\n removeFieldRow('headers', index);\n }\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <DSField.Label>\n {formatMessage({\n id: 'Settings.webhooks.form.headers',\n defaultMessage: 'Headers',\n })}\n </DSField.Label>\n <Box padding={8} background=\"neutral100\" hasRadius>\n {value.map((val, index) => {\n return (\n <Grid.Root key={`${index}-${JSON.stringify(val.key)}`} gap={4} padding={2}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <HeaderCombobox\n name={`headers.${index}.key`}\n aria-label={`row ${index + 1} key`}\n label={formatMessage({\n id: 'Settings.webhooks.key',\n defaultMessage: 'Key',\n })}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Flex alignItems=\"flex-end\" gap={2}>\n <Box style={{ flex: 1 }}>\n <StringInput\n name={`headers.${index}.value`}\n aria-label={`row ${index + 1} value`}\n label={formatMessage({\n id: 'Settings.webhooks.value',\n defaultMessage: 'Value',\n })}\n type=\"text\"\n />\n </Box>\n <IconButton\n width=\"4rem\"\n height=\"4rem\"\n onClick={() => removeRow(index)}\n color=\"primary600\"\n label={formatMessage(\n {\n id: 'Settings.webhooks.headers.remove',\n defaultMessage: 'Remove header row {number}',\n },\n { number: index + 1 }\n )}\n type=\"button\"\n >\n <Minus width=\"0.8rem\" />\n </IconButton>\n </Flex>\n </Grid.Item>\n </Grid.Root>\n );\n })}\n <Box paddingTop={4}>\n <AddHeaderButton\n type=\"button\"\n onClick={() => {\n addFieldRow('headers', { key: '', value: '' });\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.create.header',\n defaultMessage: 'Create new header',\n })}\n </AddHeaderButton>\n </Box>\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderCombobox\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderComboboxProps extends Omit<ComboboxProps, 'children' | 'name'> {\n name: string;\n label: string;\n}\n\nconst HeaderCombobox = ({ name, label, ...restProps }: HeaderComboboxProps) => {\n const [options, setOptions] = React.useState<HTTPHeaders[]>([...HTTP_HEADERS]);\n const { value: headers } = useField<Header[]>('headers');\n const field = useField<string>(name);\n\n React.useEffect(() => {\n const headerOptions = HTTP_HEADERS.filter(\n (key) => !headers?.some((header) => header.key !== field.value && header.key === key)\n );\n\n setOptions(headerOptions);\n }, [headers, field.value]);\n\n const handleChange: ComboboxProps['onChange'] = (value) => {\n field.onChange(name, value);\n };\n\n const handleCreateOption = (value?: string) => {\n setOptions((prev) => [...prev, value as HTTPHeaders]);\n\n if (value) {\n handleChange(value);\n }\n };\n\n return (\n <DSField.Root name={name} error={field.error}>\n <DSField.Label>{label}</DSField.Label>\n <Combobox\n {...restProps}\n onClear={() => handleChange('')}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n placeholder=\"\"\n creatable\n value={field.value}\n >\n {options.map((key) => (\n <ComboboxOption value={key} key={key}>\n {key}\n </ComboboxOption>\n ))}\n </Combobox>\n <DSField.Error />\n </DSField.Root>\n );\n};\n\nconst HTTP_HEADERS = [\n 'A-IM',\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Datetime',\n 'Access-Control-Request-Method',\n 'Access-Control-Request-Headers',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Length',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Max-Forwards',\n 'Origin',\n 'Pragma',\n 'Proxy-Authorization',\n 'Range',\n 'Referer',\n 'TE',\n 'User-Agent',\n 'Upgrade',\n 'Via',\n 'Warning',\n] as const;\n\ntype HTTPHeaders = (typeof HTTP_HEADERS)[number];\n\nexport { HeadersInput };\n"],"names":["AddHeaderButton","styled","TextButton","HeadersInput","formatMessage","useIntl","addFieldRow","useForm","state","removeFieldRow","setFieldValue","onChange","value","useField","removeRow","index","length","key","_jsxs","Flex","direction","alignItems","gap","_jsx","DSField","Label","id","defaultMessage","Box","padding","background","hasRadius","map","val","Grid","Root","Item","xs","col","HeaderCombobox","name","aria-label","label","style","flex","StringInput","type","IconButton","width","height","onClick","color","number","Minus","JSON","stringify","paddingTop","startIcon","Plus","restProps","options","setOptions","React","useState","HTTP_HEADERS","headers","field","useEffect","headerOptions","filter","some","header","handleChange","handleCreateOption","prev","error","Combobox","onClear","onCreateOption","placeholder","creatable","ComboboxOption","Error"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const getStoredToken = ()=>{
|
|
|
14
14
|
if (fromLocalStorage) {
|
|
15
15
|
return JSON.parse(fromLocalStorage);
|
|
16
16
|
}
|
|
17
|
-
const fromCookie = cookies.getCookieValue(
|
|
17
|
+
const fromCookie = cookies.getCookieValue(cookies.AUTH_COOKIE_NAME);
|
|
18
18
|
return fromCookie ?? null;
|
|
19
19
|
};
|
|
20
20
|
const adminSlice = toolkit.createSlice({
|
|
@@ -54,7 +54,7 @@ const adminSlice = toolkit.createSlice({
|
|
|
54
54
|
login (state, action) {
|
|
55
55
|
const { token, persist } = action.payload;
|
|
56
56
|
if (!persist) {
|
|
57
|
-
cookies.setCookie(
|
|
57
|
+
cookies.setCookie(cookies.AUTH_COOKIE_NAME, token);
|
|
58
58
|
} else {
|
|
59
59
|
window.localStorage.setItem(STORAGE_KEYS.TOKEN, JSON.stringify(token));
|
|
60
60
|
}
|
|
@@ -63,7 +63,7 @@ const adminSlice = toolkit.createSlice({
|
|
|
63
63
|
},
|
|
64
64
|
logout (state) {
|
|
65
65
|
state.token = null;
|
|
66
|
-
cookies.deleteCookie(
|
|
66
|
+
cookies.deleteCookie(cookies.AUTH_COOKIE_NAME);
|
|
67
67
|
window.localStorage.removeItem(STORAGE_KEYS.TOKEN);
|
|
68
68
|
window.localStorage.removeItem(STORAGE_KEYS.STATUS);
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../../admin/src/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\n\nimport { PermissionMap } from './types/permissions';\nimport { getCookieValue, setCookie, deleteCookie } from './utils/cookies';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\n\ntype ThemeName = 'light' | 'dark' | 'system';\n\ninterface AppState {\n language: {\n locale: string;\n localeNames: Record<string, string>;\n };\n permissions: Partial<PermissionMap>;\n theme: {\n currentTheme: ThemeName;\n availableThemes: string[];\n };\n token?: string | null;\n}\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n STATUS: 'isLoggedIn',\n};\n\nconst THEME_LOCAL_STORAGE_KEY = 'STRAPI_THEME';\nconst LANGUAGE_LOCAL_STORAGE_KEY = 'strapi-admin-language';\n\nexport const getStoredToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../../admin/src/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\n\nimport { PermissionMap } from './types/permissions';\nimport { AUTH_COOKIE_NAME, getCookieValue, setCookie, deleteCookie } from './utils/cookies';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\n\ntype ThemeName = 'light' | 'dark' | 'system';\n\ninterface AppState {\n language: {\n locale: string;\n localeNames: Record<string, string>;\n };\n permissions: Partial<PermissionMap>;\n theme: {\n currentTheme: ThemeName;\n availableThemes: string[];\n };\n token?: string | null;\n}\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n STATUS: 'isLoggedIn',\n};\n\nconst THEME_LOCAL_STORAGE_KEY = 'STRAPI_THEME';\nconst LANGUAGE_LOCAL_STORAGE_KEY = 'strapi-admin-language';\n\nexport const getStoredToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(AUTH_COOKIE_NAME);\n return fromCookie ?? null;\n};\n\nconst adminSlice = createSlice({\n name: 'admin',\n initialState: () => {\n return {\n language: {\n locale: 'en',\n localeNames: { en: 'English' },\n },\n permissions: {},\n theme: {\n availableThemes: [],\n currentTheme: localStorage.getItem(THEME_LOCAL_STORAGE_KEY) || 'system',\n },\n token: null,\n } as AppState;\n },\n reducers: {\n setAppTheme(state, action: PayloadAction<ThemeName>) {\n state.theme.currentTheme = action.payload;\n window.localStorage.setItem(THEME_LOCAL_STORAGE_KEY, action.payload);\n },\n setAvailableThemes(state, action: PayloadAction<AppState['theme']['availableThemes']>) {\n state.theme.availableThemes = action.payload;\n },\n setLocale(state, action: PayloadAction<string>) {\n state.language.locale = action.payload;\n\n window.localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, action.payload);\n document.documentElement.setAttribute('lang', action.payload);\n },\n setToken(state, action: PayloadAction<string | null>) {\n state.token = action.payload;\n },\n login(state, action: PayloadAction<{ token: string; persist?: boolean }>) {\n const { token, persist } = action.payload;\n\n if (!persist) {\n setCookie(AUTH_COOKIE_NAME, token);\n } else {\n window.localStorage.setItem(STORAGE_KEYS.TOKEN, JSON.stringify(token));\n }\n window.localStorage.setItem(STORAGE_KEYS.STATUS, 'true');\n state.token = token;\n },\n logout(state) {\n state.token = null;\n deleteCookie(AUTH_COOKIE_NAME);\n window.localStorage.removeItem(STORAGE_KEYS.TOKEN);\n window.localStorage.removeItem(STORAGE_KEYS.STATUS);\n },\n },\n});\n\nconst reducer = adminSlice.reducer;\n\nexport const { setAppTheme, setAvailableThemes, setLocale, setToken, logout, login } =\n adminSlice.actions;\n\nexport { reducer, THEME_LOCAL_STORAGE_KEY, LANGUAGE_LOCAL_STORAGE_KEY };\nexport type { AppState, ThemeName };\n"],"names":["STORAGE_KEYS","TOKEN","STATUS","THEME_LOCAL_STORAGE_KEY","LANGUAGE_LOCAL_STORAGE_KEY","getStoredToken","fromLocalStorage","localStorage","getItem","JSON","parse","fromCookie","getCookieValue","AUTH_COOKIE_NAME","adminSlice","createSlice","name","initialState","language","locale","localeNames","en","permissions","theme","availableThemes","currentTheme","token","reducers","setAppTheme","state","action","payload","window","setItem","setAvailableThemes","setLocale","document","documentElement","setAttribute","setToken","login","persist","setCookie","stringify","logout","deleteCookie","removeItem","reducer","actions"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
-
import { deleteCookie, setCookie, getCookieValue } from './utils/cookies.mjs';
|
|
2
|
+
import { deleteCookie, setCookie, AUTH_COOKIE_NAME, getCookieValue } from './utils/cookies.mjs';
|
|
3
3
|
|
|
4
4
|
const STORAGE_KEYS = {
|
|
5
5
|
TOKEN: 'jwtToken',
|
|
@@ -12,7 +12,7 @@ const getStoredToken = ()=>{
|
|
|
12
12
|
if (fromLocalStorage) {
|
|
13
13
|
return JSON.parse(fromLocalStorage);
|
|
14
14
|
}
|
|
15
|
-
const fromCookie = getCookieValue(
|
|
15
|
+
const fromCookie = getCookieValue(AUTH_COOKIE_NAME);
|
|
16
16
|
return fromCookie ?? null;
|
|
17
17
|
};
|
|
18
18
|
const adminSlice = createSlice({
|
|
@@ -52,7 +52,7 @@ const adminSlice = createSlice({
|
|
|
52
52
|
login (state, action) {
|
|
53
53
|
const { token, persist } = action.payload;
|
|
54
54
|
if (!persist) {
|
|
55
|
-
setCookie(
|
|
55
|
+
setCookie(AUTH_COOKIE_NAME, token);
|
|
56
56
|
} else {
|
|
57
57
|
window.localStorage.setItem(STORAGE_KEYS.TOKEN, JSON.stringify(token));
|
|
58
58
|
}
|
|
@@ -61,7 +61,7 @@ const adminSlice = createSlice({
|
|
|
61
61
|
},
|
|
62
62
|
logout (state) {
|
|
63
63
|
state.token = null;
|
|
64
|
-
deleteCookie(
|
|
64
|
+
deleteCookie(AUTH_COOKIE_NAME);
|
|
65
65
|
window.localStorage.removeItem(STORAGE_KEYS.TOKEN);
|
|
66
66
|
window.localStorage.removeItem(STORAGE_KEYS.STATUS);
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\n\nimport { PermissionMap } from './types/permissions';\nimport { getCookieValue, setCookie, deleteCookie } from './utils/cookies';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\n\ntype ThemeName = 'light' | 'dark' | 'system';\n\ninterface AppState {\n language: {\n locale: string;\n localeNames: Record<string, string>;\n };\n permissions: Partial<PermissionMap>;\n theme: {\n currentTheme: ThemeName;\n availableThemes: string[];\n };\n token?: string | null;\n}\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n STATUS: 'isLoggedIn',\n};\n\nconst THEME_LOCAL_STORAGE_KEY = 'STRAPI_THEME';\nconst LANGUAGE_LOCAL_STORAGE_KEY = 'strapi-admin-language';\n\nexport const getStoredToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(
|
|
1
|
+
{"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\n\nimport { PermissionMap } from './types/permissions';\nimport { AUTH_COOKIE_NAME, getCookieValue, setCookie, deleteCookie } from './utils/cookies';\n\nimport type { PayloadAction } from '@reduxjs/toolkit';\n\ntype ThemeName = 'light' | 'dark' | 'system';\n\ninterface AppState {\n language: {\n locale: string;\n localeNames: Record<string, string>;\n };\n permissions: Partial<PermissionMap>;\n theme: {\n currentTheme: ThemeName;\n availableThemes: string[];\n };\n token?: string | null;\n}\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n STATUS: 'isLoggedIn',\n};\n\nconst THEME_LOCAL_STORAGE_KEY = 'STRAPI_THEME';\nconst LANGUAGE_LOCAL_STORAGE_KEY = 'strapi-admin-language';\n\nexport const getStoredToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(AUTH_COOKIE_NAME);\n return fromCookie ?? null;\n};\n\nconst adminSlice = createSlice({\n name: 'admin',\n initialState: () => {\n return {\n language: {\n locale: 'en',\n localeNames: { en: 'English' },\n },\n permissions: {},\n theme: {\n availableThemes: [],\n currentTheme: localStorage.getItem(THEME_LOCAL_STORAGE_KEY) || 'system',\n },\n token: null,\n } as AppState;\n },\n reducers: {\n setAppTheme(state, action: PayloadAction<ThemeName>) {\n state.theme.currentTheme = action.payload;\n window.localStorage.setItem(THEME_LOCAL_STORAGE_KEY, action.payload);\n },\n setAvailableThemes(state, action: PayloadAction<AppState['theme']['availableThemes']>) {\n state.theme.availableThemes = action.payload;\n },\n setLocale(state, action: PayloadAction<string>) {\n state.language.locale = action.payload;\n\n window.localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, action.payload);\n document.documentElement.setAttribute('lang', action.payload);\n },\n setToken(state, action: PayloadAction<string | null>) {\n state.token = action.payload;\n },\n login(state, action: PayloadAction<{ token: string; persist?: boolean }>) {\n const { token, persist } = action.payload;\n\n if (!persist) {\n setCookie(AUTH_COOKIE_NAME, token);\n } else {\n window.localStorage.setItem(STORAGE_KEYS.TOKEN, JSON.stringify(token));\n }\n window.localStorage.setItem(STORAGE_KEYS.STATUS, 'true');\n state.token = token;\n },\n logout(state) {\n state.token = null;\n deleteCookie(AUTH_COOKIE_NAME);\n window.localStorage.removeItem(STORAGE_KEYS.TOKEN);\n window.localStorage.removeItem(STORAGE_KEYS.STATUS);\n },\n },\n});\n\nconst reducer = adminSlice.reducer;\n\nexport const { setAppTheme, setAvailableThemes, setLocale, setToken, logout, login } =\n adminSlice.actions;\n\nexport { reducer, THEME_LOCAL_STORAGE_KEY, LANGUAGE_LOCAL_STORAGE_KEY };\nexport type { AppState, ThemeName };\n"],"names":["STORAGE_KEYS","TOKEN","STATUS","THEME_LOCAL_STORAGE_KEY","LANGUAGE_LOCAL_STORAGE_KEY","getStoredToken","fromLocalStorage","localStorage","getItem","JSON","parse","fromCookie","getCookieValue","AUTH_COOKIE_NAME","adminSlice","createSlice","name","initialState","language","locale","localeNames","en","permissions","theme","availableThemes","currentTheme","token","reducers","setAppTheme","state","action","payload","window","setItem","setAvailableThemes","setLocale","document","documentElement","setAttribute","setToken","login","persist","setCookie","stringify","logout","deleteCookie","removeItem","reducer","actions"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var client = require('react-dom/client');
|
|
4
4
|
var StrapiApp = require('./StrapiApp.js');
|
|
5
5
|
var getFetchClient = require('./utils/getFetchClient.js');
|
|
6
|
+
var getProjectType = require('./utils/getProjectType.js');
|
|
6
7
|
var urls = require('./utils/urls.js');
|
|
7
8
|
|
|
8
9
|
const renderAdmin = async (mountNode, { plugins, customisations, features })=>{
|
|
@@ -49,7 +50,7 @@ const renderAdmin = async (mountNode, { plugins, customisations, features })=>{
|
|
|
49
50
|
};
|
|
50
51
|
const { get } = getFetchClient.getFetchClient();
|
|
51
52
|
try {
|
|
52
|
-
const { data: { data: { isEE, isTrial, features, flags, ai } } } = await get('/admin/project-type');
|
|
53
|
+
const { data: { data: { isEE, isTrial, features, flags, ai, planPriceId } } } = await get('/admin/project-type');
|
|
53
54
|
window.strapi.isEE = isEE;
|
|
54
55
|
window.strapi.isTrialLicense = isTrial;
|
|
55
56
|
window.strapi.flags = flags;
|
|
@@ -57,7 +58,10 @@ const renderAdmin = async (mountNode, { plugins, customisations, features })=>{
|
|
|
57
58
|
...window.strapi.features,
|
|
58
59
|
isEnabled: (featureName)=>features.some((feature)=>feature.name === featureName)
|
|
59
60
|
};
|
|
60
|
-
window.strapi.projectType =
|
|
61
|
+
window.strapi.projectType = getProjectType.getProjectType({
|
|
62
|
+
isEE,
|
|
63
|
+
planPriceId
|
|
64
|
+
});
|
|
61
65
|
// eslint-disable-next-line
|
|
62
66
|
// @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.
|
|
63
67
|
window.strapi.ai = ai;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sources":["../../../../admin/src/render.ts"],"sourcesContent":["/* eslint-disable no-undef */\nimport { createRoot } from 'react-dom/client';\n\nimport { StrapiApp, StrapiAppConstructorArgs } from './StrapiApp';\nimport { getFetchClient } from './utils/getFetchClient';\nimport { createAbsoluteUrl } from './utils/urls';\n\nimport type { Modules } from '@strapi/types';\n\ninterface RenderAdminArgs {\n customisations: {\n register?: (app: StrapiApp) => Promise<void> | void;\n bootstrap?: (app: StrapiApp) => Promise<void> | void;\n config?: StrapiAppConstructorArgs['config'];\n };\n plugins: StrapiAppConstructorArgs['appPlugins'];\n features?: Modules.Features.FeaturesService['config'];\n}\n\nconst renderAdmin = async (\n mountNode: HTMLElement | null,\n { plugins, customisations, features }: RenderAdminArgs\n) => {\n if (!mountNode) {\n throw new Error('[@strapi/admin]: Could not find the root element to mount the admin app');\n }\n\n window.strapi = {\n /**\n * This ENV variable is passed from the strapi instance, by default no url is set\n * in the config and therefore the instance returns you an empty string so URLs are relative.\n *\n * To ensure that the backendURL is always set, we use the window.location.origin as a fallback.\n */\n backendURL: createAbsoluteUrl(process.env.STRAPI_ADMIN_BACKEND_URL),\n isEE: false,\n isTrial: false,\n telemetryDisabled: process.env.STRAPI_TELEMETRY_DISABLED === 'true',\n future: {\n isEnabled: (name: keyof NonNullable<Modules.Features.FeaturesConfig['future']>) => {\n return features?.future?.[name] === true;\n },\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision. Cannot use @ts-expect-error because of build:code and build:types context collision.\n features: {\n SSO: 'sso',\n AUDIT_LOGS: 'audit-logs',\n REVIEW_WORKFLOWS: 'review-workflows',\n /**\n * If we don't get the license then we know it's not EE\n * so no feature is enabled.\n */\n isEnabled: () => false,\n },\n projectType: 'Community',\n flags: {\n nps: false,\n promoteEE: true,\n docLinks: true,\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.\n ai: {\n enabled: true,\n },\n };\n\n const { get } = getFetchClient();\n\n interface ProjectType extends Pick<Window['strapi'], 'flags'> {\n isEE: boolean;\n isTrial: boolean;\n features: {\n name: string;\n }[];\n ai: {\n enabled: boolean;\n };\n }\n\n try {\n const {\n data: {\n data: { isEE, isTrial, features, flags, ai },\n },\n } = await get<{ data: ProjectType }>('/admin/project-type');\n\n window.strapi.isEE = isEE;\n window.strapi.isTrialLicense = isTrial;\n window.strapi.flags = flags;\n window.strapi.features = {\n ...window.strapi.features,\n isEnabled: (featureName: string | undefined) =>\n features.some((feature) => feature.name === featureName),\n };\n window.strapi.projectType = isEE
|
|
1
|
+
{"version":3,"file":"render.js","sources":["../../../../admin/src/render.ts"],"sourcesContent":["/* eslint-disable no-undef */\nimport { createRoot } from 'react-dom/client';\n\nimport { StrapiApp, StrapiAppConstructorArgs } from './StrapiApp';\nimport { getFetchClient } from './utils/getFetchClient';\nimport { getProjectType } from './utils/getProjectType';\nimport { createAbsoluteUrl } from './utils/urls';\n\nimport type { Modules } from '@strapi/types';\n\ninterface RenderAdminArgs {\n customisations: {\n register?: (app: StrapiApp) => Promise<void> | void;\n bootstrap?: (app: StrapiApp) => Promise<void> | void;\n config?: StrapiAppConstructorArgs['config'];\n };\n plugins: StrapiAppConstructorArgs['appPlugins'];\n features?: Modules.Features.FeaturesService['config'];\n}\n\nconst renderAdmin = async (\n mountNode: HTMLElement | null,\n { plugins, customisations, features }: RenderAdminArgs\n) => {\n if (!mountNode) {\n throw new Error('[@strapi/admin]: Could not find the root element to mount the admin app');\n }\n\n window.strapi = {\n /**\n * This ENV variable is passed from the strapi instance, by default no url is set\n * in the config and therefore the instance returns you an empty string so URLs are relative.\n *\n * To ensure that the backendURL is always set, we use the window.location.origin as a fallback.\n */\n backendURL: createAbsoluteUrl(process.env.STRAPI_ADMIN_BACKEND_URL),\n isEE: false,\n isTrial: false,\n telemetryDisabled: process.env.STRAPI_TELEMETRY_DISABLED === 'true',\n future: {\n isEnabled: (name: keyof NonNullable<Modules.Features.FeaturesConfig['future']>) => {\n return features?.future?.[name] === true;\n },\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision. Cannot use @ts-expect-error because of build:code and build:types context collision.\n features: {\n SSO: 'sso',\n AUDIT_LOGS: 'audit-logs',\n REVIEW_WORKFLOWS: 'review-workflows',\n /**\n * If we don't get the license then we know it's not EE\n * so no feature is enabled.\n */\n isEnabled: () => false,\n },\n projectType: 'Community',\n flags: {\n nps: false,\n promoteEE: true,\n docLinks: true,\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.\n ai: {\n enabled: true,\n },\n };\n\n const { get } = getFetchClient();\n\n interface ProjectType extends Pick<Window['strapi'], 'flags'> {\n isEE: boolean;\n isTrial: boolean;\n /**\n * The licensed plan price id, sent by the license registry (EE only).\n * Used to distinguish the Growth plan from other Enterprise plans.\n */\n planPriceId?: string;\n features: {\n name: string;\n }[];\n ai: {\n enabled: boolean;\n };\n }\n\n try {\n const {\n data: {\n data: { isEE, isTrial, features, flags, ai, planPriceId },\n },\n } = await get<{ data: ProjectType }>('/admin/project-type');\n\n window.strapi.isEE = isEE;\n window.strapi.isTrialLicense = isTrial;\n window.strapi.flags = flags;\n window.strapi.features = {\n ...window.strapi.features,\n isEnabled: (featureName: string | undefined) =>\n features.some((feature) => feature.name === featureName),\n };\n window.strapi.projectType = getProjectType({ isEE, planPriceId });\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.\n window.strapi.ai = ai;\n } catch (err) {\n /**\n * If this fails, we simply don't activate any EE features.\n * Should we warn clearer in the UI?\n */\n console.error(err);\n }\n\n const app = new StrapiApp({\n config: customisations?.config,\n appPlugins: plugins,\n });\n\n await app.register(customisations?.register);\n await app.bootstrap(customisations?.bootstrap);\n await app.loadTrads(customisations?.config?.translations);\n\n createRoot(mountNode).render(app.render());\n\n if (\n typeof module !== 'undefined' &&\n module &&\n 'hot' in module &&\n typeof module.hot === 'object' &&\n module.hot !== null &&\n 'accept' in module.hot &&\n typeof module.hot.accept === 'function'\n ) {\n module.hot.accept();\n }\n\n if (typeof import.meta.hot?.accept === 'function') {\n import.meta.hot.accept();\n }\n};\n\nexport { renderAdmin };\nexport type { RenderAdminArgs };\n"],"names":["renderAdmin","mountNode","plugins","customisations","features","Error","window","strapi","backendURL","createAbsoluteUrl","process","env","STRAPI_ADMIN_BACKEND_URL","isEE","isTrial","telemetryDisabled","STRAPI_TELEMETRY_DISABLED","future","isEnabled","name","SSO","AUDIT_LOGS","REVIEW_WORKFLOWS","projectType","flags","nps","promoteEE","docLinks","ai","enabled","get","getFetchClient","data","planPriceId","isTrialLicense","featureName","some","feature","getProjectType","err","console","error","app","StrapiApp","config","appPlugins","register","bootstrap","loadTrads","translations","createRoot","render","module","hot","accept"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRoot } from 'react-dom/client';
|
|
2
2
|
import { StrapiApp } from './StrapiApp.mjs';
|
|
3
3
|
import { getFetchClient } from './utils/getFetchClient.mjs';
|
|
4
|
+
import { getProjectType } from './utils/getProjectType.mjs';
|
|
4
5
|
import { createAbsoluteUrl } from './utils/urls.mjs';
|
|
5
6
|
|
|
6
7
|
const renderAdmin = async (mountNode, { plugins, customisations, features })=>{
|
|
@@ -47,7 +48,7 @@ const renderAdmin = async (mountNode, { plugins, customisations, features })=>{
|
|
|
47
48
|
};
|
|
48
49
|
const { get } = getFetchClient();
|
|
49
50
|
try {
|
|
50
|
-
const { data: { data: { isEE, isTrial, features, flags, ai } } } = await get('/admin/project-type');
|
|
51
|
+
const { data: { data: { isEE, isTrial, features, flags, ai, planPriceId } } } = await get('/admin/project-type');
|
|
51
52
|
window.strapi.isEE = isEE;
|
|
52
53
|
window.strapi.isTrialLicense = isTrial;
|
|
53
54
|
window.strapi.flags = flags;
|
|
@@ -55,7 +56,10 @@ const renderAdmin = async (mountNode, { plugins, customisations, features })=>{
|
|
|
55
56
|
...window.strapi.features,
|
|
56
57
|
isEnabled: (featureName)=>features.some((feature)=>feature.name === featureName)
|
|
57
58
|
};
|
|
58
|
-
window.strapi.projectType =
|
|
59
|
+
window.strapi.projectType = getProjectType({
|
|
60
|
+
isEE,
|
|
61
|
+
planPriceId
|
|
62
|
+
});
|
|
59
63
|
// eslint-disable-next-line
|
|
60
64
|
// @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.
|
|
61
65
|
window.strapi.ai = ai;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.mjs","sources":["../../../../admin/src/render.ts"],"sourcesContent":["/* eslint-disable no-undef */\nimport { createRoot } from 'react-dom/client';\n\nimport { StrapiApp, StrapiAppConstructorArgs } from './StrapiApp';\nimport { getFetchClient } from './utils/getFetchClient';\nimport { createAbsoluteUrl } from './utils/urls';\n\nimport type { Modules } from '@strapi/types';\n\ninterface RenderAdminArgs {\n customisations: {\n register?: (app: StrapiApp) => Promise<void> | void;\n bootstrap?: (app: StrapiApp) => Promise<void> | void;\n config?: StrapiAppConstructorArgs['config'];\n };\n plugins: StrapiAppConstructorArgs['appPlugins'];\n features?: Modules.Features.FeaturesService['config'];\n}\n\nconst renderAdmin = async (\n mountNode: HTMLElement | null,\n { plugins, customisations, features }: RenderAdminArgs\n) => {\n if (!mountNode) {\n throw new Error('[@strapi/admin]: Could not find the root element to mount the admin app');\n }\n\n window.strapi = {\n /**\n * This ENV variable is passed from the strapi instance, by default no url is set\n * in the config and therefore the instance returns you an empty string so URLs are relative.\n *\n * To ensure that the backendURL is always set, we use the window.location.origin as a fallback.\n */\n backendURL: createAbsoluteUrl(process.env.STRAPI_ADMIN_BACKEND_URL),\n isEE: false,\n isTrial: false,\n telemetryDisabled: process.env.STRAPI_TELEMETRY_DISABLED === 'true',\n future: {\n isEnabled: (name: keyof NonNullable<Modules.Features.FeaturesConfig['future']>) => {\n return features?.future?.[name] === true;\n },\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision. Cannot use @ts-expect-error because of build:code and build:types context collision.\n features: {\n SSO: 'sso',\n AUDIT_LOGS: 'audit-logs',\n REVIEW_WORKFLOWS: 'review-workflows',\n /**\n * If we don't get the license then we know it's not EE\n * so no feature is enabled.\n */\n isEnabled: () => false,\n },\n projectType: 'Community',\n flags: {\n nps: false,\n promoteEE: true,\n docLinks: true,\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.\n ai: {\n enabled: true,\n },\n };\n\n const { get } = getFetchClient();\n\n interface ProjectType extends Pick<Window['strapi'], 'flags'> {\n isEE: boolean;\n isTrial: boolean;\n features: {\n name: string;\n }[];\n ai: {\n enabled: boolean;\n };\n }\n\n try {\n const {\n data: {\n data: { isEE, isTrial, features, flags, ai },\n },\n } = await get<{ data: ProjectType }>('/admin/project-type');\n\n window.strapi.isEE = isEE;\n window.strapi.isTrialLicense = isTrial;\n window.strapi.flags = flags;\n window.strapi.features = {\n ...window.strapi.features,\n isEnabled: (featureName: string | undefined) =>\n features.some((feature) => feature.name === featureName),\n };\n window.strapi.projectType = isEE
|
|
1
|
+
{"version":3,"file":"render.mjs","sources":["../../../../admin/src/render.ts"],"sourcesContent":["/* eslint-disable no-undef */\nimport { createRoot } from 'react-dom/client';\n\nimport { StrapiApp, StrapiAppConstructorArgs } from './StrapiApp';\nimport { getFetchClient } from './utils/getFetchClient';\nimport { getProjectType } from './utils/getProjectType';\nimport { createAbsoluteUrl } from './utils/urls';\n\nimport type { Modules } from '@strapi/types';\n\ninterface RenderAdminArgs {\n customisations: {\n register?: (app: StrapiApp) => Promise<void> | void;\n bootstrap?: (app: StrapiApp) => Promise<void> | void;\n config?: StrapiAppConstructorArgs['config'];\n };\n plugins: StrapiAppConstructorArgs['appPlugins'];\n features?: Modules.Features.FeaturesService['config'];\n}\n\nconst renderAdmin = async (\n mountNode: HTMLElement | null,\n { plugins, customisations, features }: RenderAdminArgs\n) => {\n if (!mountNode) {\n throw new Error('[@strapi/admin]: Could not find the root element to mount the admin app');\n }\n\n window.strapi = {\n /**\n * This ENV variable is passed from the strapi instance, by default no url is set\n * in the config and therefore the instance returns you an empty string so URLs are relative.\n *\n * To ensure that the backendURL is always set, we use the window.location.origin as a fallback.\n */\n backendURL: createAbsoluteUrl(process.env.STRAPI_ADMIN_BACKEND_URL),\n isEE: false,\n isTrial: false,\n telemetryDisabled: process.env.STRAPI_TELEMETRY_DISABLED === 'true',\n future: {\n isEnabled: (name: keyof NonNullable<Modules.Features.FeaturesConfig['future']>) => {\n return features?.future?.[name] === true;\n },\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision. Cannot use @ts-expect-error because of build:code and build:types context collision.\n features: {\n SSO: 'sso',\n AUDIT_LOGS: 'audit-logs',\n REVIEW_WORKFLOWS: 'review-workflows',\n /**\n * If we don't get the license then we know it's not EE\n * so no feature is enabled.\n */\n isEnabled: () => false,\n },\n projectType: 'Community',\n flags: {\n nps: false,\n promoteEE: true,\n docLinks: true,\n },\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.\n ai: {\n enabled: true,\n },\n };\n\n const { get } = getFetchClient();\n\n interface ProjectType extends Pick<Window['strapi'], 'flags'> {\n isEE: boolean;\n isTrial: boolean;\n /**\n * The licensed plan price id, sent by the license registry (EE only).\n * Used to distinguish the Growth plan from other Enterprise plans.\n */\n planPriceId?: string;\n features: {\n name: string;\n }[];\n ai: {\n enabled: boolean;\n };\n }\n\n try {\n const {\n data: {\n data: { isEE, isTrial, features, flags, ai, planPriceId },\n },\n } = await get<{ data: ProjectType }>('/admin/project-type');\n\n window.strapi.isEE = isEE;\n window.strapi.isTrialLicense = isTrial;\n window.strapi.flags = flags;\n window.strapi.features = {\n ...window.strapi.features,\n isEnabled: (featureName: string | undefined) =>\n features.some((feature) => feature.name === featureName),\n };\n window.strapi.projectType = getProjectType({ isEE, planPriceId });\n // eslint-disable-next-line\n // @ts-ignore – there's pollution from the global scope of Node. Cannot use @ts-expect-error because of build:code and build:types context collision.\n window.strapi.ai = ai;\n } catch (err) {\n /**\n * If this fails, we simply don't activate any EE features.\n * Should we warn clearer in the UI?\n */\n console.error(err);\n }\n\n const app = new StrapiApp({\n config: customisations?.config,\n appPlugins: plugins,\n });\n\n await app.register(customisations?.register);\n await app.bootstrap(customisations?.bootstrap);\n await app.loadTrads(customisations?.config?.translations);\n\n createRoot(mountNode).render(app.render());\n\n if (\n typeof module !== 'undefined' &&\n module &&\n 'hot' in module &&\n typeof module.hot === 'object' &&\n module.hot !== null &&\n 'accept' in module.hot &&\n typeof module.hot.accept === 'function'\n ) {\n module.hot.accept();\n }\n\n if (typeof import.meta.hot?.accept === 'function') {\n import.meta.hot.accept();\n }\n};\n\nexport { renderAdmin };\nexport type { RenderAdminArgs };\n"],"names":["renderAdmin","mountNode","plugins","customisations","features","Error","window","strapi","backendURL","createAbsoluteUrl","process","env","STRAPI_ADMIN_BACKEND_URL","isEE","isTrial","telemetryDisabled","STRAPI_TELEMETRY_DISABLED","future","isEnabled","name","SSO","AUDIT_LOGS","REVIEW_WORKFLOWS","projectType","flags","nps","promoteEE","docLinks","ai","enabled","get","getFetchClient","data","planPriceId","isTrialLicense","featureName","some","feature","getProjectType","err","console","error","app","StrapiApp","config","appPlugins","register","bootstrap","loadTrads","translations","createRoot","render","module","hot","accept"],"mappings":"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"}
|
|
@@ -166,8 +166,6 @@ var en = {
|
|
|
166
166
|
"Settings.application.customization.modal.upload.next": "Next",
|
|
167
167
|
"Settings.application.customization.size-details": "Max dimension: {dimension}×{dimension}, Max file size: {size}KB",
|
|
168
168
|
"Settings.application.description": "Administration panel’s global information",
|
|
169
|
-
"Settings.application.edition-title": "current edition",
|
|
170
|
-
"Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
|
|
171
169
|
"Settings.application.ee.admin-seats.add-seats": "Manage subscription",
|
|
172
170
|
"Settings.application.ee.admin-seats.support": "Contact sales",
|
|
173
171
|
"Settings.application.ee.admin-seats.at-limit-tooltip": "At limit: add seats to invite more users",
|
|
@@ -176,6 +174,7 @@ var en = {
|
|
|
176
174
|
"Settings.application.link-pricing": "See all pricing plans",
|
|
177
175
|
"Settings.application.link-upgrade": "Upgrade your admin panel",
|
|
178
176
|
"Settings.application.node-version": "node version",
|
|
177
|
+
"Settings.application.plan-title": "current plan",
|
|
179
178
|
"Settings.application.strapi-version": "Strapi version",
|
|
180
179
|
"Settings.application.strapiVersion": "Strapi version",
|
|
181
180
|
"Settings.application.title": "Overview",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -162,8 +162,6 @@ var en = {
|
|
|
162
162
|
"Settings.application.customization.modal.upload.next": "Next",
|
|
163
163
|
"Settings.application.customization.size-details": "Max dimension: {dimension}×{dimension}, Max file size: {size}KB",
|
|
164
164
|
"Settings.application.description": "Administration panel’s global information",
|
|
165
|
-
"Settings.application.edition-title": "current edition",
|
|
166
|
-
"Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
|
|
167
165
|
"Settings.application.ee.admin-seats.add-seats": "Manage subscription",
|
|
168
166
|
"Settings.application.ee.admin-seats.support": "Contact sales",
|
|
169
167
|
"Settings.application.ee.admin-seats.at-limit-tooltip": "At limit: add seats to invite more users",
|
|
@@ -172,6 +170,7 @@ var en = {
|
|
|
172
170
|
"Settings.application.link-pricing": "See all pricing plans",
|
|
173
171
|
"Settings.application.link-upgrade": "Upgrade your admin panel",
|
|
174
172
|
"Settings.application.node-version": "node version",
|
|
173
|
+
"Settings.application.plan-title": "current plan",
|
|
175
174
|
"Settings.application.strapi-version": "Strapi version",
|
|
176
175
|
"Settings.application.strapiVersion": "Strapi version",
|
|
177
176
|
"Settings.application.title": "Overview",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|