@strapi/i18n 5.37.1 → 5.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/admin/components/BulkLocaleActionModal.js.map +1 -1
  2. package/dist/admin/components/BulkLocaleActionModal.mjs.map +1 -1
  3. package/dist/admin/components/CMHeaderActions.js +1 -4
  4. package/dist/admin/components/CMHeaderActions.js.map +1 -1
  5. package/dist/admin/components/CMHeaderActions.mjs +3 -6
  6. package/dist/admin/components/CMHeaderActions.mjs.map +1 -1
  7. package/dist/admin/components/CMListViewModalsAdditionalInformation.js.map +1 -1
  8. package/dist/admin/components/CMListViewModalsAdditionalInformation.mjs.map +1 -1
  9. package/dist/admin/components/CheckboxConfirmation.js.map +1 -1
  10. package/dist/admin/components/CheckboxConfirmation.mjs.map +1 -1
  11. package/dist/admin/components/CreateLocale.js.map +1 -1
  12. package/dist/admin/components/CreateLocale.mjs.map +1 -1
  13. package/dist/admin/components/DeleteLocale.js.map +1 -1
  14. package/dist/admin/components/DeleteLocale.mjs.map +1 -1
  15. package/dist/admin/components/EditLocale.js.map +1 -1
  16. package/dist/admin/components/EditLocale.mjs.map +1 -1
  17. package/dist/admin/components/LocaleListCell.js.map +1 -1
  18. package/dist/admin/components/LocaleListCell.mjs.map +1 -1
  19. package/dist/admin/components/LocalePicker.js.map +1 -1
  20. package/dist/admin/components/LocalePicker.mjs.map +1 -1
  21. package/dist/admin/components/LocaleTable.js.map +1 -1
  22. package/dist/admin/components/LocaleTable.mjs.map +1 -1
  23. package/dist/admin/constants.js.map +1 -1
  24. package/dist/admin/constants.mjs.map +1 -1
  25. package/dist/admin/contentManagerHooks/editView.js.map +1 -1
  26. package/dist/admin/contentManagerHooks/editView.mjs.map +1 -1
  27. package/dist/admin/contentManagerHooks/listView.js.map +1 -1
  28. package/dist/admin/contentManagerHooks/listView.mjs.map +1 -1
  29. package/dist/admin/contentReleasesHooks/releaseDetailsView.js.map +1 -1
  30. package/dist/admin/contentReleasesHooks/releaseDetailsView.mjs.map +1 -1
  31. package/dist/admin/hooks/useAILocalizationJobsPolling.js.map +1 -1
  32. package/dist/admin/hooks/useAILocalizationJobsPolling.mjs.map +1 -1
  33. package/dist/admin/hooks/useI18n.js.map +1 -1
  34. package/dist/admin/hooks/useI18n.mjs.map +1 -1
  35. package/dist/admin/index.js.map +1 -1
  36. package/dist/admin/index.mjs.map +1 -1
  37. package/dist/admin/middlewares/extendCTBAttributeInitialData.js.map +1 -1
  38. package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs.map +1 -1
  39. package/dist/admin/middlewares/extendCTBInitialData.js.map +1 -1
  40. package/dist/admin/middlewares/extendCTBInitialData.mjs.map +1 -1
  41. package/dist/admin/middlewares/rbac-middleware.js.map +1 -1
  42. package/dist/admin/middlewares/rbac-middleware.mjs.map +1 -1
  43. package/dist/admin/pages/SettingsPage.js.map +1 -1
  44. package/dist/admin/pages/SettingsPage.mjs +1 -1
  45. package/dist/admin/pages/SettingsPage.mjs.map +1 -1
  46. package/dist/admin/services/aiLocalizationJobs.js.map +1 -1
  47. package/dist/admin/services/aiLocalizationJobs.mjs.map +1 -1
  48. package/dist/admin/services/api.js.map +1 -1
  49. package/dist/admin/services/api.mjs.map +1 -1
  50. package/dist/admin/services/locales.js.map +1 -1
  51. package/dist/admin/services/locales.mjs.map +1 -1
  52. package/dist/admin/services/relations.js.map +1 -1
  53. package/dist/admin/services/relations.mjs.map +1 -1
  54. package/dist/admin/services/settings.js.map +1 -1
  55. package/dist/admin/services/settings.mjs.map +1 -1
  56. package/dist/admin/utils/clean.js.map +1 -1
  57. package/dist/admin/utils/clean.mjs.map +1 -1
  58. package/dist/admin/utils/fields.js.map +1 -1
  59. package/dist/admin/utils/fields.mjs.map +1 -1
  60. package/dist/admin/utils/getTranslation.js.map +1 -1
  61. package/dist/admin/utils/getTranslation.mjs.map +1 -1
  62. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
  63. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
  64. package/dist/admin/utils/schemas.js.map +1 -1
  65. package/dist/admin/utils/schemas.mjs.map +1 -1
  66. package/dist/admin/utils/strings.js.map +1 -1
  67. package/dist/admin/utils/strings.mjs.map +1 -1
  68. package/dist/server/bootstrap.js.map +1 -1
  69. package/dist/server/bootstrap.mjs.map +1 -1
  70. package/dist/server/constants/index.js.map +1 -1
  71. package/dist/server/constants/index.mjs.map +1 -1
  72. package/dist/server/content-types/index.js.map +1 -1
  73. package/dist/server/content-types/index.mjs.map +1 -1
  74. package/dist/server/content-types/locale/index.js.map +1 -1
  75. package/dist/server/content-types/locale/index.mjs.map +1 -1
  76. package/dist/server/controllers/ai-localization-jobs.js.map +1 -1
  77. package/dist/server/controllers/ai-localization-jobs.mjs.map +1 -1
  78. package/dist/server/controllers/content-types.js.map +1 -1
  79. package/dist/server/controllers/content-types.mjs +1 -1
  80. package/dist/server/controllers/content-types.mjs.map +1 -1
  81. package/dist/server/controllers/index.js.map +1 -1
  82. package/dist/server/controllers/index.mjs +4 -4
  83. package/dist/server/controllers/index.mjs.map +1 -1
  84. package/dist/server/controllers/iso-locales.js.map +1 -1
  85. package/dist/server/controllers/iso-locales.mjs.map +1 -1
  86. package/dist/server/controllers/locales.js.map +1 -1
  87. package/dist/server/controllers/locales.mjs +1 -1
  88. package/dist/server/controllers/locales.mjs.map +1 -1
  89. package/dist/server/controllers/settings.js.map +1 -1
  90. package/dist/server/controllers/settings.mjs.map +1 -1
  91. package/dist/server/controllers/validate-locale-creation.js.map +1 -1
  92. package/dist/server/controllers/validate-locale-creation.mjs.map +1 -1
  93. package/dist/server/domain/locale.js.map +1 -1
  94. package/dist/server/domain/locale.mjs.map +1 -1
  95. package/dist/server/graphql.js.map +1 -1
  96. package/dist/server/graphql.mjs.map +1 -1
  97. package/dist/server/index.js +8 -8
  98. package/dist/server/models/ai-localization-job.js.map +1 -1
  99. package/dist/server/models/ai-localization-job.mjs.map +1 -1
  100. package/dist/server/register.js.map +1 -1
  101. package/dist/server/register.mjs.map +1 -1
  102. package/dist/server/routes/admin.js.map +1 -1
  103. package/dist/server/routes/admin.mjs.map +1 -1
  104. package/dist/server/routes/content-api.js.map +1 -1
  105. package/dist/server/routes/content-api.mjs.map +1 -1
  106. package/dist/server/routes/index.js.map +1 -1
  107. package/dist/server/routes/index.mjs.map +1 -1
  108. package/dist/server/routes/validation/locale.js.map +1 -1
  109. package/dist/server/routes/validation/locale.mjs.map +1 -1
  110. package/dist/server/services/ai-localization-jobs.js.map +1 -1
  111. package/dist/server/services/ai-localization-jobs.mjs.map +1 -1
  112. package/dist/server/services/ai-localizations.js.map +1 -1
  113. package/dist/server/services/ai-localizations.mjs.map +1 -1
  114. package/dist/server/services/content-types.js.map +1 -1
  115. package/dist/server/services/content-types.mjs +1 -1
  116. package/dist/server/services/content-types.mjs.map +1 -1
  117. package/dist/server/services/index.js.map +1 -1
  118. package/dist/server/services/index.mjs.map +1 -1
  119. package/dist/server/services/iso-locales.js.map +1 -1
  120. package/dist/server/services/iso-locales.mjs.map +1 -1
  121. package/dist/server/services/locales.js +10 -10
  122. package/dist/server/services/locales.js.map +1 -1
  123. package/dist/server/services/locales.mjs.map +1 -1
  124. package/dist/server/services/localizations.js.map +1 -1
  125. package/dist/server/services/localizations.mjs.map +1 -1
  126. package/dist/server/services/metrics.js.map +1 -1
  127. package/dist/server/services/metrics.mjs.map +1 -1
  128. package/dist/server/services/permissions/actions.js.map +1 -1
  129. package/dist/server/services/permissions/actions.mjs +1 -1
  130. package/dist/server/services/permissions/actions.mjs.map +1 -1
  131. package/dist/server/services/permissions/engine.js.map +1 -1
  132. package/dist/server/services/permissions/engine.mjs.map +1 -1
  133. package/dist/server/services/permissions/sections-builder.js.map +1 -1
  134. package/dist/server/services/permissions/sections-builder.mjs.map +1 -1
  135. package/dist/server/services/permissions.js.map +1 -1
  136. package/dist/server/services/permissions.mjs.map +1 -1
  137. package/dist/server/services/sanitize/index.js.map +1 -1
  138. package/dist/server/services/sanitize/index.mjs.map +1 -1
  139. package/dist/server/services/settings.js.map +1 -1
  140. package/dist/server/services/settings.mjs.map +1 -1
  141. package/dist/server/utils/index.js.map +1 -1
  142. package/dist/server/utils/index.mjs.map +1 -1
  143. package/dist/server/validation/content-types.js.map +1 -1
  144. package/dist/server/validation/content-types.mjs.map +1 -1
  145. package/dist/server/validation/locales.js.map +1 -1
  146. package/dist/server/validation/locales.mjs.map +1 -1
  147. package/dist/server/validation/settings.js.map +1 -1
  148. package/dist/server/validation/settings.mjs.map +1 -1
  149. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import get from 'lodash/get';\nimport * as yup from 'yup';\n\nimport { CheckboxConfirmation } from './components/CheckboxConfirmation';\nimport {\n BulkLocalePublishAction,\n BulkLocaleUnpublishAction,\n DeleteLocaleAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n AITranslationStatusAction,\n} from './components/CMHeaderActions';\nimport {\n DeleteModalAdditionalInfo,\n PublishModalAdditionalInfo,\n UnpublishModalAdditionalInfo,\n} from './components/CMListViewModalsAdditionalInformation';\nimport { LocalePicker } from './components/LocalePicker';\nimport { PERMISSIONS } from './constants';\nimport { mutateEditViewHook } from './contentManagerHooks/editView';\nimport { addColumnToTableHook } from './contentManagerHooks/listView';\nimport { addLocaleToReleasesHook } from './contentReleasesHooks/releaseDetailsView';\nimport { extendCTBAttributeInitialDataMiddleware } from './middlewares/extendCTBAttributeInitialData';\nimport { extendCTBInitialDataMiddleware } from './middlewares/extendCTBInitialData';\nimport { localeMiddleware } from './middlewares/rbac-middleware';\nimport { pluginId } from './pluginId';\nimport { i18nApi } from './services/api';\nimport { LOCALIZED_FIELDS } from './utils/fields';\nimport { getTranslation } from './utils/getTranslation';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\nimport { mutateCTBContentTypeSchema } from './utils/schemas';\n\nimport type { DocumentActionComponent } from '@strapi/content-manager/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n app.addMiddlewares([extendCTBAttributeInitialDataMiddleware, extendCTBInitialDataMiddleware]);\n app.addMiddlewares([() => i18nApi.middleware]);\n app.addReducers({\n [i18nApi.reducerPath]: i18nApi.reducer,\n });\n app.addRBACMiddleware([localeMiddleware]);\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n });\n },\n bootstrap(app: any) {\n // // Hook that adds a column into the CM's LV table\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n app.registerHook('Admin/CM/pages/EditView/mutate-edit-view-layout', mutateEditViewHook);\n // Hooks that checks if the locale is present in the release\n app.registerHook(\n 'ContentReleases/pages/ReleaseDetails/add-locale-in-releases',\n addLocaleToReleasesHook\n );\n\n // Add the settings link\n app.addSettingsLink('global', {\n intlLabel: {\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n },\n id: 'internationalization',\n to: 'internationalization',\n Component: () =>\n import('./pages/SettingsPage').then((mod) => ({ default: mod.ProtectedSettingsPage })),\n permissions: PERMISSIONS.accessMain,\n });\n\n const contentManager = app.getPlugin('content-manager');\n\n contentManager.apis.addDocumentHeaderAction([\n AITranslationStatusAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n ]);\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, DeleteLocaleAction);\n return actions;\n });\n\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n // When enabled the bulk locale publish action should be the first action\n // in 'More Document Actions' and therefore the third action in the array\n actions.splice(2, 0, BulkLocalePublishAction);\n actions.splice(5, 0, BulkLocaleUnpublishAction);\n return actions;\n });\n\n contentManager.injectComponent('listView', 'actions', {\n name: 'i18n-locale-filter',\n Component: LocalePicker,\n });\n\n contentManager.injectComponent('listView', 'publishModalAdditionalInfos', {\n name: 'i18n-publish-bullets-in-modal',\n Component: PublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'unpublishModalAdditionalInfos', {\n name: 'i18n-unpublish-bullets-in-modal',\n Component: UnpublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'deleteModalAdditionalInfos', {\n name: 'i18n-delete-bullets-in-modal',\n Component: DeleteModalAdditionalInfo,\n });\n\n const ctbPlugin = app.getPlugin('content-type-builder');\n\n if (ctbPlugin) {\n const ctbFormsAPI = ctbPlugin.apis.forms;\n ctbFormsAPI.addContentTypeSchemaMutation(mutateCTBContentTypeSchema);\n ctbFormsAPI.components.add({ id: 'checkboxConfirmation', component: CheckboxConfirmation });\n\n ctbFormsAPI.extendContentType({\n validator: () => ({\n i18n: yup.object().shape({\n localized: yup.bool(),\n }),\n }),\n form: {\n advanced() {\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-content-type'),\n defaultMessage: 'Allows translating an entry into different languages',\n },\n type: 'checkboxConfirmation',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-content-type'),\n defaultMessage: 'Localization',\n },\n },\n ];\n },\n },\n });\n\n ctbFormsAPI.extendFields(LOCALIZED_FIELDS, {\n form: {\n advanced({ contentTypeSchema, forTarget, type, step }: any) {\n if (forTarget !== 'contentType') {\n return [];\n }\n\n const hasI18nEnabled = get(\n contentTypeSchema,\n ['pluginOptions', 'i18n', 'localized'],\n false\n );\n\n if (!hasI18nEnabled) {\n return [];\n }\n\n if (type === 'component' && step === '1') {\n return [];\n }\n\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-field'),\n defaultMessage: 'The field can have different values in each locale',\n },\n type: 'checkbox',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-field'),\n defaultMessage: 'Enable localization for this field',\n },\n },\n ];\n },\n },\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["register","app","addMiddlewares","extendCTBAttributeInitialDataMiddleware","extendCTBInitialDataMiddleware","i18nApi","middleware","addReducers","reducerPath","reducer","addRBACMiddleware","localeMiddleware","registerPlugin","id","pluginId","name","bootstrap","registerHook","addColumnToTableHook","mutateEditViewHook","addLocaleToReleasesHook","addSettingsLink","intlLabel","getTranslation","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","accessMain","contentManager","getPlugin","apis","addDocumentHeaderAction","AITranslationStatusAction","LocalePickerAction","FillFromAnotherLocaleAction","addDocumentAction","actions","indexOfDeleteAction","findIndex","action","type","splice","DeleteLocaleAction","BulkLocalePublishAction","BulkLocaleUnpublishAction","injectComponent","LocalePicker","PublishModalAdditionalInfo","UnpublishModalAdditionalInfo","DeleteModalAdditionalInfo","ctbPlugin","ctbFormsAPI","forms","addContentTypeSchemaMutation","mutateCTBContentTypeSchema","components","add","component","CheckboxConfirmation","extendContentType","validator","i18n","yup","object","shape","localized","bool","form","advanced","description","extendFields","LOCALIZED_FIELDS","contentTypeSchema","forTarget","step","hasI18nEnabled","get","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import get from 'lodash/get';\nimport * as yup from 'yup';\n\nimport { CheckboxConfirmation } from './components/CheckboxConfirmation';\nimport {\n BulkLocalePublishAction,\n BulkLocaleUnpublishAction,\n DeleteLocaleAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n AITranslationStatusAction,\n} from './components/CMHeaderActions';\nimport {\n DeleteModalAdditionalInfo,\n PublishModalAdditionalInfo,\n UnpublishModalAdditionalInfo,\n} from './components/CMListViewModalsAdditionalInformation';\nimport { LocalePicker } from './components/LocalePicker';\nimport { PERMISSIONS } from './constants';\nimport { mutateEditViewHook } from './contentManagerHooks/editView';\nimport { addColumnToTableHook } from './contentManagerHooks/listView';\nimport { addLocaleToReleasesHook } from './contentReleasesHooks/releaseDetailsView';\nimport { extendCTBAttributeInitialDataMiddleware } from './middlewares/extendCTBAttributeInitialData';\nimport { extendCTBInitialDataMiddleware } from './middlewares/extendCTBInitialData';\nimport { localeMiddleware } from './middlewares/rbac-middleware';\nimport { pluginId } from './pluginId';\nimport { i18nApi } from './services/api';\nimport { LOCALIZED_FIELDS } from './utils/fields';\nimport { getTranslation } from './utils/getTranslation';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\nimport { mutateCTBContentTypeSchema } from './utils/schemas';\n\nimport type { DocumentActionComponent } from '@strapi/content-manager/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n app.addMiddlewares([extendCTBAttributeInitialDataMiddleware, extendCTBInitialDataMiddleware]);\n app.addMiddlewares([() => i18nApi.middleware]);\n app.addReducers({\n [i18nApi.reducerPath]: i18nApi.reducer,\n });\n app.addRBACMiddleware([localeMiddleware]);\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n });\n },\n bootstrap(app: any) {\n // // Hook that adds a column into the CM's LV table\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n app.registerHook('Admin/CM/pages/EditView/mutate-edit-view-layout', mutateEditViewHook);\n // Hooks that checks if the locale is present in the release\n app.registerHook(\n 'ContentReleases/pages/ReleaseDetails/add-locale-in-releases',\n addLocaleToReleasesHook\n );\n\n // Add the settings link\n app.addSettingsLink('global', {\n intlLabel: {\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n },\n id: 'internationalization',\n to: 'internationalization',\n Component: () =>\n import('./pages/SettingsPage').then((mod) => ({ default: mod.ProtectedSettingsPage })),\n permissions: PERMISSIONS.accessMain,\n });\n\n const contentManager = app.getPlugin('content-manager');\n\n contentManager.apis.addDocumentHeaderAction([\n AITranslationStatusAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n ]);\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, DeleteLocaleAction);\n return actions;\n });\n\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n // When enabled the bulk locale publish action should be the first action\n // in 'More Document Actions' and therefore the third action in the array\n actions.splice(2, 0, BulkLocalePublishAction);\n actions.splice(5, 0, BulkLocaleUnpublishAction);\n return actions;\n });\n\n contentManager.injectComponent('listView', 'actions', {\n name: 'i18n-locale-filter',\n Component: LocalePicker,\n });\n\n contentManager.injectComponent('listView', 'publishModalAdditionalInfos', {\n name: 'i18n-publish-bullets-in-modal',\n Component: PublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'unpublishModalAdditionalInfos', {\n name: 'i18n-unpublish-bullets-in-modal',\n Component: UnpublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'deleteModalAdditionalInfos', {\n name: 'i18n-delete-bullets-in-modal',\n Component: DeleteModalAdditionalInfo,\n });\n\n const ctbPlugin = app.getPlugin('content-type-builder');\n\n if (ctbPlugin) {\n const ctbFormsAPI = ctbPlugin.apis.forms;\n ctbFormsAPI.addContentTypeSchemaMutation(mutateCTBContentTypeSchema);\n ctbFormsAPI.components.add({ id: 'checkboxConfirmation', component: CheckboxConfirmation });\n\n ctbFormsAPI.extendContentType({\n validator: () => ({\n i18n: yup.object().shape({\n localized: yup.bool(),\n }),\n }),\n form: {\n advanced() {\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-content-type'),\n defaultMessage: 'Allows translating an entry into different languages',\n },\n type: 'checkboxConfirmation',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-content-type'),\n defaultMessage: 'Localization',\n },\n },\n ];\n },\n },\n });\n\n ctbFormsAPI.extendFields(LOCALIZED_FIELDS, {\n form: {\n advanced({ contentTypeSchema, forTarget, type, step }: any) {\n if (forTarget !== 'contentType') {\n return [];\n }\n\n const hasI18nEnabled = get(\n contentTypeSchema,\n ['pluginOptions', 'i18n', 'localized'],\n false\n );\n\n if (!hasI18nEnabled) {\n return [];\n }\n\n if (type === 'component' && step === '1') {\n return [];\n }\n\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-field'),\n defaultMessage: 'The field can have different values in each locale',\n },\n type: 'checkbox',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-field'),\n defaultMessage: 'Enable localization for this field',\n },\n },\n ];\n },\n },\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["register","app","addMiddlewares","extendCTBAttributeInitialDataMiddleware","extendCTBInitialDataMiddleware","i18nApi","middleware","addReducers","reducerPath","reducer","addRBACMiddleware","localeMiddleware","registerPlugin","id","pluginId","name","bootstrap","registerHook","addColumnToTableHook","mutateEditViewHook","addLocaleToReleasesHook","addSettingsLink","intlLabel","getTranslation","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","accessMain","contentManager","getPlugin","apis","addDocumentHeaderAction","AITranslationStatusAction","LocalePickerAction","FillFromAnotherLocaleAction","addDocumentAction","actions","indexOfDeleteAction","findIndex","action","type","splice","DeleteLocaleAction","BulkLocalePublishAction","BulkLocaleUnpublishAction","injectComponent","LocalePicker","PublishModalAdditionalInfo","UnpublishModalAdditionalInfo","DeleteModalAdditionalInfo","ctbPlugin","ctbFormsAPI","forms","addContentTypeSchemaMutation","mutateCTBContentTypeSchema","components","add","component","CheckboxConfirmation","extendContentType","validator","i18n","yup","object","shape","localized","bool","form","advanced","description","extendFields","LOCALIZED_FIELDS","contentTypeSchema","forTarget","step","hasI18nEnabled","get","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extendCTBAttributeInitialData.js","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = ({ uid }: { uid: string }) => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const type = get(store, [\n 'content-type-builder_dataManagerProvider',\n 'current',\n 'contentTypes',\n uid,\n ]);\n\n if (!type || type.modelType !== 'contentType') {\n return next(action);\n }\n\n const hasi18nEnabled = get(type, ['pluginOptions', 'i18n', 'localized'], false);\n\n if (hasi18nEnabled) {\n return next({\n ...action,\n payload: {\n ...action.payload,\n options: {\n pluginOptions: {\n ...(action?.payload?.options?.pluginOptions ?? {}),\n i18n: {\n localized: true,\n },\n },\n },\n },\n });\n }\n\n return next(action);\n } catch (err) {\n return next(action);\n }\n };\n\n const { payload = {}, type } = action ?? {};\n\n if (\n type === 'formModal/setAttributeDataSchema' &&\n !['relation', 'component'].includes(payload.attributeType) &&\n !payload.isEditing\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (\n type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' ||\n type === 'formModal/resetPropsAndSaveCurrentData'\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n return next(action);\n };\n};\n\nexport { extendCTBAttributeInitialDataMiddleware };\n"],"names":["extendCTBAttributeInitialDataMiddleware","getState","next","action","enhanceAction","uid","store","type","get","modelType","hasi18nEnabled","payload","options","pluginOptions","i18n","localized","err","includes","attributeType","isEditing"],"mappings":";;;;AAKA,MAAMA,uCAGF,GAAA,IAAA;AACF,IAAA,OAAO,CAAC,EAAEC,QAAQ,EAAE,GAClB,CAACC,OACD,CAACC,MAAAA,GAAAA;AACC,gBAAA,MAAMC,aAAgB,GAAA,CAAC,EAAEC,GAAG,EAAmB,GAAA;;;oBAG7C,IAAI;AACF,wBAAA,MAAMC,KAAQL,GAAAA,QAAAA,EAAAA;wBAEd,MAAMM,IAAAA,GAAOC,IAAIF,KAAO,EAAA;AACtB,4BAAA,0CAAA;AACA,4BAAA,SAAA;AACA,4BAAA,cAAA;AACAD,4BAAAA;AACD,yBAAA,CAAA;AAED,wBAAA,IAAI,CAACE,IAAAA,IAAQA,IAAKE,CAAAA,SAAS,KAAK,aAAe,EAAA;AAC7C,4BAAA,OAAOP,IAAKC,CAAAA,MAAAA,CAAAA;AACd;wBAEA,MAAMO,cAAAA,GAAiBF,IAAID,IAAM,EAAA;AAAC,4BAAA,eAAA;AAAiB,4BAAA,MAAA;AAAQ,4BAAA;yBAAY,EAAE,KAAA,CAAA;AAEzE,wBAAA,IAAIG,cAAgB,EAAA;AAClB,4BAAA,OAAOR,IAAK,CAAA;AACV,gCAAA,GAAGC,MAAM;gCACTQ,OAAS,EAAA;AACP,oCAAA,GAAGR,OAAOQ,OAAO;oCACjBC,OAAS,EAAA;wCACPC,aAAe,EAAA;AACb,4CAAA,GAAIV,MAAQQ,EAAAA,OAAAA,EAASC,OAASC,EAAAA,aAAAA,IAAiB,EAAE;4CACjDC,IAAM,EAAA;gDACJC,SAAW,EAAA;AACb;AACF;AACF;AACF;AACF,6BAAA,CAAA;AACF;AAEA,wBAAA,OAAOb,IAAKC,CAAAA,MAAAA,CAAAA;AACd,qBAAA,CAAE,OAAOa,GAAK,EAAA;AACZ,wBAAA,OAAOd,IAAKC,CAAAA,MAAAA,CAAAA;AACd;AACF,iBAAA;gBAEA,MAAM,EAAEQ,UAAU,EAAE,EAAEJ,IAAI,EAAE,GAAGJ,MAAAA,IAAU,EAAC;gBAE1C,IACEI,IAAAA,KAAS,sCACT,CAAC;AAAC,oBAAA,UAAA;AAAY,oBAAA;iBAAY,CAACU,QAAQ,CAACN,OAAQO,CAAAA,aAAa,KACzD,CAACP,OAAAA,CAAQQ,SAAS,EAClB;AACA,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,IAAIE,IAAS,KAAA,oCAAA,IAAwC,CAACI,OAAAA,CAAQQ,SAAS,EAAE;AACvE,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;gBAEA,IACEE,IAAAA,KAAS,wDACTA,IAAAA,IAAAA,KAAS,wCACT,EAAA;AACA,oBAAA,OAAOH,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,OAAOH,IAAKC,CAAAA,MAAAA,CAAAA;AACd,aAAA;AACJ;;;;"}
