@fonderie/client 1.10.0 → 1.11.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.
@@ -424,6 +424,17 @@ new CourierAdminClient(opts: ICourierAdminClientOptions): CourierAdminClient
424
424
  .rollback(type: string, input: IRollbackTemplateInput, locale?: string | null | undefined): Promise<IApiResponse<ITemplateEntry>>
425
425
  .previewTemplate(type: string, input: IPreviewTemplateInput, locale?: string | null | undefined): Promise<IApiResponse<IRenderedTemplateResult>>
426
426
 
427
+ interface ITemplateGroup {
428
+ type: string;
429
+ entries: ITemplateEntry[];
430
+ primary: ITemplateEntry;
431
+ system: boolean;
432
+ }
433
+
434
+ function groupTemplatesByType(rows: readonly ITemplateEntry[]): ITemplateGroup[]
435
+
436
+ function missingTemplateLocales(rows: readonly ITemplateEntry[], type: string): string[]
437
+
427
438
  interface IAddAddressInput {
428
439
  countryIso: string;
429
440
  zipPostalCode: string;
package/dist/index.cjs CHANGED
@@ -52,9 +52,11 @@ __export(index_exports, {
52
52
  detectAdminLocale: () => detectAdminLocale,
53
53
  formatAdminDate: () => formatAdminDate,
54
54
  formatConfigValue: () => formatConfigValue,
55
+ groupTemplatesByType: () => groupTemplatesByType,
55
56
  inferConfigValue: () => inferConfigValue,
56
57
  isAdminLocale: () => isAdminLocale,
57
- isMfaRequired: () => isMfaRequired
58
+ isMfaRequired: () => isMfaRequired,
59
+ missingTemplateLocales: () => missingTemplateLocales
58
60
  });
59
61
  module.exports = __toCommonJS(index_exports);
60
62
 
@@ -2258,6 +2260,27 @@ var CourierAdminClient = class {
2258
2260
  }
2259
2261
  };
2260
2262
 
2263
+ // src/template-locales.ts
2264
+ var byLocale = (a, b) => a.locale === b.locale ? 0 : a.locale === null ? -1 : b.locale === null ? 1 : a.locale.localeCompare(b.locale);
2265
+ function groupTemplatesByType(rows) {
2266
+ const groups = /* @__PURE__ */ new Map();
2267
+ for (const row of rows) {
2268
+ const entries = groups.get(row.type);
2269
+ if (entries) entries.push(row);
2270
+ else groups.set(row.type, [row]);
2271
+ }
2272
+ return [...groups].map(([type, entries]) => {
2273
+ entries.sort(byLocale);
2274
+ const primary = entries[0];
2275
+ return { type, entries, primary, system: entries.some((e) => e.system === true) };
2276
+ });
2277
+ }
2278
+ function missingTemplateLocales(rows, type) {
2279
+ const has = new Set(rows.filter((r) => r.type === type).map((r) => r.locale));
2280
+ const used = new Set(rows.map((r) => r.locale).filter((l) => l !== null && !has.has(l)));
2281
+ return [...used].sort();
2282
+ }
2283
+
2261
2284
  // src/types.ts
