@strapi/i18n 0.0.0-experimental.826f263c58b6886b849d3f03b81f7a530bc51c91 → 0.0.0-experimental.82afe56cecefd0078d534e25909834ecf5fdd404

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.
Files changed (117) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{SettingsPage-0FFSTUW2.mjs → SettingsPage-B-KzAqT3.mjs} +95 -108
  3. package/dist/_chunks/SettingsPage-B-KzAqT3.mjs.map +1 -0
  4. package/dist/_chunks/{SettingsPage-DnLLGeBa.js → SettingsPage-hyOi94O9.js} +94 -108
  5. package/dist/_chunks/SettingsPage-hyOi94O9.js.map +1 -0
  6. package/dist/_chunks/{de-DtWiGdHl.js → de-BOhNX_-5.js} +1 -2
  7. package/dist/_chunks/de-BOhNX_-5.js.map +1 -0
  8. package/dist/_chunks/{de-9eCAqqrB.mjs → de-D80IRBP9.mjs} +1 -2
  9. package/dist/_chunks/de-D80IRBP9.mjs.map +1 -0
  10. package/dist/_chunks/{dk-2qBjxt-P.mjs → dk-CJ6Zzz78.mjs} +1 -2
  11. package/dist/_chunks/dk-CJ6Zzz78.mjs.map +1 -0
  12. package/dist/_chunks/{dk-D8C-casx.js → dk-cjXm0p3m.js} +1 -2
  13. package/dist/_chunks/dk-cjXm0p3m.js.map +1 -0
  14. package/dist/_chunks/{en-18tWw4P6.mjs → en-BTyF7WVW.mjs} +12 -4
  15. package/dist/_chunks/en-BTyF7WVW.mjs.map +1 -0
  16. package/dist/_chunks/{en-Kv6y9zPQ.js → en-UlC0jh2t.js} +12 -4
  17. package/dist/_chunks/en-UlC0jh2t.js.map +1 -0
  18. package/dist/_chunks/{es-DlmMVaBG.mjs → es-V8WnPN7w.mjs} +1 -2
  19. package/dist/_chunks/es-V8WnPN7w.mjs.map +1 -0
  20. package/dist/_chunks/{es-DS-XFGSw.js → es-hr9b_HLp.js} +1 -2
  21. package/dist/_chunks/es-hr9b_HLp.js.map +1 -0
  22. package/dist/_chunks/{fr-BTjekDpq.js → fr-BFmBbE0H.js} +1 -2
  23. package/dist/_chunks/fr-BFmBbE0H.js.map +1 -0
  24. package/dist/_chunks/{fr-3S6ke71d.mjs → fr-F94noFiV.mjs} +1 -2
  25. package/dist/_chunks/fr-F94noFiV.mjs.map +1 -0
  26. package/dist/_chunks/{index-BddUXwss.mjs → index-BcYj5jo9.mjs} +476 -275
  27. package/dist/_chunks/index-BcYj5jo9.mjs.map +1 -0
  28. package/dist/_chunks/{index-DtEKsPcR.js → index-C8NzsAKp.js} +483 -283
  29. package/dist/_chunks/index-C8NzsAKp.js.map +1 -0
  30. package/dist/_chunks/{ko-DmcGUBQ3.js → ko-C40pNQ9b.js} +1 -2
  31. package/dist/_chunks/ko-C40pNQ9b.js.map +1 -0
  32. package/dist/_chunks/{ko-qTjQ8IMw.mjs → ko-CF-P3Car.mjs} +1 -2
  33. package/dist/_chunks/ko-CF-P3Car.mjs.map +1 -0
  34. package/dist/_chunks/{pl-B67TSHqT.mjs → pl-Dxr9RUmD.mjs} +1 -2
  35. package/dist/_chunks/pl-Dxr9RUmD.mjs.map +1 -0
  36. package/dist/_chunks/{pl-Cn5RYonZ.js → pl-JtWBy-JQ.js} +1 -2
  37. package/dist/_chunks/pl-JtWBy-JQ.js.map +1 -0
  38. package/dist/_chunks/{ru-hagMa57T.mjs → ru-B-4sVwXN.mjs} +1 -2
  39. package/dist/_chunks/ru-B-4sVwXN.mjs.map +1 -0
  40. package/dist/_chunks/{ru-BMBgVL3s.js → ru-COSWt3Nu.js} +1 -2
  41. package/dist/_chunks/ru-COSWt3Nu.js.map +1 -0
  42. package/dist/_chunks/{tr-CarUU76c.js → tr-BVj1O5ch.js} +1 -2
  43. package/dist/_chunks/tr-BVj1O5ch.js.map +1 -0
  44. package/dist/_chunks/{tr-Dw_jmkG-.mjs → tr-Ccu6Yj11.mjs} +1 -2
  45. package/dist/_chunks/tr-Ccu6Yj11.mjs.map +1 -0
  46. package/dist/_chunks/{zh-57YM4amO.mjs → zh-BIz395Ms.mjs} +1 -2
  47. package/dist/_chunks/zh-BIz395Ms.mjs.map +1 -0
  48. package/dist/_chunks/{zh-Hans-Dyc-aR-h.mjs → zh-Hans-Bfo6_TCM.mjs} +1 -2
  49. package/dist/_chunks/zh-Hans-Bfo6_TCM.mjs.map +1 -0
  50. package/dist/_chunks/{zh-Hans-DSHIXAa3.js → zh-Hans-DIEm_EMC.js} +1 -2
  51. package/dist/_chunks/zh-Hans-DIEm_EMC.js.map +1 -0
  52. package/dist/_chunks/{zh-CukOviB0.js → zh-wkBPBkhc.js} +1 -2
  53. package/dist/_chunks/zh-wkBPBkhc.js.map +1 -0
  54. package/dist/admin/index.js +1 -1
  55. package/dist/admin/index.mjs +1 -1
  56. package/dist/admin/src/components/BulkLocaleActionModal.d.ts +2 -1
  57. package/dist/admin/src/components/CMHeaderActions.d.ts +29 -3
  58. package/dist/admin/src/components/CreateLocale.d.ts +6 -6
  59. package/dist/admin/src/components/EditLocale.d.ts +5 -4
  60. package/dist/admin/src/components/LocaleListCell.d.ts +4 -4
  61. package/dist/admin/src/contentReleasesHooks/releaseDetailsView.d.ts +9 -5
  62. package/dist/admin/src/utils/clean.d.ts +4 -0
  63. package/dist/admin/src/utils/schemas.d.ts +1 -0
  64. package/dist/server/index.js +418 -478
  65. package/dist/server/index.js.map +1 -1
  66. package/dist/server/index.mjs +419 -478
  67. package/dist/server/index.mjs.map +1 -1
  68. package/dist/server/src/bootstrap.d.ts +1 -4
  69. package/dist/server/src/bootstrap.d.ts.map +1 -1
  70. package/dist/server/src/index.d.ts +21 -13
  71. package/dist/server/src/index.d.ts.map +1 -1
  72. package/dist/server/src/register.d.ts.map +1 -1
  73. package/dist/server/src/services/index.d.ts +20 -10
  74. package/dist/server/src/services/index.d.ts.map +1 -1
  75. package/dist/server/src/services/permissions/actions.d.ts +14 -2
  76. package/dist/server/src/services/permissions/actions.d.ts.map +1 -1
  77. package/dist/server/src/services/permissions.d.ts +14 -2
  78. package/dist/server/src/services/permissions.d.ts.map +1 -1
  79. package/dist/server/src/services/sanitize/index.d.ts +11 -0
  80. package/dist/server/src/services/sanitize/index.d.ts.map +1 -0
  81. package/dist/server/src/utils/index.d.ts +2 -2
  82. package/dist/server/src/utils/index.d.ts.map +1 -1
  83. package/package.json +13 -14
  84. package/dist/_chunks/SettingsPage-0FFSTUW2.mjs.map +0 -1
  85. package/dist/_chunks/SettingsPage-DnLLGeBa.js.map +0 -1
  86. package/dist/_chunks/de-9eCAqqrB.mjs.map +0 -1
  87. package/dist/_chunks/de-DtWiGdHl.js.map +0 -1
  88. package/dist/_chunks/dk-2qBjxt-P.mjs.map +0 -1
  89. package/dist/_chunks/dk-D8C-casx.js.map +0 -1
  90. package/dist/_chunks/en-18tWw4P6.mjs.map +0 -1
  91. package/dist/_chunks/en-Kv6y9zPQ.js.map +0 -1
  92. package/dist/_chunks/es-DS-XFGSw.js.map +0 -1
  93. package/dist/_chunks/es-DlmMVaBG.mjs.map +0 -1
  94. package/dist/_chunks/fr-3S6ke71d.mjs.map +0 -1
  95. package/dist/_chunks/fr-BTjekDpq.js.map +0 -1
  96. package/dist/_chunks/index-BddUXwss.mjs.map +0 -1
  97. package/dist/_chunks/index-DtEKsPcR.js.map +0 -1
  98. package/dist/_chunks/ko-DmcGUBQ3.js.map +0 -1
  99. package/dist/_chunks/ko-qTjQ8IMw.mjs.map +0 -1
  100. package/dist/_chunks/pl-B67TSHqT.mjs.map +0 -1
  101. package/dist/_chunks/pl-Cn5RYonZ.js.map +0 -1
  102. package/dist/_chunks/ru-BMBgVL3s.js.map +0 -1
  103. package/dist/_chunks/ru-hagMa57T.mjs.map +0 -1
  104. package/dist/_chunks/tr-CarUU76c.js.map +0 -1
  105. package/dist/_chunks/tr-Dw_jmkG-.mjs.map +0 -1
  106. package/dist/_chunks/zh-57YM4amO.mjs.map +0 -1
  107. package/dist/_chunks/zh-CukOviB0.js.map +0 -1
  108. package/dist/_chunks/zh-Hans-DSHIXAa3.js.map +0 -1
  109. package/dist/_chunks/zh-Hans-Dyc-aR-h.mjs.map +0 -1
  110. package/dist/admin/src/components/Initializer.d.ts +0 -5
  111. package/dist/server/src/migrations/content-type/disable/index.d.ts +0 -3
  112. package/dist/server/src/migrations/content-type/disable/index.d.ts.map +0 -1
  113. package/dist/server/src/migrations/content-type/enable/index.d.ts +0 -3
  114. package/dist/server/src/migrations/content-type/enable/index.d.ts.map +0 -1
  115. package/dist/server/src/services/entity-service-decorator.d.ts +0 -29
  116. package/dist/server/src/services/entity-service-decorator.d.ts.map +0 -1
  117. package/strapi-server.js +0 -3
