@strapi/admin 5.26.0 → 5.28.0
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/DragLayer.js +67 -0
- package/dist/admin/admin/src/components/DragLayer.js.map +1 -0
- package/dist/admin/admin/src/components/DragLayer.mjs +64 -0
- package/dist/admin/admin/src/components/DragLayer.mjs.map +1 -0
- package/dist/admin/admin/src/components/ErrorElement.js +10 -3
- package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
- package/dist/admin/admin/src/components/ErrorElement.mjs +10 -3
- package/dist/admin/admin/src/components/ErrorElement.mjs.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.js +292 -0
- package/dist/admin/admin/src/components/GapDropZone.js.map +1 -0
- package/dist/admin/admin/src/components/GapDropZone.mjs +268 -0
- package/dist/admin/admin/src/components/GapDropZone.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Context.js +15 -0
- package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs +15 -0
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.js +15 -0
- package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.js.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.mjs +13 -0
- package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.mjs.map +1 -0
- package/dist/admin/admin/src/components/GuidedTour/Overview.js +2 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs +2 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js +2 -2
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs +2 -2
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js +3 -2
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs +3 -2
- package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ContentLayout.js +3 -2
- package/dist/admin/admin/src/components/Layouts/ContentLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs +3 -2
- package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +65 -32
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +66 -33
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/Layout.js +29 -6
- package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/Layout.mjs +30 -7
- package/dist/admin/admin/src/components/Layouts/Layout.mjs.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.js +147 -92
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs +131 -95
- package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNav.js +20 -6
- package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNav.mjs +20 -6
- package/dist/admin/admin/src/components/MainNav/MainNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +157 -0
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -0
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs +154 -0
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs.map +1 -0
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js +65 -0
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js.map +1 -0
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.mjs +63 -0
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.mjs.map +1 -0
- package/dist/admin/admin/src/components/MainNav/NavLink.js +2 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs +2 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.js +39 -22
- package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.mjs +39 -22
- package/dist/admin/admin/src/components/MainNav/NavUser.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +8 -1
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs +9 -2
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +159 -119
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs +160 -120
- package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
- package/dist/admin/admin/src/components/PageHelpers.js +1 -1
- package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
- package/dist/admin/admin/src/components/PageHelpers.mjs +1 -1
- package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
- package/dist/admin/admin/src/components/Providers.js +2 -4
- package/dist/admin/admin/src/components/Providers.js.map +1 -1
- package/dist/admin/admin/src/components/Providers.mjs +2 -4
- package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js +353 -0
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -0
- package/dist/admin/admin/src/components/ResizeIndicator.mjs +332 -0
- package/dist/admin/admin/src/components/ResizeIndicator.mjs.map +1 -0
- package/dist/admin/admin/src/components/SubNav.js +98 -33
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +99 -34
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +3 -2
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs +3 -2
- package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.js +216 -0
- package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -0
- package/dist/admin/admin/src/components/WidgetRoot.mjs +195 -0
- package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -0
- package/dist/admin/admin/src/constants/theme.js +12 -0
- package/dist/admin/admin/src/constants/theme.js.map +1 -0
- package/dist/admin/admin/src/constants/theme.mjs +9 -0
- package/dist/admin/admin/src/constants/theme.mjs.map +1 -0
- package/dist/admin/admin/src/features/Notifications.js +14 -7
- package/dist/admin/admin/src/features/Notifications.js.map +1 -1
- package/dist/admin/admin/src/features/Notifications.mjs +15 -8
- package/dist/admin/admin/src/features/Notifications.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +5 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs +5 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/features/Widgets.js +276 -0
- package/dist/admin/admin/src/features/Widgets.js.map +1 -0
- package/dist/admin/admin/src/features/Widgets.mjs +255 -0
- package/dist/admin/admin/src/features/Widgets.mjs.map +1 -0
- package/dist/admin/admin/src/hooks/useAPIErrorHandler.js +1 -1
- package/dist/admin/admin/src/hooks/useAPIErrorHandler.js.map +1 -1
- package/dist/admin/admin/src/hooks/useAPIErrorHandler.mjs +1 -1
- package/dist/admin/admin/src/hooks/useAPIErrorHandler.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useDeviceType.js +43 -0
- package/dist/admin/admin/src/hooks/useDeviceType.js.map +1 -0
- package/dist/admin/admin/src/hooks/useDeviceType.mjs +22 -0
- package/dist/admin/admin/src/hooks/useDeviceType.mjs.map +1 -0
- package/dist/admin/admin/src/hooks/useMediaQuery.js +70 -0
- package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -0
- package/dist/admin/admin/src/hooks/useMediaQuery.mjs +46 -0
- package/dist/admin/admin/src/hooks/useMediaQuery.mjs.map +1 -0
- package/dist/admin/admin/src/hooks/useMenu.js +19 -0
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +19 -0
- package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +15 -2
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +15 -2
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +11 -7
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.mjs +11 -7
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Login.js +3 -0
- package/dist/admin/admin/src/pages/Auth/components/Login.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Login.mjs +3 -0
- package/dist/admin/admin/src/pages/Auth/components/Login.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +200 -130
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +202 -132
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +189 -0
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -0
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs +168 -0
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs.map +1 -0
- package/dist/admin/admin/src/pages/ProfilePage.js +54 -51
- package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.mjs +55 -52
- package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/Layout.js +42 -6
- package/dist/admin/admin/src/pages/Settings/Layout.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/Layout.mjs +43 -7
- package/dist/admin/admin/src/pages/Settings/Layout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +44 -32
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +45 -33
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +1 -1
- 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 +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs +5 -4
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs +5 -4
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs +5 -4
- package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +36 -32
- 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/ContentTypeCollapses.mjs +36 -32
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/services/api.js +2 -1
- package/dist/admin/admin/src/services/api.js.map +1 -1
- package/dist/admin/admin/src/services/api.mjs +2 -1
- package/dist/admin/admin/src/services/api.mjs.map +1 -1
- package/dist/admin/admin/src/services/auth.js +13 -2
- package/dist/admin/admin/src/services/auth.js.map +1 -1
- package/dist/admin/admin/src/services/auth.mjs +12 -3
- package/dist/admin/admin/src/services/auth.mjs.map +1 -1
- package/dist/admin/admin/src/services/homepage.js +11 -4
- package/dist/admin/admin/src/services/homepage.js.map +1 -1
- package/dist/admin/admin/src/services/homepage.mjs +11 -4
- package/dist/admin/admin/src/services/homepage.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +7 -1
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +7 -1
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/uk.json.js +9 -9
- package/dist/admin/admin/src/translations/uk.json.mjs +9 -9
- package/dist/admin/admin/src/utils/resizeHandlers.js +109 -0
- package/dist/admin/admin/src/utils/resizeHandlers.js.map +1 -0
- package/dist/admin/admin/src/utils/resizeHandlers.mjs +100 -0
- package/dist/admin/admin/src/utils/resizeHandlers.mjs.map +1 -0
- package/dist/admin/admin/src/utils/widgetLayout.js +293 -0
- package/dist/admin/admin/src/utils/widgetLayout.js.map +1 -0
- package/dist/admin/admin/src/utils/widgetLayout.mjs +273 -0
- package/dist/admin/admin/src/utils/widgetLayout.mjs.map +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +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 +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
- package/dist/admin/ee/admin/src/services/ai.js +5 -2
- package/dist/admin/ee/admin/src/services/ai.js.map +1 -1
- package/dist/admin/ee/admin/src/services/ai.mjs +5 -2
- package/dist/admin/ee/admin/src/services/ai.mjs.map +1 -1
- package/dist/admin/index.js +11 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +4 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/DragLayer.d.ts +8 -4
- package/dist/admin/src/components/GapDropZone.d.ts +36 -0
- package/dist/admin/src/components/GuidedTour/Context.d.ts +4 -0
- package/dist/admin/src/components/GuidedTour/GuidedTourProvider.d.ts +6 -0
- package/dist/admin/src/components/LeftMenu.d.ts +2 -2
- package/dist/admin/src/components/MainNav/MainNavLinks.d.ts +11 -0
- package/dist/admin/src/components/MainNav/NavBurgerMenu.d.ts +9 -0
- package/dist/admin/src/components/MainNav/NavUser.d.ts +5 -4
- package/dist/admin/src/components/ResizeIndicator.d.ts +12 -0
- package/dist/admin/src/components/SubNav.d.ts +18 -5
- package/dist/admin/src/components/WidgetRoot.d.ts +14 -0
- package/dist/admin/src/constants/theme.d.ts +7 -0
- package/dist/admin/src/core/store/configure.d.ts +2 -2
- package/dist/admin/src/core/store/hooks.d.ts +2 -2
- package/dist/admin/src/features/Tracking.d.ts +1 -1
- package/dist/admin/src/features/Widgets.d.ts +29 -0
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/hooks/useDeviceType.d.ts +6 -0
- package/dist/admin/src/hooks/useMediaQuery.d.ts +21 -0
- package/dist/admin/src/hooks/useMenu.d.ts +9 -1
- package/dist/admin/src/index.d.ts +4 -0
- package/dist/admin/src/pages/Home/HomePage.d.ts +4 -5
- package/dist/admin/src/pages/Home/components/AddWidgetModal.d.ts +10 -0
- package/dist/admin/src/pages/Settings/components/SettingsNav.d.ts +3 -6
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/selectors.d.ts +2 -2
- package/dist/admin/src/services/admin.d.ts +6 -6
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +1 -1
- package/dist/admin/src/services/auth.d.ts +21 -12
- package/dist/admin/src/services/contentApi.d.ts +1 -1
- package/dist/admin/src/services/contentManager.d.ts +1 -1
- package/dist/admin/src/services/homepage.d.ts +3 -3
- package/dist/admin/src/services/transferTokens.d.ts +1 -1
- package/dist/admin/src/services/users.d.ts +8 -8
- package/dist/admin/src/services/webhooks.d.ts +2 -2
- package/dist/admin/src/utils/resizeHandlers.d.ts +58 -0
- package/dist/admin/src/utils/widgetLayout.d.ts +78 -0
- package/dist/admin/tests/utils.d.ts +1 -1
- package/dist/ee/admin/src/services/ai.d.ts +2 -2
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +4 -2
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +4 -2
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
- package/dist/server/server/src/bootstrap.js +5 -0
- package/dist/server/server/src/bootstrap.js.map +1 -1
- package/dist/server/server/src/bootstrap.mjs +5 -0
- package/dist/server/server/src/bootstrap.mjs.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.js +15 -0
- package/dist/server/server/src/controllers/authenticated-user.js.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.mjs +15 -0
- package/dist/server/server/src/controllers/authenticated-user.mjs.map +1 -1
- package/dist/server/server/src/routes/users.js +10 -0
- package/dist/server/server/src/routes/users.js.map +1 -1
- package/dist/server/server/src/routes/users.mjs +10 -0
- package/dist/server/server/src/routes/users.mjs.map +1 -1
- package/dist/server/server/src/services/user.js +113 -1
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +113 -1
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/shared/utils/session-auth.js +4 -2
- package/dist/server/shared/utils/session-auth.js.map +1 -1
- package/dist/server/shared/utils/session-auth.mjs +4 -2
- package/dist/server/shared/utils/session-auth.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/authenticated-user.d.ts +1 -0
- package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +5 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/users.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +4 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts +4 -0
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/shared/contracts/homepage.d.ts +8 -4
- package/dist/shared/contracts/homepage.d.ts.map +1 -1
- package/dist/shared/contracts/users.d.ts +16 -0
- package/dist/shared/contracts/users.d.ts.map +1 -1
- package/dist/shared/utils/session-auth.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -5,6 +5,7 @@ var designSystem = require('@strapi/design-system');
|
|
|
5
5
|
var icons = require('@strapi/icons');
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
7
|
var Layout = require('../../../components/Layouts/Layout.js');
|
|
8
|
+
var theme = require('../../../constants/theme.js');
|
|
8
9
|
var hooks = require('../../../core/store/hooks.js');
|
|
9
10
|
var purchasePageSsoIllustrationDark = require('../assets/purchase-page-sso-illustration-dark.svg.js');
|
|
10
11
|
var purchasePageSsoIllustrationLight = require('../assets/purchase-page-sso-illustration-light.svg.js');
|
|
@@ -13,7 +14,7 @@ const PurchaseSingleSignOn = ()=>{
|
|
|
13
14
|
const { formatMessage } = reactIntl.useIntl();
|
|
14
15
|
const currentTheme = hooks.useTypedSelector((state)=>state.admin_app.theme.currentTheme);
|
|
15
16
|
const illustration = currentTheme === 'light' ? purchasePageSsoIllustrationLight : purchasePageSsoIllustrationDark;
|
|
16
|
-
return /*#__PURE__*/ jsxRuntime.jsx(
|
|
17
|
+
return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
17
18
|
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Main, {
|
|
18
19
|
children: [
|
|
19
20
|
/*#__PURE__*/ jsxRuntime.jsx(Layout.Layouts.Header, {
|
|
@@ -23,8 +24,8 @@ const PurchaseSingleSignOn = ()=>{
|
|
|
23
24
|
})
|
|
24
25
|
}),
|
|
25
26
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
26
|
-
marginLeft:
|
|
27
|
-
marginRight:
|
|
27
|
+
marginLeft: theme.RESPONSIVE_DEFAULT_SPACING,
|
|
28
|
+
marginRight: theme.RESPONSIVE_DEFAULT_SPACING,
|
|
28
29
|
shadow: "filterShadow",
|
|
29
30
|
hasRadius: true,
|
|
30
31
|
background: "neutral0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseSingleSignOn.js","sources":["../../../../../../../admin/src/pages/Settings/pages/PurchaseSingleSignOn.tsx"],"sourcesContent":["import { Box, Main, Flex, Typography, Grid, LinkButton } from '@strapi/design-system';\nimport { ExternalLink, Check, Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport darkIllustration from '../assets/purchase-page-sso-illustration-dark.svg';\nimport lightIllustration from '../assets/purchase-page-sso-illustration-light.svg';\n\nconst PurchaseSingleSignOn = () => {\n const { formatMessage } = useIntl();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n\n const illustration = currentTheme === 'light' ? lightIllustration : darkIllustration;\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.sso.title',\n defaultMessage: 'Single Sign-On',\n })}\n />\n <Box\n marginLeft={10}\n marginRight={10}\n shadow=\"filterShadow\"\n hasRadius\n background=\"neutral0\"\n borderColor={'neutral150'}\n overflow={'hidden'}\n >\n <Grid.Root>\n <Grid.Item col={6} s={12} alignItems={'flex-start'}>\n <Flex direction=\"column\" alignItems=\"flex-start\" padding={7} width={'100%'}>\n <Flex>\n <Lock fill=\"primary600\" width={`24px`} height={`24px`} />\n </Flex>\n <Flex paddingTop={3} paddingBottom={4}>\n <Typography variant=\"beta\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.description',\n defaultMessage: 'Simplify authentication for your team',\n })}\n </Typography>\n </Flex>\n <Flex direction=\"column\" alignItems={'flex-start'} gap={2}>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks1',\n defaultMessage: 'Unified authentication',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks2',\n defaultMessage: 'Enhanced security',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks3',\n defaultMessage: 'Support for webhooks',\n })}\n </Typography>\n </Flex>{' '}\n </Flex>\n\n <Flex gap={2} marginTop={7}>\n <LinkButton\n variant=\"default\"\n href=\"https://strapi.io/pricing-self-hosted?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.upgrade.cta',\n defaultMessage: 'Upgrade',\n })}\n </LinkButton>\n <LinkButton\n variant=\"tertiary\"\n endIcon={<ExternalLink />}\n href=\"https://strapi.io/features/single-sign-on-sso?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.learn-more.cta',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n </Flex>\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} background=\"primary100\" minHeight={'280px'}>\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <img\n src={illustration}\n alt=\"purchase-page-sso-illustration\"\n width=\"100%\"\n height=\"100%\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'bottom left',\n }}\n />\n </div>\n </Grid.Item>\n </Grid.Root>\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseSingleSignOn };\n"],"names":["PurchaseSingleSignOn","formatMessage","useIntl","currentTheme","useTypedSelector","state","admin_app","theme","illustration","lightIllustration","darkIllustration","_jsx","Layouts","Root","_jsxs","Main","Header","title","id","defaultMessage","Box","marginLeft","marginRight","shadow","hasRadius","background","borderColor","overflow","Grid","Item","col","s","alignItems","Flex","direction","padding","width","Lock","fill","height","paddingTop","paddingBottom","Typography","variant","fontWeight","gap","Check","style","flexShrink","textColor","marginTop","LinkButton","href","endIcon","ExternalLink","minHeight","div","position","img","src","alt","top","left","objectFit","objectPosition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PurchaseSingleSignOn.js","sources":["../../../../../../../admin/src/pages/Settings/pages/PurchaseSingleSignOn.tsx"],"sourcesContent":["import { Box, Main, Flex, Typography, Grid, LinkButton } from '@strapi/design-system';\nimport { ExternalLink, Check, Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { RESPONSIVE_DEFAULT_SPACING } from '../../../constants/theme';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport darkIllustration from '../assets/purchase-page-sso-illustration-dark.svg';\nimport lightIllustration from '../assets/purchase-page-sso-illustration-light.svg';\n\nconst PurchaseSingleSignOn = () => {\n const { formatMessage } = useIntl();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n\n const illustration = currentTheme === 'light' ? lightIllustration : darkIllustration;\n return (\n <>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.sso.title',\n defaultMessage: 'Single Sign-On',\n })}\n />\n <Box\n marginLeft={RESPONSIVE_DEFAULT_SPACING}\n marginRight={RESPONSIVE_DEFAULT_SPACING}\n shadow=\"filterShadow\"\n hasRadius\n background=\"neutral0\"\n borderColor={'neutral150'}\n overflow={'hidden'}\n >\n <Grid.Root>\n <Grid.Item col={6} s={12} alignItems={'flex-start'}>\n <Flex direction=\"column\" alignItems=\"flex-start\" padding={7} width={'100%'}>\n <Flex>\n <Lock fill=\"primary600\" width={`24px`} height={`24px`} />\n </Flex>\n <Flex paddingTop={3} paddingBottom={4}>\n <Typography variant=\"beta\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.description',\n defaultMessage: 'Simplify authentication for your team',\n })}\n </Typography>\n </Flex>\n <Flex direction=\"column\" alignItems={'flex-start'} gap={2}>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks1',\n defaultMessage: 'Unified authentication',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks2',\n defaultMessage: 'Enhanced security',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks3',\n defaultMessage: 'Support for webhooks',\n })}\n </Typography>\n </Flex>{' '}\n </Flex>\n\n <Flex gap={2} marginTop={7}>\n <LinkButton\n variant=\"default\"\n href=\"https://strapi.io/pricing-self-hosted?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.upgrade.cta',\n defaultMessage: 'Upgrade',\n })}\n </LinkButton>\n <LinkButton\n variant=\"tertiary\"\n endIcon={<ExternalLink />}\n href=\"https://strapi.io/features/single-sign-on-sso?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.learn-more.cta',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n </Flex>\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} background=\"primary100\" minHeight={'280px'}>\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <img\n src={illustration}\n alt=\"purchase-page-sso-illustration\"\n width=\"100%\"\n height=\"100%\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'bottom left',\n }}\n />\n </div>\n </Grid.Item>\n </Grid.Root>\n </Box>\n </Main>\n </>\n );\n};\n\nexport { PurchaseSingleSignOn };\n"],"names":["PurchaseSingleSignOn","formatMessage","useIntl","currentTheme","useTypedSelector","state","admin_app","theme","illustration","lightIllustration","darkIllustration","_jsx","_Fragment","_jsxs","Main","Layouts","Header","title","id","defaultMessage","Box","marginLeft","RESPONSIVE_DEFAULT_SPACING","marginRight","shadow","hasRadius","background","borderColor","overflow","Grid","Root","Item","col","s","alignItems","Flex","direction","padding","width","Lock","fill","height","paddingTop","paddingBottom","Typography","variant","fontWeight","gap","Check","style","flexShrink","textColor","marginTop","LinkButton","href","endIcon","ExternalLink","minHeight","div","position","img","src","alt","top","left","objectFit","objectPosition"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { Main, Box, Grid, Flex, Typography, LinkButton } from '@strapi/design-system';
|
|
3
3
|
import { Lock, Check, ExternalLink } from '@strapi/icons';
|
|
4
4
|
import { useIntl } from 'react-intl';
|
|
5
5
|
import { Layouts } from '../../../components/Layouts/Layout.mjs';
|
|
6
|
+
import { RESPONSIVE_DEFAULT_SPACING } from '../../../constants/theme.mjs';
|
|
6
7
|
import { useTypedSelector } from '../../../core/store/hooks.mjs';
|
|
7
8
|
import img$1 from '../assets/purchase-page-sso-illustration-dark.svg.mjs';
|
|
8
9
|
import img from '../assets/purchase-page-sso-illustration-light.svg.mjs';
|
|
@@ -11,7 +12,7 @@ const PurchaseSingleSignOn = ()=>{
|
|
|
11
12
|
const { formatMessage } = useIntl();
|
|
12
13
|
const currentTheme = useTypedSelector((state)=>state.admin_app.theme.currentTheme);
|
|
13
14
|
const illustration = currentTheme === 'light' ? img : img$1;
|
|
14
|
-
return /*#__PURE__*/ jsx(
|
|
15
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
15
16
|
children: /*#__PURE__*/ jsxs(Main, {
|
|
16
17
|
children: [
|
|
17
18
|
/*#__PURE__*/ jsx(Layouts.Header, {
|
|
@@ -21,8 +22,8 @@ const PurchaseSingleSignOn = ()=>{
|
|
|
21
22
|
})
|
|
22
23
|
}),
|
|
23
24
|
/*#__PURE__*/ jsx(Box, {
|
|
24
|
-
marginLeft:
|
|
25
|
-
marginRight:
|
|
25
|
+
marginLeft: RESPONSIVE_DEFAULT_SPACING,
|
|
26
|
+
marginRight: RESPONSIVE_DEFAULT_SPACING,
|
|
26
27
|
shadow: "filterShadow",
|
|
27
28
|
hasRadius: true,
|
|
28
29
|
background: "neutral0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseSingleSignOn.mjs","sources":["../../../../../../../admin/src/pages/Settings/pages/PurchaseSingleSignOn.tsx"],"sourcesContent":["import { Box, Main, Flex, Typography, Grid, LinkButton } from '@strapi/design-system';\nimport { ExternalLink, Check, Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport darkIllustration from '../assets/purchase-page-sso-illustration-dark.svg';\nimport lightIllustration from '../assets/purchase-page-sso-illustration-light.svg';\n\nconst PurchaseSingleSignOn = () => {\n const { formatMessage } = useIntl();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n\n const illustration = currentTheme === 'light' ? lightIllustration : darkIllustration;\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.sso.title',\n defaultMessage: 'Single Sign-On',\n })}\n />\n <Box\n marginLeft={10}\n marginRight={10}\n shadow=\"filterShadow\"\n hasRadius\n background=\"neutral0\"\n borderColor={'neutral150'}\n overflow={'hidden'}\n >\n <Grid.Root>\n <Grid.Item col={6} s={12} alignItems={'flex-start'}>\n <Flex direction=\"column\" alignItems=\"flex-start\" padding={7} width={'100%'}>\n <Flex>\n <Lock fill=\"primary600\" width={`24px`} height={`24px`} />\n </Flex>\n <Flex paddingTop={3} paddingBottom={4}>\n <Typography variant=\"beta\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.description',\n defaultMessage: 'Simplify authentication for your team',\n })}\n </Typography>\n </Flex>\n <Flex direction=\"column\" alignItems={'flex-start'} gap={2}>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks1',\n defaultMessage: 'Unified authentication',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks2',\n defaultMessage: 'Enhanced security',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks3',\n defaultMessage: 'Support for webhooks',\n })}\n </Typography>\n </Flex>{' '}\n </Flex>\n\n <Flex gap={2} marginTop={7}>\n <LinkButton\n variant=\"default\"\n href=\"https://strapi.io/pricing-self-hosted?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.upgrade.cta',\n defaultMessage: 'Upgrade',\n })}\n </LinkButton>\n <LinkButton\n variant=\"tertiary\"\n endIcon={<ExternalLink />}\n href=\"https://strapi.io/features/single-sign-on-sso?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.learn-more.cta',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n </Flex>\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} background=\"primary100\" minHeight={'280px'}>\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <img\n src={illustration}\n alt=\"purchase-page-sso-illustration\"\n width=\"100%\"\n height=\"100%\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'bottom left',\n }}\n />\n </div>\n </Grid.Item>\n </Grid.Root>\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseSingleSignOn };\n"],"names":["PurchaseSingleSignOn","formatMessage","useIntl","currentTheme","useTypedSelector","state","admin_app","theme","illustration","lightIllustration","darkIllustration","_jsx","Layouts","Root","_jsxs","Main","Header","title","id","defaultMessage","Box","marginLeft","marginRight","shadow","hasRadius","background","borderColor","overflow","Grid","Item","col","s","alignItems","Flex","direction","padding","width","Lock","fill","height","paddingTop","paddingBottom","Typography","variant","fontWeight","gap","Check","style","flexShrink","textColor","marginTop","LinkButton","href","endIcon","ExternalLink","minHeight","div","position","img","src","alt","top","left","objectFit","objectPosition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PurchaseSingleSignOn.mjs","sources":["../../../../../../../admin/src/pages/Settings/pages/PurchaseSingleSignOn.tsx"],"sourcesContent":["import { Box, Main, Flex, Typography, Grid, LinkButton } from '@strapi/design-system';\nimport { ExternalLink, Check, Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { RESPONSIVE_DEFAULT_SPACING } from '../../../constants/theme';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport darkIllustration from '../assets/purchase-page-sso-illustration-dark.svg';\nimport lightIllustration from '../assets/purchase-page-sso-illustration-light.svg';\n\nconst PurchaseSingleSignOn = () => {\n const { formatMessage } = useIntl();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n\n const illustration = currentTheme === 'light' ? lightIllustration : darkIllustration;\n return (\n <>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.sso.title',\n defaultMessage: 'Single Sign-On',\n })}\n />\n <Box\n marginLeft={RESPONSIVE_DEFAULT_SPACING}\n marginRight={RESPONSIVE_DEFAULT_SPACING}\n shadow=\"filterShadow\"\n hasRadius\n background=\"neutral0\"\n borderColor={'neutral150'}\n overflow={'hidden'}\n >\n <Grid.Root>\n <Grid.Item col={6} s={12} alignItems={'flex-start'}>\n <Flex direction=\"column\" alignItems=\"flex-start\" padding={7} width={'100%'}>\n <Flex>\n <Lock fill=\"primary600\" width={`24px`} height={`24px`} />\n </Flex>\n <Flex paddingTop={3} paddingBottom={4}>\n <Typography variant=\"beta\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.description',\n defaultMessage: 'Simplify authentication for your team',\n })}\n </Typography>\n </Flex>\n <Flex direction=\"column\" alignItems={'flex-start'} gap={2}>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks1',\n defaultMessage: 'Unified authentication',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks2',\n defaultMessage: 'Enhanced security',\n })}\n </Typography>\n </Flex>\n <Flex gap={2}>\n <Check\n fill=\"success500\"\n width={`16px`}\n height={`16px`}\n style={{ flexShrink: 0 }}\n />\n <Typography textColor=\"neutral700\">\n {formatMessage({\n id: 'Settings.page.PurchaseSSO.perks3',\n defaultMessage: 'Support for webhooks',\n })}\n </Typography>\n </Flex>{' '}\n </Flex>\n\n <Flex gap={2} marginTop={7}>\n <LinkButton\n variant=\"default\"\n href=\"https://strapi.io/pricing-self-hosted?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.upgrade.cta',\n defaultMessage: 'Upgrade',\n })}\n </LinkButton>\n <LinkButton\n variant=\"tertiary\"\n endIcon={<ExternalLink />}\n href=\"https://strapi.io/features/single-sign-on-sso?utm_campaign=In-Product-CTA&utm_source=Single-sign-on\"\n >\n {formatMessage({\n id: 'Settings.page.purchase.learn-more.cta',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n </Flex>\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} background=\"primary100\" minHeight={'280px'}>\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <img\n src={illustration}\n alt=\"purchase-page-sso-illustration\"\n width=\"100%\"\n height=\"100%\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'bottom left',\n }}\n />\n </div>\n </Grid.Item>\n </Grid.Root>\n </Box>\n </Main>\n </>\n );\n};\n\nexport { PurchaseSingleSignOn };\n"],"names":["PurchaseSingleSignOn","formatMessage","useIntl","currentTheme","useTypedSelector","state","admin_app","theme","illustration","lightIllustration","darkIllustration","_jsx","_Fragment","_jsxs","Main","Layouts","Header","title","id","defaultMessage","Box","marginLeft","RESPONSIVE_DEFAULT_SPACING","marginRight","shadow","hasRadius","background","borderColor","overflow","Grid","Root","Item","col","s","alignItems","Flex","direction","padding","width","Lock","fill","height","paddingTop","paddingBottom","Typography","variant","fontWeight","gap","Check","style","flexShrink","textColor","marginTop","LinkButton","href","endIcon","ExternalLink","minHeight","div","position","img","src","alt","top","left","objectFit","objectPosition"],"mappings":"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"}
|
|
@@ -153,41 +153,45 @@ const Collapse = ({ availableActions = [], isActive = false, isGrey = false, isF
|
|
|
153
153
|
}
|
|
154
154
|
const { hasConditions, hasAllActionsSelected, isParentCheckbox, checkboxName, label: permissionLabel } = restAction;
|
|
155
155
|
if (isParentCheckbox) {
|
|
156
|
-
return /*#__PURE__*/ jsxRuntime.
|
|
156
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Cell, {
|
|
157
157
|
justifyContent: "center",
|
|
158
158
|
alignItems: "center",
|
|
159
|
-
children:
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
name: checkboxName,
|
|
173
|
-
"aria-label": formatMessage({
|
|
174
|
-
id: `Settings.permissions.select-by-permission`,
|
|
175
|
-
defaultMessage: 'Select {label} permission'
|
|
176
|
-
}, {
|
|
177
|
-
label: `${permissionLabel} ${label}`
|
|
159
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
|
160
|
+
position: "relative",
|
|
161
|
+
zIndex: 1,
|
|
162
|
+
children: [
|
|
163
|
+
hasConditions && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
164
|
+
tag: "span",
|
|
165
|
+
position: "absolute",
|
|
166
|
+
top: "-6px",
|
|
167
|
+
left: "37px",
|
|
168
|
+
width: "6px",
|
|
169
|
+
height: "6px",
|
|
170
|
+
borderRadius: "20px",
|
|
171
|
+
background: "primary600"
|
|
178
172
|
}),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
173
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Checkbox, {
|
|
174
|
+
disabled: isFormDisabled,
|
|
175
|
+
name: checkboxName,
|
|
176
|
+
"aria-label": formatMessage({
|
|
177
|
+
id: `Settings.permissions.select-by-permission`,
|
|
178
|
+
defaultMessage: 'Select {label} permission'
|
|
179
|
+
}, {
|
|
180
|
+
label: `${permissionLabel} ${label}`
|
|
181
|
+
}),
|
|
182
|
+
// Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91
|
|
183
|
+
onCheckedChange: (value)=>{
|
|
184
|
+
onChangeParentCheckbox({
|
|
185
|
+
target: {
|
|
186
|
+
name: checkboxName,
|
|
187
|
+
value: !!value
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
},
|
|
191
|
+
checked: hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected
|
|
192
|
+
})
|
|
193
|
+
]
|
|
194
|
+
})
|
|
191
195
|
}, actionId);
|
|
192
196
|
}
|
|
193
197
|
return /*#__PURE__*/ jsxRuntime.jsxs(Cell, {
|
package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTypeCollapses.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Checkbox, Box, BoxComponent, Flex, FlexComponent, Modal } from '@strapi/design-system';\nimport { ChevronDown, ChevronUp } from '@strapi/icons';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport omit from 'lodash/omit';\nimport { useIntl } from 'react-intl';\nimport { styled, DefaultTheme } from 'styled-components';\n\nimport { Action, Subject } from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, rowHeight } from '../utils/constants';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ConditionForm } from '../utils/forms';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapsePropertyMatrix } from './CollapsePropertyMatrix';\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\nimport { HiddenAction } from './HiddenAction';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * ContentTypeCollapses\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentTypeCollapsesProps extends Pick<CollapseProps, 'pathToData'> {\n actions?: Action[];\n isFormDisabled?: boolean;\n subjects?: Subject[];\n}\n\nconst ContentTypeCollapses = ({\n actions = [],\n isFormDisabled,\n pathToData,\n subjects = [],\n}: ContentTypeCollapsesProps) => {\n const [collapseToOpen, setCollapseToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleCollapse = (collapseName: string) => () => {\n const nextCollapseToOpen = collapseToOpen === collapseName ? null : collapseName;\n\n setCollapseToOpen(nextCollapseToOpen);\n };\n\n return (\n <>\n {subjects.map(({ uid, label, properties }, index) => {\n const isActive = collapseToOpen === uid;\n const availableActions = actions.map((action) => ({\n ...action,\n isDisplayed: Array.isArray(action.subjects) && action.subjects.indexOf(uid) !== -1,\n }));\n return (\n <Flex\n key={uid}\n direction=\"column\"\n display=\"inline-flex\"\n alignItems=\"stretch\"\n minWidth=\"100%\"\n borderColor={isActive ? 'primary600' : undefined}\n >\n <Collapse\n availableActions={availableActions}\n isActive={isActive}\n isGrey={index % 2 === 0}\n isFormDisabled={isFormDisabled}\n label={label}\n onClickToggle={handleClickToggleCollapse(uid)}\n pathToData={[pathToData, uid].join('..')}\n />\n {isActive &&\n properties.map(({ label: propertyLabel, value, children: childrenForm }) => {\n return (\n <CollapsePropertyMatrix\n availableActions={availableActions}\n childrenForm={childrenForm}\n isFormDisabled={isFormDisabled}\n label={propertyLabel}\n pathToData={[pathToData, uid].join('..')}\n propertyName={value}\n key={value}\n />\n );\n })}\n </Flex>\n );\n })}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Collapse\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapseProps\n extends Pick<RowLabelWithCheckboxProps, 'isActive' | 'isFormDisabled' | 'label'> {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n isGrey?: boolean;\n onClickToggle: RowLabelWithCheckboxProps['onClick'];\n pathToData: string;\n}\n\nconst Collapse = ({\n availableActions = [],\n isActive = false,\n isGrey = false,\n isFormDisabled = false,\n label,\n onClickToggle,\n pathToData,\n}: CollapseProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [isConditionModalOpen, setIsConditionModalOpen] = React.useState(false);\n\n // This corresponds to the data related to the CT left checkbox\n // modifiedData: { collectionTypes: { [ctuid]: {create: {properties: { fields: {f1: true} }, update: {}, ... } } } }\n const mainData = get(modifiedData, pathToData.split('..'), {});\n // The utils we are using: getCheckboxState, retrieves all the boolean leafs of an object in order\n // to return the state of checkbox. Since the conditions are not related to the property we need to remove the key from the object.\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<Record<string, ConditionForm>>((acc, current) => {\n acc[current] = omit(mainData[current], 'conditions');\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n // Here we create an array of <checkbox>, since the state of each one of them is used in\n // order to know if whether or not we need to display the associated action in\n // the <ConditionsModal />\n const checkboxesActions = React.useMemo(() => {\n return generateCheckboxesActions(availableActions, modifiedData, pathToData);\n }, [availableActions, modifiedData, pathToData]);\n\n // @ts-expect-error – hasConditions does not exist on all versions of checkboxesActions.\n const doesConditionButtonHasConditions = checkboxesActions.some((action) => action.hasConditions);\n\n return (\n <BoxWrapper $isActive={isActive}>\n <Wrapper\n height={rowHeight}\n flex={1}\n alignItems=\"center\"\n background={isGrey ? 'neutral100' : 'neutral0'}\n >\n <RowLabelWithCheckbox\n isCollapsable\n isFormDisabled={isFormDisabled}\n label={capitalise(label)}\n checkboxName={pathToData}\n onChange={onChangeParentCheckbox}\n onClick={onClickToggle}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n <Chevron paddingLeft={2}>{isActive ? <ChevronUp /> : <ChevronDown />}</Chevron>\n </RowLabelWithCheckbox>\n\n <Flex style={{ flex: 1 }}>\n {checkboxesActions.map(\n ({ actionId, hasSomeActionsSelected, isDisplayed, ...restAction }) => {\n if (!isDisplayed) {\n return <HiddenAction key={actionId} />;\n }\n\n const {\n hasConditions,\n hasAllActionsSelected,\n isParentCheckbox,\n checkboxName,\n label: permissionLabel,\n } = restAction as VisibleCheckboxAction;\n\n if (isParentCheckbox) {\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n tag=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <Checkbox\n disabled={isFormDisabled}\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${permissionLabel} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\n />\n </Cell>\n );\n }\n\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n tag=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <Checkbox\n disabled={isFormDisabled}\n name={checkboxName}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasConditions ? 'indeterminate' : hasAllActionsSelected}\n />\n </Cell>\n );\n }\n )}\n </Flex>\n </Wrapper>\n <Box bottom=\"10px\" right=\"9px\" position=\"absolute\">\n <Modal.Root\n open={isConditionModalOpen}\n onOpenChange={() => {\n setIsConditionModalOpen((prev) => !prev);\n }}\n >\n <Modal.Trigger>\n <ConditionsButton hasConditions={doesConditionButtonHasConditions} />\n </Modal.Trigger>\n <ConditionsModal\n headerBreadCrumbs={[label, 'Settings.permissions.conditions.conditions']}\n actions={checkboxesActions}\n isFormDisabled={isFormDisabled}\n onClose={() => {\n setIsConditionModalOpen(false);\n }}\n />\n </Modal.Root>\n </Box>\n </BoxWrapper>\n );\n};\n\ninterface VisibleCheckboxAction {\n actionId: string;\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n isDisplayed: true;\n isParentCheckbox: boolean;\n checkboxName: string;\n label: string;\n hasConditions: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface HiddenCheckboxAction {\n actionId: string;\n isDisplayed: false;\n hasAllActionsSelected?: never;\n hasSomeActionsSelected: boolean;\n}\n\nconst generateCheckboxesActions = (\n availableActions: Array<Action & { isDisplayed: boolean }>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToData: string\n): Array<VisibleCheckboxAction | HiddenCheckboxAction> => {\n return availableActions.map(({ actionId, isDisplayed, applyToProperties, label }) => {\n if (!isDisplayed) {\n return { actionId, hasSomeActionsSelected: false, isDisplayed };\n }\n\n const baseCheckboxNameArray = [...pathToData.split('..'), actionId];\n const checkboxNameArray = isEmpty(applyToProperties)\n ? [...baseCheckboxNameArray, 'properties', 'enabled']\n : baseCheckboxNameArray;\n const conditionsValue = get(modifiedData, [...baseCheckboxNameArray, 'conditions'], null);\n\n const baseCheckboxAction = {\n actionId,\n checkboxName: checkboxNameArray.join('..'),\n hasConditions: createArrayOfValues(conditionsValue).some((val) => val),\n isDisplayed,\n label,\n pathToConditionsObject: baseCheckboxNameArray,\n };\n\n if (isEmpty(applyToProperties)) {\n const value = get(modifiedData, checkboxNameArray, false);\n\n // Since applyToProperties is empty it is not a parent checkbox, therefore hasAllActionsSelected is\n // equal to hasSomeActionsSelected\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected: value,\n hasSomeActionsSelected: value,\n isParentCheckbox: false,\n };\n }\n\n const mainData = get(modifiedData, checkboxNameArray, null);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(mainData);\n\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected,\n hasSomeActionsSelected,\n isParentCheckbox: true,\n };\n });\n};\n\nconst activeRowStyle = (theme: DefaultTheme, isActive?: boolean): string => `\n ${Wrapper} {\n background-color: ${theme.colors.primary100};\n color: ${theme.colors.primary600};\n border-radius: ${isActive ? '2px 2px 0 0' : '2px'};\n font-weight: ${theme.fontWeights.bold};\n }\n\n ${Chevron} {\n display: flex;\n }\n ${ConditionsButton} {\n display: block;\n }\n\n &:focus-within {\n ${() => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Wrapper = styled<FlexComponent>(Flex)`\n border: 1px solid transparent;\n`;\n\nconst BoxWrapper = styled.div<{ $isActive: boolean }>`\n display: inline-flex;\n min-width: 100%;\n position: relative;\n\n ${ConditionsButton} {\n display: none;\n }\n\n ${({ $isActive, theme }) => $isActive && activeRowStyle(theme, $isActive)}\n\n &:hover {\n ${({ theme, $isActive }) => activeRowStyle(theme, $isActive)}\n }\n`;\n\nconst Cell = styled<FlexComponent>(Flex)`\n width: ${cellWidth};\n position: relative;\n`;\n\nconst Chevron = styled<BoxComponent>(Box)`\n display: none;\n\n svg {\n width: 1.4rem;\n }\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nexport { ContentTypeCollapses };\nexport type { ContentTypeCollapsesProps, HiddenCheckboxAction, VisibleCheckboxAction };\n"],"names":["ContentTypeCollapses","actions","isFormDisabled","pathToData","subjects","collapseToOpen","setCollapseToOpen","React","useState","handleClickToggleCollapse","collapseName","nextCollapseToOpen","_jsx","_Fragment","map","uid","label","properties","index","isActive","availableActions","action","isDisplayed","Array","isArray","indexOf","_jsxs","Flex","direction","display","alignItems","minWidth","borderColor","undefined","Collapse","isGrey","onClickToggle","join","propertyLabel","value","children","childrenForm","CollapsePropertyMatrix","propertyName","formatMessage","useIntl","modifiedData","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isConditionModalOpen","setIsConditionModalOpen","mainData","get","split","dataWithoutCondition","useMemo","Object","keys","reduce","acc","current","omit","hasAllActionsSelected","hasSomeActionsSelected","getCheckboxState","checkboxesActions","generateCheckboxesActions","doesConditionButtonHasConditions","some","hasConditions","BoxWrapper","$isActive","Wrapper","height","rowHeight","flex","background","RowLabelWithCheckbox","isCollapsable","capitalise","checkboxName","onChange","onClick","someChecked","Chevron","paddingLeft","ChevronUp","ChevronDown","style","actionId","restAction","HiddenAction","isParentCheckbox","permissionLabel","Cell","justifyContent","Box","tag","position","top","left","width","borderRadius","Checkbox","disabled","name","aria-label","id","defaultMessage","onCheckedChange","target","checked","bottom","right","Modal","Root","open","onOpenChange","prev","Trigger","ConditionsButton","ConditionsModal","headerBreadCrumbs","onClose","applyToProperties","baseCheckboxNameArray","checkboxNameArray","isEmpty","conditionsValue","baseCheckboxAction","createArrayOfValues","val","pathToConditionsObject","activeRowStyle","theme","colors","primary100","primary600","fontWeights","bold","styled","div","cellWidth"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContentTypeCollapses.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Checkbox, Box, BoxComponent, Flex, FlexComponent, Modal } from '@strapi/design-system';\nimport { ChevronDown, ChevronUp } from '@strapi/icons';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport omit from 'lodash/omit';\nimport { useIntl } from 'react-intl';\nimport { styled, DefaultTheme } from 'styled-components';\n\nimport { Action, Subject } from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, rowHeight } from '../utils/constants';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ConditionForm } from '../utils/forms';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapsePropertyMatrix } from './CollapsePropertyMatrix';\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\nimport { HiddenAction } from './HiddenAction';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * ContentTypeCollapses\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentTypeCollapsesProps extends Pick<CollapseProps, 'pathToData'> {\n actions?: Action[];\n isFormDisabled?: boolean;\n subjects?: Subject[];\n}\n\nconst ContentTypeCollapses = ({\n actions = [],\n isFormDisabled,\n pathToData,\n subjects = [],\n}: ContentTypeCollapsesProps) => {\n const [collapseToOpen, setCollapseToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleCollapse = (collapseName: string) => () => {\n const nextCollapseToOpen = collapseToOpen === collapseName ? null : collapseName;\n\n setCollapseToOpen(nextCollapseToOpen);\n };\n\n return (\n <>\n {subjects.map(({ uid, label, properties }, index) => {\n const isActive = collapseToOpen === uid;\n const availableActions = actions.map((action) => ({\n ...action,\n isDisplayed: Array.isArray(action.subjects) && action.subjects.indexOf(uid) !== -1,\n }));\n return (\n <Flex\n key={uid}\n direction=\"column\"\n display=\"inline-flex\"\n alignItems=\"stretch\"\n minWidth=\"100%\"\n borderColor={isActive ? 'primary600' : undefined}\n >\n <Collapse\n availableActions={availableActions}\n isActive={isActive}\n isGrey={index % 2 === 0}\n isFormDisabled={isFormDisabled}\n label={label}\n onClickToggle={handleClickToggleCollapse(uid)}\n pathToData={[pathToData, uid].join('..')}\n />\n {isActive &&\n properties.map(({ label: propertyLabel, value, children: childrenForm }) => {\n return (\n <CollapsePropertyMatrix\n availableActions={availableActions}\n childrenForm={childrenForm}\n isFormDisabled={isFormDisabled}\n label={propertyLabel}\n pathToData={[pathToData, uid].join('..')}\n propertyName={value}\n key={value}\n />\n );\n })}\n </Flex>\n );\n })}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Collapse\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapseProps\n extends Pick<RowLabelWithCheckboxProps, 'isActive' | 'isFormDisabled' | 'label'> {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n isGrey?: boolean;\n onClickToggle: RowLabelWithCheckboxProps['onClick'];\n pathToData: string;\n}\n\nconst Collapse = ({\n availableActions = [],\n isActive = false,\n isGrey = false,\n isFormDisabled = false,\n label,\n onClickToggle,\n pathToData,\n}: CollapseProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [isConditionModalOpen, setIsConditionModalOpen] = React.useState(false);\n\n // This corresponds to the data related to the CT left checkbox\n // modifiedData: { collectionTypes: { [ctuid]: {create: {properties: { fields: {f1: true} }, update: {}, ... } } } }\n const mainData = get(modifiedData, pathToData.split('..'), {});\n // The utils we are using: getCheckboxState, retrieves all the boolean leafs of an object in order\n // to return the state of checkbox. Since the conditions are not related to the property we need to remove the key from the object.\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<Record<string, ConditionForm>>((acc, current) => {\n acc[current] = omit(mainData[current], 'conditions');\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n // Here we create an array of <checkbox>, since the state of each one of them is used in\n // order to know if whether or not we need to display the associated action in\n // the <ConditionsModal />\n const checkboxesActions = React.useMemo(() => {\n return generateCheckboxesActions(availableActions, modifiedData, pathToData);\n }, [availableActions, modifiedData, pathToData]);\n\n // @ts-expect-error – hasConditions does not exist on all versions of checkboxesActions.\n const doesConditionButtonHasConditions = checkboxesActions.some((action) => action.hasConditions);\n\n return (\n <BoxWrapper $isActive={isActive}>\n <Wrapper\n height={rowHeight}\n flex={1}\n alignItems=\"center\"\n background={isGrey ? 'neutral100' : 'neutral0'}\n >\n <RowLabelWithCheckbox\n isCollapsable\n isFormDisabled={isFormDisabled}\n label={capitalise(label)}\n checkboxName={pathToData}\n onChange={onChangeParentCheckbox}\n onClick={onClickToggle}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n <Chevron paddingLeft={2}>{isActive ? <ChevronUp /> : <ChevronDown />}</Chevron>\n </RowLabelWithCheckbox>\n\n <Flex style={{ flex: 1 }}>\n {checkboxesActions.map(\n ({ actionId, hasSomeActionsSelected, isDisplayed, ...restAction }) => {\n if (!isDisplayed) {\n return <HiddenAction key={actionId} />;\n }\n\n const {\n hasConditions,\n hasAllActionsSelected,\n isParentCheckbox,\n checkboxName,\n label: permissionLabel,\n } = restAction as VisibleCheckboxAction;\n\n if (isParentCheckbox) {\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n <Box position=\"relative\" zIndex={1}>\n {hasConditions && (\n <Box\n tag=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <Checkbox\n disabled={isFormDisabled}\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${permissionLabel} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\n />\n </Box>\n </Cell>\n );\n }\n\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n tag=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <Checkbox\n disabled={isFormDisabled}\n name={checkboxName}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasConditions ? 'indeterminate' : hasAllActionsSelected}\n />\n </Cell>\n );\n }\n )}\n </Flex>\n </Wrapper>\n <Box bottom=\"10px\" right=\"9px\" position=\"absolute\">\n <Modal.Root\n open={isConditionModalOpen}\n onOpenChange={() => {\n setIsConditionModalOpen((prev) => !prev);\n }}\n >\n <Modal.Trigger>\n <ConditionsButton hasConditions={doesConditionButtonHasConditions} />\n </Modal.Trigger>\n <ConditionsModal\n headerBreadCrumbs={[label, 'Settings.permissions.conditions.conditions']}\n actions={checkboxesActions}\n isFormDisabled={isFormDisabled}\n onClose={() => {\n setIsConditionModalOpen(false);\n }}\n />\n </Modal.Root>\n </Box>\n </BoxWrapper>\n );\n};\n\ninterface VisibleCheckboxAction {\n actionId: string;\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n isDisplayed: true;\n isParentCheckbox: boolean;\n checkboxName: string;\n label: string;\n hasConditions: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface HiddenCheckboxAction {\n actionId: string;\n isDisplayed: false;\n hasAllActionsSelected?: never;\n hasSomeActionsSelected: boolean;\n}\n\nconst generateCheckboxesActions = (\n availableActions: Array<Action & { isDisplayed: boolean }>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToData: string\n): Array<VisibleCheckboxAction | HiddenCheckboxAction> => {\n return availableActions.map(({ actionId, isDisplayed, applyToProperties, label }) => {\n if (!isDisplayed) {\n return { actionId, hasSomeActionsSelected: false, isDisplayed };\n }\n\n const baseCheckboxNameArray = [...pathToData.split('..'), actionId];\n const checkboxNameArray = isEmpty(applyToProperties)\n ? [...baseCheckboxNameArray, 'properties', 'enabled']\n : baseCheckboxNameArray;\n const conditionsValue = get(modifiedData, [...baseCheckboxNameArray, 'conditions'], null);\n\n const baseCheckboxAction = {\n actionId,\n checkboxName: checkboxNameArray.join('..'),\n hasConditions: createArrayOfValues(conditionsValue).some((val) => val),\n isDisplayed,\n label,\n pathToConditionsObject: baseCheckboxNameArray,\n };\n\n if (isEmpty(applyToProperties)) {\n const value = get(modifiedData, checkboxNameArray, false);\n\n // Since applyToProperties is empty it is not a parent checkbox, therefore hasAllActionsSelected is\n // equal to hasSomeActionsSelected\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected: value,\n hasSomeActionsSelected: value,\n isParentCheckbox: false,\n };\n }\n\n const mainData = get(modifiedData, checkboxNameArray, null);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(mainData);\n\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected,\n hasSomeActionsSelected,\n isParentCheckbox: true,\n };\n });\n};\n\nconst activeRowStyle = (theme: DefaultTheme, isActive?: boolean): string => `\n ${Wrapper} {\n background-color: ${theme.colors.primary100};\n color: ${theme.colors.primary600};\n border-radius: ${isActive ? '2px 2px 0 0' : '2px'};\n font-weight: ${theme.fontWeights.bold};\n }\n\n ${Chevron} {\n display: flex;\n }\n ${ConditionsButton} {\n display: block;\n }\n\n &:focus-within {\n ${() => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Wrapper = styled<FlexComponent>(Flex)`\n border: 1px solid transparent;\n`;\n\nconst BoxWrapper = styled.div<{ $isActive: boolean }>`\n display: inline-flex;\n min-width: 100%;\n position: relative;\n\n ${ConditionsButton} {\n display: none;\n }\n\n ${({ $isActive, theme }) => $isActive && activeRowStyle(theme, $isActive)}\n\n &:hover {\n ${({ theme, $isActive }) => activeRowStyle(theme, $isActive)}\n }\n`;\n\nconst Cell = styled<FlexComponent>(Flex)`\n width: ${cellWidth};\n position: relative;\n`;\n\nconst Chevron = styled<BoxComponent>(Box)`\n display: none;\n\n svg {\n width: 1.4rem;\n }\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nexport { ContentTypeCollapses };\nexport type { ContentTypeCollapsesProps, HiddenCheckboxAction, VisibleCheckboxAction };\n"],"names":["ContentTypeCollapses","actions","isFormDisabled","pathToData","subjects","collapseToOpen","setCollapseToOpen","React","useState","handleClickToggleCollapse","collapseName","nextCollapseToOpen","_jsx","_Fragment","map","uid","label","properties","index","isActive","availableActions","action","isDisplayed","Array","isArray","indexOf","_jsxs","Flex","direction","display","alignItems","minWidth","borderColor","undefined","Collapse","isGrey","onClickToggle","join","propertyLabel","value","children","childrenForm","CollapsePropertyMatrix","propertyName","formatMessage","useIntl","modifiedData","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isConditionModalOpen","setIsConditionModalOpen","mainData","get","split","dataWithoutCondition","useMemo","Object","keys","reduce","acc","current","omit","hasAllActionsSelected","hasSomeActionsSelected","getCheckboxState","checkboxesActions","generateCheckboxesActions","doesConditionButtonHasConditions","some","hasConditions","BoxWrapper","$isActive","Wrapper","height","rowHeight","flex","background","RowLabelWithCheckbox","isCollapsable","capitalise","checkboxName","onChange","onClick","someChecked","Chevron","paddingLeft","ChevronUp","ChevronDown","style","actionId","restAction","HiddenAction","isParentCheckbox","permissionLabel","Cell","justifyContent","Box","position","zIndex","tag","top","left","width","borderRadius","Checkbox","disabled","name","aria-label","id","defaultMessage","onCheckedChange","target","checked","bottom","right","Modal","Root","open","onOpenChange","prev","Trigger","ConditionsButton","ConditionsModal","headerBreadCrumbs","onClose","applyToProperties","baseCheckboxNameArray","checkboxNameArray","isEmpty","conditionsValue","baseCheckboxAction","createArrayOfValues","val","pathToConditionsObject","activeRowStyle","theme","colors","primary100","primary600","fontWeights","bold","styled","div","cellWidth"],"mappings":"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"}
|
|
@@ -132,41 +132,45 @@ const Collapse = ({ availableActions = [], isActive = false, isGrey = false, isF
|
|
|
132
132
|
}
|
|
133
133
|
const { hasConditions, hasAllActionsSelected, isParentCheckbox, checkboxName, label: permissionLabel } = restAction;
|
|
134
134
|
if (isParentCheckbox) {
|
|
135
|
-
return /*#__PURE__*/
|
|
135
|
+
return /*#__PURE__*/ jsx(Cell, {
|
|
136
136
|
justifyContent: "center",
|
|
137
137
|
alignItems: "center",
|
|
138
|
-
children:
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
name: checkboxName,
|
|
152
|
-
"aria-label": formatMessage({
|
|
153
|
-
id: `Settings.permissions.select-by-permission`,
|
|
154
|
-
defaultMessage: 'Select {label} permission'
|
|
155
|
-
}, {
|
|
156
|
-
label: `${permissionLabel} ${label}`
|
|
138
|
+
children: /*#__PURE__*/ jsxs(Box, {
|
|
139
|
+
position: "relative",
|
|
140
|
+
zIndex: 1,
|
|
141
|
+
children: [
|
|
142
|
+
hasConditions && /*#__PURE__*/ jsx(Box, {
|
|
143
|
+
tag: "span",
|
|
144
|
+
position: "absolute",
|
|
145
|
+
top: "-6px",
|
|
146
|
+
left: "37px",
|
|
147
|
+
width: "6px",
|
|
148
|
+
height: "6px",
|
|
149
|
+
borderRadius: "20px",
|
|
150
|
+
background: "primary600"
|
|
157
151
|
}),
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
152
|
+
/*#__PURE__*/ jsx(Checkbox, {
|
|
153
|
+
disabled: isFormDisabled,
|
|
154
|
+
name: checkboxName,
|
|
155
|
+
"aria-label": formatMessage({
|
|
156
|
+
id: `Settings.permissions.select-by-permission`,
|
|
157
|
+
defaultMessage: 'Select {label} permission'
|
|
158
|
+
}, {
|
|
159
|
+
label: `${permissionLabel} ${label}`
|
|
160
|
+
}),
|
|
161
|
+
// Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91
|
|
162
|
+
onCheckedChange: (value)=>{
|
|
163
|
+
onChangeParentCheckbox({
|
|
164
|
+
target: {
|
|
165
|
+
name: checkboxName,
|
|
166
|
+
value: !!value
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
},
|
|
170
|
+
checked: hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected
|
|
171
|
+
})
|
|
172
|
+
]
|
|
173
|
+
})
|
|
170
174
|
}, actionId);
|
|
171
175
|
}
|
|
172
176
|
return /*#__PURE__*/ jsxs(Cell, {
|