nextjs-cms 0.8.9 → 0.9.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.
- package/LICENSE +21 -21
- package/README.md +290 -290
- package/dist/api/index.d.ts +92 -9
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/lib/serverActions.d.ts +64 -9
- package/dist/api/lib/serverActions.d.ts.map +1 -1
- package/dist/api/lib/serverActions.js +463 -90
- package/dist/api/root.d.ts +184 -18
- package/dist/api/root.d.ts.map +1 -1
- package/dist/api/routers/accountSettings.d.ts +2 -2
- package/dist/api/routers/accountSettings.js +10 -10
- package/dist/api/routers/admins.js +11 -11
- package/dist/api/routers/auth.d.ts +1 -1
- package/dist/api/routers/config.d.ts +13 -0
- package/dist/api/routers/config.d.ts.map +1 -1
- package/dist/api/routers/config.js +4 -0
- package/dist/api/routers/cpanel.js +7 -7
- package/dist/api/routers/fields.d.ts +1 -0
- package/dist/api/routers/fields.d.ts.map +1 -1
- package/dist/api/routers/fields.js +39 -6
- package/dist/api/routers/gallery.js +1 -1
- package/dist/api/routers/hasItemsSection.d.ts +41 -2
- package/dist/api/routers/hasItemsSection.d.ts.map +1 -1
- package/dist/api/routers/hasItemsSection.js +43 -2
- package/dist/api/routers/logs.js +1 -1
- package/dist/api/routers/navigation.d.ts +3 -3
- package/dist/api/routers/simpleSection.d.ts +31 -1
- package/dist/api/routers/simpleSection.d.ts.map +1 -1
- package/dist/api/routers/simpleSection.js +44 -2
- package/dist/api/trpc.js +2 -2
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/lib/actions.d.ts +3 -3
- package/dist/auth/lib/actions.d.ts.map +1 -1
- package/dist/auth/lib/actions.js +14 -14
- package/dist/auth/react.d.ts +2 -2
- package/dist/auth/react.d.ts.map +1 -1
- package/dist/auth/react.js +7 -7
- package/dist/cli/lib/db-config.js +10 -10
- package/dist/cli/lib/update-sections.d.ts.map +1 -1
- package/dist/cli/lib/update-sections.js +145 -9
- package/dist/cli/utils/schema-generator.d.ts +20 -0
- package/dist/cli/utils/schema-generator.d.ts.map +1 -1
- package/dist/cli/utils/schema-generator.js +40 -0
- package/dist/core/config/config-loader.d.ts +49 -5
- package/dist/core/config/config-loader.d.ts.map +1 -1
- package/dist/core/config/config-loader.js +100 -21
- package/dist/core/config/index.d.ts +2 -2
- package/dist/core/config/index.d.ts.map +1 -1
- package/dist/core/config/index.js +1 -1
- package/dist/core/db/table-checker/MysqlTable.js +8 -8
- package/dist/core/factories/FieldFactory.d.ts +5 -3
- package/dist/core/factories/FieldFactory.d.ts.map +1 -1
- package/dist/core/factories/FieldFactory.js +74 -16
- package/dist/core/factories/section-factory-with-esbuild.d.ts.map +1 -1
- package/dist/core/factories/section-factory-with-esbuild.js +15 -9
- package/dist/core/factories/section-factory-with-jiti.d.ts.map +1 -1
- package/dist/core/factories/section-factory-with-jiti.js +15 -9
- package/dist/core/fields/checkbox.d.ts +4 -1
- package/dist/core/fields/checkbox.d.ts.map +1 -1
- package/dist/core/fields/color.d.ts +4 -1
- package/dist/core/fields/color.d.ts.map +1 -1
- package/dist/core/fields/color.js +2 -2
- package/dist/core/fields/date.d.ts +4 -1
- package/dist/core/fields/date.d.ts.map +1 -1
- package/dist/core/fields/date.js +2 -2
- package/dist/core/fields/document.d.ts +4 -1
- package/dist/core/fields/document.d.ts.map +1 -1
- package/dist/core/fields/document.js +27 -18
- package/dist/core/fields/field-group.d.ts +3 -3
- package/dist/core/fields/field-group.d.ts.map +1 -1
- package/dist/core/fields/field.d.ts +11 -8
- package/dist/core/fields/field.d.ts.map +1 -1
- package/dist/core/fields/field.js +15 -11
- package/dist/core/fields/map.d.ts +4 -1
- package/dist/core/fields/map.d.ts.map +1 -1
- package/dist/core/fields/map.js +2 -2
- package/dist/core/fields/number.d.ts +26 -1
- package/dist/core/fields/number.d.ts.map +1 -1
- package/dist/core/fields/number.js +16 -7
- package/dist/core/fields/password.d.ts +4 -1
- package/dist/core/fields/password.d.ts.map +1 -1
- package/dist/core/fields/password.js +3 -3
- package/dist/core/fields/photo.d.ts +4 -1
- package/dist/core/fields/photo.d.ts.map +1 -1
- package/dist/core/fields/photo.js +17 -17
- package/dist/core/fields/richText.d.ts +17 -3
- package/dist/core/fields/richText.d.ts.map +1 -1
- package/dist/core/fields/richText.js +20 -8
- package/dist/core/fields/select.d.ts +10 -3
- package/dist/core/fields/select.d.ts.map +1 -1
- package/dist/core/fields/select.js +27 -34
- package/dist/core/fields/selectMultiple.d.ts +8 -4
- package/dist/core/fields/selectMultiple.d.ts.map +1 -1
- package/dist/core/fields/selectMultiple.js +32 -24
- package/dist/core/fields/slug.d.ts +16 -1
- package/dist/core/fields/slug.d.ts.map +1 -1
- package/dist/core/fields/slug.js +3 -3
- package/dist/core/fields/tags.d.ts +6 -3
- package/dist/core/fields/tags.d.ts.map +1 -1
- package/dist/core/fields/tags.js +26 -19
- package/dist/core/fields/text.d.ts +24 -1
- package/dist/core/fields/text.d.ts.map +1 -1
- package/dist/core/fields/text.js +12 -3
- package/dist/core/fields/textArea.d.ts +24 -1
- package/dist/core/fields/textArea.d.ts.map +1 -1
- package/dist/core/fields/textArea.js +9 -0
- package/dist/core/fields/video.d.ts +4 -1
- package/dist/core/fields/video.d.ts.map +1 -1
- package/dist/core/fields/video.js +14 -12
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/localization/index.d.ts +3 -0
- package/dist/core/localization/index.d.ts.map +1 -0
- package/dist/core/localization/index.js +1 -0
- package/dist/core/localization/resolve-locale.d.ts +29 -0
- package/dist/core/localization/resolve-locale.d.ts.map +1 -0
- package/dist/core/localization/resolve-locale.js +43 -0
- package/dist/core/sections/category.d.ts +56 -44
- package/dist/core/sections/category.d.ts.map +1 -1
- package/dist/core/sections/category.js +3 -3
- package/dist/core/sections/hasItems.d.ts +80 -44
- package/dist/core/sections/hasItems.d.ts.map +1 -1
- package/dist/core/sections/section.d.ts +55 -28
- package/dist/core/sections/section.d.ts.map +1 -1
- package/dist/core/sections/section.js +22 -0
- package/dist/core/sections/simple.d.ts +8 -8
- package/dist/core/sections/simple.d.ts.map +1 -1
- package/dist/core/submit/ItemEditSubmit.d.ts +24 -16
- package/dist/core/submit/ItemEditSubmit.d.ts.map +1 -1
- package/dist/core/submit/ItemEditSubmit.js +62 -38
- package/dist/core/submit/LocaleSubmit.d.ts +97 -0
- package/dist/core/submit/LocaleSubmit.d.ts.map +1 -0
- package/dist/core/submit/LocaleSubmit.js +435 -0
- package/dist/core/submit/NewItemSubmit.d.ts +0 -8
- package/dist/core/submit/NewItemSubmit.d.ts.map +1 -1
- package/dist/core/submit/NewItemSubmit.js +6 -12
- package/dist/core/submit/index.d.ts +1 -0
- package/dist/core/submit/index.d.ts.map +1 -1
- package/dist/core/submit/index.js +1 -0
- package/dist/core/submit/submit.d.ts +35 -12
- package/dist/core/submit/submit.d.ts.map +1 -1
- package/dist/core/submit/submit.js +88 -69
- package/dist/db/schema.d.ts +17 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +1 -0
- package/dist/logging/log.d.ts +1 -1
- package/dist/logging/log.d.ts.map +1 -1
- package/dist/plugins/index.d.ts +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/loader.d.ts +3 -3
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/translations/base/en.d.ts +24 -2
- package/dist/translations/base/en.d.ts.map +1 -1
- package/dist/translations/base/en.js +24 -2
- package/dist/translations/client.d.ts +292 -28
- package/dist/translations/client.d.ts.map +1 -1
- package/dist/translations/client.js +2 -2
- package/dist/translations/dict-store.d.ts +2 -2
- package/dist/translations/dict-store.d.ts.map +1 -1
- package/dist/translations/dict-store.js +9 -9
- package/dist/translations/index.d.ts +5 -5
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/index.js +6 -6
- package/dist/translations/language-cookie.d.ts +24 -0
- package/dist/translations/language-cookie.d.ts.map +1 -0
- package/dist/translations/language-cookie.js +44 -0
- package/dist/translations/language-utils.d.ts +42 -0
- package/dist/translations/language-utils.d.ts.map +1 -0
- package/dist/translations/language-utils.js +52 -0
- package/dist/translations/server.d.ts +293 -29
- package/dist/translations/server.d.ts.map +1 -1
- package/dist/translations/server.js +5 -5
- package/dist/validators/number.d.ts +1 -1
- package/dist/validators/number.d.ts.map +1 -1
- package/dist/validators/number.js +1 -1
- package/dist/validators/select-multiple.d.ts +2 -2
- package/dist/validators/select-multiple.d.ts.map +1 -1
- package/dist/validators/select-multiple.js +1 -1
- package/package.json +7 -3
- package/dist/translations/dictionaries/ar.d.ts +0 -433
- package/dist/translations/dictionaries/ar.d.ts.map +0 -1
- package/dist/translations/dictionaries/ar.js +0 -444
- package/dist/translations/dictionaries/en.d.ts +0 -433
- package/dist/translations/dictionaries/en.d.ts.map +0 -1
- package/dist/translations/dictionaries/en.js +0 -444
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/translations/client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AA0BvD,QAAA,MACI,OAAO
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/translations/client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AA0BvD,QAAA,MACI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACP,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACb,gBAAgB,cAEkC,CAAA;AAGtD,KAAK,uBAAuB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACpD,QAAQ,EAAE,SAAS,CAAA;CACtB,CAAA;AAID,wBAAgB,kBAAkB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,GACX,EAAE,uBAAuB,qBAWzB;AAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { createI18nClient } from 'next-international/client';
|
|
4
4
|
import { getAllDicts, getDict, setConfigDicts } from './dict-store.js';
|
|
5
|
-
function
|
|
5
|
+
function createDynamicLanguageImporters() {
|
|
6
6
|
return new Proxy({}, {
|
|
7
7
|
get: (_target, prop) => {
|
|
8
8
|
if (typeof prop !== 'string')
|
|
@@ -19,7 +19,7 @@ function createDynamicLocaleImporters() {
|
|
|
19
19
|
},
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
const { useI18n, useScopedI18n, useCurrentLocale, I18nProviderClient: BaseI18nProviderClient, } = createI18nClient(
|
|
22
|
+
const { useI18n, useScopedI18n, useCurrentLocale, I18nProviderClient: BaseI18nProviderClient, } = createI18nClient(createDynamicLanguageImporters());
|
|
23
23
|
let lastAppliedDicts;
|
|
24
24
|
export function I18nProviderClient({ locale, fallback, dictionaries, children, }) {
|
|
25
25
|
if (dictionaries && dictionaries !== lastAppliedDicts) {
|
|
@@ -6,10 +6,10 @@ type DictStore = Record<string, TranslationDictionary>;
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function setConfigDicts(dicts: Record<string, TranslationDictionary | undefined>): void;
|
|
8
8
|
/**
|
|
9
|
-
* Get the dictionary for a
|
|
9
|
+
* Get the dictionary for a language. Used by getString.
|
|
10
10
|
* Falls back to 'en' from store, then to built-in en.
|
|
11
11
|
*/
|
|
12
|
-
export declare function getDict(
|
|
12
|
+
export declare function getDict(language: string): TranslationDictionary;
|
|
13
13
|
export declare function getAllDicts(): DictStore;
|
|
14
14
|
export declare function getConfigOverrides(): DictStore;
|
|
15
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dict-store.d.ts","sourceRoot":"","sources":["../../src/translations/dict-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;AA0BtD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC,GAAG,IAAI,CAS7F;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"dict-store.d.ts","sourceRoot":"","sources":["../../src/translations/dict-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;AA0BtD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC,GAAG,IAAI,CAS7F;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAE/D;AAED,wBAAgB,WAAW,IAAI,SAAS,CAEvC;AAED,wBAAgB,kBAAkB,IAAI,SAAS,CAE9C"}
|
|
@@ -7,15 +7,15 @@ let store = { ...builtin };
|
|
|
7
7
|
function mergeDicts(base, extra) {
|
|
8
8
|
const merged = { ...base };
|
|
9
9
|
const englishBase = base['en'] ?? {};
|
|
10
|
-
for (const [
|
|
10
|
+
for (const [language, dict] of Object.entries(extra)) {
|
|
11
11
|
if (!dict)
|
|
12
12
|
continue;
|
|
13
|
-
if (
|
|
13
|
+
if (language === 'en') {
|
|
14
14
|
merged['en'] = { ...englishBase, ...dict };
|
|
15
15
|
continue;
|
|
16
16
|
}
|
|
17
|
-
// Non-English
|
|
18
|
-
merged[
|
|
17
|
+
// Non-English languages inherit from English by default, then override with language-specific strings.
|
|
18
|
+
merged[language] = { ...englishBase, ...(base[language] ?? {}), ...dict };
|
|
19
19
|
}
|
|
20
20
|
return merged;
|
|
21
21
|
}
|
|
@@ -25,20 +25,20 @@ function mergeDicts(base, extra) {
|
|
|
25
25
|
*/
|
|
26
26
|
export function setConfigDicts(dicts) {
|
|
27
27
|
const cleaned = {};
|
|
28
|
-
for (const [
|
|
28
|
+
for (const [language, dict] of Object.entries(dicts)) {
|
|
29
29
|
if (dict && typeof dict === 'object') {
|
|
30
|
-
cleaned[
|
|
30
|
+
cleaned[language] = dict;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
overrides = cleaned;
|
|
34
34
|
store = mergeDicts(builtin, overrides);
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
* Get the dictionary for a
|
|
37
|
+
* Get the dictionary for a language. Used by getString.
|
|
38
38
|
* Falls back to 'en' from store, then to built-in en.
|
|
39
39
|
*/
|
|
40
|
-
export function getDict(
|
|
41
|
-
return store[
|
|
40
|
+
export function getDict(language) {
|
|
41
|
+
return store[language] ?? store['en'] ?? builtin['en'];
|
|
42
42
|
}
|
|
43
43
|
export function getAllDicts() {
|
|
44
44
|
return store;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Get a string directly from a specific dictionary.
|
|
3
3
|
* Uses config-driven dicts when i18n.supportedLanguages is set;
|
|
4
4
|
* otherwise falls back to built-in en.
|
|
5
|
-
* Unknown
|
|
5
|
+
* Unknown languages fall back to English.
|
|
6
6
|
*
|
|
7
7
|
* @param key - The key of the string to get
|
|
8
8
|
* @param lang - The language of the dictionary to use
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
*/
|
|
12
12
|
declare function getString(key: string, lang?: string, params?: Record<string, string | number>): string;
|
|
13
13
|
export default getString;
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
14
|
+
export { RTL_LANGUAGES, resolveLanguage } from './language-utils.js';
|
|
15
|
+
export { LANGUAGE_COOKIE_NAME, setLoginPageLanguageCookie, markLanguageChangedOnLogin, wasLanguageChangedOnLogin, clearLanguageChangedOnLogin, } from './language-cookie.js';
|
|
16
16
|
export type { TranslationDictionary } from './types.js';
|
|
17
|
-
export {
|
|
18
|
-
export type {
|
|
17
|
+
export { resolveMultilingualString } from './language-utils.js';
|
|
18
|
+
export type { MultilingualString } from './language-utils.js';
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAoB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAe1G;AAED,eAAe,SAAS,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { getDict } from './dict-store.js';
|
|
2
|
-
const
|
|
2
|
+
const FALLBACK_LANGUAGE = 'en';
|
|
3
3
|
/**
|
|
4
4
|
* Get a string directly from a specific dictionary.
|
|
5
5
|
* Uses config-driven dicts when i18n.supportedLanguages is set;
|
|
6
6
|
* otherwise falls back to built-in en.
|
|
7
|
-
* Unknown
|
|
7
|
+
* Unknown languages fall back to English.
|
|
8
8
|
*
|
|
9
9
|
* @param key - The key of the string to get
|
|
10
10
|
* @param lang - The language of the dictionary to use
|
|
11
11
|
* @param params - Optional interpolation parameters (e.g., { size: 10, unit: 'MB' })
|
|
12
12
|
* @returns The string with interpolated values
|
|
13
13
|
*/
|
|
14
|
-
function getString(key, lang =
|
|
14
|
+
function getString(key, lang = FALLBACK_LANGUAGE, params) {
|
|
15
15
|
const dict = getDict(lang);
|
|
16
16
|
const text = dict[key];
|
|
17
17
|
if (!text) {
|
|
@@ -28,6 +28,6 @@ function getString(key, lang = FALLBACK_LOCALE, params) {
|
|
|
28
28
|
return result;
|
|
29
29
|
}
|
|
30
30
|
export default getString;
|
|
31
|
-
export {
|
|
32
|
-
export {
|
|
33
|
-
export {
|
|
31
|
+
export { RTL_LANGUAGES, resolveLanguage } from './language-utils.js';
|
|
32
|
+
export { LANGUAGE_COOKIE_NAME, setLoginPageLanguageCookie, markLanguageChangedOnLogin, wasLanguageChangedOnLogin, clearLanguageChangedOnLogin, } from './language-cookie.js';
|
|
33
|
+
export { resolveMultilingualString } from './language-utils.js';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cookie used to persist language on the login page (no session).
|
|
3
|
+
* Read by auth layout when unauthenticated; set by login-page language dropdown.
|
|
4
|
+
*/
|
|
5
|
+
export declare const LANGUAGE_COOKIE_NAME = "nextjs-cms-locale";
|
|
6
|
+
/**
|
|
7
|
+
* Set the login-page language cookie (client-only).
|
|
8
|
+
* Call when user changes language on the login page; auth layout reads it when no session.
|
|
9
|
+
*/
|
|
10
|
+
export declare function setLoginPageLanguageCookie(language: string): void;
|
|
11
|
+
/**
|
|
12
|
+
* Mark that user explicitly changed language on login page.
|
|
13
|
+
* Used to determine whether to send language to server on login.
|
|
14
|
+
*/
|
|
15
|
+
export declare function markLanguageChangedOnLogin(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Check if user explicitly changed language on login page.
|
|
18
|
+
*/
|
|
19
|
+
export declare function wasLanguageChangedOnLogin(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Clear the language changed flag after login.
|
|
22
|
+
*/
|
|
23
|
+
export declare function clearLanguageChangedOnLogin(): void;
|
|
24
|
+
//# sourceMappingURL=language-cookie.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-cookie.d.ts","sourceRoot":"","sources":["../../src/translations/language-cookie.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sBAAsB,CAAA;AASvD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAGnD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cookie used to persist language on the login page (no session).
|
|
3
|
+
* Read by auth layout when unauthenticated; set by login-page language dropdown.
|
|
4
|
+
*/
|
|
5
|
+
export const LANGUAGE_COOKIE_NAME = 'nextjs-cms-locale';
|
|
6
|
+
/**
|
|
7
|
+
* SessionStorage key to track if user explicitly changed language on login page.
|
|
8
|
+
*/
|
|
9
|
+
const LANGUAGE_CHANGED_KEY = 'nextjs-cms-locale-changed';
|
|
10
|
+
const MAX_AGE_YEAR = 60 * 60 * 24 * 365;
|
|
11
|
+
/**
|
|
12
|
+
* Set the login-page language cookie (client-only).
|
|
13
|
+
* Call when user changes language on the login page; auth layout reads it when no session.
|
|
14
|
+
*/
|
|
15
|
+
export function setLoginPageLanguageCookie(language) {
|
|
16
|
+
if (typeof document === 'undefined')
|
|
17
|
+
return;
|
|
18
|
+
document.cookie = `${LANGUAGE_COOKIE_NAME}=${encodeURIComponent(language)}; path=/; max-age=${MAX_AGE_YEAR}; SameSite=Lax`;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Mark that user explicitly changed language on login page.
|
|
22
|
+
* Used to determine whether to send language to server on login.
|
|
23
|
+
*/
|
|
24
|
+
export function markLanguageChangedOnLogin() {
|
|
25
|
+
if (typeof sessionStorage === 'undefined')
|
|
26
|
+
return;
|
|
27
|
+
sessionStorage.setItem(LANGUAGE_CHANGED_KEY, 'true');
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if user explicitly changed language on login page.
|
|
31
|
+
*/
|
|
32
|
+
export function wasLanguageChangedOnLogin() {
|
|
33
|
+
if (typeof sessionStorage === 'undefined')
|
|
34
|
+
return false;
|
|
35
|
+
return sessionStorage.getItem(LANGUAGE_CHANGED_KEY) === 'true';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Clear the language changed flag after login.
|
|
39
|
+
*/
|
|
40
|
+
export function clearLanguageChangedOnLogin() {
|
|
41
|
+
if (typeof sessionStorage === 'undefined')
|
|
42
|
+
return;
|
|
43
|
+
sessionStorage.removeItem(LANGUAGE_CHANGED_KEY);
|
|
44
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Language codes that use RTL layout. Used for `dir` and font selection. */
|
|
2
|
+
export declare const RTL_LANGUAGES: Set<string>;
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the effective language from the user's stored language, supported list, and fallback.
|
|
5
|
+
* Used in layouts to determine `html` lang and `I18nProviderClient` locale.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveLanguage(userLanguage: string | undefined, supported: readonly string[], fallback: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve a multilingual string to a specific language.
|
|
10
|
+
* If the string is a plain string, it's returned as-is.
|
|
11
|
+
* If it's an object, the value for the given language is returned.
|
|
12
|
+
* Falls back to the first available language or the fallback language if the requested language is not found.
|
|
13
|
+
*
|
|
14
|
+
* @param value - The multilingual string (string or object with language codes)
|
|
15
|
+
* @param language - The target language code (e.g., 'en', 'ar')
|
|
16
|
+
* @param fallbackLanguage - The fallback language code if the requested language is not found
|
|
17
|
+
* @returns The resolved string for the given language
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveMultilingualString(value: MultilingualString | undefined, language: string, fallbackLanguage?: string): string; /**
|
|
20
|
+
* Multilingual utilities for resolving multilingual strings.
|
|
21
|
+
* Supports multilingual strings where developers can provide
|
|
22
|
+
* translations directly in field labels and section titles.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* A multilingual string can be either:
|
|
26
|
+
* - A plain string (backward compatible)
|
|
27
|
+
* - An object with language codes as keys and translated strings as values
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* // Single language (backward compatible)
|
|
32
|
+
* label: 'Title'
|
|
33
|
+
*
|
|
34
|
+
* // Multiple languages
|
|
35
|
+
* label: {
|
|
36
|
+
* en: 'Title',
|
|
37
|
+
* ar: 'العنوان'
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export type MultilingualString = string | Record<string, string>;
|
|
42
|
+
//# sourceMappingURL=language-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-utils.d.ts","sourceRoot":"","sources":["../../src/translations/language-utils.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,eAAO,MAAM,aAAa,aAA0B,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,QAAQ,EAAE,MAAM,GACjB,MAAM,CAGR;AACD;;;;;;;;;;GAUG;AAEH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EACrC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,GAAE,MAAa,GAChC,MAAM,CA8BR,CAAC;;;;GAIC;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** Language codes that use RTL layout. Used for `dir` and font selection. */
|
|
2
|
+
export const RTL_LANGUAGES = new Set(['ar']);
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the effective language from the user's stored language, supported list, and fallback.
|
|
5
|
+
* Used in layouts to determine `html` lang and `I18nProviderClient` locale.
|
|
6
|
+
*/
|
|
7
|
+
export function resolveLanguage(userLanguage, supported, fallback) {
|
|
8
|
+
if (!userLanguage)
|
|
9
|
+
return fallback;
|
|
10
|
+
return supported.includes(userLanguage) ? userLanguage : fallback;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a multilingual string to a specific language.
|
|
14
|
+
* If the string is a plain string, it's returned as-is.
|
|
15
|
+
* If it's an object, the value for the given language is returned.
|
|
16
|
+
* Falls back to the first available language or the fallback language if the requested language is not found.
|
|
17
|
+
*
|
|
18
|
+
* @param value - The multilingual string (string or object with language codes)
|
|
19
|
+
* @param language - The target language code (e.g., 'en', 'ar')
|
|
20
|
+
* @param fallbackLanguage - The fallback language code if the requested language is not found
|
|
21
|
+
* @returns The resolved string for the given language
|
|
22
|
+
*/
|
|
23
|
+
export function resolveMultilingualString(value, language, fallbackLanguage = 'en') {
|
|
24
|
+
if (!value) {
|
|
25
|
+
return '';
|
|
26
|
+
}
|
|
27
|
+
// If it's a plain string, return as-is (backward compatible)
|
|
28
|
+
if (typeof value === 'string') {
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
// If it's an object, resolve based on language
|
|
32
|
+
if (typeof value === 'object') {
|
|
33
|
+
// Try the requested language first
|
|
34
|
+
if (value[language]) {
|
|
35
|
+
return value[language];
|
|
36
|
+
}
|
|
37
|
+
// Try the fallback language
|
|
38
|
+
if (value[fallbackLanguage]) {
|
|
39
|
+
return value[fallbackLanguage];
|
|
40
|
+
}
|
|
41
|
+
// Fall back to the first available language
|
|
42
|
+
const firstKey = Object.keys(value)[0];
|
|
43
|
+
if (firstKey && value[firstKey]) {
|
|
44
|
+
return value[firstKey];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return '';
|
|
48
|
+
} /**
|
|
49
|
+
* Multilingual utilities for resolving multilingual strings.
|
|
50
|
+
* Supports multilingual strings where developers can provide
|
|
51
|
+
* translations directly in field labels and section titles.
|
|
52
|
+
*/
|