@ankhorage/orchestrator-module-expo-localization 0.5.2 → 0.6.1
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/CHANGELOG.md +13 -0
- package/dist/admin-view/DictionaryEditorCard.d.ts.map +1 -1
- package/dist/admin-view/DictionaryEditorCard.js +25 -17
- package/dist/admin-view/DictionaryEditorCard.js.map +1 -1
- package/dist/admin-view/ExpoLocalizationAdminView.d.ts.map +1 -1
- package/dist/admin-view/ExpoLocalizationAdminView.js +4 -1
- package/dist/admin-view/ExpoLocalizationAdminView.js.map +1 -1
- package/dist/admin-view/LocaleManagementCard.d.ts.map +1 -1
- package/dist/admin-view/LocaleManagementCard.js +6 -1
- package/dist/admin-view/LocaleManagementCard.js.map +1 -1
- package/dist/admin-view/TranslatableFieldRow.d.ts.map +1 -1
- package/dist/admin-view/TranslatableFieldRow.js +1 -4
- package/dist/admin-view/TranslatableFieldRow.js.map +1 -1
- package/dist/admin-view/TranslatableFieldsCard.d.ts.map +1 -1
- package/dist/admin-view/TranslatableFieldsCard.js +2 -4
- package/dist/admin-view/TranslatableFieldsCard.js.map +1 -1
- package/dist/admin-view/useLocalizationAdmin.d.ts.map +1 -1
- package/dist/admin-view/useLocalizationAdmin.js +32 -3
- package/dist/admin-view/useLocalizationAdmin.js.map +1 -1
- package/dist/authoring.d.ts.map +1 -1
- package/dist/authoring.js.map +1 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +77 -56
- package/dist/module.js.map +1 -1
- package/package.json +18 -14
- package/templates/LocalizationProvider.tsx.tpl +1 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @ankhorage/orchestrator-module-expo-localization
|
|
2
2
|
|
|
3
|
+
## 0.6.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 76ed243: Update Ankhorage dependencies: `@ankhorage/expo-runtime`, `@ankhorage/zora`.
|
|
8
|
+
- 76ed243: Update Ankhorage dependencies: `@ankhorage/expo-runtime`, `@ankhorage/zora`.
|
|
9
|
+
|
|
10
|
+
## 0.6.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- 48e480e: Derive the SDK 57 `expo-localization` requirement from the released `@ankhorage/expo-runtime/platform` contract, consume Expo Runtime 3 as the module's direct platform-contract dependency, generate native `supportedLocales` config from module locales, and remove the obsolete pre-`getLocales()` runtime fallback.
|
|
15
|
+
|
|
3
16
|
## 0.5.2
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DictionaryEditorCard.d.ts","sourceRoot":"","sources":["../../src/admin-view/DictionaryEditorCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEpE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,yBAAyB,+
|
|
1
|
+
{"version":3,"file":"DictionaryEditorCard.d.ts","sourceRoot":"","sources":["../../src/admin-view/DictionaryEditorCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEpE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,yBAAyB,+BA2CtF"}
|
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Card, Input, Select, Stack } from '@ankhorage/zora';
|
|
3
|
-
import {
|
|
3
|
+
import { useState } from 'react';
|
|
4
4
|
import { EXPO_LOCALIZATION_ADMIN_OPERATIONS } from '../admin/operations';
|
|
5
5
|
export function DictionaryEditorCard({ snapshot, busy, run }) {
|
|
6
6
|
const [locale, setLocale] = useState(snapshot.config.defaultLocale);
|
|
7
7
|
const [key, setKey] = useState('');
|
|
8
8
|
const [value, setValue] = useState('');
|
|
9
|
-
const localeOptions =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
const localeOptions = snapshot.config.locales.map((item) => ({ value: item, label: item }));
|
|
10
|
+
return (_jsx(Card, { title: "Dictionary entry", description: "Edit the canonical locale JSON resources directly.", children: _jsxs(Stack, { gap: 8, children: [_jsx(Select, { value: locale, options: localeOptions, onValueChange: (nextLocale) => {
|
|
11
|
+
setLocale(nextLocale);
|
|
12
|
+
setValue(readTranslation(snapshot, nextLocale, key));
|
|
13
|
+
}, disabled: busy }), _jsx(Input, { accessibilityLabel: "Translation key", value: key, autoCapitalize: "none", onChangeText: (nextKey) => {
|
|
14
|
+
setKey(nextKey);
|
|
15
|
+
setValue(readTranslation(snapshot, locale, nextKey));
|
|
16
|
+
} }), _jsx(Input, { accessibilityLabel: "Translation value", value: value, multiline: true, onChangeText: setValue }), _jsx(DictionaryEntryActions, { locale: locale, translationKey: key, value: value, busy: busy, run: run })] }) }));
|
|
17
|
+
}
|
|
18
|
+
function DictionaryEntryActions(props) {
|
|
19
|
+
const { locale, translationKey, value, busy, run } = props;
|
|
20
|
+
const normalizedKey = translationKey.trim();
|
|
21
|
+
return (_jsxs(Stack, { direction: "row", gap: 8, children: [_jsx(Button, { loading: busy, disabled: !normalizedKey, onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.setTranslation, {
|
|
22
|
+
locale,
|
|
23
|
+
key: normalizedKey,
|
|
24
|
+
value,
|
|
25
|
+
}), children: "Save translation" }), _jsx(Button, { variant: "outline", color: "danger", disabled: busy || !normalizedKey, onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.deleteTranslation, {
|
|
26
|
+
locale,
|
|
27
|
+
key: normalizedKey,
|
|
28
|
+
}), children: "Delete" })] }));
|
|
29
|
+
}
|
|
30
|
+
function readTranslation(snapshot, locale, key) {
|
|
31
|
+
const dictionary = Object.entries(snapshot.dictionaries).find(([name]) => name === locale)?.[1];
|
|
32
|
+
return Object.entries(dictionary ?? {}).find(([name]) => name === key)?.[1] ?? '';
|
|
25
33
|
}
|
|
26
34
|
//# sourceMappingURL=DictionaryEditorCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DictionaryEditorCard.js","sourceRoot":"","sources":["../../src/admin-view/DictionaryEditorCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DictionaryEditorCard.js","sourceRoot":"","sources":["../../src/admin-view/DictionaryEditorCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoLocalizationAdminView.d.ts","sourceRoot":"","sources":["../../src/admin-view/ExpoLocalizationAdminView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAG9D,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,+
|
|
1
|
+
{"version":3,"file":"ExpoLocalizationAdminView.d.ts","sourceRoot":"","sources":["../../src/admin-view/ExpoLocalizationAdminView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAG9D,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,+BAoC9E"}
|
|
@@ -13,6 +13,9 @@ export function ExpoLocalizationAdminView(props) {
|
|
|
13
13
|
if (!admin.snapshot) {
|
|
14
14
|
return (_jsx(Text, { color: "danger", children: admin.message ?? 'Localization administration is unavailable.' }));
|
|
15
15
|
}
|
|
16
|
-
return (_jsxs(Stack, { gap: 12, children: [admin.message ? _jsx(Text, { color: "danger", children: admin.message }) : null, _jsx(LocaleManagementCard, { snapshot: admin.snapshot, busy: admin.busy, run: admin.run }), _jsx(DictionaryEditorCard, { snapshot: admin.snapshot, busy: admin.busy, run: admin.run }
|
|
16
|
+
return (_jsxs(Stack, { gap: 12, children: [admin.message ? _jsx(Text, { color: "danger", children: admin.message }) : null, _jsx(LocaleManagementCard, { snapshot: admin.snapshot, busy: admin.busy, run: admin.run }), _jsx(DictionaryEditorCard, { snapshot: admin.snapshot, busy: admin.busy, run: admin.run }, JSON.stringify({
|
|
17
|
+
config: admin.snapshot.config,
|
|
18
|
+
dictionaries: admin.snapshot.dictionaries,
|
|
19
|
+
})), _jsx(TranslatableFieldsCard, { snapshot: admin.snapshot, options: admin.options, busy: admin.busy, reload: admin.reload, run: admin.run }, `${admin.options.searchQuery ?? ''}:${admin.options.filter ?? 'all'}`), _jsx(MissingTranslationsCard, { snapshot: admin.snapshot })] }));
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=ExpoLocalizationAdminView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoLocalizationAdminView.js","sourceRoot":"","sources":["../../src/admin-view/ExpoLocalizationAdminView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,UAAU,yBAAyB,CAAC,KAAqC;IAC7E,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,KAAC,IAAI,4DAA4C,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,CAAC,OAAO,IAAI,6CAA6C,GAAQ,CAC7F,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,KAAK,IAAC,GAAG,EAAE,EAAE,aACX,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,CAAC,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,EACnE,KAAC,oBAAoB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAI,EACpF,KAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"ExpoLocalizationAdminView.js","sourceRoot":"","sources":["../../src/admin-view/ExpoLocalizationAdminView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,UAAU,yBAAyB,CAAC,KAAqC;IAC7E,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,KAAC,IAAI,4DAA4C,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,CAAC,OAAO,IAAI,6CAA6C,GAAQ,CAC7F,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,KAAK,IAAC,GAAG,EAAE,EAAE,aACX,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,CAAC,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,EACnE,KAAC,oBAAoB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAI,EACpF,KAAC,oBAAoB,IAKnB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,GAAG,EAAE,KAAK,CAAC,GAAG,IANT,IAAI,CAAC,SAAS,CAAC;gBAClB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAC7B,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;aAC1C,CAAC,CAIF,EACF,KAAC,sBAAsB,IAErB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,IALT,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAM1E,EACF,KAAC,uBAAuB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,IAC/C,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleManagementCard.d.ts","sourceRoot":"","sources":["../../src/admin-view/LocaleManagementCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEpE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,yBAAyB,+
|
|
1
|
+
{"version":3,"file":"LocaleManagementCard.d.ts","sourceRoot":"","sources":["../../src/admin-view/LocaleManagementCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEpE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,yBAAyB,+BAuCtF"}
|
|
@@ -5,10 +5,15 @@ import { EXPO_LOCALIZATION_ADMIN_OPERATIONS } from '../admin/operations';
|
|
|
5
5
|
export function LocaleManagementCard({ snapshot, busy, run }) {
|
|
6
6
|
const [newLocale, setNewLocale] = useState('');
|
|
7
7
|
const { config } = snapshot;
|
|
8
|
-
return (_jsx(Card, { title: "Locales", description: "Configure supported locales and the default locale.", children: _jsxs(Stack, { gap: 8, children: [config.locales.map((locale) => (
|
|
8
|
+
return (_jsx(Card, { title: "Locales", description: "Configure supported locales and the default locale.", children: _jsxs(Stack, { gap: 8, children: [config.locales.map((locale) => (_jsx(LocaleRow, { locale: locale, defaultLocale: config.defaultLocale, canRemove: config.locales.length > 1, busy: busy, run: run }, locale))), _jsxs(Stack, { direction: "row", gap: 8, align: "center", children: [_jsx(Input, { accessibilityLabel: "New locale", value: newLocale, autoCapitalize: "none", onChangeText: setNewLocale }), _jsx(Button, { loading: busy, disabled: !newLocale.trim(), onPress: () => {
|
|
9
9
|
const locale = newLocale.trim();
|
|
10
10
|
setNewLocale('');
|
|
11
11
|
void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.addLocale, { locale });
|
|
12
12
|
}, children: "Add locale" })] })] }) }));
|
|
13
13
|
}
|
|
14
|
+
function LocaleRow(props) {
|
|
15
|
+
const { locale, defaultLocale, canRemove, busy, run } = props;
|
|
16
|
+
const isDefault = locale === defaultLocale;
|
|
17
|
+
return (_jsxs(Stack, { direction: "row", gap: 8, align: "center", justify: "space-between", children: [_jsx(Text, { children: isDefault ? `${locale} (default)` : locale }), _jsxs(Stack, { direction: "row", gap: 8, children: [!isDefault ? (_jsx(Button, { variant: "outline", disabled: busy, onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.setDefaultLocale, { locale }), children: "Make default" })) : null, _jsx(Button, { variant: "outline", color: "danger", disabled: busy || !canRemove, onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.removeLocale, { locale }), children: "Remove" })] })] }));
|
|
18
|
+
}
|
|
14
19
|
//# sourceMappingURL=LocaleManagementCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleManagementCard.js","sourceRoot":"","sources":["../../src/admin-view/LocaleManagementCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AASzE,MAAM,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAA6B;IACrF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,qDAAqD,YACrF,MAAC,KAAK,IAAC,GAAG,EAAE,CAAC,aACV,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9B,
|
|
1
|
+
{"version":3,"file":"LocaleManagementCard.js","sourceRoot":"","sources":["../../src/admin-view/LocaleManagementCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AASzE,MAAM,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAA6B;IACrF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,WAAW,EAAC,qDAAqD,YACrF,MAAC,KAAK,IAAC,GAAG,EAAE,CAAC,aACV,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9B,KAAC,SAAS,IAER,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,IALH,MAAM,CAMX,CACH,CAAC,EACF,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,aAC3C,KAAC,KAAK,IACJ,kBAAkB,EAAC,YAAY,EAC/B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAC,MAAM,EACrB,YAAY,EAAE,YAAY,GAC1B,EACF,KAAC,MAAM,IACL,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAC3B,OAAO,EAAE,GAAG,EAAE;gCACZ,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gCAChC,YAAY,CAAC,EAAE,CAAC,CAAC;gCACjB,KAAK,GAAG,CAAC,kCAAkC,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;4BACrE,CAAC,2BAGM,IACH,IACF,GACH,CACR,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAMlB;IACC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,KAAK,aAAa,CAAC;IAE3C,OAAO,CACL,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,eAAe,aACnE,KAAC,IAAI,cAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,MAAM,GAAQ,EACzD,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,aAC1B,CAAC,SAAS,CAAC,CAAC,CAAC,CACZ,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,GAAG,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,6BAIpE,CACV,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,kCAAkC,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,uBAG7E,IACH,IACF,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslatableFieldRow.d.ts","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldRow.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAGtE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,KAAK,EAAE,iCAAiC,CAAC;IAClD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,cAAc,EACd,IAAI,EACJ,GAAG,GACJ,EAAE,yBAAyB,+
|
|
1
|
+
{"version":3,"file":"TranslatableFieldRow.d.ts","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldRow.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAGtE,UAAU,yBAAyB;IACjC,QAAQ,CAAC,KAAK,EAAE,iCAAiC,CAAC;IAClD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,cAAc,EACd,IAAI,EACJ,GAAG,GACJ,EAAE,yBAAyB,+BAwC3B"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Input, Stack, Text } from '@ankhorage/zora';
|
|
3
|
-
import {
|
|
3
|
+
import { useState } from 'react';
|
|
4
4
|
import { EXPO_LOCALIZATION_ADMIN_OPERATIONS } from '../admin/operations';
|
|
5
5
|
import { createExpoLocalizationKeyFromText } from '../authoring';
|
|
6
6
|
export function TranslatableFieldRow({ field, missingLocales, busy, run, }) {
|
|
7
7
|
const [key, setKey] = useState(field.currentKey || createExpoLocalizationKeyFromText(field.defaultText));
|
|
8
|
-
useEffect(() => {
|
|
9
|
-
setKey(field.currentKey || createExpoLocalizationKeyFromText(field.defaultText));
|
|
10
|
-
}, [field.currentKey, field.defaultText]);
|
|
11
8
|
return (_jsxs(Stack, { gap: 6, children: [_jsx(Text, { weight: "semiBold", children: field.path }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: field.defaultText || 'No default text' }), missingLocales.length > 0 ? (_jsxs(Text, { color: "danger", variant: "caption", children: ["Missing: ", missingLocales.join(', ')] })) : null, _jsxs(Stack, { direction: "row", gap: 8, align: "center", children: [_jsx(Input, { accessibilityLabel: `Translation key for ${field.path}`, value: key, autoCapitalize: "none", onChangeText: setKey }), _jsx(Button, { variant: field.currentKey ? 'outline' : 'solid', disabled: busy || !key.trim(), onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.linkTranslationKey, {
|
|
12
9
|
screenId: field.screenId,
|
|
13
10
|
nodeId: field.nodeId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslatableFieldRow.js","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TranslatableFieldRow.js","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AASjE,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,cAAc,EACd,IAAI,EACJ,GAAG,GACuB;IAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAC5B,KAAK,CAAC,UAAU,IAAI,iCAAiC,CAAC,KAAK,CAAC,WAAW,CAAC,CACzE,CAAC;IAEF,OAAO,CACL,MAAC,KAAK,IAAC,GAAG,EAAE,CAAC,aACX,KAAC,IAAI,IAAC,MAAM,EAAC,UAAU,YAAE,KAAK,CAAC,IAAI,GAAQ,EAC3C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,YACrD,KAAK,CAAC,WAAW,IAAI,iBAAiB,GAClC,EACN,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3B,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,0BAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAC9B,CACR,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,aAC3C,KAAC,KAAK,IACJ,kBAAkB,EAAE,uBAAuB,KAAK,CAAC,IAAI,EAAE,EACvD,KAAK,EAAE,GAAG,EACV,cAAc,EAAC,MAAM,EACrB,YAAY,EAAE,MAAM,GACpB,EACF,KAAC,MAAM,IACL,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC/C,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAC7B,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,GAAG,CAAC,kCAAkC,CAAC,kBAAkB,EAAE;4BAC9D,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;yBAChB,CAAC,YAGH,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAC9B,IACH,IACF,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslatableFieldsCard.d.ts","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldsCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAYxB,UAAU,2BAA2B;IACnC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gCAAgC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,+
|
|
1
|
+
{"version":3,"file":"TranslatableFieldsCard.d.ts","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldsCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAYxB,UAAU,2BAA2B;IACnC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gCAAgC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,+BA8CxE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Card, Input, Select, Stack, Text } from '@ankhorage/zora';
|
|
3
|
-
import {
|
|
3
|
+
import { useState } from 'react';
|
|
4
4
|
import { TranslatableFieldRow } from './TranslatableFieldRow';
|
|
5
5
|
const FILTER_OPTIONS = [
|
|
6
6
|
{ value: 'all', label: 'All fields' },
|
|
@@ -11,9 +11,7 @@ const FILTER_OPTIONS = [
|
|
|
11
11
|
export function TranslatableFieldsCard(props) {
|
|
12
12
|
const [searchQuery, setSearchQuery] = useState(props.options.searchQuery ?? '');
|
|
13
13
|
const [filter, setFilter] = useState(props.options.filter ?? 'all');
|
|
14
|
-
useEffect(() => setSearchQuery(props.options.searchQuery ?? ''), [props.options.searchQuery]);
|
|
15
|
-
useEffect(() => setFilter(props.options.filter ?? 'all'), [props.options.filter]);
|
|
16
14
|
return (_jsx(Card, { title: "Translatable fields", description: "Discover and link fields from component metadata.", children: _jsxs(Stack, { gap: 10, children: [_jsxs(Stack, { direction: "row", gap: 8, align: "center", children: [_jsx(Input, { accessibilityLabel: "Search translatable fields", value: searchQuery, onChangeText: setSearchQuery }), _jsx(Select, { value: filter, options: FILTER_OPTIONS, onValueChange: setFilter }), _jsx(Button, { variant: "outline", disabled: props.busy, onPress: () => void props.reload({ searchQuery, filter }), children: "Apply" })] }), props.snapshot.visibleFields.length === 0 ? (_jsx(Text, { color: "neutral", emphasis: "muted", children: "No matching translatable fields." })) : (props.snapshot.visibleFields.map((field) => (_jsx(TranslatableFieldRow, { field: field, missingLocales: props.snapshot.missingTranslations.find((item) => item.key === field.currentKey)
|
|
17
|
-
?.missingLocales ?? [], busy: props.busy, run: props.run }, `${field.screenId}:${field.nodeId}:${field.keyProp}`))))] }) }));
|
|
15
|
+
?.missingLocales ?? [], busy: props.busy, run: props.run }, `${field.screenId}:${field.nodeId}:${field.keyProp}:${field.currentKey}:${field.defaultText}`))))] }) }));
|
|
18
16
|
}
|
|
19
17
|
//# sourceMappingURL=TranslatableFieldsCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslatableFieldsCard.js","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldsCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"TranslatableFieldsCard.js","sourceRoot":"","sources":["../../src/admin-view/TranslatableFieldsCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAqB,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,cAAc,GAAoC;IACtD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;IACrC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAChE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;CAC7C,CAAC;AAUF,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;IAE5E,OAAO,CACL,KAAC,IAAI,IACH,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAC,mDAAmD,YAE/D,MAAC,KAAK,IAAC,GAAG,EAAE,EAAE,aACZ,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,aAC3C,KAAC,KAAK,IACJ,kBAAkB,EAAC,4BAA4B,EAC/C,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,cAAc,GAC5B,EACF,KAAC,MAAM,IAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,GAAI,EAC5E,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,KAAK,CAAC,IAAI,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,sBAGlD,IACH,EACP,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC3C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,iDAE/B,CACR,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1C,KAAC,oBAAoB,IAEnB,KAAK,EAAE,KAAK,EACZ,cAAc,EACZ,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC;wBAC9E,EAAE,cAAc,IAAI,EAAE,EAE1B,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,GAAG,EAAE,KAAK,CAAC,GAAG,IAPT,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAQlG,CACH,CAAC,CACH,IACK,GACH,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocalizationAdmin.d.ts","sourceRoot":"","sources":["../../src/admin-view/useLocalizationAdmin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useLocalizationAdmin.d.ts","sourceRoot":"","sources":["../../src/admin-view/useLocalizationAdmin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAiC,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAE7F,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,8BAA8B;;;;;;2BAQzE,gCAAgC;qBAiBlC,MAAM,UAAU,OAAO;EAyB5C"}
|
|
@@ -37,11 +37,40 @@ export function useLocalizationAdmin({ execute, onProjectChange }) {
|
|
|
37
37
|
setBusy(false);
|
|
38
38
|
}
|
|
39
39
|
}, [execute, onProjectChange, reload]);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
useInitialLocalizationSnapshot({
|
|
41
|
+
execute,
|
|
42
|
+
setSnapshot,
|
|
43
|
+
setOptions,
|
|
44
|
+
setMessage,
|
|
45
|
+
setLoading,
|
|
46
|
+
});
|
|
43
47
|
return { snapshot, options, loading, busy, message, reload, run };
|
|
44
48
|
}
|
|
49
|
+
function useInitialLocalizationSnapshot(args) {
|
|
50
|
+
const { execute, setSnapshot, setOptions, setMessage, setLoading } = args;
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
let active = true;
|
|
53
|
+
void execute(EXPO_LOCALIZATION_ADMIN_OPERATIONS.load, {})
|
|
54
|
+
.then((result) => {
|
|
55
|
+
if (!active)
|
|
56
|
+
return;
|
|
57
|
+
setSnapshot(readExpoLocalizationAdminSnapshot(result));
|
|
58
|
+
setOptions({});
|
|
59
|
+
setMessage(null);
|
|
60
|
+
})
|
|
61
|
+
.catch((error) => {
|
|
62
|
+
if (active)
|
|
63
|
+
setMessage(toMessage(error));
|
|
64
|
+
})
|
|
65
|
+
.finally(() => {
|
|
66
|
+
if (active)
|
|
67
|
+
setLoading(false);
|
|
68
|
+
});
|
|
69
|
+
return () => {
|
|
70
|
+
active = false;
|
|
71
|
+
};
|
|
72
|
+
}, [execute, setLoading, setMessage, setOptions, setSnapshot]);
|
|
73
|
+
}
|
|
45
74
|
function toMessage(error) {
|
|
46
75
|
return error instanceof Error ? error.message : String(error);
|
|
47
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocalizationAdmin.js","sourceRoot":"","sources":["../../src/admin-view/useLocalizationAdmin.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useLocalizationAdmin.js","sourceRoot":"","sources":["../../src/admin-view/useLocalizationAdmin.ts"],"names":[],"mappings":"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"}
|
package/dist/authoring.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;CAC7C;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,kCAAkC,EAAE,CAAC;KACjE,CAAC;CACH;AAED,MAAM,MAAM,qCAAqC,GAAG,QAAQ,CAC1D,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,SAAS,CAAC,CAC1D,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;CAC7C;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,kCAAkC,EAAE,CAAC;KACjE,CAAC;CACH;AAED,MAAM,MAAM,qCAAqC,GAAG,QAAQ,CAC1D,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,SAAS,CAAC,CAC1D,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,2BAA2B,GACrC,KAAK,GAAG,UAAU,GAAG,sBAAsB,GAAG,YAAY,CAAC;AAE7D,wBAAgB,yCAAyC,CAAC,IAAI,EAAE;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,qCAAqC,CAAC;CAC/D,GAAG,iCAAiC,EAAE,CAQtC;AAED,wBAAgB,uCAAuC,CAAC,IAAI,EAAE;IAC5D,QAAQ,CAAC,MAAM,EAAE,SAAS,iCAAiC,EAAE,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;CACrD,GAAG,kCAAkC,EAAE,CAgBvC;AAED,wBAAgB,wCAAwC,CAAC,IAAI,EAAE;IAC7D,QAAQ,CAAC,MAAM,EAAE,SAAS,iCAAiC,EAAE,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;CACrD,GAAG,iCAAiC,EAAE,CAqBtC;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQtE"}
|
package/dist/authoring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"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"}
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEjG,OAAO,EACL,KAAK,4BAA4B,EAGlC,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,CAAC,4BAA4B,CAa9E,CAAC"}
|
package/dist/module.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { EXPO_PLATFORM } from '@ankhorage/expo-runtime/platform';
|
|
1
2
|
import { defineModule } from '@ankhorage/orchestrator';
|
|
2
|
-
import { parseExpoLocalizationModuleConfig } from './config';
|
|
3
|
+
import { parseExpoLocalizationModuleConfig, } from './config';
|
|
3
4
|
import { EXPO_LOCALIZATION_MODULE_ID } from './id';
|
|
4
5
|
import { readExpoLocalizationResourceSeeds } from './resources';
|
|
5
6
|
import { buildLocalizationWriteFiles } from './templateFiles';
|
|
@@ -12,65 +13,85 @@ export const expoLocalizationModule = defineModule({
|
|
|
12
13
|
locales: config.locales,
|
|
13
14
|
legacyTranslations: readLegacyTranslations(context.config),
|
|
14
15
|
});
|
|
15
|
-
return
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
16
|
+
return buildModuleActions(config, translations);
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
function buildLocalizationPluginBlock(locales) {
|
|
20
|
+
return [
|
|
21
|
+
' [',
|
|
22
|
+
' "expo-localization",',
|
|
23
|
+
' {',
|
|
24
|
+
` supportedLocales: ${JSON.stringify(locales)},`,
|
|
25
|
+
' },',
|
|
26
|
+
' ],',
|
|
27
|
+
].join('\n');
|
|
28
|
+
}
|
|
29
|
+
function buildModuleActions(config, translations) {
|
|
30
|
+
return [...buildGenerationActions(config, translations), ...buildIntegrationActions(config)];
|
|
31
|
+
}
|
|
32
|
+
function buildGenerationActions(config, translations) {
|
|
33
|
+
return [
|
|
34
|
+
{
|
|
35
|
+
type: 'ensure-packages',
|
|
36
|
+
add: [
|
|
37
|
+
{ name: 'i18next', version: '^25.8.10' },
|
|
38
|
+
{ name: 'react-i18next', version: '^16.5.4' },
|
|
39
|
+
EXPO_PLATFORM.packages.localization,
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: 'write-files',
|
|
44
|
+
files: buildLocalizationWriteFiles({
|
|
45
|
+
defaultLocale: config.defaultLocale,
|
|
46
|
+
locales: config.locales,
|
|
47
|
+
translations,
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
function buildIntegrationActions(config) {
|
|
53
|
+
return [
|
|
54
|
+
{
|
|
55
|
+
type: 'patch-text-block',
|
|
56
|
+
path: 'src/app/_layout.tsx',
|
|
57
|
+
blockId: `${EXPO_LOCALIZATION_MODULE_ID}:root-layout-import`,
|
|
58
|
+
content: 'import { LocalizationModuleProvider } from "@/modules/localization";',
|
|
59
|
+
anchor: {
|
|
60
|
+
find: "import ankhConfig from '@root/ankh.config.json';",
|
|
61
|
+
position: 'before',
|
|
41
62
|
},
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
type: 'patch-text-block',
|
|
66
|
+
path: 'src/app/_layout.tsx',
|
|
67
|
+
blockId: `${EXPO_LOCALIZATION_MODULE_ID}:root-layout-provider`,
|
|
68
|
+
content: ' output = <LocalizationModuleProvider>{output}</LocalizationModuleProvider>;',
|
|
69
|
+
anchor: {
|
|
70
|
+
find: ' return (',
|
|
71
|
+
position: 'before',
|
|
51
72
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'patch-text-block',
|
|
76
|
+
path: 'app.config.ts',
|
|
77
|
+
blockId: `${EXPO_LOCALIZATION_MODULE_ID}:expo-plugin`,
|
|
78
|
+
content: buildLocalizationPluginBlock(config.locales),
|
|
79
|
+
anchor: {
|
|
80
|
+
find: 'plugins: [',
|
|
81
|
+
position: 'after',
|
|
61
82
|
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'json-set',
|
|
86
|
+
path: 'ankh.config.json',
|
|
87
|
+
jsonPath: 'settings.localization',
|
|
88
|
+
value: {
|
|
89
|
+
defaultLocale: config.defaultLocale,
|
|
90
|
+
locales: config.locales,
|
|
70
91
|
},
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
}
|
|
74
95
|
function readLegacyTranslations(config) {
|
|
75
96
|
return isRecord(config) ? config.translations : undefined;
|
|
76
97
|
}
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4C,MAAM,yBAAyB,CAAC;AAEjG,OAAO,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"license": "MIT",
|
|
3
3
|
"name": "@ankhorage/orchestrator-module-expo-localization",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.6.1",
|
|
5
5
|
"description": "Expo localization module for @ankhorage/orchestrator.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -50,16 +50,21 @@
|
|
|
50
50
|
"lint:fix": "ankhorage-eslint . --fix --max-warnings=0",
|
|
51
51
|
"format": "ankhorage-prettier --write .",
|
|
52
52
|
"format:check": "ankhorage-prettier --check .",
|
|
53
|
-
"knip": "ankhorage-knip",
|
|
54
53
|
"test": "bun test",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
54
|
+
"typecheck": "bun x tsc --noEmit -p tsconfig.json && bun x tsc --noEmit -p tsconfig.scripts.json",
|
|
55
|
+
"validate:sdk57-consumer": "bun scripts/validateSdk57Consumer.ts",
|
|
56
|
+
"changeset:status": "ankhorage-changeset status --since=origin/main",
|
|
57
|
+
"changeset": "ankhorage-changeset",
|
|
58
|
+
"docs": "ankhorage-prettier --check README.md",
|
|
59
|
+
"version-packages": "ankhorage-changeset version",
|
|
60
|
+
"knip:check": "ankhorage-knip"
|
|
57
61
|
},
|
|
58
62
|
"dependencies": {
|
|
63
|
+
"@ankhorage/expo-runtime": "^3.2.4",
|
|
59
64
|
"@ankhorage/orchestrator": "^0.3.1"
|
|
60
65
|
},
|
|
61
66
|
"peerDependencies": {
|
|
62
|
-
"@ankhorage/zora": "^
|
|
67
|
+
"@ankhorage/zora": "^3.3.1",
|
|
63
68
|
"react": ">=18.2.0"
|
|
64
69
|
},
|
|
65
70
|
"peerDependenciesMeta": {
|
|
@@ -71,17 +76,16 @@
|
|
|
71
76
|
}
|
|
72
77
|
},
|
|
73
78
|
"devDependencies": {
|
|
74
|
-
"@ankhorage/devtools": "^1.
|
|
75
|
-
"@ankhorage/zora": "^
|
|
76
|
-
"@
|
|
77
|
-
"@types/
|
|
78
|
-
"@types/node": "^25.6.0",
|
|
79
|
+
"@ankhorage/devtools": "^1.9.2",
|
|
80
|
+
"@ankhorage/zora": "^3.3.1",
|
|
81
|
+
"@types/bun": "^1.4.0",
|
|
82
|
+
"@types/node": "^24.13.3",
|
|
79
83
|
"@types/react": "^19.2.14",
|
|
80
|
-
"react": "19.
|
|
81
|
-
"react-native": "0.
|
|
82
|
-
"typescript": "
|
|
84
|
+
"react": "19.2.3",
|
|
85
|
+
"react-native": "0.86.2",
|
|
86
|
+
"typescript": "~6.0.3"
|
|
83
87
|
},
|
|
84
|
-
"packageManager": "bun@1.
|
|
88
|
+
"packageManager": "bun@1.4.0",
|
|
85
89
|
"publishConfig": {
|
|
86
90
|
"access": "public"
|
|
87
91
|
}
|
|
@@ -20,11 +20,7 @@ export function LocalizationModuleProvider(props: {
|
|
|
20
20
|
}) {
|
|
21
21
|
const { children, config } = props;
|
|
22
22
|
|
|
23
|
-
const
|
|
24
|
-
const deviceLocale =
|
|
25
|
-
(locales.length > 0 ? locales[0]?.languageTag : null) ??
|
|
26
|
-
(ExpoLocalization as { locale?: string }).locale ??
|
|
27
|
-
__DEFAULT_LOCALE__;
|
|
23
|
+
const deviceLocale = ExpoLocalization.getLocales()[0].languageTag;
|
|
28
24
|
|
|
29
25
|
const initialLocale = config?.defaultLocale ?? deviceLocale;
|
|
30
26
|
const [currentLocale, setCurrentLocale] = useState<string>(initialLocale);
|