@@ -8,10 +8,9 @@ const symbols = require("@strapi/icons/symbols");
8
8
  const reactIntl = require("react-intl");
9
9
  const icons = require("@strapi/icons");
10
10
  const yup = require("yup");
11
- const index = require("./index-DtEKsPcR.js");
11
+ const index = require("./index-C8NzsAKp.js");
12
12
  function _interopNamespace(e) {
13
- if (e && e.__esModule)
14
- return e;
13
+ if (e && e.__esModule) return e;
15
14
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
16
15
  if (e) {
17
16
  for (const k in e) {
@@ -35,8 +34,8 @@ const isBaseQueryError = (error) => {
35
34
  const CreateLocale = ({ disabled, variant = "default" }) => {
36
35
  const { formatMessage } = reactIntl.useIntl();
37
36
  const [visible, setVisible] = React__namespace.useState(false);
38
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
39
- /* @__PURE__ */ jsxRuntime.jsx(
37
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Root, { open: visible, onOpenChange: setVisible, children: [
38
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
40
39
  designSystem.Button,
41
40
  {
42
41
  variant,
@@ -49,16 +48,16 @@ const CreateLocale = ({ disabled, variant = "default" }) => {
49
48
  defaultMessage: "Add new locale"
50
49
  })
51
50
  }
52
- ),
53
- visible ? /* @__PURE__ */ jsxRuntime.jsx(CreateModal, { onClose: () => setVisible(false) }) : null
51
+ ) }),
52
+ /* @__PURE__ */ jsxRuntime.jsx(CreateModal, { onClose: () => setVisible(false) })
54
53
  ] });
55
54
  };
