@strapi/admin 5.29.0 → 5.30.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/StrapiApp.js.map +1 -1
- package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.mjs.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/Filters.js +1 -1
- package/dist/admin/admin/src/components/Filters.js.map +1 -1
- package/dist/admin/admin/src/components/Filters.mjs +1 -1
- package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
- package/dist/admin/admin/src/components/Form.js +8 -3
- package/dist/admin/admin/src/components/Form.js.map +1 -1
- package/dist/admin/admin/src/components/Form.mjs +8 -3
- package/dist/admin/admin/src/components/Form.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.js +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.mjs +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.js +2 -1
- package/dist/admin/admin/src/components/FormInputs/String.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/String.mjs +2 -1
- package/dist/admin/admin/src/components/FormInputs/String.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Time.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Time.mjs.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
- 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/Layouts/GridLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/GridLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +8 -4
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +8 -4
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +5 -3
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs +5 -3
- package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
- package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
- package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
- package/dist/admin/admin/src/components/PrivateRoute.js.map +1 -1
- package/dist/admin/admin/src/components/PrivateRoute.mjs.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.mjs.map +1 -1
- package/dist/admin/admin/src/components/Table.js +1 -1
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Table.mjs +1 -1
- package/dist/admin/admin/src/components/Table.mjs.map +1 -1
- package/dist/admin/admin/src/components/Theme.js +34 -1
- package/dist/admin/admin/src/components/Theme.js.map +1 -1
- package/dist/admin/admin/src/components/Theme.mjs +34 -1
- package/dist/admin/admin/src/components/Theme.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/CustomFields.js.map +1 -1
- package/dist/admin/admin/src/core/apis/CustomFields.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.js +0 -1
- package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs +0 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/rbac.js.map +1 -1
- package/dist/admin/admin/src/core/apis/rbac.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/router.js.map +1 -1
- package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
- package/dist/admin/admin/src/features/BackButton.js.map +1 -1
- package/dist/admin/admin/src/features/BackButton.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -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/usePersistentState.js.map +1 -1
- package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.js.map +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Login.js +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Login.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Login.mjs +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Login.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js +2 -2
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs +2 -2
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs.map +1 -1
- 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 +8 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.js +1 -0
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
- 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/components/CollapsableContentType.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +10 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +10 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.js +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.mjs +2 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -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 +3 -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/MagicLinkCE.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +1 -1
- 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 +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.js +1 -0
- package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.mjs +1 -0
- package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
- package/dist/admin/admin/src/services/api.js +2 -1
- package/dist/admin/admin/src/services/api.js.map +1 -1
- package/dist/admin/admin/src/services/api.mjs +2 -1
- package/dist/admin/admin/src/services/api.mjs.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
- package/dist/admin/admin/src/services/transferTokens.js.map +1 -1
- package/dist/admin/admin/src/services/transferTokens.mjs.map +1 -1
- package/dist/admin/admin/src/services/users.js.map +1 -1
- package/dist/admin/admin/src/services/users.mjs.map +1 -1
- package/dist/admin/admin/src/services/webhooks.js.map +1 -1
- package/dist/admin/admin/src/services/webhooks.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +4 -0
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +4 -0
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/utils/cookies.js.map +1 -1
- package/dist/admin/admin/src/utils/cookies.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/getPrefixedId.js.map +1 -1
- package/dist/admin/admin/src/utils/getPrefixedId.mjs.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
- package/dist/admin/admin/src/utils/urls.js.map +1 -1
- package/dist/admin/admin/src/utils/urls.mjs.map +1 -1
- package/dist/admin/admin/src/utils/users.js.map +1 -1
- package/dist/admin/admin/src/utils/users.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthResponse.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthResponse.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
- 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/AuditLogs/components/Modal.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.mjs.map +1 -1
- package/dist/admin/ee/admin/src/services/ai.js +14 -1
- package/dist/admin/ee/admin/src/services/ai.js.map +1 -1
- package/dist/admin/ee/admin/src/services/ai.mjs +14 -2
- package/dist/admin/ee/admin/src/services/ai.mjs.map +1 -1
- package/dist/admin/ee/admin/src/services/auditLogs.js.map +1 -1
- package/dist/admin/ee/admin/src/services/auditLogs.mjs.map +1 -1
- package/dist/admin/ee.js +1 -0
- package/dist/admin/ee.js.map +1 -1
- package/dist/admin/ee.mjs +1 -1
- package/dist/admin/src/components/Form.d.ts +1 -1
- package/dist/admin/src/core/store/configure.d.ts +2 -2
- package/dist/admin/src/core/store/hooks.d.ts +2 -2
- package/dist/admin/src/ee.d.ts +1 -1
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/selectors.d.ts +2 -2
- package/dist/admin/src/services/admin.d.ts +6 -6
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +1 -1
- package/dist/admin/src/services/auth.d.ts +13 -13
- 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/tests/utils.d.ts +1 -1
- package/dist/ee/admin/src/services/ai.d.ts +6 -3
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/server/src/ai/containers/ai.d.ts +11 -0
- package/dist/ee/server/src/ai/containers/ai.d.ts.map +1 -0
- package/dist/ee/server/src/ai/controllers/ai.d.ts +1 -0
- package/dist/ee/server/src/ai/controllers/ai.d.ts.map +1 -1
- package/dist/ee/server/src/ai/routes/ai.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +1 -0
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/server/ee/server/src/ai/containers/ai.js +18 -0
- package/dist/server/ee/server/src/ai/containers/ai.js.map +1 -0
- package/dist/server/ee/server/src/ai/containers/ai.mjs +16 -0
- package/dist/server/ee/server/src/ai/containers/ai.mjs.map +1 -0
- package/dist/server/ee/server/src/ai/controllers/ai.js +6 -0
- package/dist/server/ee/server/src/ai/controllers/ai.js.map +1 -1
- package/dist/server/ee/server/src/ai/controllers/ai.mjs +6 -0
- package/dist/server/ee/server/src/ai/controllers/ai.mjs.map +1 -1
- package/dist/server/ee/server/src/ai/routes/ai.js +11 -0
- package/dist/server/ee/server/src/ai/routes/ai.js.map +1 -1
- package/dist/server/ee/server/src/ai/routes/ai.mjs +11 -0
- package/dist/server/ee/server/src/ai/routes/ai.mjs.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/constants.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/constants.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/user.js.map +1 -1
- package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/ee/server/src/index.js +7 -0
- package/dist/server/ee/server/src/index.js.map +1 -1
- package/dist/server/ee/server/src/index.mjs +7 -0
- package/dist/server/ee/server/src/index.mjs.map +1 -1
- package/dist/server/ee/server/src/services/auth.js.map +1 -1
- package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
- package/dist/server/ee/server/src/services/passport/sso.js.map +1 -1
- package/dist/server/ee/server/src/services/passport/sso.mjs.map +1 -1
- package/dist/server/ee/server/src/utils/index.js.map +1 -1
- package/dist/server/ee/server/src/utils/index.mjs.map +1 -1
- package/dist/server/server/src/controllers/transfer/index.js.map +1 -1
- package/dist/server/server/src/controllers/transfer/index.mjs.map +1 -1
- package/dist/server/server/src/controllers/user.js +10 -0
- package/dist/server/server/src/controllers/user.js.map +1 -1
- package/dist/server/server/src/controllers/user.mjs +10 -0
- package/dist/server/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/server/src/domain/action/index.js.map +1 -1
- package/dist/server/server/src/domain/action/index.mjs.map +1 -1
- package/dist/server/server/src/domain/condition/index.js.map +1 -1
- package/dist/server/server/src/domain/condition/index.mjs.map +1 -1
- package/dist/server/server/src/domain/permission/index.js.map +1 -1
- package/dist/server/server/src/domain/permission/index.mjs.map +1 -1
- package/dist/server/server/src/middlewares/rateLimit.js.map +1 -1
- package/dist/server/server/src/middlewares/rateLimit.mjs.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
- package/dist/server/server/src/services/api-token.js.map +1 -1
- package/dist/server/server/src/services/api-token.mjs.map +1 -1
- package/dist/server/server/src/services/auth.js.map +1 -1
- package/dist/server/server/src/services/auth.mjs.map +1 -1
- package/dist/server/server/src/services/content-type.js.map +1 -1
- package/dist/server/server/src/services/content-type.mjs.map +1 -1
- package/dist/server/server/src/services/encryption.js.map +1 -1
- package/dist/server/server/src/services/encryption.mjs.map +1 -1
- package/dist/server/server/src/services/homepage.js.map +1 -1
- package/dist/server/server/src/services/homepage.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.mjs.map +1 -1
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/role.mjs.map +1 -1
- package/dist/server/server/src/services/transfer/token.js.map +1 -1
- package/dist/server/server/src/services/transfer/token.mjs.map +1 -1
- package/dist/server/server/src/services/user.js +30 -0
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +30 -0
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/server/src/utils/index.js.map +1 -1
- package/dist/server/server/src/utils/index.mjs.map +1 -1
- package/dist/server/server/src/validation/action-provider.js.map +1 -1
- package/dist/server/server/src/validation/action-provider.mjs.map +1 -1
- package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -1
- package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.mjs.map +1 -1
- package/dist/server/server/src/validation/common-validators.js.map +1 -1
- package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
- package/dist/server/src/controllers/user.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/shared/contracts/ai.d.ts +16 -0
- package/dist/shared/contracts/ai.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.mjs","sources":["../../../../../admin/src/components/Form.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n type BoxProps,\n Button,\n Dialog,\n useCallbackRef,\n useComposedRefs,\n} from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { generateNKeysBetween } from 'fractional-indexing';\nimport { produce } from 'immer';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl, type MessageDescriptor, type PrimitiveType } from 'react-intl';\nimport { useBlocker } from 'react-router-dom';\n\nimport { getIn, setIn } from '../utils/objects';\n\nimport { createContext } from './Context';\n\nimport type {\n InputProps as InputPropsImpl,\n StringProps,\n EnumerationProps,\n} from './FormInputs/types';\nimport type * as Yup from 'yup';\n\n/* -------------------------------------------------------------------------------------------------\n * FormContext\n * -----------------------------------------------------------------------------------------------*/\ntype InputProps = InputPropsImpl | StringProps | EnumerationProps;\n\ninterface TranslationMessage extends MessageDescriptor {\n values?: Record<string, PrimitiveType>;\n}\n\ninterface FormValues {\n [field: string]: any;\n}\n\ninterface FormContextValue<TFormValues extends FormValues = FormValues>\n extends FormState<TFormValues> {\n disabled: boolean;\n initialValues: TFormValues;\n modified: boolean;\n /**\n * The default behaviour is to add the row to the end of the array, if you want to add it to a\n * specific index you can pass the index.\n */\n addFieldRow: (field: string, value: any, addAtIndex?: number) => void;\n moveFieldRow: (field: string, fromIndex: number, toIndex: number) => void;\n onChange: (eventOrPath: React.ChangeEvent<any> | string, value?: any) => void;\n /*\n * The default behaviour is to remove the last row, if you want to remove a specific index you can\n * pass the index.\n */\n removeFieldRow: (field: string, removeAtIndex?: number) => void;\n resetForm: () => void;\n setErrors: (errors: FormErrors<TFormValues>) => void;\n setSubmitting: (isSubmitting: boolean) => void;\n setValues: (values: TFormValues) => void;\n validate: (\n shouldSetErrors?: boolean,\n options?: Record<string, string>\n ) => Promise<\n { data: TFormValues; errors?: never } | { data?: never; errors: FormErrors<TFormValues> }\n >;\n}\n\n/**\n * @internal\n * @description We use this just to warn people that they're using the useForm\n * methods outside of a Form component, but we don't want to throw an error\n * because otherwise the DocumentActions list cannot be rendered in our list-view.\n */\nconst ERR_MSG =\n 'The Form Component has not been initialised, ensure you are using this hook within a Form component';\n\nconst [FormProvider, useForm] = createContext<FormContextValue>('Form', {\n disabled: false,\n errors: {},\n initialValues: {},\n isSubmitting: false,\n modified: false,\n addFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n moveFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n onChange: () => {\n throw new Error(ERR_MSG);\n },\n removeFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n resetForm: () => {\n throw new Error(ERR_MSG);\n },\n setErrors: () => {\n throw new Error(ERR_MSG);\n },\n setValues: () => {\n throw new Error(ERR_MSG);\n },\n setSubmitting: () => {\n throw new Error(ERR_MSG);\n },\n validate: async () => {\n throw new Error(ERR_MSG);\n },\n values: {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Form\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormHelpers<TFormValues extends FormValues = FormValues>\n extends Pick<FormContextValue<TFormValues>, 'setErrors' | 'setValues' | 'resetForm'> {}\n\ninterface FormProps<TFormValues extends FormValues = FormValues>\n extends Partial<Pick<FormContextValue<TFormValues>, 'disabled' | 'initialValues'>>,\n Pick<BoxProps, 'width' | 'height'> {\n children:\n | React.ReactNode\n | ((\n props: Pick<\n FormContextValue<TFormValues>,\n | 'disabled'\n | 'errors'\n | 'isSubmitting'\n | 'modified'\n | 'values'\n | 'resetForm'\n | 'onChange'\n | 'setErrors'\n >\n ) => React.ReactNode);\n method: 'POST' | 'PUT';\n onSubmit?: (values: TFormValues, helpers: FormHelpers<TFormValues>) => Promise<void> | void;\n // TODO: type the return value for a validation schema func from Yup.\n validationSchema?: Yup.AnySchema;\n initialErrors?: FormErrors<TFormValues>;\n // NOTE: we don't know what return type it can be here\n validate?: (values: TFormValues, options: Record<string, string>) => Promise<any>;\n}\n\n/**\n * @alpha\n * @description A form component that handles form state, validation and submission.\n * It can additionally handle nested fields and arrays. To access the data you can either\n * use the generic useForm hook or the useField hook when providing the name of your field.\n */\nconst Form = React.forwardRef<HTMLFormElement, FormProps>(\n ({ disabled = false, method, onSubmit, initialErrors, ...props }, ref) => {\n const formRef = React.useRef<HTMLFormElement>(null!);\n const initialValues = React.useRef(props.initialValues ?? {});\n const [state, dispatch] = React.useReducer(reducer, {\n errors: initialErrors ?? {},\n isSubmitting: false,\n values: props.initialValues ?? {},\n });\n\n React.useEffect(() => {\n /**\n * ONLY update the initialValues if the prop has changed.\n */\n if (!isEqual(initialValues.current, props.initialValues)) {\n initialValues.current = props.initialValues ?? {};\n\n dispatch({\n type: 'SET_INITIAL_VALUES',\n payload: props.initialValues ?? {},\n });\n }\n }, [props.initialValues]);\n\n const setErrors = React.useCallback((errors: FormErrors) => {\n dispatch({\n type: 'SET_ERRORS',\n payload: errors,\n });\n }, []);\n\n const setValues = React.useCallback((values: FormValues) => {\n dispatch({\n type: 'SET_VALUES',\n payload: values,\n });\n }, []);\n\n React.useEffect(() => {\n if (Object.keys(state.errors).length === 0) return;\n\n /**\n * Small timeout to ensure the form has been\n * rendered before we try to focus on the first\n */\n const ref = setTimeout(() => {\n const [firstError] = formRef.current.querySelectorAll('[data-strapi-field-error]');\n\n if (firstError) {\n const errorId = firstError.getAttribute('id');\n const formElementInError = formRef.current.querySelector(\n `[aria-describedby=\"${errorId}\"]`\n );\n\n if (formElementInError && formElementInError instanceof HTMLElement) {\n formElementInError.focus();\n }\n }\n });\n\n return () => clearTimeout(ref);\n }, [state.errors]);\n\n /**\n * Uses the provided validation schema\n */\n const validate = React.useCallback(\n async (shouldSetErrors: boolean = true, options: Record<string, string> = {}) => {\n setErrors({});\n\n if (!props.validationSchema && !props.validate) {\n return { data: state.values };\n }\n\n try {\n let data;\n if (props.validationSchema) {\n data = await props.validationSchema.validate(state.values, { abortEarly: false });\n } else if (props.validate) {\n data = await props.validate(state.values, options);\n } else {\n throw new Error('No validation schema or validate function provided');\n }\n\n return { data };\n } catch (err) {\n if (isErrorYupValidationError(err)) {\n const errors = getYupValidationErrors(err);\n\n if (shouldSetErrors) {\n setErrors(errors);\n }\n\n return { errors };\n } else {\n // We throw any other errors\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: An unhandled error was caught during validation in <Form validationSchema />`,\n err\n );\n }\n\n throw err;\n }\n }\n },\n [props, setErrors, state.values]\n );\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (e) => {\n e.stopPropagation();\n e.preventDefault();\n\n if (!onSubmit) {\n return;\n }\n\n dispatch({\n type: 'SUBMIT_ATTEMPT',\n });\n\n try {\n const { data, errors } = await validate();\n\n if (errors) {\n setErrors(errors);\n\n throw new Error('Submission failed');\n }\n\n await onSubmit(data, {\n setErrors,\n setValues,\n resetForm,\n });\n\n dispatch({\n type: 'SUBMIT_SUCCESS',\n });\n } catch (err) {\n dispatch({\n type: 'SUBMIT_FAILURE',\n });\n\n if (err instanceof Error && err.message === 'Submission failed') {\n return;\n }\n }\n };\n\n const modified = React.useMemo(\n () => !isEqual(initialValues.current, state.values),\n [state.values]\n );\n\n const handleChange: FormContextValue['onChange'] = useCallbackRef((eventOrPath, v) => {\n if (typeof eventOrPath === 'string') {\n dispatch({\n type: 'SET_FIELD_VALUE',\n payload: {\n field: eventOrPath,\n value: v,\n },\n });\n\n return;\n }\n\n const target = eventOrPath.target || eventOrPath.currentTarget;\n\n const { type, name, id, value, options, multiple } = target;\n\n const field = name || id;\n\n if (!field && process.env.NODE_ENV !== 'production') {\n console.warn(\n `\\`onChange\\` was called with an event, but you forgot to pass a \\`name\\` or \\`id'\\` attribute to your input. The field to update cannot be determined`\n );\n }\n\n /**\n * Because we handle any field from this function, we run through a series\n * of checks to understand how to use the value.\n */\n let val;\n\n if (/number|range/.test(type)) {\n const parsed = parseFloat(value);\n // If the value isn't a number for whatever reason, don't let it through because that will break the API.\n val = isNaN(parsed) ? '' : parsed;\n } else if (/checkbox/.test(type)) {\n // Get & invert the current value of the checkbox.\n val = !getIn(state.values, field);\n } else if (options && multiple) {\n // This will handle native select elements incl. ones with mulitple options.\n val = Array.from<HTMLOptionElement>(options)\n .filter((el) => el.selected)\n .map((el) => el.value);\n } else {\n // NOTE: reset value to null so it failes required checks.\n // The API only considers a required field invalid if the value is null|undefined, to differentiate from min 1\n if (value === '') {\n val = null;\n } else {\n val = value;\n }\n }\n\n if (field) {\n dispatch({\n type: 'SET_FIELD_VALUE',\n payload: {\n field,\n value: val,\n },\n });\n }\n });\n\n const addFieldRow: FormContextValue['addFieldRow'] = React.useCallback(\n (field, value, addAtIndex) => {\n dispatch({\n type: 'ADD_FIELD_ROW',\n payload: {\n field,\n value,\n addAtIndex,\n },\n });\n },\n []\n );\n\n const removeFieldRow: FormContextValue['removeFieldRow'] = React.useCallback(\n (field, removeAtIndex) => {\n dispatch({\n type: 'REMOVE_FIELD_ROW',\n payload: {\n field,\n removeAtIndex,\n },\n });\n },\n []\n );\n\n const moveFieldRow: FormContextValue['moveFieldRow'] = React.useCallback(\n (field, fromIndex, toIndex) => {\n dispatch({\n type: 'MOVE_FIELD_ROW',\n payload: {\n field,\n fromIndex,\n toIndex,\n },\n });\n },\n []\n );\n\n const resetForm: FormContextValue['resetForm'] = React.useCallback(() => {\n dispatch({\n type: 'RESET_FORM',\n payload: {\n errors: {},\n isSubmitting: false,\n values: initialValues.current,\n },\n });\n }, []);\n\n const setSubmitting = React.useCallback((isSubmitting: boolean) => {\n dispatch({ type: 'SET_ISSUBMITTING', payload: isSubmitting });\n }, []);\n\n const composedRefs = useComposedRefs(formRef, ref);\n\n return (\n <Box\n tag=\"form\"\n ref={composedRefs}\n method={method}\n noValidate\n onSubmit={handleSubmit}\n width={props.width}\n height={props.height}\n >\n <FormProvider\n disabled={disabled}\n onChange={handleChange}\n initialValues={initialValues.current}\n modified={modified}\n addFieldRow={addFieldRow}\n moveFieldRow={moveFieldRow}\n removeFieldRow={removeFieldRow}\n resetForm={resetForm}\n setErrors={setErrors}\n setValues={setValues}\n setSubmitting={setSubmitting}\n validate={validate}\n {...state}\n >\n {typeof props.children === 'function'\n ? props.children({\n modified,\n disabled,\n onChange: handleChange,\n ...state,\n setErrors,\n resetForm,\n })\n : props.children}\n </FormProvider>\n </Box>\n );\n }\n) as <TFormValues extends FormValues>(\n p: FormProps<TFormValues> & { ref?: React.Ref<HTMLFormElement> }\n) => React.ReactElement; // we've cast this because we need the generic to infer the type of the form values.\n\n/**\n * @internal\n * @description Checks if the error is a Yup validation error.\n */\nconst isErrorYupValidationError = (err: any): err is Yup.ValidationError =>\n typeof err === 'object' &&\n err !== null &&\n 'name' in err &&\n typeof err.name === 'string' &&\n err.name === 'ValidationError';\n\n/* -------------------------------------------------------------------------------------------------\n * getYupValidationErrors\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @description handy utility to convert a yup validation error into a form\n * error object. To be used elsewhere.\n */\nconst getYupValidationErrors = (err: Yup.ValidationError): FormErrors => {\n let errors: FormErrors = {};\n\n if (err.inner) {\n if (err.inner.length === 0) {\n return setIn(errors, err.path!, err.message);\n }\n for (const error of err.inner) {\n if (!getIn(errors, error.path!)) {\n errors = setIn(errors, error.path!, error.message);\n }\n }\n }\n\n return errors;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * reducer\n * -----------------------------------------------------------------------------------------------*/\n\ntype FormErrors<TFormValues extends FormValues = FormValues> = {\n // is it a repeatable component or dynamic zone?\n [Key in keyof TFormValues]?: TFormValues[Key] extends any[]\n ? TFormValues[Key][number] extends object\n ? FormErrors<TFormValues[Key][number]>[] | string | string[]\n : string // this would let us support errors for the dynamic zone or repeatable component not the components within.\n : TFormValues[Key] extends object // is it a regular component?\n ? FormErrors<TFormValues[Key]> // handles nested components\n : string | TranslationMessage; // otherwise its just a field or a translation message.\n};\n\ninterface FormState<TFormValues extends FormValues = FormValues> {\n /**\n * TODO: make this a better type explaining errors could be nested because it follows the same\n * structure as the values.\n */\n errors: FormErrors<TFormValues>;\n isSubmitting: boolean;\n values: TFormValues;\n}\n\ntype FormActions<TFormValues extends FormValues = FormValues> =\n | { type: 'SUBMIT_ATTEMPT' }\n | { type: 'SUBMIT_FAILURE' }\n | { type: 'SUBMIT_SUCCESS' }\n | { type: 'SET_FIELD_VALUE'; payload: { field: string; value: any } }\n | { type: 'ADD_FIELD_ROW'; payload: { field: string; value: any; addAtIndex?: number } }\n | { type: 'REMOVE_FIELD_ROW'; payload: { field: string; removeAtIndex?: number } }\n | { type: 'MOVE_FIELD_ROW'; payload: { field: string; fromIndex: number; toIndex: number } }\n | { type: 'SET_ERRORS'; payload: FormErrors<TFormValues> }\n | { type: 'SET_ISSUBMITTING'; payload: boolean }\n | { type: 'SET_INITIAL_VALUES'; payload: TFormValues }\n | { type: 'SET_VALUES'; payload: TFormValues }\n | { type: 'RESET_FORM'; payload: FormState<TFormValues> };\n\nconst reducer = <TFormValues extends FormValues = FormValues>(\n state: FormState<TFormValues>,\n action: FormActions<TFormValues>\n) =>\n produce(state, (draft) => {\n switch (action.type) {\n case 'SET_INITIAL_VALUES':\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.values = action.payload;\n break;\n case 'SET_VALUES':\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.values = action.payload;\n break;\n case 'SUBMIT_ATTEMPT':\n draft.isSubmitting = true;\n break;\n case 'SUBMIT_FAILURE':\n draft.isSubmitting = false;\n break;\n case 'SUBMIT_SUCCESS':\n draft.isSubmitting = false;\n break;\n case 'SET_FIELD_VALUE':\n draft.values = setIn(state.values, action.payload.field, action.payload.value);\n break;\n case 'ADD_FIELD_ROW': {\n /**\n * TODO: add check for if the field is an array?\n */\n const currentField = getIn(state.values, action.payload.field, []) as Array<any>;\n\n let position = action.payload.addAtIndex;\n\n if (position === undefined) {\n position = currentField.length;\n } else if (position < 0) {\n position = 0;\n }\n\n const [key] = generateNKeysBetween(\n position > 0 ? currentField.at(position - 1)?.__temp_key__ : null,\n currentField.at(position)?.__temp_key__,\n 1\n );\n\n draft.values = setIn(\n state.values,\n action.payload.field,\n currentField.toSpliced(position, 0, {\n ...action.payload.value,\n __temp_key__: key,\n })\n );\n\n break;\n }\n case 'MOVE_FIELD_ROW': {\n const { field, fromIndex, toIndex } = action.payload;\n /**\n * TODO: add check for if the field is an array?\n */\n const currentField = [...(getIn(state.values, field, []) as Array<any>)];\n const currentRow = currentField[fromIndex];\n\n const startKey =\n fromIndex > toIndex\n ? currentField[toIndex - 1]?.__temp_key__\n : currentField[toIndex]?.__temp_key__;\n const endKey =\n fromIndex > toIndex\n ? currentField[toIndex]?.__temp_key__\n : currentField[toIndex + 1]?.__temp_key__;\n const [newKey] = generateNKeysBetween(startKey, endKey, 1);\n\n currentField.splice(fromIndex, 1);\n currentField.splice(toIndex, 0, { ...currentRow, __temp_key__: newKey });\n\n draft.values = setIn(state.values, field, currentField);\n\n break;\n }\n case 'REMOVE_FIELD_ROW': {\n /**\n * TODO: add check for if the field is an array?\n */\n const currentField = getIn(state.values, action.payload.field, []) as Array<any>;\n\n let position = action.payload.removeAtIndex;\n\n if (position === undefined) {\n position = currentField.length - 1;\n } else if (position < 0) {\n position = 0;\n }\n\n /**\n * filter out empty values from the array, the setIn function only deletes the value\n * when we pass undefined as opposed to \"removing\" it from said array.\n */\n const newValue = setIn(currentField, position.toString(), undefined).filter(\n (val: unknown) => val\n );\n\n draft.values = setIn(\n state.values,\n action.payload.field,\n newValue.length > 0 ? newValue : []\n );\n\n break;\n }\n case 'SET_ERRORS':\n if (!isEqual(state.errors, action.payload)) {\n // @ts-expect-error – TODO: figure out why this fails a TS check.\n draft.errors = action.payload;\n }\n break;\n case 'SET_ISSUBMITTING':\n draft.isSubmitting = action.payload;\n break;\n case 'RESET_FORM':\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.values = action.payload.values;\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.errors = action.payload.errors;\n draft.isSubmitting = action.payload.isSubmitting;\n break;\n default:\n break;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * useField\n * -----------------------------------------------------------------------------------------------*/\ninterface FieldValue<TValue = any> {\n error?: string;\n initialValue: TValue;\n onChange: (eventOrPath: React.ChangeEvent<any> | string, value?: TValue) => void;\n value: TValue;\n rawError?: any;\n}\n\nfunction useField<TValue = any>(path: string): FieldValue<TValue | undefined> {\n const { formatMessage } = useIntl();\n\n const initialValue = useForm(\n 'useField',\n (state) => getIn(state.initialValues, path) as FieldValue<TValue>['initialValue']\n );\n\n const value = useForm(\n 'useField',\n (state) => getIn(state.values, path) as FieldValue<TValue>['value']\n );\n\n const handleChange = useForm('useField', (state) => state.onChange);\n\n const rawError = useForm('useField', (state) => getIn(state.errors, path));\n\n const error = useForm('useField', (state) => {\n const error = getIn(state.errors, path);\n\n if (isErrorMessageDescriptor(error)) {\n const { values, ...message } = error;\n return formatMessage(message, values);\n }\n\n return error;\n });\n\n return {\n initialValue,\n /**\n * Errors can be a string, or a MessageDescriptor, so we need to handle both cases.\n * If it's anything else, we don't return it.\n */\n rawError,\n error: isErrorMessageDescriptor(error)\n ? formatMessage(\n {\n id: error.id,\n defaultMessage: error.defaultMessage,\n },\n error.values\n )\n : typeof error === 'string'\n ? error\n : undefined,\n onChange: handleChange,\n value: value,\n };\n}\n\nconst isErrorMessageDescriptor = (object?: object): object is TranslationMessage => {\n return (\n typeof object === 'object' &&\n object !== null &&\n !Array.isArray(object) &&\n 'id' in object &&\n 'defaultMessage' in object\n );\n};\n\n/**\n * Props for the Blocker component.\n * @param onProceed Function to be called when the user confirms the action that triggered the blocker.\n * @param onCancel Function to be called when the user cancels the action that triggered the blocker.\n */\ninterface BlockerProps {\n onProceed?: () => void;\n onCancel?: () => void;\n}\n/* -------------------------------------------------------------------------------------------------\n * Blocker\n * -----------------------------------------------------------------------------------------------*/\nconst Blocker = ({ onProceed = () => {}, onCancel = () => {} }: BlockerProps) => {\n const { formatMessage } = useIntl();\n const modified = useForm('Blocker', (state) => state.modified);\n const isSubmitting = useForm('Blocker', (state) => state.isSubmitting);\n\n const blocker = useBlocker(({ currentLocation, nextLocation }) => {\n return (\n !isSubmitting &&\n modified &&\n (currentLocation.pathname !== nextLocation.pathname ||\n currentLocation.search !== nextLocation.search)\n );\n });\n\n if (blocker.state === 'blocked') {\n const handleCancel = (isOpen: boolean) => {\n if (!isOpen) {\n onCancel();\n blocker.reset();\n }\n };\n\n return (\n <Dialog.Root open onOpenChange={handleCancel}>\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body icon={<WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />}>\n {formatMessage({\n id: 'global.prompt.unsaved',\n defaultMessage: 'You have unsaved changes, are you sure you want to leave?',\n })}\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n <Button\n onClick={() => {\n onProceed();\n blocker.proceed();\n }}\n variant=\"danger\"\n >\n {formatMessage({\n id: 'app.components.Button.confirm',\n defaultMessage: 'Confirm',\n })}\n </Button>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n }\n\n return null;\n};\n\nexport { Form, Blocker, useField, useForm, getYupValidationErrors };\nexport type {\n FormErrors,\n FormHelpers,\n FormProps,\n FormValues,\n FormContextValue,\n FormState,\n FieldValue,\n InputProps,\n};\n"],"names":["ERR_MSG","FormProvider","useForm","createContext","disabled","errors","initialValues","isSubmitting","modified","addFieldRow","Error","moveFieldRow","onChange","removeFieldRow","resetForm","setErrors","setValues","setSubmitting","validate","values","Form","React","forwardRef","method","onSubmit","initialErrors","props","ref","formRef","useRef","state","dispatch","useReducer","reducer","useEffect","isEqual","current","type","payload","useCallback","Object","keys","length","setTimeout","firstError","querySelectorAll","errorId","getAttribute","formElementInError","querySelector","HTMLElement","focus","clearTimeout","shouldSetErrors","options","validationSchema","data","abortEarly","err","isErrorYupValidationError","getYupValidationErrors","process","env","NODE_ENV","console","warn","handleSubmit","e","stopPropagation","preventDefault","message","useMemo","handleChange","useCallbackRef","eventOrPath","v","field","value","target","currentTarget","name","id","multiple","val","test","parsed","parseFloat","isNaN","getIn","Array","from","filter","el","selected","map","addAtIndex","removeAtIndex","fromIndex","toIndex","composedRefs","useComposedRefs","_jsx","Box","tag","noValidate","width","height","children","inner","setIn","path","error","action","produce","draft","currentField","position","undefined","key","generateNKeysBetween","at","__temp_key__","toSpliced","currentRow","startKey","endKey","newKey","splice","newValue","toString","useField","formatMessage","useIntl","initialValue","rawError","isErrorMessageDescriptor","defaultMessage","object","isArray","Blocker","onProceed","onCancel","blocker","useBlocker","currentLocation","nextLocation","pathname","search","handleCancel","isOpen","reset","Dialog","Root","open","onOpenChange","_jsxs","Content","Header","Body","icon","WarningCircle","fill","Footer","Cancel","Button","variant","onClick","proceed"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.mjs","sources":["../../../../../admin/src/components/Form.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n type BoxProps,\n Button,\n Dialog,\n useCallbackRef,\n useComposedRefs,\n} from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { generateNKeysBetween } from 'fractional-indexing';\nimport { produce } from 'immer';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl, type MessageDescriptor, type PrimitiveType } from 'react-intl';\nimport { useBlocker } from 'react-router-dom';\n\nimport { getIn, setIn } from '../utils/objects';\n\nimport { createContext } from './Context';\n\nimport type {\n InputProps as InputPropsImpl,\n StringProps,\n EnumerationProps,\n} from './FormInputs/types';\nimport type * as Yup from 'yup';\n\n/* -------------------------------------------------------------------------------------------------\n * FormContext\n * -----------------------------------------------------------------------------------------------*/\ntype InputProps = InputPropsImpl | StringProps | EnumerationProps;\n\ninterface TranslationMessage extends MessageDescriptor {\n values?: Record<string, PrimitiveType>;\n}\n\ninterface FormValues {\n [field: string]: any;\n}\n\ninterface FormContextValue<TFormValues extends FormValues = FormValues>\n extends FormState<TFormValues> {\n disabled: boolean;\n initialValues: TFormValues;\n modified: boolean;\n /**\n * The default behaviour is to add the row to the end of the array, if you want to add it to a\n * specific index you can pass the index.\n */\n addFieldRow: (field: string, value: any, addAtIndex?: number) => void;\n moveFieldRow: (field: string, fromIndex: number, toIndex: number) => void;\n onChange: (eventOrPath: React.ChangeEvent<any> | string, value?: any) => void;\n /*\n * The default behaviour is to remove the last row, if you want to remove a specific index you can\n * pass the index.\n */\n removeFieldRow: (field: string, removeAtIndex?: number) => void;\n resetForm: (newInitialValues?: TFormValues) => void;\n setErrors: (errors: FormErrors<TFormValues>) => void;\n setSubmitting: (isSubmitting: boolean) => void;\n setValues: (values: TFormValues) => void;\n validate: (\n shouldSetErrors?: boolean,\n options?: Record<string, string>\n ) => Promise<\n { data: TFormValues; errors?: never } | { data?: never; errors: FormErrors<TFormValues> }\n >;\n}\n\n/**\n * @internal\n * @description We use this just to warn people that they're using the useForm\n * methods outside of a Form component, but we don't want to throw an error\n * because otherwise the DocumentActions list cannot be rendered in our list-view.\n */\nconst ERR_MSG =\n 'The Form Component has not been initialised, ensure you are using this hook within a Form component';\n\nconst [FormProvider, useForm] = createContext<FormContextValue>('Form', {\n disabled: false,\n errors: {},\n initialValues: {},\n isSubmitting: false,\n modified: false,\n addFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n moveFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n onChange: () => {\n throw new Error(ERR_MSG);\n },\n removeFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n resetForm: () => {\n throw new Error(ERR_MSG);\n },\n setErrors: () => {\n throw new Error(ERR_MSG);\n },\n setValues: () => {\n throw new Error(ERR_MSG);\n },\n setSubmitting: () => {\n throw new Error(ERR_MSG);\n },\n validate: async () => {\n throw new Error(ERR_MSG);\n },\n values: {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Form\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormHelpers<TFormValues extends FormValues = FormValues>\n extends Pick<FormContextValue<TFormValues>, 'setErrors' | 'setValues' | 'resetForm'> {}\n\ninterface FormProps<TFormValues extends FormValues = FormValues>\n extends Partial<Pick<FormContextValue<TFormValues>, 'disabled' | 'initialValues'>>,\n Pick<BoxProps, 'width' | 'height'> {\n children:\n | React.ReactNode\n | ((\n props: Pick<\n FormContextValue<TFormValues>,\n | 'disabled'\n | 'errors'\n | 'isSubmitting'\n | 'modified'\n | 'values'\n | 'resetForm'\n | 'onChange'\n | 'setErrors'\n >\n ) => React.ReactNode);\n method: 'POST' | 'PUT';\n onSubmit?: (values: TFormValues, helpers: FormHelpers<TFormValues>) => Promise<void> | void;\n // TODO: type the return value for a validation schema func from Yup.\n validationSchema?: Yup.AnySchema;\n initialErrors?: FormErrors<TFormValues>;\n // NOTE: we don't know what return type it can be here\n validate?: (values: TFormValues, options: Record<string, string>) => Promise<any>;\n}\n\n/**\n * @alpha\n * @description A form component that handles form state, validation and submission.\n * It can additionally handle nested fields and arrays. To access the data you can either\n * use the generic useForm hook or the useField hook when providing the name of your field.\n */\nconst Form = React.forwardRef<HTMLFormElement, FormProps>(\n ({ disabled = false, method, onSubmit, initialErrors, ...props }, ref) => {\n const formRef = React.useRef<HTMLFormElement>(null!);\n const initialValues = React.useRef(props.initialValues ?? {});\n const [state, dispatch] = React.useReducer(reducer, {\n errors: initialErrors ?? {},\n isSubmitting: false,\n values: props.initialValues ?? {},\n });\n\n React.useEffect(() => {\n /**\n * ONLY update the initialValues if the prop has changed.\n */\n if (!isEqual(initialValues.current, props.initialValues)) {\n initialValues.current = props.initialValues ?? {};\n\n dispatch({\n type: 'SET_INITIAL_VALUES',\n payload: props.initialValues ?? {},\n });\n }\n }, [props.initialValues]);\n\n const setErrors = React.useCallback((errors: FormErrors) => {\n dispatch({\n type: 'SET_ERRORS',\n payload: errors,\n });\n }, []);\n\n const setValues = React.useCallback((values: FormValues) => {\n dispatch({\n type: 'SET_VALUES',\n payload: values,\n });\n }, []);\n\n React.useEffect(() => {\n if (Object.keys(state.errors).length === 0) return;\n\n /**\n * Small timeout to ensure the form has been\n * rendered before we try to focus on the first\n */\n const ref = setTimeout(() => {\n const [firstError] = formRef.current.querySelectorAll('[data-strapi-field-error]');\n\n if (firstError) {\n const errorId = firstError.getAttribute('id');\n const formElementInError = formRef.current.querySelector(\n `[aria-describedby=\"${errorId}\"]`\n );\n\n if (formElementInError && formElementInError instanceof HTMLElement) {\n formElementInError.focus();\n }\n }\n });\n\n return () => clearTimeout(ref);\n }, [state.errors]);\n\n /**\n * Uses the provided validation schema\n */\n const validate = React.useCallback(\n async (shouldSetErrors: boolean = true, options: Record<string, string> = {}) => {\n setErrors({});\n\n if (!props.validationSchema && !props.validate) {\n return { data: state.values };\n }\n\n try {\n let data;\n if (props.validationSchema) {\n data = await props.validationSchema.validate(state.values, { abortEarly: false });\n } else if (props.validate) {\n data = await props.validate(state.values, options);\n } else {\n throw new Error('No validation schema or validate function provided');\n }\n\n return { data };\n } catch (err) {\n if (isErrorYupValidationError(err)) {\n const errors = getYupValidationErrors(err);\n\n if (shouldSetErrors) {\n setErrors(errors);\n }\n\n return { errors };\n } else {\n // We throw any other errors\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: An unhandled error was caught during validation in <Form validationSchema />`,\n err\n );\n }\n\n throw err;\n }\n }\n },\n [props, setErrors, state.values]\n );\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (e) => {\n e.stopPropagation();\n e.preventDefault();\n\n if (!onSubmit) {\n return;\n }\n\n dispatch({\n type: 'SUBMIT_ATTEMPT',\n });\n\n try {\n const { data, errors } = await validate();\n\n if (errors) {\n setErrors(errors);\n\n throw new Error('Submission failed');\n }\n\n await onSubmit(data, {\n setErrors,\n setValues,\n resetForm,\n });\n\n dispatch({\n type: 'SUBMIT_SUCCESS',\n });\n } catch (err) {\n dispatch({\n type: 'SUBMIT_FAILURE',\n });\n\n if (err instanceof Error && err.message === 'Submission failed') {\n return;\n }\n }\n };\n\n const modified = React.useMemo(\n () => !isEqual(initialValues.current, state.values),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [state.values, initialValues.current]\n );\n\n const handleChange: FormContextValue['onChange'] = useCallbackRef((eventOrPath, v) => {\n if (typeof eventOrPath === 'string') {\n dispatch({\n type: 'SET_FIELD_VALUE',\n payload: {\n field: eventOrPath,\n value: v,\n },\n });\n\n return;\n }\n\n const target = eventOrPath.target || eventOrPath.currentTarget;\n\n const { type, name, id, value, options, multiple } = target;\n\n const field = name || id;\n\n if (!field && process.env.NODE_ENV !== 'production') {\n console.warn(\n `\\`onChange\\` was called with an event, but you forgot to pass a \\`name\\` or \\`id'\\` attribute to your input. The field to update cannot be determined`\n );\n }\n\n /**\n * Because we handle any field from this function, we run through a series\n * of checks to understand how to use the value.\n */\n let val;\n\n if (/number|range/.test(type)) {\n const parsed = parseFloat(value);\n // If the value isn't a number for whatever reason, don't let it through because that will break the API.\n val = isNaN(parsed) ? '' : parsed;\n } else if (/checkbox/.test(type)) {\n // Get & invert the current value of the checkbox.\n val = !getIn(state.values, field);\n } else if (options && multiple) {\n // This will handle native select elements incl. ones with mulitple options.\n val = Array.from<HTMLOptionElement>(options)\n .filter((el) => el.selected)\n .map((el) => el.value);\n } else {\n // NOTE: reset value to null so it failes required checks.\n // The API only considers a required field invalid if the value is null|undefined, to differentiate from min 1\n if (value === '') {\n val = null;\n } else {\n val = value;\n }\n }\n\n if (field) {\n dispatch({\n type: 'SET_FIELD_VALUE',\n payload: {\n field,\n value: val,\n },\n });\n }\n });\n\n const addFieldRow: FormContextValue['addFieldRow'] = React.useCallback(\n (field, value, addAtIndex) => {\n dispatch({\n type: 'ADD_FIELD_ROW',\n payload: {\n field,\n value,\n addAtIndex,\n },\n });\n },\n []\n );\n\n const removeFieldRow: FormContextValue['removeFieldRow'] = React.useCallback(\n (field, removeAtIndex) => {\n dispatch({\n type: 'REMOVE_FIELD_ROW',\n payload: {\n field,\n removeAtIndex,\n },\n });\n },\n []\n );\n\n const moveFieldRow: FormContextValue['moveFieldRow'] = React.useCallback(\n (field, fromIndex, toIndex) => {\n dispatch({\n type: 'MOVE_FIELD_ROW',\n payload: {\n field,\n fromIndex,\n toIndex,\n },\n });\n },\n []\n );\n\n const resetForm: FormContextValue['resetForm'] = React.useCallback((newInitialValues) => {\n if (newInitialValues) {\n initialValues.current = newInitialValues;\n }\n dispatch({\n type: 'RESET_FORM',\n payload: {\n errors: {},\n isSubmitting: false,\n values: initialValues.current,\n },\n });\n }, []);\n\n const setSubmitting = React.useCallback((isSubmitting: boolean) => {\n dispatch({ type: 'SET_ISSUBMITTING', payload: isSubmitting });\n }, []);\n\n const composedRefs = useComposedRefs(formRef, ref);\n\n return (\n <Box\n tag=\"form\"\n ref={composedRefs}\n method={method}\n noValidate\n onSubmit={handleSubmit}\n width={props.width}\n height={props.height}\n >\n <FormProvider\n disabled={disabled}\n onChange={handleChange}\n initialValues={initialValues.current}\n modified={modified}\n addFieldRow={addFieldRow}\n moveFieldRow={moveFieldRow}\n removeFieldRow={removeFieldRow}\n resetForm={resetForm}\n setErrors={setErrors}\n setValues={setValues}\n setSubmitting={setSubmitting}\n validate={validate}\n {...state}\n >\n {typeof props.children === 'function'\n ? props.children({\n modified,\n disabled,\n onChange: handleChange,\n ...state,\n setErrors,\n resetForm,\n })\n : props.children}\n </FormProvider>\n </Box>\n );\n }\n) as <TFormValues extends FormValues>(\n p: FormProps<TFormValues> & { ref?: React.Ref<HTMLFormElement> }\n) => React.ReactElement; // we've cast this because we need the generic to infer the type of the form values.\n\n/**\n * @internal\n * @description Checks if the error is a Yup validation error.\n */\nconst isErrorYupValidationError = (err: any): err is Yup.ValidationError =>\n typeof err === 'object' &&\n err !== null &&\n 'name' in err &&\n typeof err.name === 'string' &&\n err.name === 'ValidationError';\n\n/* -------------------------------------------------------------------------------------------------\n * getYupValidationErrors\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @description handy utility to convert a yup validation error into a form\n * error object. To be used elsewhere.\n */\nconst getYupValidationErrors = (err: Yup.ValidationError): FormErrors => {\n let errors: FormErrors = {};\n\n if (err.inner) {\n if (err.inner.length === 0) {\n return setIn(errors, err.path!, err.message);\n }\n for (const error of err.inner) {\n if (!getIn(errors, error.path!)) {\n errors = setIn(errors, error.path!, error.message);\n }\n }\n }\n\n return errors;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * reducer\n * -----------------------------------------------------------------------------------------------*/\n\ntype FormErrors<TFormValues extends FormValues = FormValues> = {\n // is it a repeatable component or dynamic zone?\n [Key in keyof TFormValues]?: TFormValues[Key] extends any[]\n ? TFormValues[Key][number] extends object\n ? FormErrors<TFormValues[Key][number]>[] | string | string[]\n : string // this would let us support errors for the dynamic zone or repeatable component not the components within.\n : TFormValues[Key] extends object // is it a regular component?\n ? FormErrors<TFormValues[Key]> // handles nested components\n : string | TranslationMessage; // otherwise its just a field or a translation message.\n};\n\ninterface FormState<TFormValues extends FormValues = FormValues> {\n /**\n * TODO: make this a better type explaining errors could be nested because it follows the same\n * structure as the values.\n */\n errors: FormErrors<TFormValues>;\n isSubmitting: boolean;\n values: TFormValues;\n}\n\ntype FormActions<TFormValues extends FormValues = FormValues> =\n | { type: 'SUBMIT_ATTEMPT' }\n | { type: 'SUBMIT_FAILURE' }\n | { type: 'SUBMIT_SUCCESS' }\n | { type: 'SET_FIELD_VALUE'; payload: { field: string; value: any } }\n | { type: 'ADD_FIELD_ROW'; payload: { field: string; value: any; addAtIndex?: number } }\n | { type: 'REMOVE_FIELD_ROW'; payload: { field: string; removeAtIndex?: number } }\n | { type: 'MOVE_FIELD_ROW'; payload: { field: string; fromIndex: number; toIndex: number } }\n | { type: 'SET_ERRORS'; payload: FormErrors<TFormValues> }\n | { type: 'SET_ISSUBMITTING'; payload: boolean }\n | { type: 'SET_INITIAL_VALUES'; payload: TFormValues }\n | { type: 'SET_VALUES'; payload: TFormValues }\n | { type: 'RESET_FORM'; payload: FormState<TFormValues> };\n\nconst reducer = <TFormValues extends FormValues = FormValues>(\n state: FormState<TFormValues>,\n action: FormActions<TFormValues>\n) =>\n produce(state, (draft) => {\n switch (action.type) {\n case 'SET_INITIAL_VALUES':\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.values = action.payload;\n break;\n case 'SET_VALUES':\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.values = action.payload;\n break;\n case 'SUBMIT_ATTEMPT':\n draft.isSubmitting = true;\n break;\n case 'SUBMIT_FAILURE':\n draft.isSubmitting = false;\n break;\n case 'SUBMIT_SUCCESS':\n draft.isSubmitting = false;\n break;\n case 'SET_FIELD_VALUE':\n draft.values = setIn(state.values, action.payload.field, action.payload.value);\n break;\n case 'ADD_FIELD_ROW': {\n /**\n * TODO: add check for if the field is an array?\n */\n const currentField = getIn(state.values, action.payload.field, []) as Array<any>;\n\n let position = action.payload.addAtIndex;\n\n if (position === undefined) {\n position = currentField.length;\n } else if (position < 0) {\n position = 0;\n }\n\n const [key] = generateNKeysBetween(\n position > 0 ? currentField.at(position - 1)?.__temp_key__ : null,\n currentField.at(position)?.__temp_key__,\n 1\n );\n\n draft.values = setIn(\n state.values,\n action.payload.field,\n currentField.toSpliced(position, 0, {\n ...action.payload.value,\n __temp_key__: key,\n })\n );\n\n break;\n }\n case 'MOVE_FIELD_ROW': {\n const { field, fromIndex, toIndex } = action.payload;\n /**\n * TODO: add check for if the field is an array?\n */\n const currentField = [...(getIn(state.values, field, []) as Array<any>)];\n const currentRow = currentField[fromIndex];\n\n const startKey =\n fromIndex > toIndex\n ? currentField[toIndex - 1]?.__temp_key__\n : currentField[toIndex]?.__temp_key__;\n const endKey =\n fromIndex > toIndex\n ? currentField[toIndex]?.__temp_key__\n : currentField[toIndex + 1]?.__temp_key__;\n const [newKey] = generateNKeysBetween(startKey, endKey, 1);\n\n currentField.splice(fromIndex, 1);\n currentField.splice(toIndex, 0, { ...currentRow, __temp_key__: newKey });\n\n draft.values = setIn(state.values, field, currentField);\n\n break;\n }\n case 'REMOVE_FIELD_ROW': {\n /**\n * TODO: add check for if the field is an array?\n */\n const currentField = getIn(state.values, action.payload.field, []) as Array<any>;\n\n let position = action.payload.removeAtIndex;\n\n if (position === undefined) {\n position = currentField.length - 1;\n } else if (position < 0) {\n position = 0;\n }\n\n /**\n * filter out empty values from the array, the setIn function only deletes the value\n * when we pass undefined as opposed to \"removing\" it from said array.\n */\n const newValue = setIn(currentField, position.toString(), undefined).filter(\n (val: unknown) => val\n );\n\n draft.values = setIn(\n state.values,\n action.payload.field,\n newValue.length > 0 ? newValue : []\n );\n\n break;\n }\n case 'SET_ERRORS':\n if (!isEqual(state.errors, action.payload)) {\n // @ts-expect-error – TODO: figure out why this fails a TS check.\n draft.errors = action.payload;\n }\n break;\n case 'SET_ISSUBMITTING':\n draft.isSubmitting = action.payload;\n break;\n case 'RESET_FORM':\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.values = action.payload.values;\n // @ts-expect-error – TODO: figure out why this fails ts.\n draft.errors = action.payload.errors;\n draft.isSubmitting = action.payload.isSubmitting;\n break;\n default:\n break;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * useField\n * -----------------------------------------------------------------------------------------------*/\ninterface FieldValue<TValue = any> {\n error?: string;\n initialValue: TValue;\n onChange: (eventOrPath: React.ChangeEvent<any> | string, value?: TValue) => void;\n value: TValue;\n rawError?: any;\n}\n\nfunction useField<TValue = any>(path: string): FieldValue<TValue | undefined> {\n const { formatMessage } = useIntl();\n\n const initialValue = useForm(\n 'useField',\n (state) => getIn(state.initialValues, path) as FieldValue<TValue>['initialValue']\n );\n\n const value = useForm(\n 'useField',\n (state) => getIn(state.values, path) as FieldValue<TValue>['value']\n );\n\n const handleChange = useForm('useField', (state) => state.onChange);\n\n const rawError = useForm('useField', (state) => getIn(state.errors, path));\n\n const error = useForm('useField', (state) => {\n const error = getIn(state.errors, path);\n\n if (isErrorMessageDescriptor(error)) {\n const { values, ...message } = error;\n return formatMessage(message, values);\n }\n\n return error;\n });\n\n return {\n initialValue,\n /**\n * Errors can be a string, or a MessageDescriptor, so we need to handle both cases.\n * If it's anything else, we don't return it.\n */\n rawError,\n error: isErrorMessageDescriptor(error)\n ? formatMessage(\n {\n id: error.id,\n defaultMessage: error.defaultMessage,\n },\n error.values\n )\n : typeof error === 'string'\n ? error\n : undefined,\n onChange: handleChange,\n value: value,\n };\n}\n\nconst isErrorMessageDescriptor = (object?: object): object is TranslationMessage => {\n return (\n typeof object === 'object' &&\n object !== null &&\n !Array.isArray(object) &&\n 'id' in object &&\n 'defaultMessage' in object\n );\n};\n\n/**\n * Props for the Blocker component.\n * @param onProceed Function to be called when the user confirms the action that triggered the blocker.\n * @param onCancel Function to be called when the user cancels the action that triggered the blocker.\n */\ninterface BlockerProps {\n onProceed?: () => void;\n onCancel?: () => void;\n}\n/* -------------------------------------------------------------------------------------------------\n * Blocker\n * -----------------------------------------------------------------------------------------------*/\nconst Blocker = ({ onProceed = () => {}, onCancel = () => {} }: BlockerProps) => {\n const { formatMessage } = useIntl();\n const modified = useForm('Blocker', (state) => state.modified);\n const isSubmitting = useForm('Blocker', (state) => state.isSubmitting);\n\n const blocker = useBlocker(({ currentLocation, nextLocation }) => {\n return (\n !isSubmitting &&\n modified &&\n (currentLocation.pathname !== nextLocation.pathname ||\n currentLocation.search !== nextLocation.search)\n );\n });\n\n if (blocker.state === 'blocked') {\n const handleCancel = (isOpen: boolean) => {\n if (!isOpen) {\n onCancel();\n blocker.reset();\n }\n };\n\n return (\n <Dialog.Root open onOpenChange={handleCancel}>\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body icon={<WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />}>\n {formatMessage({\n id: 'global.prompt.unsaved',\n defaultMessage: 'You have unsaved changes, are you sure you want to leave?',\n })}\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n <Button\n onClick={() => {\n onProceed();\n blocker.proceed();\n }}\n variant=\"danger\"\n >\n {formatMessage({\n id: 'app.components.Button.confirm',\n defaultMessage: 'Confirm',\n })}\n </Button>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n }\n\n return null;\n};\n\nexport { Form, Blocker, useField, useForm, getYupValidationErrors };\nexport type {\n FormErrors,\n FormHelpers,\n FormProps,\n FormValues,\n FormContextValue,\n FormState,\n FieldValue,\n InputProps,\n};\n"],"names":["ERR_MSG","FormProvider","useForm","createContext","disabled","errors","initialValues","isSubmitting","modified","addFieldRow","Error","moveFieldRow","onChange","removeFieldRow","resetForm","setErrors","setValues","setSubmitting","validate","values","Form","React","forwardRef","method","onSubmit","initialErrors","props","ref","formRef","useRef","state","dispatch","useReducer","reducer","useEffect","isEqual","current","type","payload","useCallback","Object","keys","length","setTimeout","firstError","querySelectorAll","errorId","getAttribute","formElementInError","querySelector","HTMLElement","focus","clearTimeout","shouldSetErrors","options","validationSchema","data","abortEarly","err","isErrorYupValidationError","getYupValidationErrors","process","env","NODE_ENV","console","warn","handleSubmit","e","stopPropagation","preventDefault","message","useMemo","handleChange","useCallbackRef","eventOrPath","v","field","value","target","currentTarget","name","id","multiple","val","test","parsed","parseFloat","isNaN","getIn","Array","from","filter","el","selected","map","addAtIndex","removeAtIndex","fromIndex","toIndex","newInitialValues","composedRefs","useComposedRefs","_jsx","Box","tag","noValidate","width","height","children","inner","setIn","path","error","action","produce","draft","currentField","position","undefined","key","generateNKeysBetween","at","__temp_key__","toSpliced","currentRow","startKey","endKey","newKey","splice","newValue","toString","useField","formatMessage","useIntl","initialValue","rawError","isErrorMessageDescriptor","defaultMessage","object","isArray","Blocker","onProceed","onCancel","blocker","useBlocker","currentLocation","nextLocation","pathname","search","handleCancel","isOpen","reset","Dialog","Root","open","onOpenChange","_jsxs","Content","Header","Body","icon","WarningCircle","fill","Footer","Cancel","Button","variant","onClick","proceed"],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ const EnumerationInput = /*#__PURE__*/ React.forwardRef(({ name, required, label
|
|
|
25
25
|
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.SingleSelect, {
|
|
26
26
|
ref: composedRefs,
|
|
27
27
|
onChange: (value)=>{
|
|
28
|
-
field.onChange(name, value);
|
|
28
|
+
field.onChange(name, value === '' ? null : value);
|
|
29
29
|
},
|
|
30
30
|
value: field.value,
|
|
31
31
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Enumeration.js","sources":["../../../../../../admin/src/components/FormInputs/Enumeration.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { SingleSelect, SingleSelectOption, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { EnumerationProps } from './types';\n\nconst EnumerationInput = forwardRef<HTMLDivElement, EnumerationProps>(\n ({ name, required, label, hint, labelAction, options = [], ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLDivElement>(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 <SingleSelect\n ref={composedRefs}\n onChange={(value) => {\n field.onChange(name, value);\n }}\n value={field.value}\n {...props}\n >\n <SingleSelectOption value=\"\" disabled={required} hidden={required}>\n {formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n })}\n </SingleSelectOption>\n {options.map(({ value, label, disabled, hidden }) => {\n return (\n <SingleSelectOption key={value} value={value} disabled={disabled} hidden={hidden}>\n {label ?? value}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedEnumerationInput = memo(EnumerationInput);\n\nexport { MemoizedEnumerationInput as EnumerationInput };\n"],"names":["EnumerationInput","forwardRef","name","required","label","hint","labelAction","options","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","SingleSelect","onChange","value","SingleSelectOption","disabled","hidden","id","defaultMessage","map","Hint","Error","MemoizedEnumerationInput","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,iCAAmBC,gBACvB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,OAAAA,GAAU,EAAE,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACrE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,aAASX,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMY,WAAWC,qCAAmCb,CAAAA,IAAAA,CAAAA;IAEpD,MAAMc,YAAAA,GAAeC,6BAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEnB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAmB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAQlB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCc,eAACO,CAAAA,yBAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAU,CAACC,KAAAA,GAAAA;
|
|
1
|
+
{"version":3,"file":"Enumeration.js","sources":["../../../../../../admin/src/components/FormInputs/Enumeration.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { SingleSelect, SingleSelectOption, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { EnumerationProps } from './types';\n\nconst EnumerationInput = forwardRef<HTMLDivElement, EnumerationProps>(\n ({ name, required, label, hint, labelAction, options = [], ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLDivElement>(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 <SingleSelect\n ref={composedRefs}\n onChange={(value) => {\n field.onChange(name, value === '' ? null : value);\n }}\n value={field.value}\n {...props}\n >\n <SingleSelectOption value=\"\" disabled={required} hidden={required}>\n {formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n })}\n </SingleSelectOption>\n {options.map(({ value, label, disabled, hidden }) => {\n return (\n <SingleSelectOption key={value} value={value} disabled={disabled} hidden={hidden}>\n {label ?? value}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedEnumerationInput = memo(EnumerationInput);\n\nexport { MemoizedEnumerationInput as EnumerationInput };\n"],"names":["EnumerationInput","forwardRef","name","required","label","hint","labelAction","options","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","SingleSelect","onChange","value","SingleSelectOption","disabled","hidden","id","defaultMessage","map","Hint","Error","MemoizedEnumerationInput","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,iCAAmBC,gBACvB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,OAAAA,GAAU,EAAE,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACrE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,aAASX,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMY,WAAWC,qCAAmCb,CAAAA,IAAAA,CAAAA;IAEpD,MAAMc,YAAAA,GAAeC,6BAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEnB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAmB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAQlB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCc,eAACO,CAAAA,yBAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAU,CAACC,KAAAA,GAAAA;AACTf,oBAAAA,KAAAA,CAAMc,QAAQ,CAACxB,IAAMyB,EAAAA,KAAAA,KAAU,KAAK,IAAOA,GAAAA,KAAAA,CAAAA;AAC7C,iBAAA;AACAA,gBAAAA,KAAAA,EAAOf,MAAMe,KAAK;AACjB,gBAAA,GAAGnB,KAAK;;kCAETc,cAACM,CAAAA,+BAAAA,EAAAA;wBAAmBD,KAAM,EAAA,EAAA;wBAAGE,QAAU1B,EAAAA,QAAAA;wBAAU2B,MAAQ3B,EAAAA,QAAAA;kCACtDO,aAAc,CAAA;4BACbqB,EAAI,EAAA,2CAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA;;oBAEDzB,OAAQ0B,CAAAA,GAAG,CAAC,CAAC,EAAEN,KAAK,EAAEvB,KAAK,EAAEyB,QAAQ,EAAEC,MAAM,EAAE,GAAA;AAC9C,wBAAA,qBACER,cAACM,CAAAA,+BAAAA,EAAAA;4BAA+BD,KAAOA,EAAAA,KAAAA;4BAAOE,QAAUA,EAAAA,QAAAA;4BAAUC,MAAQA,EAAAA,MAAAA;sCACvE1B,KAASuB,IAAAA;AADaA,yBAAAA,EAAAA,KAAAA,CAAAA;AAI7B,qBAAA;;;AAEF,0BAAAL,cAAA,CAACH,mBAAMe,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAZ,cAAA,CAACH,mBAAMgB,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,yCAA2BC,UAAKrC,CAAAA,gBAAAA;;;;"}
|
|
@@ -23,7 +23,7 @@ const EnumerationInput = /*#__PURE__*/ forwardRef(({ name, required, label, hint
|
|
|
23
23
|
/*#__PURE__*/ jsxs(SingleSelect, {
|
|
24
24
|
ref: composedRefs,
|
|
25
25
|
onChange: (value)=>{
|
|
26
|
-
field.onChange(name, value);
|
|
26
|
+
field.onChange(name, value === '' ? null : value);
|
|
27
27
|
},
|
|
28
28
|
value: field.value,
|
|
29
29
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Enumeration.mjs","sources":["../../../../../../admin/src/components/FormInputs/Enumeration.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { SingleSelect, SingleSelectOption, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { EnumerationProps } from './types';\n\nconst EnumerationInput = forwardRef<HTMLDivElement, EnumerationProps>(\n ({ name, required, label, hint, labelAction, options = [], ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLDivElement>(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 <SingleSelect\n ref={composedRefs}\n onChange={(value) => {\n field.onChange(name, value);\n }}\n value={field.value}\n {...props}\n >\n <SingleSelectOption value=\"\" disabled={required} hidden={required}>\n {formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n })}\n </SingleSelectOption>\n {options.map(({ value, label, disabled, hidden }) => {\n return (\n <SingleSelectOption key={value} value={value} disabled={disabled} hidden={hidden}>\n {label ?? value}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedEnumerationInput = memo(EnumerationInput);\n\nexport { MemoizedEnumerationInput as EnumerationInput };\n"],"names":["EnumerationInput","forwardRef","name","required","label","hint","labelAction","options","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","SingleSelect","onChange","value","SingleSelectOption","disabled","hidden","id","defaultMessage","map","Hint","Error","MemoizedEnumerationInput","memo"],"mappings":";;;;;;;AAUA,MAAMA,iCAAmBC,UACvB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,OAAAA,GAAU,EAAE,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACrE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,QAASX,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMY,WAAWC,kBAAmCb,CAAAA,IAAAA,CAAAA;IAEpD,MAAMc,YAAAA,GAAeC,gBAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEnB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAmB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAQlB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCc,IAACO,CAAAA,YAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAU,CAACC,KAAAA,GAAAA;
|
|
1
|
+
{"version":3,"file":"Enumeration.mjs","sources":["../../../../../../admin/src/components/FormInputs/Enumeration.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { SingleSelect, SingleSelectOption, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { EnumerationProps } from './types';\n\nconst EnumerationInput = forwardRef<HTMLDivElement, EnumerationProps>(\n ({ name, required, label, hint, labelAction, options = [], ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField<HTMLDivElement>(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 <SingleSelect\n ref={composedRefs}\n onChange={(value) => {\n field.onChange(name, value === '' ? null : value);\n }}\n value={field.value}\n {...props}\n >\n <SingleSelectOption value=\"\" disabled={required} hidden={required}>\n {formatMessage({\n id: 'components.InputSelect.option.placeholder',\n defaultMessage: 'Choose here',\n })}\n </SingleSelectOption>\n {options.map(({ value, label, disabled, hidden }) => {\n return (\n <SingleSelectOption key={value} value={value} disabled={disabled} hidden={hidden}>\n {label ?? value}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedEnumerationInput = memo(EnumerationInput);\n\nexport { MemoizedEnumerationInput as EnumerationInput };\n"],"names":["EnumerationInput","forwardRef","name","required","label","hint","labelAction","options","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","SingleSelect","onChange","value","SingleSelectOption","disabled","hidden","id","defaultMessage","map","Hint","Error","MemoizedEnumerationInput","memo"],"mappings":";;;;;;;AAUA,MAAMA,iCAAmBC,UACvB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,OAAAA,GAAU,EAAE,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACrE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,QAASX,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMY,WAAWC,kBAAmCb,CAAAA,IAAAA,CAAAA;IAEpD,MAAMc,YAAAA,GAAeC,gBAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEnB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAmB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAQlB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCc,IAACO,CAAAA,YAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAU,CAACC,KAAAA,GAAAA;AACTf,oBAAAA,KAAAA,CAAMc,QAAQ,CAACxB,IAAMyB,EAAAA,KAAAA,KAAU,KAAK,IAAOA,GAAAA,KAAAA,CAAAA;AAC7C,iBAAA;AACAA,gBAAAA,KAAAA,EAAOf,MAAMe,KAAK;AACjB,gBAAA,GAAGnB,KAAK;;kCAETc,GAACM,CAAAA,kBAAAA,EAAAA;wBAAmBD,KAAM,EAAA,EAAA;wBAAGE,QAAU1B,EAAAA,QAAAA;wBAAU2B,MAAQ3B,EAAAA,QAAAA;kCACtDO,aAAc,CAAA;4BACbqB,EAAI,EAAA,2CAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA;;oBAEDzB,OAAQ0B,CAAAA,GAAG,CAAC,CAAC,EAAEN,KAAK,EAAEvB,KAAK,EAAEyB,QAAQ,EAAEC,MAAM,EAAE,GAAA;AAC9C,wBAAA,qBACER,GAACM,CAAAA,kBAAAA,EAAAA;4BAA+BD,KAAOA,EAAAA,KAAAA;4BAAOE,QAAUA,EAAAA,QAAAA;4BAAUC,MAAQA,EAAAA,MAAAA;sCACvE1B,KAASuB,IAAAA;AADaA,yBAAAA,EAAAA,KAAAA,CAAAA;AAI7B,qBAAA;;;AAEF,0BAAAL,GAAA,CAACH,MAAMe,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAZ,GAAA,CAACH,MAAMgB,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,yCAA2BC,IAAKrC,CAAAA,gBAAAA;;;;"}
|
|
@@ -27,7 +27,7 @@ const NumberInputImpl = /*#__PURE__*/ React.forwardRef(({ name, required, label,
|
|
|
27
27
|
// See https://github.com/strapi/strapi/issues/22533
|
|
28
28
|
field.onChange(name, value ?? null);
|
|
29
29
|
},
|
|
30
|
-
step: type === 'float' || type
|
|
30
|
+
step: type === 'float' || type === 'decimal' ? 0.01 : 1,
|
|
31
31
|
value: field.value ?? undefined,
|
|
32
32
|
...props
|
|
33
33
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.js","sources":["../../../../../../admin/src/components/FormInputs/Number.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { NumberInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst NumberInputImpl = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, type, ...props }, ref) => {\n const field = useField<number | null>(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 <NumberInput\n ref={composedRefs}\n onValueChange={(value) => {\n // Convert undefined to null to store it in the form state\n // See https://github.com/strapi/strapi/issues/22533\n field.onChange(name, value ?? null);\n }}\n step={type === 'float' || type
|
|
1
|
+
{"version":3,"file":"Number.js","sources":["../../../../../../admin/src/components/FormInputs/Number.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { NumberInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst NumberInputImpl = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, type, ...props }, ref) => {\n const field = useField<number | null>(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 <NumberInput\n ref={composedRefs}\n onValueChange={(value) => {\n // Convert undefined to null to store it in the form state\n // See https://github.com/strapi/strapi/issues/22533\n field.onChange(name, value ?? null);\n }}\n step={type === 'float' || type === 'decimal' ? 0.01 : 1}\n value={field.value ?? undefined}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedNumberInput = memo(NumberInputImpl);\n\nexport { MemoizedNumberInput as NumberInput };\n"],"names":["NumberInputImpl","forwardRef","name","required","label","hint","labelAction","type","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","NumberInput","onValueChange","value","onChange","step","undefined","Hint","Error","MemoizedNumberInput","memo"],"mappings":";;;;;;;;AASA,MAAMA,gCAAkBC,gBACtB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AAC7D,IAAA,MAAMC,QAAQC,aAAwBT,CAAAA,IAAAA,CAAAA;AACtC,IAAA,MAAMU,WAAWC,qCAAqCX,CAAAA,IAAAA,CAAAA;IAEtD,MAAMY,YAAAA,GAAeC,6BAAgBN,GAAKG,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEjB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAiB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAQhB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCgB,cAACG,CAAAA,wBAAAA,EAAAA;gBACCd,GAAKK,EAAAA,YAAAA;AACLU,gBAAAA,aAAAA,EAAe,CAACC,KAAAA,GAAAA;;;oBAGdf,KAAMgB,CAAAA,QAAQ,CAACxB,IAAAA,EAAMuB,KAAS,IAAA,IAAA,CAAA;AAChC,iBAAA;AACAE,gBAAAA,IAAAA,EAAMpB,IAAS,KAAA,OAAA,IAAWA,IAAS,KAAA,SAAA,GAAY,IAAO,GAAA,CAAA;gBACtDkB,KAAOf,EAAAA,KAAAA,CAAMe,KAAK,IAAIG,SAAAA;AACrB,gBAAA,GAAGpB;;AAEN,0BAAAY,cAAA,CAACH,mBAAMY,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAT,cAAA,CAACH,mBAAMa,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,oCAAsBC,UAAKhC,CAAAA,eAAAA;;;;"}
|
|
@@ -25,7 +25,7 @@ const NumberInputImpl = /*#__PURE__*/ forwardRef(({ name, required, label, hint,
|
|
|
25
25
|
// See https://github.com/strapi/strapi/issues/22533
|
|
26
26
|
field.onChange(name, value ?? null);
|
|
27
27
|
},
|
|
28
|
-
step: type === 'float' || type
|
|
28
|
+
step: type === 'float' || type === 'decimal' ? 0.01 : 1,
|
|
29
29
|
value: field.value ?? undefined,
|
|
30
30
|
...props
|
|
31
31
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.mjs","sources":["../../../../../../admin/src/components/FormInputs/Number.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { NumberInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst NumberInputImpl = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, type, ...props }, ref) => {\n const field = useField<number | null>(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 <NumberInput\n ref={composedRefs}\n onValueChange={(value) => {\n // Convert undefined to null to store it in the form state\n // See https://github.com/strapi/strapi/issues/22533\n field.onChange(name, value ?? null);\n }}\n step={type === 'float' || type
|
|
1
|
+
{"version":3,"file":"Number.mjs","sources":["../../../../../../admin/src/components/FormInputs/Number.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { NumberInput, useComposedRefs, Field } from '@strapi/design-system';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst NumberInputImpl = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, type, ...props }, ref) => {\n const field = useField<number | null>(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 <NumberInput\n ref={composedRefs}\n onValueChange={(value) => {\n // Convert undefined to null to store it in the form state\n // See https://github.com/strapi/strapi/issues/22533\n field.onChange(name, value ?? null);\n }}\n step={type === 'float' || type === 'decimal' ? 0.01 : 1}\n value={field.value ?? undefined}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedNumberInput = memo(NumberInputImpl);\n\nexport { MemoizedNumberInput as NumberInput };\n"],"names":["NumberInputImpl","forwardRef","name","required","label","hint","labelAction","type","props","ref","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","NumberInput","onValueChange","value","onChange","step","undefined","Hint","Error","MemoizedNumberInput","memo"],"mappings":";;;;;;AASA,MAAMA,gCAAkBC,UACtB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AAC7D,IAAA,MAAMC,QAAQC,QAAwBT,CAAAA,IAAAA,CAAAA;AACtC,IAAA,MAAMU,WAAWC,kBAAqCX,CAAAA,IAAAA,CAAAA;IAEtD,MAAMY,YAAAA,GAAeC,gBAAgBN,GAAKG,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEjB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAiB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAQhB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCgB,GAACG,CAAAA,WAAAA,EAAAA;gBACCd,GAAKK,EAAAA,YAAAA;AACLU,gBAAAA,aAAAA,EAAe,CAACC,KAAAA,GAAAA;;;oBAGdf,KAAMgB,CAAAA,QAAQ,CAACxB,IAAAA,EAAMuB,KAAS,IAAA,IAAA,CAAA;AAChC,iBAAA;AACAE,gBAAAA,IAAAA,EAAMpB,IAAS,KAAA,OAAA,IAAWA,IAAS,KAAA,SAAA,GAAY,IAAO,GAAA,CAAA;gBACtDkB,KAAOf,EAAAA,KAAAA,CAAMe,KAAK,IAAIG,SAAAA;AACrB,gBAAA,GAAGpB;;AAEN,0BAAAY,GAAA,CAACH,MAAMY,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAT,GAAA,CAACH,MAAMa,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,oCAAsBC,IAAKhC,CAAAA,eAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, 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 This needs to be tested before being exposed as a public API.\n * @experimental\n * @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API.\n * The entire component is memoized to avoid re-renders in large forms.\n */\nconst InputRenderer = memo(\n forwardRef<any, InputProps>((props, forwardRef) => {\n switch (props.type) {\n case 'biginteger':\n case 'timestamp':\n case 'string':\n case 'uid':\n return <StringInput ref={forwardRef} {...props} />;\n case 'boolean':\n return <BooleanInput ref={forwardRef} {...props} />;\n case 'checkbox':\n return <CheckboxInput ref={forwardRef} {...props} />;\n case 'datetime':\n return <DateTimeInput ref={forwardRef} {...props} />;\n case 'date':\n return <DateInput ref={forwardRef} {...props} />;\n case 'decimal':\n case 'float':\n case 'integer':\n return <NumberInput ref={forwardRef} {...props} />;\n case 'json':\n return <JsonInput ref={forwardRef} {...props} />;\n case 'email':\n return <EmailInput ref={forwardRef} {...props} />;\n case 'enumeration':\n return <EnumerationInput ref={forwardRef} {...props} />;\n case 'password':\n return <PasswordInput ref={forwardRef} {...props} />;\n case 'text':\n return <TextareaInput ref={forwardRef} {...props} />;\n case 'time':\n return <TimeInput ref={forwardRef} {...props} />;\n default:\n // This is cast because this renderer tackles all the possibilities of the InputProps, but this is for runtime catches.\n return <NotSupportedField ref={forwardRef} {...(props as InputProps)} />;\n }\n })\n);\n\nconst NotSupportedField = forwardRef<any, InputProps>(\n ({ label, hint, name, required, type, labelAction }, ref) => {\n const { error } = useField(name);\n const fieldRef = useFocusInputField(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\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={composedRefs}\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);\n\nconst MemoizedInputRenderer = memo(InputRenderer);\n\nexport { MemoizedInputRenderer as InputRenderer };\n"],"names":["InputRenderer","memo","forwardRef","props","type","_jsx","StringInput","ref","BooleanInput","CheckboxInput","DateTimeInput","DateInput","NumberInput","JsonInput","EmailInput","EnumerationInput","PasswordInput","TextareaInput","TimeInput","NotSupportedField","label","hint","name","required","labelAction","error","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","Label","action","TextInput","disabled","placeholder","value","Hint","Error","MemoizedInputRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA;;;;;;;AASC,IACD,MAAMA,aAAAA,iBAAgBC,UACpBC,eAAAA,gBAAAA,CAA4B,CAACC,KAAOD,EAAAA,UAAAA,GAAAA;AAClC,IAAA,OAAQC,MAAMC,IAAI;QAChB,KAAK,YAAA;QACL,KAAK,WAAA;QACL,KAAK,QAAA;QACL,KAAK,KAAA;AACH,YAAA,qBAAOC,cAACC,CAAAA,kBAAAA,EAAAA;gBAAYC,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC3C,KAAK,SAAA;AACH,YAAA,qBAAOE,cAACG,CAAAA,oBAAAA,EAAAA;gBAAaD,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC5C,KAAK,UAAA;AACH,YAAA,qBAAOE,cAACI,CAAAA,sBAAAA,EAAAA;gBAAcF,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC7C,KAAK,UAAA;AACH,YAAA,qBAAOE,cAACK,CAAAA,sBAAAA,EAAAA;gBAAcH,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC7C,KAAK,MAAA;AACH,YAAA,qBAAOE,cAACM,CAAAA,cAAAA,EAAAA;gBAAUJ,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QACzC,KAAK,SAAA;QACL,KAAK,OAAA;QACL,KAAK,SAAA;AACH,YAAA,qBAAOE,cAACO,CAAAA,kBAAAA,EAAAA;gBAAYL,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC3C,KAAK,MAAA;AACH,YAAA,qBAAOE,cAACQ,CAAAA,cAAAA,EAAAA;gBAAUN,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QACzC,KAAK,OAAA;AACH,YAAA,qBAAOE,cAACS,CAAAA,gBAAAA,EAAAA;gBAAWP,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC1C,KAAK,aAAA;AACH,YAAA,qBAAOE,cAACU,CAAAA,4BAAAA,EAAAA;gBAAiBR,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAChD,KAAK,UAAA;AACH,YAAA,qBAAOE,cAACW,CAAAA,sBAAAA,EAAAA;gBAAcT,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC7C,KAAK,MAAA;AACH,YAAA,qBAAOE,cAACY,CAAAA,sBAAAA,EAAAA;gBAAcV,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;QAC7C,KAAK,MAAA;AACH,YAAA,qBAAOE,cAACa,CAAAA,cAAAA,EAAAA;gBAAUX,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAGC;;AACzC,QAAA;;AAEE,YAAA,qBAAOE,cAACc,CAAAA,iBAAAA,EAAAA;gBAAkBZ,GAAKL,EAAAA,UAAAA;AAAa,gBAAA,GAAIC;;AACpD;AACF,CAAA,CAAA,CAAA;AAGF,MAAMgB,kCAAoBjB,gBACxB,CAAA,CAAC,EAAEkB,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEnB,IAAI,EAAEoB,WAAW,EAAE,EAAEjB,GAAAA,GAAAA;AACnD,IAAA,MAAM,EAAEkB,KAAK,EAAE,GAAGC,aAASJ,CAAAA,IAAAA,CAAAA;AAC3B,IAAA,MAAMK,WAAWC,qCAAmBN,CAAAA,IAAAA,CAAAA;IAEpC,MAAMO,YAAAA,GAAeC,6BAAgBvB,GAAKoB,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;QAACR,KAAOA,EAAAA,KAAAA;QAAOH,IAAMA,EAAAA,IAAAA;QAAMD,IAAMA,EAAAA,IAAAA;QAAME,QAAUA,EAAAA,QAAAA;;AAC1D,0BAAAlB,cAAA,CAAC2B,mBAAME,KAAK,EAAA;gBAACC,MAAQX,EAAAA,WAAAA;AAAcJ,gBAAAA,QAAAA,EAAAA;;0BACnCf,cAAC+B,CAAAA,sBAAAA,EAAAA;gBACC7B,GAAKsB,EAAAA,YAAAA;gBACLQ,QAAQ,EAAA,IAAA;
|
|
1
|
+
{"version":3,"file":"Renderer.js","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, 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 This needs to be tested before being exposed as a public API.\n * @experimental\n * @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API.\n * The entire component is memoized to avoid re-renders in large forms.\n */\nconst InputRenderer = memo(\n forwardRef<any, InputProps>((props, forwardRef) => {\n switch (props.type) {\n case 'biginteger':\n case 'timestamp':\n case 'string':\n case 'uid':\n return <StringInput ref={forwardRef} {...props} />;\n case 'boolean':\n return <BooleanInput ref={forwardRef} {...props} />;\n case 'checkbox':\n return <CheckboxInput ref={forwardRef} {...props} />;\n case 'datetime':\n return <DateTimeInput ref={forwardRef} {...props} />;\n case 'date':\n return <DateInput ref={forwardRef} {...props} />;\n case 'decimal':\n case 'float':\n case 'integer':\n return <NumberInput ref={forwardRef} {...props} />;\n case 'json':\n return <JsonInput ref={forwardRef} {...props} />;\n case 'email':\n return <EmailInput ref={forwardRef} {...props} />;\n case 'enumeration':\n return <EnumerationInput ref={forwardRef} {...props} />;\n case 'password':\n return <PasswordInput ref={forwardRef} {...props} />;\n case 'text':\n return <TextareaInput ref={forwardRef} {...props} />;\n case 'time':\n return <TimeInput ref={forwardRef} {...props} />;\n default:\n // This is cast because this renderer tackles all the possibilities of the InputProps, but this is for runtime catches.\n return <NotSupportedField ref={forwardRef} {...(props as InputProps)} />;\n }\n })\n);\n\nconst NotSupportedField = forwardRef<any, InputProps>(\n ({ label, hint, name, required, type, labelAction }, ref) => {\n const { error } = useField(name);\n const fieldRef = useFocusInputField(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\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={composedRefs}\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);\n\nconst MemoizedInputRenderer = memo(InputRenderer);\n\nexport { MemoizedInputRenderer as InputRenderer };\n"],"names":["InputRenderer","memo","forwardRef","props","type","_jsx","StringInput","ref","BooleanInput","CheckboxInput","DateTimeInput","DateInput","NumberInput","JsonInput","EmailInput","EnumerationInput","PasswordInput","TextareaInput","TimeInput","NotSupportedField","label","hint","name","required","labelAction","error","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","Label","action","TextInput","disabled","placeholder","value","Hint","Error","MemoizedInputRenderer"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.mjs","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, 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 This needs to be tested before being exposed as a public API.\n * @experimental\n * @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API.\n * The entire component is memoized to avoid re-renders in large forms.\n */\nconst InputRenderer = memo(\n forwardRef<any, InputProps>((props, forwardRef) => {\n switch (props.type) {\n case 'biginteger':\n case 'timestamp':\n case 'string':\n case 'uid':\n return <StringInput ref={forwardRef} {...props} />;\n case 'boolean':\n return <BooleanInput ref={forwardRef} {...props} />;\n case 'checkbox':\n return <CheckboxInput ref={forwardRef} {...props} />;\n case 'datetime':\n return <DateTimeInput ref={forwardRef} {...props} />;\n case 'date':\n return <DateInput ref={forwardRef} {...props} />;\n case 'decimal':\n case 'float':\n case 'integer':\n return <NumberInput ref={forwardRef} {...props} />;\n case 'json':\n return <JsonInput ref={forwardRef} {...props} />;\n case 'email':\n return <EmailInput ref={forwardRef} {...props} />;\n case 'enumeration':\n return <EnumerationInput ref={forwardRef} {...props} />;\n case 'password':\n return <PasswordInput ref={forwardRef} {...props} />;\n case 'text':\n return <TextareaInput ref={forwardRef} {...props} />;\n case 'time':\n return <TimeInput ref={forwardRef} {...props} />;\n default:\n // This is cast because this renderer tackles all the possibilities of the InputProps, but this is for runtime catches.\n return <NotSupportedField ref={forwardRef} {...(props as InputProps)} />;\n }\n })\n);\n\nconst NotSupportedField = forwardRef<any, InputProps>(\n ({ label, hint, name, required, type, labelAction }, ref) => {\n const { error } = useField(name);\n const fieldRef = useFocusInputField(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\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={composedRefs}\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);\n\nconst MemoizedInputRenderer = memo(InputRenderer);\n\nexport { MemoizedInputRenderer as InputRenderer };\n"],"names":["InputRenderer","memo","forwardRef","props","type","_jsx","StringInput","ref","BooleanInput","CheckboxInput","DateTimeInput","DateInput","NumberInput","JsonInput","EmailInput","EnumerationInput","PasswordInput","TextareaInput","TimeInput","NotSupportedField","label","hint","name","required","labelAction","error","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","Label","action","TextInput","disabled","placeholder","value","Hint","Error","MemoizedInputRenderer"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Renderer.mjs","sources":["../../../../../../admin/src/components/FormInputs/Renderer.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TextInput, useComposedRefs, 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 This needs to be tested before being exposed as a public API.\n * @experimental\n * @description A generic form renderer for Strapi forms. Similar to GenericInputs but with a different API.\n * The entire component is memoized to avoid re-renders in large forms.\n */\nconst InputRenderer = memo(\n forwardRef<any, InputProps>((props, forwardRef) => {\n switch (props.type) {\n case 'biginteger':\n case 'timestamp':\n case 'string':\n case 'uid':\n return <StringInput ref={forwardRef} {...props} />;\n case 'boolean':\n return <BooleanInput ref={forwardRef} {...props} />;\n case 'checkbox':\n return <CheckboxInput ref={forwardRef} {...props} />;\n case 'datetime':\n return <DateTimeInput ref={forwardRef} {...props} />;\n case 'date':\n return <DateInput ref={forwardRef} {...props} />;\n case 'decimal':\n case 'float':\n case 'integer':\n return <NumberInput ref={forwardRef} {...props} />;\n case 'json':\n return <JsonInput ref={forwardRef} {...props} />;\n case 'email':\n return <EmailInput ref={forwardRef} {...props} />;\n case 'enumeration':\n return <EnumerationInput ref={forwardRef} {...props} />;\n case 'password':\n return <PasswordInput ref={forwardRef} {...props} />;\n case 'text':\n return <TextareaInput ref={forwardRef} {...props} />;\n case 'time':\n return <TimeInput ref={forwardRef} {...props} />;\n default:\n // This is cast because this renderer tackles all the possibilities of the InputProps, but this is for runtime catches.\n return <NotSupportedField ref={forwardRef} {...(props as InputProps)} />;\n }\n })\n);\n\nconst NotSupportedField = forwardRef<any, InputProps>(\n ({ label, hint, name, required, type, labelAction }, ref) => {\n const { error } = useField(name);\n const fieldRef = useFocusInputField(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\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={composedRefs}\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);\n\nconst MemoizedInputRenderer = memo(InputRenderer);\n\nexport { MemoizedInputRenderer as InputRenderer };\n"],"names":["InputRenderer","memo","forwardRef","props","type","_jsx","StringInput","ref","BooleanInput","CheckboxInput","DateTimeInput","DateInput","NumberInput","JsonInput","EmailInput","EnumerationInput","PasswordInput","TextareaInput","TimeInput","NotSupportedField","label","hint","name","required","labelAction","error","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","Label","action","TextInput","disabled","placeholder","value","Hint","Error","MemoizedInputRenderer"],"mappings":"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"}
|
|
@@ -24,7 +24,8 @@ const StringInput = /*#__PURE__*/ React.forwardRef(({ name, required, label, hin
|
|
|
24
24
|
ref: composedRefs,
|
|
25
25
|
onChange: field.onChange,
|
|
26
26
|
value: field.value ?? '',
|
|
27
|
-
...props
|
|
27
|
+
...props,
|
|
28
|
+
type: "text"
|
|
28
29
|
}),
|
|
29
30
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Hint, {}),
|
|
30
31
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
@@ -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 />\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","Hint","Error","MemoizedStringInput","memo"],"mappings":";;;;;;;;AAOA,MAAMA,4BAAcC,gBAClB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,aAASR,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMS,WAAWC,qCAAqCV,CAAAA,IAAAA,CAAAA;IAEtD,MAAMW,YAAAA,GAAeC,6BAAgBN,GAAKG,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAgB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAQf,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,cAACG,CAAAA,sBAAAA,EAAAA;gBACCd,GAAKK,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAOf,EAAAA,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB;;
|
|
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,gBAClB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,aAASR,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMS,WAAWC,qCAAqCV,CAAAA,IAAAA,CAAAA;IAEtD,MAAMW,YAAAA,GAAeC,6BAAgBN,GAAKG,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAgB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAQf,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,cAACG,CAAAA,sBAAAA,EAAAA;gBACCd,GAAKK,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAOf,EAAAA,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB,KAAK;gBACTkB,IAAK,EAAA;;AAEP,0BAAAN,cAAA,CAACH,mBAAMU,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAP,cAAA,CAACH,mBAAMW,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,oCAAsBC,UAAK7B,CAAAA,WAAAA;;;;"}
|
|
@@ -22,7 +22,8 @@ const StringInput = /*#__PURE__*/ forwardRef(({ name, required, label, hint, lab
|
|
|
22
22
|
ref: composedRefs,
|
|
23
23
|
onChange: field.onChange,
|
|
24
24
|
value: field.value ?? '',
|
|
25
|
-
...props
|
|
25
|
+
...props,
|
|
26
|
+
type: "text"
|
|
26
27
|
}),
|
|
27
28
|
/*#__PURE__*/ jsx(Field.Hint, {}),
|
|
28
29
|
/*#__PURE__*/ jsx(Field.Error, {})
|
|
@@ -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 />\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","Hint","Error","MemoizedStringInput","memo"],"mappings":";;;;;;AAOA,MAAMA,4BAAcC,UAClB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,QAASR,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMS,WAAWC,kBAAqCV,CAAAA,IAAAA,CAAAA;IAEtD,MAAMW,YAAAA,GAAeC,gBAAgBN,GAAKG,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAgB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAQf,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,GAACG,CAAAA,SAAAA,EAAAA;gBACCd,GAAKK,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAOf,EAAAA,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB;;
|
|
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,UAClB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AACvD,IAAA,MAAMC,QAAQC,QAASR,CAAAA,IAAAA,CAAAA;AACvB,IAAA,MAAMS,WAAWC,kBAAqCV,CAAAA,IAAAA,CAAAA;IAEtD,MAAMW,YAAAA,GAAeC,gBAAgBN,GAAKG,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAEhB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAgB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAQf,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCe,GAACG,CAAAA,SAAAA,EAAAA;gBACCd,GAAKK,EAAAA,YAAAA;AACLU,gBAAAA,QAAAA,EAAUd,MAAMc,QAAQ;gBACxBC,KAAOf,EAAAA,KAAAA,CAAMe,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGjB,KAAK;gBACTkB,IAAK,EAAA;;AAEP,0BAAAN,GAAA,CAACH,MAAMU,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAP,GAAA,CAACH,MAAMW,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,oCAAsBC,IAAK7B,CAAAA,WAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.js","sources":["../../../../../../admin/src/components/FormInputs/Time.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TimePicker, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst TimeInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const { formatMessage } = useIntl();\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 <TimePicker\n ref={composedRefs}\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n onChange={(time) => {\n field.onChange(name, `${time}:00.000`);\n }}\n onClear={() => field.onChange(name, undefined)}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTimeInput = memo(TimeInput);\n\nexport { MemoizedTimeInput as TimeInput };\n"],"names":["TimeInput","forwardRef","name","required","label","hint","labelAction","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TimePicker","clearLabel","id","defaultMessage","onChange","time","onClear","undefined","value","Hint","Error","MemoizedTimeInput","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,0BAAYC,gBAChB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACvD,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,aAAiBV,CAAAA,IAAAA,CAAAA;AAC/B,IAAA,MAAMW,WAAWC,qCAAqCZ,CAAAA,IAAAA,CAAAA;IAEtD,MAAMa,YAAAA,GAAeC,6BAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAElB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAkB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAQjB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCiB,cAACG,CAAAA,uBAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,UAAAA,EAAYhB,aAAc,CAAA;oBAAEiB,EAAI,EAAA,YAAA;oBAAcC,cAAgB,EAAA;AAAQ,iBAAA,CAAA;AACtEC,gBAAAA,QAAAA,EAAU,CAACC,IAAAA,GAAAA;AACTlB,oBAAAA,KAAAA,CAAMiB,QAAQ,CAAC1B,IAAAA,EAAM,
|
|
1
|
+
{"version":3,"file":"Time.js","sources":["../../../../../../admin/src/components/FormInputs/Time.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TimePicker, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst TimeInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const { formatMessage } = useIntl();\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 <TimePicker\n ref={composedRefs}\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n onChange={(time) => {\n field.onChange(name, `${time}:00.000`);\n }}\n onClear={() => field.onChange(name, undefined)}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTimeInput = memo(TimeInput);\n\nexport { MemoizedTimeInput as TimeInput };\n"],"names":["TimeInput","forwardRef","name","required","label","hint","labelAction","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TimePicker","clearLabel","id","defaultMessage","onChange","time","onClear","undefined","value","Hint","Error","MemoizedTimeInput","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,0BAAYC,gBAChB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACvD,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,aAAiBV,CAAAA,IAAAA,CAAAA;AAC/B,IAAA,MAAMW,WAAWC,qCAAqCZ,CAAAA,IAAAA,CAAAA;IAEtD,MAAMa,YAAAA,GAAeC,6BAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAElB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAkB,cAAA,CAACH,mBAAMI,KAAK,EAAA;gBAACC,MAAQjB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCiB,cAACG,CAAAA,uBAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,UAAAA,EAAYhB,aAAc,CAAA;oBAAEiB,EAAI,EAAA,YAAA;oBAAcC,cAAgB,EAAA;AAAQ,iBAAA,CAAA;AACtEC,gBAAAA,QAAAA,EAAU,CAACC,IAAAA,GAAAA;AACTlB,oBAAAA,KAAAA,CAAMiB,QAAQ,CAAC1B,IAAAA,EAAM,CAAG2B,EAAAA,IAAAA,CAAK,OAAO,CAAC,CAAA;AACvC,iBAAA;AACAC,gBAAAA,OAAAA,EAAS,IAAMnB,KAAAA,CAAMiB,QAAQ,CAAC1B,IAAM6B,EAAAA,SAAAA,CAAAA;gBACpCC,KAAOrB,EAAAA,KAAAA,CAAMqB,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGzB;;AAEN,0BAAAc,cAAA,CAACH,mBAAMe,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAZ,cAAA,CAACH,mBAAMgB,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,kCAAoBC,UAAKpC,CAAAA,SAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.mjs","sources":["../../../../../../admin/src/components/FormInputs/Time.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TimePicker, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst TimeInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const { formatMessage } = useIntl();\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 <TimePicker\n ref={composedRefs}\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n onChange={(time) => {\n field.onChange(name, `${time}:00.000`);\n }}\n onClear={() => field.onChange(name, undefined)}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTimeInput = memo(TimeInput);\n\nexport { MemoizedTimeInput as TimeInput };\n"],"names":["TimeInput","forwardRef","name","required","label","hint","labelAction","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TimePicker","clearLabel","id","defaultMessage","onChange","time","onClear","undefined","value","Hint","Error","MemoizedTimeInput","memo"],"mappings":";;;;;;;AAUA,MAAMA,0BAAYC,UAChB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACvD,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,QAAiBV,CAAAA,IAAAA,CAAAA;AAC/B,IAAA,MAAMW,WAAWC,kBAAqCZ,CAAAA,IAAAA,CAAAA;IAEtD,MAAMa,YAAAA,GAAeC,gBAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAElB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAkB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAQjB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCiB,GAACG,CAAAA,UAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,UAAAA,EAAYhB,aAAc,CAAA;oBAAEiB,EAAI,EAAA,YAAA;oBAAcC,cAAgB,EAAA;AAAQ,iBAAA,CAAA;AACtEC,gBAAAA,QAAAA,EAAU,CAACC,IAAAA,GAAAA;AACTlB,oBAAAA,KAAAA,CAAMiB,QAAQ,CAAC1B,IAAAA,EAAM,
|
|
1
|
+
{"version":3,"file":"Time.mjs","sources":["../../../../../../admin/src/components/FormInputs/Time.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { TimePicker, useComposedRefs, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst TimeInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const { formatMessage } = useIntl();\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 <TimePicker\n ref={composedRefs}\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n onChange={(time) => {\n field.onChange(name, `${time}:00.000`);\n }}\n onClear={() => field.onChange(name, undefined)}\n value={field.value ?? ''}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedTimeInput = memo(TimeInput);\n\nexport { MemoizedTimeInput as TimeInput };\n"],"names":["TimeInput","forwardRef","name","required","label","hint","labelAction","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","_jsxs","Field","Root","error","_jsx","Label","action","TimePicker","clearLabel","id","defaultMessage","onChange","time","onClear","undefined","value","Hint","Error","MemoizedTimeInput","memo"],"mappings":";;;;;;;AAUA,MAAMA,0BAAYC,UAChB,CAAA,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACvD,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,QAAiBV,CAAAA,IAAAA,CAAAA;AAC/B,IAAA,MAAMW,WAAWC,kBAAqCZ,CAAAA,IAAAA,CAAAA;IAEtD,MAAMa,YAAAA,GAAeC,gBAAgBR,GAAKK,EAAAA,QAAAA,CAAAA;IAE1C,qBACEI,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;QAAElB,IAAMA,EAAAA,IAAAA;QAAMG,IAAMA,EAAAA,IAAAA;QAAMF,QAAUA,EAAAA,QAAAA;;AAChE,0BAAAkB,GAAA,CAACH,MAAMI,KAAK,EAAA;gBAACC,MAAQjB,EAAAA,WAAAA;AAAcF,gBAAAA,QAAAA,EAAAA;;0BACnCiB,GAACG,CAAAA,UAAAA,EAAAA;gBACChB,GAAKO,EAAAA,YAAAA;AACLU,gBAAAA,UAAAA,EAAYhB,aAAc,CAAA;oBAAEiB,EAAI,EAAA,YAAA;oBAAcC,cAAgB,EAAA;AAAQ,iBAAA,CAAA;AACtEC,gBAAAA,QAAAA,EAAU,CAACC,IAAAA,GAAAA;AACTlB,oBAAAA,KAAAA,CAAMiB,QAAQ,CAAC1B,IAAAA,EAAM,CAAG2B,EAAAA,IAAAA,CAAK,OAAO,CAAC,CAAA;AACvC,iBAAA;AACAC,gBAAAA,OAAAA,EAAS,IAAMnB,KAAAA,CAAMiB,QAAQ,CAAC1B,IAAM6B,EAAAA,SAAAA,CAAAA;gBACpCC,KAAOrB,EAAAA,KAAAA,CAAMqB,KAAK,IAAI,EAAA;AACrB,gBAAA,GAAGzB;;AAEN,0BAAAc,GAAA,CAACH,MAAMe,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAZ,GAAA,CAACH,MAAMgB,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,kCAAoBC,IAAKpC,CAAAA,SAAAA;;;;"}
|