@strapi/admin 5.50.0 → 5.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/components/ConfirmDialog.js +2 -2
- package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.js +3 -3
- package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js +8 -8
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs +8 -8
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/ErrorElement.js +4 -4
- package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
- package/dist/admin/admin/src/components/Form.js +41 -27
- package/dist/admin/admin/src/components/Form.js.map +1 -1
- package/dist/admin/admin/src/components/Form.mjs +41 -27
- package/dist/admin/admin/src/components/Form.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.js +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.mjs +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Email.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Email.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js +4 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +4 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Json.js +2 -1
- package/dist/admin/admin/src/components/FormInputs/Json.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Json.mjs +2 -1
- package/dist/admin/admin/src/components/FormInputs/Json.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Password.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Password.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.js +18 -26
- package/dist/admin/admin/src/components/FormInputs/Renderer.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs +20 -28
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Textarea.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Textarea.mjs.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.js +2 -2
- package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
- package/dist/admin/admin/src/components/GradientBadge.js +3 -3
- package/dist/admin/admin/src/components/GradientBadge.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js +8 -8
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js +4 -4
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +2 -2
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js +2 -2
- package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/GridLayout.js +2 -2
- package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/Layout.js +4 -4
- package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.js +3 -3
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNav.js +2 -2
- package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +4 -4
- package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavBrand.js +2 -2
- package/dist/admin/admin/src/components/MainNav/NavBrand.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js +3 -3
- package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js +8 -8
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavUser.js +7 -7
- package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +3 -3
- package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +2 -2
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js +6 -6
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +11 -9
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +4 -2
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/Table.js +9 -5
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Table.mjs +6 -2
- package/dist/admin/admin/src/components/Table.mjs.map +1 -1
- package/dist/admin/admin/src/components/Theme.js +2 -2
- package/dist/admin/admin/src/components/Theme.js.map +1 -1
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js +2 -2
- package/dist/admin/admin/src/components/UnauthenticatedLogo.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +3 -3
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.js +4 -7
- package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js +5 -5
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/store/configure.js.map +1 -1
- package/dist/admin/admin/src/core/store/configure.mjs.map +1 -1
- package/dist/admin/admin/src/core/utils/createHook.js.map +1 -1
- package/dist/admin/admin/src/core/utils/createHook.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +3 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs +3 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/features/Widgets.js.map +1 -1
- package/dist/admin/admin/src/features/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useMediaQuery.js +4 -4
- package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.js +5 -3
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +5 -3
- package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useQueryParams.js.map +1 -1
- package/dist/admin/admin/src/hooks/useQueryParams.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.js.map +1 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +3 -3
- package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +17 -9
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +15 -7
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +2 -2
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +3 -6
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +4 -8
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +4 -8
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +2 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +4 -4
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +10 -10
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +5 -5
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js +3 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +2 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.js +693 -687
- package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
- package/dist/admin/admin/src/translations/ja.json.mjs +693 -687
- package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.js +22 -0
- package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
- package/dist/admin/admin/src/translations/pl.json.mjs +22 -0
- package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
- package/dist/admin/admin/src/utils/arrays.js.map +1 -1
- package/dist/admin/admin/src/utils/arrays.mjs.map +1 -1
- package/dist/admin/admin/src/utils/baseQuery.js +1 -1
- package/dist/admin/admin/src/utils/baseQuery.js.map +1 -1
- package/dist/admin/admin/src/utils/baseQuery.mjs +1 -1
- package/dist/admin/admin/src/utils/baseQuery.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/admin/src/utils/objects.js +43 -11
- package/dist/admin/admin/src/utils/objects.js.map +1 -1
- package/dist/admin/admin/src/utils/objects.mjs +43 -11
- package/dist/admin/admin/src/utils/objects.mjs.map +1 -1
- package/dist/admin/admin/src/utils/once.js.map +1 -1
- package/dist/admin/admin/src/utils/once.mjs.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.js +2 -1
- package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs +2 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
- package/dist/admin/admin/src/utils/shims.js.map +1 -1
- package/dist/admin/admin/src/utils/shims.mjs.map +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js +16 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js.map +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.mjs +14 -2
- package/dist/admin/admin/src/utils/widgetVisibility.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +2 -2
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js +2 -2
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs +2 -2
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js +2 -2
- package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js +3 -3
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +3 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +2 -2
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
- package/dist/admin/src/StrapiApp.d.ts +2 -2
- package/dist/admin/src/components/DescriptionComponentRenderer.d.ts +2 -1
- package/dist/admin/src/components/Form.d.ts +14 -12
- package/dist/admin/src/components/FormInputs/Renderer.d.ts +1 -1
- package/dist/admin/src/components/GuidedTour/Steps/Step.d.ts +1 -1
- package/dist/admin/src/components/SubNav.d.ts +1 -1
- package/dist/admin/src/components/Table.d.ts +3 -2
- package/dist/admin/src/core/apis/Plugin.d.ts +1 -1
- package/dist/admin/src/core/utils/createHook.d.ts +6 -6
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/hooks/useMenu.d.ts +1 -1
- package/dist/admin/src/hooks/useQueryParams.d.ts +2 -1
- package/dist/admin/src/hooks/useThrottledCallback.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/services/admin.d.ts +6 -6
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +2 -2
- package/dist/admin/src/services/auth.d.ts +12 -12
- package/dist/admin/src/services/contentApi.d.ts +1 -1
- package/dist/admin/src/services/contentManager.d.ts +1 -1
- package/dist/admin/src/services/homepage.d.ts +3 -3
- package/dist/admin/src/services/transferTokens.d.ts +1 -1
- package/dist/admin/src/services/users.d.ts +8 -8
- package/dist/admin/src/services/webhooks.d.ts +2 -2
- package/dist/admin/src/utils/arrays.d.ts +1 -1
- package/dist/admin/src/utils/baseQuery.d.ts +1 -1
- package/dist/admin/src/utils/getFetchClient.d.ts +7 -7
- package/dist/admin/src/utils/objects.d.ts +6 -4
- package/dist/admin/src/utils/once.d.ts +1 -1
- package/dist/admin/src/utils/widgetVisibility.d.ts +11 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +2 -1
- package/dist/ee/admin/src/services/ai.d.ts +3 -3
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.js +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.js.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs +9 -2
- package/dist/server/server/src/services/permission/sections-builder/handlers.mjs.map +1 -1
- package/dist/server/server/src/services/role.js +5 -1
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/role.mjs +5 -1
- package/dist/server/server/src/services/role.mjs.map +1 -1
- package/dist/server/server/src/validation/common-validators.js +19 -11
- package/dist/server/server/src/validation/common-validators.js.map +1 -1
- package/dist/server/server/src/validation/common-validators.mjs +19 -11
- package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
- package/dist/server/server/src/validation/permission.js +1 -1
- package/dist/server/server/src/validation/permission.js.map +1 -1
- package/dist/server/server/src/validation/permission.mjs +1 -1
- package/dist/server/server/src/validation/permission.mjs.map +1 -1
- package/dist/server/server/src/validation/role.js +2 -2
- package/dist/server/server/src/validation/role.js.map +1 -1
- package/dist/server/server/src/validation/role.mjs +2 -2
- package/dist/server/server/src/validation/role.mjs.map +1 -1
- package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -1
- package/dist/server/src/services/role.d.ts.map +1 -1
- package/dist/server/src/validation/common-validators.d.ts.map +1 -1
- package/dist/server/src/validation/role.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -21,89 +21,81 @@ var Time = require('./Time.js');
|
|
|
21
21
|
/* -------------------------------------------------------------------------------------------------
|
|
22
22
|
* InputRenderer
|
|
23
23
|
* -----------------------------------------------------------------------------------------------*/ /**
|
|
24
|
-
* @internal
|
|
24
|
+
* @internal
|
|
25
25
|
* @experimental
|
|
26
|
-
* @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API.
|
|
27
|
-
|
|
28
|
-
*/ const InputRenderer = /*#__PURE__*/ React.memo(/*#__PURE__*/ React.forwardRef((props, forwardRef)=>{
|
|
26
|
+
* @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API. The entire component is memoized to avoid re-renders in large forms.
|
|
27
|
+
*/ const InputRenderer = /*#__PURE__*/ React.memo((props)=>{
|
|
29
28
|
switch(props.type){
|
|
30
29
|
case 'biginteger':
|
|
31
30
|
case 'timestamp':
|
|
32
31
|
case 'string':
|
|
33
32
|
case 'uid':
|
|
34
33
|
return /*#__PURE__*/ jsxRuntime.jsx(String.StringInput, {
|
|
35
|
-
ref: forwardRef,
|
|
36
34
|
...props
|
|
37
35
|
});
|
|
38
36
|
case 'boolean':
|
|
39
37
|
return /*#__PURE__*/ jsxRuntime.jsx(Boolean.BooleanInput, {
|
|
40
|
-
ref: forwardRef,
|
|
41
38
|
...props
|
|
42
39
|
});
|
|
43
40
|
case 'checkbox':
|
|
44
41
|
return /*#__PURE__*/ jsxRuntime.jsx(Checkbox.CheckboxInput, {
|
|
45
|
-
ref: forwardRef,
|
|
46
42
|
...props
|
|
47
43
|
});
|
|
48
44
|
case 'datetime':
|
|
49
45
|
return /*#__PURE__*/ jsxRuntime.jsx(DateTime.DateTimeInput, {
|
|
50
|
-
ref: forwardRef,
|
|
51
46
|
...props
|
|
52
47
|
});
|
|
53
48
|
case 'date':
|
|
54
49
|
return /*#__PURE__*/ jsxRuntime.jsx(Date.DateInput, {
|
|
55
|
-
ref: forwardRef,
|
|
56
50
|
...props
|
|
57
51
|
});
|
|
58
52
|
case 'decimal':
|
|
59
53
|
case 'float':
|
|
60
54
|
case 'integer':
|
|
61
55
|
return /*#__PURE__*/ jsxRuntime.jsx(Number.NumberInput, {
|
|
62
|
-
ref: forwardRef,
|
|
63
56
|
...props
|
|
64
57
|
});
|
|
65
58
|
case 'json':
|
|
66
59
|
return /*#__PURE__*/ jsxRuntime.jsx(Json.JsonInput, {
|
|
67
|
-
ref: forwardRef,
|
|
68
60
|
...props
|
|
69
61
|
});
|
|
70
62
|
case 'email':
|
|
71
63
|
return /*#__PURE__*/ jsxRuntime.jsx(Email.EmailInput, {
|
|
72
|
-
ref: forwardRef,
|
|
73
64
|
...props
|
|
74
65
|
});
|
|
75
66
|
case 'enumeration':
|
|
76
67
|
return /*#__PURE__*/ jsxRuntime.jsx(Enumeration.EnumerationInput, {
|
|
77
|
-
ref: forwardRef,
|
|
78
68
|
...props
|
|
79
69
|
});
|
|
80
70
|
case 'password':
|
|
81
71
|
return /*#__PURE__*/ jsxRuntime.jsx(Password.PasswordInput, {
|
|
82
|
-
ref: forwardRef,
|
|
83
72
|
...props
|
|
84
73
|
});
|
|
85
74
|
case 'text':
|
|
86
75
|
return /*#__PURE__*/ jsxRuntime.jsx(Textarea.TextareaInput, {
|
|
87
|
-
ref: forwardRef,
|
|
88
76
|
...props
|
|
89
77
|
});
|
|
90
78
|
case 'time':
|
|
91
79
|
return /*#__PURE__*/ jsxRuntime.jsx(Time.TimeInput, {
|
|
92
|
-
ref: forwardRef,
|
|
93
80
|
...props
|
|
94
81
|
});
|
|
95
82
|
default:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
83
|
+
{
|
|
84
|
+
const notSupportedProps = props;
|
|
85
|
+
return /*#__PURE__*/ jsxRuntime.jsx(NotSupportedField, {
|
|
86
|
+
label: notSupportedProps.label,
|
|
87
|
+
hint: notSupportedProps.hint,
|
|
88
|
+
name: notSupportedProps.name,
|
|
89
|
+
required: notSupportedProps.required,
|
|
90
|
+
type: notSupportedProps.type,
|
|
91
|
+
labelAction: notSupportedProps.labelAction
|
|
92
|
+
});
|
|
93
|
+
}
|
|
101
94
|
}
|
|
102
|
-
})
|
|
103
|
-
const NotSupportedField =
|
|
95
|
+
});
|
|
96
|
+
const NotSupportedField = ({ label, hint, name, required, type, labelAction })=>{
|
|
104
97
|
const { error } = Form.useField(name);
|
|
105
98
|
const fieldRef = useFocusInputField.useFocusInputField(name);
|
|
106
|
-
const composedRefs = designSystem.useComposedRefs(ref, fieldRef);
|
|
107
99
|
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
108
100
|
error: error,
|
|
109
101
|
name: name,
|
|
@@ -115,7 +107,7 @@ const NotSupportedField = /*#__PURE__*/ React.forwardRef(({ label, hint, name, r
|
|
|
115
107
|
children: label
|
|
116
108
|
}),
|
|
117
109
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
|
|
118
|
-
ref:
|
|
110
|
+
ref: fieldRef,
|
|
119
111
|
disabled: true,
|
|
120
112
|
placeholder: `Unsupported field type: ${type}`,
|
|
121
113
|
required: required,
|
|
@@ -126,7 +118,7 @@ const NotSupportedField = /*#__PURE__*/ React.forwardRef(({ label, hint, name, r
|
|
|
126
118
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
127
119
|
]
|
|
128
120
|
});
|
|
129
|
-
}
|
|
121
|
+
};
|
|
130
122
|
const MemoizedInputRenderer = /*#__PURE__*/ React.memo(InputRenderer);
|
|
131
123
|
|
|
132
124
|
exports.InputRenderer = MemoizedInputRenderer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Renderer.js","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { TextInput, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { BooleanInput } from './Boolean';\nimport { CheckboxInput } from './Checkbox';\nimport { DateInput } from './Date';\nimport { DateTimeInput } from './DateTime';\nimport { EmailInput } from './Email';\nimport { EnumerationInput } from './Enumeration';\nimport { JsonInput } from './Json';\nimport { NumberInput } from './Number';\nimport { PasswordInput } from './Password';\nimport { StringInput } from './String';\nimport { TextareaInput } from './Textarea';\nimport { TimeInput } from './Time';\n\nimport type { InputProps } from '../Form';\n\n/* -------------------------------------------------------------------------------------------------\n * InputRenderer\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @experimental\n * @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API. The entire component is memoized to avoid re-renders in large forms.\n */\nconst InputRenderer = memo((props: InputProps) => {\n switch (props.type) {\n case 'biginteger':\n case 'timestamp':\n case 'string':\n case 'uid':\n return <StringInput {...props} />;\n case 'boolean':\n return <BooleanInput {...props} />;\n case 'checkbox':\n return <CheckboxInput {...props} />;\n case 'datetime':\n return <DateTimeInput {...props} />;\n case 'date':\n return <DateInput {...props} />;\n case 'decimal':\n case 'float':\n case 'integer':\n return <NumberInput {...props} />;\n case 'json':\n return <JsonInput {...props} />;\n case 'email':\n return <EmailInput {...props} />;\n case 'enumeration':\n return <EnumerationInput {...props} />;\n case 'password':\n return <PasswordInput {...props} />;\n case 'text':\n return <TextareaInput {...props} />;\n case 'time':\n return <TimeInput {...props} />;\n default: {\n const notSupportedProps = props as InputProps;\n return (\n <NotSupportedField\n label={notSupportedProps.label}\n hint={notSupportedProps.hint}\n name={notSupportedProps.name}\n required={notSupportedProps.required}\n type={notSupportedProps.type}\n labelAction={notSupportedProps.labelAction}\n />\n );\n }\n }\n});\n\ntype NotSupportedFieldProps = Pick<\n InputProps,\n 'hint' | 'label' | 'labelAction' | 'name' | 'required'\n> & {\n type: string;\n};\n\nconst NotSupportedField = ({\n label,\n hint,\n name,\n required,\n type,\n labelAction,\n}: NotSupportedFieldProps) => {\n const { error } = useField(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n return (\n <Field.Root error={error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <TextInput\n ref={fieldRef}\n disabled\n placeholder={`Unsupported field type: ${type}`}\n required={required}\n type=\"text\"\n value=\"\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n};\n\nconst MemoizedInputRenderer = memo(InputRenderer);\n\nexport { MemoizedInputRenderer as InputRenderer };\n"],"names":["InputRenderer","memo","props","type","_jsx","StringInput","BooleanInput","CheckboxInput","DateTimeInput","DateInput","NumberInput","JsonInput","EmailInput","EnumerationInput","PasswordInput","TextareaInput","TimeInput","notSupportedProps","NotSupportedField","label","hint","name","required","labelAction","error","useField","fieldRef","useFocusInputField","_jsxs","Field","Root","Label","action","TextInput","ref","disabled","placeholder","value","Hint","Error","MemoizedInputRenderer"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { memo
|
|
3
|
-
import {
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { Field, TextInput } from '@strapi/design-system';
|
|
4
4
|
import { useFocusInputField } from '../../hooks/useFocusInputField.mjs';
|
|
5
5
|
import { useField } from '../Form.mjs';
|
|
6
6
|
import { BooleanInput as MemoizedBooleanInput } from './Boolean.mjs';
|
|
@@ -19,89 +19,81 @@ import { TimeInput as MemoizedTimeInput } from './Time.mjs';
|
|
|
19
19
|
/* -------------------------------------------------------------------------------------------------
|
|
20
20
|
* InputRenderer
|
|
21
21
|
* -----------------------------------------------------------------------------------------------*/ /**
|
|
22
|
-
* @internal
|
|
22
|
+
* @internal
|
|
23
23
|
* @experimental
|
|
24
|
-
* @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API.
|
|
25
|
-
|
|
26
|
-
*/ const InputRenderer = /*#__PURE__*/ memo(/*#__PURE__*/ forwardRef((props, forwardRef)=>{
|
|
24
|
+
* @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API. The entire component is memoized to avoid re-renders in large forms.
|
|
25
|
+
*/ const InputRenderer = /*#__PURE__*/ memo((props)=>{
|
|
27
26
|
switch(props.type){
|
|
28
27
|
case 'biginteger':
|
|
29
28
|
case 'timestamp':
|
|
30
29
|
case 'string':
|
|
31
30
|
case 'uid':
|
|
32
31
|
return /*#__PURE__*/ jsx(MemoizedStringInput, {
|
|
33
|
-
ref: forwardRef,
|
|
34
32
|
...props
|
|
35
33
|
});
|
|
36
34
|
case 'boolean':
|
|
37
35
|
return /*#__PURE__*/ jsx(MemoizedBooleanInput, {
|
|
38
|
-
ref: forwardRef,
|
|
39
36
|
...props
|
|
40
37
|
});
|
|
41
38
|
case 'checkbox':
|
|
42
39
|
return /*#__PURE__*/ jsx(MemoizedCheckboxInput, {
|
|
43
|
-
ref: forwardRef,
|
|
44
40
|
...props
|
|
45
41
|
});
|
|
46
42
|
case 'datetime':
|
|
47
43
|
return /*#__PURE__*/ jsx(MemoizedDateTimeInput, {
|
|
48
|
-
ref: forwardRef,
|
|
49
44
|
...props
|
|
50
45
|
});
|
|
51
46
|
case 'date':
|
|
52
47
|
return /*#__PURE__*/ jsx(MemoizedDateInput, {
|
|
53
|
-
ref: forwardRef,
|
|
54
48
|
...props
|
|
55
49
|
});
|
|
56
50
|
case 'decimal':
|
|
57
51
|
case 'float':
|
|
58
52
|
case 'integer':
|
|
59
53
|
return /*#__PURE__*/ jsx(MemoizedNumberInput, {
|
|
60
|
-
ref: forwardRef,
|
|
61
54
|
...props
|
|
62
55
|
});
|
|
63
56
|
case 'json':
|
|
64
57
|
return /*#__PURE__*/ jsx(MemoizedJsonInput, {
|
|
65
|
-
ref: forwardRef,
|
|
66
58
|
...props
|
|
67
59
|
});
|
|
68
60
|
case 'email':
|
|
69
61
|
return /*#__PURE__*/ jsx(MemoizedEmailInput, {
|
|
70
|
-
ref: forwardRef,
|
|
71
62
|
...props
|
|
72
63
|
});
|
|
73
64
|
case 'enumeration':
|
|
74
65
|
return /*#__PURE__*/ jsx(MemoizedEnumerationInput, {
|
|
75
|
-
ref: forwardRef,
|
|
76
66
|
...props
|
|
77
67
|
});
|
|
78
68
|
case 'password':
|
|
79
69
|
return /*#__PURE__*/ jsx(MemoizedPasswordInput, {
|
|
80
|
-
ref: forwardRef,
|
|
81
70
|
...props
|
|
82
71
|
});
|
|
83
72
|
case 'text':
|
|
84
73
|
return /*#__PURE__*/ jsx(MemoizedTextareaInput, {
|
|
85
|
-
ref: forwardRef,
|
|
86
74
|
...props
|
|
87
75
|
});
|
|
88
76
|
case 'time':
|
|
89
77
|
return /*#__PURE__*/ jsx(MemoizedTimeInput, {
|
|
90
|
-
ref: forwardRef,
|
|
91
78
|
...props
|
|
92
79
|
});
|
|
93
80
|
default:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
81
|
+
{
|
|
82
|
+
const notSupportedProps = props;
|
|
83
|
+
return /*#__PURE__*/ jsx(NotSupportedField, {
|
|
84
|
+
label: notSupportedProps.label,
|
|
85
|
+
hint: notSupportedProps.hint,
|
|
86
|
+
name: notSupportedProps.name,
|
|
87
|
+
required: notSupportedProps.required,
|
|
88
|
+
type: notSupportedProps.type,
|
|
89
|
+
labelAction: notSupportedProps.labelAction
|
|
90
|
+
});
|
|
91
|
+
}
|
|
99
92
|
}
|
|
100
|
-
})
|
|
101
|
-
const NotSupportedField =
|
|
93
|
+
});
|
|
94
|
+
const NotSupportedField = ({ label, hint, name, required, type, labelAction })=>{
|
|
102
95
|
const { error } = useField(name);
|
|
103
96
|
const fieldRef = useFocusInputField(name);
|
|
104
|
-
const composedRefs = useComposedRefs(ref, fieldRef);
|
|
105
97
|
return /*#__PURE__*/ jsxs(Field.Root, {
|
|
106
98
|
error: error,
|
|
107
99
|
name: name,
|
|
@@ -113,7 +105,7 @@ const NotSupportedField = /*#__PURE__*/ forwardRef(({ label, hint, name, require
|
|
|
113
105
|
children: label
|
|
114
106
|
}),
|
|
115
107
|
/*#__PURE__*/ jsx(TextInput, {
|
|
116
|
-
ref:
|
|
108
|
+
ref: fieldRef,
|
|
117
109
|
disabled: true,
|
|
118
110
|
placeholder: `Unsupported field type: ${type}`,
|
|
119
111
|
required: required,
|
|
@@ -124,7 +116,7 @@ const NotSupportedField = /*#__PURE__*/ forwardRef(({ label, hint, name, require
|
|
|
124
116
|
/*#__PURE__*/ jsx(Field.Error, {})
|
|
125
117
|
]
|
|
126
118
|
});
|
|
127
|
-
}
|
|
119
|
+
};
|
|
128
120
|
const MemoizedInputRenderer = /*#__PURE__*/ memo(InputRenderer);
|
|
129
121
|
|
|
130
122
|
export { MemoizedInputRenderer as InputRenderer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.mjs","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Renderer.mjs","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { TextInput, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { BooleanInput } from './Boolean';\nimport { CheckboxInput } from './Checkbox';\nimport { DateInput } from './Date';\nimport { DateTimeInput } from './DateTime';\nimport { EmailInput } from './Email';\nimport { EnumerationInput } from './Enumeration';\nimport { JsonInput } from './Json';\nimport { NumberInput } from './Number';\nimport { PasswordInput } from './Password';\nimport { StringInput } from './String';\nimport { TextareaInput } from './Textarea';\nimport { TimeInput } from './Time';\n\nimport type { InputProps } from '../Form';\n\n/* -------------------------------------------------------------------------------------------------\n * InputRenderer\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @experimental\n * @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API. The entire component is memoized to avoid re-renders in large forms.\n */\nconst InputRenderer = memo((props: InputProps) => {\n switch (props.type) {\n case 'biginteger':\n case 'timestamp':\n case 'string':\n case 'uid':\n return <StringInput {...props} />;\n case 'boolean':\n return <BooleanInput {...props} />;\n case 'checkbox':\n return <CheckboxInput {...props} />;\n case 'datetime':\n return <DateTimeInput {...props} />;\n case 'date':\n return <DateInput {...props} />;\n case 'decimal':\n case 'float':\n case 'integer':\n return <NumberInput {...props} />;\n case 'json':\n return <JsonInput {...props} />;\n case 'email':\n return <EmailInput {...props} />;\n case 'enumeration':\n return <EnumerationInput {...props} />;\n case 'password':\n return <PasswordInput {...props} />;\n case 'text':\n return <TextareaInput {...props} />;\n case 'time':\n return <TimeInput {...props} />;\n default: {\n const notSupportedProps = props as InputProps;\n return (\n <NotSupportedField\n label={notSupportedProps.label}\n hint={notSupportedProps.hint}\n name={notSupportedProps.name}\n required={notSupportedProps.required}\n type={notSupportedProps.type}\n labelAction={notSupportedProps.labelAction}\n />\n );\n }\n }\n});\n\ntype NotSupportedFieldProps = Pick<\n InputProps,\n 'hint' | 'label' | 'labelAction' | 'name' | 'required'\n> & {\n type: string;\n};\n\nconst NotSupportedField = ({\n label,\n hint,\n name,\n required,\n type,\n labelAction,\n}: NotSupportedFieldProps) => {\n const { error } = useField(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n return (\n <Field.Root error={error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <TextInput\n ref={fieldRef}\n disabled\n placeholder={`Unsupported field type: ${type}`}\n required={required}\n type=\"text\"\n value=\"\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n};\n\nconst MemoizedInputRenderer = memo(InputRenderer);\n\nexport { MemoizedInputRenderer as InputRenderer };\n"],"names":["InputRenderer","memo","props","type","_jsx","StringInput","BooleanInput","CheckboxInput","DateTimeInput","DateInput","NumberInput","JsonInput","EmailInput","EnumerationInput","PasswordInput","TextareaInput","TimeInput","notSupportedProps","NotSupportedField","label","hint","name","required","labelAction","error","useField","fieldRef","useFocusInputField","_jsxs","Field","Root","Label","action","TextInput","ref","disabled","placeholder","value","Hint","Error","MemoizedInputRenderer"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA;;;;;;IASA,MAAMA,aAAAA,iBAAgBC,IAAAA,CAAK,CAACC,KAAAA,GAAAA;AAC1B,IAAA,OAAQA,MAAMC,IAAI;QAChB,KAAK,YAAA;QACL,KAAK,WAAA;QACL,KAAK,QAAA;QACL,KAAK,KAAA;AACH,YAAA,qBAAOC,GAAA,CAACC,mBAAAA,EAAAA;AAAa,gBAAA,GAAGH;;QAC1B,KAAK,SAAA;AACH,YAAA,qBAAOE,GAAA,CAACE,oBAAAA,EAAAA;AAAc,gBAAA,GAAGJ;;QAC3B,KAAK,UAAA;AACH,YAAA,qBAAOE,GAAA,CAACG,qBAAAA,EAAAA;AAAe,gBAAA,GAAGL;;QAC5B,KAAK,UAAA;AACH,YAAA,qBAAOE,GAAA,CAACI,qBAAAA,EAAAA;AAAe,gBAAA,GAAGN;;QAC5B,KAAK,MAAA;AACH,YAAA,qBAAOE,GAAA,CAACK,iBAAAA,EAAAA;AAAW,gBAAA,GAAGP;;QACxB,KAAK,SAAA;QACL,KAAK,OAAA;QACL,KAAK,SAAA;AACH,YAAA,qBAAOE,GAAA,CAACM,mBAAAA,EAAAA;AAAa,gBAAA,GAAGR;;QAC1B,KAAK,MAAA;AACH,YAAA,qBAAOE,GAAA,CAACO,iBAAAA,EAAAA;AAAW,gBAAA,GAAGT;;QACxB,KAAK,OAAA;AACH,YAAA,qBAAOE,GAAA,CAACQ,kBAAAA,EAAAA;AAAY,gBAAA,GAAGV;;QACzB,KAAK,aAAA;AACH,YAAA,qBAAOE,GAAA,CAACS,wBAAAA,EAAAA;AAAkB,gBAAA,GAAGX;;QAC/B,KAAK,UAAA;AACH,YAAA,qBAAOE,GAAA,CAACU,qBAAAA,EAAAA;AAAe,gBAAA,GAAGZ;;QAC5B,KAAK,MAAA;AACH,YAAA,qBAAOE,GAAA,CAACW,qBAAAA,EAAAA;AAAe,gBAAA,GAAGb;;QAC5B,KAAK,MAAA;AACH,YAAA,qBAAOE,GAAA,CAACY,iBAAAA,EAAAA;AAAW,gBAAA,GAAGd;;AACxB,QAAA;AAAS,YAAA;AACP,gBAAA,MAAMe,iBAAAA,GAAoBf,KAAAA;AAC1B,gBAAA,qBACEE,GAAA,CAACc,iBAAAA,EAAAA;AACCC,oBAAAA,KAAAA,EAAOF,kBAAkBE,KAAK;AAC9BC,oBAAAA,IAAAA,EAAMH,kBAAkBG,IAAI;AAC5BC,oBAAAA,IAAAA,EAAMJ,kBAAkBI,IAAI;AAC5BC,oBAAAA,QAAAA,EAAUL,kBAAkBK,QAAQ;AACpCnB,oBAAAA,IAAAA,EAAMc,kBAAkBd,IAAI;AAC5BoB,oBAAAA,WAAAA,EAAaN,kBAAkBM;;AAGrC,YAAA;AACF;AACF,CAAA,CAAA;AASA,MAAML,iBAAAA,GAAoB,CAAC,EACzBC,KAAK,EACLC,IAAI,EACJC,IAAI,EACJC,QAAQ,EACRnB,IAAI,EACJoB,WAAW,EACY,GAAA;AACvB,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGC,QAAAA,CAASJ,IAAAA,CAAAA;AAC3B,IAAA,MAAMK,WAAWC,kBAAAA,CAAqCN,IAAAA,CAAAA;IAEtD,qBACEO,IAAA,CAACC,MAAMC,IAAI,EAAA;QAACN,KAAAA,EAAOA,KAAAA;QAAOH,IAAAA,EAAMA,IAAAA;QAAMD,IAAAA,EAAMA,IAAAA;QAAME,QAAAA,EAAUA,QAAAA;;AAC1D,0BAAAlB,GAAA,CAACyB,MAAME,KAAK,EAAA;gBAACC,MAAAA,EAAQT,WAAAA;AAAcJ,gBAAAA,QAAAA,EAAAA;;0BACnCf,GAAA,CAAC6B,SAAAA,EAAAA;gBACCC,GAAAA,EAAKR,QAAAA;gBACLS,QAAQ,EAAA,IAAA;gBACRC,WAAAA,EAAa,CAAC,wBAAwB,EAAEjC,IAAAA,CAAAA,CAAM;gBAC9CmB,QAAAA,EAAUA,QAAAA;gBACVnB,IAAAA,EAAK,MAAA;gBACLkC,KAAAA,EAAM;;AAER,0BAAAjC,GAAA,CAACyB,MAAMS,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAlC,GAAA,CAACyB,MAAMU,KAAK,EAAA,EAAA;;;AAGlB,CAAA;AAEA,MAAMC,sCAAwBvC,IAAAA,CAAKD,aAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"String.js","sources":["../../../../../../admin/src/components/FormInputs/String.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { type InputProps, useField } from '../Form';\n\nconst StringInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <TextInput\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedStringInput = memo(StringInput);\n\nexport { MemoizedStringInput as StringInput };\n"],"names":["StringInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TextInput","onChange","value","type","Hint","Error","MemoizedStringInput","memo"],"mappings":";;;;;;;;AAOA,MAAMA,4BAAcC,gBAAAA,CAClB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,aAAAA,
|
|
1
|
+
{"version":3,"file":"String.js","sources":["../../../../../../admin/src/components/FormInputs/String.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { type InputProps, useField } from '../Form';\n\nconst StringInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField<string>(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <TextInput\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedStringInput = memo(StringInput);\n\nexport { MemoizedStringInput as StringInput };\n"],"names":["StringInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TextInput","onChange","value","type","Hint","Error","MemoizedStringInput","memo"],"mappings":";;;;;;;;AAOA,MAAMA,4BAAcC,gBAAAA,CAClB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,aAAAA,CAAiBR,IAAAA,CAAAA;AAC/B,IAAA,MAAMS,WAAWC,qCAAAA,CAAqCV,IAAAA,CAAAA;IAEtD,MAAMW,YAAAA,GAAeC,6BAAgBN,GAAAA,EAAKG,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAAA,EAAMA,IAAAA;QAAMG,IAAAA,EAAMA,IAAAA;QAAMF,QAAAA,EAAUA,QAAAA;;AAChE,0BAAAgB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAAA,EAAQf,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,cAAA,CAACG,sBAAAA,EAAAA;gBACCd,GAAAA,EAAKK,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAAA,EAAOf,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB,KAAK;gBACTkB,IAAAA,EAAK;;AAEP,0BAAAN,cAAA,CAACH,mBAAMU,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAP,cAAA,CAACH,mBAAMW,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,oCAAsBC,UAAAA,CAAK7B,WAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"String.mjs","sources":["../../../../../../admin/src/components/FormInputs/String.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { type InputProps, useField } from '../Form';\n\nconst StringInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <TextInput\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedStringInput = memo(StringInput);\n\nexport { MemoizedStringInput as StringInput };\n"],"names":["StringInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TextInput","onChange","value","type","Hint","Error","MemoizedStringInput","memo"],"mappings":";;;;;;AAOA,MAAMA,4BAAcC,UAAAA,CAClB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,QAAAA,
|
|
1
|
+
{"version":3,"file":"String.mjs","sources":["../../../../../../admin/src/components/FormInputs/String.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { type InputProps, useField } from '../Form';\n\nconst StringInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField<string>(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <TextInput\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedStringInput = memo(StringInput);\n\nexport { MemoizedStringInput as StringInput };\n"],"names":["StringInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TextInput","onChange","value","type","Hint","Error","MemoizedStringInput","memo"],"mappings":";;;;;;AAOA,MAAMA,4BAAcC,UAAAA,CAClB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,QAAAA,CAAiBR,IAAAA,CAAAA;AAC/B,IAAA,MAAMS,WAAWC,kBAAAA,CAAqCV,IAAAA,CAAAA;IAEtD,MAAMW,YAAAA,GAAeC,gBAAgBN,GAAAA,EAAKG,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAAA,EAAMA,IAAAA;QAAMG,IAAAA,EAAMA,IAAAA;QAAMF,QAAAA,EAAUA,QAAAA;;AAChE,0BAAAgB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAAA,EAAQf,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,GAAA,CAACG,SAAAA,EAAAA;gBACCd,GAAAA,EAAKK,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAAA,EAAOf,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB,KAAK;gBACTkB,IAAAA,EAAK;;AAEP,0BAAAN,GAAA,CAACH,MAAMU,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAP,GAAA,CAACH,MAAMW,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,oCAAsBC,IAAAA,CAAK7B,WAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sources":["../../../../../../admin/src/components/FormInputs/Textarea.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Textarea, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport type { StringProps } from './types';\n\nconst TextareaInput = forwardRef<HTMLTextAreaElement, StringProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLTextAreaElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTextareaInput = memo(TextareaInput);\n\nexport { MemoizedTextareaInput as TextareaInput };\n"],"names":["TextareaInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","Textarea","onChange","value","Hint","Error","MemoizedTextareaInput","memo"],"mappings":";;;;;;;;AASA,MAAMA,8BAAgBC,gBAAAA,CACpB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,aAAAA,
|
|
1
|
+
{"version":3,"file":"Textarea.js","sources":["../../../../../../admin/src/components/FormInputs/Textarea.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Textarea, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport type { StringProps } from './types';\n\nconst TextareaInput = forwardRef<HTMLTextAreaElement, StringProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField<string>(name);\n const fieldRef = useFocusInputField<HTMLTextAreaElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTextareaInput = memo(TextareaInput);\n\nexport { MemoizedTextareaInput as TextareaInput };\n"],"names":["TextareaInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","Textarea","onChange","value","Hint","Error","MemoizedTextareaInput","memo"],"mappings":";;;;;;;;AASA,MAAMA,8BAAgBC,gBAAAA,CACpB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,aAAAA,CAAiBR,IAAAA,CAAAA;AAC/B,IAAA,MAAMS,WAAWC,qCAAAA,CAAwCV,IAAAA,CAAAA;IAEzD,MAAMW,YAAAA,GAAeC,6BAAgBN,GAAAA,EAAKG,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAAA,EAAMA,IAAAA;QAAMG,IAAAA,EAAMA,IAAAA;QAAMF,QAAAA,EAAUA,QAAAA;;AAChE,0BAAAgB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAAA,EAAQf,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,cAAA,CAACG,qBAAAA,EAAAA;gBACCd,GAAAA,EAAKK,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAAA,EAAOf,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB;;AAEN,0BAAAY,cAAA,CAACH,mBAAMS,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAN,cAAA,CAACH,mBAAMU,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,sCAAwBC,UAAAA,CAAK5B,aAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.mjs","sources":["../../../../../../admin/src/components/FormInputs/Textarea.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Textarea, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport type { StringProps } from './types';\n\nconst TextareaInput = forwardRef<HTMLTextAreaElement, StringProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLTextAreaElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTextareaInput = memo(TextareaInput);\n\nexport { MemoizedTextareaInput as TextareaInput };\n"],"names":["TextareaInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","Textarea","onChange","value","Hint","Error","MemoizedTextareaInput","memo"],"mappings":";;;;;;AASA,MAAMA,8BAAgBC,UAAAA,CACpB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,QAAAA,
|
|
1
|
+
{"version":3,"file":"Textarea.mjs","sources":["../../../../../../admin/src/components/FormInputs/Textarea.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Textarea, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport type { StringProps } from './types';\n\nconst TextareaInput = forwardRef<HTMLTextAreaElement, StringProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField<string>(name);\n const fieldRef = useFocusInputField<HTMLTextAreaElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n ref={composedRefs}\n onChange={field.onChange}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTextareaInput = memo(TextareaInput);\n\nexport { MemoizedTextareaInput as TextareaInput };\n"],"names":["TextareaInput","forwardRef","name","required","label","hint","labelAction","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","Textarea","onChange","value","Hint","Error","MemoizedTextareaInput","memo"],"mappings":";;;;;;AASA,MAAMA,8BAAgBC,UAAAA,CACpB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,QAAAA,CAAiBR,IAAAA,CAAAA;AAC/B,IAAA,MAAMS,WAAWC,kBAAAA,CAAwCV,IAAAA,CAAAA;IAEzD,MAAMW,YAAAA,GAAeC,gBAAgBN,GAAAA,EAAKG,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAAA,EAAMA,IAAAA;QAAMG,IAAAA,EAAMA,IAAAA;QAAMF,QAAAA,EAAUA,QAAAA;;AAChE,0BAAAgB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAAA,EAAQf,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,GAAA,CAACG,QAAAA,EAAAA;gBACCd,GAAAA,EAAKK,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAAA,EAAOf,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB;;AAEN,0BAAAY,GAAA,CAACH,MAAMS,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAN,GAAA,CAACH,MAAMU,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,sCAAwBC,IAAAA,CAAK5B,aAAAA;;;;"}
|
|
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
6
|
var reactDnd = require('react-dnd');
|
|
7
|
-
var
|
|
7
|
+
var styledComponents = require('styled-components');
|
|
8
8
|
var widgetLayout = require('../utils/widgetLayout.js');
|
|
9
9
|
|
|
10
10
|
function _interopNamespace(e) {
|
|
@@ -240,7 +240,7 @@ const GapDropZoneManager = ({ filteredWidgets, columnWidths, draggedWidgetId, mo
|
|
|
240
240
|
targetRowIndex: gapDropZone.targetRowIndex
|
|
241
241
|
}, `gap-drop-zone-${gapDropZone.type}-${gapDropZone.insertIndex}-${gapDropZone.targetRowIndex ?? 'no-row'}`));
|
|
242
242
|
};
|
|
243
|
-
const GapDropZoneContainer =
|
|
243
|
+
const GapDropZoneContainer = styledComponents.styled(designSystem.Box)`
|
|
244
244
|
background-color: ${({ $isOver, theme })=>$isOver ? `${theme.colors.primary100}` : 'transparent'};
|
|
245
245
|
border: ${({ $isOver, theme })=>$isOver ? `2px solid ${theme.colors.primary500}` : '2px solid transparent'};
|
|
246
246
|
opacity: ${({ $isOver })=>$isOver ? 1 : 0.6};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GapDropZone.js","sources":["../../../../../admin/src/components/GapDropZone.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\n// TODO: use @dnd-kit/core instead\nimport { useDrop } from 'react-dnd';\nimport { styled } from 'styled-components';\n\nimport {\n calculateWidgetRows,\n type WidgetRow,\n getWidgetElement,\n getWidgetGridContainer,\n} from '../utils/widgetLayout';\n\nimport type { WidgetWithUID } from '../core/apis/Widgets';\n\nexport const DROP_ZONE_SIZE = 20;\n\nexport interface GapDropZonePosition {\n insertIndex: number;\n position: { left: number; top: number; height: number; width: number };\n isVisible: boolean;\n type: 'vertical' | 'horizontal';\n isHorizontalDrop?: boolean;\n targetRowIndex?: number;\n}\n\ninterface GapDropZoneManagerProps {\n filteredWidgets: WidgetWithUID[];\n columnWidths: Record<string, number>;\n draggedWidgetId?: string;\n moveWidget: (id: string, to: number, targetRowIndex?: number, isHorizontalDrop?: boolean) => void;\n}\n\nconst getRowInfo = (row: WidgetRow) => {\n const firstWidgetElement = getWidgetElement(row.widgets[0].uid);\n const lastWidgetElement = getWidgetElement(row.widgets[row.widgets.length - 1].uid);\n const containerElement = getWidgetGridContainer();\n\n if (!firstWidgetElement || !lastWidgetElement || !containerElement) {\n return null;\n }\n\n const firstRect = firstWidgetElement.getBoundingClientRect();\n const lastRect = lastWidgetElement.getBoundingClientRect();\n const containerRect = containerElement.getBoundingClientRect();\n\n return {\n firstWidgetElement,\n lastWidgetElement,\n containerElement,\n firstRect,\n lastRect,\n containerRect,\n rowHeight: Math.max(firstRect.height, lastRect.height),\n rowTop: firstRect.top - containerRect.top,\n };\n};\n\nexport const addVerticalDropZones = (\n row: WidgetRow,\n rowInfo: ReturnType<typeof getRowInfo>,\n rowIndex: number\n): GapDropZonePosition[] => {\n if (!rowInfo) return [];\n\n const { containerRect, rowTop, rowHeight } = rowInfo;\n const widgetCount = row.widgets.length;\n\n // Get widget positions relative to container\n const widgetPositions = row.widgets\n .map((widget) => {\n const element = getWidgetElement(widget.uid);\n if (!element) return null;\n\n const rect = element.getBoundingClientRect();\n return {\n left: rect.left - containerRect.left,\n width: rect.width,\n };\n })\n .filter((pos): pos is NonNullable<typeof pos> => pos !== null);\n\n if (widgetPositions.length !== widgetCount) return [];\n\n const gapDropZones: GapDropZonePosition[] = [];\n\n // Always add drop zone before the first widget\n gapDropZones.push({\n insertIndex: row.startIndex,\n position: {\n left: widgetPositions[0].left - DROP_ZONE_SIZE,\n top: rowTop,\n height: rowHeight,\n width: DROP_ZONE_SIZE,\n },\n isVisible: true,\n type: 'vertical',\n targetRowIndex: rowIndex,\n });\n\n // Add drop zones between widgets\n widgetPositions.slice(0, -1).forEach((currentWidget, i) => {\n gapDropZones.push({\n insertIndex: row.startIndex + i + 1,\n position: {\n left: currentWidget.left + currentWidget.width,\n top: rowTop,\n height: rowHeight,\n width: DROP_ZONE_SIZE,\n },\n isVisible: true,\n type: 'vertical',\n targetRowIndex: rowIndex,\n });\n });\n\n // Always add drop zone after the last widget\n const lastWidget = widgetPositions[widgetCount - 1];\n gapDropZones.push({\n insertIndex: row.endIndex + 1,\n position: {\n left: lastWidget.left + lastWidget.width,\n top: rowTop,\n height: rowHeight,\n width: DROP_ZONE_SIZE,\n },\n isVisible: true,\n type: 'vertical',\n targetRowIndex: rowIndex,\n });\n\n return gapDropZones;\n};\n\nexport const addHorizontalDropZones = (\n row: WidgetRow,\n rowIndex: number,\n rowInfo: ReturnType<typeof getRowInfo>,\n widgetRows: WidgetRow[],\n filteredWidgets: WidgetWithUID[]\n): GapDropZonePosition[] => {\n if (!rowInfo) return [];\n\n // Don't show horizontal drop zones if there's only one row with one widget\n if (widgetRows.length === 1 && row.widgets.length === 1) return [];\n\n const { containerRect } = rowInfo;\n const containerWidth = containerRect.width;\n const horizontalDropZoneHeight = DROP_ZONE_SIZE;\n\n const gapDropZones: GapDropZonePosition[] = [];\n\n // Add horizontal drop zone above the first row\n if (rowIndex === 0) {\n const firstRowRect = rowInfo.firstRect;\n const firstRowTop = firstRowRect.top - containerRect.top;\n\n gapDropZones.push({\n insertIndex: 0,\n position: {\n left: 0,\n top: firstRowTop - horizontalDropZoneHeight,\n height: horizontalDropZoneHeight,\n width: containerWidth,\n },\n isVisible: true,\n type: 'horizontal',\n isHorizontalDrop: true,\n });\n }\n\n // Add horizontal drop zone below the current row (between rows or after last row)\n if (rowIndex < widgetRows.length - 1) {\n // Between rows: position above the next row\n const nextRow = widgetRows[rowIndex + 1];\n const nextRowFirstWidgetElement = getWidgetElement(nextRow.widgets[0].uid);\n\n if (nextRowFirstWidgetElement) {\n const nextRowRect = nextRowFirstWidgetElement.getBoundingClientRect();\n const nextRowTop = nextRowRect.top - containerRect.top;\n\n gapDropZones.push({\n insertIndex: row.endIndex + 1,\n position: {\n left: 0,\n top: nextRowTop - horizontalDropZoneHeight,\n height: horizontalDropZoneHeight,\n width: containerWidth,\n },\n isVisible: true,\n type: 'horizontal',\n isHorizontalDrop: true,\n });\n }\n } else {\n // After the last row: position below the current row\n const lastRowRect = rowInfo.lastRect;\n const lastRowBottom = lastRowRect.bottom - containerRect.top;\n\n gapDropZones.push({\n insertIndex: filteredWidgets.length,\n position: {\n left: 0,\n top: lastRowBottom,\n height: horizontalDropZoneHeight,\n width: containerWidth,\n },\n isVisible: true,\n type: 'horizontal',\n isHorizontalDrop: true,\n });\n }\n\n return gapDropZones;\n};\n\nexport const GapDropZoneManager = ({\n filteredWidgets,\n columnWidths,\n draggedWidgetId,\n moveWidget,\n}: GapDropZoneManagerProps) => {\n const [positions, setPositions] = React.useState<GapDropZonePosition[]>([]);\n\n // Calculate widget rows\n const widgetRows = React.useMemo(() => {\n return calculateWidgetRows(filteredWidgets, columnWidths);\n }, [filteredWidgets, columnWidths]);\n\n // Main function to calculate GapDropZone positions\n const calculateGapDropZonePositions = React.useCallback(() => {\n const gapDropZones: GapDropZonePosition[] = [];\n\n // Find which row the dragged widget is from\n const draggedWidgetRow = draggedWidgetId\n ? widgetRows.find((row) => row.widgets.some((widget) => widget.uid === draggedWidgetId))\n : null;\n\n widgetRows.forEach((row, rowIndex) => {\n const rowInfo = getRowInfo(row);\n if (!rowInfo) return;\n\n const widgetCount = row.widgets.length;\n\n // Determine if we should show vertical drop zones for this row\n const isDraggingFromThisRow = draggedWidgetRow && draggedWidgetRow === row;\n const isDraggingFromAnotherRow = draggedWidgetRow && draggedWidgetRow !== row;\n const canAcceptMoreWidgets = widgetCount < 3;\n\n const shouldShowVerticalDropZones =\n isDraggingFromThisRow || (isDraggingFromAnotherRow && canAcceptMoreWidgets);\n\n // Add vertical drop zones based on widget count\n if (shouldShowVerticalDropZones) {\n const verticalDropZones = addVerticalDropZones(row, rowInfo, rowIndex);\n gapDropZones.push(...verticalDropZones);\n }\n\n // Add horizontal drop zones\n const horizontalDropZones = addHorizontalDropZones(\n row,\n rowIndex,\n rowInfo,\n widgetRows,\n filteredWidgets\n );\n gapDropZones.push(...horizontalDropZones);\n });\n\n return gapDropZones;\n }, [widgetRows, draggedWidgetId, filteredWidgets]);\n\n React.useLayoutEffect(() => {\n const updatePositions = () => {\n const newPositions = calculateGapDropZonePositions();\n setPositions(newPositions);\n };\n\n updatePositions();\n\n // Update positions on container resize using ResizeObserver\n const containerElement = getWidgetGridContainer();\n if (!containerElement) return;\n\n const resizeObserver = new ResizeObserver(() => {\n updatePositions();\n });\n\n resizeObserver.observe(containerElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [calculateGapDropZonePositions]);\n\n return positions.map((gapDropZone) => (\n <GapDropZone\n key={`gap-drop-zone-${gapDropZone.type}-${gapDropZone.insertIndex}-${gapDropZone.targetRowIndex ?? 'no-row'}`}\n insertIndex={gapDropZone.insertIndex}\n position={gapDropZone.position}\n isVisible={gapDropZone.isVisible}\n type={gapDropZone.type}\n moveWidget={moveWidget}\n targetRowIndex={gapDropZone.targetRowIndex}\n />\n ));\n};\n\ninterface GapDropZoneProps {\n insertIndex: number;\n position: { left: number; top: number; height: number; width: number };\n isVisible: boolean;\n type: 'vertical' | 'horizontal';\n moveWidget: (id: string, to: number, targetRowIndex?: number, isHorizontalDrop?: boolean) => void;\n targetRowIndex?: number;\n}\n\nconst GapDropZoneContainer = styled(Box)<{\n $isOver: boolean;\n}>`\n background-color: ${({ $isOver, theme }) =>\n $isOver ? `${theme.colors.primary100}` : 'transparent'};\n border: ${({ $isOver, theme }) =>\n $isOver ? `2px solid ${theme.colors.primary500}` : '2px solid transparent'};\n opacity: ${({ $isOver }) => ($isOver ? 1 : 0.6)};\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n border-radius: ${({ theme }) => theme.borderRadius};\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: ${DROP_ZONE_SIZE}px;\n z-index: 1;\n`;\n\nconst GapDropZone = ({\n insertIndex,\n position,\n isVisible,\n type,\n moveWidget,\n targetRowIndex,\n}: GapDropZoneProps) => {\n const isHorizontalDrop = type === 'horizontal';\n\n const [{ isOver }, drop] = useDrop(\n () => ({\n accept: 'widget',\n drop: (item: { id: string }) => {\n moveWidget(item.id, insertIndex, targetRowIndex, isHorizontalDrop);\n },\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n }),\n }),\n [insertIndex, isHorizontalDrop, moveWidget, targetRowIndex]\n );\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <GapDropZoneContainer\n ref={drop}\n $isOver={isOver}\n style={{\n transform: `translate(${position.left}px, ${position.top}px)`,\n height: `${position.height}px`,\n width: `${position.width}px`,\n }}\n />\n );\n};\n"],"names":["DROP_ZONE_SIZE","getRowInfo","row","firstWidgetElement","getWidgetElement","widgets","uid","lastWidgetElement","length","containerElement","getWidgetGridContainer","firstRect","getBoundingClientRect","lastRect","containerRect","rowHeight","Math","max","height","rowTop","top","addVerticalDropZones","rowInfo","rowIndex","widgetCount","widgetPositions","map","widget","element","rect","left","width","filter","pos","gapDropZones","push","insertIndex","startIndex","position","isVisible","type","targetRowIndex","slice","forEach","currentWidget","i","lastWidget","endIndex","addHorizontalDropZones","widgetRows","filteredWidgets","containerWidth","horizontalDropZoneHeight","firstRowRect","firstRowTop","isHorizontalDrop","nextRow","nextRowFirstWidgetElement","nextRowRect","nextRowTop","lastRowRect","lastRowBottom","bottom","GapDropZoneManager","columnWidths","draggedWidgetId","moveWidget","positions","setPositions","React","useState","useMemo","calculateWidgetRows","calculateGapDropZonePositions","useCallback","draggedWidgetRow","find","some","isDraggingFromThisRow","isDraggingFromAnotherRow","canAcceptMoreWidgets","shouldShowVerticalDropZones","verticalDropZones","horizontalDropZones","useLayoutEffect","updatePositions","newPositions","resizeObserver","ResizeObserver","observe","disconnect","gapDropZone","_jsx","GapDropZone","GapDropZoneContainer","styled","Box","$isOver","theme","colors","primary100","primary500","borderRadius","isOver","drop","useDrop","accept","item","id","collect","monitor","ref","style","transform"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GapDropZone.js","sources":["../../../../../admin/src/components/GapDropZone.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\n// TODO: use @dnd-kit/core instead\nimport { useDrop } from 'react-dnd';\nimport { styled } from 'styled-components';\n\nimport {\n calculateWidgetRows,\n type WidgetRow,\n getWidgetElement,\n getWidgetGridContainer,\n} from '../utils/widgetLayout';\n\nimport type { WidgetWithUID } from '../core/apis/Widgets';\n\nexport const DROP_ZONE_SIZE = 20;\n\nexport interface GapDropZonePosition {\n insertIndex: number;\n position: { left: number; top: number; height: number; width: number };\n isVisible: boolean;\n type: 'vertical' | 'horizontal';\n isHorizontalDrop?: boolean;\n targetRowIndex?: number;\n}\n\ninterface GapDropZoneManagerProps {\n filteredWidgets: WidgetWithUID[];\n columnWidths: Record<string, number>;\n draggedWidgetId?: string;\n moveWidget: (id: string, to: number, targetRowIndex?: number, isHorizontalDrop?: boolean) => void;\n}\n\nconst getRowInfo = (row: WidgetRow) => {\n const firstWidgetElement = getWidgetElement(row.widgets[0].uid);\n const lastWidgetElement = getWidgetElement(row.widgets[row.widgets.length - 1].uid);\n const containerElement = getWidgetGridContainer();\n\n if (!firstWidgetElement || !lastWidgetElement || !containerElement) {\n return null;\n }\n\n const firstRect = firstWidgetElement.getBoundingClientRect();\n const lastRect = lastWidgetElement.getBoundingClientRect();\n const containerRect = containerElement.getBoundingClientRect();\n\n return {\n firstWidgetElement,\n lastWidgetElement,\n containerElement,\n firstRect,\n lastRect,\n containerRect,\n rowHeight: Math.max(firstRect.height, lastRect.height),\n rowTop: firstRect.top - containerRect.top,\n };\n};\n\nexport const addVerticalDropZones = (\n row: WidgetRow,\n rowInfo: ReturnType<typeof getRowInfo>,\n rowIndex: number\n): GapDropZonePosition[] => {\n if (!rowInfo) return [];\n\n const { containerRect, rowTop, rowHeight } = rowInfo;\n const widgetCount = row.widgets.length;\n\n // Get widget positions relative to container\n const widgetPositions = row.widgets\n .map((widget) => {\n const element = getWidgetElement(widget.uid);\n if (!element) return null;\n\n const rect = element.getBoundingClientRect();\n return {\n left: rect.left - containerRect.left,\n width: rect.width,\n };\n })\n .filter((pos): pos is NonNullable<typeof pos> => pos !== null);\n\n if (widgetPositions.length !== widgetCount) return [];\n\n const gapDropZones: GapDropZonePosition[] = [];\n\n // Always add drop zone before the first widget\n gapDropZones.push({\n insertIndex: row.startIndex,\n position: {\n left: widgetPositions[0].left - DROP_ZONE_SIZE,\n top: rowTop,\n height: rowHeight,\n width: DROP_ZONE_SIZE,\n },\n isVisible: true,\n type: 'vertical',\n targetRowIndex: rowIndex,\n });\n\n // Add drop zones between widgets\n widgetPositions.slice(0, -1).forEach((currentWidget, i) => {\n gapDropZones.push({\n insertIndex: row.startIndex + i + 1,\n position: {\n left: currentWidget.left + currentWidget.width,\n top: rowTop,\n height: rowHeight,\n width: DROP_ZONE_SIZE,\n },\n isVisible: true,\n type: 'vertical',\n targetRowIndex: rowIndex,\n });\n });\n\n // Always add drop zone after the last widget\n const lastWidget = widgetPositions[widgetCount - 1];\n gapDropZones.push({\n insertIndex: row.endIndex + 1,\n position: {\n left: lastWidget.left + lastWidget.width,\n top: rowTop,\n height: rowHeight,\n width: DROP_ZONE_SIZE,\n },\n isVisible: true,\n type: 'vertical',\n targetRowIndex: rowIndex,\n });\n\n return gapDropZones;\n};\n\nexport const addHorizontalDropZones = (\n row: WidgetRow,\n rowIndex: number,\n rowInfo: ReturnType<typeof getRowInfo>,\n widgetRows: WidgetRow[],\n filteredWidgets: WidgetWithUID[]\n): GapDropZonePosition[] => {\n if (!rowInfo) return [];\n\n // Don't show horizontal drop zones if there's only one row with one widget\n if (widgetRows.length === 1 && row.widgets.length === 1) return [];\n\n const { containerRect } = rowInfo;\n const containerWidth = containerRect.width;\n const horizontalDropZoneHeight = DROP_ZONE_SIZE;\n\n const gapDropZones: GapDropZonePosition[] = [];\n\n // Add horizontal drop zone above the first row\n if (rowIndex === 0) {\n const firstRowRect = rowInfo.firstRect;\n const firstRowTop = firstRowRect.top - containerRect.top;\n\n gapDropZones.push({\n insertIndex: 0,\n position: {\n left: 0,\n top: firstRowTop - horizontalDropZoneHeight,\n height: horizontalDropZoneHeight,\n width: containerWidth,\n },\n isVisible: true,\n type: 'horizontal',\n isHorizontalDrop: true,\n });\n }\n\n // Add horizontal drop zone below the current row (between rows or after last row)\n if (rowIndex < widgetRows.length - 1) {\n // Between rows: position above the next row\n const nextRow = widgetRows[rowIndex + 1];\n const nextRowFirstWidgetElement = getWidgetElement(nextRow.widgets[0].uid);\n\n if (nextRowFirstWidgetElement) {\n const nextRowRect = nextRowFirstWidgetElement.getBoundingClientRect();\n const nextRowTop = nextRowRect.top - containerRect.top;\n\n gapDropZones.push({\n insertIndex: row.endIndex + 1,\n position: {\n left: 0,\n top: nextRowTop - horizontalDropZoneHeight,\n height: horizontalDropZoneHeight,\n width: containerWidth,\n },\n isVisible: true,\n type: 'horizontal',\n isHorizontalDrop: true,\n });\n }\n } else {\n // After the last row: position below the current row\n const lastRowRect = rowInfo.lastRect;\n const lastRowBottom = lastRowRect.bottom - containerRect.top;\n\n gapDropZones.push({\n insertIndex: filteredWidgets.length,\n position: {\n left: 0,\n top: lastRowBottom,\n height: horizontalDropZoneHeight,\n width: containerWidth,\n },\n isVisible: true,\n type: 'horizontal',\n isHorizontalDrop: true,\n });\n }\n\n return gapDropZones;\n};\n\nexport const GapDropZoneManager = ({\n filteredWidgets,\n columnWidths,\n draggedWidgetId,\n moveWidget,\n}: GapDropZoneManagerProps) => {\n const [positions, setPositions] = React.useState<GapDropZonePosition[]>([]);\n\n // Calculate widget rows\n const widgetRows = React.useMemo(() => {\n return calculateWidgetRows(filteredWidgets, columnWidths);\n }, [filteredWidgets, columnWidths]);\n\n // Main function to calculate GapDropZone positions\n const calculateGapDropZonePositions = React.useCallback(() => {\n const gapDropZones: GapDropZonePosition[] = [];\n\n // Find which row the dragged widget is from\n const draggedWidgetRow = draggedWidgetId\n ? widgetRows.find((row) => row.widgets.some((widget) => widget.uid === draggedWidgetId))\n : null;\n\n widgetRows.forEach((row, rowIndex) => {\n const rowInfo = getRowInfo(row);\n if (!rowInfo) return;\n\n const widgetCount = row.widgets.length;\n\n // Determine if we should show vertical drop zones for this row\n const isDraggingFromThisRow = draggedWidgetRow && draggedWidgetRow === row;\n const isDraggingFromAnotherRow = draggedWidgetRow && draggedWidgetRow !== row;\n const canAcceptMoreWidgets = widgetCount < 3;\n\n const shouldShowVerticalDropZones =\n isDraggingFromThisRow || (isDraggingFromAnotherRow && canAcceptMoreWidgets);\n\n // Add vertical drop zones based on widget count\n if (shouldShowVerticalDropZones) {\n const verticalDropZones = addVerticalDropZones(row, rowInfo, rowIndex);\n gapDropZones.push(...verticalDropZones);\n }\n\n // Add horizontal drop zones\n const horizontalDropZones = addHorizontalDropZones(\n row,\n rowIndex,\n rowInfo,\n widgetRows,\n filteredWidgets\n );\n gapDropZones.push(...horizontalDropZones);\n });\n\n return gapDropZones;\n }, [widgetRows, draggedWidgetId, filteredWidgets]);\n\n React.useLayoutEffect(() => {\n const updatePositions = () => {\n const newPositions = calculateGapDropZonePositions();\n setPositions(newPositions);\n };\n\n updatePositions();\n\n // Update positions on container resize using ResizeObserver\n const containerElement = getWidgetGridContainer();\n if (!containerElement) return;\n\n const resizeObserver = new ResizeObserver(() => {\n updatePositions();\n });\n\n resizeObserver.observe(containerElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [calculateGapDropZonePositions]);\n\n return positions.map((gapDropZone) => (\n <GapDropZone\n key={`gap-drop-zone-${gapDropZone.type}-${gapDropZone.insertIndex}-${gapDropZone.targetRowIndex ?? 'no-row'}`}\n insertIndex={gapDropZone.insertIndex}\n position={gapDropZone.position}\n isVisible={gapDropZone.isVisible}\n type={gapDropZone.type}\n moveWidget={moveWidget}\n targetRowIndex={gapDropZone.targetRowIndex}\n />\n ));\n};\n\ninterface GapDropZoneProps {\n insertIndex: number;\n position: { left: number; top: number; height: number; width: number };\n isVisible: boolean;\n type: 'vertical' | 'horizontal';\n moveWidget: (id: string, to: number, targetRowIndex?: number, isHorizontalDrop?: boolean) => void;\n targetRowIndex?: number;\n}\n\nconst GapDropZoneContainer = styled(Box)<{\n $isOver: boolean;\n}>`\n background-color: ${({ $isOver, theme }) =>\n $isOver ? `${theme.colors.primary100}` : 'transparent'};\n border: ${({ $isOver, theme }) =>\n $isOver ? `2px solid ${theme.colors.primary500}` : '2px solid transparent'};\n opacity: ${({ $isOver }) => ($isOver ? 1 : 0.6)};\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n border-radius: ${({ theme }) => theme.borderRadius};\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: ${DROP_ZONE_SIZE}px;\n z-index: 1;\n`;\n\nconst GapDropZone = ({\n insertIndex,\n position,\n isVisible,\n type,\n moveWidget,\n targetRowIndex,\n}: GapDropZoneProps) => {\n const isHorizontalDrop = type === 'horizontal';\n\n const [{ isOver }, drop] = useDrop(\n () => ({\n accept: 'widget',\n drop: (item: { id: string }) => {\n moveWidget(item.id, insertIndex, targetRowIndex, isHorizontalDrop);\n },\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n }),\n }),\n [insertIndex, isHorizontalDrop, moveWidget, targetRowIndex]\n );\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <GapDropZoneContainer\n ref={drop}\n $isOver={isOver}\n style={{\n transform: `translate(${position.left}px, ${position.top}px)`,\n height: `${position.height}px`,\n width: `${position.width}px`,\n }}\n />\n );\n};\n"],"names":["DROP_ZONE_SIZE","getRowInfo","row","firstWidgetElement","getWidgetElement","widgets","uid","lastWidgetElement","length","containerElement","getWidgetGridContainer","firstRect","getBoundingClientRect","lastRect","containerRect","rowHeight","Math","max","height","rowTop","top","addVerticalDropZones","rowInfo","rowIndex","widgetCount","widgetPositions","map","widget","element","rect","left","width","filter","pos","gapDropZones","push","insertIndex","startIndex","position","isVisible","type","targetRowIndex","slice","forEach","currentWidget","i","lastWidget","endIndex","addHorizontalDropZones","widgetRows","filteredWidgets","containerWidth","horizontalDropZoneHeight","firstRowRect","firstRowTop","isHorizontalDrop","nextRow","nextRowFirstWidgetElement","nextRowRect","nextRowTop","lastRowRect","lastRowBottom","bottom","GapDropZoneManager","columnWidths","draggedWidgetId","moveWidget","positions","setPositions","React","useState","useMemo","calculateWidgetRows","calculateGapDropZonePositions","useCallback","draggedWidgetRow","find","some","isDraggingFromThisRow","isDraggingFromAnotherRow","canAcceptMoreWidgets","shouldShowVerticalDropZones","verticalDropZones","horizontalDropZones","useLayoutEffect","updatePositions","newPositions","resizeObserver","ResizeObserver","observe","disconnect","gapDropZone","_jsx","GapDropZone","GapDropZoneContainer","styled","Box","$isOver","theme","colors","primary100","primary500","borderRadius","isOver","drop","useDrop","accept","item","id","collect","monitor","ref","style","transform"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAMA,iBAAiB;AAkB9B,MAAMC,aAAa,CAACC,GAAAA,GAAAA;AAClB,IAAA,MAAMC,qBAAqBC,6BAAAA,CAAiBF,GAAAA,CAAIG,OAAO,CAAC,CAAA,CAAE,CAACC,GAAG,CAAA;AAC9D,IAAA,MAAMC,iBAAAA,GAAoBH,6BAAAA,CAAiBF,GAAAA,CAAIG,OAAO,CAACH,GAAAA,CAAIG,OAAO,CAACG,MAAM,GAAG,CAAA,CAAE,CAACF,GAAG,CAAA;AAClF,IAAA,MAAMG,gBAAAA,GAAmBC,mCAAAA,EAAAA;AAEzB,IAAA,IAAI,CAACP,kBAAAA,IAAsB,CAACI,iBAAAA,IAAqB,CAACE,gBAAAA,EAAkB;QAClE,OAAO,IAAA;AACT,IAAA;IAEA,MAAME,SAAAA,GAAYR,mBAAmBS,qBAAqB,EAAA;IAC1D,MAAMC,QAAAA,GAAWN,kBAAkBK,qBAAqB,EAAA;IACxD,MAAME,aAAAA,GAAgBL,iBAAiBG,qBAAqB,EAAA;IAE5D,OAAO;AACLT,QAAAA,kBAAAA;AACAI,QAAAA,iBAAAA;AACAE,QAAAA,gBAAAA;AACAE,QAAAA,SAAAA;AACAE,QAAAA,QAAAA;AACAC,QAAAA,aAAAA;AACAC,QAAAA,SAAAA,EAAWC,KAAKC,GAAG,CAACN,UAAUO,MAAM,EAAEL,SAASK,MAAM,CAAA;AACrDC,QAAAA,MAAAA,EAAQR,SAAAA,CAAUS,GAAG,GAAGN,aAAAA,CAAcM;AACxC,KAAA;AACF,CAAA;AAEO,MAAMC,oBAAAA,GAAuB,CAClCnB,GAAAA,EACAoB,OAAAA,EACAC,QAAAA,GAAAA;IAEA,IAAI,CAACD,OAAAA,EAAS,OAAO,EAAE;AAEvB,IAAA,MAAM,EAAER,aAAa,EAAEK,MAAM,EAAEJ,SAAS,EAAE,GAAGO,OAAAA;AAC7C,IAAA,MAAME,WAAAA,GAActB,GAAAA,CAAIG,OAAO,CAACG,MAAM;;AAGtC,IAAA,MAAMiB,kBAAkBvB,GAAAA,CAAIG,OAAO,CAChCqB,GAAG,CAAC,CAACC,MAAAA,GAAAA;QACJ,MAAMC,OAAAA,GAAUxB,6BAAAA,CAAiBuB,MAAAA,CAAOrB,GAAG,CAAA;QAC3C,IAAI,CAACsB,SAAS,OAAO,IAAA;QAErB,MAAMC,IAAAA,GAAOD,QAAQhB,qBAAqB,EAAA;QAC1C,OAAO;AACLkB,YAAAA,IAAAA,EAAMD,IAAAA,CAAKC,IAAI,GAAGhB,aAAAA,CAAcgB,IAAI;AACpCC,YAAAA,KAAAA,EAAOF,KAAKE;AACd,SAAA;AACF,IAAA,CAAA,CAAA,CACCC,MAAM,CAAC,CAACC,GAAAA,GAAwCA,GAAAA,KAAQ,IAAA,CAAA;AAE3D,IAAA,IAAIR,eAAAA,CAAgBjB,MAAM,KAAKgB,WAAAA,EAAa,OAAO,EAAE;AAErD,IAAA,MAAMU,eAAsC,EAAE;;AAG9CA,IAAAA,YAAAA,CAAaC,IAAI,CAAC;AAChBC,QAAAA,WAAAA,EAAalC,IAAImC,UAAU;QAC3BC,QAAAA,EAAU;AACRR,YAAAA,IAAAA,EAAML,eAAe,CAAC,CAAA,CAAE,CAACK,IAAI,GAAG9B,cAAAA;YAChCoB,GAAAA,EAAKD,MAAAA;YACLD,MAAAA,EAAQH,SAAAA;YACRgB,KAAAA,EAAO/B;AACT,SAAA;QACAuC,SAAAA,EAAW,IAAA;QACXC,IAAAA,EAAM,UAAA;QACNC,cAAAA,EAAgBlB;AAClB,KAAA,CAAA;;IAGAE,eAAAA,CAAgBiB,KAAK,CAAC,CAAA,EAAG,IAAIC,OAAO,CAAC,CAACC,aAAAA,EAAeC,CAAAA,GAAAA;AACnDX,QAAAA,YAAAA,CAAaC,IAAI,CAAC;YAChBC,WAAAA,EAAalC,GAAAA,CAAImC,UAAU,GAAGQ,CAAAA,GAAI,CAAA;YAClCP,QAAAA,EAAU;AACRR,gBAAAA,IAAAA,EAAMc,aAAAA,CAAcd,IAAI,GAAGc,aAAAA,CAAcb,KAAK;gBAC9CX,GAAAA,EAAKD,MAAAA;gBACLD,MAAAA,EAAQH,SAAAA;gBACRgB,KAAAA,EAAO/B;AACT,aAAA;YACAuC,SAAAA,EAAW,IAAA;YACXC,IAAAA,EAAM,UAAA;YACNC,cAAAA,EAAgBlB;AAClB,SAAA,CAAA;AACF,IAAA,CAAA,CAAA;;AAGA,IAAA,MAAMuB,UAAAA,GAAarB,eAAe,CAACD,WAAAA,GAAc,CAAA,CAAE;AACnDU,IAAAA,YAAAA,CAAaC,IAAI,CAAC;QAChBC,WAAAA,EAAalC,GAAAA,CAAI6C,QAAQ,GAAG,CAAA;QAC5BT,QAAAA,EAAU;AACRR,YAAAA,IAAAA,EAAMgB,UAAAA,CAAWhB,IAAI,GAAGgB,UAAAA,CAAWf,KAAK;YACxCX,GAAAA,EAAKD,MAAAA;YACLD,MAAAA,EAAQH,SAAAA;YACRgB,KAAAA,EAAO/B;AACT,SAAA;QACAuC,SAAAA,EAAW,IAAA;QACXC,IAAAA,EAAM,UAAA;QACNC,cAAAA,EAAgBlB;AAClB,KAAA,CAAA;IAEA,OAAOW,YAAAA;AACT;MAEac,sBAAAA,GAAyB,CACpC9C,GAAAA,EACAqB,QAAAA,EACAD,SACA2B,UAAAA,EACAC,eAAAA,GAAAA;IAEA,IAAI,CAAC5B,OAAAA,EAAS,OAAO,EAAE;;IAGvB,IAAI2B,UAAAA,CAAWzC,MAAM,KAAK,CAAA,IAAKN,GAAAA,CAAIG,OAAO,CAACG,MAAM,KAAK,CAAA,EAAG,OAAO,EAAE;IAElE,MAAM,EAAEM,aAAa,EAAE,GAAGQ,OAAAA;IAC1B,MAAM6B,cAAAA,GAAiBrC,cAAciB,KAAK;AAC1C,IAAA,MAAMqB,wBAAAA,GAA2BpD,cAAAA;AAEjC,IAAA,MAAMkC,eAAsC,EAAE;;AAG9C,IAAA,IAAIX,aAAa,CAAA,EAAG;QAClB,MAAM8B,YAAAA,GAAe/B,QAAQX,SAAS;AACtC,QAAA,MAAM2C,WAAAA,GAAcD,YAAAA,CAAajC,GAAG,GAAGN,cAAcM,GAAG;AAExDc,QAAAA,YAAAA,CAAaC,IAAI,CAAC;YAChBC,WAAAA,EAAa,CAAA;YACbE,QAAAA,EAAU;gBACRR,IAAAA,EAAM,CAAA;AACNV,gBAAAA,GAAAA,EAAKkC,WAAAA,GAAcF,wBAAAA;gBACnBlC,MAAAA,EAAQkC,wBAAAA;gBACRrB,KAAAA,EAAOoB;AACT,aAAA;YACAZ,SAAAA,EAAW,IAAA;YACXC,IAAAA,EAAM,YAAA;YACNe,gBAAAA,EAAkB;AACpB,SAAA,CAAA;AACF,IAAA;;AAGA,IAAA,IAAIhC,QAAAA,GAAW0B,UAAAA,CAAWzC,MAAM,GAAG,CAAA,EAAG;;AAEpC,QAAA,MAAMgD,OAAAA,GAAUP,UAAU,CAAC1B,QAAAA,GAAW,CAAA,CAAE;AACxC,QAAA,MAAMkC,4BAA4BrD,6BAAAA,CAAiBoD,OAAAA,CAAQnD,OAAO,CAAC,CAAA,CAAE,CAACC,GAAG,CAAA;AAEzE,QAAA,IAAImD,yBAAAA,EAA2B;YAC7B,MAAMC,WAAAA,GAAcD,0BAA0B7C,qBAAqB,EAAA;AACnE,YAAA,MAAM+C,UAAAA,GAAaD,WAAAA,CAAYtC,GAAG,GAAGN,cAAcM,GAAG;AAEtDc,YAAAA,YAAAA,CAAaC,IAAI,CAAC;gBAChBC,WAAAA,EAAalC,GAAAA,CAAI6C,QAAQ,GAAG,CAAA;gBAC5BT,QAAAA,EAAU;oBACRR,IAAAA,EAAM,CAAA;AACNV,oBAAAA,GAAAA,EAAKuC,UAAAA,GAAaP,wBAAAA;oBAClBlC,MAAAA,EAAQkC,wBAAAA;oBACRrB,KAAAA,EAAOoB;AACT,iBAAA;gBACAZ,SAAAA,EAAW,IAAA;gBACXC,IAAAA,EAAM,YAAA;gBACNe,gBAAAA,EAAkB;AACpB,aAAA,CAAA;AACF,QAAA;IACF,CAAA,MAAO;;QAEL,MAAMK,WAAAA,GAActC,QAAQT,QAAQ;AACpC,QAAA,MAAMgD,aAAAA,GAAgBD,WAAAA,CAAYE,MAAM,GAAGhD,cAAcM,GAAG;AAE5Dc,QAAAA,YAAAA,CAAaC,IAAI,CAAC;AAChBC,YAAAA,WAAAA,EAAac,gBAAgB1C,MAAM;YACnC8B,QAAAA,EAAU;gBACRR,IAAAA,EAAM,CAAA;gBACNV,GAAAA,EAAKyC,aAAAA;gBACL3C,MAAAA,EAAQkC,wBAAAA;gBACRrB,KAAAA,EAAOoB;AACT,aAAA;YACAZ,SAAAA,EAAW,IAAA;YACXC,IAAAA,EAAM,YAAA;YACNe,gBAAAA,EAAkB;AACpB,SAAA,CAAA;AACF,IAAA;IAEA,OAAOrB,YAAAA;AACT;AAEO,MAAM6B,kBAAAA,GAAqB,CAAC,EACjCb,eAAe,EACfc,YAAY,EACZC,eAAe,EACfC,UAAU,EACc,GAAA;AACxB,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGC,gBAAAA,CAAMC,QAAQ,CAAwB,EAAE,CAAA;;IAG1E,MAAMrB,UAAAA,GAAaoB,gBAAAA,CAAME,OAAO,CAAC,IAAA;AAC/B,QAAA,OAAOC,iCAAoBtB,eAAAA,EAAiBc,YAAAA,CAAAA;IAC9C,CAAA,EAAG;AAACd,QAAAA,eAAAA;AAAiBc,QAAAA;AAAa,KAAA,CAAA;;IAGlC,MAAMS,6BAAAA,GAAgCJ,gBAAAA,CAAMK,WAAW,CAAC,IAAA;AACtD,QAAA,MAAMxC,eAAsC,EAAE;;AAG9C,QAAA,MAAMyC,mBAAmBV,eAAAA,GACrBhB,UAAAA,CAAW2B,IAAI,CAAC,CAAC1E,GAAAA,GAAQA,GAAAA,CAAIG,OAAO,CAACwE,IAAI,CAAC,CAAClD,SAAWA,MAAAA,CAAOrB,GAAG,KAAK2D,eAAAA,CAAAA,CAAAA,GACrE,IAAA;QAEJhB,UAAAA,CAAWN,OAAO,CAAC,CAACzC,GAAAA,EAAKqB,QAAAA,GAAAA;AACvB,YAAA,MAAMD,UAAUrB,UAAAA,CAAWC,GAAAA,CAAAA;AAC3B,YAAA,IAAI,CAACoB,OAAAA,EAAS;AAEd,YAAA,MAAME,WAAAA,GAActB,GAAAA,CAAIG,OAAO,CAACG,MAAM;;YAGtC,MAAMsE,qBAAAA,GAAwBH,oBAAoBA,gBAAAA,KAAqBzE,GAAAA;YACvE,MAAM6E,wBAAAA,GAA2BJ,oBAAoBA,gBAAAA,KAAqBzE,GAAAA;AAC1E,YAAA,MAAM8E,uBAAuBxD,WAAAA,GAAc,CAAA;YAE3C,MAAMyD,2BAAAA,GACJH,yBAA0BC,wBAAAA,IAA4BC,oBAAAA;;AAGxD,YAAA,IAAIC,2BAAAA,EAA6B;gBAC/B,MAAMC,iBAAAA,GAAoB7D,oBAAAA,CAAqBnB,GAAAA,EAAKoB,OAAAA,EAASC,QAAAA,CAAAA;AAC7DW,gBAAAA,YAAAA,CAAaC,IAAI,CAAA,GAAI+C,iBAAAA,CAAAA;AACvB,YAAA;;AAGA,YAAA,MAAMC,mBAAAA,GAAsBnC,sBAAAA,CAC1B9C,GAAAA,EACAqB,QAAAA,EACAD,SACA2B,UAAAA,EACAC,eAAAA,CAAAA;AAEFhB,YAAAA,YAAAA,CAAaC,IAAI,CAAA,GAAIgD,mBAAAA,CAAAA;AACvB,QAAA,CAAA,CAAA;QAEA,OAAOjD,YAAAA;IACT,CAAA,EAAG;AAACe,QAAAA,UAAAA;AAAYgB,QAAAA,eAAAA;AAAiBf,QAAAA;AAAgB,KAAA,CAAA;AAEjDmB,IAAAA,gBAAAA,CAAMe,eAAe,CAAC,IAAA;AACpB,QAAA,MAAMC,eAAAA,GAAkB,IAAA;AACtB,YAAA,MAAMC,YAAAA,GAAeb,6BAAAA,EAAAA;YACrBL,YAAAA,CAAakB,YAAAA,CAAAA;AACf,QAAA,CAAA;AAEAD,QAAAA,eAAAA,EAAAA;;AAGA,QAAA,MAAM5E,gBAAAA,GAAmBC,mCAAAA,EAAAA;AACzB,QAAA,IAAI,CAACD,gBAAAA,EAAkB;QAEvB,MAAM8E,cAAAA,GAAiB,IAAIC,cAAAA,CAAe,IAAA;AACxCH,YAAAA,eAAAA,EAAAA;AACF,QAAA,CAAA,CAAA;AAEAE,QAAAA,cAAAA,CAAeE,OAAO,CAAChF,gBAAAA,CAAAA;QAEvB,OAAO,IAAA;AACL8E,YAAAA,cAAAA,CAAeG,UAAU,EAAA;AAC3B,QAAA,CAAA;IACF,CAAA,EAAG;AAACjB,QAAAA;AAA8B,KAAA,CAAA;AAElC,IAAA,OAAON,SAAAA,CAAUzC,GAAG,CAAC,CAACiE,4BACpBC,cAAA,CAACC,WAAAA,EAAAA;AAECzD,YAAAA,WAAAA,EAAauD,YAAYvD,WAAW;AACpCE,YAAAA,QAAAA,EAAUqD,YAAYrD,QAAQ;AAC9BC,YAAAA,SAAAA,EAAWoD,YAAYpD,SAAS;AAChCC,YAAAA,IAAAA,EAAMmD,YAAYnD,IAAI;YACtB0B,UAAAA,EAAYA,UAAAA;AACZzB,YAAAA,cAAAA,EAAgBkD,YAAYlD;AANvB,SAAA,EAAA,CAAC,cAAc,EAAEkD,WAAAA,CAAYnD,IAAI,CAAC,CAAC,EAAEmD,WAAAA,CAAYvD,WAAW,CAAC,CAAC,EAAEuD,WAAAA,CAAYlD,cAAc,IAAI,QAAA,CAAA,CAAU,CAAA,CAAA;AASnH;AAWA,MAAMqD,oBAAAA,GAAuBC,uBAAAA,CAAOC,gBAAAA,CAElC;AACkB,oBAAA,EAAE,CAAC,EAAEC,OAAO,EAAEC,KAAK,EAAE,GACrCD,OAAAA,GAAU,CAAA,EAAGC,MAAMC,MAAM,CAACC,UAAU,CAAA,CAAE,GAAG,aAAA,CAAc;AACjD,UAAA,EAAE,CAAC,EAAEH,OAAO,EAAEC,KAAK,EAAE,GAC3BD,OAAAA,GAAU,CAAC,UAAU,EAAEC,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAA,CAAE,GAAG,uBAAA,CAAwB;AACpE,WAAA,EAAE,CAAC,EAAEJ,OAAO,EAAE,GAAMA,OAAAA,GAAU,IAAI,GAAA,CAAK;;;AAGjC,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;;;AAO5C,SAAA,EAAEtG,cAAAA,CAAe;;AAE1B,CAAC;AAED,MAAM6F,WAAAA,GAAc,CAAC,EACnBzD,WAAW,EACXE,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJ0B,UAAU,EACVzB,cAAc,EACG,GAAA;AACjB,IAAA,MAAMc,mBAAmBf,IAAAA,KAAS,YAAA;IAElC,MAAM,CAAC,EAAE+D,MAAM,EAAE,EAAEC,IAAAA,CAAK,GAAGC,gBAAAA,CACzB,KAAO;YACLC,MAAAA,EAAQ,QAAA;AACRF,YAAAA,IAAAA,EAAM,CAACG,IAAAA,GAAAA;AACLzC,gBAAAA,UAAAA,CAAWyC,IAAAA,CAAKC,EAAE,EAAExE,WAAAA,EAAaK,cAAAA,EAAgBc,gBAAAA,CAAAA;AACnD,YAAA,CAAA;YACAsD,OAAAA,EAAS,CAACC,WAAa;AACrBP,oBAAAA,MAAAA,EAAQO,QAAQP,MAAM;iBACxB;AACF,SAAA,CAAA,EACA;AAACnE,QAAAA,WAAAA;AAAamB,QAAAA,gBAAAA;AAAkBW,QAAAA,UAAAA;AAAYzB,QAAAA;AAAe,KAAA,CAAA;AAG7D,IAAA,IAAI,CAACF,SAAAA,EAAW;QACd,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEqD,cAAA,CAACE,oBAAAA,EAAAA;QACCiB,GAAAA,EAAKP,IAAAA;QACLP,OAAAA,EAASM,MAAAA;QACTS,KAAAA,EAAO;AACLC,YAAAA,SAAAA,EAAW,CAAC,UAAU,EAAE3E,QAAAA,CAASR,IAAI,CAAC,IAAI,EAAEQ,QAAAA,CAASlB,GAAG,CAAC,GAAG,CAAC;AAC7DF,YAAAA,MAAAA,EAAQ,CAAA,EAAGoB,QAAAA,CAASpB,MAAM,CAAC,EAAE,CAAC;AAC9Ba,YAAAA,KAAAA,EAAO,CAAA,EAAGO,QAAAA,CAASP,KAAK,CAAC,EAAE;AAC7B;;AAGN,CAAA;;;;;;;"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
5
|
var icons = require('@strapi/icons');
|
|
6
|
-
var
|
|
6
|
+
var styledComponents = require('styled-components');
|
|
7
7
|
|
|
8
|
-
const GradientBadge =
|
|
8
|
+
const GradientBadge = styledComponents.styled(designSystem.Badge)`
|
|
9
9
|
width: 100%;
|
|
10
10
|
background: linear-gradient(
|
|
11
11
|
90deg,
|
|
@@ -21,7 +21,7 @@ const GradientBadge = styled.styled(designSystem.Badge)`
|
|
|
21
21
|
padding: 0.4rem 1rem;
|
|
22
22
|
}
|
|
23
23
|
`;
|
|
24
|
-
const CustomText =
|
|
24
|
+
const CustomText = styledComponents.styled(designSystem.Typography)`
|
|
25
25
|
font-size: 1.2rem;
|
|
26
26
|
|
|
27
27
|
${({ theme })=>theme.breakpoints.small} {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GradientBadge.js","sources":["../../../../../admin/src/components/GradientBadge.tsx"],"sourcesContent":["import { Badge, Flex, Typography } from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { styled } from 'styled-components';\n\nconst GradientBadge = styled(Badge)`\n width: 100%;\n background: linear-gradient(\n 90deg,\n ${({ theme }) => theme.colors.primary600} 0%,\n ${({ theme }) => theme.colors.alternative600} 121.48%\n );\n padding: 1.1rem 1rem;\n\n ${({ theme }) => theme.breakpoints.small} {\n padding: 1.2rem 1rem;\n }\n ${({ theme }) => theme.breakpoints.medium} {\n padding: 0.4rem 1rem;\n }\n`;\n\nconst CustomText = styled(Typography)`\n font-size: 1.2rem;\n\n ${({ theme }) => theme.breakpoints.small} {\n font-size: 1.4rem;\n line-height: 1.6rem;\n }\n`;\n\nconst GradientBadgeWithIcon = ({ label }: { label: string }) => {\n return (\n <GradientBadge>\n <Flex gap={1} alignItems=\"center\">\n <Lightning width={16} height={16} fill=\"neutral0\" />\n <CustomText textColor=\"neutral0\">{label}</CustomText>\n </Flex>\n </GradientBadge>\n );\n};\n\nexport { GradientBadgeWithIcon as GradientBadge };\n"],"names":["GradientBadge","styled","Badge","theme","colors","primary600","alternative600","breakpoints","small","medium","CustomText","Typography","GradientBadgeWithIcon","label","_jsx","_jsxs","Flex","gap","alignItems","Lightning","width","height","fill","textColor"],"mappings":";;;;;;;AAIA,MAAMA,aAAAA,GAAgBC,
|
|
1
|
+
{"version":3,"file":"GradientBadge.js","sources":["../../../../../admin/src/components/GradientBadge.tsx"],"sourcesContent":["import { Badge, Flex, Typography } from '@strapi/design-system';\nimport { Lightning } from '@strapi/icons';\nimport { styled } from 'styled-components';\n\nconst GradientBadge = styled(Badge)`\n width: 100%;\n background: linear-gradient(\n 90deg,\n ${({ theme }) => theme.colors.primary600} 0%,\n ${({ theme }) => theme.colors.alternative600} 121.48%\n );\n padding: 1.1rem 1rem;\n\n ${({ theme }) => theme.breakpoints.small} {\n padding: 1.2rem 1rem;\n }\n ${({ theme }) => theme.breakpoints.medium} {\n padding: 0.4rem 1rem;\n }\n`;\n\nconst CustomText = styled(Typography)`\n font-size: 1.2rem;\n\n ${({ theme }) => theme.breakpoints.small} {\n font-size: 1.4rem;\n line-height: 1.6rem;\n }\n`;\n\nconst GradientBadgeWithIcon = ({ label }: { label: string }) => {\n return (\n <GradientBadge>\n <Flex gap={1} alignItems=\"center\">\n <Lightning width={16} height={16} fill=\"neutral0\" />\n <CustomText textColor=\"neutral0\">{label}</CustomText>\n </Flex>\n </GradientBadge>\n );\n};\n\nexport { GradientBadgeWithIcon as GradientBadge };\n"],"names":["GradientBadge","styled","Badge","theme","colors","primary600","alternative600","breakpoints","small","medium","CustomText","Typography","GradientBadgeWithIcon","label","_jsx","_jsxs","Flex","gap","alignItems","Lightning","width","height","fill","textColor"],"mappings":";;;;;;;AAIA,MAAMA,aAAAA,GAAgBC,uBAAAA,CAAOC,kBAAAA,CAAM;;;;IAI/B,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;IACzC,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,cAAc,CAAC;;;;EAI/C,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,WAAW,CAACC,KAAK,CAAC;;;EAGzC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMI,WAAW,CAACE,MAAM,CAAC;;;AAG5C,CAAC;AAED,MAAMC,UAAAA,GAAaT,uBAAAA,CAAOU,uBAAAA,CAAW;;;EAGnC,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMI,WAAW,CAACC,KAAK,CAAC;;;;AAI3C,CAAC;AAED,MAAMI,qBAAAA,GAAwB,CAAC,EAAEC,KAAK,EAAqB,GAAA;AACzD,IAAA,qBACEC,cAAA,CAACd,aAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAe,eAAA,CAACC,iBAAAA,EAAAA;YAAKC,GAAAA,EAAK,CAAA;YAAGC,UAAAA,EAAW,QAAA;;8BACvBJ,cAAA,CAACK,eAAAA,EAAAA;oBAAUC,KAAAA,EAAO,EAAA;oBAAIC,MAAAA,EAAQ,EAAA;oBAAIC,IAAAA,EAAK;;8BACvCR,cAAA,CAACJ,UAAAA,EAAAA;oBAAWa,SAAAA,EAAU,UAAA;AAAYV,oBAAAA,QAAAA,EAAAA;;;;;AAI1C;;;;"}
|