56
55
  const LOCALE_SCHEMA = yup__namespace.object().shape({
57
- code: yup__namespace.string().required({
56
+ code: yup__namespace.string().nullable().required({
58
57
  id: "Settings.locales.modal.create.code.error",
59
58
  defaultMessage: "Please select a locale"
60
59
  }),
61
- name: yup__namespace.string().max(50, {
60
+ name: yup__namespace.string().nullable().max(50, {
62
61
  id: "Settings.locales.modal.create.name.error.min",
63
62
  defaultMessage: "The locale display name can only be less than 50 characters."
64
63
  }).required({
@@ -73,6 +72,7 @@ const initialFormValues = {
73
72
  isDefault: false
74
73
  };
75
74
  const CreateModal = ({ onClose }) => {
75
+ const titleId = designSystem.useId();
76
76
  const { toggleNotification } = strapiAdmin.useNotification();
77
77
  const {
78
78
  _unstableFormatAPIError: formatAPIError,
@@ -111,8 +111,7 @@ const CreateModal = ({ onClose }) => {
111
111
  });
112
112
  }
113
113
  };
114
- const titleId = React__namespace.useId();
115
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalLayout, { onClose, labelledBy: titleId, children: /* @__PURE__ */ jsxRuntime.jsxs(
114
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(
116
115
  strapiAdmin.Form,
117
116
  {
118
117
  method: "POST",
@@ -120,50 +119,37 @@ const CreateModal = ({ onClose }) => {
120
119
  validationSchema: LOCALE_SCHEMA,
121
120
  onSubmit: handleSubmit,
122
121
  children: [
123
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id: titleId, children: formatMessage({
122
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
124
123
  id: index.getTranslation("Settings.list.actions.add"),
125
124
  defaultMessage: "Add new locale"
126
125
  }) }) }),
127
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(
128
- designSystem.TabGroup,
129
- {
130
- label: formatMessage({
126
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.Root, { variant: "simple", defaultValue: "basic", children: [
127
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
128
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "beta", id: titleId, children: formatMessage({
131
129
  id: index.getTranslation("Settings.locales.modal.title"),
132
- defaultMessage: "Configurations"
133
- }),
134
- variant: "simple",
135
- children: [
136
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
137
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "beta", children: formatMessage({
138
- id: index.getTranslation("Settings.locales.modal.title"),
139
- defaultMessage: "Configuration"
140
- }) }),
141
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs, { children: [
142
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
143
- id: index.getTranslation("Settings.locales.modal.base"),
144
- defaultMessage: "Basic settings"
145
- }) }),
146
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
147
- id: index.getTranslation("Settings.locales.modal.advanced"),
148
- defaultMessage: "Advanced settings"
149
- }) })
150
- ] })
151
- ] }),
152
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
153
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 7, paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.TabPanels, { children: [
154
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(BaseForm, {}) }),
155
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, {}) })
156
- ] }) })
157
- ]
158
- }
159
- ) }),
160
- /* @__PURE__ */ jsxRuntime.jsx(
161
- designSystem.ModalFooter,
162
- {
163
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: onClose, children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
164
- endActions: /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
165
- }
166
- )
130
+ defaultMessage: "Configuration"
131
+ }) }),
132
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.List, { "aria-labelledby": titleId, children: [
133
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "basic", children: formatMessage({
134
+ id: index.getTranslation("Settings.locales.modal.base"),
135
+ defaultMessage: "Basic settings"
136
+ }) }),
137
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "advanced", children: formatMessage({
138
+ id: index.getTranslation("Settings.locales.modal.advanced"),
139
+ defaultMessage: "Advanced settings"
140
+ }) })
141
+ ] })
142
+ ] }),
143
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
144
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingTop: 7, paddingBottom: 7, children: [
145
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "basic", children: /* @__PURE__ */ jsxRuntime.jsx(BaseForm, {}) }),
146
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "advanced", children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, {}) })
147
+ ] })
148
+ ] }) }),
149
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
150
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }) }),
151
+ /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
152
+ ] })
167
153
  ]
168
154
  }
169
155
  ) });
@@ -231,7 +217,7 @@ const BaseForm = ({ mode = "create" }) => {
231
217
  label: formatMessage(field.label),
232
218
  placeholder: field.placeholder ? formatMessage(field.placeholder) : void 0
233
219
  }));
234
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: translatedForm.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, children: /* @__PURE__ */ jsxRuntime.jsx(FormRenderer, { ...field }) }, field.name)) });
220
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: translatedForm.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(FormRenderer, { ...field }) }, field.name)) });
235
221
  };
236
222
  const AdvancedForm = ({ isDefaultLocale }) => {
237
223
  const { formatMessage } = reactIntl.useIntl();
@@ -255,7 +241,7 @@ const AdvancedForm = ({ isDefaultLocale }) => {
255
241
  hint: field.hint ? formatMessage(field.hint) : void 0,
256
242
  label: formatMessage(field.label)
257
243
  }));
258
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: form.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, children: /* @__PURE__ */ jsxRuntime.jsx(FormRenderer, { ...field }) }, field.name)) });
244
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: form.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(FormRenderer, { ...field }) }, field.name)) });
259
245
  };
260
246
  const FormRenderer = (field) => {
261
247
  switch (field.type) {
@@ -321,6 +307,7 @@ const DeleteLocale = ({ id, name }) => {
321
307
  defaultMessage: "Deleted locale"
322
308
  })
323
309
  });
310
+ setVisible(false);
324
311
  } catch (err) {
325
312
  toggleNotification({
326
313
  type: "danger",
@@ -331,8 +318,8 @@ const DeleteLocale = ({ id, name }) => {
331
318
  });
332
319
  }
333
320
  };
334
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
335
- /* @__PURE__ */ jsxRuntime.jsx(
321
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Root, { open: visible, onOpenChange: setVisible, children: [
322
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
336
323
  designSystem.IconButton,
337
324
  {
338
325
  onClick: () => setVisible(true),
@@ -345,11 +332,11 @@ const DeleteLocale = ({ id, name }) => {
345
332
  name
346
333
  }
347
334
  ),
348
- borderWidth: 0,
335
+ variant: "ghost",
349
336
  children: /* @__PURE__ */ jsxRuntime.jsx(icons.Trash, {})
350
337
  }
351
- ),
352
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirm, onClose: () => setVisible(false), isOpen: visible })
338
+ ) }),
339
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirm })
353
340
  ] });