1
+ {"version":3,"file":"extendCTBAttributeInitialData.js","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = ({ uid }: { uid: string }) => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const type = get(store, [\n 'content-type-builder_dataManagerProvider',\n 'current',\n 'contentTypes',\n uid,\n ]);\n\n if (!type || type.modelType !== 'contentType') {\n return next(action);\n }\n\n const hasi18nEnabled = get(type, ['pluginOptions', 'i18n', 'localized'], false);\n\n if (hasi18nEnabled) {\n return next({\n ...action,\n payload: {\n ...action.payload,\n options: {\n pluginOptions: {\n ...(action?.payload?.options?.pluginOptions ?? {}),\n i18n: {\n localized: true,\n },\n },\n },\n },\n });\n }\n\n return next(action);\n } catch (err) {\n return next(action);\n }\n };\n\n const { payload = {}, type } = action ?? {};\n\n if (\n type === 'formModal/setAttributeDataSchema' &&\n !['relation', 'component'].includes(payload.attributeType) &&\n !payload.isEditing\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (\n type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' ||\n type === 'formModal/resetPropsAndSaveCurrentData'\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n return next(action);\n };\n};\n\nexport { extendCTBAttributeInitialDataMiddleware };\n"],"names":["extendCTBAttributeInitialDataMiddleware","getState","next","action","enhanceAction","uid","store","type","get","modelType","hasi18nEnabled","payload","options","pluginOptions","i18n","localized","err","includes","attributeType","isEditing"],"mappings":";;;;AAKA,MAAMA,uCAAAA,GAGF,IAAA;AACF,IAAA,OAAO,CAAC,EAAEC,QAAQ,EAAE,GAClB,CAACC,OACD,CAACC,MAAAA,GAAAA;AACC,gBAAA,MAAMC,aAAAA,GAAgB,CAAC,EAAEC,GAAG,EAAmB,GAAA;;;oBAG7C,IAAI;AACF,wBAAA,MAAMC,KAAAA,GAAQL,QAAAA,EAAAA;wBAEd,MAAMM,IAAAA,GAAOC,IAAIF,KAAAA,EAAO;AACtB,4BAAA,0CAAA;AACA,4BAAA,SAAA;AACA,4BAAA,cAAA;AACAD,4BAAAA;AACD,yBAAA,CAAA;AAED,wBAAA,IAAI,CAACE,IAAAA,IAAQA,IAAAA,CAAKE,SAAS,KAAK,aAAA,EAAe;AAC7C,4BAAA,OAAOP,IAAAA,CAAKC,MAAAA,CAAAA;AACd,wBAAA;wBAEA,MAAMO,cAAAA,GAAiBF,IAAID,IAAAA,EAAM;AAAC,4BAAA,eAAA;AAAiB,4BAAA,MAAA;AAAQ,4BAAA;yBAAY,EAAE,KAAA,CAAA;AAEzE,wBAAA,IAAIG,cAAAA,EAAgB;AAClB,4BAAA,OAAOR,IAAAA,CAAK;AACV,gCAAA,GAAGC,MAAM;gCACTQ,OAAAA,EAAS;AACP,oCAAA,GAAGR,OAAOQ,OAAO;oCACjBC,OAAAA,EAAS;wCACPC,aAAAA,EAAe;AACb,4CAAA,GAAIV,MAAAA,EAAQQ,OAAAA,EAASC,OAAAA,EAASC,aAAAA,IAAiB,EAAE;4CACjDC,IAAAA,EAAM;gDACJC,SAAAA,EAAW;AACb;AACF;AACF;AACF;AACF,6BAAA,CAAA;AACF,wBAAA;AAEA,wBAAA,OAAOb,IAAAA,CAAKC,MAAAA,CAAAA;AACd,oBAAA,CAAA,CAAE,OAAOa,GAAAA,EAAK;AACZ,wBAAA,OAAOd,IAAAA,CAAKC,MAAAA,CAAAA;AACd,oBAAA;AACF,gBAAA,CAAA;gBAEA,MAAM,EAAEQ,UAAU,EAAE,EAAEJ,IAAI,EAAE,GAAGJ,MAAAA,IAAU,EAAC;gBAE1C,IACEI,IAAAA,KAAS,sCACT,CAAC;AAAC,oBAAA,UAAA;AAAY,oBAAA;iBAAY,CAACU,QAAQ,CAACN,OAAAA,CAAQO,aAAa,KACzD,CAACP,OAAAA,CAAQQ,SAAS,EAClB;AACA,oBAAA,OAAOf,aAAAA,CAAc;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF,gBAAA;AAEA,gBAAA,IAAIE,IAAAA,KAAS,oCAAA,IAAwC,CAACI,OAAAA,CAAQQ,SAAS,EAAE;AACvE,oBAAA,OAAOf,aAAAA,CAAc;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF,gBAAA;gBAEA,IACEE,IAAAA,KAAS,wDAAA,IACTA,IAAAA,KAAS,wCAAA,EACT;AACA,oBAAA,OAAOH,aAAAA,CAAc;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF,gBAAA;AAEA,gBAAA,OAAOH,IAAAA,CAAKC,MAAAA,CAAAA;AACd,YAAA,CAAA;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"extendCTBAttributeInitialData.mjs","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = ({ uid }: { uid: string }) => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const type = get(store, [\n 'content-type-builder_dataManagerProvider',\n 'current',\n 'contentTypes',\n uid,\n ]);\n\n if (!type || type.modelType !== 'contentType') {\n return next(action);\n }\n\n const hasi18nEnabled = get(type, ['pluginOptions', 'i18n', 'localized'], false);\n\n if (hasi18nEnabled) {\n return next({\n ...action,\n payload: {\n ...action.payload,\n options: {\n pluginOptions: {\n ...(action?.payload?.options?.pluginOptions ?? {}),\n i18n: {\n localized: true,\n },\n },\n },\n },\n });\n }\n\n return next(action);\n } catch (err) {\n return next(action);\n }\n };\n\n const { payload = {}, type } = action ?? {};\n\n if (\n type === 'formModal/setAttributeDataSchema' &&\n !['relation', 'component'].includes(payload.attributeType) &&\n !payload.isEditing\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (\n type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' ||\n type === 'formModal/resetPropsAndSaveCurrentData'\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n return next(action);\n };\n};\n\nexport { extendCTBAttributeInitialDataMiddleware };\n"],"names":["extendCTBAttributeInitialDataMiddleware","getState","next","action","enhanceAction","uid","store","type","get","modelType","hasi18nEnabled","payload","options","pluginOptions","i18n","localized","err","includes","attributeType","isEditing"],"mappings":";;AAKA,MAAMA,uCAGF,GAAA,IAAA;AACF,IAAA,OAAO,CAAC,EAAEC,QAAQ,EAAE,GAClB,CAACC,OACD,CAACC,MAAAA,GAAAA;AACC,gBAAA,MAAMC,aAAgB,GAAA,CAAC,EAAEC,GAAG,EAAmB,GAAA;;;oBAG7C,IAAI;AACF,wBAAA,MAAMC,KAAQL,GAAAA,QAAAA,EAAAA;wBAEd,MAAMM,IAAAA,GAAOC,IAAIF,KAAO,EAAA;AACtB,4BAAA,0CAAA;AACA,4BAAA,SAAA;AACA,4BAAA,cAAA;AACAD,4BAAAA;AACD,yBAAA,CAAA;AAED,wBAAA,IAAI,CAACE,IAAAA,IAAQA,IAAKE,CAAAA,SAAS,KAAK,aAAe,EAAA;AAC7C,4BAAA,OAAOP,IAAKC,CAAAA,MAAAA,CAAAA;AACd;wBAEA,MAAMO,cAAAA,GAAiBF,IAAID,IAAM,EAAA;AAAC,4BAAA,eAAA;AAAiB,4BAAA,MAAA;AAAQ,4BAAA;yBAAY,EAAE,KAAA,CAAA;AAEzE,wBAAA,IAAIG,cAAgB,EAAA;AAClB,4BAAA,OAAOR,IAAK,CAAA;AACV,gCAAA,GAAGC,MAAM;gCACTQ,OAAS,EAAA;AACP,oCAAA,GAAGR,OAAOQ,OAAO;oCACjBC,OAAS,EAAA;wCACPC,aAAe,EAAA;AACb,4CAAA,GAAIV,MAAQQ,EAAAA,OAAAA,EAASC,OAASC,EAAAA,aAAAA,IAAiB,EAAE;4CACjDC,IAAM,EAAA;gDACJC,SAAW,EAAA;AACb;AACF;AACF;AACF;AACF,6BAAA,CAAA;AACF;AAEA,wBAAA,OAAOb,IAAKC,CAAAA,MAAAA,CAAAA;AACd,qBAAA,CAAE,OAAOa,GAAK,EAAA;AACZ,wBAAA,OAAOd,IAAKC,CAAAA,MAAAA,CAAAA;AACd;AACF,iBAAA;gBAEA,MAAM,EAAEQ,UAAU,EAAE,EAAEJ,IAAI,EAAE,GAAGJ,MAAAA,IAAU,EAAC;gBAE1C,IACEI,IAAAA,KAAS,sCACT,CAAC;AAAC,oBAAA,UAAA;AAAY,oBAAA;iBAAY,CAACU,QAAQ,CAACN,OAAQO,CAAAA,aAAa,KACzD,CAACP,OAAAA,CAAQQ,SAAS,EAClB;AACA,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,IAAIE,IAAS,KAAA,oCAAA,IAAwC,CAACI,OAAAA,CAAQQ,SAAS,EAAE;AACvE,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;gBAEA,IACEE,IAAAA,KAAS,wDACTA,IAAAA,IAAAA,KAAS,wCACT,EAAA;AACA,oBAAA,OAAOH,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,OAAOH,IAAKC,CAAAA,MAAAA,CAAAA;AACd,aAAA;AACJ;;;;"}
1
+ {"version":3,"file":"extendCTBAttributeInitialData.mjs","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = ({ uid }: { uid: string }) => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const type = get(store, [\n 'content-type-builder_dataManagerProvider',\n 'current',\n 'contentTypes',\n uid,\n ]);\n\n if (!type || type.modelType !== 'contentType') {\n return next(action);\n }\n\n const hasi18nEnabled = get(type, ['pluginOptions', 'i18n', 'localized'], false);\n\n if (hasi18nEnabled) {\n return next({\n ...action,\n payload: {\n ...action.payload,\n options: {\n pluginOptions: {\n ...(action?.payload?.options?.pluginOptions ?? {}),\n i18n: {\n localized: true,\n },\n },\n },\n },\n });\n }\n\n return next(action);\n } catch (err) {\n return next(action);\n }\n };\n\n const { payload = {}, type } = action ?? {};\n\n if (\n type === 'formModal/setAttributeDataSchema' &&\n !['relation', 'component'].includes(payload.attributeType) &&\n !payload.isEditing\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (\n type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' ||\n type === 'formModal/resetPropsAndSaveCurrentData'\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n return next(action);\n };\n};\n\nexport { extendCTBAttributeInitialDataMiddleware };\n"],"names":["extendCTBAttributeInitialDataMiddleware","getState","next","action","enhanceAction","uid","store","type","get","modelType","hasi18nEnabled","payload","options","pluginOptions","i18n","localized","err","includes","attributeType","isEditing"],"mappings":";;AAKA,MAAMA,uCAAAA,GAGF,IAAA;AACF,IAAA,OAAO,CAAC,EAAEC,QAAQ,EAAE,GAClB,CAACC,OACD,CAACC,MAAAA,GAAAA;AACC,gBAAA,MAAMC,aAAAA,GAAgB,CAAC,EAAEC,GAAG,EAAmB,GAAA;;;oBAG7C,IAAI;AACF,wBAAA,MAAMC,KAAAA,GAAQL,QAAAA,EAAAA;wBAEd,MAAMM,IAAAA,GAAOC,IAAIF,KAAAA,EAAO;AACtB,4BAAA,0CAAA;AACA,4BAAA,SAAA;AACA,4BAAA,cAAA;AACAD,4BAAAA;AACD,yBAAA,CAAA;AAED,wBAAA,IAAI,CAACE,IAAAA,IAAQA,IAAAA,CAAKE,SAAS,KAAK,aAAA,EAAe;AAC7C,4BAAA,OAAOP,IAAAA,CAAKC,MAAAA,CAAAA;AACd,wBAAA;wBAEA,MAAMO,cAAAA,GAAiBF,IAAID,IAAAA,EAAM;AAAC,4BAAA,eAAA;AAAiB,4BAAA,MAAA;AAAQ,4BAAA;yBAAY,EAAE,KAAA,CAAA;AAEzE,wBAAA,IAAIG,cAAAA,EAAgB;AAClB,4BAAA,OAAOR,IAAAA,CAAK;AACV,gCAAA,GAAGC,MAAM;gCACTQ,OAAAA,EAAS;AACP,oCAAA,GAAGR,OAAOQ,OAAO;oCACjBC,OAAAA,EAAS;wCACPC,aAAAA,EAAe;AACb,4CAAA,GAAIV,MAAAA,EAAQQ,OAAAA,EAASC,OAAAA,EAASC,aAAAA,IAAiB,EAAE;4CACjDC,IAAAA,EAAM;gDACJC,SAAAA,EAAW;AACb;AACF;AACF;AACF;AACF,6BAAA,CAAA;AACF,wBAAA;AAEA,wBAAA,OAAOb,IAAAA,CAAKC,MAAAA,CAAAA;AACd,oBAAA,CAAA,CAAE,OAAOa,GAAAA,EAAK;AACZ,wBAAA,OAAOd,IAAAA,CAAKC,MAAAA,CAAAA;AACd,oBAAA;AACF,gBAAA,CAAA;gBAEA,MAAM,EAAEQ,UAAU,EAAE,EAAEJ,IAAI,EAAE,GAAGJ,MAAAA,IAAU,EAAC;gBAE1C,IACEI,IAAAA,KAAS,sCACT,CAAC;AAAC,oBAAA,UAAA;AAAY,oBAAA;iBAAY,CAACU,QAAQ,CAACN,OAAAA,CAAQO,aAAa,KACzD,CAACP,OAAAA,CAAQQ,SAAS,EAClB;AACA,oBAAA,OAAOf,aAAAA,CAAc;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF,gBAAA;AAEA,gBAAA,IAAIE,IAAAA,KAAS,oCAAA,IAAwC,CAACI,OAAAA,CAAQQ,SAAS,EAAE;AACvE,oBAAA,OAAOf,aAAAA,CAAc;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF,gBAAA;gBAEA,IACEE,IAAAA,KAAS,wDAAA,IACTA,IAAAA,KAAS,wCAAA,EACT;AACA,oBAAA,OAAOH,aAAAA,CAAc;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF,gBAAA;AAEA,gBAAA,OAAOH,IAAAA,CAAKC,MAAAA,CAAAA;AACd,YAAA,CAAA;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"extendCTBInitialData.js","sources":["../../../admin/src/middlewares/extendCTBInitialData.ts"],"sourcesContent":["import type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return () => (next) => (action) => {\n if (\n action.type === 'ContentTypeBuilder/FormModal/SET_DATA_TO_EDIT' &&\n action.modalType === 'contentType'\n ) {\n const i18n = { localized: false };\n\n const pluginOptions = action.data.pluginOptions\n ? { ...action.data.pluginOptions, i18n }\n : { i18n };\n\n const data = { ...action.data, pluginOptions };\n\n if (action.actionType === 'create') {\n return next({ ...action, data });\n }\n\n // Override the action if the pluginOption config does not contain i18n\n // In this case we need to set the proper initialData shape\n if (!action.data.pluginOptions?.i18n?.localized) {\n return next({ ...action, data });\n }\n }\n\n // action is not the one we want to override\n return next(action);\n };\n};\n\nexport { extendCTBInitialDataMiddleware };\n"],"names":["extendCTBInitialDataMiddleware","next","action","type","modalType","i18n","localized","pluginOptions","data","actionType"],"mappings":";;AAGA,MAAMA,8BAGF,GAAA,IAAA;IACF,OAAO,IAAM,CAACC,IAAAA,GAAS,CAACC,MAAAA,GAAAA;AACtB,gBAAA,IACEA,OAAOC,IAAI,KAAK,mDAChBD,MAAOE,CAAAA,SAAS,KAAK,aACrB,EAAA;AACA,oBAAA,MAAMC,IAAO,GAAA;wBAAEC,SAAW,EAAA;AAAM,qBAAA;AAEhC,oBAAA,MAAMC,aAAgBL,GAAAA,MAAAA,CAAOM,IAAI,CAACD,aAAa,GAC3C;wBAAE,GAAGL,MAAAA,CAAOM,IAAI,CAACD,aAAa;AAAEF,wBAAAA;qBAChC,GAAA;AAAEA,wBAAAA;AAAK,qBAAA;AAEX,oBAAA,MAAMG,IAAO,GAAA;AAAE,wBAAA,GAAGN,OAAOM,IAAI;AAAED,wBAAAA;AAAc,qBAAA;oBAE7C,IAAIL,MAAAA,CAAOO,UAAU,KAAK,QAAU,EAAA;AAClC,wBAAA,OAAOR,IAAK,CAAA;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC;;;AAIA,oBAAA,IAAI,CAACN,MAAOM,CAAAA,IAAI,CAACD,aAAa,EAAEF,MAAMC,SAAW,EAAA;AAC/C,wBAAA,OAAOL,IAAK,CAAA;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC;AACF;;AAGA,gBAAA,OAAOP,IAAKC,CAAAA,MAAAA,CAAAA;AACd,aAAA;AACF;;;;"}
1
+ {"version":3,"file":"extendCTBInitialData.js","sources":["../../../admin/src/middlewares/extendCTBInitialData.ts"],"sourcesContent":["import type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return () => (next) => (action) => {\n if (\n action.type === 'ContentTypeBuilder/FormModal/SET_DATA_TO_EDIT' &&\n action.modalType === 'contentType'\n ) {\n const i18n = { localized: false };\n\n const pluginOptions = action.data.pluginOptions\n ? { ...action.data.pluginOptions, i18n }\n : { i18n };\n\n const data = { ...action.data, pluginOptions };\n\n if (action.actionType === 'create') {\n return next({ ...action, data });\n }\n\n // Override the action if the pluginOption config does not contain i18n\n // In this case we need to set the proper initialData shape\n if (!action.data.pluginOptions?.i18n?.localized) {\n return next({ ...action, data });\n }\n }\n\n // action is not the one we want to override\n return next(action);\n };\n};\n\nexport { extendCTBInitialDataMiddleware };\n"],"names":["extendCTBInitialDataMiddleware","next","action","type","modalType","i18n","localized","pluginOptions","data","actionType"],"mappings":";;AAGA,MAAMA,8BAAAA,GAGF,IAAA;IACF,OAAO,IAAM,CAACC,IAAAA,GAAS,CAACC,MAAAA,GAAAA;AACtB,gBAAA,IACEA,OAAOC,IAAI,KAAK,mDAChBD,MAAAA,CAAOE,SAAS,KAAK,aAAA,EACrB;AACA,oBAAA,MAAMC,IAAAA,GAAO;wBAAEC,SAAAA,EAAW;AAAM,qBAAA;AAEhC,oBAAA,MAAMC,aAAAA,GAAgBL,MAAAA,CAAOM,IAAI,CAACD,aAAa,GAC3C;wBAAE,GAAGL,MAAAA,CAAOM,IAAI,CAACD,aAAa;AAAEF,wBAAAA;qBAAK,GACrC;AAAEA,wBAAAA;AAAK,qBAAA;AAEX,oBAAA,MAAMG,IAAAA,GAAO;AAAE,wBAAA,GAAGN,OAAOM,IAAI;AAAED,wBAAAA;AAAc,qBAAA;oBAE7C,IAAIL,MAAAA,CAAOO,UAAU,KAAK,QAAA,EAAU;AAClC,wBAAA,OAAOR,IAAAA,CAAK;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC,oBAAA;;;AAIA,oBAAA,IAAI,CAACN,MAAAA,CAAOM,IAAI,CAACD,aAAa,EAAEF,MAAMC,SAAAA,EAAW;AAC/C,wBAAA,OAAOL,IAAAA,CAAK;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC,oBAAA;AACF,gBAAA;;AAGA,gBAAA,OAAOP,IAAAA,CAAKC,MAAAA,CAAAA;AACd,YAAA,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"extendCTBInitialData.mjs","sources":["../../../admin/src/middlewares/extendCTBInitialData.ts"],"sourcesContent":["import type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return () => (next) => (action) => {\n if (\n action.type === 'ContentTypeBuilder/FormModal/SET_DATA_TO_EDIT' &&\n action.modalType === 'contentType'\n ) {\n const i18n = { localized: false };\n\n const pluginOptions = action.data.pluginOptions\n ? { ...action.data.pluginOptions, i18n }\n : { i18n };\n\n const data = { ...action.data, pluginOptions };\n\n if (action.actionType === 'create') {\n return next({ ...action, data });\n }\n\n // Override the action if the pluginOption config does not contain i18n\n // In this case we need to set the proper initialData shape\n if (!action.data.pluginOptions?.i18n?.localized) {\n return next({ ...action, data });\n }\n }\n\n // action is not the one we want to override\n return next(action);\n };\n};\n\nexport { extendCTBInitialDataMiddleware };\n"],"names":["extendCTBInitialDataMiddleware","next","action","type","modalType","i18n","localized","pluginOptions","data","actionType"],"mappings":"AAGA,MAAMA,8BAGF,GAAA,IAAA;IACF,OAAO,IAAM,CAACC,IAAAA,GAAS,CAACC,MAAAA,GAAAA;AACtB,gBAAA,IACEA,OAAOC,IAAI,KAAK,mDAChBD,MAAOE,CAAAA,SAAS,KAAK,aACrB,EAAA;AACA,oBAAA,MAAMC,IAAO,GAAA;wBAAEC,SAAW,EAAA;AAAM,qBAAA;AAEhC,oBAAA,MAAMC,aAAgBL,GAAAA,MAAAA,CAAOM,IAAI,CAACD,aAAa,GAC3C;wBAAE,GAAGL,MAAAA,CAAOM,IAAI,CAACD,aAAa;AAAEF,wBAAAA;qBAChC,GAAA;AAAEA,wBAAAA;AAAK,qBAAA;AAEX,oBAAA,MAAMG,IAAO,GAAA;AAAE,wBAAA,GAAGN,OAAOM,IAAI;AAAED,wBAAAA;AAAc,qBAAA;oBAE7C,IAAIL,MAAAA,CAAOO,UAAU,KAAK,QAAU,EAAA;AAClC,wBAAA,OAAOR,IAAK,CAAA;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC;;;AAIA,oBAAA,IAAI,CAACN,MAAOM,CAAAA,IAAI,CAACD,aAAa,EAAEF,MAAMC,SAAW,EAAA;AAC/C,wBAAA,OAAOL,IAAK,CAAA;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC;AACF;;AAGA,gBAAA,OAAOP,IAAKC,CAAAA,MAAAA,CAAAA;AACd,aAAA;AACF;;;;"}
1
+ {"version":3,"file":"extendCTBInitialData.mjs","sources":["../../../admin/src/middlewares/extendCTBInitialData.ts"],"sourcesContent":["import type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return () => (next) => (action) => {\n if (\n action.type === 'ContentTypeBuilder/FormModal/SET_DATA_TO_EDIT' &&\n action.modalType === 'contentType'\n ) {\n const i18n = { localized: false };\n\n const pluginOptions = action.data.pluginOptions\n ? { ...action.data.pluginOptions, i18n }\n : { i18n };\n\n const data = { ...action.data, pluginOptions };\n\n if (action.actionType === 'create') {\n return next({ ...action, data });\n }\n\n // Override the action if the pluginOption config does not contain i18n\n // In this case we need to set the proper initialData shape\n if (!action.data.pluginOptions?.i18n?.localized) {\n return next({ ...action, data });\n }\n }\n\n // action is not the one we want to override\n return next(action);\n };\n};\n\nexport { extendCTBInitialDataMiddleware };\n"],"names":["extendCTBInitialDataMiddleware","next","action","type","modalType","i18n","localized","pluginOptions","data","actionType"],"mappings":"AAGA,MAAMA,8BAAAA,GAGF,IAAA;IACF,OAAO,IAAM,CAACC,IAAAA,GAAS,CAACC,MAAAA,GAAAA;AACtB,gBAAA,IACEA,OAAOC,IAAI,KAAK,mDAChBD,MAAAA,CAAOE,SAAS,KAAK,aAAA,EACrB;AACA,oBAAA,MAAMC,IAAAA,GAAO;wBAAEC,SAAAA,EAAW;AAAM,qBAAA;AAEhC,oBAAA,MAAMC,aAAAA,GAAgBL,MAAAA,CAAOM,IAAI,CAACD,aAAa,GAC3C;wBAAE,GAAGL,MAAAA,CAAOM,IAAI,CAACD,aAAa;AAAEF,wBAAAA;qBAAK,GACrC;AAAEA,wBAAAA;AAAK,qBAAA;AAEX,oBAAA,MAAMG,IAAAA,GAAO;AAAE,wBAAA,GAAGN,OAAOM,IAAI;AAAED,wBAAAA;AAAc,qBAAA;oBAE7C,IAAIL,MAAAA,CAAOO,UAAU,KAAK,QAAA,EAAU;AAClC,wBAAA,OAAOR,IAAAA,CAAK;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC,oBAAA;;;AAIA,oBAAA,IAAI,CAACN,MAAAA,CAAOM,IAAI,CAACD,aAAa,EAAEF,MAAMC,SAAAA,EAAW;AAC/C,wBAAA,OAAOL,IAAAA,CAAK;AAAE,4BAAA,GAAGC,MAAM;AAAEM,4BAAAA;AAAK,yBAAA,CAAA;AAChC,oBAAA;AACF,gBAAA;;AAGA,gBAAA,OAAOP,IAAAA,CAAKC,MAAAA,CAAAA;AACd,YAAA,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-middleware.js","sources":["../../../admin/src/middlewares/rbac-middleware.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as qs from 'qs';\nimport { matchPath } from 'react-router-dom';\n\nimport type { RBACMiddleware } from '@strapi/admin/strapi-admin';\n\nconst localeMiddleware: RBACMiddleware = (ctx) => (next) => (permissions) => {\n const match = matchPath('/content-manager/:collectionType/:model?/:id', ctx.pathname);\n\n if (!match) {\n return next(permissions);\n }\n\n const search = qs.parse(ctx.search);\n\n if (typeof search !== 'object') {\n return next(permissions);\n }\n\n if (!('plugins' in search && typeof search.plugins === 'object')) {\n return next(permissions);\n }\n\n if (\n !(\n 'i18n' in search.plugins &&\n typeof search.plugins.i18n === 'object' &&\n !Array.isArray(search.plugins.i18n)\n )\n ) {\n return next(permissions);\n }\n\n const { locale } = search.plugins.i18n;\n\n if (typeof locale !== 'string') {\n return next(permissions);\n }\n\n const revisedPermissions = permissions.filter(\n (permission) =>\n !permission.properties?.locales || permission.properties.locales.includes(locale)\n );\n\n return next(revisedPermissions);\n};\n\nexport { localeMiddleware };\n"],"names":["localeMiddleware","ctx","next","permissions","match","matchPath","pathname","search","qs","parse","plugins","i18n","Array","isArray","locale","revisedPermissions","filter","permission","properties","locales","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,gBAAmC,GAAA,CAACC,GAAQ,GAAA,CAACC,OAAS,CAACC,WAAAA,GAAAA;AAC3D,YAAA,MAAMC,KAAQC,GAAAA,wBAAAA,CAAU,8CAAgDJ,EAAAA,GAAAA,CAAIK,QAAQ,CAAA;AAEpF,YAAA,IAAI,CAACF,KAAO,EAAA;AACV,gBAAA,OAAOF,IAAKC,CAAAA,WAAAA,CAAAA;AACd;AAEA,YAAA,MAAMI,MAASC,GAAAA,aAAAA,CAAGC,KAAK,CAACR,IAAIM,MAAM,CAAA;YAElC,IAAI,OAAOA,WAAW,QAAU,EAAA;AAC9B,gBAAA,OAAOL,IAAKC,CAAAA,WAAAA,CAAAA;AACd;YAEA,IAAI,EAAE,SAAaI,IAAAA,MAAAA,IAAU,OAAOA,MAAOG,CAAAA,OAAO,KAAK,QAAO,CAAI,EAAA;AAChE,gBAAA,OAAOR,IAAKC,CAAAA,WAAAA,CAAAA;AACd;YAEA,IACE,EACE,MAAUI,IAAAA,MAAAA,CAAOG,OAAO,IACxB,OAAOH,MAAOG,CAAAA,OAAO,CAACC,IAAI,KAAK,QAC/B,IAAA,CAACC,MAAMC,OAAO,CAACN,OAAOG,OAAO,CAACC,IAAI,CAAA,CAEpC,EAAA;AACA,gBAAA,OAAOT,IAAKC,CAAAA,WAAAA,CAAAA;AACd;AAEA,YAAA,MAAM,EAAEW,MAAM,EAAE,GAAGP,MAAOG,CAAAA,OAAO,CAACC,IAAI;YAEtC,IAAI,OAAOG,WAAW,QAAU,EAAA;AAC9B,gBAAA,OAAOZ,IAAKC,CAAAA,WAAAA,CAAAA;AACd;AAEA,YAAA,MAAMY,qBAAqBZ,WAAYa,CAAAA,MAAM,CAC3C,CAACC,aACC,CAACA,UAAAA,CAAWC,UAAU,EAAEC,WAAWF,UAAWC,CAAAA,UAAU,CAACC,OAAO,CAACC,QAAQ,CAACN,MAAAA,CAAAA,CAAAA;AAG9E,YAAA,OAAOZ,IAAKa,CAAAA,kBAAAA,CAAAA;AACd;;;;"}
1
+ {"version":3,"file":"rbac-middleware.js","sources":["../../../admin/src/middlewares/rbac-middleware.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as qs from 'qs';\nimport { matchPath } from 'react-router-dom';\n\nimport type { RBACMiddleware } from '@strapi/admin/strapi-admin';\n\nconst localeMiddleware: RBACMiddleware = (ctx) => (next) => (permissions) => {\n const match = matchPath('/content-manager/:collectionType/:model?/:id', ctx.pathname);\n\n if (!match) {\n return next(permissions);\n }\n\n const search = qs.parse(ctx.search);\n\n if (typeof search !== 'object') {\n return next(permissions);\n }\n\n if (!('plugins' in search && typeof search.plugins === 'object')) {\n return next(permissions);\n }\n\n if (\n !(\n 'i18n' in search.plugins &&\n typeof search.plugins.i18n === 'object' &&\n !Array.isArray(search.plugins.i18n)\n )\n ) {\n return next(permissions);\n }\n\n const { locale } = search.plugins.i18n;\n\n if (typeof locale !== 'string') {\n return next(permissions);\n }\n\n const revisedPermissions = permissions.filter(\n (permission) =>\n !permission.properties?.locales || permission.properties.locales.includes(locale)\n );\n\n return next(revisedPermissions);\n};\n\nexport { localeMiddleware };\n"],"names":["localeMiddleware","ctx","next","permissions","match","matchPath","pathname","search","qs","parse","plugins","i18n","Array","isArray","locale","revisedPermissions","filter","permission","properties","locales","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,gBAAAA,GAAmC,CAACC,GAAAA,GAAQ,CAACC,OAAS,CAACC,WAAAA,GAAAA;AAC3D,YAAA,MAAMC,KAAAA,GAAQC,wBAAAA,CAAU,8CAAA,EAAgDJ,GAAAA,CAAIK,QAAQ,CAAA;AAEpF,YAAA,IAAI,CAACF,KAAAA,EAAO;AACV,gBAAA,OAAOF,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAMI,MAAAA,GAASC,aAAAA,CAAGC,KAAK,CAACR,IAAIM,MAAM,CAAA;YAElC,IAAI,OAAOA,WAAW,QAAA,EAAU;AAC9B,gBAAA,OAAOL,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;YAEA,IAAI,EAAE,SAAA,IAAaI,MAAAA,IAAU,OAAOA,MAAAA,CAAOG,OAAO,KAAK,QAAO,CAAA,EAAI;AAChE,gBAAA,OAAOR,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;YAEA,IACE,EACE,MAAA,IAAUI,MAAAA,CAAOG,OAAO,IACxB,OAAOH,MAAAA,CAAOG,OAAO,CAACC,IAAI,KAAK,QAAA,IAC/B,CAACC,MAAMC,OAAO,CAACN,OAAOG,OAAO,CAACC,IAAI,CAAA,CAAA,EAEpC;AACA,gBAAA,OAAOT,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAM,EAAEW,MAAM,EAAE,GAAGP,MAAAA,CAAOG,OAAO,CAACC,IAAI;YAEtC,IAAI,OAAOG,WAAW,QAAA,EAAU;AAC9B,gBAAA,OAAOZ,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAMY,qBAAqBZ,WAAAA,CAAYa,MAAM,CAC3C,CAACC,aACC,CAACA,UAAAA,CAAWC,UAAU,EAAEC,WAAWF,UAAAA,CAAWC,UAAU,CAACC,OAAO,CAACC,QAAQ,CAACN,MAAAA,CAAAA,CAAAA;AAG9E,YAAA,OAAOZ,IAAAA,CAAKa,kBAAAA,CAAAA;AACd,QAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-middleware.mjs","sources":["../../../admin/src/middlewares/rbac-middleware.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as qs from 'qs';\nimport { matchPath } from 'react-router-dom';\n\nimport type { RBACMiddleware } from '@strapi/admin/strapi-admin';\n\nconst localeMiddleware: RBACMiddleware = (ctx) => (next) => (permissions) => {\n const match = matchPath('/content-manager/:collectionType/:model?/:id', ctx.pathname);\n\n if (!match) {\n return next(permissions);\n }\n\n const search = qs.parse(ctx.search);\n\n if (typeof search !== 'object') {\n return next(permissions);\n }\n\n if (!('plugins' in search && typeof search.plugins === 'object')) {\n return next(permissions);\n }\n\n if (\n !(\n 'i18n' in search.plugins &&\n typeof search.plugins.i18n === 'object' &&\n !Array.isArray(search.plugins.i18n)\n )\n ) {\n return next(permissions);\n }\n\n const { locale } = search.plugins.i18n;\n\n if (typeof locale !== 'string') {\n return next(permissions);\n }\n\n const revisedPermissions = permissions.filter(\n (permission) =>\n !permission.properties?.locales || permission.properties.locales.includes(locale)\n );\n\n return next(revisedPermissions);\n};\n\nexport { localeMiddleware };\n"],"names":["localeMiddleware","ctx","next","permissions","match","matchPath","pathname","search","qs","parse","plugins","i18n","Array","isArray","locale","revisedPermissions","filter","permission","properties","locales","includes"],"mappings":";;;AAMA,MAAMA,gBAAmC,GAAA,CAACC,GAAQ,GAAA,CAACC,OAAS,CAACC,WAAAA,GAAAA;AAC3D,YAAA,MAAMC,KAAQC,GAAAA,SAAAA,CAAU,8CAAgDJ,EAAAA,GAAAA,CAAIK,QAAQ,CAAA;AAEpF,YAAA,IAAI,CAACF,KAAO,EAAA;AACV,gBAAA,OAAOF,IAAKC,CAAAA,WAAAA,CAAAA;AACd;AAEA,YAAA,MAAMI,MAASC,GAAAA,EAAAA,CAAGC,KAAK,CAACR,IAAIM,MAAM,CAAA;YAElC,IAAI,OAAOA,WAAW,QAAU,EAAA;AAC9B,gBAAA,OAAOL,IAAKC,CAAAA,WAAAA,CAAAA;AACd;YAEA,IAAI,EAAE,SAAaI,IAAAA,MAAAA,IAAU,OAAOA,MAAOG,CAAAA,OAAO,KAAK,QAAO,CAAI,EAAA;AAChE,gBAAA,OAAOR,IAAKC,CAAAA,WAAAA,CAAAA;AACd;YAEA,IACE,EACE,MAAUI,IAAAA,MAAAA,CAAOG,OAAO,IACxB,OAAOH,MAAOG,CAAAA,OAAO,CAACC,IAAI,KAAK,QAC/B,IAAA,CAACC,MAAMC,OAAO,CAACN,OAAOG,OAAO,CAACC,IAAI,CAAA,CAEpC,EAAA;AACA,gBAAA,OAAOT,IAAKC,CAAAA,WAAAA,CAAAA;AACd;AAEA,YAAA,MAAM,EAAEW,MAAM,EAAE,GAAGP,MAAOG,CAAAA,OAAO,CAACC,IAAI;YAEtC,IAAI,OAAOG,WAAW,QAAU,EAAA;AAC9B,gBAAA,OAAOZ,IAAKC,CAAAA,WAAAA,CAAAA;AACd;AAEA,YAAA,MAAMY,qBAAqBZ,WAAYa,CAAAA,MAAM,CAC3C,CAACC,aACC,CAACA,UAAAA,CAAWC,UAAU,EAAEC,WAAWF,UAAWC,CAAAA,UAAU,CAACC,OAAO,CAACC,QAAQ,CAACN,MAAAA,CAAAA,CAAAA;AAG9E,YAAA,OAAOZ,IAAKa,CAAAA,kBAAAA,CAAAA;AACd;;;;"}
1
+ {"version":3,"file":"rbac-middleware.mjs","sources":["../../../admin/src/middlewares/rbac-middleware.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as qs from 'qs';\nimport { matchPath } from 'react-router-dom';\n\nimport type { RBACMiddleware } from '@strapi/admin/strapi-admin';\n\nconst localeMiddleware: RBACMiddleware = (ctx) => (next) => (permissions) => {\n const match = matchPath('/content-manager/:collectionType/:model?/:id', ctx.pathname);\n\n if (!match) {\n return next(permissions);\n }\n\n const search = qs.parse(ctx.search);\n\n if (typeof search !== 'object') {\n return next(permissions);\n }\n\n if (!('plugins' in search && typeof search.plugins === 'object')) {\n return next(permissions);\n }\n\n if (\n !(\n 'i18n' in search.plugins &&\n typeof search.plugins.i18n === 'object' &&\n !Array.isArray(search.plugins.i18n)\n )\n ) {\n return next(permissions);\n }\n\n const { locale } = search.plugins.i18n;\n\n if (typeof locale !== 'string') {\n return next(permissions);\n }\n\n const revisedPermissions = permissions.filter(\n (permission) =>\n !permission.properties?.locales || permission.properties.locales.includes(locale)\n );\n\n return next(revisedPermissions);\n};\n\nexport { localeMiddleware };\n"],"names":["localeMiddleware","ctx","next","permissions","match","matchPath","pathname","search","qs","parse","plugins","i18n","Array","isArray","locale","revisedPermissions","filter","permission","properties","locales","includes"],"mappings":";;;AAMA,MAAMA,gBAAAA,GAAmC,CAACC,GAAAA,GAAQ,CAACC,OAAS,CAACC,WAAAA,GAAAA;AAC3D,YAAA,MAAMC,KAAAA,GAAQC,SAAAA,CAAU,8CAAA,EAAgDJ,GAAAA,CAAIK,QAAQ,CAAA;AAEpF,YAAA,IAAI,CAACF,KAAAA,EAAO;AACV,gBAAA,OAAOF,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAMI,MAAAA,GAASC,EAAAA,CAAGC,KAAK,CAACR,IAAIM,MAAM,CAAA;YAElC,IAAI,OAAOA,WAAW,QAAA,EAAU;AAC9B,gBAAA,OAAOL,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;YAEA,IAAI,EAAE,SAAA,IAAaI,MAAAA,IAAU,OAAOA,MAAAA,CAAOG,OAAO,KAAK,QAAO,CAAA,EAAI;AAChE,gBAAA,OAAOR,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;YAEA,IACE,EACE,MAAA,IAAUI,MAAAA,CAAOG,OAAO,IACxB,OAAOH,MAAAA,CAAOG,OAAO,CAACC,IAAI,KAAK,QAAA,IAC/B,CAACC,MAAMC,OAAO,CAACN,OAAOG,OAAO,CAACC,IAAI,CAAA,CAAA,EAEpC;AACA,gBAAA,OAAOT,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAM,EAAEW,MAAM,EAAE,GAAGP,MAAAA,CAAOG,OAAO,CAACC,IAAI;YAEtC,IAAI,OAAOG,WAAW,QAAA,EAAU;AAC9B,gBAAA,OAAOZ,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAMY,qBAAqBZ,WAAAA,CAAYa,MAAM,CAC3C,CAACC,aACC,CAACA,UAAAA,CAAWC,UAAU,EAAEC,WAAWF,UAAAA,CAAWC,UAAU,CAACC,OAAO,CAACC,QAAQ,CAACN,MAAAA,CAAAA,CAAAA;AAG9E,YAAA,OAAOZ,IAAAA,CAAKa,kBAAAA,CAAAA;AACd,QAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsPage.js","sources":["../../../admin/src/pages/SettingsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n Layouts,\n BaseQueryError,\n} from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport {\n Box,\n EmptyStateLayout,\n Field,\n Flex,\n Tooltip,\n Toggle,\n Typography,\n} from '@strapi/design-system';\nimport { Sparkle } from '@strapi/icons';\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 { useGetSettingsQuery, useUpdatei18nSettingsMutation } from '../services/settings';\nimport { getTranslation } from '../utils/getTranslation';\n\nconst SettingsErrrorTooltip = ({\n children,\n error,\n}: {\n children: React.ReactNode;\n error: BaseQueryError | SerializedError | undefined;\n}) => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n if (error) {\n return (\n <Tooltip label={formatAPIError(error)} style={{ maxWidth: '200px' }}>\n {children}\n </Tooltip>\n );\n }\n\n return children;\n};\n\nconst SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { data: locales, isLoading: isLoadingLocales, error } = useGetLocalesQuery();\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate, canCreate, canDelete },\n } = useRBAC(PERMISSIONS);\n const isAIAvailable = useAIAvailability();\n\n // Settings state management\n const {\n data: settings,\n isLoading: isLoadingSettings,\n error: settingsError,\n } = useGetSettingsQuery();\n const [updateSettings] = useUpdatei18nSettingsMutation();\n\n const handleToggleChange = async (checked: boolean) => {\n try {\n await updateSettings({ aiLocalizations: checked }).unwrap();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.form.success.fields' }),\n });\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const isLoading = isLoadingLocales || isLoadingRBAC || isLoadingSettings;\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 {isAIAvailable && (\n <Flex background=\"neutral0\" padding={6} marginBottom={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1} flex={1}>\n <Flex gap={1}>\n <Box color=\"alternative700\">\n <Sparkle />\n </Box>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.label'),\n defaultMessage: 'AI Translations',\n })}\n </Typography>\n </Flex>\n <Typography variant=\"pi\" textColor=\"neutral600\" fontSize=\"14px\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.description'),\n defaultMessage:\n 'Everytime you save in the Content Manager, our AI will use your default locale to translate all other locales automatically.',\n })}\n </Typography>\n </Flex>\n <Field.Root name=\"aiLocalizations\" minWidth=\"200px\">\n <SettingsErrrorTooltip error={settingsError}>\n <Toggle\n disabled={Boolean(settingsError)}\n checked={settings?.data?.aiLocalizations ?? false}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.disabled-label',\n defaultMessage: 'Disabled',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.enabled-label',\n defaultMessage: 'Enabled',\n })}\n onChange={(e) => handleToggleChange(e.target.checked)}\n />\n </SettingsErrrorTooltip>\n </Field.Root>\n </Flex>\n )}\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":["SettingsErrrorTooltip","children","error","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","_jsx","Tooltip","label","style","maxWidth","SettingsPage","formatMessage","useIntl","toggleNotification","useNotification","data","locales","isLoading","isLoadingLocales","useGetLocalesQuery","isLoadingRBAC","allowedActions","canUpdate","canCreate","canDelete","useRBAC","PERMISSIONS","isAIAvailable","useAIAvailability","settings","isLoadingSettings","settingsError","useGetSettingsQuery","updateSettings","useUpdatei18nSettingsMutation","handleToggleChange","checked","aiLocalizations","unwrap","type","message","id","err","console","defaultMessage","Page","Loading","Array","isArray","Error","_jsxs","Main","tabIndex","Layouts","Header","primaryAction","CreateLocale","disabled","title","getTranslation","subtitle","Content","Flex","background","padding","marginBottom","shadow","hasRadius","direction","alignItems","gap","flex","Box","color","Sparkle","Typography","variant","tag","textColor","fontSize","Field","Root","name","minWidth","Toggle","Boolean","offLabel","onLabel","onChange","e","target","length","LocaleTable","EmptyStateLayout","icon","EmptyDocuments","width","undefined","height","content","action","ProtectedSettingsPage","Protect","permissions","read"],"mappings":"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"}
1
+ {"version":3,"file":"SettingsPage.js","sources":["../../../admin/src/pages/SettingsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n Layouts,\n BaseQueryError,\n} from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport {\n Box,\n EmptyStateLayout,\n Field,\n Flex,\n Tooltip,\n Toggle,\n Typography,\n} from '@strapi/design-system';\nimport { Sparkle } from '@strapi/icons';\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 { useGetSettingsQuery, useUpdatei18nSettingsMutation } from '../services/settings';\nimport { getTranslation } from '../utils/getTranslation';\n\nconst SettingsErrrorTooltip = ({\n children,\n error,\n}: {\n children: React.ReactNode;\n error: BaseQueryError | SerializedError | undefined;\n}) => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n if (error) {\n return (\n <Tooltip label={formatAPIError(error)} style={{ maxWidth: '200px' }}>\n {children}\n </Tooltip>\n );\n }\n\n return children;\n};\n\nconst SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { data: locales, isLoading: isLoadingLocales, error } = useGetLocalesQuery();\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate, canCreate, canDelete },\n } = useRBAC(PERMISSIONS);\n const isAIAvailable = useAIAvailability();\n\n // Settings state management\n const {\n data: settings,\n isLoading: isLoadingSettings,\n error: settingsError,\n } = useGetSettingsQuery();\n const [updateSettings] = useUpdatei18nSettingsMutation();\n\n const handleToggleChange = async (checked: boolean) => {\n try {\n await updateSettings({ aiLocalizations: checked }).unwrap();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.form.success.fields' }),\n });\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const isLoading = isLoadingLocales || isLoadingRBAC || isLoadingSettings;\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 {isAIAvailable && (\n <Flex background=\"neutral0\" padding={6} marginBottom={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1} flex={1}>\n <Flex gap={1}>\n <Box color=\"alternative700\">\n <Sparkle />\n </Box>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.label'),\n defaultMessage: 'AI Translations',\n })}\n </Typography>\n </Flex>\n <Typography variant=\"pi\" textColor=\"neutral600\" fontSize=\"14px\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.description'),\n defaultMessage:\n 'Everytime you save in the Content Manager, our AI will use your default locale to translate all other locales automatically.',\n })}\n </Typography>\n </Flex>\n <Field.Root name=\"aiLocalizations\" minWidth=\"200px\">\n <SettingsErrrorTooltip error={settingsError}>\n <Toggle\n disabled={Boolean(settingsError)}\n checked={settings?.data?.aiLocalizations ?? false}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.disabled-label',\n defaultMessage: 'Disabled',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.enabled-label',\n defaultMessage: 'Enabled',\n })}\n onChange={(e) => handleToggleChange(e.target.checked)}\n />\n </SettingsErrrorTooltip>\n </Field.Root>\n </Flex>\n )}\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":["SettingsErrrorTooltip","children","error","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","_jsx","Tooltip","label","style","maxWidth","SettingsPage","formatMessage","useIntl","toggleNotification","useNotification","data","locales","isLoading","isLoadingLocales","useGetLocalesQuery","isLoadingRBAC","allowedActions","canUpdate","canCreate","canDelete","useRBAC","PERMISSIONS","isAIAvailable","useAIAvailability","settings","isLoadingSettings","settingsError","useGetSettingsQuery","updateSettings","useUpdatei18nSettingsMutation","handleToggleChange","checked","aiLocalizations","unwrap","type","message","id","err","console","defaultMessage","Page","Loading","Array","isArray","Error","_jsxs","Main","tabIndex","Layouts","Header","primaryAction","CreateLocale","disabled","title","getTranslation","subtitle","Content","Flex","background","padding","marginBottom","shadow","hasRadius","direction","alignItems","gap","flex","Box","color","Sparkle","Typography","variant","tag","textColor","fontSize","Field","Root","name","minWidth","Toggle","Boolean","offLabel","onLabel","onChange","e","target","length","LocaleTable","EmptyStateLayout","icon","EmptyDocuments","width","undefined","height","content","action","ProtectedSettingsPage","Protect","permissions","read"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import 'react';
3
- import { useNotification, useRBAC, Page, Layouts, useAPIErrorHandler } from '@strapi/admin/strapi-admin';
3
+ import { Page, useNotification, useRBAC, Layouts, useAPIErrorHandler } from '@strapi/admin/strapi-admin';
4
4
  import { useAIAvailability } from '@strapi/admin/strapi-admin/ee';
5
5
  import { Flex, Box, Typography, Field, Toggle, EmptyStateLayout, Tooltip } from '@strapi/design-system';
6
6
  import { Sparkle } from '@strapi/icons';
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsPage.mjs","sources":["../../../admin/src/pages/SettingsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n Layouts,\n BaseQueryError,\n} from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport {\n Box,\n EmptyStateLayout,\n Field,\n Flex,\n Tooltip,\n Toggle,\n Typography,\n} from '@strapi/design-system';\nimport { Sparkle } from '@strapi/icons';\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 { useGetSettingsQuery, useUpdatei18nSettingsMutation } from '../services/settings';\nimport { getTranslation } from '../utils/getTranslation';\n\nconst SettingsErrrorTooltip = ({\n children,\n error,\n}: {\n children: React.ReactNode;\n error: BaseQueryError | SerializedError | undefined;\n}) => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n if (error) {\n return (\n <Tooltip label={formatAPIError(error)} style={{ maxWidth: '200px' }}>\n {children}\n </Tooltip>\n );\n }\n\n return children;\n};\n\nconst SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { data: locales, isLoading: isLoadingLocales, error } = useGetLocalesQuery();\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate, canCreate, canDelete },\n } = useRBAC(PERMISSIONS);\n const isAIAvailable = useAIAvailability();\n\n // Settings state management\n const {\n data: settings,\n isLoading: isLoadingSettings,\n error: settingsError,\n } = useGetSettingsQuery();\n const [updateSettings] = useUpdatei18nSettingsMutation();\n\n const handleToggleChange = async (checked: boolean) => {\n try {\n await updateSettings({ aiLocalizations: checked }).unwrap();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.form.success.fields' }),\n });\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const isLoading = isLoadingLocales || isLoadingRBAC || isLoadingSettings;\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 {isAIAvailable && (\n <Flex background=\"neutral0\" padding={6} marginBottom={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1} flex={1}>\n <Flex gap={1}>\n <Box color=\"alternative700\">\n <Sparkle />\n </Box>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.label'),\n defaultMessage: 'AI Translations',\n })}\n </Typography>\n </Flex>\n <Typography variant=\"pi\" textColor=\"neutral600\" fontSize=\"14px\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.description'),\n defaultMessage:\n 'Everytime you save in the Content Manager, our AI will use your default locale to translate all other locales automatically.',\n })}\n </Typography>\n </Flex>\n <Field.Root name=\"aiLocalizations\" minWidth=\"200px\">\n <SettingsErrrorTooltip error={settingsError}>\n <Toggle\n disabled={Boolean(settingsError)}\n checked={settings?.data?.aiLocalizations ?? false}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.disabled-label',\n defaultMessage: 'Disabled',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.enabled-label',\n defaultMessage: 'Enabled',\n })}\n onChange={(e) => handleToggleChange(e.target.checked)}\n />\n </SettingsErrrorTooltip>\n </Field.Root>\n </Flex>\n )}\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":["SettingsErrrorTooltip","children","error","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","_jsx","Tooltip","label","style","maxWidth","SettingsPage","formatMessage","useIntl","toggleNotification","useNotification","data","locales","isLoading","isLoadingLocales","useGetLocalesQuery","isLoadingRBAC","allowedActions","canUpdate","canCreate","canDelete","useRBAC","PERMISSIONS","isAIAvailable","useAIAvailability","settings","isLoadingSettings","settingsError","useGetSettingsQuery","updateSettings","useUpdatei18nSettingsMutation","handleToggleChange","checked","aiLocalizations","unwrap","type","message","id","err","console","defaultMessage","Page","Loading","Array","isArray","Error","_jsxs","Main","tabIndex","Layouts","Header","primaryAction","CreateLocale","disabled","title","getTranslation","subtitle","Content","Flex","background","padding","marginBottom","shadow","hasRadius","direction","alignItems","gap","flex","Box","color","Sparkle","Typography","variant","tag","textColor","fontSize","Field","Root","name","minWidth","Toggle","Boolean","offLabel","onLabel","onChange","e","target","length","LocaleTable","EmptyStateLayout","icon","EmptyDocuments","width","undefined","height","content","action","ProtectedSettingsPage","Protect","permissions","read"],"mappings":"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"}
1
+ {"version":3,"file":"SettingsPage.mjs","sources":["../../../admin/src/pages/SettingsPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n Layouts,\n BaseQueryError,\n} from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport {\n Box,\n EmptyStateLayout,\n Field,\n Flex,\n Tooltip,\n Toggle,\n Typography,\n} from '@strapi/design-system';\nimport { Sparkle } from '@strapi/icons';\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 { useGetSettingsQuery, useUpdatei18nSettingsMutation } from '../services/settings';\nimport { getTranslation } from '../utils/getTranslation';\n\nconst SettingsErrrorTooltip = ({\n children,\n error,\n}: {\n children: React.ReactNode;\n error: BaseQueryError | SerializedError | undefined;\n}) => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n if (error) {\n return (\n <Tooltip label={formatAPIError(error)} style={{ maxWidth: '200px' }}>\n {children}\n </Tooltip>\n );\n }\n\n return children;\n};\n\nconst SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { data: locales, isLoading: isLoadingLocales, error } = useGetLocalesQuery();\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate, canCreate, canDelete },\n } = useRBAC(PERMISSIONS);\n const isAIAvailable = useAIAvailability();\n\n // Settings state management\n const {\n data: settings,\n isLoading: isLoadingSettings,\n error: settingsError,\n } = useGetSettingsQuery();\n const [updateSettings] = useUpdatei18nSettingsMutation();\n\n const handleToggleChange = async (checked: boolean) => {\n try {\n await updateSettings({ aiLocalizations: checked }).unwrap();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.form.success.fields' }),\n });\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const isLoading = isLoadingLocales || isLoadingRBAC || isLoadingSettings;\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 {isAIAvailable && (\n <Flex background=\"neutral0\" padding={6} marginBottom={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1} flex={1}>\n <Flex gap={1}>\n <Box color=\"alternative700\">\n <Sparkle />\n </Box>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.label'),\n defaultMessage: 'AI Translations',\n })}\n </Typography>\n </Flex>\n <Typography variant=\"pi\" textColor=\"neutral600\" fontSize=\"14px\">\n {formatMessage({\n id: getTranslation('Settings.aiLocalizations.description'),\n defaultMessage:\n 'Everytime you save in the Content Manager, our AI will use your default locale to translate all other locales automatically.',\n })}\n </Typography>\n </Flex>\n <Field.Root name=\"aiLocalizations\" minWidth=\"200px\">\n <SettingsErrrorTooltip error={settingsError}>\n <Toggle\n disabled={Boolean(settingsError)}\n checked={settings?.data?.aiLocalizations ?? false}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.disabled-label',\n defaultMessage: 'Disabled',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.enabled-label',\n defaultMessage: 'Enabled',\n })}\n onChange={(e) => handleToggleChange(e.target.checked)}\n />\n </SettingsErrrorTooltip>\n </Field.Root>\n </Flex>\n )}\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":["SettingsErrrorTooltip","children","error","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","_jsx","Tooltip","label","style","maxWidth","SettingsPage","formatMessage","useIntl","toggleNotification","useNotification","data","locales","isLoading","isLoadingLocales","useGetLocalesQuery","isLoadingRBAC","allowedActions","canUpdate","canCreate","canDelete","useRBAC","PERMISSIONS","isAIAvailable","useAIAvailability","settings","isLoadingSettings","settingsError","useGetSettingsQuery","updateSettings","useUpdatei18nSettingsMutation","handleToggleChange","checked","aiLocalizations","unwrap","type","message","id","err","console","defaultMessage","Page","Loading","Array","isArray","Error","_jsxs","Main","tabIndex","Layouts","Header","primaryAction","CreateLocale","disabled","title","getTranslation","subtitle","Content","Flex","background","padding","marginBottom","shadow","hasRadius","direction","alignItems","gap","flex","Box","color","Sparkle","Typography","variant","tag","textColor","fontSize","Field","Root","name","minWidth","Toggle","Boolean","offLabel","onLabel","onChange","e","target","length","LocaleTable","EmptyStateLayout","icon","EmptyDocuments","width","undefined","height","content","action","ProtectedSettingsPage","Protect","permissions","read"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aiLocalizationJobs.js","sources":["../../../admin/src/services/aiLocalizationJobs.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetAILocalizationJobsByDocument } from '../../../shared/contracts/ai-localization-jobs';\n\n// Import the same constant used by the documents service for consistency\nconst SINGLE_TYPES = 'single-types';\n\nconst aiLocalizationJobsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getAILocalizationJobsByDocument: builder.query<\n GetAILocalizationJobsByDocument.Response,\n {\n documentId: string;\n model: string;\n collectionType: string;\n }\n >({\n query: ({ documentId, collectionType, model }) => ({\n url:\n collectionType === SINGLE_TYPES\n ? `/i18n/ai-localization-jobs/single-types/${model}`\n : `/i18n/ai-localization-jobs/collection-types/${model}/${documentId}`,\n method: 'GET',\n }),\n providesTags: (result, error, { documentId, model, collectionType }) => [\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ],\n }),\n }),\n});\n\nexport const { useGetAILocalizationJobsByDocumentQuery } = aiLocalizationJobsApi;\n"],"names":["SINGLE_TYPES","aiLocalizationJobsApi","i18nApi","injectEndpoints","endpoints","builder","getAILocalizationJobsByDocument","query","documentId","collectionType","model","url","method","providesTags","result","error","type","id","useGetAILocalizationJobsByDocumentQuery"],"mappings":";;;;AAIA;AACA,MAAMA,YAAe,GAAA,cAAA;AAErB,MAAMC,qBAAAA,GAAwBC,WAAQC,CAAAA,eAAe,CAAC;IACpDC,SAAW,EAAA,CAACC,WAAa;YACvBC,+BAAiCD,EAAAA,OAAAA,CAAQE,KAAK,CAO5C;gBACAA,KAAO,EAAA,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,KAAK,EAAE,IAAM;AACjDC,wBAAAA,GAAAA,EACEF,cAAmBT,KAAAA,YAAAA,GACf,CAAC,wCAAwC,EAAEU,KAAAA,CAAAA,CAAO,GAClD,CAAC,4CAA4C,EAAEA,KAAM,CAAA,CAAC,EAAEF,UAAY,CAAA,CAAA;wBAC1EI,MAAQ,EAAA;qBACV,CAAA;gBACAC,YAAc,EAAA,CAACC,MAAQC,EAAAA,KAAAA,EAAO,EAAEP,UAAU,EAAEE,KAAK,EAAED,cAAc,EAAE,GAAK;AACtE,wBAAA;4BACEO,IAAM,EAAA,oBAAA;AACNC,4BAAAA,EAAAA,EAAIR,mBAAmBT,YAAe,GAAA,CAAA,EAAGU,MAAM,CAAC,EAAEF,YAAY,GAAGE;AACnE;AACD;AACH,aAAA;SACF;AACF,CAAA,CAAA;AAEa,MAAA,EAAEQ,uCAAuC,EAAE,GAAGjB;;;;"}
1
+ {"version":3,"file":"aiLocalizationJobs.js","sources":["../../../admin/src/services/aiLocalizationJobs.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetAILocalizationJobsByDocument } from '../../../shared/contracts/ai-localization-jobs';\n\n// Import the same constant used by the documents service for consistency\nconst SINGLE_TYPES = 'single-types';\n\nconst aiLocalizationJobsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getAILocalizationJobsByDocument: builder.query<\n GetAILocalizationJobsByDocument.Response,\n {\n documentId: string;\n model: string;\n collectionType: string;\n }\n >({\n query: ({ documentId, collectionType, model }) => ({\n url:\n collectionType === SINGLE_TYPES\n ? `/i18n/ai-localization-jobs/single-types/${model}`\n : `/i18n/ai-localization-jobs/collection-types/${model}/${documentId}`,\n method: 'GET',\n }),\n providesTags: (result, error, { documentId, model, collectionType }) => [\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ],\n }),\n }),\n});\n\nexport const { useGetAILocalizationJobsByDocumentQuery } = aiLocalizationJobsApi;\n"],"names":["SINGLE_TYPES","aiLocalizationJobsApi","i18nApi","injectEndpoints","endpoints","builder","getAILocalizationJobsByDocument","query","documentId","collectionType","model","url","method","providesTags","result","error","type","id","useGetAILocalizationJobsByDocumentQuery"],"mappings":";;;;AAIA;AACA,MAAMA,YAAAA,GAAe,cAAA;AAErB,MAAMC,qBAAAA,GAAwBC,WAAAA,CAAQC,eAAe,CAAC;IACpDC,SAAAA,EAAW,CAACC,WAAa;YACvBC,+BAAAA,EAAiCD,OAAAA,CAAQE,KAAK,CAO5C;gBACAA,KAAAA,EAAO,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,KAAK,EAAE,IAAM;AACjDC,wBAAAA,GAAAA,EACEF,cAAAA,KAAmBT,YAAAA,GACf,CAAC,wCAAwC,EAAEU,KAAAA,CAAAA,CAAO,GAClD,CAAC,4CAA4C,EAAEA,KAAAA,CAAM,CAAC,EAAEF,UAAAA,CAAAA,CAAY;wBAC1EI,MAAAA,EAAQ;qBACV,CAAA;gBACAC,YAAAA,EAAc,CAACC,MAAAA,EAAQC,KAAAA,EAAO,EAAEP,UAAU,EAAEE,KAAK,EAAED,cAAc,EAAE,GAAK;AACtE,wBAAA;4BACEO,IAAAA,EAAM,oBAAA;AACNC,4BAAAA,EAAAA,EAAIR,mBAAmBT,YAAAA,GAAe,CAAA,EAAGU,MAAM,CAAC,EAAEF,YAAY,GAAGE;AACnE;AACD;AACH,aAAA;SACF;AACF,CAAA,CAAA;AAEO,MAAM,EAAEQ,uCAAuC,EAAE,GAAGjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"aiLocalizationJobs.mjs","sources":["../../../admin/src/services/aiLocalizationJobs.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetAILocalizationJobsByDocument } from '../../../shared/contracts/ai-localization-jobs';\n\n// Import the same constant used by the documents service for consistency\nconst SINGLE_TYPES = 'single-types';\n\nconst aiLocalizationJobsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getAILocalizationJobsByDocument: builder.query<\n GetAILocalizationJobsByDocument.Response,\n {\n documentId: string;\n model: string;\n collectionType: string;\n }\n >({\n query: ({ documentId, collectionType, model }) => ({\n url:\n collectionType === SINGLE_TYPES\n ? `/i18n/ai-localization-jobs/single-types/${model}`\n : `/i18n/ai-localization-jobs/collection-types/${model}/${documentId}`,\n method: 'GET',\n }),\n providesTags: (result, error, { documentId, model, collectionType }) => [\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ],\n }),\n }),\n});\n\nexport const { useGetAILocalizationJobsByDocumentQuery } = aiLocalizationJobsApi;\n"],"names":["SINGLE_TYPES","aiLocalizationJobsApi","i18nApi","injectEndpoints","endpoints","builder","getAILocalizationJobsByDocument","query","documentId","collectionType","model","url","method","providesTags","result","error","type","id","useGetAILocalizationJobsByDocumentQuery"],"mappings":";;AAIA;AACA,MAAMA,YAAe,GAAA,cAAA;AAErB,MAAMC,qBAAAA,GAAwBC,OAAQC,CAAAA,eAAe,CAAC;IACpDC,SAAW,EAAA,CAACC,WAAa;YACvBC,+BAAiCD,EAAAA,OAAAA,CAAQE,KAAK,CAO5C;gBACAA,KAAO,EAAA,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,KAAK,EAAE,IAAM;AACjDC,wBAAAA,GAAAA,EACEF,cAAmBT,KAAAA,YAAAA,GACf,CAAC,wCAAwC,EAAEU,KAAAA,CAAAA,CAAO,GAClD,CAAC,4CAA4C,EAAEA,KAAM,CAAA,CAAC,EAAEF,UAAY,CAAA,CAAA;wBAC1EI,MAAQ,EAAA;qBACV,CAAA;gBACAC,YAAc,EAAA,CAACC,MAAQC,EAAAA,KAAAA,EAAO,EAAEP,UAAU,EAAEE,KAAK,EAAED,cAAc,EAAE,GAAK;AACtE,wBAAA;4BACEO,IAAM,EAAA,oBAAA;AACNC,4BAAAA,EAAAA,EAAIR,mBAAmBT,YAAe,GAAA,CAAA,EAAGU,MAAM,CAAC,EAAEF,YAAY,GAAGE;AACnE;AACD;AACH,aAAA;SACF;AACF,CAAA,CAAA;AAEa,MAAA,EAAEQ,uCAAuC,EAAE,GAAGjB;;;;"}
1
+ {"version":3,"file":"aiLocalizationJobs.mjs","sources":["../../../admin/src/services/aiLocalizationJobs.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetAILocalizationJobsByDocument } from '../../../shared/contracts/ai-localization-jobs';\n\n// Import the same constant used by the documents service for consistency\nconst SINGLE_TYPES = 'single-types';\n\nconst aiLocalizationJobsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getAILocalizationJobsByDocument: builder.query<\n GetAILocalizationJobsByDocument.Response,\n {\n documentId: string;\n model: string;\n collectionType: string;\n }\n >({\n query: ({ documentId, collectionType, model }) => ({\n url:\n collectionType === SINGLE_TYPES\n ? `/i18n/ai-localization-jobs/single-types/${model}`\n : `/i18n/ai-localization-jobs/collection-types/${model}/${documentId}`,\n method: 'GET',\n }),\n providesTags: (result, error, { documentId, model, collectionType }) => [\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ],\n }),\n }),\n});\n\nexport const { useGetAILocalizationJobsByDocumentQuery } = aiLocalizationJobsApi;\n"],"names":["SINGLE_TYPES","aiLocalizationJobsApi","i18nApi","injectEndpoints","endpoints","builder","getAILocalizationJobsByDocument","query","documentId","collectionType","model","url","method","providesTags","result","error","type","id","useGetAILocalizationJobsByDocumentQuery"],"mappings":";;AAIA;AACA,MAAMA,YAAAA,GAAe,cAAA;AAErB,MAAMC,qBAAAA,GAAwBC,OAAAA,CAAQC,eAAe,CAAC;IACpDC,SAAAA,EAAW,CAACC,WAAa;YACvBC,+BAAAA,EAAiCD,OAAAA,CAAQE,KAAK,CAO5C;gBACAA,KAAAA,EAAO,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,KAAK,EAAE,IAAM;AACjDC,wBAAAA,GAAAA,EACEF,cAAAA,KAAmBT,YAAAA,GACf,CAAC,wCAAwC,EAAEU,KAAAA,CAAAA,CAAO,GAClD,CAAC,4CAA4C,EAAEA,KAAAA,CAAM,CAAC,EAAEF,UAAAA,CAAAA,CAAY;wBAC1EI,MAAAA,EAAQ;qBACV,CAAA;gBACAC,YAAAA,EAAc,CAACC,MAAAA,EAAQC,KAAAA,EAAO,EAAEP,UAAU,EAAEE,KAAK,EAAED,cAAc,EAAE,GAAK;AACtE,wBAAA;4BACEO,IAAAA,EAAM,oBAAA;AACNC,4BAAAA,EAAAA,EAAIR,mBAAmBT,YAAAA,GAAe,CAAA,EAAGU,MAAM,CAAC,EAAEF,YAAY,GAAGE;AACnE;AACD;AACH,aAAA;SACF;AACF,CAAA,CAAA;AAEO,MAAM,EAAEQ,uCAAuC,EAAE,GAAGjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst i18nApi = adminApi.enhanceEndpoints({\n addTagTypes: ['Locale', 'KeyStatistics', 'Settings', 'AILocalizationJobs'],\n});\n\nexport { i18nApi };\n"],"names":["i18nApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;;;AAEMA,MAAAA,OAAAA,GAAUC,oBAASC,CAAAA,gBAAgB,CAAC;IACxCC,WAAa,EAAA;AAAC,QAAA,QAAA;AAAU,QAAA,eAAA;AAAiB,QAAA,UAAA;AAAY,QAAA;AAAqB;AAC5E,CAAA;;;;"}
1
+ {"version":3,"file":"api.js","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst i18nApi = adminApi.enhanceEndpoints({\n addTagTypes: ['Locale', 'KeyStatistics', 'Settings', 'AILocalizationJobs'],\n});\n\nexport { i18nApi };\n"],"names":["i18nApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;;;AAEA,MAAMA,OAAAA,GAAUC,oBAAAA,CAASC,gBAAgB,CAAC;IACxCC,WAAAA,EAAa;AAAC,QAAA,QAAA;AAAU,QAAA,eAAA;AAAiB,QAAA,UAAA;AAAY,QAAA;AAAqB;AAC5E,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst i18nApi = adminApi.enhanceEndpoints({\n addTagTypes: ['Locale', 'KeyStatistics', 'Settings', 'AILocalizationJobs'],\n});\n\nexport { i18nApi };\n"],"names":["i18nApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;AAEMA,MAAAA,OAAAA,GAAUC,QAASC,CAAAA,gBAAgB,CAAC;IACxCC,WAAa,EAAA;AAAC,QAAA,QAAA;AAAU,QAAA,eAAA;AAAiB,QAAA,UAAA;AAAY,QAAA;AAAqB;AAC5E,CAAA;;;;"}
1
+ {"version":3,"file":"api.mjs","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst i18nApi = adminApi.enhanceEndpoints({\n addTagTypes: ['Locale', 'KeyStatistics', 'Settings', 'AILocalizationJobs'],\n});\n\nexport { i18nApi };\n"],"names":["i18nApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;AAEA,MAAMA,OAAAA,GAAUC,QAAAA,CAASC,gBAAgB,CAAC;IACxCC,WAAAA,EAAa;AAAC,QAAA,QAAA;AAAU,QAAA,eAAA;AAAiB,QAAA,UAAA;AAAY,QAAA;AAAqB;AAC5E,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"locales.js","sources":["../../../admin/src/services/locales.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetISOLocales } from '../../../shared/contracts/iso-locales';\nimport type {\n GetLocales,\n CreateLocale,\n DeleteLocale,\n UpdateLocale,\n} from '../../../shared/contracts/locales';\n\nconst localesApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n createLocale: builder.mutation<CreateLocale.Response, CreateLocale.Request['body']>({\n query: (data) => ({\n url: '/i18n/locales',\n method: 'POST',\n data,\n }),\n invalidatesTags: [{ type: 'Locale', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n deleteLocale: builder.mutation<DeleteLocale.Response, DeleteLocale.Params['id']>({\n query: (id) => ({\n url: `/i18n/locales/${id}`,\n method: 'DELETE',\n }),\n invalidatesTags: (result, error, id) => [{ type: 'Locale', id }, 'HomepageKeyStatistics'],\n }),\n getLocales: builder.query<GetLocales.Response, void>({\n query: () => '/i18n/locales',\n providesTags: (res) => [\n { type: 'Locale', id: 'LIST' },\n ...(Array.isArray(res)\n ? res.map((locale) => ({\n type: 'Locale' as const,\n id: locale.id,\n }))\n : []),\n ],\n }),\n getDefaultLocales: builder.query<GetISOLocales.Response, void>({\n query: () => '/i18n/iso-locales',\n }),\n updateLocale: builder.mutation<\n UpdateLocale.Response,\n UpdateLocale.Request['body'] & UpdateLocale.Params\n >({\n query: ({ id, ...data }) => ({\n url: `/i18n/locales/${id}`,\n method: 'PUT',\n data,\n }),\n invalidatesTags: (result, error, { id }) => [{ type: 'Locale', id }],\n }),\n }),\n});\n\nconst {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n} = localesApi;\n\nexport {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n};\n"],"names":["localesApi","i18nApi","injectEndpoints","endpoints","builder","createLocale","mutation","query","data","url","method","invalidatesTags","type","id","deleteLocale","result","error","getLocales","providesTags","res","Array","isArray","map","locale","getDefaultLocales","updateLocale","useCreateLocaleMutation","useDeleteLocaleMutation","useGetLocalesQuery","useGetDefaultLocalesQuery","useUpdateLocaleMutation"],"mappings":";;;;AAUA,MAAMA,UAAAA,GAAaC,WAAQC,CAAAA,eAAe,CAAC;IACzCC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,QAAQ,CAAsD;gBAClFC,KAAO,EAAA,CAACC,QAAU;wBAChBC,GAAK,EAAA,eAAA;wBACLC,MAAQ,EAAA,MAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAiB,EAAA;AAAC,oBAAA;wBAAEC,IAAM,EAAA,QAAA;wBAAUC,EAAI,EAAA;AAAO,qBAAA;AAAG,oBAAA;AAAwB;AAC5E,aAAA,CAAA;YACAC,YAAcV,EAAAA,OAAAA,CAAQE,QAAQ,CAAmD;gBAC/EC,KAAO,EAAA,CAACM,MAAQ;wBACdJ,GAAK,EAAA,CAAC,cAAc,EAAEI,EAAI,CAAA,CAAA;wBAC1BH,MAAQ,EAAA;qBACV,CAAA;gBACAC,eAAiB,EAAA,CAACI,MAAQC,EAAAA,KAAAA,EAAOH,EAAO,GAAA;AAAC,wBAAA;4BAAED,IAAM,EAAA,QAAA;AAAUC,4BAAAA;AAAG,yBAAA;AAAG,wBAAA;AAAwB;AAC3F,aAAA,CAAA;YACAI,UAAYb,EAAAA,OAAAA,CAAQG,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,IAAM,eAAA;AACbW,gBAAAA,YAAAA,EAAc,CAACC,GAAQ,GAAA;AACrB,wBAAA;4BAAEP,IAAM,EAAA,QAAA;4BAAUC,EAAI,EAAA;AAAO,yBAAA;2BACzBO,KAAMC,CAAAA,OAAO,CAACF,GACdA,CAAAA,GAAAA,GAAAA,CAAIG,GAAG,CAAC,CAACC,UAAY;gCACnBX,IAAM,EAAA,QAAA;AACNC,gCAAAA,EAAAA,EAAIU,OAAOV;AACb,6BAAA,KACA;AACL;AACH,aAAA,CAAA;YACAW,iBAAmBpB,EAAAA,OAAAA,CAAQG,KAAK,CAA+B;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM;AACf,aAAA,CAAA;YACAkB,YAAcrB,EAAAA,OAAAA,CAAQE,QAAQ,CAG5B;AACAC,gBAAAA,KAAAA,EAAO,CAAC,EAAEM,EAAE,EAAE,GAAGL,IAAAA,EAAM,IAAM;wBAC3BC,GAAK,EAAA,CAAC,cAAc,EAAEI,EAAI,CAAA,CAAA;wBAC1BH,MAAQ,EAAA,KAAA;AACRF,wBAAAA;qBACF,CAAA;AACAG,gBAAAA,eAAAA,EAAiB,CAACI,MAAQC,EAAAA,KAAAA,EAAO,EAAEH,EAAE,EAAE,GAAK;AAAC,wBAAA;4BAAED,IAAM,EAAA,QAAA;AAAUC,4BAAAA;AAAG;AAAE;AACtE,aAAA;SACF;AACF,CAAA,CAAA;AAEM,MAAA,EACJa,uBAAuB,EACvBC,uBAAuB,EACvBC,kBAAkB,EAClBC,yBAAyB,EACzBC,uBAAuB,EACxB,GAAG9B;;;;;;;;"}
1
+ {"version":3,"file":"locales.js","sources":["../../../admin/src/services/locales.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetISOLocales } from '../../../shared/contracts/iso-locales';\nimport type {\n GetLocales,\n CreateLocale,\n DeleteLocale,\n UpdateLocale,\n} from '../../../shared/contracts/locales';\n\nconst localesApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n createLocale: builder.mutation<CreateLocale.Response, CreateLocale.Request['body']>({\n query: (data) => ({\n url: '/i18n/locales',\n method: 'POST',\n data,\n }),\n invalidatesTags: [{ type: 'Locale', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n deleteLocale: builder.mutation<DeleteLocale.Response, DeleteLocale.Params['id']>({\n query: (id) => ({\n url: `/i18n/locales/${id}`,\n method: 'DELETE',\n }),\n invalidatesTags: (result, error, id) => [{ type: 'Locale', id }, 'HomepageKeyStatistics'],\n }),\n getLocales: builder.query<GetLocales.Response, void>({\n query: () => '/i18n/locales',\n providesTags: (res) => [\n { type: 'Locale', id: 'LIST' },\n ...(Array.isArray(res)\n ? res.map((locale) => ({\n type: 'Locale' as const,\n id: locale.id,\n }))\n : []),\n ],\n }),\n getDefaultLocales: builder.query<GetISOLocales.Response, void>({\n query: () => '/i18n/iso-locales',\n }),\n updateLocale: builder.mutation<\n UpdateLocale.Response,\n UpdateLocale.Request['body'] & UpdateLocale.Params\n >({\n query: ({ id, ...data }) => ({\n url: `/i18n/locales/${id}`,\n method: 'PUT',\n data,\n }),\n invalidatesTags: (result, error, { id }) => [{ type: 'Locale', id }],\n }),\n }),\n});\n\nconst {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n} = localesApi;\n\nexport {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n};\n"],"names":["localesApi","i18nApi","injectEndpoints","endpoints","builder","createLocale","mutation","query","data","url","method","invalidatesTags","type","id","deleteLocale","result","error","getLocales","providesTags","res","Array","isArray","map","locale","getDefaultLocales","updateLocale","useCreateLocaleMutation","useDeleteLocaleMutation","useGetLocalesQuery","useGetDefaultLocalesQuery","useUpdateLocaleMutation"],"mappings":";;;;AAUA,MAAMA,UAAAA,GAAaC,WAAAA,CAAQC,eAAe,CAAC;IACzCC,SAAAA,EAAW,CAACC,WAAa;YACvBC,YAAAA,EAAcD,OAAAA,CAAQE,QAAQ,CAAsD;gBAClFC,KAAAA,EAAO,CAACC,QAAU;wBAChBC,GAAAA,EAAK,eAAA;wBACLC,MAAAA,EAAQ,MAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAAA,EAAiB;AAAC,oBAAA;wBAAEC,IAAAA,EAAM,QAAA;wBAAUC,EAAAA,EAAI;AAAO,qBAAA;AAAG,oBAAA;AAAwB;AAC5E,aAAA,CAAA;YACAC,YAAAA,EAAcV,OAAAA,CAAQE,QAAQ,CAAmD;gBAC/EC,KAAAA,EAAO,CAACM,MAAQ;wBACdJ,GAAAA,EAAK,CAAC,cAAc,EAAEI,EAAAA,CAAAA,CAAI;wBAC1BH,MAAAA,EAAQ;qBACV,CAAA;gBACAC,eAAAA,EAAiB,CAACI,MAAAA,EAAQC,KAAAA,EAAOH,EAAAA,GAAO;AAAC,wBAAA;4BAAED,IAAAA,EAAM,QAAA;AAAUC,4BAAAA;AAAG,yBAAA;AAAG,wBAAA;AAAwB;AAC3F,aAAA,CAAA;YACAI,UAAAA,EAAYb,OAAAA,CAAQG,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,IAAM,eAAA;AACbW,gBAAAA,YAAAA,EAAc,CAACC,GAAAA,GAAQ;AACrB,wBAAA;4BAAEP,IAAAA,EAAM,QAAA;4BAAUC,EAAAA,EAAI;AAAO,yBAAA;2BACzBO,KAAAA,CAAMC,OAAO,CAACF,GAAAA,CAAAA,GACdA,GAAAA,CAAIG,GAAG,CAAC,CAACC,UAAY;gCACnBX,IAAAA,EAAM,QAAA;AACNC,gCAAAA,EAAAA,EAAIU,OAAOV;AACb,6BAAA,KACA;AACL;AACH,aAAA,CAAA;YACAW,iBAAAA,EAAmBpB,OAAAA,CAAQG,KAAK,CAA+B;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM;AACf,aAAA,CAAA;YACAkB,YAAAA,EAAcrB,OAAAA,CAAQE,QAAQ,CAG5B;AACAC,gBAAAA,KAAAA,EAAO,CAAC,EAAEM,EAAE,EAAE,GAAGL,IAAAA,EAAM,IAAM;wBAC3BC,GAAAA,EAAK,CAAC,cAAc,EAAEI,EAAAA,CAAAA,CAAI;wBAC1BH,MAAAA,EAAQ,KAAA;AACRF,wBAAAA;qBACF,CAAA;AACAG,gBAAAA,eAAAA,EAAiB,CAACI,MAAAA,EAAQC,KAAAA,EAAO,EAAEH,EAAE,EAAE,GAAK;AAAC,wBAAA;4BAAED,IAAAA,EAAM,QAAA;AAAUC,4BAAAA;AAAG;AAAE;AACtE,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EACJa,uBAAuB,EACvBC,uBAAuB,EACvBC,kBAAkB,EAClBC,yBAAyB,EACzBC,uBAAuB,EACxB,GAAG9B;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"locales.mjs","sources":["../../../admin/src/services/locales.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetISOLocales } from '../../../shared/contracts/iso-locales';\nimport type {\n GetLocales,\n CreateLocale,\n DeleteLocale,\n UpdateLocale,\n} from '../../../shared/contracts/locales';\n\nconst localesApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n createLocale: builder.mutation<CreateLocale.Response, CreateLocale.Request['body']>({\n query: (data) => ({\n url: '/i18n/locales',\n method: 'POST',\n data,\n }),\n invalidatesTags: [{ type: 'Locale', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n deleteLocale: builder.mutation<DeleteLocale.Response, DeleteLocale.Params['id']>({\n query: (id) => ({\n url: `/i18n/locales/${id}`,\n method: 'DELETE',\n }),\n invalidatesTags: (result, error, id) => [{ type: 'Locale', id }, 'HomepageKeyStatistics'],\n }),\n getLocales: builder.query<GetLocales.Response, void>({\n query: () => '/i18n/locales',\n providesTags: (res) => [\n { type: 'Locale', id: 'LIST' },\n ...(Array.isArray(res)\n ? res.map((locale) => ({\n type: 'Locale' as const,\n id: locale.id,\n }))\n : []),\n ],\n }),\n getDefaultLocales: builder.query<GetISOLocales.Response, void>({\n query: () => '/i18n/iso-locales',\n }),\n updateLocale: builder.mutation<\n UpdateLocale.Response,\n UpdateLocale.Request['body'] & UpdateLocale.Params\n >({\n query: ({ id, ...data }) => ({\n url: `/i18n/locales/${id}`,\n method: 'PUT',\n data,\n }),\n invalidatesTags: (result, error, { id }) => [{ type: 'Locale', id }],\n }),\n }),\n});\n\nconst {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n} = localesApi;\n\nexport {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n};\n"],"names":["localesApi","i18nApi","injectEndpoints","endpoints","builder","createLocale","mutation","query","data","url","method","invalidatesTags","type","id","deleteLocale","result","error","getLocales","providesTags","res","Array","isArray","map","locale","getDefaultLocales","updateLocale","useCreateLocaleMutation","useDeleteLocaleMutation","useGetLocalesQuery","useGetDefaultLocalesQuery","useUpdateLocaleMutation"],"mappings":";;AAUA,MAAMA,UAAAA,GAAaC,OAAQC,CAAAA,eAAe,CAAC;IACzCC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,QAAQ,CAAsD;gBAClFC,KAAO,EAAA,CAACC,QAAU;wBAChBC,GAAK,EAAA,eAAA;wBACLC,MAAQ,EAAA,MAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAiB,EAAA;AAAC,oBAAA;wBAAEC,IAAM,EAAA,QAAA;wBAAUC,EAAI,EAAA;AAAO,qBAAA;AAAG,oBAAA;AAAwB;AAC5E,aAAA,CAAA;YACAC,YAAcV,EAAAA,OAAAA,CAAQE,QAAQ,CAAmD;gBAC/EC,KAAO,EAAA,CAACM,MAAQ;wBACdJ,GAAK,EAAA,CAAC,cAAc,EAAEI,EAAI,CAAA,CAAA;wBAC1BH,MAAQ,EAAA;qBACV,CAAA;gBACAC,eAAiB,EAAA,CAACI,MAAQC,EAAAA,KAAAA,EAAOH,EAAO,GAAA;AAAC,wBAAA;4BAAED,IAAM,EAAA,QAAA;AAAUC,4BAAAA;AAAG,yBAAA;AAAG,wBAAA;AAAwB;AAC3F,aAAA,CAAA;YACAI,UAAYb,EAAAA,OAAAA,CAAQG,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,IAAM,eAAA;AACbW,gBAAAA,YAAAA,EAAc,CAACC,GAAQ,GAAA;AACrB,wBAAA;4BAAEP,IAAM,EAAA,QAAA;4BAAUC,EAAI,EAAA;AAAO,yBAAA;2BACzBO,KAAMC,CAAAA,OAAO,CAACF,GACdA,CAAAA,GAAAA,GAAAA,CAAIG,GAAG,CAAC,CAACC,UAAY;gCACnBX,IAAM,EAAA,QAAA;AACNC,gCAAAA,EAAAA,EAAIU,OAAOV;AACb,6BAAA,KACA;AACL;AACH,aAAA,CAAA;YACAW,iBAAmBpB,EAAAA,OAAAA,CAAQG,KAAK,CAA+B;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM;AACf,aAAA,CAAA;YACAkB,YAAcrB,EAAAA,OAAAA,CAAQE,QAAQ,CAG5B;AACAC,gBAAAA,KAAAA,EAAO,CAAC,EAAEM,EAAE,EAAE,GAAGL,IAAAA,EAAM,IAAM;wBAC3BC,GAAK,EAAA,CAAC,cAAc,EAAEI,EAAI,CAAA,CAAA;wBAC1BH,MAAQ,EAAA,KAAA;AACRF,wBAAAA;qBACF,CAAA;AACAG,gBAAAA,eAAAA,EAAiB,CAACI,MAAQC,EAAAA,KAAAA,EAAO,EAAEH,EAAE,EAAE,GAAK;AAAC,wBAAA;4BAAED,IAAM,EAAA,QAAA;AAAUC,4BAAAA;AAAG;AAAE;AACtE,aAAA;SACF;AACF,CAAA,CAAA;AAEM,MAAA,EACJa,uBAAuB,EACvBC,uBAAuB,EACvBC,kBAAkB,EAClBC,yBAAyB,EACzBC,uBAAuB,EACxB,GAAG9B;;;;"}
1
+ {"version":3,"file":"locales.mjs","sources":["../../../admin/src/services/locales.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetISOLocales } from '../../../shared/contracts/iso-locales';\nimport type {\n GetLocales,\n CreateLocale,\n DeleteLocale,\n UpdateLocale,\n} from '../../../shared/contracts/locales';\n\nconst localesApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n createLocale: builder.mutation<CreateLocale.Response, CreateLocale.Request['body']>({\n query: (data) => ({\n url: '/i18n/locales',\n method: 'POST',\n data,\n }),\n invalidatesTags: [{ type: 'Locale', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n deleteLocale: builder.mutation<DeleteLocale.Response, DeleteLocale.Params['id']>({\n query: (id) => ({\n url: `/i18n/locales/${id}`,\n method: 'DELETE',\n }),\n invalidatesTags: (result, error, id) => [{ type: 'Locale', id }, 'HomepageKeyStatistics'],\n }),\n getLocales: builder.query<GetLocales.Response, void>({\n query: () => '/i18n/locales',\n providesTags: (res) => [\n { type: 'Locale', id: 'LIST' },\n ...(Array.isArray(res)\n ? res.map((locale) => ({\n type: 'Locale' as const,\n id: locale.id,\n }))\n : []),\n ],\n }),\n getDefaultLocales: builder.query<GetISOLocales.Response, void>({\n query: () => '/i18n/iso-locales',\n }),\n updateLocale: builder.mutation<\n UpdateLocale.Response,\n UpdateLocale.Request['body'] & UpdateLocale.Params\n >({\n query: ({ id, ...data }) => ({\n url: `/i18n/locales/${id}`,\n method: 'PUT',\n data,\n }),\n invalidatesTags: (result, error, { id }) => [{ type: 'Locale', id }],\n }),\n }),\n});\n\nconst {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n} = localesApi;\n\nexport {\n useCreateLocaleMutation,\n useDeleteLocaleMutation,\n useGetLocalesQuery,\n useGetDefaultLocalesQuery,\n useUpdateLocaleMutation,\n};\n"],"names":["localesApi","i18nApi","injectEndpoints","endpoints","builder","createLocale","mutation","query","data","url","method","invalidatesTags","type","id","deleteLocale","result","error","getLocales","providesTags","res","Array","isArray","map","locale","getDefaultLocales","updateLocale","useCreateLocaleMutation","useDeleteLocaleMutation","useGetLocalesQuery","useGetDefaultLocalesQuery","useUpdateLocaleMutation"],"mappings":";;AAUA,MAAMA,UAAAA,GAAaC,OAAAA,CAAQC,eAAe,CAAC;IACzCC,SAAAA,EAAW,CAACC,WAAa;YACvBC,YAAAA,EAAcD,OAAAA,CAAQE,QAAQ,CAAsD;gBAClFC,KAAAA,EAAO,CAACC,QAAU;wBAChBC,GAAAA,EAAK,eAAA;wBACLC,MAAAA,EAAQ,MAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAAA,EAAiB;AAAC,oBAAA;wBAAEC,IAAAA,EAAM,QAAA;wBAAUC,EAAAA,EAAI;AAAO,qBAAA;AAAG,oBAAA;AAAwB;AAC5E,aAAA,CAAA;YACAC,YAAAA,EAAcV,OAAAA,CAAQE,QAAQ,CAAmD;gBAC/EC,KAAAA,EAAO,CAACM,MAAQ;wBACdJ,GAAAA,EAAK,CAAC,cAAc,EAAEI,EAAAA,CAAAA,CAAI;wBAC1BH,MAAAA,EAAQ;qBACV,CAAA;gBACAC,eAAAA,EAAiB,CAACI,MAAAA,EAAQC,KAAAA,EAAOH,EAAAA,GAAO;AAAC,wBAAA;4BAAED,IAAAA,EAAM,QAAA;AAAUC,4BAAAA;AAAG,yBAAA;AAAG,wBAAA;AAAwB;AAC3F,aAAA,CAAA;YACAI,UAAAA,EAAYb,OAAAA,CAAQG,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,IAAM,eAAA;AACbW,gBAAAA,YAAAA,EAAc,CAACC,GAAAA,GAAQ;AACrB,wBAAA;4BAAEP,IAAAA,EAAM,QAAA;4BAAUC,EAAAA,EAAI;AAAO,yBAAA;2BACzBO,KAAAA,CAAMC,OAAO,CAACF,GAAAA,CAAAA,GACdA,GAAAA,CAAIG,GAAG,CAAC,CAACC,UAAY;gCACnBX,IAAAA,EAAM,QAAA;AACNC,gCAAAA,EAAAA,EAAIU,OAAOV;AACb,6BAAA,KACA;AACL;AACH,aAAA,CAAA;YACAW,iBAAAA,EAAmBpB,OAAAA,CAAQG,KAAK,CAA+B;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM;AACf,aAAA,CAAA;YACAkB,YAAAA,EAAcrB,OAAAA,CAAQE,QAAQ,CAG5B;AACAC,gBAAAA,KAAAA,EAAO,CAAC,EAAEM,EAAE,EAAE,GAAGL,IAAAA,EAAM,IAAM;wBAC3BC,GAAAA,EAAK,CAAC,cAAc,EAAEI,EAAAA,CAAAA,CAAI;wBAC1BH,MAAAA,EAAQ,KAAA;AACRF,wBAAAA;qBACF,CAAA;AACAG,gBAAAA,eAAAA,EAAiB,CAACI,MAAAA,EAAQC,KAAAA,EAAO,EAAEH,EAAE,EAAE,GAAK;AAAC,wBAAA;4BAAED,IAAAA,EAAM,QAAA;AAAUC,4BAAAA;AAAG;AAAE;AACtE,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EACJa,uBAAuB,EACvBC,uBAAuB,EACvBC,kBAAkB,EAClBC,yBAAyB,EACzBC,uBAAuB,EACxB,GAAG9B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sources":["../../../admin/src/services/relations.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { CountManyEntriesDraftRelations } from '../../../shared/contracts/content-manager';\n\nconst relationsApi = i18nApi.injectEndpoints({\n overrideExisting: true,\n endpoints: (builder) => ({\n getManyDraftRelationCount: builder.query<\n CountManyEntriesDraftRelations.Response['data'],\n CountManyEntriesDraftRelations.Request['query'] & {\n model: string;\n }\n >({\n query: ({ model, ...params }) => ({\n url: `/content-manager/collection-types/${model}/actions/countManyEntriesDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (response: CountManyEntriesDraftRelations.Response) => response.data,\n }),\n }),\n});\n\nconst { useGetManyDraftRelationCountQuery } = relationsApi;\n\nexport { useGetManyDraftRelationCountQuery };\n"],"names":["relationsApi","i18nApi","injectEndpoints","overrideExisting","endpoints","builder","getManyDraftRelationCount","query","model","params","url","method","config","transformResponse","response","data","useGetManyDraftRelationCountQuery"],"mappings":";;;;AAIA,MAAMA,YAAAA,GAAeC,WAAQC,CAAAA,eAAe,CAAC;IAC3CC,gBAAkB,EAAA,IAAA;IAClBC,SAAW,EAAA,CAACC,WAAa;YACvBC,yBAA2BD,EAAAA,OAAAA,CAAQE,KAAK,CAKtC;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAE,GAAGC,MAAAA,EAAQ,IAAM;AAChCC,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEF,KAAAA,CAAM,uCAAuC,CAAC;wBACxFG,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,iBAAmB,EAAA,CAACC,QAAsDA,GAAAA,QAAAA,CAASC;AACrF,aAAA;SACF;AACF,CAAA,CAAA;AAEM,MAAA,EAAEC,iCAAiC,EAAE,GAAGhB;;;;"}
1
+ {"version":3,"file":"relations.js","sources":["../../../admin/src/services/relations.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { CountManyEntriesDraftRelations } from '../../../shared/contracts/content-manager';\n\nconst relationsApi = i18nApi.injectEndpoints({\n overrideExisting: true,\n endpoints: (builder) => ({\n getManyDraftRelationCount: builder.query<\n CountManyEntriesDraftRelations.Response['data'],\n CountManyEntriesDraftRelations.Request['query'] & {\n model: string;\n }\n >({\n query: ({ model, ...params }) => ({\n url: `/content-manager/collection-types/${model}/actions/countManyEntriesDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (response: CountManyEntriesDraftRelations.Response) => response.data,\n }),\n }),\n});\n\nconst { useGetManyDraftRelationCountQuery } = relationsApi;\n\nexport { useGetManyDraftRelationCountQuery };\n"],"names":["relationsApi","i18nApi","injectEndpoints","overrideExisting","endpoints","builder","getManyDraftRelationCount","query","model","params","url","method","config","transformResponse","response","data","useGetManyDraftRelationCountQuery"],"mappings":";;;;AAIA,MAAMA,YAAAA,GAAeC,WAAAA,CAAQC,eAAe,CAAC;IAC3CC,gBAAAA,EAAkB,IAAA;IAClBC,SAAAA,EAAW,CAACC,WAAa;YACvBC,yBAAAA,EAA2BD,OAAAA,CAAQE,KAAK,CAKtC;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAE,GAAGC,MAAAA,EAAQ,IAAM;AAChCC,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEF,KAAAA,CAAM,uCAAuC,CAAC;wBACxFG,MAAAA,EAAQ,KAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,iBAAAA,EAAmB,CAACC,QAAAA,GAAsDA,QAAAA,CAASC;AACrF,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EAAEC,iCAAiC,EAAE,GAAGhB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations.mjs","sources":["../../../admin/src/services/relations.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { CountManyEntriesDraftRelations } from '../../../shared/contracts/content-manager';\n\nconst relationsApi = i18nApi.injectEndpoints({\n overrideExisting: true,\n endpoints: (builder) => ({\n getManyDraftRelationCount: builder.query<\n CountManyEntriesDraftRelations.Response['data'],\n CountManyEntriesDraftRelations.Request['query'] & {\n model: string;\n }\n >({\n query: ({ model, ...params }) => ({\n url: `/content-manager/collection-types/${model}/actions/countManyEntriesDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (response: CountManyEntriesDraftRelations.Response) => response.data,\n }),\n }),\n});\n\nconst { useGetManyDraftRelationCountQuery } = relationsApi;\n\nexport { useGetManyDraftRelationCountQuery };\n"],"names":["relationsApi","i18nApi","injectEndpoints","overrideExisting","endpoints","builder","getManyDraftRelationCount","query","model","params","url","method","config","transformResponse","response","data","useGetManyDraftRelationCountQuery"],"mappings":";;AAIA,MAAMA,YAAAA,GAAeC,OAAQC,CAAAA,eAAe,CAAC;IAC3CC,gBAAkB,EAAA,IAAA;IAClBC,SAAW,EAAA,CAACC,WAAa;YACvBC,yBAA2BD,EAAAA,OAAAA,CAAQE,KAAK,CAKtC;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAE,GAAGC,MAAAA,EAAQ,IAAM;AAChCC,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEF,KAAAA,CAAM,uCAAuC,CAAC;wBACxFG,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,iBAAmB,EAAA,CAACC,QAAsDA,GAAAA,QAAAA,CAASC;AACrF,aAAA;SACF;AACF,CAAA,CAAA;AAEM,MAAA,EAAEC,iCAAiC,EAAE,GAAGhB;;;;"}
1
+ {"version":3,"file":"relations.mjs","sources":["../../../admin/src/services/relations.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { CountManyEntriesDraftRelations } from '../../../shared/contracts/content-manager';\n\nconst relationsApi = i18nApi.injectEndpoints({\n overrideExisting: true,\n endpoints: (builder) => ({\n getManyDraftRelationCount: builder.query<\n CountManyEntriesDraftRelations.Response['data'],\n CountManyEntriesDraftRelations.Request['query'] & {\n model: string;\n }\n >({\n query: ({ model, ...params }) => ({\n url: `/content-manager/collection-types/${model}/actions/countManyEntriesDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (response: CountManyEntriesDraftRelations.Response) => response.data,\n }),\n }),\n});\n\nconst { useGetManyDraftRelationCountQuery } = relationsApi;\n\nexport { useGetManyDraftRelationCountQuery };\n"],"names":["relationsApi","i18nApi","injectEndpoints","overrideExisting","endpoints","builder","getManyDraftRelationCount","query","model","params","url","method","config","transformResponse","response","data","useGetManyDraftRelationCountQuery"],"mappings":";;AAIA,MAAMA,YAAAA,GAAeC,OAAAA,CAAQC,eAAe,CAAC;IAC3CC,gBAAAA,EAAkB,IAAA;IAClBC,SAAAA,EAAW,CAACC,WAAa;YACvBC,yBAAAA,EAA2BD,OAAAA,CAAQE,KAAK,CAKtC;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAE,GAAGC,MAAAA,EAAQ,IAAM;AAChCC,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEF,KAAAA,CAAM,uCAAuC,CAAC;wBACxFG,MAAAA,EAAQ,KAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,iBAAAA,EAAmB,CAACC,QAAAA,GAAsDA,QAAAA,CAASC;AACrF,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EAAEC,iCAAiC,EAAE,GAAGhB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sources":["../../../admin/src/services/settings.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetSettings, UpdateSettings } from '../../../shared/contracts/settings';\n\nconst settingsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getSettings: builder.query<GetSettings.Response['data'], void>({\n query: () => '/i18n/settings',\n providesTags: ['Settings'],\n }),\n updatei18nSettings: builder.mutation<UpdateSettings.Response, UpdateSettings.Request['body']>({\n query: (data) => ({\n url: '/i18n/settings',\n method: 'PUT',\n data,\n }),\n invalidatesTags: ['Settings', 'AIFeatureConfig'],\n }),\n }),\n});\n\nconst { useGetSettingsQuery, useUpdatei18nSettingsMutation } = settingsApi;\n\nexport { useGetSettingsQuery, useUpdatei18nSettingsMutation };\n"],"names":["settingsApi","i18nApi","injectEndpoints","endpoints","builder","getSettings","query","providesTags","updatei18nSettings","mutation","data","url","method","invalidatesTags","useGetSettingsQuery","useUpdatei18nSettingsMutation"],"mappings":";;;;AAIA,MAAMA,WAAAA,GAAcC,WAAQC,CAAAA,eAAe,CAAC;IAC1CC,SAAW,EAAA,CAACC,WAAa;YACvBC,WAAaD,EAAAA,OAAAA,CAAQE,KAAK,CAAqC;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM,gBAAA;gBACbC,YAAc,EAAA;AAAC,oBAAA;AAAW;AAC5B,aAAA,CAAA;YACAC,kBAAoBJ,EAAAA,OAAAA,CAAQK,QAAQ,CAA0D;gBAC5FH,KAAO,EAAA,CAACI,QAAU;wBAChBC,GAAK,EAAA,gBAAA;wBACLC,MAAQ,EAAA,KAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAiB,EAAA;AAAC,oBAAA,UAAA;AAAY,oBAAA;AAAkB;AAClD,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EAAEC,mBAAmB,EAAEC,6BAA6B,EAAE,GAAGf;;;;;"}
1
+ {"version":3,"file":"settings.js","sources":["../../../admin/src/services/settings.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetSettings, UpdateSettings } from '../../../shared/contracts/settings';\n\nconst settingsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getSettings: builder.query<GetSettings.Response['data'], void>({\n query: () => '/i18n/settings',\n providesTags: ['Settings'],\n }),\n updatei18nSettings: builder.mutation<UpdateSettings.Response, UpdateSettings.Request['body']>({\n query: (data) => ({\n url: '/i18n/settings',\n method: 'PUT',\n data,\n }),\n invalidatesTags: ['Settings', 'AIFeatureConfig'],\n }),\n }),\n});\n\nconst { useGetSettingsQuery, useUpdatei18nSettingsMutation } = settingsApi;\n\nexport { useGetSettingsQuery, useUpdatei18nSettingsMutation };\n"],"names":["settingsApi","i18nApi","injectEndpoints","endpoints","builder","getSettings","query","providesTags","updatei18nSettings","mutation","data","url","method","invalidatesTags","useGetSettingsQuery","useUpdatei18nSettingsMutation"],"mappings":";;;;AAIA,MAAMA,WAAAA,GAAcC,WAAAA,CAAQC,eAAe,CAAC;IAC1CC,SAAAA,EAAW,CAACC,WAAa;YACvBC,WAAAA,EAAaD,OAAAA,CAAQE,KAAK,CAAqC;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM,gBAAA;gBACbC,YAAAA,EAAc;AAAC,oBAAA;AAAW;AAC5B,aAAA,CAAA;YACAC,kBAAAA,EAAoBJ,OAAAA,CAAQK,QAAQ,CAA0D;gBAC5FH,KAAAA,EAAO,CAACI,QAAU;wBAChBC,GAAAA,EAAK,gBAAA;wBACLC,MAAAA,EAAQ,KAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAAA,EAAiB;AAAC,oBAAA,UAAA;AAAY,oBAAA;AAAkB;AAClD,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EAAEC,mBAAmB,EAAEC,6BAA6B,EAAE,GAAGf;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.mjs","sources":["../../../admin/src/services/settings.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetSettings, UpdateSettings } from '../../../shared/contracts/settings';\n\nconst settingsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getSettings: builder.query<GetSettings.Response['data'], void>({\n query: () => '/i18n/settings',\n providesTags: ['Settings'],\n }),\n updatei18nSettings: builder.mutation<UpdateSettings.Response, UpdateSettings.Request['body']>({\n query: (data) => ({\n url: '/i18n/settings',\n method: 'PUT',\n data,\n }),\n invalidatesTags: ['Settings', 'AIFeatureConfig'],\n }),\n }),\n});\n\nconst { useGetSettingsQuery, useUpdatei18nSettingsMutation } = settingsApi;\n\nexport { useGetSettingsQuery, useUpdatei18nSettingsMutation };\n"],"names":["settingsApi","i18nApi","injectEndpoints","endpoints","builder","getSettings","query","providesTags","updatei18nSettings","mutation","data","url","method","invalidatesTags","useGetSettingsQuery","useUpdatei18nSettingsMutation"],"mappings":";;AAIA,MAAMA,WAAAA,GAAcC,OAAQC,CAAAA,eAAe,CAAC;IAC1CC,SAAW,EAAA,CAACC,WAAa;YACvBC,WAAaD,EAAAA,OAAAA,CAAQE,KAAK,CAAqC;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM,gBAAA;gBACbC,YAAc,EAAA;AAAC,oBAAA;AAAW;AAC5B,aAAA,CAAA;YACAC,kBAAoBJ,EAAAA,OAAAA,CAAQK,QAAQ,CAA0D;gBAC5FH,KAAO,EAAA,CAACI,QAAU;wBAChBC,GAAK,EAAA,gBAAA;wBACLC,MAAQ,EAAA,KAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAiB,EAAA;AAAC,oBAAA,UAAA;AAAY,oBAAA;AAAkB;AAClD,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EAAEC,mBAAmB,EAAEC,6BAA6B,EAAE,GAAGf;;;;"}
1
+ {"version":3,"file":"settings.mjs","sources":["../../../admin/src/services/settings.ts"],"sourcesContent":["import { i18nApi } from './api';\n\nimport type { GetSettings, UpdateSettings } from '../../../shared/contracts/settings';\n\nconst settingsApi = i18nApi.injectEndpoints({\n endpoints: (builder) => ({\n getSettings: builder.query<GetSettings.Response['data'], void>({\n query: () => '/i18n/settings',\n providesTags: ['Settings'],\n }),\n updatei18nSettings: builder.mutation<UpdateSettings.Response, UpdateSettings.Request['body']>({\n query: (data) => ({\n url: '/i18n/settings',\n method: 'PUT',\n data,\n }),\n invalidatesTags: ['Settings', 'AIFeatureConfig'],\n }),\n }),\n});\n\nconst { useGetSettingsQuery, useUpdatei18nSettingsMutation } = settingsApi;\n\nexport { useGetSettingsQuery, useUpdatei18nSettingsMutation };\n"],"names":["settingsApi","i18nApi","injectEndpoints","endpoints","builder","getSettings","query","providesTags","updatei18nSettings","mutation","data","url","method","invalidatesTags","useGetSettingsQuery","useUpdatei18nSettingsMutation"],"mappings":";;AAIA,MAAMA,WAAAA,GAAcC,OAAAA,CAAQC,eAAe,CAAC;IAC1CC,SAAAA,EAAW,CAACC,WAAa;YACvBC,WAAAA,EAAaD,OAAAA,CAAQE,KAAK,CAAqC;AAC7DA,gBAAAA,KAAAA,EAAO,IAAM,gBAAA;gBACbC,YAAAA,EAAc;AAAC,oBAAA;AAAW;AAC5B,aAAA,CAAA;YACAC,kBAAAA,EAAoBJ,OAAAA,CAAQK,QAAQ,CAA0D;gBAC5FH,KAAAA,EAAO,CAACI,QAAU;wBAChBC,GAAAA,EAAK,gBAAA;wBACLC,MAAAA,EAAQ,KAAA;AACRF,wBAAAA;qBACF,CAAA;gBACAG,eAAAA,EAAiB;AAAC,oBAAA,UAAA;AAAY,oBAAA;AAAkB;AAClD,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EAAEC,mBAAmB,EAAEC,6BAA6B,EAAE,GAAGf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sources":["../../../admin/src/utils/clean.ts"],"sourcesContent":["import type { Schema } from '@strapi/types';\n\ntype Data = Record<keyof Schema.ContentType['attributes'], any>;\n\nconst cleanData = (\n data: Data,\n schema: Schema.ContentType,\n components: Record<string, Schema.Component>\n) => {\n const cleanedData = removeFields(data, [\n 'createdAt',\n 'createdBy',\n 'updatedAt',\n 'updatedBy',\n 'id',\n 'documentId',\n 'publishedAt',\n 'strapi_stage',\n 'strapi_assignee',\n 'locale',\n 'status',\n ]);\n\n const cleanedDataWithoutPasswordAndRelation = recursiveRemoveFieldTypes(\n cleanedData,\n schema,\n components,\n ['relation', 'password']\n );\n\n return cleanedDataWithoutPasswordAndRelation;\n};\n\nconst removeFields = (data: Data, fields: Array<keyof Schema.ContentType['attributes']>) => {\n return Object.keys(data).reduce((acc, current) => {\n if (fields.includes(current)) {\n return acc;\n }\n acc[current] = data[current];\n return acc;\n }, {} as Data);\n};\n\nconst recursiveRemoveFieldTypes = (\n data: Data,\n schema: Schema.Schema,\n components: Record<string, Schema.Component>,\n fields: Array<keyof Schema.ContentType['attributes']>\n) => {\n return Object.keys(data).reduce((acc, current) => {\n const attribute = schema.attributes[current] ?? { type: undefined };\n\n if (fields.includes(attribute.type)) {\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n acc[current] = data[current].map((componentValue: any, index: number) => {\n const { id: _, ...rest } = recursiveRemoveFieldTypes(\n componentValue,\n components[componentValue.__component],\n components,\n fields\n );\n\n return {\n ...rest,\n __temp_key__: index + 1,\n };\n });\n } else if (attribute.type === 'component') {\n const { repeatable, component } = attribute;\n\n if (repeatable) {\n acc[current] = (data[current] ?? []).map((compoData: any, index: number) => {\n const { id: _, ...rest } = recursiveRemoveFieldTypes(\n compoData,\n components[component],\n components,\n fields\n );\n\n return {\n ...rest,\n __temp_key__: index + 1,\n };\n });\n } else if (data[current]) {\n const { id: _, ...rest } = recursiveRemoveFieldTypes(\n data[current],\n components[component],\n components,\n fields\n );\n\n acc[current] = rest;\n }\n } else {\n acc[current] = data[current];\n }\n\n return acc;\n }, {} as any);\n};\n\nexport { cleanData };\n"],"names":["cleanData","data","schema","components","cleanedData","removeFields","cleanedDataWithoutPasswordAndRelation","recursiveRemoveFieldTypes","fields","Object","keys","reduce","acc","current","includes","attribute","attributes","type","undefined","map","componentValue","index","id","_","rest","__component","__temp_key__","repeatable","component","compoData"],"mappings":"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"}
1
+ {"version":3,"file":"clean.js","sources":["../../../admin/src/utils/clean.ts"],"sourcesContent":["import type { Schema } from '@strapi/types';\n\ntype Data = Record<keyof Schema.ContentType['attributes'], any>;\n\nconst cleanData = (\n data: Data,\n schema: Schema.ContentType,\n components: Record<string, Schema.Component>\n) => {\n const cleanedData = removeFields(data, [\n 'createdAt',\n 'createdBy',\n 'updatedAt',\n 'updatedBy',\n 'id',\n 'documentId',\n 'publishedAt',\n 'strapi_stage',\n 'strapi_assignee',\n 'locale',\n 'status',\n ]);\n\n const cleanedDataWithoutPasswordAndRelation = recursiveRemoveFieldTypes(\n cleanedData,\n schema,\n components,\n ['relation', 'password']\n );\n\n return cleanedDataWithoutPasswordAndRelation;\n};\n\nconst removeFields = (data: Data, fields: Array<keyof Schema.ContentType['attributes']>) => {\n return Object.keys(data).reduce((acc, current) => {\n if (fields.includes(current)) {\n return acc;\n }\n acc[current] = data[current];\n return acc;\n }, {} as Data);\n};\n\nconst recursiveRemoveFieldTypes = (\n data: Data,\n schema: Schema.Schema,\n components: Record<string, Schema.Component>,\n fields: Array<keyof Schema.ContentType['attributes']>\n) => {\n return Object.keys(data).reduce((acc, current) => {\n const attribute = schema.attributes[current] ?? { type: undefined };\n\n if (fields.includes(attribute.type)) {\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n acc[current] = data[current].map((componentValue: any, index: number) => {\n const { id: _, ...rest } = recursiveRemoveFieldTypes(\n componentValue,\n components[componentValue.__component],\n components,\n fields\n );\n\n return {\n ...rest,\n __temp_key__: index + 1,\n };\n });\n } else if (attribute.type === 'component') {\n const { repeatable, component } = attribute;\n\n if (repeatable) {\n acc[current] = (data[current] ?? []).map((compoData: any, index: number) => {\n const { id: _, ...rest } = recursiveRemoveFieldTypes(\n compoData,\n components[component],\n components,\n fields\n );\n\n return {\n ...rest,\n __temp_key__: index + 1,\n };\n });\n } else if (data[current]) {\n const { id: _, ...rest } = recursiveRemoveFieldTypes(\n data[current],\n components[component],\n components,\n fields\n );\n\n acc[current] = rest;\n }\n } else {\n acc[current] = data[current];\n }\n\n return acc;\n }, {} as any);\n};\n\nexport { cleanData };\n"],"names":["cleanData","data","schema","components","cleanedData","removeFields","cleanedDataWithoutPasswordAndRelation","recursiveRemoveFieldTypes","fields","Object","keys","reduce","acc","current","includes","attribute","attributes","type","undefined","map","componentValue","index","id","_","rest","__component","__temp_key__","repeatable","component","compoData"],"mappings":"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"}