@strapi/i18n 0.0.0-experimental.bffd3c1819cd08304e7d270e88b4973e9fcbc183 → 0.0.0-experimental.c23f51fc41b3ef5de081f427d07e87af93cdcb2c
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/components/BulkLocaleActionModal.js +262 -0
- package/dist/admin/components/BulkLocaleActionModal.js.map +1 -0
- package/dist/admin/components/BulkLocaleActionModal.mjs +260 -0
- package/dist/admin/components/BulkLocaleActionModal.mjs.map +1 -0
- package/dist/admin/components/CMHeaderActions.js +721 -0
- package/dist/admin/components/CMHeaderActions.js.map +1 -0
- package/dist/admin/components/CMHeaderActions.mjs +696 -0
- package/dist/admin/components/CMHeaderActions.mjs.map +1 -0
- package/dist/admin/components/CMListViewModalsAdditionalInformation.js +69 -0
- package/dist/admin/components/CMListViewModalsAdditionalInformation.js.map +1 -0
- package/dist/admin/components/CMListViewModalsAdditionalInformation.mjs +65 -0
- package/dist/admin/components/CMListViewModalsAdditionalInformation.mjs.map +1 -0
- package/dist/admin/components/CheckboxConfirmation.js +155 -0
- package/dist/admin/components/CheckboxConfirmation.js.map +1 -0
- package/dist/admin/components/CheckboxConfirmation.mjs +134 -0
- package/dist/admin/components/CheckboxConfirmation.mjs.map +1 -0
- package/dist/admin/components/CreateLocale.js +395 -0
- package/dist/admin/components/CreateLocale.js.map +1 -0
- package/dist/admin/components/CreateLocale.mjs +369 -0
- package/dist/admin/components/CreateLocale.mjs.map +1 -0
- package/dist/admin/components/DeleteLocale.js +90 -0
- package/dist/admin/components/DeleteLocale.js.map +1 -0
- package/dist/admin/components/DeleteLocale.mjs +69 -0
- package/dist/admin/components/DeleteLocale.mjs.map +1 -0
- package/dist/admin/components/EditLocale.js +212 -0
- package/dist/admin/components/EditLocale.js.map +1 -0
- package/dist/admin/components/EditLocale.mjs +190 -0
- package/dist/admin/components/EditLocale.mjs.map +1 -0
- package/dist/admin/components/LocaleListCell.js +82 -0
- package/dist/admin/components/LocaleListCell.js.map +1 -0
- package/dist/admin/components/LocaleListCell.mjs +80 -0
- package/dist/admin/components/LocaleListCell.mjs.map +1 -0
- package/dist/admin/components/LocalePicker.js +98 -0
- package/dist/admin/components/LocalePicker.js.map +1 -0
- package/dist/admin/components/LocalePicker.mjs +77 -0
- package/dist/admin/components/LocalePicker.mjs.map +1 -0
- package/dist/admin/components/LocaleTable.js +143 -0
- package/dist/admin/components/LocaleTable.js.map +1 -0
- package/dist/admin/components/LocaleTable.mjs +122 -0
- package/dist/admin/components/LocaleTable.mjs.map +1 -0
- package/dist/admin/constants.js +37 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +35 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/contentManagerHooks/editView.js +106 -0
- package/dist/admin/contentManagerHooks/editView.js.map +1 -0
- package/dist/admin/contentManagerHooks/editView.mjs +85 -0
- package/dist/admin/contentManagerHooks/editView.mjs.map +1 -0
- package/dist/admin/contentManagerHooks/listView.js +43 -0
- package/dist/admin/contentManagerHooks/listView.js.map +1 -0
- package/dist/admin/contentManagerHooks/listView.mjs +41 -0
- package/dist/admin/contentManagerHooks/listView.mjs.map +1 -0
- package/dist/admin/contentReleasesHooks/releaseDetailsView.js +20 -0
- package/dist/admin/contentReleasesHooks/releaseDetailsView.js.map +1 -0
- package/dist/admin/contentReleasesHooks/releaseDetailsView.mjs +18 -0
- package/dist/admin/contentReleasesHooks/releaseDetailsView.mjs.map +1 -0
- package/dist/admin/hooks/useI18n.js +78 -0
- package/dist/admin/hooks/useI18n.js.map +1 -0
- package/dist/admin/hooks/useI18n.mjs +57 -0
- package/dist/admin/hooks/useI18n.mjs.map +1 -0
- package/dist/admin/index.js +226 -5
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +202 -5
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/middlewares/extendCTBAttributeInitialData.js +61 -0
- package/dist/admin/middlewares/extendCTBAttributeInitialData.js.map +1 -0
- package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs +59 -0
- package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs.map +1 -0
- package/dist/admin/middlewares/extendCTBInitialData.js +40 -0
- package/dist/admin/middlewares/extendCTBInitialData.js.map +1 -0
- package/dist/admin/middlewares/extendCTBInitialData.mjs +38 -0
- package/dist/admin/middlewares/extendCTBInitialData.mjs.map +1 -0
- package/dist/admin/middlewares/rbac-middleware.js +49 -0
- package/dist/admin/middlewares/rbac-middleware.js.map +1 -0
- package/dist/admin/middlewares/rbac-middleware.mjs +28 -0
- package/dist/admin/middlewares/rbac-middleware.mjs.map +1 -0
- package/dist/admin/pages/SettingsPage.js +107 -0
- package/dist/admin/pages/SettingsPage.js.map +1 -0
- package/dist/admin/pages/SettingsPage.mjs +85 -0
- package/dist/admin/pages/SettingsPage.mjs.map +1 -0
- package/dist/admin/pluginId.js +6 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +4 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/services/api.js +12 -0
- package/dist/admin/services/api.js.map +1 -0
- package/dist/admin/services/api.mjs +10 -0
- package/dist/admin/services/api.mjs.map +1 -0
- package/dist/admin/services/locales.js +70 -0
- package/dist/admin/services/locales.js.map +1 -0
- package/dist/admin/services/locales.mjs +64 -0
- package/dist/admin/services/locales.mjs.map +1 -0
- package/dist/admin/services/relations.js +23 -0
- package/dist/admin/services/relations.js.map +1 -0
- package/dist/admin/services/relations.mjs +21 -0
- package/dist/admin/services/relations.mjs.map +1 -0
- package/dist/admin/src/components/CMHeaderActions.d.ts +1 -1
- package/dist/admin/src/components/tests/CreateLocale.test.d.ts +1 -0
- package/dist/admin/src/components/tests/DeleteLocale.test.d.ts +1 -0
- package/dist/admin/src/components/tests/EditLocale.test.d.ts +1 -0
- package/dist/admin/src/components/tests/LocaleListCell.test.d.ts +1 -0
- package/dist/admin/src/contentReleasesHooks/releaseDetailsView.d.ts +1 -1
- package/dist/admin/src/pages/tests/SettingsPage.test.d.ts +1 -0
- package/dist/admin/tests/server.d.ts +1 -0
- package/dist/admin/tests/utils.d.ts +6 -0
- package/dist/admin/translations/de.json.js +66 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +64 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/dk.json.js +66 -0
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/translations/dk.json.mjs +64 -0
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +81 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +79 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +66 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +64 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +66 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +64 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +65 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +63 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +66 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +64 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +68 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +66 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +66 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +64 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +82 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +80 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +57 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +55 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +66 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +64 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/baseQuery.js +8 -0
- package/dist/admin/utils/baseQuery.js.map +1 -0
- package/dist/admin/utils/baseQuery.mjs +6 -0
- package/dist/admin/utils/baseQuery.mjs.map +1 -0
- package/dist/admin/utils/clean.js +70 -0
- package/dist/admin/utils/clean.js.map +1 -0
- package/dist/admin/utils/clean.mjs +68 -0
- package/dist/admin/utils/clean.mjs.map +1 -0
- package/dist/admin/utils/fields.js +29 -0
- package/dist/admin/utils/fields.js.map +1 -0
- package/dist/admin/utils/fields.mjs +26 -0
- package/dist/admin/utils/fields.mjs.map +1 -0
- package/dist/admin/utils/getTranslation.js +8 -0
- package/dist/admin/utils/getTranslation.js.map +1 -0
- package/dist/admin/utils/getTranslation.mjs +6 -0
- package/dist/admin/utils/getTranslation.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/admin/utils/schemas.js +68 -0
- package/dist/admin/utils/schemas.js.map +1 -0
- package/dist/admin/utils/schemas.mjs +66 -0
- package/dist/admin/utils/schemas.mjs.map +1 -0
- package/dist/admin/utils/strings.js +6 -0
- package/dist/admin/utils/strings.js.map +1 -0
- package/dist/admin/utils/strings.mjs +4 -0
- package/dist/admin/utils/strings.mjs.map +1 -0
- package/dist/server/bootstrap.js +79 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +77 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/constants/index.js +29 -0
- package/dist/server/constants/index.js.map +1 -0
- package/dist/server/constants/index.mjs +25 -0
- package/dist/server/constants/index.mjs.map +1 -0
- package/dist/server/constants/iso-locales.json.js +2423 -0
- package/dist/server/constants/iso-locales.json.js.map +1 -0
- package/dist/server/constants/iso-locales.json.mjs +2421 -0
- package/dist/server/constants/iso-locales.json.mjs.map +1 -0
- package/dist/server/content-types/index.js +10 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +8 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/content-types/locale/index.js +10 -0
- package/dist/server/content-types/locale/index.js.map +1 -0
- package/dist/server/content-types/locale/index.mjs +8 -0
- package/dist/server/content-types/locale/index.mjs.map +1 -0
- package/dist/server/content-types/locale/schema.json.js +46 -0
- package/dist/server/content-types/locale/schema.json.js.map +1 -0
- package/dist/server/content-types/locale/schema.json.mjs +38 -0
- package/dist/server/content-types/locale/schema.json.mjs.map +1 -0
- package/dist/server/controllers/content-types.js +76 -0
- package/dist/server/controllers/content-types.js.map +1 -0
- package/dist/server/controllers/content-types.mjs +74 -0
- package/dist/server/controllers/content-types.mjs.map +1 -0
- package/dist/server/controllers/index.js +14 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +12 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/iso-locales.js +13 -0
- package/dist/server/controllers/iso-locales.js.map +1 -0
- package/dist/server/controllers/iso-locales.mjs +11 -0
- package/dist/server/controllers/iso-locales.mjs.map +1 -0
- package/dist/server/controllers/locales.js +108 -0
- package/dist/server/controllers/locales.js.map +1 -0
- package/dist/server/controllers/locales.mjs +87 -0
- package/dist/server/controllers/locales.mjs.map +1 -0
- package/dist/server/controllers/validate-locale-creation.js +47 -0
- package/dist/server/controllers/validate-locale-creation.js.map +1 -0
- package/dist/server/controllers/validate-locale-creation.mjs +45 -0
- package/dist/server/controllers/validate-locale-creation.mjs.map +1 -0
- package/dist/server/domain/locale.js +11 -0
- package/dist/server/domain/locale.js.map +1 -0
- package/dist/server/domain/locale.mjs +9 -0
- package/dist/server/domain/locale.mjs.map +1 -0
- package/dist/server/graphql.js +115 -0
- package/dist/server/graphql.js.map +1 -0
- package/dist/server/graphql.mjs +113 -0
- package/dist/server/graphql.mjs.map +1 -0
- package/dist/server/index.js +18 -3460
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +17 -3443
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/register.js +79 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +77 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin.js +102 -0
- package/dist/server/routes/admin.js.map +1 -0
- package/dist/server/routes/admin.mjs +100 -0
- package/dist/server/routes/admin.mjs.map +1 -0
- package/dist/server/routes/content-api.js +15 -0
- package/dist/server/routes/content-api.js.map +1 -0
- package/dist/server/routes/content-api.mjs +13 -0
- package/dist/server/routes/content-api.mjs.map +1 -0
- package/dist/server/routes/index.js +12 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +10 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/content-types.js +157 -0
- package/dist/server/services/content-types.js.map +1 -0
- package/dist/server/services/content-types.mjs +155 -0
- package/dist/server/services/content-types.mjs.map +1 -0
- package/dist/server/services/index.js +22 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +20 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/iso-locales.js +12 -0
- package/dist/server/services/iso-locales.js.map +1 -0
- package/dist/server/services/iso-locales.mjs +10 -0
- package/dist/server/services/iso-locales.mjs.map +1 -0
- package/dist/server/services/locales.js +114 -0
- package/dist/server/services/locales.js.map +1 -0
- package/dist/server/services/locales.mjs +112 -0
- package/dist/server/services/locales.mjs.map +1 -0
- package/dist/server/services/localizations.js +68 -0
- package/dist/server/services/localizations.js.map +1 -0
- package/dist/server/services/localizations.mjs +66 -0
- package/dist/server/services/localizations.mjs.map +1 -0
- package/dist/server/services/metrics.js +30 -0
- package/dist/server/services/metrics.js.map +1 -0
- package/dist/server/services/metrics.mjs +28 -0
- package/dist/server/services/metrics.mjs.map +1 -0
- package/dist/server/services/permissions/actions.js +136 -0
- package/dist/server/services/permissions/actions.js.map +1 -0
- package/dist/server/services/permissions/actions.mjs +134 -0
- package/dist/server/services/permissions/actions.mjs.map +1 -0
- package/dist/server/services/permissions/engine.js +52 -0
- package/dist/server/services/permissions/engine.js.map +1 -0
- package/dist/server/services/permissions/engine.mjs +50 -0
- package/dist/server/services/permissions/engine.mjs.map +1 -0
- package/dist/server/services/permissions/sections-builder.js +45 -0
- package/dist/server/services/permissions/sections-builder.js.map +1 -0
- package/dist/server/services/permissions/sections-builder.mjs +43 -0
- package/dist/server/services/permissions/sections-builder.mjs.map +1 -0
- package/dist/server/services/permissions.js +14 -0
- package/dist/server/services/permissions.js.map +1 -0
- package/dist/server/services/permissions.mjs +12 -0
- package/dist/server/services/permissions.mjs.map +1 -0
- package/dist/server/services/sanitize/index.js +34 -0
- package/dist/server/services/sanitize/index.js.map +1 -0
- package/dist/server/services/sanitize/index.mjs +32 -0
- package/dist/server/services/sanitize/index.mjs.map +1 -0
- package/dist/server/src/services/localizations.d.ts +1 -1
- package/dist/server/src/services/localizations.d.ts.map +1 -1
- package/dist/server/utils/index.js +16 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +13 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/validation/content-types.js +18 -0
- package/dist/server/validation/content-types.js.map +1 -0
- package/dist/server/validation/content-types.mjs +16 -0
- package/dist/server/validation/content-types.mjs.map +1 -0
- package/dist/server/validation/locales.js +23 -0
- package/dist/server/validation/locales.js.map +1 -0
- package/dist/server/validation/locales.mjs +20 -0
- package/dist/server/validation/locales.mjs.map +1 -0
- package/dist/shared/contracts/content-manager.d.ts +1 -1
- package/dist/shared/contracts/shared.d.ts +1 -1
- package/package.json +14 -11
- package/dist/_chunks/SettingsPage-B-KzAqT3.mjs +0 -554
- package/dist/_chunks/SettingsPage-B-KzAqT3.mjs.map +0 -1
- package/dist/_chunks/SettingsPage-hyOi94O9.js +0 -573
- package/dist/_chunks/SettingsPage-hyOi94O9.js.map +0 -1
- package/dist/_chunks/de-BOhNX_-5.js +0 -65
- package/dist/_chunks/de-BOhNX_-5.js.map +0 -1
- package/dist/_chunks/de-D80IRBP9.mjs +0 -65
- package/dist/_chunks/de-D80IRBP9.mjs.map +0 -1
- package/dist/_chunks/dk-CJ6Zzz78.mjs +0 -65
- package/dist/_chunks/dk-CJ6Zzz78.mjs.map +0 -1
- package/dist/_chunks/dk-cjXm0p3m.js +0 -65
- package/dist/_chunks/dk-cjXm0p3m.js.map +0 -1
- package/dist/_chunks/en-BTyF7WVW.mjs +0 -80
- package/dist/_chunks/en-BTyF7WVW.mjs.map +0 -1
- package/dist/_chunks/en-UlC0jh2t.js +0 -80
- package/dist/_chunks/en-UlC0jh2t.js.map +0 -1
- package/dist/_chunks/es-V8WnPN7w.mjs +0 -65
- package/dist/_chunks/es-V8WnPN7w.mjs.map +0 -1
- package/dist/_chunks/es-hr9b_HLp.js +0 -65
- package/dist/_chunks/es-hr9b_HLp.js.map +0 -1
- package/dist/_chunks/fr-BFmBbE0H.js +0 -65
- package/dist/_chunks/fr-BFmBbE0H.js.map +0 -1
- package/dist/_chunks/fr-F94noFiV.mjs +0 -65
- package/dist/_chunks/fr-F94noFiV.mjs.map +0 -1
- package/dist/_chunks/index-BcYj5jo9.mjs +0 -1589
- package/dist/_chunks/index-BcYj5jo9.mjs.map +0 -1
- package/dist/_chunks/index-C8NzsAKp.js +0 -1610
- package/dist/_chunks/index-C8NzsAKp.js.map +0 -1
- package/dist/_chunks/ko-C40pNQ9b.js +0 -64
- package/dist/_chunks/ko-C40pNQ9b.js.map +0 -1
- package/dist/_chunks/ko-CF-P3Car.mjs +0 -64
- package/dist/_chunks/ko-CF-P3Car.mjs.map +0 -1
- package/dist/_chunks/pl-Dxr9RUmD.mjs +0 -65
- package/dist/_chunks/pl-Dxr9RUmD.mjs.map +0 -1
- package/dist/_chunks/pl-JtWBy-JQ.js +0 -65
- package/dist/_chunks/pl-JtWBy-JQ.js.map +0 -1
- package/dist/_chunks/ru-B-4sVwXN.mjs +0 -67
- package/dist/_chunks/ru-B-4sVwXN.mjs.map +0 -1
- package/dist/_chunks/ru-COSWt3Nu.js +0 -67
- package/dist/_chunks/ru-COSWt3Nu.js.map +0 -1
- package/dist/_chunks/tr-BVj1O5ch.js +0 -65
- package/dist/_chunks/tr-BVj1O5ch.js.map +0 -1
- package/dist/_chunks/tr-Ccu6Yj11.mjs +0 -65
- package/dist/_chunks/tr-Ccu6Yj11.mjs.map +0 -1
- package/dist/_chunks/zh-BIz395Ms.mjs +0 -65
- package/dist/_chunks/zh-BIz395Ms.mjs.map +0 -1
- package/dist/_chunks/zh-Hans-Bfo6_TCM.mjs +0 -56
- package/dist/_chunks/zh-Hans-Bfo6_TCM.mjs.map +0 -1
- package/dist/_chunks/zh-Hans-DIEm_EMC.js +0 -56
- package/dist/_chunks/zh-Hans-DIEm_EMC.js.map +0 -1
- package/dist/_chunks/zh-wkBPBkhc.js +0 -65
- package/dist/_chunks/zh-wkBPBkhc.js.map +0 -1
@@ -0,0 +1,212 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
4
|
+
var React = require('react');
|
5
|
+
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
6
|
+
var designSystem = require('@strapi/design-system');
|
7
|
+
var icons = require('@strapi/icons');
|
8
|
+
var reactIntl = require('react-intl');
|
9
|
+
var locales = require('../services/locales.js');
|
10
|
+
var baseQuery = require('../utils/baseQuery.js');
|
11
|
+
var getTranslation = require('../utils/getTranslation.js');
|
12
|
+
var CreateLocale = require('./CreateLocale.js');
|
13
|
+
|
14
|
+
function _interopNamespaceDefault(e) {
|
15
|
+
var n = Object.create(null);
|
16
|
+
if (e) {
|
17
|
+
Object.keys(e).forEach(function (k) {
|
18
|
+
if (k !== 'default') {
|
19
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
20
|
+
Object.defineProperty(n, k, d.get ? d : {
|
21
|
+
enumerable: true,
|
22
|
+
get: function () { return e[k]; }
|
23
|
+
});
|
24
|
+
}
|
25
|
+
});
|
26
|
+
}
|
27
|
+
n.default = e;
|
28
|
+
return Object.freeze(n);
|
29
|
+
}
|
30
|
+
|
31
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
32
|
+
|
33
|
+
const EditLocale = (props)=>{
|
34
|
+
const { formatMessage } = reactIntl.useIntl();
|
35
|
+
const [visible, setVisible] = React__namespace.useState(false);
|
36
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
37
|
+
children: [
|
38
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
39
|
+
onClick: ()=>setVisible(true),
|
40
|
+
label: formatMessage({
|
41
|
+
id: getTranslation.getTranslation('Settings.list.actions.edit'),
|
42
|
+
defaultMessage: 'Edit {name} locale'
|
43
|
+
}, {
|
44
|
+
name: props.name
|
45
|
+
}),
|
46
|
+
variant: "ghost",
|
47
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
|
48
|
+
}),
|
49
|
+
/*#__PURE__*/ jsxRuntime.jsx(EditModal, {
|
50
|
+
...props,
|
51
|
+
open: visible,
|
52
|
+
onOpenChange: setVisible
|
53
|
+
})
|
54
|
+
]
|
55
|
+
});
|
56
|
+
};
|
57
|
+
/**
|
58
|
+
* @internal
|
59
|
+
* @description Exported to be used when someone clicks on a table row.
|
60
|
+
*/ const EditModal = ({ id, code, isDefault, name, open, onOpenChange })=>{
|
61
|
+
const { toggleNotification } = strapiAdmin.useNotification();
|
62
|
+
const { _unstableFormatAPIError: formatAPIError, _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
|
63
|
+
const refetchPermissions = strapiAdmin.useAuth('EditModal', (state)=>state.refetchPermissions);
|
64
|
+
const { formatMessage } = reactIntl.useIntl();
|
65
|
+
const titleId = designSystem.useId();
|
66
|
+
const [updateLocale] = locales.useUpdateLocaleMutation();
|
67
|
+
const handleSubmit = async ({ code: _code, ...data }, helpers)=>{
|
68
|
+
try {
|
69
|
+
/**
|
70
|
+
* We don't need to send the code, because the
|
71
|
+
* code can never be changed.
|
72
|
+
*/ const res = await updateLocale({
|
73
|
+
id,
|
74
|
+
...data
|
75
|
+
});
|
76
|
+
if ('error' in res) {
|
77
|
+
if (baseQuery.isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
78
|
+
helpers.setErrors(formatValidationErrors(res.error));
|
79
|
+
} else {
|
80
|
+
toggleNotification({
|
81
|
+
type: 'danger',
|
82
|
+
message: formatAPIError(res.error)
|
83
|
+
});
|
84
|
+
}
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
toggleNotification({
|
88
|
+
type: 'success',
|
89
|
+
message: formatMessage({
|
90
|
+
id: getTranslation.getTranslation('Settings.locales.modal.edit.success'),
|
91
|
+
defaultMessage: 'Updated locale'
|
92
|
+
})
|
93
|
+
});
|
94
|
+
refetchPermissions();
|
95
|
+
onOpenChange(false);
|
96
|
+
} catch (err) {
|
97
|
+
toggleNotification({
|
98
|
+
type: 'danger',
|
99
|
+
message: formatMessage({
|
100
|
+
id: 'notification.error',
|
101
|
+
defaultMessage: 'An error occurred, please try again'
|
102
|
+
})
|
103
|
+
});
|
104
|
+
}
|
105
|
+
};
|
106
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Root, {
|
107
|
+
open: open,
|
108
|
+
onOpenChange: onOpenChange,
|
109
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Content, {
|
110
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Form, {
|
111
|
+
method: "PUT",
|
112
|
+
onSubmit: handleSubmit,
|
113
|
+
initialValues: {
|
114
|
+
code,
|
115
|
+
name,
|
116
|
+
isDefault
|
117
|
+
},
|
118
|
+
validationSchema: CreateLocale.LOCALE_SCHEMA,
|
119
|
+
children: [
|
120
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Header, {
|
121
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Title, {
|
122
|
+
children: formatMessage({
|
123
|
+
id: getTranslation.getTranslation('Settings.list.actions.edit'),
|
124
|
+
defaultMessage: 'Edit a locale'
|
125
|
+
}, {
|
126
|
+
name
|
127
|
+
})
|
128
|
+
})
|
129
|
+
}),
|
130
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Body, {
|
131
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tabs.Root, {
|
132
|
+
variant: "simple",
|
133
|
+
defaultValue: "basic",
|
134
|
+
children: [
|
135
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
136
|
+
justifyContent: "space-between",
|
137
|
+
children: [
|
138
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
139
|
+
tag: "h2",
|
140
|
+
variant: "beta",
|
141
|
+
id: titleId,
|
142
|
+
children: formatMessage({
|
143
|
+
id: getTranslation.getTranslation('Settings.locales.modal.title'),
|
144
|
+
defaultMessage: 'Configuration'
|
145
|
+
})
|
146
|
+
}),
|
147
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tabs.List, {
|
148
|
+
"aria-labelledby": titleId,
|
149
|
+
children: [
|
150
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Trigger, {
|
151
|
+
value: "basic",
|
152
|
+
children: formatMessage({
|
153
|
+
id: getTranslation.getTranslation('Settings.locales.modal.base'),
|
154
|
+
defaultMessage: 'Basic settings'
|
155
|
+
})
|
156
|
+
}),
|
157
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Trigger, {
|
158
|
+
value: "advanced",
|
159
|
+
children: formatMessage({
|
160
|
+
id: getTranslation.getTranslation('Settings.locales.modal.advanced'),
|
161
|
+
defaultMessage: 'Advanced settings'
|
162
|
+
})
|
163
|
+
})
|
164
|
+
]
|
165
|
+
})
|
166
|
+
]
|
167
|
+
}),
|
168
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Divider, {}),
|
169
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
170
|
+
paddingTop: 7,
|
171
|
+
paddingBottom: 7,
|
172
|
+
children: [
|
173
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Content, {
|
174
|
+
value: "basic",
|
175
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(CreateLocale.BaseForm, {
|
176
|
+
mode: "edit"
|
177
|
+
})
|
178
|
+
}),
|
179
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Content, {
|
180
|
+
value: "advanced",
|
181
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(CreateLocale.AdvancedForm, {
|
182
|
+
isDefaultLocale: isDefault
|
183
|
+
})
|
184
|
+
})
|
185
|
+
]
|
186
|
+
})
|
187
|
+
]
|
188
|
+
})
|
189
|
+
}),
|
190
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Footer, {
|
191
|
+
children: [
|
192
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Close, {
|
193
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
194
|
+
variant: "tertiary",
|
195
|
+
children: formatMessage({
|
196
|
+
id: 'app.components.Button.cancel',
|
197
|
+
defaultMessage: 'Cancel'
|
198
|
+
})
|
199
|
+
})
|
200
|
+
}),
|
201
|
+
/*#__PURE__*/ jsxRuntime.jsx(CreateLocale.SubmitButton, {})
|
202
|
+
]
|
203
|
+
})
|
204
|
+
]
|
205
|
+
})
|
206
|
+
})
|
207
|
+
});
|
208
|
+
};
|
209
|
+
|
210
|
+
exports.EditLocale = EditLocale;
|
211
|
+
exports.EditModal = EditModal;
|
212
|
+
//# sourceMappingURL=EditLocale.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditLocale.js","sources":["../../../admin/src/components/EditLocale.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotification,\n useAPIErrorHandler,\n Form,\n FormHelpers,\n useAuth,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Modal,\n Tabs,\n Typography,\n useId,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Locale, UpdateLocale } from '../../../shared/contracts/locales';\nimport { useUpdateLocaleMutation } from '../services/locales';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getTranslation } from '../utils/getTranslation';\n\nimport { AdvancedForm, BaseForm, LOCALE_SCHEMA, SubmitButton } from './CreateLocale';\n\n/* -------------------------------------------------------------------------------------------------\n * EditLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditLocaleProps extends Omit<EditModalProps, 'open' | 'onOpenChange'> {}\n\nconst EditLocale = (props: EditLocaleProps) => {\n const { formatMessage } = useIntl();\n const [visible, setVisible] = React.useState(false);\n\n return (\n <>\n <IconButton\n onClick={() => setVisible(true)}\n label={formatMessage(\n {\n id: getTranslation('Settings.list.actions.edit'),\n defaultMessage: 'Edit {name} locale',\n },\n {\n name: props.name,\n }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n <EditModal {...props} open={visible} onOpenChange={setVisible} />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditModalProps extends Pick<Locale, 'id' | 'isDefault' | 'name' | 'code'> {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}\n\ntype FormValues = UpdateLocale.Request['body'] & { code: string };\n\n/**\n * @internal\n * @description Exported to be used when someone clicks on a table row.\n */\nconst EditModal = ({ id, code, isDefault, name, open, onOpenChange }: EditModalProps) => {\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const refetchPermissions = useAuth('EditModal', (state) => state.refetchPermissions);\n const { formatMessage } = useIntl();\n const titleId = useId();\n\n const [updateLocale] = useUpdateLocaleMutation();\n const handleSubmit = async (\n { code: _code, ...data }: FormValues,\n helpers: FormHelpers<FormValues>\n ) => {\n try {\n /**\n * We don't need to send the code, because the\n * code can never be changed.\n */\n const res = await updateLocale({\n id,\n ...data,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n helpers.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('Settings.locales.modal.edit.success'),\n defaultMessage: 'Updated locale',\n }),\n });\n\n refetchPermissions();\n onOpenChange(false);\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n }),\n });\n }\n };\n\n return (\n <Modal.Root open={open} onOpenChange={onOpenChange}>\n <Modal.Content>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={{\n code,\n name,\n isDefault,\n }}\n validationSchema={LOCALE_SCHEMA}\n >\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.edit'),\n defaultMessage: 'Edit a locale',\n },\n {\n name,\n }\n )}\n </Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Tabs.Root variant=\"simple\" defaultValue=\"basic\">\n <Flex justifyContent=\"space-between\">\n <Typography tag=\"h2\" variant=\"beta\" id={titleId}>\n {formatMessage({\n id: getTranslation('Settings.locales.modal.title'),\n defaultMessage: 'Configuration',\n })}\n </Typography>\n <Tabs.List aria-labelledby={titleId}>\n <Tabs.Trigger value=\"basic\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.base'),\n defaultMessage: 'Basic settings',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"advanced\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.advanced'),\n defaultMessage: 'Advanced settings',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Flex>\n <Divider />\n <Box paddingTop={7} paddingBottom={7}>\n <Tabs.Content value=\"basic\">\n <BaseForm mode=\"edit\" />\n </Tabs.Content>\n <Tabs.Content value=\"advanced\">\n <AdvancedForm isDefaultLocale={isDefault} />\n </Tabs.Content>\n </Box>\n </Tabs.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <SubmitButton />\n </Modal.Footer>\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nexport { EditLocale, EditModal };\n"],"names":["EditLocale","props","formatMessage","useIntl","visible","setVisible","React","useState","_jsxs","_Fragment","_jsx","IconButton","onClick","label","id","getTranslation","defaultMessage","name","variant","Pencil","EditModal","open","onOpenChange","code","isDefault","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","refetchPermissions","useAuth","state","titleId","useId","updateLocale","useUpdateLocaleMutation","handleSubmit","_code","data","helpers","res","isBaseQueryError","error","setErrors","type","message","err","Modal","Root","Content","Form","method","onSubmit","initialValues","validationSchema","LOCALE_SCHEMA","Header","Title","Body","Tabs","defaultValue","Flex","justifyContent","Typography","tag","List","aria-labelledby","Trigger","value","Divider","Box","paddingTop","paddingBottom","BaseForm","mode","AdvancedForm","isDefaultLocale","Footer","Close","Button","SubmitButton"],"mappings":"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"}
|
@@ -0,0 +1,190 @@
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
2
|
+
import * as React from 'react';
|
3
|
+
import { useNotification, useAPIErrorHandler, useAuth, Form } from '@strapi/admin/strapi-admin';
|
4
|
+
import { IconButton, useId, Modal, Tabs, Flex, Typography, Divider, Box, Button } from '@strapi/design-system';
|
5
|
+
import { Pencil } from '@strapi/icons';
|
6
|
+
import { useIntl } from 'react-intl';
|
7
|
+
import { useUpdateLocaleMutation } from '../services/locales.mjs';
|
8
|
+
import { isBaseQueryError } from '../utils/baseQuery.mjs';
|
9
|
+
import { getTranslation } from '../utils/getTranslation.mjs';
|
10
|
+
import { LOCALE_SCHEMA, BaseForm, AdvancedForm, SubmitButton } from './CreateLocale.mjs';
|
11
|
+
|
12
|
+
const EditLocale = (props)=>{
|
13
|
+
const { formatMessage } = useIntl();
|
14
|
+
const [visible, setVisible] = React.useState(false);
|
15
|
+
return /*#__PURE__*/ jsxs(Fragment, {
|
16
|
+
children: [
|
17
|
+
/*#__PURE__*/ jsx(IconButton, {
|
18
|
+
onClick: ()=>setVisible(true),
|
19
|
+
label: formatMessage({
|
20
|
+
id: getTranslation('Settings.list.actions.edit'),
|
21
|
+
defaultMessage: 'Edit {name} locale'
|
22
|
+
}, {
|
23
|
+
name: props.name
|
24
|
+
}),
|
25
|
+
variant: "ghost",
|
26
|
+
children: /*#__PURE__*/ jsx(Pencil, {})
|
27
|
+
}),
|
28
|
+
/*#__PURE__*/ jsx(EditModal, {
|
29
|
+
...props,
|
30
|
+
open: visible,
|
31
|
+
onOpenChange: setVisible
|
32
|
+
})
|
33
|
+
]
|
34
|
+
});
|
35
|
+
};
|
36
|
+
/**
|
37
|
+
* @internal
|
38
|
+
* @description Exported to be used when someone clicks on a table row.
|
39
|
+
*/ const EditModal = ({ id, code, isDefault, name, open, onOpenChange })=>{
|
40
|
+
const { toggleNotification } = useNotification();
|
41
|
+
const { _unstableFormatAPIError: formatAPIError, _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
|
42
|
+
const refetchPermissions = useAuth('EditModal', (state)=>state.refetchPermissions);
|
43
|
+
const { formatMessage } = useIntl();
|
44
|
+
const titleId = useId();
|
45
|
+
const [updateLocale] = useUpdateLocaleMutation();
|
46
|
+
const handleSubmit = async ({ code: _code, ...data }, helpers)=>{
|
47
|
+
try {
|
48
|
+
/**
|
49
|
+
* We don't need to send the code, because the
|
50
|
+
* code can never be changed.
|
51
|
+
*/ const res = await updateLocale({
|
52
|
+
id,
|
53
|
+
...data
|
54
|
+
});
|
55
|
+
if ('error' in res) {
|
56
|
+
if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
57
|
+
helpers.setErrors(formatValidationErrors(res.error));
|
58
|
+
} else {
|
59
|
+
toggleNotification({
|
60
|
+
type: 'danger',
|
61
|
+
message: formatAPIError(res.error)
|
62
|
+
});
|
63
|
+
}
|
64
|
+
return;
|
65
|
+
}
|
66
|
+
toggleNotification({
|
67
|
+
type: 'success',
|
68
|
+
message: formatMessage({
|
69
|
+
id: getTranslation('Settings.locales.modal.edit.success'),
|
70
|
+
defaultMessage: 'Updated locale'
|
71
|
+
})
|
72
|
+
});
|
73
|
+
refetchPermissions();
|
74
|
+
onOpenChange(false);
|
75
|
+
} catch (err) {
|
76
|
+
toggleNotification({
|
77
|
+
type: 'danger',
|
78
|
+
message: formatMessage({
|
79
|
+
id: 'notification.error',
|
80
|
+
defaultMessage: 'An error occurred, please try again'
|
81
|
+
})
|
82
|
+
});
|
83
|
+
}
|
84
|
+
};
|
85
|
+
return /*#__PURE__*/ jsx(Modal.Root, {
|
86
|
+
open: open,
|
87
|
+
onOpenChange: onOpenChange,
|
88
|
+
children: /*#__PURE__*/ jsx(Modal.Content, {
|
89
|
+
children: /*#__PURE__*/ jsxs(Form, {
|
90
|
+
method: "PUT",
|
91
|
+
onSubmit: handleSubmit,
|
92
|
+
initialValues: {
|
93
|
+
code,
|
94
|
+
name,
|
95
|
+
isDefault
|
96
|
+
},
|
97
|
+
validationSchema: LOCALE_SCHEMA,
|
98
|
+
children: [
|
99
|
+
/*#__PURE__*/ jsx(Modal.Header, {
|
100
|
+
children: /*#__PURE__*/ jsx(Modal.Title, {
|
101
|
+
children: formatMessage({
|
102
|
+
id: getTranslation('Settings.list.actions.edit'),
|
103
|
+
defaultMessage: 'Edit a locale'
|
104
|
+
}, {
|
105
|
+
name
|
106
|
+
})
|
107
|
+
})
|
108
|
+
}),
|
109
|
+
/*#__PURE__*/ jsx(Modal.Body, {
|
110
|
+
children: /*#__PURE__*/ jsxs(Tabs.Root, {
|
111
|
+
variant: "simple",
|
112
|
+
defaultValue: "basic",
|
113
|
+
children: [
|
114
|
+
/*#__PURE__*/ jsxs(Flex, {
|
115
|
+
justifyContent: "space-between",
|
116
|
+
children: [
|
117
|
+
/*#__PURE__*/ jsx(Typography, {
|
118
|
+
tag: "h2",
|
119
|
+
variant: "beta",
|
120
|
+
id: titleId,
|
121
|
+
children: formatMessage({
|
122
|
+
id: getTranslation('Settings.locales.modal.title'),
|
123
|
+
defaultMessage: 'Configuration'
|
124
|
+
})
|
125
|
+
}),
|
126
|
+
/*#__PURE__*/ jsxs(Tabs.List, {
|
127
|
+
"aria-labelledby": titleId,
|
128
|
+
children: [
|
129
|
+
/*#__PURE__*/ jsx(Tabs.Trigger, {
|
130
|
+
value: "basic",
|
131
|
+
children: formatMessage({
|
132
|
+
id: getTranslation('Settings.locales.modal.base'),
|
133
|
+
defaultMessage: 'Basic settings'
|
134
|
+
})
|
135
|
+
}),
|
136
|
+
/*#__PURE__*/ jsx(Tabs.Trigger, {
|
137
|
+
value: "advanced",
|
138
|
+
children: formatMessage({
|
139
|
+
id: getTranslation('Settings.locales.modal.advanced'),
|
140
|
+
defaultMessage: 'Advanced settings'
|
141
|
+
})
|
142
|
+
})
|
143
|
+
]
|
144
|
+
})
|
145
|
+
]
|
146
|
+
}),
|
147
|
+
/*#__PURE__*/ jsx(Divider, {}),
|
148
|
+
/*#__PURE__*/ jsxs(Box, {
|
149
|
+
paddingTop: 7,
|
150
|
+
paddingBottom: 7,
|
151
|
+
children: [
|
152
|
+
/*#__PURE__*/ jsx(Tabs.Content, {
|
153
|
+
value: "basic",
|
154
|
+
children: /*#__PURE__*/ jsx(BaseForm, {
|
155
|
+
mode: "edit"
|
156
|
+
})
|
157
|
+
}),
|
158
|
+
/*#__PURE__*/ jsx(Tabs.Content, {
|
159
|
+
value: "advanced",
|
160
|
+
children: /*#__PURE__*/ jsx(AdvancedForm, {
|
161
|
+
isDefaultLocale: isDefault
|
162
|
+
})
|
163
|
+
})
|
164
|
+
]
|
165
|
+
})
|
166
|
+
]
|
167
|
+
})
|
168
|
+
}),
|
169
|
+
/*#__PURE__*/ jsxs(Modal.Footer, {
|
170
|
+
children: [
|
171
|
+
/*#__PURE__*/ jsx(Modal.Close, {
|
172
|
+
children: /*#__PURE__*/ jsx(Button, {
|
173
|
+
variant: "tertiary",
|
174
|
+
children: formatMessage({
|
175
|
+
id: 'app.components.Button.cancel',
|
176
|
+
defaultMessage: 'Cancel'
|
177
|
+
})
|
178
|
+
})
|
179
|
+
}),
|
180
|
+
/*#__PURE__*/ jsx(SubmitButton, {})
|
181
|
+
]
|
182
|
+
})
|
183
|
+
]
|
184
|
+
})
|
185
|
+
})
|
186
|
+
});
|
187
|
+
};
|
188
|
+
|
189
|
+
export { EditLocale, EditModal };
|
190
|
+
//# sourceMappingURL=EditLocale.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditLocale.mjs","sources":["../../../admin/src/components/EditLocale.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotification,\n useAPIErrorHandler,\n Form,\n FormHelpers,\n useAuth,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Modal,\n Tabs,\n Typography,\n useId,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Locale, UpdateLocale } from '../../../shared/contracts/locales';\nimport { useUpdateLocaleMutation } from '../services/locales';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getTranslation } from '../utils/getTranslation';\n\nimport { AdvancedForm, BaseForm, LOCALE_SCHEMA, SubmitButton } from './CreateLocale';\n\n/* -------------------------------------------------------------------------------------------------\n * EditLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditLocaleProps extends Omit<EditModalProps, 'open' | 'onOpenChange'> {}\n\nconst EditLocale = (props: EditLocaleProps) => {\n const { formatMessage } = useIntl();\n const [visible, setVisible] = React.useState(false);\n\n return (\n <>\n <IconButton\n onClick={() => setVisible(true)}\n label={formatMessage(\n {\n id: getTranslation('Settings.list.actions.edit'),\n defaultMessage: 'Edit {name} locale',\n },\n {\n name: props.name,\n }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n <EditModal {...props} open={visible} onOpenChange={setVisible} />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditModalProps extends Pick<Locale, 'id' | 'isDefault' | 'name' | 'code'> {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}\n\ntype FormValues = UpdateLocale.Request['body'] & { code: string };\n\n/**\n * @internal\n * @description Exported to be used when someone clicks on a table row.\n */\nconst EditModal = ({ id, code, isDefault, name, open, onOpenChange }: EditModalProps) => {\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const refetchPermissions = useAuth('EditModal', (state) => state.refetchPermissions);\n const { formatMessage } = useIntl();\n const titleId = useId();\n\n const [updateLocale] = useUpdateLocaleMutation();\n const handleSubmit = async (\n { code: _code, ...data }: FormValues,\n helpers: FormHelpers<FormValues>\n ) => {\n try {\n /**\n * We don't need to send the code, because the\n * code can never be changed.\n */\n const res = await updateLocale({\n id,\n ...data,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n helpers.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('Settings.locales.modal.edit.success'),\n defaultMessage: 'Updated locale',\n }),\n });\n\n refetchPermissions();\n onOpenChange(false);\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n }),\n });\n }\n };\n\n return (\n <Modal.Root open={open} onOpenChange={onOpenChange}>\n <Modal.Content>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={{\n code,\n name,\n isDefault,\n }}\n validationSchema={LOCALE_SCHEMA}\n >\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.edit'),\n defaultMessage: 'Edit a locale',\n },\n {\n name,\n }\n )}\n </Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Tabs.Root variant=\"simple\" defaultValue=\"basic\">\n <Flex justifyContent=\"space-between\">\n <Typography tag=\"h2\" variant=\"beta\" id={titleId}>\n {formatMessage({\n id: getTranslation('Settings.locales.modal.title'),\n defaultMessage: 'Configuration',\n })}\n </Typography>\n <Tabs.List aria-labelledby={titleId}>\n <Tabs.Trigger value=\"basic\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.base'),\n defaultMessage: 'Basic settings',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"advanced\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.advanced'),\n defaultMessage: 'Advanced settings',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Flex>\n <Divider />\n <Box paddingTop={7} paddingBottom={7}>\n <Tabs.Content value=\"basic\">\n <BaseForm mode=\"edit\" />\n </Tabs.Content>\n <Tabs.Content value=\"advanced\">\n <AdvancedForm isDefaultLocale={isDefault} />\n </Tabs.Content>\n </Box>\n </Tabs.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <SubmitButton />\n </Modal.Footer>\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nexport { EditLocale, EditModal };\n"],"names":["EditLocale","props","formatMessage","useIntl","visible","setVisible","React","useState","_jsxs","_Fragment","_jsx","IconButton","onClick","label","id","getTranslation","defaultMessage","name","variant","Pencil","EditModal","open","onOpenChange","code","isDefault","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","refetchPermissions","useAuth","state","titleId","useId","updateLocale","useUpdateLocaleMutation","handleSubmit","_code","data","helpers","res","isBaseQueryError","error","setErrors","type","message","err","Modal","Root","Content","Form","method","onSubmit","initialValues","validationSchema","LOCALE_SCHEMA","Header","Title","Body","Tabs","defaultValue","Flex","justifyContent","Typography","tag","List","aria-labelledby","Trigger","value","Divider","Box","paddingTop","paddingBottom","BaseForm","mode","AdvancedForm","isDefaultLocale","Footer","Close","Button","SubmitButton"],"mappings":"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"}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
4
|
+
var designSystem = require('@strapi/design-system');
|
5
|
+
var icons = require('@strapi/icons');
|
6
|
+
var reactIntl = require('react-intl');
|
7
|
+
var locales = require('../services/locales.js');
|
8
|
+
|
9
|
+
const LocaleListCell = ({ locale: currentLocale, localizations })=>{
|
10
|
+
const { locale: language } = reactIntl.useIntl();
|
11
|
+
const { data: locales$1 = [] } = locales.useGetLocalesQuery();
|
12
|
+
const formatter = designSystem.useCollator(language, {
|
13
|
+
sensitivity: 'base'
|
14
|
+
});
|
15
|
+
if (!Array.isArray(locales$1) || !localizations) {
|
16
|
+
return null;
|
17
|
+
}
|
18
|
+
const availableLocales = localizations.map((loc)=>loc.locale);
|
19
|
+
const localesForDocument = locales$1.reduce((acc, locale)=>{
|
20
|
+
const createdLocale = [
|
21
|
+
currentLocale,
|
22
|
+
...availableLocales
|
23
|
+
].find((loc)=>{
|
24
|
+
return loc === locale.code;
|
25
|
+
});
|
26
|
+
if (createdLocale) {
|
27
|
+
acc.push(locale);
|
28
|
+
}
|
29
|
+
return acc;
|
30
|
+
}, []).map((locale)=>{
|
31
|
+
if (locale.isDefault) {
|
32
|
+
return `${locale.name} (default)`;
|
33
|
+
}
|
34
|
+
return locale.name;
|
35
|
+
}).toSorted((a, b)=>formatter.compare(a, b));
|
36
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Popover.Root, {
|
37
|
+
children: [
|
38
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Popover.Trigger, {
|
39
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
40
|
+
variant: "ghost",
|
41
|
+
type: "button",
|
42
|
+
onClick: (e)=>e.stopPropagation(),
|
43
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
44
|
+
minWidth: "100%",
|
45
|
+
alignItems: "center",
|
46
|
+
justifyContent: "center",
|
47
|
+
fontWeight: "regular",
|
48
|
+
children: [
|
49
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
50
|
+
textColor: "neutral800",
|
51
|
+
ellipsis: true,
|
52
|
+
marginRight: 2,
|
53
|
+
children: localesForDocument.join(', ')
|
54
|
+
}),
|
55
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
56
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(icons.CaretDown, {
|
57
|
+
width: "1.2rem",
|
58
|
+
height: "1.2rem"
|
59
|
+
})
|
60
|
+
})
|
61
|
+
]
|
62
|
+
})
|
63
|
+
})
|
64
|
+
}),
|
65
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Popover.Content, {
|
66
|
+
sideOffset: 16,
|
67
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("ul", {
|
68
|
+
children: localesForDocument.map((name)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
69
|
+
padding: 3,
|
70
|
+
tag: "li",
|
71
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
72
|
+
children: name
|
73
|
+
})
|
74
|
+
}, name))
|
75
|
+
})
|
76
|
+
})
|
77
|
+
]
|
78
|
+
});
|
79
|
+
};
|
80
|
+
|
81
|
+
exports.LocaleListCell = LocaleListCell;
|
82
|
+
//# sourceMappingURL=LocaleListCell.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LocaleListCell.js","sources":["../../../admin/src/components/LocaleListCell.tsx"],"sourcesContent":["import { Box, Flex, Popover, Typography, useCollator, Button } from '@strapi/design-system';\nimport { CaretDown } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Locale } from '../../../shared/contracts/locales';\nimport { useGetLocalesQuery } from '../services/locales';\n\ninterface LocaleListCellProps {\n localizations: { locale: string }[];\n locale: string;\n}\n\nconst LocaleListCell = ({ locale: currentLocale, localizations }: LocaleListCellProps) => {\n const { locale: language } = useIntl();\n const { data: locales = [] } = useGetLocalesQuery();\n const formatter = useCollator(language, {\n sensitivity: 'base',\n });\n\n if (!Array.isArray(locales) || !localizations) {\n return null;\n }\n\n const availableLocales = localizations.map((loc) => loc.locale);\n\n const localesForDocument = locales\n .reduce<Locale[]>((acc, locale) => {\n const createdLocale = [currentLocale, ...availableLocales].find((loc) => {\n return loc === locale.code;\n });\n\n if (createdLocale) {\n acc.push(locale);\n }\n\n return acc;\n }, [])\n .map((locale) => {\n if (locale.isDefault) {\n return `${locale.name} (default)`;\n }\n\n return locale.name;\n })\n .toSorted((a, b) => formatter.compare(a, b));\n\n return (\n <Popover.Root>\n <Popover.Trigger>\n <Button variant=\"ghost\" type=\"button\" onClick={(e) => e.stopPropagation()}>\n <Flex minWidth=\"100%\" alignItems=\"center\" justifyContent=\"center\" fontWeight=\"regular\">\n <Typography textColor=\"neutral800\" ellipsis marginRight={2}>\n {localesForDocument.join(', ')}\n </Typography>\n <Flex>\n <CaretDown width=\"1.2rem\" height=\"1.2rem\" />\n </Flex>\n </Flex>\n </Button>\n </Popover.Trigger>\n <Popover.Content sideOffset={16}>\n <ul>\n {localesForDocument.map((name) => (\n <Box key={name} padding={3} tag=\"li\">\n <Typography>{name}</Typography>\n </Box>\n ))}\n </ul>\n </Popover.Content>\n </Popover.Root>\n );\n};\n\nexport { LocaleListCell };\nexport type { LocaleListCellProps };\n"],"names":["LocaleListCell","locale","currentLocale","localizations","language","useIntl","data","locales","useGetLocalesQuery","formatter","useCollator","sensitivity","Array","isArray","availableLocales","map","loc","localesForDocument","reduce","acc","createdLocale","find","code","push","isDefault","name","toSorted","a","b","compare","_jsxs","Popover","Root","_jsx","Trigger","Button","variant","type","onClick","e","stopPropagation","Flex","minWidth","alignItems","justifyContent","fontWeight","Typography","textColor","ellipsis","marginRight","join","CaretDown","width","height","Content","sideOffset","ul","Box","padding","tag"],"mappings":"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"}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
2
|
+
import { useCollator, Popover, Button, Flex, Typography, Box } from '@strapi/design-system';
|
3
|
+
import { CaretDown } from '@strapi/icons';
|
4
|
+
import { useIntl } from 'react-intl';
|
5
|
+
import { useGetLocalesQuery } from '../services/locales.mjs';
|
6
|
+
|
7
|
+
const LocaleListCell = ({ locale: currentLocale, localizations })=>{
|
8
|
+
const { locale: language } = useIntl();
|
9
|
+
const { data: locales = [] } = useGetLocalesQuery();
|
10
|
+
const formatter = useCollator(language, {
|
11
|
+
sensitivity: 'base'
|
12
|
+
});
|
13
|
+
if (!Array.isArray(locales) || !localizations) {
|
14
|
+
return null;
|
15
|
+
}
|
16
|
+
const availableLocales = localizations.map((loc)=>loc.locale);
|
17
|
+
const localesForDocument = locales.reduce((acc, locale)=>{
|
18
|
+
const createdLocale = [
|
19
|
+
currentLocale,
|
20
|
+
...availableLocales
|
21
|
+
].find((loc)=>{
|
22
|
+
return loc === locale.code;
|
23
|
+
});
|
24
|
+
if (createdLocale) {
|
25
|
+
acc.push(locale);
|
26
|
+
}
|
27
|
+
return acc;
|
28
|
+
}, []).map((locale)=>{
|
29
|
+
if (locale.isDefault) {
|
30
|
+
return `${locale.name} (default)`;
|
31
|
+
}
|
32
|
+
return locale.name;
|
33
|
+
}).toSorted((a, b)=>formatter.compare(a, b));
|
34
|
+
return /*#__PURE__*/ jsxs(Popover.Root, {
|
35
|
+
children: [
|
36
|
+
/*#__PURE__*/ jsx(Popover.Trigger, {
|
37
|
+
children: /*#__PURE__*/ jsx(Button, {
|
38
|
+
variant: "ghost",
|
39
|
+
type: "button",
|
40
|
+
onClick: (e)=>e.stopPropagation(),
|
41
|
+
children: /*#__PURE__*/ jsxs(Flex, {
|
42
|
+
minWidth: "100%",
|
43
|
+
alignItems: "center",
|
44
|
+
justifyContent: "center",
|
45
|
+
fontWeight: "regular",
|
46
|
+
children: [
|
47
|
+
/*#__PURE__*/ jsx(Typography, {
|
48
|
+
textColor: "neutral800",
|
49
|
+
ellipsis: true,
|
50
|
+
marginRight: 2,
|
51
|
+
children: localesForDocument.join(', ')
|
52
|
+
}),
|
53
|
+
/*#__PURE__*/ jsx(Flex, {
|
54
|
+
children: /*#__PURE__*/ jsx(CaretDown, {
|
55
|
+
width: "1.2rem",
|
56
|
+
height: "1.2rem"
|
57
|
+
})
|
58
|
+
})
|
59
|
+
]
|
60
|
+
})
|
61
|
+
})
|
62
|
+
}),
|
63
|
+
/*#__PURE__*/ jsx(Popover.Content, {
|
64
|
+
sideOffset: 16,
|
65
|
+
children: /*#__PURE__*/ jsx("ul", {
|
66
|
+
children: localesForDocument.map((name)=>/*#__PURE__*/ jsx(Box, {
|
67
|
+
padding: 3,
|
68
|
+
tag: "li",
|
69
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
70
|
+
children: name
|
71
|
+
})
|
72
|
+
}, name))
|
73
|
+
})
|
74
|
+
})
|
75
|
+
]
|
76
|
+
});
|
77
|
+
};
|
78
|
+
|
79
|
+
export { LocaleListCell };
|
80
|
+
//# sourceMappingURL=LocaleListCell.mjs.map
|