354
341
  };
355
342
  const EditLocale = (props) => {
@@ -369,14 +356,14 @@ const EditLocale = (props) => {
369
356
  name: props.name
370
357
  }
371
358
  ),
372
- borderWidth: 0,
359
+ variant: "ghost",
373
360
  children: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {})
374
361
  }
375
362
  ),
376
- visible ? /* @__PURE__ */ jsxRuntime.jsx(EditModal, { ...props, onClose: () => setVisible(false) }) : null
363
+ /* @__PURE__ */ jsxRuntime.jsx(EditModal, { ...props, open: visible, onOpenChange: setVisible })
377
364
  ] });
378
365
  };
379
- const EditModal = ({ id, code, isDefault, name, onClose }) => {
366
+ const EditModal = ({ id, code, isDefault, name, open, onOpenChange }) => {
380
367
  const { toggleNotification } = strapiAdmin.useNotification();
381
368
  const {
382
369
  _unstableFormatAPIError: formatAPIError,
@@ -384,7 +371,7 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
384
371
  } = strapiAdmin.useAPIErrorHandler();
385
372
  const refetchPermissions = strapiAdmin.useAuth("EditModal", (state) => state.refetchPermissions);
386
373
  const { formatMessage } = reactIntl.useIntl();
387
- const titleId = React__namespace.useId();
374
+ const titleId = designSystem.useId();
388
375
  const [updateLocale] = index.useUpdateLocaleMutation();
389
376
  const handleSubmit = async ({ code: _code, ...data }, helpers) => {
390
377
  try {
@@ -408,7 +395,7 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
408
395
  })
409
396
  });
410
397
  refetchPermissions();
411
- onClose();
398
+ onOpenChange(false);
412
399
  } catch (err) {
413
400
  toggleNotification({
414
401
  type: "danger",
@@ -419,7 +406,7 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
419
406
  });
420
407
  }
421
408
  };
422
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalLayout, { onClose, labelledBy: titleId, children: /* @__PURE__ */ jsxRuntime.jsxs(
409
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(
423
410
  strapiAdmin.Form,
424
411
  {
425
412
  method: "PUT",
@@ -431,53 +418,45 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
431
418
  },
432
419
  validationSchema: LOCALE_SCHEMA,
433
420
  children: [
434
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id: titleId, children: formatMessage({
435
- id: index.getTranslation("Settings.list.actions.edit"),
436
- defaultMessage: "Edit a locale"
437
- }) }) }),
438
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(
439
- designSystem.TabGroup,
421
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage(
440
422
  {
441
- label: formatMessage({
442
- id: index.getTranslation("Settings.locales.modal.title"),
443
- defaultMessage: "Configurations"
444
- }),
445
- variant: "simple",
446
- children: [
447
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
448
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "beta", children: formatMessage({
449
- id: index.getTranslation("Settings.locales.modal.title"),
450
- defaultMessage: "Configuration"
451
- }) }),
452
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs, { children: [
453
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
454
- id: index.getTranslation("Settings.locales.modal.base"),
455
- defaultMessage: "Basic settings"
456
- }) }),
457
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
458
- id: index.getTranslation("Settings.locales.modal.advanced"),
459
- defaultMessage: "Advanced settings"
460
- }) })
461
- ] })
462
- ] }),
463
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
464
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 7, paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.TabPanels, { children: [
465
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(BaseForm, { mode: "edit" }) }),
466
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, { isDefaultLocale: isDefault }) })
467
- ] }) })
468
- ]
469
- }
470
- ) }),
471
- /* @__PURE__ */ jsxRuntime.jsx(
472
- designSystem.ModalFooter,
423
+ id: index.getTranslation("Settings.list.actions.edit"),
424
+ defaultMessage: "Edit a locale"
425
+ },
473
426
  {
474
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: onClose, children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
475
- endActions: /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
427
+ name
476
428
  }
477
- )
429
+ ) }) }),
430
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.Root, { variant: "simple", defaultValue: "basic", children: [
431
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
432
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "beta", id: titleId, children: formatMessage({
433
+ id: index.getTranslation("Settings.locales.modal.title"),
434
+ defaultMessage: "Configuration"
435
+ }) }),
436
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.List, { "aria-labelledby": titleId, children: [
437
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "basic", children: formatMessage({
438
+ id: index.getTranslation("Settings.locales.modal.base"),
439
+ defaultMessage: "Basic settings"
440
+ }) }),
441
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "advanced", children: formatMessage({
442
+ id: index.getTranslation("Settings.locales.modal.advanced"),
443
+ defaultMessage: "Advanced settings"
444
+ }) })
445
+ ] })
446
+ ] }),
447
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
448
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingTop: 7, paddingBottom: 7, children: [
449
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "basic", children: /* @__PURE__ */ jsxRuntime.jsx(BaseForm, { mode: "edit" }) }),
450
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "advanced", children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, { isDefaultLocale: isDefault }) })
451
+ ] })
452
+ ] }) }),
453
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
454
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }) }),
455
+ /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
456
+ ] })
478
457
  ]
479
458
  }
480
- ) });
459
+ ) }) });
481
460
  };
482
461
  const LocaleTable = ({ locales = [], canDelete, canUpdate }) => {
483
462
  const [editLocaleId, setEditLocaleId] = React__namespace.useState();
@@ -523,7 +502,14 @@ const LocaleTable = ({ locales = [], canDelete, canUpdate }) => {
523
502
  ]
524
503
  }
525
504
  ),
526
- editLocaleId === locale.id ? /* @__PURE__ */ jsxRuntime.jsx(EditModal, { ...locale, onClose: () => setEditLocaleId(void 0) }) : null
505
+ /* @__PURE__ */ jsxRuntime.jsx(
506
+ EditModal,
507
+ {
508
+ ...locale,
509
+ onOpenChange: () => setEditLocaleId(void 0),
510
+ open: editLocaleId === locale.id
511
+ }
512
+ )
527
513
  ] }, locale.id)) })
528
514
  ] });
529
515
  };
@@ -584,4 +570,4 @@ const ProtectedSettingsPage = () => {
584
570
  };