2262
2285
  function isMfaRequired(result) {
2263
2286
  return !("tokens" in result);
@@ -2975,6 +2998,7 @@ var config_default = config;
2975
2998
  // src/admin-i18n/en/templates.ts
2976
2999
  var templates = {
2977
3000
  defaultLocale: "default locale",
3001
+ defaultChip: "default",
2978
3002
  builtInBadge: "built-in",
2979
3003
  subject: "Subject",
2980
3004
  htmlBody: "HTML body",
@@ -2983,10 +3007,13 @@ var templates = {
2983
3007
  title: "Templates",
2984
3008
  newTemplate: "New template",
2985
3009
  hint: "Every email the app sends. Open one to edit its copy and preview it live.",
2986
- loading: "Loading templates\u2026"
3010
+ loading: "Loading templates\u2026",
3011
+ openLocale: "Open the {locale} version of {type}"
2987
3012
  },
2988
3013
  editor: {
2989
3014
  loading: "Loading template\u2026",
3015
+ locales: "Locales",
3016
+ discardChanges: "You have unsaved changes to this locale. Discard them and switch?",
2990
3017
  addLocale: "+ Add locale",
2991
3018
  builtInNote: "built-in email: edit or roll back, it cannot be deleted",
2992
3019
  active: "Active",
@@ -3666,6 +3693,7 @@ var config_default2 = config2;
3666
3693
  // src/admin-i18n/es/templates.ts
3667
3694
  var templates2 = {
3668
3695
  defaultLocale: "idioma predeterminado",
3696
+ defaultChip: "predeterminado",
3669
3697
  builtInBadge: "integrado",
3670
3698
  subject: "Asunto",
3671
3699
  htmlBody: "Cuerpo HTML",
@@ -3674,10 +3702,13 @@ var templates2 = {
3674
3702
  title: "Plantillas",
3675
3703
  newTemplate: "Nueva plantilla",
3676
3704
  hint: "Cada correo que env\xEDa la aplicaci\xF3n. Abre uno para editar su contenido y ver la vista previa en directo.",
3677
- loading: "Cargando plantillas\u2026"
3705
+ loading: "Cargando plantillas\u2026",
3706
+ openLocale: "Abrir la versi\xF3n {locale} de {type}"
3678
3707
  },
3679
3708
  editor: {
3680
3709
  loading: "Cargando plantilla\u2026",
3710
+ locales: "Idiomas",
3711
+ discardChanges: "Este idioma tiene cambios sin guardar. \xBFDescartarlos y cambiar de idioma?",
3681
3712
  addLocale: "+ A\xF1adir idioma",
3682
3713
  builtInNote: "correo integrado: se puede editar o restaurar, no eliminar",
3683
3714
  active: "Activa",
@@ -4357,6 +4388,7 @@ var config_default3 = config3;
4357
4388
  // src/admin-i18n/fr/templates.ts
4358
4389
  var templates3 = {
4359
4390
  defaultLocale: "langue par d\xE9faut",
4391
+ defaultChip: "par d\xE9faut",
4360
4392
  builtInBadge: "int\xE9gr\xE9",
4361
4393
  subject: "Objet",
4362
4394
  htmlBody: "Corps HTML",
@@ -4365,10 +4397,13 @@ var templates3 = {
4365
4397
  title: "Mod\xE8les",
4366
4398
  newTemplate: "Nouveau mod\xE8le",
4367
4399
  hint: "Chaque e-mail envoy\xE9 par l'application. Ouvrez-en un pour modifier son contenu et le pr\xE9visualiser en direct.",
4368
- loading: "Chargement des mod\xE8les\u2026"
4400
+ loading: "Chargement des mod\xE8les\u2026",
4401
+ openLocale: "Ouvrir la version {locale} de {type}"
4369
4402
  },
4370
4403
  editor: {
4371
4404
  loading: "Chargement du mod\xE8le\u2026",
4405
+ locales: "Langues",
4406
+ discardChanges: "Cette langue a des modifications non enregistr\xE9es. Les abandonner et changer de langue ?",
4372
4407
  addLocale: "+ Ajouter une langue",
4373
4408
  builtInNote: "e-mail int\xE9gr\xE9 : modifiable ou restaurable, mais pas supprimable",
4374
4409
  active: "Actif",
@@ -4489,8 +4524,10 @@ function formatAdminDate(value, locale = DEFAULT_ADMIN_LOCALE, style = "datetime
4489
4524
  detectAdminLocale,
4490
4525
  formatAdminDate,
4491
4526
  formatConfigValue,
4527
+ groupTemplatesByType,
4492
4528
  inferConfigValue,
4493
4529
  isAdminLocale,
4494
- isMfaRequired
4530
+ isMfaRequired,
4531
+ missingTemplateLocales
4495
4532
  });
4496
4533
  //# sourceMappingURL=index.cjs.map