@strapi/admin 5.49.0 → 5.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/components/ConfirmDialog.js +2 -2
- package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.js +3 -3
- package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js +8 -8
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs +8 -8
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/ErrorElement.js +100 -5
- package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
- package/dist/admin/admin/src/components/ErrorElement.mjs +99 -4
- package/dist/admin/admin/src/components/ErrorElement.mjs.map +1 -1
- package/dist/admin/admin/src/components/Form.js +41 -27
- package/dist/admin/admin/src/components/Form.js.map +1 -1
- package/dist/admin/admin/src/components/Form.mjs +41 -27
- package/dist/admin/admin/src/components/Form.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Boolean.js +3 -2
- package/dist/admin/admin/src/components/FormInputs/Boolean.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Boolean.mjs +3 -2
- package/dist/admin/admin/src/components/FormInputs/Boolean.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.js +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.mjs +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Email.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Email.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js +4 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +4 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Json.js +2 -1
- package/dist/admin/admin/src/components/FormInputs/Json.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Json.mjs +2 -1
- package/dist/admin/admin/src/components/FormInputs/Json.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Password.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Password.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.js +18 -26
- package/dist/admin/admin/src/components/FormInputs/Renderer.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs +20 -28
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Textarea.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Textarea.mjs.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.js +2 -2
- package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
- package/dist/admin/admin/src/components/GradientBadge.js +3 -3
- package/dist/admin/admin/src/components/GradientBadge.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js +8 -8
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js +4 -4
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +2 -2
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js +2 -2
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/GridLayout.js +2 -2
- package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/Layout.js +4 -4
- package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
- package/dist/admin/admin/src/components/LazyOutlet.js +57 -0
- package/dist/admin/admin/src/components/LazyOutlet.js.map +1 -0
- package/dist/admin/admin/src/components/LazyOutlet.mjs +35 -0
- package/dist/admin/admin/src/components/LazyOutlet.mjs.map +1 -0
- package/dist/admin/admin/src/components/LeftMenu.js +3 -3
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNav.js +2 -2
- package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +4 -4
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavBrand.js +2 -2
- package/dist/admin/admin/src/components/MainNav/NavBrand.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js +3 -3
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js +8 -8
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.js +17 -7
- package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.mjs +10 -0
- package/dist/admin/admin/src/components/MainNav/NavUser.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +3 -3
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +2 -2
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.js +3 -2
- package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.mjs +3 -2
- package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js +6 -6
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +11 -9
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +4 -2
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/Table.js +9 -5
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Table.mjs +6 -2
- package/dist/admin/admin/src/components/Table.mjs.map +1 -1
- package/dist/admin/admin/src/components/Theme.js +2 -2
- package/dist/admin/admin/src/components/Theme.js.map +1 -1
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js +2 -2
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +3 -3
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.js +4 -7
- package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js +5 -5
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/router.js +19 -17
- package/dist/admin/admin/src/core/apis/router.js.map +1 -1
- package/dist/admin/admin/src/core/apis/router.mjs +19 -17
- package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
- package/dist/admin/admin/src/core/store/configure.js.map +1 -1
- package/dist/admin/admin/src/core/store/configure.mjs.map +1 -1
- package/dist/admin/admin/src/core/utils/createHook.js.map +1 -1
- package/dist/admin/admin/src/core/utils/createHook.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +3 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs +3 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/features/Widgets.js.map +1 -1
- package/dist/admin/admin/src/features/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useMediaQuery.js +4 -4
- package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.js +5 -3
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +5 -3
- package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useQueryParams.js +0 -1
- package/dist/admin/admin/src/hooks/useQueryParams.js.map +1 -1
- package/dist/admin/admin/src/hooks/useQueryParams.mjs +0 -1
- package/dist/admin/admin/src/hooks/useQueryParams.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.js.map +1 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +5 -3
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +5 -3
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +3 -3
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/AuthPage.js +3 -2
- package/dist/admin/admin/src/pages/Auth/AuthPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/AuthPage.mjs +3 -2
- package/dist/admin/admin/src/pages/Auth/AuthPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +17 -9
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +15 -7
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +2 -2
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +3 -6
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +4 -8
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +4 -8
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/SessionsPage.js +318 -0
- package/dist/admin/admin/src/pages/SessionsPage.js.map +1 -0
- package/dist/admin/admin/src/pages/SessionsPage.mjs +296 -0
- package/dist/admin/admin/src/pages/SessionsPage.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Settings/Layout.js +4 -1
- package/dist/admin/admin/src/pages/Settings/Layout.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/Layout.mjs +5 -2
- package/dist/admin/admin/src/pages/Settings/Layout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +1 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +1 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +7 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +7 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +7 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +44 -10
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs +34 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +5 -5
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +38 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +38 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js +18 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs +18 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.js +59 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.js.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.mjs +52 -0
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
- package/dist/admin/admin/src/router.js +9 -0
- package/dist/admin/admin/src/router.js.map +1 -1
- package/dist/admin/admin/src/router.mjs +9 -0
- package/dist/admin/admin/src/router.mjs.map +1 -1
- package/dist/admin/admin/src/services/auth.js +43 -2
- package/dist/admin/admin/src/services/auth.js.map +1 -1
- package/dist/admin/admin/src/services/auth.mjs +41 -3
- package/dist/admin/admin/src/services/auth.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +22 -0
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +22 -0
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.js +726 -237
- package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.mjs +723 -238
- package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.js +1 -0
- package/dist/admin/admin/src/translations/languageNativeNames.js.map +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.mjs +1 -0
- package/dist/admin/admin/src/translations/languageNativeNames.mjs.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.js +22 -0
- package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.mjs +22 -0
- package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
- package/dist/admin/admin/src/utils/arrays.js.map +1 -1
- package/dist/admin/admin/src/utils/arrays.mjs.map +1 -1
- package/dist/admin/admin/src/utils/baseQuery.js +1 -1
- package/dist/admin/admin/src/utils/baseQuery.js.map +1 -1
- package/dist/admin/admin/src/utils/baseQuery.mjs +1 -1
- package/dist/admin/admin/src/utils/baseQuery.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/admin/src/utils/objects.js +43 -11
- package/dist/admin/admin/src/utils/objects.js.map +1 -1
- package/dist/admin/admin/src/utils/objects.mjs +43 -11
- package/dist/admin/admin/src/utils/objects.mjs.map +1 -1
- package/dist/admin/admin/src/utils/once.js.map +1 -1
- package/dist/admin/admin/src/utils/once.mjs.map +1 -1
- package/dist/admin/admin/src/utils/retryDynamicImport.js +85 -0
- package/dist/admin/admin/src/utils/retryDynamicImport.js.map +1 -0
- package/dist/admin/admin/src/utils/retryDynamicImport.mjs +80 -0
- package/dist/admin/admin/src/utils/retryDynamicImport.mjs.map +1 -0
- package/dist/admin/admin/src/utils/rulesEngine.js +2 -1
- package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs +2 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
- package/dist/admin/admin/src/utils/shims.js.map +1 -1
- package/dist/admin/admin/src/utils/shims.mjs.map +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js +16 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js.map +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.mjs +14 -2
- package/dist/admin/admin/src/utils/widgetVisibility.mjs.map +1 -1
- package/dist/admin/admin/tests/server.js +25 -0
- package/dist/admin/admin/tests/server.js.map +1 -1
- package/dist/admin/admin/tests/server.mjs +25 -0
- package/dist/admin/admin/tests/server.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +2 -2
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js +2 -2
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs +2 -2
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js +3 -3
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +3 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +2 -2
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/StrapiApp.d.ts +7 -7
- package/dist/admin/src/components/DescriptionComponentRenderer.d.ts +2 -1
- package/dist/admin/src/components/Form.d.ts +14 -12
- package/dist/admin/src/components/FormInputs/Boolean.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Checkbox.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/DateTime.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Email.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Enumeration.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Number.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Password.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Renderer.d.ts +1 -2
- package/dist/admin/src/components/FormInputs/String.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Textarea.d.ts +0 -1
- package/dist/admin/src/components/FormInputs/Time.d.ts +0 -1
- package/dist/admin/src/components/GuidedTour/GuidedTourProvider.d.ts +0 -1
- package/dist/admin/src/components/GuidedTour/Steps/Step.d.ts +1 -1
- package/dist/admin/src/components/LazyOutlet.d.ts +20 -0
- package/dist/admin/src/components/MainNav/MainNav.d.ts +1 -1
- package/dist/admin/src/components/MainNav/NavUser.d.ts +0 -1
- package/dist/admin/src/components/SubNav.d.ts +6 -7
- package/dist/admin/src/components/Table.d.ts +3 -2
- package/dist/admin/src/core/apis/Plugin.d.ts +2 -2
- package/dist/admin/src/core/apis/Widgets.d.ts +0 -1
- package/dist/admin/src/core/apis/router.d.ts +1 -1
- package/dist/admin/src/core/store/configure.d.ts +2 -2
- package/dist/admin/src/core/utils/createHook.d.ts +7 -7
- package/dist/admin/src/features/AppInfo.d.ts +1 -2
- package/dist/admin/src/features/StrapiApp.d.ts +1 -2
- package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +1 -1
- package/dist/admin/src/hooks/useAdminRoles.d.ts +3 -3
- package/dist/admin/src/hooks/useFetchClient.d.ts +1 -1
- package/dist/admin/src/hooks/useMenu.d.ts +1 -1
- package/dist/admin/src/hooks/usePersistentState.d.ts +0 -1
- package/dist/admin/src/hooks/useQueryParams.d.ts +3 -2
- package/dist/admin/src/hooks/useThrottledCallback.d.ts +1 -2
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +2 -2
- package/dist/admin/src/pages/SessionsPage.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +2 -3
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +0 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/Permissions.d.ts +2 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/utils/forms.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.d.ts +5 -0
- package/dist/admin/src/pages/Settings/pages/Roles/utils/permissions.d.ts +3 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +8 -8
- package/dist/admin/src/reducer.d.ts +1 -1
- package/dist/admin/src/services/admin.d.ts +8 -8
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +3 -3
- package/dist/admin/src/services/auth.d.ts +29 -27
- package/dist/admin/src/services/contentApi.d.ts +2 -2
- package/dist/admin/src/services/contentManager.d.ts +1 -1
- package/dist/admin/src/services/homepage.d.ts +3 -3
- package/dist/admin/src/services/transferTokens.d.ts +1 -1
- package/dist/admin/src/services/users.d.ts +15 -15
- package/dist/admin/src/services/webhooks.d.ts +4 -4
- package/dist/admin/src/translations/languageNativeNames.d.ts +1 -0
- package/dist/admin/src/utils/arrays.d.ts +1 -1
- package/dist/admin/src/utils/baseQuery.d.ts +1 -1
- package/dist/admin/src/utils/getFetchClient.d.ts +7 -7
- package/dist/admin/src/utils/locales.d.ts +0 -1
- package/dist/admin/src/utils/objects.d.ts +6 -4
- package/dist/admin/src/utils/once.d.ts +1 -1
- package/dist/admin/src/utils/retryDynamicImport.d.ts +19 -0
- package/dist/admin/src/utils/shims.d.ts +1 -1
- package/dist/admin/src/utils/widgetVisibility.d.ts +11 -0
- package/dist/admin/tests/store.d.ts +4 -4
- package/dist/admin/tests/utils.d.ts +5 -5
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +1 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +2 -1
- package/dist/ee/admin/src/services/ai.d.ts +5 -5
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +3 -3
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
- package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts +2 -2
- package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/bootstrap.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts +30 -31
- package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/index.d.ts +1 -2
- package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/user.d.ts +1 -1
- package/dist/ee/server/src/destroy.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +2 -3
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/ee/server/src/register.d.ts.map +1 -1
- package/dist/ee/server/src/routes/utils.d.ts.map +1 -1
- package/dist/ee/server/src/services/auth.d.ts.map +1 -1
- package/dist/ee/server/src/services/index.d.ts +1 -1
- package/dist/ee/server/src/services/metrics.d.ts.map +1 -1
- package/dist/ee/server/src/services/passport/sso.d.ts.map +1 -1
- package/dist/ee/server/src/services/persist-tables.d.ts +1 -1
- package/dist/ee/server/src/services/persist-tables.d.ts.map +1 -1
- package/dist/ee/server/src/services/role.d.ts.map +1 -1
- package/dist/ee/server/src/services/user.d.ts.map +1 -1
- package/dist/ee/server/src/utils/index.d.ts.map +1 -1
- package/dist/ee/server/src/utils/sso-lock.d.ts.map +1 -1
- package/dist/ee/server/src/validation/authentication.d.ts +2 -2
- package/dist/ee/server/src/validation/role.d.ts +6 -6
- package/dist/ee/server/src/validation/role.d.ts.map +1 -1
- package/dist/ee/server/src/validation/user.d.ts.map +1 -1
- package/dist/server/server/src/content-types/session.js +6 -0
- package/dist/server/server/src/content-types/session.js.map +1 -1
- package/dist/server/server/src/content-types/session.mjs +6 -0
- package/dist/server/server/src/content-types/session.mjs.map +1 -1
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/controllers/authenticated-session.js +61 -0
- package/dist/server/server/src/controllers/authenticated-session.js.map +1 -0
- package/dist/server/server/src/controllers/authenticated-session.mjs +59 -0
- package/dist/server/server/src/controllers/authenticated-session.mjs.map +1 -0
- package/dist/server/server/src/controllers/authentication.js +11 -4
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +12 -5
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/controllers/index.js +2 -0
- package/dist/server/server/src/controllers/index.js.map +1 -1
- package/dist/server/server/src/controllers/index.mjs +2 -0
- package/dist/server/server/src/controllers/index.mjs.map +1 -1
- package/dist/server/server/src/controllers/role.js +2 -4
- package/dist/server/server/src/controllers/role.js.map +1 -1
- package/dist/server/server/src/controllers/role.mjs +2 -4
- package/dist/server/server/src/controllers/role.mjs.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
- package/dist/server/server/src/routes/users.js +12 -26
- package/dist/server/server/src/routes/users.js.map +1 -1
- package/dist/server/server/src/routes/users.mjs +12 -26
- package/dist/server/server/src/routes/users.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js +0 -2
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs +0 -2
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.js +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.js.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs.map +1 -1
- package/dist/server/server/src/services/role.js +7 -2
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/role.mjs +7 -2
- package/dist/server/server/src/services/role.mjs.map +1 -1
- package/dist/server/server/src/strategies/admin.js +4 -0
- package/dist/server/server/src/strategies/admin.js.map +1 -1
- package/dist/server/server/src/strategies/admin.mjs +4 -0
- package/dist/server/server/src/strategies/admin.mjs.map +1 -1
- package/dist/server/server/src/validation/common-validators.js +19 -11
- package/dist/server/server/src/validation/common-validators.js.map +1 -1
- package/dist/server/server/src/validation/common-validators.mjs +19 -11
- package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
- package/dist/server/server/src/validation/permission.js +1 -1
- package/dist/server/server/src/validation/permission.js.map +1 -1
- package/dist/server/server/src/validation/permission.mjs +1 -1
- package/dist/server/server/src/validation/permission.mjs.map +1 -1
- package/dist/server/server/src/validation/role.js +2 -2
- package/dist/server/server/src/validation/role.js.map +1 -1
- package/dist/server/server/src/validation/role.mjs +2 -2
- package/dist/server/server/src/validation/role.mjs.map +1 -1
- package/dist/server/src/ai/controllers/ai.d.ts +3 -3
- package/dist/server/src/ai/services/ai.d.ts.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/config/admin-conditions.d.ts +2 -2
- package/dist/server/src/config/admin-conditions.d.ts.map +1 -1
- package/dist/server/src/content-types/index.d.ts +6 -0
- package/dist/server/src/content-types/index.d.ts.map +1 -1
- package/dist/server/src/content-types/session.d.ts +6 -0
- package/dist/server/src/content-types/session.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-token.d.ts +5 -5
- package/dist/server/src/controllers/api-token.d.ts +1 -1
- package/dist/server/src/controllers/authenticated-session.d.ts +8 -0
- package/dist/server/src/controllers/authenticated-session.d.ts.map +1 -0
- package/dist/server/src/controllers/authenticated-user.d.ts +1 -1
- package/dist/server/src/controllers/authentication.d.ts +4 -4
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/controllers/formatters/conditions.d.ts +0 -1
- package/dist/server/src/controllers/formatters/conditions.d.ts.map +1 -1
- package/dist/server/src/controllers/formatters/format-actions-by-sections.d.ts.map +1 -1
- package/dist/server/src/controllers/homepage.d.ts +2 -2
- package/dist/server/src/controllers/homepage.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +33 -43
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/role.d.ts +4 -4
- package/dist/server/src/controllers/transfer/runner.d.ts +4 -4
- package/dist/server/src/controllers/transfer/runner.d.ts.map +1 -1
- package/dist/server/src/controllers/transfer/token.d.ts +1 -1
- package/dist/server/src/controllers/user.d.ts +2 -2
- package/dist/server/src/controllers/webhooks.d.ts +4 -4
- package/dist/server/src/domain/action/index.d.ts +4 -65
- package/dist/server/src/domain/action/index.d.ts.map +1 -1
- package/dist/server/src/domain/action/provider.d.ts +30 -3
- package/dist/server/src/domain/action/provider.d.ts.map +1 -1
- package/dist/server/src/domain/condition/index.d.ts.map +1 -1
- package/dist/server/src/domain/condition/provider.d.ts +19 -2
- package/dist/server/src/domain/condition/provider.d.ts.map +1 -1
- package/dist/server/src/domain/permission/index.d.ts +0 -1
- package/dist/server/src/domain/permission/index.d.ts.map +1 -1
- package/dist/server/src/domain/user.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +51 -63
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/data-transfer.d.ts.map +1 -1
- package/dist/server/src/middlewares/index.d.ts +0 -1
- package/dist/server/src/middlewares/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -1
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
- package/dist/server/src/policies/index.d.ts.map +1 -1
- package/dist/server/src/policies/isAuthenticatedAdmin.d.ts.map +1 -1
- package/dist/server/src/policies/isTelemetryEnabled.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +0 -1
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -1
- package/dist/server/src/routes/transfer.d.ts +0 -1
- package/dist/server/src/routes/transfer.d.ts.map +1 -1
- package/dist/server/src/routes/users.d.ts.map +1 -1
- package/dist/server/src/services/action.d.ts.map +1 -1
- package/dist/server/src/services/api-token.d.ts +5 -6
- package/dist/server/src/services/api-token.d.ts.map +1 -1
- package/dist/server/src/services/auth.d.ts.map +1 -1
- package/dist/server/src/services/condition.d.ts.map +1 -1
- package/dist/server/src/services/content-type.d.ts.map +1 -1
- package/dist/server/src/services/encryption.d.ts.map +1 -1
- package/dist/server/src/services/homepage.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +12 -21
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/services/passport/local-strategy.d.ts.map +1 -1
- package/dist/server/src/services/passport.d.ts +0 -1
- package/dist/server/src/services/passport.d.ts.map +1 -1
- package/dist/server/src/services/permission/engine.d.ts +1 -2
- package/dist/server/src/services/permission/engine.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/index.d.ts +5 -5
- package/dist/server/src/services/permission/permissions-manager/index.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/query-builders.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts +3 -3
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
- package/dist/server/src/services/permission/queries.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/builder.d.ts +4 -4
- package/dist/server/src/services/permission/sections-builder/builder.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/index.d.ts +4 -4
- package/dist/server/src/services/permission/sections-builder/section.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/utils.d.ts +0 -1
- package/dist/server/src/services/permission/sections-builder/utils.d.ts.map +1 -1
- package/dist/server/src/services/permission.d.ts +13 -38
- package/dist/server/src/services/permission.d.ts.map +1 -1
- package/dist/server/src/services/project-settings.d.ts +2 -4
- package/dist/server/src/services/project-settings.d.ts.map +1 -1
- package/dist/server/src/services/role.d.ts +7 -1
- package/dist/server/src/services/role.d.ts.map +1 -1
- package/dist/server/src/services/token.d.ts +1 -1
- package/dist/server/src/services/token.d.ts.map +1 -1
- package/dist/server/src/services/transfer/token.d.ts +11 -11
- package/dist/server/src/services/transfer/token.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts +3 -3
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/server/src/strategies/admin-token.d.ts +4 -4
- package/dist/server/src/strategies/admin-token.d.ts.map +1 -1
- package/dist/server/src/strategies/admin.d.ts.map +1 -1
- package/dist/server/src/strategies/api-token-utils.d.ts.map +1 -1
- package/dist/server/src/strategies/content-api-token.d.ts.map +1 -1
- package/dist/server/src/strategies/data-transfer.d.ts.map +1 -1
- package/dist/server/src/utils/normalize-email.d.ts.map +1 -1
- package/dist/server/src/validation/action-provider.d.ts +2 -2
- package/dist/server/src/validation/action-provider.d.ts.map +1 -1
- package/dist/server/src/validation/admin-tokens.d.ts +2 -2
- package/dist/server/src/validation/api-tokens.d.ts +4 -4
- package/dist/server/src/validation/authentication/forgot-password.d.ts +1 -1
- package/dist/server/src/validation/authentication/login.d.ts +1 -1
- package/dist/server/src/validation/authentication/register.d.ts +6 -6
- package/dist/server/src/validation/authentication/register.d.ts.map +1 -1
- package/dist/server/src/validation/authentication/reset-password.d.ts +1 -1
- package/dist/server/src/validation/common-functions/check-fields-are-correctly-nested.d.ts.map +1 -1
- package/dist/server/src/validation/common-functions/check-fields-dont-have-duplicates.d.ts.map +1 -1
- package/dist/server/src/validation/common-validators.d.ts.map +1 -1
- package/dist/server/src/validation/permission.d.ts +6 -6
- package/dist/server/src/validation/permission.d.ts.map +1 -1
- package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -2
- package/dist/server/src/validation/project-settings.d.ts +6 -6
- package/dist/server/src/validation/role.d.ts +8 -8
- package/dist/server/src/validation/role.d.ts.map +1 -1
- package/dist/server/src/validation/transfer/token.d.ts +4 -4
- package/dist/server/src/validation/user.d.ts +8 -8
- package/dist/shared/contracts/permissions.d.ts +1 -0
- package/dist/shared/contracts/permissions.d.ts.map +1 -1
- package/dist/shared/contracts/sessions.d.ts +62 -0
- package/dist/shared/contracts/sessions.d.ts.map +1 -0
- package/dist/shared/contracts/shared.d.ts +1 -1
- package/dist/shared/contracts/shared.d.ts.map +1 -1
- package/dist/shared/utils/session-auth.d.ts +1 -1
- package/dist/shared/utils/session-auth.d.ts.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPage.mjs","sources":["../../../../../../../../admin/src/pages/Settings/pages/Users/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Typography, Status, IconButton, Dialog } from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport * as qs from 'qs';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { NavLink, useLocation, useNavigate } from 'react-router-dom';\n\nimport { SanitizedAdminUser } from '../../../../../../shared/contracts/shared';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Filters } from '../../../../components/Filters';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { Pagination } from '../../../../components/Pagination';\nimport { SearchInput } from '../../../../components/SearchInput';\nimport { Table } from '../../../../components/Table';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useAuth } from '../../../../features/Auth';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { useAdminUsers, useDeleteManyUsersMutation } from '../../../../services/users';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { CreateActionCE } from './components/CreateActionCE';\nimport { ModalForm } from './components/NewUserForm';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPageCE = () => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [isModalOpened, setIsModalOpen] = React.useState(false);\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const {\n allowedActions: { canCreate, canDelete, canRead },\n } = useRBAC(permissions.settings?.users);\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { search } = useLocation();\n const [showDeleteConfirmation, setShowDeleteConfirmation] = React.useState(false);\n const [idsToDelete, setIdsToDelete] = React.useState<Array<SanitizedAdminUser['id']>>([]);\n const { data, isError, isLoading } = useAdminUsers(qs.parse(search, { ignoreQueryPrefix: true }));\n const { user: currentUser } = useAuth('ListPageCE', (auth) => auth);\n const { pagination, users = [] } = data ?? {};\n\n const CreateAction = useEnterprise(\n CreateActionCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE'\n )\n ).CreateActionEE\n );\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n label: formatMessage(header.label),\n }));\n\n const title = formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n });\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const [deleteAll] = useDeleteManyUsersMutation();\n const handleDeleteAll = async (ids: Array<SanitizedAdminUser['id']>) => {\n try {\n const res = await deleteAll({ ids });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'global.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const handleRowClick = (id: SanitizedAdminUser['id']) => () => {\n if (canRead) {\n navigate(id.toString());\n }\n };\n\n const handleDeleteClick = (id: SanitizedAdminUser['id']) => async () => {\n setIdsToDelete([id]);\n setShowDeleteConfirmation(true);\n };\n\n const confirmDelete = async () => {\n await handleDeleteAll(idsToDelete);\n setShowDeleteConfirmation(false);\n };\n\n // block rendering until the EE component is fully loaded\n if (!CreateAction) {\n return null;\n }\n\n if (isError) {\n return <Page.Error />;\n }\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Users',\n }\n )}\n </Page.Title>\n <Layouts.Header\n primaryAction={canCreate && <CreateAction onClick={handleToggle} />}\n title={title}\n subtitle={formatMessage({\n id: 'Settings.permissions.users.listview.header.subtitle',\n defaultMessage: 'All the users who have access to the Strapi admin panel',\n })}\n />\n <Layouts.Action\n startActions={\n <>\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: title }\n )}\n />\n <Filters.Root options={FILTERS}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n </>\n }\n />\n <Layouts.Content>\n <Table.Root rows={users} headers={headers}>\n <Table.ActionBar />\n <Table.Content>\n <Table.Head>\n {canDelete ? <Table.HeaderCheckboxCell /> : null}\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {users.map((user) => (\n <Table.Row\n key={user.id}\n onClick={handleRowClick(user.id)}\n cursor={canRead ? 'pointer' : 'default'}\n >\n {canDelete ? <Table.CheckboxCell id={user.id} /> : null}\n {headers.map(({ cellFormatter, name, ...rest }) => {\n return (\n <Table.Cell key={name}>\n {typeof cellFormatter === 'function' ? (\n cellFormatter(user, { name, ...rest })\n ) : (\n // @ts-expect-error – name === \"roles\" has the data value of `AdminRole[]` but the header has a cellFormatter value so this shouldn't be called.\n <Typography textColor=\"neutral800\">{user[name] || '-'}</Typography>\n )}\n </Table.Cell>\n );\n })}\n {canRead || canDelete ? (\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n {canRead ? (\n <IconButton\n tag={NavLink}\n to={user.id.toString()}\n label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: getDisplayName(user) }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n ) : null}\n {canDelete && currentUser?.id !== user.id ? (\n <IconButton\n onClick={handleDeleteClick(user.id)}\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: getDisplayName(user) }\n )}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n ) : null}\n </Flex>\n </Table.Cell>\n ) : null}\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root {...pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {isModalOpened && <ModalForm onToggle={handleToggle} />}\n <Dialog.Root open={showDeleteConfirmation} onOpenChange={setShowDeleteConfirmation}>\n <ConfirmDialog onConfirm={confirmDelete} />\n </Dialog.Root>\n </Page.Main>\n );\n};\n\nconst TABLE_HEADERS: Array<\n Omit<Table.Header<SanitizedAdminUser, any>, 'label'> & { label: MessageDescriptor }\n> = [\n {\n name: 'firstname',\n label: {\n id: 'Settings.permissions.users.firstname',\n defaultMessage: 'Firstname',\n },\n sortable: true,\n },\n {\n name: 'lastname',\n label: {\n id: 'Settings.permissions.users.lastname',\n defaultMessage: 'Lastname',\n },\n sortable: true,\n },\n {\n name: 'email',\n label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },\n sortable: true,\n },\n {\n name: 'roles',\n label: {\n id: 'Settings.permissions.users.roles',\n defaultMessage: 'Roles',\n },\n sortable: false,\n cellFormatter({ roles }) {\n return (\n <Typography textColor=\"neutral800\">{roles.map((role) => role.name).join(',\\n')}</Typography>\n );\n },\n },\n {\n name: 'username',\n label: {\n id: 'Settings.permissions.users.username',\n defaultMessage: 'Username',\n },\n sortable: true,\n },\n {\n name: 'isActive',\n label: {\n id: 'Settings.permissions.users.user-status',\n defaultMessage: 'User status',\n },\n sortable: false,\n cellFormatter({ isActive }) {\n return (\n <Flex>\n <Status size=\"S\" variant={isActive ? 'success' : 'danger'}>\n <Typography tag=\"span\" variant=\"omega\" fontWeight=\"bold\">\n {isActive ? 'Active' : 'Inactive'}\n </Typography>\n </Status>\n </Flex>\n );\n },\n },\n];\n\nconst FILTERS = [\n {\n name: 'firstname',\n label: 'Firstname',\n type: 'string',\n },\n {\n name: 'lastname',\n label: 'Lastname',\n type: 'string',\n },\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n },\n {\n name: 'username',\n label: 'Username',\n type: 'string',\n },\n {\n name: 'isActive',\n label: 'Active user',\n type: 'boolean',\n },\n] satisfies Filters.Filter[];\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\n// component which determines whether this page should render the CE or EE page\nconst ListPage = () => {\n const UsersListPage = useEnterprise(\n ListPageCE,\n async () =>\n // eslint-disable-next-line import/no-cycle\n (await import('../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage'))\n .UserListPageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!UsersListPage) {\n return null;\n }\n\n return <UsersListPage />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage, ListPage, ListPageCE };\n"],"names":["ListPageCE","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","isModalOpened","setIsModalOpen","React","useState","permissions","useTypedSelector","state","admin_app","allowedActions","canCreate","canDelete","canRead","useRBAC","settings","users","navigate","useNavigate","toggleNotification","useNotification","formatMessage","useIntl","search","useLocation","showDeleteConfirmation","setShowDeleteConfirmation","idsToDelete","setIdsToDelete","data","isError","isLoading","useAdminUsers","qs","parse","ignoreQueryPrefix","user","currentUser","useAuth","auth","pagination","CreateAction","useEnterprise","CreateActionCE","CreateActionEE","headers","TABLE_HEADERS","map","header","label","title","id","defaultMessage","handleToggle","prev","deleteAll","useDeleteManyUsersMutation","handleDeleteAll","ids","res","type","message","error","err","handleRowClick","toString","handleDeleteClick","confirmDelete","_jsx","Page","Error","_jsxs","Main","aria-busy","Title","name","Layouts","Header","primaryAction","onClick","subtitle","Action","startActions","_Fragment","SearchInput","target","Filters","Root","options","FILTERS","Trigger","Popover","zIndex","List","Content","Table","rows","ActionBar","Head","HeaderCheckboxCell","HeaderCell","Empty","Loading","Body","Row","cursor","CheckboxCell","cellFormatter","rest","Cell","Typography","textColor","e","stopPropagation","Flex","justifyContent","IconButton","tag","NavLink","to","getDisplayName","variant","Pencil","Trash","Pagination","PageSize","Links","ModalForm","onToggle","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","sortable","roles","role","join","isActive","Status","size","fontWeight","ListPage","UsersListPage","UserListPageEE","ProtectedListPage","read","Protect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListPage.mjs","sources":["../../../../../../../../admin/src/pages/Settings/pages/Users/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Typography, Status, IconButton, Dialog } from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport * as qs from 'qs';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { NavLink, useLocation, useNavigate } from 'react-router-dom';\n\nimport { SanitizedAdminUser } from '../../../../../../shared/contracts/shared';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Filters } from '../../../../components/Filters';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { Pagination } from '../../../../components/Pagination';\nimport { SearchInput } from '../../../../components/SearchInput';\nimport { Table } from '../../../../components/Table';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useAuth } from '../../../../features/Auth';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { useAdminUsers, useDeleteManyUsersMutation } from '../../../../services/users';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { CreateActionCE } from './components/CreateActionCE';\nimport { ModalForm } from './components/NewUserForm';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPageCE = () => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [isModalOpened, setIsModalOpen] = React.useState(false);\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const {\n allowedActions: { canCreate, canDelete, canRead },\n } = useRBAC(permissions.settings?.users);\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { search } = useLocation();\n const [showDeleteConfirmation, setShowDeleteConfirmation] = React.useState(false);\n const [idsToDelete, setIdsToDelete] = React.useState<Array<SanitizedAdminUser['id']>>([]);\n const { data, isError, isLoading } = useAdminUsers(qs.parse(search, { ignoreQueryPrefix: true }));\n const { user: currentUser } = useAuth('ListPageCE', (auth) => auth);\n const { pagination, users = [] } = data ?? {};\n\n const CreateAction = useEnterprise(\n CreateActionCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE'\n )\n ).CreateActionEE\n );\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n label: formatMessage(header.label),\n }));\n\n const title = formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n });\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const [deleteAll] = useDeleteManyUsersMutation();\n const handleDeleteAll = async (ids: Array<SanitizedAdminUser['id']>) => {\n try {\n const res = await deleteAll({ ids });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'global.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const handleRowClick = (id: SanitizedAdminUser['id']) => () => {\n if (canRead) {\n navigate(id.toString());\n }\n };\n\n const handleDeleteClick = (id: SanitizedAdminUser['id']) => async () => {\n setIdsToDelete([id]);\n setShowDeleteConfirmation(true);\n };\n\n const confirmDelete = async () => {\n await handleDeleteAll(idsToDelete);\n setShowDeleteConfirmation(false);\n };\n\n // block rendering until the EE component is fully loaded\n if (!CreateAction) {\n return null;\n }\n\n if (isError) {\n return <Page.Error />;\n }\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Users',\n }\n )}\n </Page.Title>\n <Layouts.Header\n primaryAction={canCreate && <CreateAction onClick={handleToggle} />}\n title={title}\n subtitle={formatMessage({\n id: 'Settings.permissions.users.listview.header.subtitle',\n defaultMessage: 'All the users who have access to the Strapi admin panel',\n })}\n />\n <Layouts.Action\n startActions={\n <>\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: title }\n )}\n />\n <Filters.Root options={FILTERS}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n </>\n }\n />\n <Layouts.Content>\n <Table.Root rows={users} headers={headers}>\n <Table.ActionBar />\n <Table.Content>\n <Table.Head>\n {canDelete ? <Table.HeaderCheckboxCell /> : null}\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {users.map((user) => (\n <Table.Row\n key={user.id}\n onClick={handleRowClick(user.id)}\n cursor={canRead ? 'pointer' : 'default'}\n >\n {canDelete ? <Table.CheckboxCell id={user.id} /> : null}\n {headers.map(({ cellFormatter, name, ...rest }) => {\n return (\n <Table.Cell key={name}>\n {typeof cellFormatter === 'function' ? (\n cellFormatter(user, { name, ...rest })\n ) : (\n // @ts-expect-error – name === \"roles\" has the data value of `AdminRole[]` but the header has a cellFormatter value so this shouldn't be called.\n <Typography textColor=\"neutral800\">{user[name] || '-'}</Typography>\n )}\n </Table.Cell>\n );\n })}\n {canRead || canDelete ? (\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n {canRead ? (\n <IconButton\n tag={NavLink}\n to={user.id.toString()}\n label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: getDisplayName(user) }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n ) : null}\n {canDelete && currentUser?.id !== user.id ? (\n <IconButton\n onClick={handleDeleteClick(user.id)}\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: getDisplayName(user) }\n )}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n ) : null}\n </Flex>\n </Table.Cell>\n ) : null}\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root {...pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {isModalOpened && <ModalForm onToggle={handleToggle} />}\n <Dialog.Root open={showDeleteConfirmation} onOpenChange={setShowDeleteConfirmation}>\n <ConfirmDialog onConfirm={confirmDelete} />\n </Dialog.Root>\n </Page.Main>\n );\n};\n\nconst TABLE_HEADERS: Array<\n Omit<Table.Header<SanitizedAdminUser, object>, 'label'> & { label: MessageDescriptor }\n> = [\n {\n name: 'firstname',\n label: {\n id: 'Settings.permissions.users.firstname',\n defaultMessage: 'Firstname',\n },\n sortable: true,\n },\n {\n name: 'lastname',\n label: {\n id: 'Settings.permissions.users.lastname',\n defaultMessage: 'Lastname',\n },\n sortable: true,\n },\n {\n name: 'email',\n label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },\n sortable: true,\n },\n {\n name: 'roles',\n label: {\n id: 'Settings.permissions.users.roles',\n defaultMessage: 'Roles',\n },\n sortable: false,\n cellFormatter({ roles }) {\n return (\n <Typography textColor=\"neutral800\">{roles.map((role) => role.name).join(',\\n')}</Typography>\n );\n },\n },\n {\n name: 'username',\n label: {\n id: 'Settings.permissions.users.username',\n defaultMessage: 'Username',\n },\n sortable: true,\n },\n {\n name: 'isActive',\n label: {\n id: 'Settings.permissions.users.user-status',\n defaultMessage: 'User status',\n },\n sortable: false,\n cellFormatter({ isActive }) {\n return (\n <Flex>\n <Status size=\"S\" variant={isActive ? 'success' : 'danger'}>\n <Typography tag=\"span\" variant=\"omega\" fontWeight=\"bold\">\n {isActive ? 'Active' : 'Inactive'}\n </Typography>\n </Status>\n </Flex>\n );\n },\n },\n];\n\nconst FILTERS = [\n {\n name: 'firstname',\n label: 'Firstname',\n type: 'string',\n },\n {\n name: 'lastname',\n label: 'Lastname',\n type: 'string',\n },\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n },\n {\n name: 'username',\n label: 'Username',\n type: 'string',\n },\n {\n name: 'isActive',\n label: 'Active user',\n type: 'boolean',\n },\n] satisfies Filters.Filter[];\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\n// component which determines whether this page should render the CE or EE page\nconst ListPage = () => {\n const UsersListPage = useEnterprise(\n ListPageCE,\n async () =>\n // eslint-disable-next-line import/no-cycle\n (await import('../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage'))\n .UserListPageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!UsersListPage) {\n return null;\n }\n\n return <UsersListPage />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage, ListPage, ListPageCE };\n"],"names":["ListPageCE","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","isModalOpened","setIsModalOpen","React","useState","permissions","useTypedSelector","state","admin_app","allowedActions","canCreate","canDelete","canRead","useRBAC","settings","users","navigate","useNavigate","toggleNotification","useNotification","formatMessage","useIntl","search","useLocation","showDeleteConfirmation","setShowDeleteConfirmation","idsToDelete","setIdsToDelete","data","isError","isLoading","useAdminUsers","qs","parse","ignoreQueryPrefix","user","currentUser","useAuth","auth","pagination","CreateAction","useEnterprise","CreateActionCE","CreateActionEE","headers","TABLE_HEADERS","map","header","label","title","id","defaultMessage","handleToggle","prev","deleteAll","useDeleteManyUsersMutation","handleDeleteAll","ids","res","type","message","error","err","handleRowClick","toString","handleDeleteClick","confirmDelete","_jsx","Page","Error","_jsxs","Main","aria-busy","Title","name","Layouts","Header","primaryAction","onClick","subtitle","Action","startActions","_Fragment","SearchInput","target","Filters","Root","options","FILTERS","Trigger","Popover","zIndex","List","Content","Table","rows","ActionBar","Head","HeaderCheckboxCell","HeaderCell","Empty","Loading","Body","Row","cursor","CheckboxCell","cellFormatter","rest","Cell","Typography","textColor","e","stopPropagation","Flex","justifyContent","IconButton","tag","NavLink","to","getDisplayName","variant","Pencil","Trash","Pagination","PageSize","Links","ModalForm","onToggle","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","sortable","roles","role","join","isActive","Status","size","fontWeight","ListPage","UsersListPage","UserListPageEE","ProtectedListPage","read","Protect"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
5
|
var icons = require('@strapi/icons');
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
|
-
var
|
|
7
|
+
var styledComponents = require('styled-components');
|
|
8
8
|
var Form = require('../../../../../components/Form.js');
|
|
9
9
|
var useAdminRoles = require('../../../../../hooks/useAdminRoles.js');
|
|
10
10
|
|
|
@@ -54,7 +54,7 @@ const SelectRoles = ({ disabled })=>{
|
|
|
54
54
|
]
|
|
55
55
|
});
|
|
56
56
|
};
|
|
57
|
-
const rotation =
|
|
57
|
+
const rotation = styledComponents.keyframes`
|
|
58
58
|
from {
|
|
59
59
|
transform: rotate(0deg);
|
|
60
60
|
}
|
|
@@ -62,7 +62,7 @@ const rotation = styled.keyframes`
|
|
|
62
62
|
transform: rotate(359deg);
|
|
63
63
|
}
|
|
64
64
|
`;
|
|
65
|
-
const LoadingWrapper =
|
|
65
|
+
const LoadingWrapper = styledComponents.styled.div`
|
|
66
66
|
animation: ${rotation} 2s infinite linear;
|
|
67
67
|
`;
|
|
68
68
|
const Loader = ()=>/*#__PURE__*/ jsxRuntime.jsx(LoadingWrapper, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRoles.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Users/components/SelectRoles.tsx"],"sourcesContent":["import { Field, MultiSelect, MultiSelectOption } from '@strapi/design-system';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\nimport { useField } from '../../../../../components/Form';\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\n\ninterface SelectRolesProps {\n disabled?: boolean;\n}\n\nconst SelectRoles = ({ disabled }: SelectRolesProps) => {\n const { isLoading, roles } = useAdminRoles();\n\n const { formatMessage } = useIntl();\n const { value = [], onChange, error } = useField<string[]>('roles');\n\n return (\n <Field.Root\n error={error}\n hint={formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n })}\n name=\"roles\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n })}\n </Field.Label>\n <MultiSelect\n disabled={disabled}\n onChange={(v) => {\n onChange('roles', v);\n }}\n placeholder={formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n startIcon={isLoading ? <Loader /> : undefined}\n value={value.map((v) => v.toString())}\n withTags\n >\n {roles.map((role) => {\n return (\n <MultiSelectOption key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </MultiSelectOption>\n );\n })}\n </MultiSelect>\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nexport { SelectRoles };\n"],"names":["SelectRoles","disabled","isLoading","roles","useAdminRoles","formatMessage","useIntl","value","onChange","error","useField","_jsxs","Field","Root","hint","id","defaultMessage","name","required","_jsx","Label","MultiSelect","v","placeholder","startIcon","Loader","undefined","map","toString","withTags","role","MultiSelectOption","code","Error","Hint","rotation","keyframes","LoadingWrapper","styled","div","LoadingIcon"],"mappings":";;;;;;;;;;AAYA,MAAMA,WAAAA,GAAc,CAAC,EAAEC,QAAQ,EAAoB,GAAA;AACjD,IAAA,MAAM,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGC,2BAAAA,EAAAA;IAE7B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,QAAQ,EAAE,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGC,aAAAA,CAAmB,OAAA,CAAA;IAE3D,qBACEC,eAAA,CAACC,mBAAMC,IAAI,EAAA;QACTJ,KAAAA,EAAOA,KAAAA;AACPK,QAAAA,IAAAA,EAAMT,aAAAA,CAAc;YAClBU,EAAAA,EAAI,oEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA,CAAA;QACAC,IAAAA,EAAK,OAAA;QACLC,QAAQ,EAAA,IAAA;;AAER,0BAAAC,cAAA,CAACP,mBAAMQ,KAAK,EAAA;0BACTf,aAAAA,CAAc;oBACbU,EAAAA,EAAI,wDAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;;0BAEFG,cAAA,CAACE,wBAAAA,EAAAA;gBACCpB,QAAAA,EAAUA,QAAAA;AACVO,gBAAAA,QAAAA,EAAU,CAACc,CAAAA,GAAAA;AACTd,oBAAAA,QAAAA,CAAS,OAAA,EAASc,CAAAA,CAAAA;AACpB,gBAAA,CAAA;AACAC,gBAAAA,WAAAA,EAAalB,aAAAA,CAAc;oBACzBU,EAAAA,EAAI,mCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;gBACAQ,SAAAA,EAAWtB,SAAAA,iBAAYiB,eAACM,MAAAA,EAAAA,EAAAA,CAAAA,GAAYC,SAAAA;AACpCnB,gBAAAA,KAAAA,EAAOA,MAAMoB,GAAG,CAAC,CAACL,CAAAA,GAAMA,EAAEM,QAAQ,EAAA,CAAA;gBAClCC,QAAQ,EAAA,IAAA;0BAEP1B,KAAAA,CAAMwB,GAAG,CAAC,CAACG,IAAAA,GAAAA;AACV,oBAAA,qBACEX,cAAA,CAACY,8BAAAA,EAAAA;wBAAgCxB,KAAAA,EAAOuB,IAAAA,CAAKf,EAAE,CAACa,QAAQ,EAAA;kCACrDvB,aAAAA,CAAc;AACbU,4BAAAA,EAAAA,EAAI,CAAC,OAAO,EAAEe,IAAAA,CAAKE,IAAI,CAAA,CAAE;AACzBhB,4BAAAA,cAAAA,EAAgBc,KAAKb;AACvB,yBAAA;AAJsBa,qBAAAA,EAAAA,IAAAA,CAAKf,EAAE,CAAA;AAOnC,gBAAA,CAAA;;AAEF,0BAAAI,cAAA,CAACP,mBAAMqB,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAd,cAAA,CAACP,mBAAMsB,IAAI,EAAA,EAAA;;;AAGjB;AAEA,MAAMC,QAAAA,GAAWC,
|
|
1
|
+
{"version":3,"file":"SelectRoles.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Users/components/SelectRoles.tsx"],"sourcesContent":["import { Field, MultiSelect, MultiSelectOption } from '@strapi/design-system';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\nimport { useField } from '../../../../../components/Form';\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\n\ninterface SelectRolesProps {\n disabled?: boolean;\n}\n\nconst SelectRoles = ({ disabled }: SelectRolesProps) => {\n const { isLoading, roles } = useAdminRoles();\n\n const { formatMessage } = useIntl();\n const { value = [], onChange, error } = useField<string[]>('roles');\n\n return (\n <Field.Root\n error={error}\n hint={formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n })}\n name=\"roles\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n })}\n </Field.Label>\n <MultiSelect\n disabled={disabled}\n onChange={(v) => {\n onChange('roles', v);\n }}\n placeholder={formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n startIcon={isLoading ? <Loader /> : undefined}\n value={value.map((v) => v.toString())}\n withTags\n >\n {roles.map((role) => {\n return (\n <MultiSelectOption key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </MultiSelectOption>\n );\n })}\n </MultiSelect>\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nexport { SelectRoles };\n"],"names":["SelectRoles","disabled","isLoading","roles","useAdminRoles","formatMessage","useIntl","value","onChange","error","useField","_jsxs","Field","Root","hint","id","defaultMessage","name","required","_jsx","Label","MultiSelect","v","placeholder","startIcon","Loader","undefined","map","toString","withTags","role","MultiSelectOption","code","Error","Hint","rotation","keyframes","LoadingWrapper","styled","div","LoadingIcon"],"mappings":";;;;;;;;;;AAYA,MAAMA,WAAAA,GAAc,CAAC,EAAEC,QAAQ,EAAoB,GAAA;AACjD,IAAA,MAAM,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGC,2BAAAA,EAAAA;IAE7B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,QAAQ,EAAE,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGC,aAAAA,CAAmB,OAAA,CAAA;IAE3D,qBACEC,eAAA,CAACC,mBAAMC,IAAI,EAAA;QACTJ,KAAAA,EAAOA,KAAAA;AACPK,QAAAA,IAAAA,EAAMT,aAAAA,CAAc;YAClBU,EAAAA,EAAI,oEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA,CAAA;QACAC,IAAAA,EAAK,OAAA;QACLC,QAAQ,EAAA,IAAA;;AAER,0BAAAC,cAAA,CAACP,mBAAMQ,KAAK,EAAA;0BACTf,aAAAA,CAAc;oBACbU,EAAAA,EAAI,wDAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;;0BAEFG,cAAA,CAACE,wBAAAA,EAAAA;gBACCpB,QAAAA,EAAUA,QAAAA;AACVO,gBAAAA,QAAAA,EAAU,CAACc,CAAAA,GAAAA;AACTd,oBAAAA,QAAAA,CAAS,OAAA,EAASc,CAAAA,CAAAA;AACpB,gBAAA,CAAA;AACAC,gBAAAA,WAAAA,EAAalB,aAAAA,CAAc;oBACzBU,EAAAA,EAAI,mCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;gBACAQ,SAAAA,EAAWtB,SAAAA,iBAAYiB,eAACM,MAAAA,EAAAA,EAAAA,CAAAA,GAAYC,SAAAA;AACpCnB,gBAAAA,KAAAA,EAAOA,MAAMoB,GAAG,CAAC,CAACL,CAAAA,GAAMA,EAAEM,QAAQ,EAAA,CAAA;gBAClCC,QAAQ,EAAA,IAAA;0BAEP1B,KAAAA,CAAMwB,GAAG,CAAC,CAACG,IAAAA,GAAAA;AACV,oBAAA,qBACEX,cAAA,CAACY,8BAAAA,EAAAA;wBAAgCxB,KAAAA,EAAOuB,IAAAA,CAAKf,EAAE,CAACa,QAAQ,EAAA;kCACrDvB,aAAAA,CAAc;AACbU,4BAAAA,EAAAA,EAAI,CAAC,OAAO,EAAEe,IAAAA,CAAKE,IAAI,CAAA,CAAE;AACzBhB,4BAAAA,cAAAA,EAAgBc,KAAKb;AACvB,yBAAA;AAJsBa,qBAAAA,EAAAA,IAAAA,CAAKf,EAAE,CAAA;AAOnC,gBAAA,CAAA;;AAEF,0BAAAI,cAAA,CAACP,mBAAMqB,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAd,cAAA,CAACP,mBAAMsB,IAAI,EAAA,EAAA;;;AAGjB;AAEA,MAAMC,QAAAA,GAAWC,0BAAS;;;;;;;AAO1B,CAAC;AAED,MAAMC,cAAAA,GAAiBC,uBAAAA,CAAOC,GAAG;AACpB,aAAA,EAAEJ,QAAAA,CAAS;AACxB,CAAC;AAED,MAAMV,MAAAA,GAAS,kBACbN,cAAA,CAACkB,cAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAlB,cAAA,CAACqB,YAAAA,EAAAA,EAAAA;;;;;"}
|
|
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
|
-
var
|
|
7
|
+
var styledComponents = require('styled-components');
|
|
8
8
|
var Form = require('../../../../../components/Form.js');
|
|
9
9
|
|
|
10
10
|
const EventsRoot = ({ children })=>{
|
|
@@ -30,7 +30,7 @@ const EventsRoot = ({ children })=>{
|
|
|
30
30
|
});
|
|
31
31
|
};
|
|
32
32
|
// TODO check whether we want to move alternating background colour tables to the design system
|
|
33
|
-
const StyledTable =
|
|
33
|
+
const StyledTable = styledComponents.styled(designSystem.RawTable)`
|
|
34
34
|
tbody tr:nth-child(odd) {
|
|
35
35
|
background: ${({ theme })=>theme.colors.neutral100};
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/Events.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Checkbox,\n Flex,\n RawTable as Table,\n RawTbody as Tbody,\n RawTd as Td,\n RawTh as Th,\n RawThead as Thead,\n RawTr as Tr,\n Typography,\n VisuallyHidden,\n Field,\n CheckboxProps,\n} from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField } from '../../../../../components/Form';\n\n/* -------------------------------------------------------------------------------------------------\n * EventsRoot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsRootProps {\n children: React.ReactNode;\n}\n\nconst EventsRoot = ({ children }: EventsRootProps) => {\n const { formatMessage } = useIntl();\n\n const label = formatMessage({\n id: 'Settings.webhooks.form.events',\n defaultMessage: 'Events',\n });\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Label aria-hidden>{label}</Field.Label>\n {/* @ts-expect-error – TODO: add colCount & rowCount */}\n <StyledTable aria-label={label}>{children}</StyledTable>\n </Flex>\n );\n};\n\n// TODO check whether we want to move alternating background colour tables to the design system\nconst StyledTable = styled(Table)`\n tbody tr:nth-child(odd) {\n background: ${({ theme }) => theme.colors.neutral100};\n }\n\n thead th span {\n color: ${({ theme }) => theme.colors.neutral500};\n }\n\n td,\n th {\n padding-block-start: ${({ theme }) => theme.spaces[3]};\n padding-block-end: ${({ theme }) => theme.spaces[3]};\n width: 6%;\n vertical-align: middle;\n }\n\n tbody tr td:first-child {\n /**\n * Add padding to the start of the first column to avoid the checkbox appearing\n * too close to the edge of the table\n */\n padding-inline-start: ${({ theme }) => theme.spaces[2]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * EventsHeaders\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsHeadersProps {\n getHeaders?: typeof getCEHeaders;\n}\n\nconst getCEHeaders = (): MessageDescriptor[] => {\n const headers = [\n { id: 'Settings.webhooks.events.create', defaultMessage: 'Create' },\n { id: 'Settings.webhooks.events.update', defaultMessage: 'Update' },\n { id: 'app.utils.delete', defaultMessage: 'Delete' },\n { id: 'app.utils.publish', defaultMessage: 'Publish' },\n { id: 'app.utils.unpublish', defaultMessage: 'Unpublish' },\n ];\n\n return headers;\n};\n\nconst EventsHeaders = ({ getHeaders = getCEHeaders }: EventsHeadersProps) => {\n const { formatMessage } = useIntl();\n const headers = getHeaders();\n\n return (\n <Thead>\n <Tr>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.event.select',\n defaultMessage: 'Select event',\n })}\n </VisuallyHidden>\n </Th>\n {headers.map((header) => {\n if (['app.utils.publish', 'app.utils.unpublish'].includes(header?.id ?? '')) {\n return (\n <Th\n key={header.id}\n title={formatMessage({\n id: 'Settings.webhooks.event.publish-tooltip',\n defaultMessage: 'This event only exists for content with draft & publish enabled',\n })}\n >\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage(header)}\n </Typography>\n </Th>\n );\n }\n\n return (\n <Th key={header.id}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage(header)}\n </Typography>\n </Th>\n );\n })}\n </Tr>\n </Thead>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EventsBody\n * -----------------------------------------------------------------------------------------------*/\ninterface FormikContextValue {\n events: string[];\n}\n\ninterface EventsBodyProps {\n providedEvents?: Record<string, FormikContextValue['events']>;\n}\n\nconst EventsBody = ({ providedEvents }: EventsBodyProps) => {\n const events = providedEvents || getCEEvents();\n const { value = [], onChange } = useField<string[]>('events');\n\n const inputName = 'events';\n const inputValue = value;\n const disabledEvents: string[] = [];\n\n const formattedValue = inputValue.reduce<Record<string, string[]>>((acc, curr) => {\n const key = curr.split('.')[0];\n\n if (!acc[key]) {\n acc[key] = [];\n }\n acc[key].push(curr);\n\n return acc;\n }, {});\n\n const handleSelect: EventsRowProps['handleSelect'] = (name, value) => {\n const set = new Set(inputValue);\n\n if (value) {\n set.add(name);\n } else {\n set.delete(name);\n }\n\n onChange(inputName, Array.from(set));\n };\n\n const handleSelectAll: EventsRowProps['handleSelectAll'] = (name, value) => {\n const set = new Set(inputValue);\n\n if (value) {\n events[name].forEach((event) => {\n if (!disabledEvents.includes(event)) {\n set.add(event);\n }\n });\n } else {\n events[name].forEach((event) => set.delete(event));\n }\n\n onChange(inputName, Array.from(set));\n };\n\n return (\n <Tbody>\n {Object.entries(events).map(([event, value]) => {\n return (\n <EventsRow\n disabledEvents={disabledEvents}\n key={event}\n name={event}\n events={value}\n inputValue={formattedValue[event]}\n handleSelect={handleSelect}\n handleSelectAll={handleSelectAll}\n />\n );\n })}\n </Tbody>\n );\n};\n\nconst getCEEvents = (): Required<Pick<EventsBodyProps, 'providedEvents'>>['providedEvents'] => {\n const entryEvents: FormikContextValue['events'] = [\n 'entry.create',\n 'entry.update',\n 'entry.delete',\n 'entry.publish',\n 'entry.unpublish',\n ];\n\n return {\n entry: entryEvents,\n media: ['media.create', 'media.update', 'media.delete'],\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EventsRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsRowProps {\n disabledEvents?: string[];\n events?: string[];\n inputValue?: string[];\n handleSelect: (name: string, value: boolean) => void;\n handleSelectAll: (name: string, value: boolean) => void;\n name: string;\n}\n\nconst EventsRow = ({\n disabledEvents = [],\n name,\n events = [],\n inputValue = [],\n handleSelect,\n handleSelectAll,\n}: EventsRowProps) => {\n const { formatMessage } = useIntl();\n const enabledCheckboxes = events.filter((event) => !disabledEvents.includes(event));\n\n const hasSomeCheckboxSelected = inputValue.length > 0;\n const areAllCheckboxesSelected = inputValue.length === enabledCheckboxes.length;\n\n const onChangeAll: CheckboxProps['onCheckedChange'] = () => {\n const valueToSet = !areAllCheckboxesSelected;\n\n handleSelectAll(name, valueToSet);\n };\n\n const targetColumns = 5;\n\n return (\n <Tr>\n <Td>\n <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n name={name}\n checked={\n hasSomeCheckboxSelected && !areAllCheckboxesSelected\n ? 'indeterminate'\n : areAllCheckboxesSelected\n }\n onCheckedChange={onChangeAll}\n >\n {removeHyphensAndTitleCase(name)}\n </Checkbox>\n </Td>\n\n {events.map((event) => {\n return (\n <Td key={event} textAlign=\"center\">\n <Flex width=\"100%\" justifyContent=\"center\">\n <Checkbox\n disabled={disabledEvents.includes(event)}\n aria-label={event}\n name={event}\n checked={inputValue.includes(event)}\n onCheckedChange={(value) => handleSelect(event, !!value)}\n />\n </Flex>\n </Td>\n );\n })}\n {events.length < targetColumns && <Td colSpan={targetColumns - events.length} />}\n </Tr>\n );\n};\n\n/**\n * Converts a string to title case and removes hyphens.\n */\nconst removeHyphensAndTitleCase = (str: string): string =>\n str\n .replace(/-/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n\nconst Events = { Root: EventsRoot, Headers: EventsHeaders, Body: EventsBody, Row: EventsRow };\n\nexport { Events };\nexport type { EventsRowProps, EventsHeadersProps, EventsRootProps, EventsBodyProps };\n"],"names":["EventsRoot","children","formatMessage","useIntl","label","id","defaultMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Field","Label","aria-hidden","StyledTable","aria-label","styled","Table","theme","colors","neutral100","neutral500","spaces","getCEHeaders","headers","EventsHeaders","getHeaders","Thead","Tr","Th","VisuallyHidden","map","header","includes","title","Typography","variant","textColor","EventsBody","providedEvents","events","getCEEvents","value","onChange","useField","inputName","inputValue","disabledEvents","formattedValue","reduce","acc","curr","key","split","push","handleSelect","name","set","Set","add","delete","Array","from","handleSelectAll","forEach","event","Tbody","Object","entries","EventsRow","entryEvents","entry","media","enabledCheckboxes","filter","hasSomeCheckboxSelected","length","areAllCheckboxesSelected","onChangeAll","valueToSet","targetColumns","Td","Checkbox","checked","onCheckedChange","removeHyphensAndTitleCase","textAlign","width","justifyContent","disabled","colSpan","str","replace","word","charAt","toUpperCase","slice","toLowerCase","join","Events","Root","Headers","Body"],"mappings":";;;;;;;;;AA6BA,MAAMA,UAAAA,GAAa,CAAC,EAAEC,QAAQ,EAAmB,GAAA;IAC/C,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,MAAMC,QAAQF,aAAAA,CAAc;QAC1BG,EAAAA,EAAI,+BAAA;QACJC,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEA,IAAA,qBACEC,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,SAAAA,EAAU,QAAA;QAASC,UAAAA,EAAW,SAAA;QAAUC,GAAAA,EAAK,CAAA;;AACjD,0BAAAC,cAAA,CAACC,mBAAMC,KAAK,EAAA;gBAACC,aAAW,EAAA,IAAA;AAAEX,gBAAAA,QAAAA,EAAAA;;0BAE1BQ,cAAA,CAACI,WAAAA,EAAAA;gBAAYC,YAAAA,EAAYb,KAAAA;AAAQH,gBAAAA,QAAAA,EAAAA;;;;AAGvC,CAAA;AAEA;AACA,MAAMe,WAAAA,GAAcE,aAAAA,CAAOC,qBAAAA,CAAM;;gBAEjB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;;WAI9C,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;;;;;yBAK3B,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,MAAM,CAAC,CAAA,CAAE,CAAC;uBACnC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMI,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;;;;;0BAU9B,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMI,MAAM,CAAC,CAAA,CAAE,CAAC;;AAE3D,CAAC;AAUD,MAAMC,YAAAA,GAAe,IAAA;AACnB,IAAA,MAAMC,OAAAA,GAAU;AACd,QAAA;YAAErB,EAAAA,EAAI,iCAAA;YAAmCC,cAAAA,EAAgB;AAAS,SAAA;AAClE,QAAA;YAAED,EAAAA,EAAI,iCAAA;YAAmCC,cAAAA,EAAgB;AAAS,SAAA;AAClE,QAAA;YAAED,EAAAA,EAAI,kBAAA;YAAoBC,cAAAA,EAAgB;AAAS,SAAA;AACnD,QAAA;YAAED,EAAAA,EAAI,mBAAA;YAAqBC,cAAAA,EAAgB;AAAU,SAAA;AACrD,QAAA;YAAED,EAAAA,EAAI,qBAAA;YAAuBC,cAAAA,EAAgB;AAAY;AAC1D,KAAA;IAED,OAAOoB,OAAAA;AACT,CAAA;AAEA,MAAMC,aAAAA,GAAgB,CAAC,EAAEC,UAAAA,GAAaH,YAAY,EAAsB,GAAA;IACtE,MAAM,EAAEvB,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMuB,OAAAA,GAAUE,UAAAA,EAAAA;AAEhB,IAAA,qBACEhB,cAAA,CAACiB,qBAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAtB,eAAA,CAACuB,kBAAAA,EAAAA;;8BACClB,cAAA,CAACmB,kBAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAnB,cAAA,CAACoB,2BAAAA,EAAAA;kCACE9B,aAAAA,CAAc;4BACbG,EAAAA,EAAI,gCAAA;4BACJC,cAAAA,EAAgB;AAClB,yBAAA;;;gBAGHoB,OAAAA,CAAQO,GAAG,CAAC,CAACC,MAAAA,GAAAA;oBACZ,IAAI;AAAC,wBAAA,mBAAA;AAAqB,wBAAA;AAAsB,qBAAA,CAACC,QAAQ,CAACD,MAAAA,EAAQ7B,EAAAA,IAAM,EAAA,CAAA,EAAK;AAC3E,wBAAA,qBACEO,cAAA,CAACmB,kBAAAA,EAAAA;AAECK,4BAAAA,KAAAA,EAAOlC,aAAAA,CAAc;gCACnBG,EAAAA,EAAI,yCAAA;gCACJC,cAAAA,EAAgB;AAClB,6BAAA,CAAA;AAEA,4BAAA,QAAA,gBAAAM,cAAA,CAACyB,uBAAAA,EAAAA;gCAAWC,OAAAA,EAAQ,OAAA;gCAAQC,SAAAA,EAAU,YAAA;0CACnCrC,aAAAA,CAAcgC,MAAAA;;AAPZA,yBAAAA,EAAAA,MAAAA,CAAO7B,EAAE,CAAA;AAWpB,oBAAA;AAEA,oBAAA,qBACEO,cAAA,CAACmB,kBAAAA,EAAAA;AACC,wBAAA,QAAA,gBAAAnB,cAAA,CAACyB,uBAAAA,EAAAA;4BAAWC,OAAAA,EAAQ,OAAA;4BAAQC,SAAAA,EAAU,YAAA;sCACnCrC,aAAAA,CAAcgC,MAAAA;;AAFVA,qBAAAA,EAAAA,MAAAA,CAAO7B,EAAE,CAAA;AAMtB,gBAAA,CAAA;;;;AAIR,CAAA;AAaA,MAAMmC,UAAAA,GAAa,CAAC,EAAEC,cAAc,EAAmB,GAAA;AACrD,IAAA,MAAMC,SAASD,cAAAA,IAAkBE,WAAAA,EAAAA;AACjC,IAAA,MAAM,EAAEC,KAAAA,GAAQ,EAAE,EAAEC,QAAQ,EAAE,GAAGC,aAAAA,CAAmB,QAAA,CAAA;AAEpD,IAAA,MAAMC,SAAAA,GAAY,QAAA;AAClB,IAAA,MAAMC,UAAAA,GAAaJ,KAAAA;AACnB,IAAA,MAAMK,iBAA2B,EAAE;AAEnC,IAAA,MAAMC,cAAAA,GAAiBF,UAAAA,CAAWG,MAAM,CAA2B,CAACC,GAAAA,EAAKC,IAAAA,GAAAA;AACvE,QAAA,MAAMC,MAAMD,IAAAA,CAAKE,KAAK,CAAC,GAAA,CAAI,CAAC,CAAA,CAAE;AAE9B,QAAA,IAAI,CAACH,GAAG,CAACE,GAAAA,CAAI,EAAE;YACbF,GAAG,CAACE,GAAAA,CAAI,GAAG,EAAE;AACf,QAAA;AACAF,QAAAA,GAAG,CAACE,GAAAA,CAAI,CAACE,IAAI,CAACH,IAAAA,CAAAA;QAEd,OAAOD,GAAAA;AACT,IAAA,CAAA,EAAG,EAAC,CAAA;IAEJ,MAAMK,YAAAA,GAA+C,CAACC,IAAAA,EAAMd,KAAAA,GAAAA;QAC1D,MAAMe,GAAAA,GAAM,IAAIC,GAAAA,CAAIZ,UAAAA,CAAAA;AAEpB,QAAA,IAAIJ,KAAAA,EAAO;AACTe,YAAAA,GAAAA,CAAIE,GAAG,CAACH,IAAAA,CAAAA;QACV,CAAA,MAAO;AACLC,YAAAA,GAAAA,CAAIG,MAAM,CAACJ,IAAAA,CAAAA;AACb,QAAA;QAEAb,QAAAA,CAASE,SAAAA,EAAWgB,KAAAA,CAAMC,IAAI,CAACL,GAAAA,CAAAA,CAAAA;AACjC,IAAA,CAAA;IAEA,MAAMM,eAAAA,GAAqD,CAACP,IAAAA,EAAMd,KAAAA,GAAAA;QAChE,MAAMe,GAAAA,GAAM,IAAIC,GAAAA,CAAIZ,UAAAA,CAAAA;AAEpB,QAAA,IAAIJ,KAAAA,EAAO;AACTF,YAAAA,MAAM,CAACgB,IAAAA,CAAK,CAACQ,OAAO,CAAC,CAACC,KAAAA,GAAAA;AACpB,gBAAA,IAAI,CAAClB,cAAAA,CAAed,QAAQ,CAACgC,KAAAA,CAAAA,EAAQ;AACnCR,oBAAAA,GAAAA,CAAIE,GAAG,CAACM,KAAAA,CAAAA;AACV,gBAAA;AACF,YAAA,CAAA,CAAA;QACF,CAAA,MAAO;YACLzB,MAAM,CAACgB,KAAK,CAACQ,OAAO,CAAC,CAACC,KAAAA,GAAUR,GAAAA,CAAIG,MAAM,CAACK,KAAAA,CAAAA,CAAAA;AAC7C,QAAA;QAEAtB,QAAAA,CAASE,SAAAA,EAAWgB,KAAAA,CAAMC,IAAI,CAACL,GAAAA,CAAAA,CAAAA;AACjC,IAAA,CAAA;AAEA,IAAA,qBACE/C,cAAA,CAACwD,qBAAAA,EAAAA;kBACEC,MAAAA,CAAOC,OAAO,CAAC5B,MAAAA,CAAAA,CAAQT,GAAG,CAAC,CAAC,CAACkC,OAAOvB,KAAAA,CAAM,GAAA;AACzC,YAAA,qBACEhC,cAAA,CAAC2D,SAAAA,EAAAA;gBACCtB,cAAAA,EAAgBA,cAAAA;gBAEhBS,IAAAA,EAAMS,KAAAA;gBACNzB,MAAAA,EAAQE,KAAAA;gBACRI,UAAAA,EAAYE,cAAc,CAACiB,KAAAA,CAAM;gBACjCV,YAAAA,EAAcA,YAAAA;gBACdQ,eAAAA,EAAiBA;AALZE,aAAAA,EAAAA,KAAAA,CAAAA;AAQX,QAAA,CAAA;;AAGN,CAAA;AAEA,MAAMxB,WAAAA,GAAc,IAAA;AAClB,IAAA,MAAM6B,WAAAA,GAA4C;AAChD,QAAA,cAAA;AACA,QAAA,cAAA;AACA,QAAA,cAAA;AACA,QAAA,eAAA;AACA,QAAA;AACD,KAAA;IAED,OAAO;QACLC,KAAAA,EAAOD,WAAAA;QACPE,KAAAA,EAAO;AAAC,YAAA,cAAA;AAAgB,YAAA,cAAA;AAAgB,YAAA;AAAe;AACzD,KAAA;AACF,CAAA;AAeA,MAAMH,YAAY,CAAC,EACjBtB,cAAAA,GAAiB,EAAE,EACnBS,IAAI,EACJhB,MAAAA,GAAS,EAAE,EACXM,UAAAA,GAAa,EAAE,EACfS,YAAY,EACZQ,eAAe,EACA,GAAA;IACf,MAAM,EAAE/D,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAMwE,iBAAAA,GAAoBjC,OAAOkC,MAAM,CAAC,CAACT,KAAAA,GAAU,CAAClB,cAAAA,CAAed,QAAQ,CAACgC,KAAAA,CAAAA,CAAAA;IAE5E,MAAMU,uBAAAA,GAA0B7B,UAAAA,CAAW8B,MAAM,GAAG,CAAA;AACpD,IAAA,MAAMC,wBAAAA,GAA2B/B,UAAAA,CAAW8B,MAAM,KAAKH,kBAAkBG,MAAM;AAE/E,IAAA,MAAME,WAAAA,GAAgD,IAAA;AACpD,QAAA,MAAMC,aAAa,CAACF,wBAAAA;AAEpBd,QAAAA,eAAAA,CAAgBP,IAAAA,EAAMuB,UAAAA,CAAAA;AACxB,IAAA,CAAA;AAEA,IAAA,MAAMC,aAAAA,GAAgB,CAAA;AAEtB,IAAA,qBACE3E,eAAA,CAACuB,kBAAAA,EAAAA;;0BACClB,cAAA,CAACuE,kBAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAvE,cAAA,CAACwE,qBAAAA,EAAAA;AACCnE,oBAAAA,YAAAA,EAAYf,aAAAA,CAAc;wBACxBG,EAAAA,EAAI,2BAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA,CAAA;oBACAoD,IAAAA,EAAMA,IAAAA;oBACN2B,OAAAA,EACER,uBAAAA,IAA2B,CAACE,wBAAAA,GACxB,eAAA,GACAA,wBAAAA;oBAENO,eAAAA,EAAiBN,WAAAA;8BAEhBO,yBAAAA,CAA0B7B,IAAAA;;;YAI9BhB,MAAAA,CAAOT,GAAG,CAAC,CAACkC,KAAAA,GAAAA;AACX,gBAAA,qBACEvD,cAAA,CAACuE,kBAAAA,EAAAA;oBAAeK,SAAAA,EAAU,QAAA;AACxB,oBAAA,QAAA,gBAAA5E,cAAA,CAACJ,iBAAAA,EAAAA;wBAAKiF,KAAAA,EAAM,MAAA;wBAAOC,cAAAA,EAAe,QAAA;AAChC,wBAAA,QAAA,gBAAA9E,cAAA,CAACwE,qBAAAA,EAAAA;4BACCO,QAAAA,EAAU1C,cAAAA,CAAed,QAAQ,CAACgC,KAAAA,CAAAA;4BAClClD,YAAAA,EAAYkD,KAAAA;4BACZT,IAAAA,EAAMS,KAAAA;4BACNkB,OAAAA,EAASrC,UAAAA,CAAWb,QAAQ,CAACgC,KAAAA,CAAAA;AAC7BmB,4BAAAA,eAAAA,EAAiB,CAAC1C,KAAAA,GAAUa,YAAAA,CAAaU,KAAAA,EAAO,CAAC,CAACvB,KAAAA;;;AAP/CuB,iBAAAA,EAAAA,KAAAA,CAAAA;AAYb,YAAA,CAAA,CAAA;YACCzB,MAAAA,CAAOoC,MAAM,GAAGI,aAAAA,kBAAiBtE,cAAA,CAACuE,kBAAAA,EAAAA;gBAAGS,OAAAA,EAASV,aAAAA,GAAgBxC,OAAOoC;;;;AAG5E,CAAA;AAEA;;AAEC,IACD,MAAMS,yBAAAA,GAA4B,CAACM,GAAAA,GACjCA,GAAAA,CACGC,OAAO,CAAC,IAAA,EAAM,GAAA,CAAA,CACdvC,KAAK,CAAC,GAAA,CAAA,CACNtB,GAAG,CAAC,CAAC8D,IAAAA,GAASA,IAAAA,CAAKC,MAAM,CAAC,CAAA,CAAA,CAAGC,WAAW,EAAA,GAAKF,IAAAA,CAAKG,KAAK,CAAC,CAAA,CAAA,CAAGC,WAAW,EAAA,CAAA,CACtEC,IAAI,CAAC,GAAA,CAAA;AAEV,MAAMC,MAAAA,GAAS;IAAEC,IAAAA,EAAMtG,UAAAA;IAAYuG,OAAAA,EAAS5E,aAAAA;IAAe6E,IAAAA,EAAMhE,UAA2B;;;;"}
|
|
1
|
+
{"version":3,"file":"Events.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/Events.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Checkbox,\n Flex,\n RawTable as Table,\n RawTbody as Tbody,\n RawTd as Td,\n RawTh as Th,\n RawThead as Thead,\n RawTr as Tr,\n Typography,\n VisuallyHidden,\n Field,\n CheckboxProps,\n} from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField } from '../../../../../components/Form';\n\n/* -------------------------------------------------------------------------------------------------\n * EventsRoot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsRootProps {\n children: React.ReactNode;\n}\n\nconst EventsRoot = ({ children }: EventsRootProps) => {\n const { formatMessage } = useIntl();\n\n const label = formatMessage({\n id: 'Settings.webhooks.form.events',\n defaultMessage: 'Events',\n });\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Label aria-hidden>{label}</Field.Label>\n {/* @ts-expect-error – TODO: add colCount & rowCount */}\n <StyledTable aria-label={label}>{children}</StyledTable>\n </Flex>\n );\n};\n\n// TODO check whether we want to move alternating background colour tables to the design system\nconst StyledTable = styled(Table)`\n tbody tr:nth-child(odd) {\n background: ${({ theme }) => theme.colors.neutral100};\n }\n\n thead th span {\n color: ${({ theme }) => theme.colors.neutral500};\n }\n\n td,\n th {\n padding-block-start: ${({ theme }) => theme.spaces[3]};\n padding-block-end: ${({ theme }) => theme.spaces[3]};\n width: 6%;\n vertical-align: middle;\n }\n\n tbody tr td:first-child {\n /**\n * Add padding to the start of the first column to avoid the checkbox appearing\n * too close to the edge of the table\n */\n padding-inline-start: ${({ theme }) => theme.spaces[2]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * EventsHeaders\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsHeadersProps {\n getHeaders?: typeof getCEHeaders;\n}\n\nconst getCEHeaders = (): MessageDescriptor[] => {\n const headers = [\n { id: 'Settings.webhooks.events.create', defaultMessage: 'Create' },\n { id: 'Settings.webhooks.events.update', defaultMessage: 'Update' },\n { id: 'app.utils.delete', defaultMessage: 'Delete' },\n { id: 'app.utils.publish', defaultMessage: 'Publish' },\n { id: 'app.utils.unpublish', defaultMessage: 'Unpublish' },\n ];\n\n return headers;\n};\n\nconst EventsHeaders = ({ getHeaders = getCEHeaders }: EventsHeadersProps) => {\n const { formatMessage } = useIntl();\n const headers = getHeaders();\n\n return (\n <Thead>\n <Tr>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.event.select',\n defaultMessage: 'Select event',\n })}\n </VisuallyHidden>\n </Th>\n {headers.map((header) => {\n if (['app.utils.publish', 'app.utils.unpublish'].includes(header?.id ?? '')) {\n return (\n <Th\n key={header.id}\n title={formatMessage({\n id: 'Settings.webhooks.event.publish-tooltip',\n defaultMessage: 'This event only exists for content with draft & publish enabled',\n })}\n >\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage(header)}\n </Typography>\n </Th>\n );\n }\n\n return (\n <Th key={header.id}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage(header)}\n </Typography>\n </Th>\n );\n })}\n </Tr>\n </Thead>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EventsBody\n * -----------------------------------------------------------------------------------------------*/\ninterface FormikContextValue {\n events: string[];\n}\n\ninterface EventsBodyProps {\n providedEvents?: Record<string, FormikContextValue['events']>;\n}\n\nconst EventsBody = ({ providedEvents }: EventsBodyProps) => {\n const events = providedEvents || getCEEvents();\n const { value = [], onChange } = useField<string[]>('events');\n\n const inputName = 'events';\n const inputValue = value;\n const disabledEvents: string[] = [];\n\n const formattedValue = inputValue.reduce<Record<string, string[]>>((acc, curr) => {\n const key = curr.split('.')[0];\n\n if (!acc[key]) {\n acc[key] = [];\n }\n acc[key].push(curr);\n\n return acc;\n }, {});\n\n const handleSelect: EventsRowProps['handleSelect'] = (name, value) => {\n const set = new Set(inputValue);\n\n if (value) {\n set.add(name);\n } else {\n set.delete(name);\n }\n\n onChange(inputName, Array.from(set));\n };\n\n const handleSelectAll: EventsRowProps['handleSelectAll'] = (name, value) => {\n const set = new Set(inputValue);\n\n if (value) {\n events[name].forEach((event) => {\n if (!disabledEvents.includes(event)) {\n set.add(event);\n }\n });\n } else {\n events[name].forEach((event) => set.delete(event));\n }\n\n onChange(inputName, Array.from(set));\n };\n\n return (\n <Tbody>\n {Object.entries(events).map(([event, value]) => {\n return (\n <EventsRow\n disabledEvents={disabledEvents}\n key={event}\n name={event}\n events={value}\n inputValue={formattedValue[event]}\n handleSelect={handleSelect}\n handleSelectAll={handleSelectAll}\n />\n );\n })}\n </Tbody>\n );\n};\n\nconst getCEEvents = (): Required<Pick<EventsBodyProps, 'providedEvents'>>['providedEvents'] => {\n const entryEvents: FormikContextValue['events'] = [\n 'entry.create',\n 'entry.update',\n 'entry.delete',\n 'entry.publish',\n 'entry.unpublish',\n ];\n\n return {\n entry: entryEvents,\n media: ['media.create', 'media.update', 'media.delete'],\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EventsRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EventsRowProps {\n disabledEvents?: string[];\n events?: string[];\n inputValue?: string[];\n handleSelect: (name: string, value: boolean) => void;\n handleSelectAll: (name: string, value: boolean) => void;\n name: string;\n}\n\nconst EventsRow = ({\n disabledEvents = [],\n name,\n events = [],\n inputValue = [],\n handleSelect,\n handleSelectAll,\n}: EventsRowProps) => {\n const { formatMessage } = useIntl();\n const enabledCheckboxes = events.filter((event) => !disabledEvents.includes(event));\n\n const hasSomeCheckboxSelected = inputValue.length > 0;\n const areAllCheckboxesSelected = inputValue.length === enabledCheckboxes.length;\n\n const onChangeAll: CheckboxProps['onCheckedChange'] = () => {\n const valueToSet = !areAllCheckboxesSelected;\n\n handleSelectAll(name, valueToSet);\n };\n\n const targetColumns = 5;\n\n return (\n <Tr>\n <Td>\n <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n name={name}\n checked={\n hasSomeCheckboxSelected && !areAllCheckboxesSelected\n ? 'indeterminate'\n : areAllCheckboxesSelected\n }\n onCheckedChange={onChangeAll}\n >\n {removeHyphensAndTitleCase(name)}\n </Checkbox>\n </Td>\n\n {events.map((event) => {\n return (\n <Td key={event} textAlign=\"center\">\n <Flex width=\"100%\" justifyContent=\"center\">\n <Checkbox\n disabled={disabledEvents.includes(event)}\n aria-label={event}\n name={event}\n checked={inputValue.includes(event)}\n onCheckedChange={(value) => handleSelect(event, !!value)}\n />\n </Flex>\n </Td>\n );\n })}\n {events.length < targetColumns && <Td colSpan={targetColumns - events.length} />}\n </Tr>\n );\n};\n\n/**\n * Converts a string to title case and removes hyphens.\n */\nconst removeHyphensAndTitleCase = (str: string): string =>\n str\n .replace(/-/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n\nconst Events = { Root: EventsRoot, Headers: EventsHeaders, Body: EventsBody, Row: EventsRow };\n\nexport { Events };\nexport type { EventsRowProps, EventsHeadersProps, EventsRootProps, EventsBodyProps };\n"],"names":["EventsRoot","children","formatMessage","useIntl","label","id","defaultMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Field","Label","aria-hidden","StyledTable","aria-label","styled","Table","theme","colors","neutral100","neutral500","spaces","getCEHeaders","headers","EventsHeaders","getHeaders","Thead","Tr","Th","VisuallyHidden","map","header","includes","title","Typography","variant","textColor","EventsBody","providedEvents","events","getCEEvents","value","onChange","useField","inputName","inputValue","disabledEvents","formattedValue","reduce","acc","curr","key","split","push","handleSelect","name","set","Set","add","delete","Array","from","handleSelectAll","forEach","event","Tbody","Object","entries","EventsRow","entryEvents","entry","media","enabledCheckboxes","filter","hasSomeCheckboxSelected","length","areAllCheckboxesSelected","onChangeAll","valueToSet","targetColumns","Td","Checkbox","checked","onCheckedChange","removeHyphensAndTitleCase","textAlign","width","justifyContent","disabled","colSpan","str","replace","word","charAt","toUpperCase","slice","toLowerCase","join","Events","Root","Headers","Body"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ var React = 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 Form = require('../../../../../components/Form.js');
|
|
10
10
|
var String = require('../../../../../components/FormInputs/String.js');
|
|
11
11
|
|
|
@@ -29,7 +29,7 @@ function _interopNamespace(e) {
|
|
|
29
29
|
|
|
30
30
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
31
31
|
|
|
32
|
-
const AddHeaderButton =
|
|
32
|
+
const AddHeaderButton = styledComponents.styled(designSystem.TextButton)`
|
|
33
33
|
cursor: pointer;
|
|
34
34
|
`;
|
|
35
35
|
const HeadersInput = ()=>{
|
|
@@ -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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"}
|
|
@@ -44,6 +44,15 @@ const getInitialRoutes = ()=>[
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
|
+
{
|
|
48
|
+
path: 'me/sessions',
|
|
49
|
+
lazy: async ()=>{
|
|
50
|
+
const { SessionsPage } = await Promise.resolve().then(function () { return require('./pages/SessionsPage.js'); });
|
|
51
|
+
return {
|
|
52
|
+
Component: SessionsPage
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
},
|
|
47
56
|
{
|
|
48
57
|
path: 'settings/*',
|
|
49
58
|
lazy: async ()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sources":["../../../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport { RouteObject } from 'react-router-dom';\n\nimport { getEERoutes as getBaseEERoutes } from '../../ee/admin/src/constants';\nimport { getEERoutes as getSettingsEERoutes } from '../../ee/admin/src/pages/SettingsPage/constants';\n\nimport { AuthPage } from './pages/Auth/AuthPage';\nimport { ROUTES_CE } from './pages/Settings/constants';\n\n/**\n * These are routes we don't want to be able to be changed by plugins.\n */\nconst getImmutableRoutes = (): RouteObject[] => [\n {\n path: 'usecase',\n lazy: async () => {\n const { PrivateUseCasePage } = await import('./pages/UseCasePage');\n\n return {\n Component: PrivateUseCasePage,\n };\n },\n },\n // this needs to go before auth/:authType because otherwise it won't match the route\n ...getBaseEERoutes(),\n {\n path: 'auth/:authType',\n element: <AuthPage />,\n },\n];\n\nconst getInitialRoutes = (): RouteObject[] => [\n {\n index: true,\n lazy: async () => {\n const { HomePage } = await import('./pages/Home/HomePage');\n\n return {\n Component: HomePage,\n };\n },\n },\n {\n path: 'me',\n lazy: async () => {\n const { ProfilePage } = await import('./pages/ProfilePage');\n\n return {\n Component: ProfilePage,\n };\n },\n },\n {\n path: 'settings/*',\n lazy: async () => {\n const { Layout } = await import('./pages/Settings/Layout');\n\n return {\n Component: Layout,\n };\n },\n children: [\n {\n path: 'application-infos',\n lazy: async () => {\n const { ApplicationInfoPage } = await import(\n './pages/Settings/pages/ApplicationInfo/ApplicationInfoPage'\n );\n\n return {\n Component: ApplicationInfoPage,\n };\n },\n },\n // ...Object.values(this.settings).flatMap(({ links }) =>\n // links.map(({ to, Component }) => ({\n // path: `${to}/*`,\n // element: (\n // <React.Suspense fallback={<Page.Loading />}>\n // <Component />\n // </React.Suspense>\n // ),\n // }))\n // ),\n ...[...getSettingsEERoutes(), ...ROUTES_CE()].filter(\n (route, index, refArray) => refArray.findIndex((obj) => obj.path === route.path) === index\n ),\n ],\n },\n];\n\nexport { getImmutableRoutes, getInitialRoutes };\n"],"names":["getImmutableRoutes","path","lazy","PrivateUseCasePage","Component","getBaseEERoutes","element","_jsx","AuthPage","getInitialRoutes","index","HomePage","ProfilePage","Layout","children","ApplicationInfoPage","getSettingsEERoutes","ROUTES_CE","filter","route","refArray","findIndex","obj"],"mappings":";;;;;;;;AAUA;;IAGA,MAAMA,qBAAqB,IAAqB;AAC9C,QAAA;YACEC,IAAAA,EAAM,SAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEC,kBAAkB,EAAE,GAAG,MAAM,oDAAO,wBAAA,KAAA;gBAE5C,OAAO;oBACLC,SAAAA,EAAWD;AACb,iBAAA;AACF,YAAA;AACF,SAAA;;AAEGE,QAAAA,GAAAA,uBAAAA,EAAAA;AACH,QAAA;YACEJ,IAAAA,EAAM,gBAAA;AACNK,YAAAA,OAAAA,gBAASC,cAAA,CAACC,iBAAAA,EAAAA,EAAAA;AACZ;AACD;AAED,MAAMC,mBAAmB,IAAqB;AAC5C,QAAA;YACEC,KAAAA,EAAO,IAAA;YACPR,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAES,QAAQ,EAAE,GAAG,MAAM,oDAAO,0BAAA,KAAA;gBAElC,OAAO;oBACLP,SAAAA,EAAWO;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEV,IAAAA,EAAM,IAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEU,WAAW,EAAE,GAAG,MAAM,oDAAO,wBAAA,KAAA;gBAErC,OAAO;oBACLR,SAAAA,EAAWQ;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEX,IAAAA,EAAM,
|
|
1
|
+
{"version":3,"file":"router.js","sources":["../../../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport { RouteObject } from 'react-router-dom';\n\nimport { getEERoutes as getBaseEERoutes } from '../../ee/admin/src/constants';\nimport { getEERoutes as getSettingsEERoutes } from '../../ee/admin/src/pages/SettingsPage/constants';\n\nimport { AuthPage } from './pages/Auth/AuthPage';\nimport { ROUTES_CE } from './pages/Settings/constants';\n\n/**\n * These are routes we don't want to be able to be changed by plugins.\n */\nconst getImmutableRoutes = (): RouteObject[] => [\n {\n path: 'usecase',\n lazy: async () => {\n const { PrivateUseCasePage } = await import('./pages/UseCasePage');\n\n return {\n Component: PrivateUseCasePage,\n };\n },\n },\n // this needs to go before auth/:authType because otherwise it won't match the route\n ...getBaseEERoutes(),\n {\n path: 'auth/:authType',\n element: <AuthPage />,\n },\n];\n\nconst getInitialRoutes = (): RouteObject[] => [\n {\n index: true,\n lazy: async () => {\n const { HomePage } = await import('./pages/Home/HomePage');\n\n return {\n Component: HomePage,\n };\n },\n },\n {\n path: 'me',\n lazy: async () => {\n const { ProfilePage } = await import('./pages/ProfilePage');\n\n return {\n Component: ProfilePage,\n };\n },\n },\n {\n path: 'me/sessions',\n lazy: async () => {\n const { SessionsPage } = await import('./pages/SessionsPage');\n\n return {\n Component: SessionsPage,\n };\n },\n },\n {\n path: 'settings/*',\n lazy: async () => {\n const { Layout } = await import('./pages/Settings/Layout');\n\n return {\n Component: Layout,\n };\n },\n children: [\n {\n path: 'application-infos',\n lazy: async () => {\n const { ApplicationInfoPage } = await import(\n './pages/Settings/pages/ApplicationInfo/ApplicationInfoPage'\n );\n\n return {\n Component: ApplicationInfoPage,\n };\n },\n },\n // ...Object.values(this.settings).flatMap(({ links }) =>\n // links.map(({ to, Component }) => ({\n // path: `${to}/*`,\n // element: (\n // <React.Suspense fallback={<Page.Loading />}>\n // <Component />\n // </React.Suspense>\n // ),\n // }))\n // ),\n ...[...getSettingsEERoutes(), ...ROUTES_CE()].filter(\n (route, index, refArray) => refArray.findIndex((obj) => obj.path === route.path) === index\n ),\n ],\n },\n];\n\nexport { getImmutableRoutes, getInitialRoutes };\n"],"names":["getImmutableRoutes","path","lazy","PrivateUseCasePage","Component","getBaseEERoutes","element","_jsx","AuthPage","getInitialRoutes","index","HomePage","ProfilePage","SessionsPage","Layout","children","ApplicationInfoPage","getSettingsEERoutes","ROUTES_CE","filter","route","refArray","findIndex","obj"],"mappings":";;;;;;;;AAUA;;IAGA,MAAMA,qBAAqB,IAAqB;AAC9C,QAAA;YACEC,IAAAA,EAAM,SAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEC,kBAAkB,EAAE,GAAG,MAAM,oDAAO,wBAAA,KAAA;gBAE5C,OAAO;oBACLC,SAAAA,EAAWD;AACb,iBAAA;AACF,YAAA;AACF,SAAA;;AAEGE,QAAAA,GAAAA,uBAAAA,EAAAA;AACH,QAAA;YACEJ,IAAAA,EAAM,gBAAA;AACNK,YAAAA,OAAAA,gBAASC,cAAA,CAACC,iBAAAA,EAAAA,EAAAA;AACZ;AACD;AAED,MAAMC,mBAAmB,IAAqB;AAC5C,QAAA;YACEC,KAAAA,EAAO,IAAA;YACPR,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAES,QAAQ,EAAE,GAAG,MAAM,oDAAO,0BAAA,KAAA;gBAElC,OAAO;oBACLP,SAAAA,EAAWO;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEV,IAAAA,EAAM,IAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEU,WAAW,EAAE,GAAG,MAAM,oDAAO,wBAAA,KAAA;gBAErC,OAAO;oBACLR,SAAAA,EAAWQ;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEX,IAAAA,EAAM,aAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEW,YAAY,EAAE,GAAG,MAAM,oDAAO,yBAAA,KAAA;gBAEtC,OAAO;oBACLT,SAAAA,EAAWS;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEZ,IAAAA,EAAM,YAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEY,MAAM,EAAE,GAAG,MAAM,oDAAO,4BAAA,KAAA;gBAEhC,OAAO;oBACLV,SAAAA,EAAWU;AACb,iBAAA;AACF,YAAA,CAAA;YACAC,QAAAA,EAAU;AACR,gBAAA;oBACEd,IAAAA,EAAM,mBAAA;oBACNC,IAAAA,EAAM,UAAA;AACJ,wBAAA,MAAM,EAAEc,mBAAmB,EAAE,GAAG,MAAM,oDACpC,+DAAA,KAAA;wBAGF,OAAO;4BACLZ,SAAAA,EAAWY;AACb,yBAAA;AACF,oBAAA;AACF,iBAAA;;;;;;;;;;;AAWG,gBAAA,GAAA;AAAIC,oBAAAA,GAAAA,qBAAAA,EAAAA;AAA0BC,oBAAAA,GAAAA,qBAAAA;AAAY,iBAAA,CAACC,MAAM,CAClD,CAACC,KAAAA,EAAOV,KAAAA,EAAOW,WAAaA,QAAAA,CAASC,SAAS,CAAC,CAACC,MAAQA,GAAAA,CAAItB,IAAI,KAAKmB,KAAAA,CAAMnB,IAAI,CAAA,KAAMS,KAAAA;AAExF;AACH;AACD;;;;;"}
|
|
@@ -42,6 +42,15 @@ const getInitialRoutes = ()=>[
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
|
+
{
|
|
46
|
+
path: 'me/sessions',
|
|
47
|
+
lazy: async ()=>{
|
|
48
|
+
const { SessionsPage } = await import('./pages/SessionsPage.mjs');
|
|
49
|
+
return {
|
|
50
|
+
Component: SessionsPage
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
},
|
|
45
54
|
{
|
|
46
55
|
path: 'settings/*',
|
|
47
56
|
lazy: async ()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.mjs","sources":["../../../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport { RouteObject } from 'react-router-dom';\n\nimport { getEERoutes as getBaseEERoutes } from '../../ee/admin/src/constants';\nimport { getEERoutes as getSettingsEERoutes } from '../../ee/admin/src/pages/SettingsPage/constants';\n\nimport { AuthPage } from './pages/Auth/AuthPage';\nimport { ROUTES_CE } from './pages/Settings/constants';\n\n/**\n * These are routes we don't want to be able to be changed by plugins.\n */\nconst getImmutableRoutes = (): RouteObject[] => [\n {\n path: 'usecase',\n lazy: async () => {\n const { PrivateUseCasePage } = await import('./pages/UseCasePage');\n\n return {\n Component: PrivateUseCasePage,\n };\n },\n },\n // this needs to go before auth/:authType because otherwise it won't match the route\n ...getBaseEERoutes(),\n {\n path: 'auth/:authType',\n element: <AuthPage />,\n },\n];\n\nconst getInitialRoutes = (): RouteObject[] => [\n {\n index: true,\n lazy: async () => {\n const { HomePage } = await import('./pages/Home/HomePage');\n\n return {\n Component: HomePage,\n };\n },\n },\n {\n path: 'me',\n lazy: async () => {\n const { ProfilePage } = await import('./pages/ProfilePage');\n\n return {\n Component: ProfilePage,\n };\n },\n },\n {\n path: 'settings/*',\n lazy: async () => {\n const { Layout } = await import('./pages/Settings/Layout');\n\n return {\n Component: Layout,\n };\n },\n children: [\n {\n path: 'application-infos',\n lazy: async () => {\n const { ApplicationInfoPage } = await import(\n './pages/Settings/pages/ApplicationInfo/ApplicationInfoPage'\n );\n\n return {\n Component: ApplicationInfoPage,\n };\n },\n },\n // ...Object.values(this.settings).flatMap(({ links }) =>\n // links.map(({ to, Component }) => ({\n // path: `${to}/*`,\n // element: (\n // <React.Suspense fallback={<Page.Loading />}>\n // <Component />\n // </React.Suspense>\n // ),\n // }))\n // ),\n ...[...getSettingsEERoutes(), ...ROUTES_CE()].filter(\n (route, index, refArray) => refArray.findIndex((obj) => obj.path === route.path) === index\n ),\n ],\n },\n];\n\nexport { getImmutableRoutes, getInitialRoutes };\n"],"names":["getImmutableRoutes","path","lazy","PrivateUseCasePage","Component","getBaseEERoutes","element","_jsx","AuthPage","getInitialRoutes","index","HomePage","ProfilePage","Layout","children","ApplicationInfoPage","getSettingsEERoutes","ROUTES_CE","filter","route","refArray","findIndex","obj"],"mappings":";;;;;;AAUA;;IAGA,MAAMA,qBAAqB,IAAqB;AAC9C,QAAA;YACEC,IAAAA,EAAM,SAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEC,kBAAkB,EAAE,GAAG,MAAM,OAAO,yBAAA,CAAA;gBAE5C,OAAO;oBACLC,SAAAA,EAAWD;AACb,iBAAA;AACF,YAAA;AACF,SAAA;;AAEGE,QAAAA,GAAAA,aAAAA,EAAAA;AACH,QAAA;YACEJ,IAAAA,EAAM,gBAAA;AACNK,YAAAA,OAAAA,gBAASC,GAAA,CAACC,QAAAA,EAAAA,EAAAA;AACZ;AACD;AAED,MAAMC,mBAAmB,IAAqB;AAC5C,QAAA;YACEC,KAAAA,EAAO,IAAA;YACPR,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAES,QAAQ,EAAE,GAAG,MAAM,OAAO,2BAAA,CAAA;gBAElC,OAAO;oBACLP,SAAAA,EAAWO;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEV,IAAAA,EAAM,IAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEU,WAAW,EAAE,GAAG,MAAM,OAAO,yBAAA,CAAA;gBAErC,OAAO;oBACLR,SAAAA,EAAWQ;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEX,IAAAA,EAAM,
|
|
1
|
+
{"version":3,"file":"router.mjs","sources":["../../../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\n\nimport { RouteObject } from 'react-router-dom';\n\nimport { getEERoutes as getBaseEERoutes } from '../../ee/admin/src/constants';\nimport { getEERoutes as getSettingsEERoutes } from '../../ee/admin/src/pages/SettingsPage/constants';\n\nimport { AuthPage } from './pages/Auth/AuthPage';\nimport { ROUTES_CE } from './pages/Settings/constants';\n\n/**\n * These are routes we don't want to be able to be changed by plugins.\n */\nconst getImmutableRoutes = (): RouteObject[] => [\n {\n path: 'usecase',\n lazy: async () => {\n const { PrivateUseCasePage } = await import('./pages/UseCasePage');\n\n return {\n Component: PrivateUseCasePage,\n };\n },\n },\n // this needs to go before auth/:authType because otherwise it won't match the route\n ...getBaseEERoutes(),\n {\n path: 'auth/:authType',\n element: <AuthPage />,\n },\n];\n\nconst getInitialRoutes = (): RouteObject[] => [\n {\n index: true,\n lazy: async () => {\n const { HomePage } = await import('./pages/Home/HomePage');\n\n return {\n Component: HomePage,\n };\n },\n },\n {\n path: 'me',\n lazy: async () => {\n const { ProfilePage } = await import('./pages/ProfilePage');\n\n return {\n Component: ProfilePage,\n };\n },\n },\n {\n path: 'me/sessions',\n lazy: async () => {\n const { SessionsPage } = await import('./pages/SessionsPage');\n\n return {\n Component: SessionsPage,\n };\n },\n },\n {\n path: 'settings/*',\n lazy: async () => {\n const { Layout } = await import('./pages/Settings/Layout');\n\n return {\n Component: Layout,\n };\n },\n children: [\n {\n path: 'application-infos',\n lazy: async () => {\n const { ApplicationInfoPage } = await import(\n './pages/Settings/pages/ApplicationInfo/ApplicationInfoPage'\n );\n\n return {\n Component: ApplicationInfoPage,\n };\n },\n },\n // ...Object.values(this.settings).flatMap(({ links }) =>\n // links.map(({ to, Component }) => ({\n // path: `${to}/*`,\n // element: (\n // <React.Suspense fallback={<Page.Loading />}>\n // <Component />\n // </React.Suspense>\n // ),\n // }))\n // ),\n ...[...getSettingsEERoutes(), ...ROUTES_CE()].filter(\n (route, index, refArray) => refArray.findIndex((obj) => obj.path === route.path) === index\n ),\n ],\n },\n];\n\nexport { getImmutableRoutes, getInitialRoutes };\n"],"names":["getImmutableRoutes","path","lazy","PrivateUseCasePage","Component","getBaseEERoutes","element","_jsx","AuthPage","getInitialRoutes","index","HomePage","ProfilePage","SessionsPage","Layout","children","ApplicationInfoPage","getSettingsEERoutes","ROUTES_CE","filter","route","refArray","findIndex","obj"],"mappings":";;;;;;AAUA;;IAGA,MAAMA,qBAAqB,IAAqB;AAC9C,QAAA;YACEC,IAAAA,EAAM,SAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEC,kBAAkB,EAAE,GAAG,MAAM,OAAO,yBAAA,CAAA;gBAE5C,OAAO;oBACLC,SAAAA,EAAWD;AACb,iBAAA;AACF,YAAA;AACF,SAAA;;AAEGE,QAAAA,GAAAA,aAAAA,EAAAA;AACH,QAAA;YACEJ,IAAAA,EAAM,gBAAA;AACNK,YAAAA,OAAAA,gBAASC,GAAA,CAACC,QAAAA,EAAAA,EAAAA;AACZ;AACD;AAED,MAAMC,mBAAmB,IAAqB;AAC5C,QAAA;YACEC,KAAAA,EAAO,IAAA;YACPR,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAES,QAAQ,EAAE,GAAG,MAAM,OAAO,2BAAA,CAAA;gBAElC,OAAO;oBACLP,SAAAA,EAAWO;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEV,IAAAA,EAAM,IAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEU,WAAW,EAAE,GAAG,MAAM,OAAO,yBAAA,CAAA;gBAErC,OAAO;oBACLR,SAAAA,EAAWQ;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEX,IAAAA,EAAM,aAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEW,YAAY,EAAE,GAAG,MAAM,OAAO,0BAAA,CAAA;gBAEtC,OAAO;oBACLT,SAAAA,EAAWS;AACb,iBAAA;AACF,YAAA;AACF,SAAA;AACA,QAAA;YACEZ,IAAAA,EAAM,YAAA;YACNC,IAAAA,EAAM,UAAA;AACJ,gBAAA,MAAM,EAAEY,MAAM,EAAE,GAAG,MAAM,OAAO,6BAAA,CAAA;gBAEhC,OAAO;oBACLV,SAAAA,EAAWU;AACb,iBAAA;AACF,YAAA,CAAA;YACAC,QAAAA,EAAU;AACR,gBAAA;oBACEd,IAAAA,EAAM,mBAAA;oBACNC,IAAAA,EAAM,UAAA;AACJ,wBAAA,MAAM,EAAEc,mBAAmB,EAAE,GAAG,MAAM,OACpC,gEAAA,CAAA;wBAGF,OAAO;4BACLZ,SAAAA,EAAWY;AACb,yBAAA;AACF,oBAAA;AACF,iBAAA;;;;;;;;;;;AAWG,gBAAA,GAAA;AAAIC,oBAAAA,GAAAA,WAAAA,EAAAA;AAA0BC,oBAAAA,GAAAA,SAAAA;AAAY,iBAAA,CAACC,MAAM,CAClD,CAACC,KAAAA,EAAOV,KAAAA,EAAOW,WAAaA,QAAAA,CAASC,SAAS,CAAC,CAACC,MAAQA,GAAAA,CAAItB,IAAI,KAAKmB,KAAAA,CAAMnB,IAAI,CAAA,KAAMS,KAAAA;AAExF;AACH;AACD;;;;"}
|