@ankhorage/orchestrator-module-expo-localization 0.5.2 → 0.6.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ankhorage/orchestrator-module-expo-localization
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 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.
8
+
3
9
  ## 0.5.2
4
10
 
5
11
  ### 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,+BAgEtF"}
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 { useEffect, useMemo, useState } from 'react';
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 = useMemo(() => snapshot.config.locales.map((item) => ({ value: item, label: item })), [snapshot.config.locales]);
10
- useEffect(() => {
11
- if (!snapshot.config.locales.includes(locale))
12
- setLocale(snapshot.config.defaultLocale);
13
- }, [locale, snapshot.config.defaultLocale, snapshot.config.locales]);
14
- useEffect(() => {
15
- setValue(snapshot.dictionaries[locale]?.[key] ?? '');
16
- }, [key, locale, snapshot.dictionaries]);
17
- 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: setLocale, disabled: busy }), _jsx(Input, { accessibilityLabel: "Translation key", value: key, autoCapitalize: "none", onChangeText: setKey }), _jsx(Input, { accessibilityLabel: "Translation value", value: value, multiline: true, onChangeText: setValue }), _jsxs(Stack, { direction: "row", gap: 8, children: [_jsx(Button, { loading: busy, disabled: !key.trim(), onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.setTranslation, {
18
- locale,
19
- key: key.trim(),
20
- value,
21
- }), children: "Save translation" }), _jsx(Button, { variant: "outline", color: "danger", disabled: busy || !key.trim(), onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.deleteTranslation, {
22
- locale,
23
- key: key.trim(),
24
- }), children: "Delete" })] })] }) }));
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":"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"}
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,+BA2B9E"}
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 }), _jsx(TranslatableFieldsCard, { snapshot: admin.snapshot, options: admin.options, busy: admin.busy, reload: admin.reload, run: admin.run }), _jsx(MissingTranslationsCard, { snapshot: admin.snapshot })] }));
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,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAI,EACpF,KAAC,sBAAsB,IACrB,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,GACd,EACF,KAAC,uBAAuB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,IAC/C,CACT,CAAC;AACJ,CAAC"}
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,+BAyDtF"}
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) => (_jsxs(Stack, { direction: "row", gap: 8, align: "center", justify: "space-between", children: [_jsx(Text, { children: locale === config.defaultLocale ? `${locale} (default)` : locale }), _jsxs(Stack, { direction: "row", gap: 8, children: [locale !== config.defaultLocale ? (_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 || config.locales.length === 1, onPress: () => void run(EXPO_LOCALIZATION_ADMIN_OPERATIONS.removeLocale, { locale }), children: "Remove" })] })] }, 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: () => {
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,MAAC,KAAK,IAAc,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,eAAe,aAChF,KAAC,IAAI,cAAE,MAAM,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,MAAM,GAAQ,EAC/E,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,aAC1B,MAAM,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CACjC,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,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAC7C,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,GAAG,CAAC,kCAAkC,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,uBAIhE,IACH,KAxBE,MAAM,CAyBV,CACT,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"}
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,+BA4C3B"}
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 { useEffect, useState } from 'react';
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,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,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,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,iCAAiC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAE1C,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
+ {"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,+BAiDxE"}
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 { useEffect, useState } from 'react';
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":"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"}
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,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAE9D,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,8BAA8B;;;;;;2BAQzE,gCAAgC;qBAiBlC,MAAM,UAAU,OAAO;EAqB5C"}
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
- useEffect(() => {
41
- void reload({});
42
- }, [execute]);
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,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAKzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAGnE,MAAM,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAkC;IAC/F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAuC,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAmC,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,cAAgD,OAAO,EAAE,EAAE;QAChE,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kCAAkC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACnF,WAAW,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,UAAU,CAAC,WAAW,CAAC,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAC;IAEF,MAAM,GAAG,GAAG,WAAW,CACrB,KAAK,EAAE,SAAiB,EAAE,KAAe,EAAE,EAAE;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,eAAe,EAAE,EAAE,CAAC;YAC1B,MAAM,MAAM,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CACnC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"useLocalizationAdmin.js","sourceRoot":"","sources":["../../src/admin-view/useLocalizationAdmin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAKzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAGnE,MAAM,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAkC;IAC/F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAuC,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAmC,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,cAAgD,OAAO,EAAE,EAAE;QAChE,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kCAAkC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACnF,WAAW,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,UAAU,CAAC,WAAW,CAAC,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAC;IAEF,MAAM,GAAG,GAAG,WAAW,CACrB,KAAK,EAAE,SAAiB,EAAE,KAAe,EAAE,EAAE;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,eAAe,EAAE,EAAE,CAAC;YAC1B,MAAM,MAAM,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CACnC,CAAC;IAEF,8BAA8B,CAAC;QAC7B,OAAO;QACP,WAAW;QACX,UAAU;QACV,UAAU;QACV,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,8BAA8B,CAAC,IAMvC;IACC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE1E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,KAAK,OAAO,CAAC,kCAAkC,CAAC,IAAI,EAAE,EAAE,CAAC;aACtD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,WAAW,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,MAAM;gBAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,MAAM;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEjG,OAAO,EAAE,KAAK,4BAA4B,EAAqC,MAAM,UAAU,CAAC;AAKhG,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,CAAC,4BAA4B,CAqE9E,CAAC"}
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
- type: 'ensure-packages',
18
- add: [
19
- { name: 'i18next', version: '^25.8.10' },
20
- { name: 'react-i18next', version: '^16.5.4' },
21
- { name: 'expo-localization', version: '~17.0.8' },
22
- ],
23
- },
24
- {
25
- type: 'write-files',
26
- files: buildLocalizationWriteFiles({
27
- defaultLocale: config.defaultLocale,
28
- locales: config.locales,
29
- translations,
30
- }),
31
- },
32
- {
33
- type: 'patch-text-block',
34
- path: 'src/app/_layout.tsx',
35
- blockId: `${EXPO_LOCALIZATION_MODULE_ID}:root-layout-import`,
36
- content: 'import { LocalizationModuleProvider } from "@/modules/localization";',
37
- anchor: {
38
- find: "import ankhConfig from '@root/ankh.config.json';",
39
- position: 'before',
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
- type: 'patch-text-block',
44
- path: 'src/app/_layout.tsx',
45
- blockId: `${EXPO_LOCALIZATION_MODULE_ID}:root-layout-provider`,
46
- content: ' output = <LocalizationModuleProvider>{output}</LocalizationModuleProvider>;',
47
- anchor: {
48
- find: ' return (',
49
- position: 'before',
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
- type: 'patch-text-block',
54
- path: 'app.config.ts',
55
- blockId: `${EXPO_LOCALIZATION_MODULE_ID}:expo-plugin`,
56
- content: ' "expo-localization",',
57
- anchor: {
58
- find: 'plugins: [',
59
- position: 'after',
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
- type: 'json-set',
64
- path: 'ankh.config.json',
65
- jsonPath: 'settings.localization',
66
- value: {
67
- defaultLocale: config.defaultLocale,
68
- locales: config.locales,
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
  }
@@ -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,EAAqC,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,CAAC,MAAM,sBAAsB,GACjC,YAAY,CAA+B;IACzC,EAAE,EAAE,2BAA2B;IAC/B,KAAK,CAAC,IAAI,CAAC,OAAO;QAChB,MAAM,MAAM,GAAG,iCAAiC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,iCAAiC,CAAC;YAC3D,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,kBAAkB,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3D,CAAC,CAAC;QAEH,OAAO;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE;oBACH,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE;oBACxC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC7C,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE;iBAClD;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,2BAA2B,CAAC;oBACjC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY;iBACb,CAAC;aACH;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,GAAG,2BAA2B,qBAAqB;gBAC5D,OAAO,EAAE,sEAAsE;gBAC/E,MAAM,EAAE;oBACN,IAAI,EAAE,kDAAkD;oBACxD,QAAQ,EAAE,QAAQ;iBACnB;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,GAAG,2BAA2B,uBAAuB;gBAC9D,OAAO,EAAE,+EAA+E;gBACxF,MAAM,EAAE;oBACN,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,QAAQ;iBACnB;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,GAAG,2BAA2B,cAAc;gBACrD,OAAO,EAAE,0BAA0B;gBACnC,MAAM,EAAE;oBACN,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,uBAAuB;gBACjC,KAAK,EAAE;oBACL,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEL,SAAS,sBAAsB,CAAC,MAAe;IAC7C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
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.5.2",
4
+ "version": "0.6.0",
5
5
  "description": "Expo localization module for @ankhorage/orchestrator.",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -52,14 +52,19 @@
52
52
  "format:check": "ankhorage-prettier --check .",
53
53
  "knip": "ankhorage-knip",
54
54
  "test": "bun test",
55
+ "typecheck": "bun x tsc --noEmit -p tsconfig.json && bun x tsc --noEmit -p tsconfig.scripts.json",
56
+ "validate:sdk57-consumer": "bun scripts/validateSdk57Consumer.ts",
57
+ "changeset:status": "changeset status --since=origin/main",
55
58
  "changeset": "changeset",
59
+ "docs": "ankhorage-prettier --check README.md",
56
60
  "version-packages": "changeset version"
57
61
  },
58
62
  "dependencies": {
63
+ "@ankhorage/expo-runtime": "^3.0.0",
59
64
  "@ankhorage/orchestrator": "^0.3.1"
60
65
  },
61
66
  "peerDependencies": {
62
- "@ankhorage/zora": "^2.9.3",
67
+ "@ankhorage/zora": "^3.0.0",
63
68
  "react": ">=18.2.0"
64
69
  },
65
70
  "peerDependenciesMeta": {
@@ -71,17 +76,17 @@
71
76
  }
72
77
  },
73
78
  "devDependencies": {
74
- "@ankhorage/devtools": "^1.0.6",
75
- "@ankhorage/zora": "^2.9.3",
79
+ "@ankhorage/devtools": "^1.6.0",
80
+ "@ankhorage/zora": "^3.0.0",
76
81
  "@changesets/cli": "^2.31.0",
77
- "@types/bun": "^1.3.13",
78
- "@types/node": "^25.6.0",
82
+ "@types/bun": "^1.3.14",
83
+ "@types/node": "^24.13.3",
79
84
  "@types/react": "^19.2.14",
80
- "react": "19.1.0",
81
- "react-native": "0.81.5",
82
- "typescript": "^5.9.3"
85
+ "react": "19.2.3",
86
+ "react-native": "0.86.2",
87
+ "typescript": "~6.0.3"
83
88
  },
84
- "packageManager": "bun@1.3.13",
89
+ "packageManager": "bun@1.3.14",
85
90
  "publishConfig": {
86
91
  "access": "public"
87
92
  }
@@ -20,11 +20,7 @@ export function LocalizationModuleProvider(props: {
20
20
  }) {
21
21
  const { children, config } = props;
22
22
 
23
- const locales = ExpoLocalization.getLocales();
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);