585
571
  exports.ProtectedSettingsPage = ProtectedSettingsPage;
586
572
  exports.SettingsPage = SettingsPage;
587
- //# sourceMappingURL=SettingsPage-DnLLGeBa.js.map
573
+ //# sourceMappingURL=SettingsPage-hyOi94O9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsPage-hyOi94O9.js","sources":["../../admin/src/utils/baseQuery.ts","../../admin/src/components/CreateLocale.tsx","../../admin/src/components/DeleteLocale.tsx","../../admin/src/components/EditLocale.tsx","../../admin/src/components/LocaleTable.tsx","../../admin/src/pages/SettingsPage.tsx"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { type ApiError, type UnknownApiError } from '@strapi/admin/strapi-admin';\n\ntype BaseQueryError = ApiError | UnknownApiError | SerializedError;\n\nconst isBaseQueryError = (error: BaseQueryError): error is ApiError | UnknownApiError => {\n return error.name !== undefined;\n};\n\nexport { isBaseQueryError };\n","import * as React from 'react';\n\nimport {\n Form,\n type InputProps,\n InputRenderer,\n useField,\n type FormHelpers,\n useForm,\n useAPIErrorHandler,\n useNotification,\n useAuth,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n ButtonProps,\n Divider,\n Field,\n Flex,\n Grid,\n Modal,\n SingleSelect,\n SingleSelectOption,\n Tabs,\n Typography,\n useId,\n} from '@strapi/design-system';\nimport { Check, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { CreateLocale } from '../../../shared/contracts/locales';\nimport { useCreateLocaleMutation, useGetDefaultLocalesQuery } from '../services/locales';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getTranslation } from '../utils/getTranslation';\n\n/* -------------------------------------------------------------------------------------------------\n * CreateLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CreateLocaleProps extends Pick<ButtonProps, 'disabled' | 'variant'> {}\n\nconst CreateLocale = ({ disabled, variant = 'default' }: CreateLocaleProps) => {\n const { formatMessage } = useIntl();\n const [visible, setVisible] = React.useState(false);\n\n return (\n <Modal.Root open={visible} onOpenChange={setVisible}>\n <Modal.Trigger>\n <Button\n variant={variant}\n disabled={disabled}\n startIcon={<Plus />}\n onClick={() => setVisible(true)}\n size=\"S\"\n >\n {formatMessage({\n id: getTranslation('Settings.list.actions.add'),\n defaultMessage: 'Add new locale',\n })}\n </Button>\n </Modal.Trigger>\n <CreateModal onClose={() => setVisible(false)} />\n </Modal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CreateModal\n * -----------------------------------------------------------------------------------------------*/\n\nconst LOCALE_SCHEMA = yup.object().shape({\n code: yup.string().nullable().required({\n id: 'Settings.locales.modal.create.code.error',\n defaultMessage: 'Please select a locale',\n }),\n name: yup\n .string()\n .nullable()\n .max(50, {\n id: 'Settings.locales.modal.create.name.error.min',\n defaultMessage: 'The locale display name can only be less than 50 characters.',\n })\n .required({\n id: 'Settings.locales.modal.create.name.error.required',\n defaultMessage: 'Please give the locale a display name',\n }),\n isDefault: yup.boolean(),\n});\n\ntype FormValues = CreateLocale.Request['body'];\n\nconst initialFormValues = {\n code: '',\n name: '',\n isDefault: false,\n} satisfies FormValues;\n\ntype ModalCreateProps = {\n onClose: () => void;\n};\n\nconst CreateModal = ({ onClose }: ModalCreateProps) => {\n const titleId = useId();\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const [createLocale] = useCreateLocaleMutation();\n const { formatMessage } = useIntl();\n const refetchPermissions = useAuth('CreateModal', (state) => state.refetchPermissions);\n\n const handleSubmit = async (values: FormValues, helpers: FormHelpers<FormValues>) => {\n try {\n const res = await createLocale(values);\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.create.success'),\n defaultMessage: 'Created locale',\n }),\n });\n\n refetchPermissions();\n onClose();\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.Content>\n <Form\n method=\"POST\"\n initialValues={initialFormValues}\n validationSchema={LOCALE_SCHEMA}\n onSubmit={handleSubmit}\n >\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTranslation('Settings.list.actions.add'),\n defaultMessage: 'Add new locale',\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\n <Divider />\n\n <Box paddingTop={7} paddingBottom={7}>\n <Tabs.Content value=\"basic\">\n <BaseForm />\n </Tabs.Content>\n <Tabs.Content value=\"advanced\">\n <AdvancedForm />\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 );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * SubmitButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst SubmitButton = () => {\n const { formatMessage } = useIntl();\n const isSubmitting = useForm('SubmitButton', (state) => state.isSubmitting);\n const modified = useForm('SubmitButton', (state) => state.modified);\n\n return (\n <Button type=\"submit\" startIcon={<Check />} disabled={isSubmitting || !modified}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * BaseForm\n * -----------------------------------------------------------------------------------------------*/\n\ninterface BaseFormProps {\n mode?: 'create' | 'edit';\n}\n\nconst BaseForm = ({ mode = 'create' }: BaseFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data: defaultLocales, error } = useGetDefaultLocalesQuery();\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n if (!Array.isArray(defaultLocales)) {\n return null;\n }\n\n const options = defaultLocales.map((locale) => ({\n label: locale.name,\n value: locale.code,\n }));\n\n const translatedForm = [\n {\n disabled: mode !== 'create',\n label: {\n id: getTranslation('Settings.locales.modal.create.code.label'),\n defaultMessage: 'Locales',\n },\n name: 'code',\n options,\n placeholder: {\n id: 'components.placeholder.select',\n defaultMessage: 'Select',\n },\n required: true,\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: {\n id: getTranslation('Settings.locales.modal.create.name.label.description'),\n defaultMessage: 'Locale will be displayed under that name in the administration panel',\n },\n label: {\n id: getTranslation('Settings.locales.modal.create.name.label'),\n defaultMessage: 'Locale display name',\n },\n name: 'name',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n ].map((field) => ({\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n placeholder: field.placeholder ? formatMessage(field.placeholder) : undefined,\n }));\n\n return (\n <Grid.Root gap={4}>\n {translatedForm.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <FormRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AdvancedForm\n * -----------------------------------------------------------------------------------------------*/\n\ntype AdvancedFormProps = {\n isDefaultLocale?: boolean;\n};\n\nconst AdvancedForm = ({ isDefaultLocale }: AdvancedFormProps) => {\n const { formatMessage } = useIntl();\n\n const form = [\n {\n disabled: isDefaultLocale,\n hint: {\n id: getTranslation('Settings.locales.modal.advanced.setAsDefault.hint'),\n defaultMessage: 'One default locale is required, change it by selecting another one',\n },\n label: {\n id: getTranslation('Settings.locales.modal.advanced.setAsDefault'),\n defaultMessage: 'Set as default locale',\n },\n name: 'isDefault',\n size: 6,\n type: 'boolean' as const,\n },\n ].map((field) => ({\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n })) satisfies InputProps[];\n\n return (\n <Grid.Root gap={4}>\n {form.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <FormRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormRenderer\n * -----------------------------------------------------------------------------------------------*/\n\nconst FormRenderer = (field: InputProps) => {\n switch (field.type) {\n /**\n * This will override the default input renderer\n * choice for `enumeration`.\n */\n case 'enumeration':\n return <EnumerationInput {...field} />;\n default:\n return <InputRenderer {...field} />;\n }\n};\n\nconst EnumerationInput = ({\n disabled,\n hint,\n label,\n name,\n options,\n placeholder,\n required,\n}: Extract<InputProps, { type: 'enumeration' }>) => {\n const { value, error, onChange } = useField(name);\n const { data: defaultLocales = [] } = useGetDefaultLocalesQuery();\n\n const handleChange = (value: string) => {\n if (Array.isArray(defaultLocales)) {\n // We know it exists because the options are created from the list of default locales\n const locale = defaultLocales.find((locale) => locale.code === value)!;\n\n onChange(name, value);\n // This lets us automatically fill the name field with the locale name\n onChange('name', locale.name);\n } else {\n onChange(name, value);\n }\n };\n\n return (\n <Field.Root error={error} hint={hint} name={name} required={required}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={disabled}\n // @ts-expect-error – This will dissapear when the DS removes support for numbers to be returned by SingleSelect.\n onChange={handleChange}\n placeholder={placeholder}\n value={value}\n >\n {options.map((option) => (\n <SingleSelectOption value={option.value} key={option.value}>\n {option.label}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\nexport { CreateLocale, BaseForm, AdvancedForm, SubmitButton, LOCALE_SCHEMA };\n","import * as React from 'react';\n\nimport { ConfirmDialog, useAPIErrorHandler, useNotification } from '@strapi/admin/strapi-admin';\nimport { Dialog, IconButton } from '@strapi/design-system';\nimport { Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDeleteLocaleMutation } from '../services/locales';\nimport { getTranslation } from '../utils/getTranslation';\n\nimport type { Locale } from '../../../shared/contracts/locales';\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DeleteLocaleProps extends Locale {}\n\nconst DeleteLocale = ({ id, name }: DeleteLocaleProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [visible, setVisible] = React.useState(false);\n\n const [deleteLocale] = useDeleteLocaleMutation();\n const handleConfirm = async () => {\n try {\n const res = await deleteLocale(id);\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('Settings.locales.modal.delete.success'),\n defaultMessage: 'Deleted locale',\n }),\n });\n\n setVisible(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 <Dialog.Root open={visible} onOpenChange={setVisible}>\n <Dialog.Trigger>\n <IconButton\n onClick={() => setVisible(true)}\n label={formatMessage(\n {\n id: getTranslation('Settings.list.actions.delete'),\n defaultMessage: 'Delete {name} locale',\n },\n {\n name,\n }\n )}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n </Dialog.Trigger>\n <ConfirmDialog onConfirm={handleConfirm} />\n </Dialog.Root>\n );\n};\n\nexport { DeleteLocale };\n","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","import * as React from 'react';\n\nimport {\n Flex,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../utils/getTranslation';\n\nimport { DeleteLocale } from './DeleteLocale';\nimport { EditLocale, EditModal } from './EditLocale';\n\nimport type { Locale } from '../../../shared/contracts/locales';\n\n/* -------------------------------------------------------------------------------------------------\n * LocaleTable\n * -----------------------------------------------------------------------------------------------*/\n\ntype LocaleTableProps = {\n locales?: Locale[];\n canDelete?: boolean;\n canUpdate?: boolean;\n onDeleteLocale?: (locale: Locale) => void;\n onEditLocale?: (locale: Locale) => void;\n};\n\nconst LocaleTable = ({ locales = [], canDelete, canUpdate }: LocaleTableProps) => {\n const [editLocaleId, setEditLocaleId] = React.useState<Locale['id']>();\n const { formatMessage } = useIntl();\n\n const handleClick = (localeId: Locale['id']) => () => {\n if (canUpdate) {\n setEditLocaleId(localeId);\n }\n };\n\n return (\n <Table colCount={4} rowCount={locales.length + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('Settings.locales.row.id'),\n defaultMessage: 'ID',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('Settings.locales.row.displayName'),\n defaultMessage: 'Display name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('Settings.locales.row.default-locale'),\n defaultMessage: 'Default locale',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>Actions</VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {locales.map((locale) => (\n <React.Fragment key={locale.id}>\n <Tr\n onClick={handleClick(locale.id)}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td>\n <Typography textColor=\"neutral800\">{locale.id}</Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{locale.name}</Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {locale.isDefault\n ? formatMessage({\n id: getTranslation('Settings.locales.default'),\n defaultMessage: 'Default',\n })\n : null}\n </Typography>\n </Td>\n <Td>\n <Flex gap={1} justifyContent=\"flex-end\" onClick={(e) => e.stopPropagation()}>\n {canUpdate && <EditLocale {...locale} />}\n {canDelete && !locale.isDefault && <DeleteLocale {...locale} />}\n </Flex>\n </Td>\n </Tr>\n <EditModal\n {...locale}\n onOpenChange={() => setEditLocaleId(undefined)}\n open={editLocaleId === locale.id}\n />\n </React.Fragment>\n ))}\n </Tbody>\n </Table>\n );\n};\n\nexport { LocaleTable };\nexport type { LocaleTableProps };\n","import * as React from 'react';\n\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { EmptyStateLayout } from '@strapi/design-system';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { CreateLocale } from '../components/CreateLocale';\nimport { LocaleTable } from '../components/LocaleTable';\nimport { PERMISSIONS } from '../constants';\nimport { useGetLocalesQuery } from '../services/locales';\nimport { getTranslation } from '../utils/getTranslation';\n\nconst SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { data: locales, isLoading: isLoadingLocales, error } = useGetLocalesQuery();\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate, canCreate, canDelete },\n } = useRBAC(PERMISSIONS);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const isLoading = isLoadingLocales || isLoadingRBAC;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !Array.isArray(locales)) {\n return <Page.Error />;\n }\n\n return (\n <Page.Main tabIndex={-1}>\n <Layouts.Header\n primaryAction={<CreateLocale disabled={!canCreate} />}\n title={formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n })}\n subtitle={formatMessage({\n id: getTranslation('Settings.list.description'),\n defaultMessage: 'Configure the settings',\n })}\n />\n <Layouts.Content>\n {locales.length > 0 ? (\n <LocaleTable locales={locales} canDelete={canDelete} canUpdate={canUpdate} />\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width={undefined} height={undefined} />}\n content={formatMessage({\n id: getTranslation('Settings.list.empty.title'),\n defaultMessage: 'There are no locales',\n })}\n action={<CreateLocale disabled={!canCreate} variant=\"secondary\" />}\n />\n )}\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nconst ProtectedSettingsPage = () => {\n return (\n <Page.Protect permissions={PERMISSIONS.read}>\n <SettingsPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedSettingsPage, SettingsPage };\n"],"names":["useIntl","React","Modal","jsx","Button","Plus","getTranslation","yup","useId","useNotification","useAPIErrorHandler","useCreateLocaleMutation","useAuth","jsxs","Form","Tabs","Flex","Typography","Divider","Box","useForm","Check","useGetDefaultLocalesQuery","Grid","InputRenderer","useField","value","locale","Field","SingleSelect","SingleSelectOption","useDeleteLocaleMutation","Dialog","IconButton","Trash","ConfirmDialog","Fragment","Pencil","useUpdateLocaleMutation","Table","Thead","Tr","Th","VisuallyHidden","Tbody","Td","useGetLocalesQuery","useRBAC","PERMISSIONS","Page","Layouts","EmptyStateLayout","EmptyDocuments"],"mappings":"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"}
@@ -56,11 +56,10 @@ const de = {
56
56
  "plugin.description.long": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
57
57
  "plugin.description.short": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
58
58
  "plugin.name": "Internationalisierung",
59
- "plugin.schema.i18n.ensure-unique-localization": "Einzigartige Felder müssen lokalisiert sein",
60
59
  "plugin.schema.i18n.localized.description-content-type": "Ermöglicht es Inhalte in verschiedenen Sprachen zu pflegen",
61
60
  "plugin.schema.i18n.localized.description-field": "Das Feld kann verschiedene Werte in jeder Sprache haben",
62
61
  "plugin.schema.i18n.localized.label-content-type": "Übersetzungen",
63
62
  "plugin.schema.i18n.localized.label-field": "Übersetzungen für dieses Feld aktivieren"
64
63
  };
