nextjs-cms 0.9.14 → 0.9.15

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.
@@ -88,6 +88,7 @@ export declare const simpleSectionRouter: import("@trpc/server").TRPCBuiltRouter
88
88
  label: any;
89
89
  rtl?: boolean;
90
90
  }[];
91
+ localeSwitcherEnabled: boolean;
91
92
  } | null;
92
93
  error?: undefined;
93
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"simpleSection.d.ts","sourceRoot":"","sources":["../../../src/api/routers/simpleSection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAOxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA2Du4a,CAAC;;;;;uBAAuE,CAAC;;;;;;uBAA6G,CAAC;;;;;;;;;;;;;;;GAD5lb,CAAA"}
1
+ {"version":3,"file":"simpleSection.d.ts","sourceRoot":"","sources":["../../../src/api/routers/simpleSection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAOxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA2Du4a,CAAC;;;;;uBAAuE,CAAC;;;;;;uBAA6G,CAAC;;;;;;;;;;;;;;;;GAD5lb,CAAA"}
@@ -116,7 +116,7 @@ export type CMSConfig = z.infer<typeof cmsConfigSchema>;
116
116
  * })
117
117
  * ```
118
118
  */
119
- export declare function defineConfig<const Codes extends string>(config: Omit<CMSConfig, 'localization'> & {
119
+ export declare function defineConfig<const Codes extends string, const LangKeys extends string>(config: Omit<CMSConfig, 'localization' | 'i18n'> & {
120
120
  localization?: {
121
121
  locales: readonly {
122
122
  code: Codes;
@@ -125,6 +125,10 @@ export declare function defineConfig<const Codes extends string>(config: Omit<CM
125
125
  }[];
126
126
  defaultLocale: NoInfer<Codes>;
127
127
  };
128
+ i18n?: {
129
+ supportedLanguages?: Record<LangKeys, Record<string, string>>;
130
+ fallbackLanguage?: NoInfer<LangKeys>;
131
+ };
128
132
  }): CMSConfig;
129
133
  export interface PluginRouteOverride {
130
134
  title?: MultilingualString;
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAG9E,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,iBAAkB,CAAA;AAEvD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA;AAGzE,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuRnB,CAAA;AAGF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EACnD,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG;IACtC,YAAY,CAAC,EAAE;QACX,OAAO,EAAE,SAAS;YAAE,IAAI,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE,EAAE,CAAA;QACjE,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;KAChC,CAAA;CACJ,GACF,SAAS,CAEX;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,iEAAiE;IACjE,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAC/C;AAGD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE;QACA,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,OAAO,CAAA;QACf,QAAQ,EAAE;YACN,oBAAoB,EAAE,OAAO,CAAA;SAChC,CAAA;KACJ,CAAA;IACD,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM,CAAA;YACZ,iBAAiB,EAAE,OAAO,CAAA;SAC7B,CAAA;QACD,MAAM,EAAE;YACJ,UAAU,EAAE;gBAAE,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAE,CAAA;YAC9D,KAAK,EAAE;gBACH,IAAI,EAAE;oBACF,KAAK,EAAE,MAAM,CAAA;oBACb,MAAM,EAAE,MAAM,CAAA;oBACd,GAAG,EAAE,OAAO,GAAG,SAAS,CAAA;oBACxB,MAAM,EAAE,OAAO,CAAA;iBAClB,CAAA;gBACD,OAAO,EAAE,MAAM,CAAA;aAClB,CAAA;YACD,SAAS,EAAE;gBACP,IAAI,EAAE;oBACF,KAAK,EAAE,MAAM,CAAA;oBACb,MAAM,EAAE,MAAM,CAAA;oBACd,GAAG,EAAE,OAAO,GAAG,SAAS,CAAA;iBAC3B,CAAA;gBACD,OAAO,EAAE,MAAM,CAAA;aAClB,CAAA;YACD,SAAS,EAAE,OAAO,CAAA;SACrB,CAAA;KACJ,CAAA;IACD,gBAAgB,EAAE;QACd,OAAO,EAAE;YACL,OAAO,EAAE,OAAO,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;gBAChD,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;aACpD,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,IAAI,EAAE;QACF,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAA;QACrC,gBAAgB,EAAE,MAAM,CAAA;KAC3B,CAAA;IACD,YAAY,EAAE;QACV,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE,EAAE,CAAA;QACzD,aAAa,EAAE,MAAM,CAAA;KACxB,GAAG,IAAI,CAAA;IACR,SAAS,EAAE;QACP,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAC1B,CAAA;CACJ;AA4OD;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAyBzE"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"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"}
@@ -222,7 +222,7 @@ const cmsConfigSchema = z.object({
222
222
  * Core ships `en`; additional languages should be installed and imported by the app.
223
223
  * Example: `{ en, ar }`, `{ en, fr }`, etc. Keys = language codes offered in the dropdown.
224
224
  * Dictionaries can be partial overrides; they are merged with the built-in defaults.
225
- * English is always included by core as the base fallback language.
225
+ * Only the languages you provide here are offered in the UI. If omitted, English is used as the default.
226
226
  * At least one language is required.
227
227
  */
228
228
  supportedLanguages: z
@@ -292,22 +292,25 @@ export function defineConfig(config) {
292
292
  return config;
293
293
  }
294
294
  function normalizeI18n(userConfig) {
295
- const fallback = userConfig.i18n?.fallbackLanguage ?? 'en';
296
295
  const record = userConfig.i18n?.supportedLanguages;
297
296
  let supported;
298
297
  if (record && Object.keys(record).length >= 1) {
299
- supported = ['en', ...Object.keys(record).filter((language) => language !== 'en')];
298
+ supported = Object.keys(record);
300
299
  setConfigDicts(record);
301
300
  }
302
301
  else {
303
302
  supported = ['en'];
304
303
  setConfigDicts({});
305
304
  }
306
- const supportedSet = new Set(supported);
307
- const effectiveFallback = supportedSet.has(fallback) ? fallback : 'en';
305
+ const fallback = userConfig.i18n?.fallbackLanguage ?? supported[0];
306
+ if (!supported.includes(fallback)) {
307
+ throw new Error(`Errors in i18n config`, {
308
+ cause: `i18n.fallbackLanguage "${fallback}" is not in supportedLanguages. Must be one of: ${supported.join(', ')}`,
309
+ });
310
+ }
308
311
  return {
309
312
  supportedLanguages: supported,
310
- fallbackLanguage: effectiveFallback,
313
+ fallbackLanguage: fallback,
311
314
  };
312
315
  }
313
316
  function normalizeLocalization(userConfig) {
@@ -353,8 +353,8 @@ declare const selectFieldConfigSchema: z.ZodIntersection<z.ZodUnion<readonly [z.
353
353
  }, z.core.$strict>]>, z.ZodObject<{
354
354
  type: z.ZodLiteral<"select">;
355
355
  optionsType: z.ZodEnum<{
356
- db: "db";
357
356
  section: "section";
357
+ db: "db";
358
358
  static: "static";
359
359
  }>;
360
360
  build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<SelectField, SelectField>>;