65
64
  exports.default = de;
66
- //# sourceMappingURL=de-DtWiGdHl.js.map
65
+ //# sourceMappingURL=de-BOhNX_-5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de-BOhNX_-5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -54,7 +54,6 @@ const de = {
54
54
  "plugin.description.long": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
55
55
  "plugin.description.short": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
56
56
  "plugin.name": "Internationalisierung",
57
- "plugin.schema.i18n.ensure-unique-localization": "Einzigartige Felder müssen lokalisiert sein",
58
57
  "plugin.schema.i18n.localized.description-content-type": "Ermöglicht es Inhalte in verschiedenen Sprachen zu pflegen",
59
58
  "plugin.schema.i18n.localized.description-field": "Das Feld kann verschiedene Werte in jeder Sprache haben",
60
59
  "plugin.schema.i18n.localized.label-content-type": "Übersetzungen",
@@ -63,4 +62,4 @@ const de = {
63
62
  export {
64
63
  de as default
65
64
  };
66
- //# sourceMappingURL=de-9eCAqqrB.mjs.map
65
+ //# sourceMappingURL=de-D80IRBP9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de-D80IRBP9.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -54,7 +54,6 @@ const dk = {
54
54
  "plugin.description.long": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
55
55
  "plugin.description.short": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
56
56
  "plugin.name": "Internationalisering",
57
- "plugin.schema.i18n.ensure-unique-localization": "Unikke felter skal udfyldes for alle sprogvarianter",
58
57
  "plugin.schema.i18n.localized.description-content-type": "Muliggør indhold på forskellige sprog",
59
58
  "plugin.schema.i18n.localized.description-field": "Feltet kan have forskellige værdier for hver sprogvariant",
60
59
  "plugin.schema.i18n.localized.label-content-type": "Aktivér sprogvarianter for denne indholdstype",
@@ -63,4 +62,4 @@ const dk = {
63
62
  export {
64
63
  dk as default
65
64
  };
66
- //# sourceMappingURL=dk-2qBjxt-P.mjs.map
65
+ //# sourceMappingURL=dk-CJ6Zzz78.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dk-CJ6Zzz78.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -56,11 +56,10 @@ const dk = {
56
56
  "plugin.description.long": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
57
57
  "plugin.description.short": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
58
58
  "plugin.name": "Internationalisering",
59
- "plugin.schema.i18n.ensure-unique-localization": "Unikke felter skal udfyldes for alle sprogvarianter",
60
59
  "plugin.schema.i18n.localized.description-content-type": "Muliggør indhold på forskellige sprog",
61
60
  "plugin.schema.i18n.localized.description-field": "Feltet kan have forskellige værdier for hver sprogvariant",
62
61
  "plugin.schema.i18n.localized.label-content-type": "Aktivér sprogvarianter for denne indholdstype",
63
62
  "plugin.schema.i18n.localized.label-field": "Aktivér sprogvarianter for dette felt"
64
63
  };
65
64
  exports.default = dk;
66
- //# sourceMappingURL=dk-D8C-casx.js.map
65
+ //# sourceMappingURL=dk-cjXm0p3m.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dk-cjXm0p3m.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,24 @@
1
1
  const en = {
2
- "actions.delete.label": "Delete locale",
2
+ "actions.delete.label": "Delete entry ({locale})",
3
3
  "actions.delete.dialog.title": "Confirmation",
4
4
  "actions.delete.dialog.body": "Are you sure you want to delete this locale?",
5
5
  "actions.delete.error": "An error occurred while trying to delete the document locale.",
6
6
  "CMEditViewCopyLocale.copy-failure": "Failed to copy locale",
7
7
  "CMEditViewCopyLocale.copy-success": "Locale copied",
8
8
  "CMEditViewCopyLocale.copy-text": "Fill in from another locale",
9
+ "CMEditViewCopyLocale.cancel-text": "No, cancel",
9
10
  "CMEditViewCopyLocale.submit-text": "Yes, fill in",
10
- "CMEditViewBulkLocale.publish-title": "Publish Multiple Locales",
11
+ "CMEditViewCopyLocale.dialog.title": "Confirmation",
12
+ "CMEditViewCopyLocale.dialog.body": "Your current content will be erased and filled by the content of the selected locale:",
13
+ "CMEditViewCopyLocale.dialog.field.label": "Locale",
14
+ "CMEditViewCopyLocale.dialog.field.placeholder": "Select one locale...",
15
+ "CMEditViewBulkLocale.publish-title": "Publish multiple locales",
16
+ "CMEditViewBulkLocale.unpublish-title": "Unpublish multiple locales",
11
17
  "CMEditViewBulkLocale.status": "Status",
12
18
  "CMEditViewBulkLocale.publication-status": "Publication Status",
19
+ "CMEditViewBulkLocale.draft-relation-warning": "Some locales are related to draft entries. Publishing them could leave broken links in your app.",
20
+ "CMEditViewBulkLocale.continue-confirmation": "Are you sure you want to continue?",
21
+ "CMEditViewLocalePicker.locale.create": "Create <bold>{locale}</bold> locale",
13
22
  "CMListView.popover.display-locales.label": "Display translated locales",
14
23
  "CheckboxConfirmation.Modal.body": "Do you want to disable it?",
15
24
  "CheckboxConfirmation.Modal.button-confirm": "Yes, disable",
@@ -60,7 +69,6 @@ const en = {
60
69
  "plugin.description.long": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
61
70
  "plugin.description.short": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
62
71
  "plugin.name": "Internationalization",
63
- "plugin.schema.i18n.ensure-unique-localization": "Unique fields must be localized",
64
72
  "plugin.schema.i18n.localized.description-content-type": "Allows translating an entry into different languages",
65
73
  "plugin.schema.i18n.localized.description-field": "The field can have different values in each language",
66
74
  "plugin.schema.i18n.localized.label-content-type": "Internationalization",
@@ -69,4 +77,4 @@ const en = {
69
77
  export {
70
78
  en as default
71
79
  };
72
- //# sourceMappingURL=en-18tWw4P6.mjs.map
80
+ //# sourceMappingURL=en-BTyF7WVW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-BTyF7WVW.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,17 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const en = {
4
- "actions.delete.label": "Delete locale",
4
+ "actions.delete.label": "Delete entry ({locale})",
5
5
  "actions.delete.dialog.title": "Confirmation",
6
6
  "actions.delete.dialog.body": "Are you sure you want to delete this locale?",
7
7
  "actions.delete.error": "An error occurred while trying to delete the document locale.",
8
8
  "CMEditViewCopyLocale.copy-failure": "Failed to copy locale",
9
9
  "CMEditViewCopyLocale.copy-success": "Locale copied",
10
10
  "CMEditViewCopyLocale.copy-text": "Fill in from another locale",
11
+ "CMEditViewCopyLocale.cancel-text": "No, cancel",
11
12
  "CMEditViewCopyLocale.submit-text": "Yes, fill in",
12
- "CMEditViewBulkLocale.publish-title": "Publish Multiple Locales",
13
+ "CMEditViewCopyLocale.dialog.title": "Confirmation",
14
+ "CMEditViewCopyLocale.dialog.body": "Your current content will be erased and filled by the content of the selected locale:",
15
+ "CMEditViewCopyLocale.dialog.field.label": "Locale",
16
+ "CMEditViewCopyLocale.dialog.field.placeholder": "Select one locale...",
17
+ "CMEditViewBulkLocale.publish-title": "Publish multiple locales",
18
+ "CMEditViewBulkLocale.unpublish-title": "Unpublish multiple locales",
13
19
  "CMEditViewBulkLocale.status": "Status",
14
20
  "CMEditViewBulkLocale.publication-status": "Publication Status",
21
+ "CMEditViewBulkLocale.draft-relation-warning": "Some locales are related to draft entries. Publishing them could leave broken links in your app.",
22
+ "CMEditViewBulkLocale.continue-confirmation": "Are you sure you want to continue?",
23
+ "CMEditViewLocalePicker.locale.create": "Create <bold>{locale}</bold> locale",
15
24
  "CMListView.popover.display-locales.label": "Display translated locales",
16
25
  "CheckboxConfirmation.Modal.body": "Do you want to disable it?",
17
26
  "CheckboxConfirmation.Modal.button-confirm": "Yes, disable",
@@ -62,11 +71,10 @@ const en = {
62
71
  "plugin.description.long": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
63
72
  "plugin.description.short": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
64
73
  "plugin.name": "Internationalization",
65
- "plugin.schema.i18n.ensure-unique-localization": "Unique fields must be localized",
66
74
  "plugin.schema.i18n.localized.description-content-type": "Allows translating an entry into different languages",
67
75
  "plugin.schema.i18n.localized.description-field": "The field can have different values in each language",
68
76
  "plugin.schema.i18n.localized.label-content-type": "Internationalization",
69
77
  "plugin.schema.i18n.localized.label-field": "Enable localization for this field"
70
78
  };
71
79
  exports.default = en;
72
- //# sourceMappingURL=en-Kv6y9zPQ.js.map
80
+ //# sourceMappingURL=en-UlC0jh2t.js.map