@use-voltra/ios-client 2.3.2 → 2.4.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.
Files changed (114) hide show
  1. package/build/commonjs/dynamic-widget/api.js +28 -1
  2. package/build/commonjs/dynamic-widget/api.js.map +1 -1
  3. package/build/commonjs/index.js +7 -0
  4. package/build/commonjs/index.js.map +1 -1
  5. package/build/commonjs/native/NativeVoltra.js.map +1 -1
  6. package/build/module/dynamic-widget/api.js +26 -0
  7. package/build/module/dynamic-widget/api.js.map +1 -1
  8. package/build/module/index.js +1 -1
  9. package/build/module/index.js.map +1 -1
  10. package/build/module/native/NativeVoltra.js.map +1 -1
  11. package/build/typescript/commonjs/dynamic-widget/api.d.ts +12 -0
  12. package/build/typescript/commonjs/dynamic-widget/api.d.ts.map +1 -1
  13. package/build/typescript/commonjs/index.d.ts +1 -1
  14. package/build/typescript/commonjs/index.d.ts.map +1 -1
  15. package/build/typescript/commonjs/native/NativeVoltra.d.ts +2 -0
  16. package/build/typescript/commonjs/native/NativeVoltra.d.ts.map +1 -1
  17. package/build/typescript/module/dynamic-widget/api.d.ts +12 -0
  18. package/build/typescript/module/dynamic-widget/api.d.ts.map +1 -1
  19. package/build/typescript/module/index.d.ts +1 -1
  20. package/build/typescript/module/index.d.ts.map +1 -1
  21. package/build/typescript/module/native/NativeVoltra.d.ts +2 -0
  22. package/build/typescript/module/native/NativeVoltra.d.ts.map +1 -1
  23. package/expo-plugin/build/cjs/ios-widget/clientRenderedPrerender.js +4 -0
  24. package/expo-plugin/build/cjs/ios-widget/clientRenderedPrerender.js.map +1 -1
  25. package/expo-plugin/build/cjs/ios-widget/dynamic-live-activity/swift.js +9 -1
  26. package/expo-plugin/build/cjs/ios-widget/dynamic-live-activity/swift.js.map +1 -1
  27. package/expo-plugin/build/cjs/ios-widget/files/index.js +8 -1
  28. package/expo-plugin/build/cjs/ios-widget/files/index.js.map +1 -1
  29. package/expo-plugin/build/cjs/ios-widget/files/infoPlist.js +16 -4
  30. package/expo-plugin/build/cjs/ios-widget/files/infoPlist.js.map +1 -1
  31. package/expo-plugin/build/cjs/ios-widget/files/localization.js +167 -0
  32. package/expo-plugin/build/cjs/ios-widget/files/localization.js.map +1 -0
  33. package/expo-plugin/build/cjs/ios-widget/files/swift.js +68 -7
  34. package/expo-plugin/build/cjs/ios-widget/files/swift.js.map +1 -1
  35. package/expo-plugin/build/cjs/ios-widget/xcode/groups.js +4 -1
  36. package/expo-plugin/build/cjs/ios-widget/xcode/groups.js.map +1 -1
  37. package/expo-plugin/build/cjs/utils/fileDiscovery.js +7 -4
  38. package/expo-plugin/build/cjs/utils/fileDiscovery.js.map +1 -1
  39. package/expo-plugin/build/cjs/validation.js +1 -0
  40. package/expo-plugin/build/cjs/validation.js.map +1 -1
  41. package/expo-plugin/build/esm/ios-widget/clientRenderedPrerender.js +4 -0
  42. package/expo-plugin/build/esm/ios-widget/clientRenderedPrerender.js.map +1 -1
  43. package/expo-plugin/build/esm/ios-widget/dynamic-live-activity/swift.js +9 -1
  44. package/expo-plugin/build/esm/ios-widget/dynamic-live-activity/swift.js.map +1 -1
  45. package/expo-plugin/build/esm/ios-widget/files/index.js +8 -1
  46. package/expo-plugin/build/esm/ios-widget/files/index.js.map +1 -1
  47. package/expo-plugin/build/esm/ios-widget/files/infoPlist.js +16 -4
  48. package/expo-plugin/build/esm/ios-widget/files/infoPlist.js.map +1 -1
  49. package/expo-plugin/build/esm/ios-widget/files/localization.js +128 -0
  50. package/expo-plugin/build/esm/ios-widget/files/localization.js.map +1 -0
  51. package/expo-plugin/build/esm/ios-widget/files/swift.js +69 -8
  52. package/expo-plugin/build/esm/ios-widget/files/swift.js.map +1 -1
  53. package/expo-plugin/build/esm/ios-widget/xcode/groups.js +5 -2
  54. package/expo-plugin/build/esm/ios-widget/xcode/groups.js.map +1 -1
  55. package/expo-plugin/build/esm/utils/fileDiscovery.js +6 -3
  56. package/expo-plugin/build/esm/utils/fileDiscovery.js.map +1 -1
  57. package/expo-plugin/build/esm/validation.js +2 -1
  58. package/expo-plugin/build/esm/validation.js.map +1 -1
  59. package/expo-plugin/build/types/ios-widget/clientRenderedPrerender.d.ts.map +1 -1
  60. package/expo-plugin/build/types/ios-widget/dynamic-live-activity/swift.d.ts.map +1 -1
  61. package/expo-plugin/build/types/ios-widget/files/index.d.ts +1 -0
  62. package/expo-plugin/build/types/ios-widget/files/index.d.ts.map +1 -1
  63. package/expo-plugin/build/types/ios-widget/files/infoPlist.d.ts +3 -1
  64. package/expo-plugin/build/types/ios-widget/files/infoPlist.d.ts.map +1 -1
  65. package/expo-plugin/build/types/ios-widget/files/localization.d.ts +46 -0
  66. package/expo-plugin/build/types/ios-widget/files/localization.d.ts.map +1 -0
  67. package/expo-plugin/build/types/ios-widget/files/swift.d.ts.map +1 -1
  68. package/expo-plugin/build/types/ios-widget/xcode/groups.d.ts.map +1 -1
  69. package/expo-plugin/build/types/types.d.ts +13 -4
  70. package/expo-plugin/build/types/types.d.ts.map +1 -1
  71. package/expo-plugin/build/types/utils/fileDiscovery.d.ts +2 -0
  72. package/expo-plugin/build/types/utils/fileDiscovery.d.ts.map +1 -1
  73. package/expo-plugin/build/types/validation.d.ts.map +1 -1
  74. package/expo-plugin/src/ios-widget/clientRenderedPrerender.ts +4 -0
  75. package/expo-plugin/src/ios-widget/dynamic-live-activity/swift.ts +9 -1
  76. package/expo-plugin/src/ios-widget/files/index.ts +14 -1
  77. package/expo-plugin/src/ios-widget/files/infoPlist.ts +23 -4
  78. package/expo-plugin/src/ios-widget/files/localization.ts +176 -0
  79. package/expo-plugin/src/ios-widget/files/swift.ts +88 -10
  80. package/expo-plugin/src/ios-widget/xcode/groups.ts +5 -2
  81. package/expo-plugin/src/types.ts +13 -3
  82. package/expo-plugin/src/utils/fileDiscovery.ts +7 -3
  83. package/expo-plugin/src/validation.ts +2 -0
  84. package/ios/Package.swift +8 -1
  85. package/ios/VoltraWidget.podspec +1 -1
  86. package/ios/app/NativeVoltra.mm +15 -2
  87. package/ios/app/VoltraModule.swift +11 -0
  88. package/ios/app/VoltraModuleImpl.swift +14 -0
  89. package/ios/app/VoltraViewComponentView.mm +2 -2
  90. package/ios/app/VoltraViewRoot.swift +6 -12
  91. package/ios/shared/ShortNames.swift +1 -0
  92. package/ios/shared/VoltraConstants.swift +4 -0
  93. package/ios/shared/VoltraElement.swift +43 -2
  94. package/ios/shared/VoltraLocaleEnvironment.swift +185 -0
  95. package/ios/shared/VoltraModifierDescriptor.swift +33 -0
  96. package/ios/shared/VoltraWidgetDefaults.swift +24 -0
  97. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRenderer.swift +50 -28
  98. package/ios/target/VoltraClientWidgetRuntime.swift +12 -1
  99. package/ios/target/VoltraHomeWidget.swift +10 -15
  100. package/ios/target/VoltraWidget.swift +26 -18
  101. package/ios/ui/Extensions/VoltraNode+View.swift +7 -0
  102. package/ios/ui/Helpers/VoltraDeepLinkResolver+URL.swift +37 -0
  103. package/ios/ui/Helpers/VoltraDeepLinkResolver.swift +1 -32
  104. package/ios/ui/Modifiers/BuiltInModifiers.swift +613 -0
  105. package/ios/ui/Modifiers/VoltraElement+nativeModifiers.swift +53 -0
  106. package/ios/ui/Modifiers/VoltraModifierRegistry.swift +181 -0
  107. package/ios/ui/Modifiers/VoltraRootDefaults.swift +100 -0
  108. package/ios/ui/Style/TextStyle.swift +4 -2
  109. package/ios/ui/Style/View+applyStyle.swift +1 -1
  110. package/ios/ui/Views/VoltraText.swift +4 -8
  111. package/package.json +4 -4
  112. package/src/dynamic-widget/api.ts +28 -0
  113. package/src/index.ts +6 -1
  114. package/src/native/NativeVoltra.ts +2 -0
@@ -1,13 +1,23 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import { logger } from '@use-voltra/expo-plugin';
4
+ function escapeXml(value) {
5
+ return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
6
+ }
4
7
  /**
5
8
  * Generates the Info.plist content for a WidgetKit extension.
6
9
  *
7
10
  * This includes version information and the required WidgetKit extension point.
8
11
  * Version keys are written directly to the plist following the Expo pattern.
9
12
  */
10
- function generateInfoPlistContent(targetName, version, buildNumber, voltraVersion) {
13
+ function generateInfoPlistContent(targetName, version, buildNumber, voltraVersion, localizations) {
14
+ // CFBundleLocalizations mirrors the app's languages into the extension (ADR 0009 §4), so
15
+ // Locale.current and SwiftUI's \.locale there resolve the way they do in the app.
16
+ const localizationsEntry = localizations.length > 0
17
+ ? `\t<key>CFBundleLocalizations</key>\n\t<array>\n${localizations
18
+ .map((locale) => `\t\t<string>${escapeXml(locale)}</string>\n`)
19
+ .join('')}\t</array>\n`
20
+ : '';
11
21
  return `<?xml version="1.0" encoding="UTF-8"?>
12
22
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
13
23
  <plist version="1.0">
@@ -20,7 +30,7 @@ function generateInfoPlistContent(targetName, version, buildNumber, voltraVersio
20
30
  <string>$(EXECUTABLE_NAME)</string>
21
31
  <key>CFBundleIdentifier</key>
22
32
  <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
23
- <key>CFBundleInfoDictionaryVersion</key>
33
+ ${localizationsEntry} <key>CFBundleInfoDictionaryVersion</key>
24
34
  <string>6.0</string>
25
35
  <key>CFBundleName</key>
26
36
  <string>$(PRODUCT_NAME)</string>
@@ -49,10 +59,12 @@ function generateInfoPlistContent(targetName, version, buildNumber, voltraVersio
49
59
  * @param version - The app version (CFBundleShortVersionString)
50
60
  * @param buildNumber - The build number (CFBundleVersion)
51
61
  * @param voltraVersion - The installed @use-voltra/ios-client package version
62
+ * @param localizations - Languages the extension declares (`CFBundleLocalizations`); see
63
+ * `resolveExtensionLocalizations`
52
64
  */
53
- export function generateInfoPlist(targetPath, targetName, version, buildNumber, voltraVersion) {
65
+ export function generateInfoPlist(targetPath, targetName, version, buildNumber, voltraVersion, localizations = []) {
54
66
  const infoPlistPath = path.join(targetPath, 'Info.plist');
55
- fs.writeFileSync(infoPlistPath, generateInfoPlistContent(targetName, version, buildNumber, voltraVersion));
67
+ fs.writeFileSync(infoPlistPath, generateInfoPlistContent(targetName, version, buildNumber, voltraVersion, localizations));
56
68
  logger.info('Generated Info.plist');
57
69
  }
58
70
  //# sourceMappingURL=infoPlist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infoPlist.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/infoPlist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD;;;;;GAKG;AACH,SAAS,wBAAwB,CAC/B,UAAkB,EAClB,OAAe,EACf,WAAmB,EACnB,aAAqB;IAErB,OAAO;;;;;;;WAOE,UAAU;;;;;;;;;;;;WAYV,OAAO;;WAEP,WAAW;;WAEX,aAAa;;;;;;;;CAQvB,CAAA;AACD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,UAAkB,EAClB,OAAe,EACf,WAAmB,EACnB,aAAqB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACzD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAA;IAC1G,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"infoPlist.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/infoPlist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACjF,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAC/B,UAAkB,EAClB,OAAe,EACf,WAAmB,EACnB,aAAqB,EACrB,aAAuB;IAEvB,yFAAyF;IACzF,kFAAkF;IAClF,MAAM,kBAAkB,GACtB,aAAa,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,kDAAkD,aAAa;aAC5D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;aAC9D,IAAI,CAAC,EAAE,CAAC,cAAc;QAC3B,CAAC,CAAC,EAAE,CAAA;IACR,OAAO;;;;;;;WAOE,UAAU;;;;;EAKnB,kBAAkB;;;;;;;WAOT,OAAO;;WAEP,WAAW;;WAEX,aAAa;;;;;;;;CAQvB,CAAA;AACD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,UAAkB,EAClB,OAAe,EACf,WAAmB,EACnB,aAAqB,EACrB,gBAA0B,EAAE;IAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACzD,EAAE,CAAC,aAAa,CACd,aAAa,EACb,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CACzF,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;AACrC,CAAC"}
@@ -0,0 +1,128 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { collectLabelLocaleKeys, collectWidgetConfigurationStrings, isWidgetLocalizedMap, normalizeLocaleTag, pickLocalizedValue, widgetLabelEnglish, } from '@use-voltra/expo-plugin';
4
+ import { VOLTRA_LOCALIZABLE_STRINGS_BASENAME } from '../../utils/fileDiscovery';
5
+ import { escapeForSwiftStringLiteral } from './swift-utils';
6
+ function widgetLabels(widget) {
7
+ return [
8
+ widget.displayName,
9
+ widget.description,
10
+ ...(widget.appIntent?.parameters ?? []).flatMap((parameter) => [
11
+ parameter.title,
12
+ ...(parameter.options ?? []).map((option) => option.title),
13
+ ]),
14
+ ];
15
+ }
16
+ const LOCALE_TAG_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*([_-][a-zA-Z0-9]+)*$/;
17
+ /**
18
+ * The app's development language: `ios.infoPlist.CFBundleDevelopmentRegion` when it is a literal
19
+ * locale tag, otherwise `en` (Expo's default, and what `$(DEVELOPMENT_LANGUAGE)` is in practice).
20
+ */
21
+ export function resolveDevelopmentRegion(config) {
22
+ const region = config?.ios?.infoPlist?.CFBundleDevelopmentRegion;
23
+ return typeof region === 'string' && LOCALE_TAG_PATTERN.test(region.trim()) ? region.trim() : 'en';
24
+ }
25
+ /**
26
+ * The languages the widget extension declares (ADR 0009 §4).
27
+ *
28
+ * iOS resolves `Locale.current` and SwiftUI's `\.locale` in the extension against the extension
29
+ * bundle's own localisations, so an extension that declares none reports `en_PL` to a Polish user
30
+ * of a Polish app. Mirroring the app's languages makes the extension resolve the way the app does.
31
+ *
32
+ * Sources: the Expo `locales` keys, `ios.infoPlist.CFBundleLocalizations`, and every locale used
33
+ * by a widget's locale maps. The app's development language (see `resolveDevelopmentRegion`) is
34
+ * added whenever anything is declared: it is the language iOS falls back to when none of the user's
35
+ * languages match, so its `.lproj` must exist and carry every string.
36
+ */
37
+ export function resolveExtensionLocalizations(config, widgets) {
38
+ const candidates = [];
39
+ for (const locale of Object.keys(config?.locales ?? {})) {
40
+ candidates.push(locale);
41
+ }
42
+ const infoPlistLocalizations = config?.ios?.infoPlist?.CFBundleLocalizations;
43
+ if (Array.isArray(infoPlistLocalizations)) {
44
+ for (const locale of infoPlistLocalizations) {
45
+ if (typeof locale === 'string') {
46
+ candidates.push(locale);
47
+ }
48
+ }
49
+ }
50
+ candidates.push(...collectLabelLocaleKeys((widgets ?? []).flatMap(widgetLabels)));
51
+ const byNormalized = new Map();
52
+ for (const candidate of candidates) {
53
+ const trimmed = candidate.trim();
54
+ if (!trimmed || trimmed === '__default' || !LOCALE_TAG_PATTERN.test(trimmed)) {
55
+ continue;
56
+ }
57
+ const normalized = normalizeLocaleTag(trimmed);
58
+ if (!byNormalized.has(normalized)) {
59
+ byNormalized.set(normalized, trimmed);
60
+ }
61
+ }
62
+ const developmentRegion = resolveDevelopmentRegion(config);
63
+ const developmentLanguage = normalizeLocaleTag(developmentRegion).split('-')[0];
64
+ if (byNormalized.size > 0 && ![...byNormalized.keys()].some((key) => key.split('-')[0] === developmentLanguage)) {
65
+ byNormalized.set(normalizeLocaleTag(developmentRegion), developmentRegion);
66
+ }
67
+ return [...byNormalized.values()].sort((a, b) => a.localeCompare(b));
68
+ }
69
+ /**
70
+ * The Edit Widget sheet strings for one locale: every locale-mapped title, resolved for `locale`,
71
+ * then the development language, then the usual fallback (English, `__default`, first), so every
72
+ * key resolves in every `.lproj` and none shows verbatim. Plain-string titles are compiled into the
73
+ * Swift source as literals and need no entry.
74
+ */
75
+ export function collectSheetStringsForLocale(widgets, locale, developmentRegion = 'en') {
76
+ const entries = {};
77
+ for (const widget of widgets ?? []) {
78
+ for (const { key, label } of collectWidgetConfigurationStrings(widget)) {
79
+ if (!isWidgetLocalizedMap(label)) {
80
+ continue;
81
+ }
82
+ entries[key] = pickLocalizedValue(label, [locale, developmentRegion]) ?? widgetLabelEnglish(label);
83
+ }
84
+ }
85
+ return entries;
86
+ }
87
+ function formatLocalizableStrings(entries) {
88
+ const lines = Object.keys(entries)
89
+ .sort()
90
+ .map((key) => `"${escapeForSwiftStringLiteral(key)}" = "${escapeForSwiftStringLiteral(entries[key])}";`);
91
+ return `/* Voltra widget extension strings (auto-generated) */\n${lines.join('\n')}${lines.length > 0 ? '\n' : ''}`;
92
+ }
93
+ /**
94
+ * Writes `<locale>.lproj/Localizable.strings` for every declared language. The file carries the
95
+ * Edit Widget sheet strings (ADR 0009 §6) and, even when empty, makes the `.lproj` folder a real
96
+ * resource of the extension target so iOS sees the language as supported.
97
+ *
98
+ * The extension is generated and owned by Voltra, so every `Localizable.strings` in it is ours to
99
+ * rewrite; stale ones from a removed language are deleted.
100
+ */
101
+ export function syncExtensionLocalizableStrings(targetPath, locales, widgets, developmentRegion = 'en') {
102
+ if (fs.existsSync(targetPath)) {
103
+ for (const entry of fs.readdirSync(targetPath)) {
104
+ if (!entry.endsWith('.lproj')) {
105
+ continue;
106
+ }
107
+ const dirPath = path.join(targetPath, entry);
108
+ const stringsPath = path.join(dirPath, VOLTRA_LOCALIZABLE_STRINGS_BASENAME);
109
+ if (fs.existsSync(stringsPath)) {
110
+ fs.unlinkSync(stringsPath);
111
+ }
112
+ try {
113
+ if (fs.readdirSync(dirPath).length === 0) {
114
+ fs.rmdirSync(dirPath);
115
+ }
116
+ }
117
+ catch {
118
+ /* ignore */
119
+ }
120
+ }
121
+ }
122
+ for (const locale of locales) {
123
+ const lproj = path.join(targetPath, `${locale}.lproj`);
124
+ fs.mkdirSync(lproj, { recursive: true });
125
+ fs.writeFileSync(path.join(lproj, VOLTRA_LOCALIZABLE_STRINGS_BASENAME), formatLocalizableStrings(collectSheetStringsForLocale(widgets, locale, developmentRegion)), 'utf8');
126
+ }
127
+ }
128
+ //# sourceMappingURL=localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/localization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAW3D,SAAS,YAAY,CAAC,MAAuB;IAC3C,OAAO;QACL,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,WAAW;QAClB,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7D,SAAS,CAAC,KAAK;YACf,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SAC3D,CAAC;KACH,CAAA;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,2CAA2C,CAAA;AAEtE;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAyC;IAChF,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,yBAAyB,CAAA;IAChE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACpG,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAyC,EACzC,OAAsC;IAEtC,MAAM,UAAU,GAAa,EAAE,CAAA;IAE/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,sBAAsB,GAAG,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAA;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,sBAAsB,EAAE,CAAC;YAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAEjF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7E,SAAQ;QACV,CAAC;QACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/E,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,EAAE,CAAC;QAChH,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAsC,EACtC,MAAc,EACd,iBAAiB,GAAG,IAAI;IAExB,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,iCAAiC,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACV,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACpG,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA+B;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAC/B,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,2BAA2B,CAAC,GAAG,CAAC,QAAQ,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CAAA;IAC3G,OAAO,2DAA2D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACrH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,UAAkB,EAClB,OAAiB,EACjB,OAAsC,EACtC,iBAAiB,GAAG,IAAI;IAExB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,SAAQ;YACV,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAA;YAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,CAAA;QACtD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,mCAAmC,CAAC,EACrD,wBAAwB,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAC1F,MAAM,CACP,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import dedent from 'dedent';
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
- import { isWidgetLocalizedMap, logger, prerenderWidgetState, widgetLabelEnglish, } from '@use-voltra/expo-plugin';
4
+ import { isWidgetLocalizedMap, logger, prerenderWidgetState, widgetLabelEnglish, widgetParameterOptionKey, widgetParameterTitleKey, } from '@use-voltra/expo-plugin';
5
5
  import { DEFAULT_WIDGET_FAMILIES, WIDGET_FAMILY_MAP, widgetKind } from '../../constants';
6
6
  import { VOLTRA_WIDGET_STRINGS_BASENAME } from '../../utils/fileDiscovery';
7
7
  import { detectClientRenderedWidgets } from '../clientRendered';
@@ -294,6 +294,56 @@ function generateWidgetStruct(widget) {
294
294
  }
295
295
  `;
296
296
  }
297
+ /**
298
+ * Generates a Dynamic Widget backed by AppIntentConfiguration (iOS 17+): a
299
+ * WidgetConfigurationIntent (params + code defaults), an AppIntentTimelineProvider that loads the
300
+ * bundle via the shared client runtime, and an AppIntentConfiguration widget. The configured
301
+ * params are passed into the render as env.configuration; the native "Edit Widget" sheet edits them.
302
+ */
303
+ /**
304
+ * A string literal for a title on the Edit Widget sheet (ADR 0009 §6). A plain string is compiled in
305
+ * as-is. A locale map becomes a bare string-literal key into the extension's default `Localizable`
306
+ * table, which `syncExtensionLocalizableStrings` fills for every declared language: the one form
307
+ * the App Intents metadata processor is documented to accept without question.
308
+ */
309
+ function sheetStringLiteral(label, key) {
310
+ return `"${escapeForSwiftStringLiteral(isWidgetLocalizedMap(label) ? key : label)}"`;
311
+ }
312
+ function parameterOptionEnumName(widgetId, parameterName) {
313
+ return `VoltraWidget_${widgetId}_${parameterName}_Option`;
314
+ }
315
+ /**
316
+ * Static `options` become an `AppEnum`, so the sheet shows a picker of localised labels instead of
317
+ * a free-text field. Cases are positional (`option0`…) because option values are free-form; the raw
318
+ * value is the option's `value`, which is what `env.configuration` receives.
319
+ */
320
+ function generateParameterOptionEnum(widgetId, parameter) {
321
+ const options = parameter.options ?? [];
322
+ const enumName = parameterOptionEnumName(widgetId, parameter.name);
323
+ const cases = options
324
+ .map((option, index) => ` case option${index} = "${escapeForSwiftStringLiteral(option.value)}"`)
325
+ .join('\n');
326
+ const representations = options
327
+ .map((option, index) => ` .option${index}: ${sheetStringLiteral(option.title, widgetParameterOptionKey(widgetId, parameter.name, option.value))},`)
328
+ .join('\n');
329
+ const typeTitle = sheetStringLiteral(parameter.title, widgetParameterTitleKey(widgetId, parameter.name));
330
+ return [
331
+ '@available(iOS 17.0, *)',
332
+ `enum ${enumName}: String, AppEnum {`,
333
+ cases,
334
+ '',
335
+ ` static var typeDisplayRepresentation: TypeDisplayRepresentation = ${typeTitle}`,
336
+ ` static var caseDisplayRepresentations: [${enumName}: DisplayRepresentation] = [`,
337
+ representations,
338
+ ' ]',
339
+ '}',
340
+ ].join('\n');
341
+ }
342
+ /** Index of the option `parameter.default` names, or the first option. */
343
+ function defaultOptionIndex(parameter) {
344
+ const index = (parameter.options ?? []).findIndex((option) => option.value === parameter.default);
345
+ return index >= 0 ? index : 0;
346
+ }
297
347
  /**
298
348
  * Generates a Dynamic Widget backed by AppIntentConfiguration (iOS 17+): a
299
349
  * WidgetConfigurationIntent (params + code defaults), an AppIntentTimelineProvider that loads the
@@ -309,14 +359,25 @@ function generateClientAppIntentWidgetCode(widget) {
309
359
  const intentTitle = escapeForSwiftStringLiteral(`Configure ${widgetLabelEnglish(widget.displayName)}`);
310
360
  const displayNameExpr = iosWidgetGalleryLabelSwiftExpr(widget.id, 'displayName', widget.displayName);
311
361
  const descriptionExpr = iosWidgetGalleryLabelSwiftExpr(widget.id, 'description', widget.description);
312
- const swiftDefault = (p) => `"${escapeForSwiftStringLiteral(p.default ?? '')}"`;
362
+ const hasOptions = (p) => (p.options?.length ?? 0) > 0;
363
+ // The raw default, as env.configuration sees it before the user configures anything.
364
+ const swiftDefault = (p) => hasOptions(p)
365
+ ? `"${escapeForSwiftStringLiteral(p.options[defaultOptionIndex(p)].value)}"`
366
+ : `"${escapeForSwiftStringLiteral(p.default ?? '')}"`;
367
+ const swiftType = (p) => (hasOptions(p) ? parameterOptionEnumName(widget.id, p.name) : 'String');
368
+ const parameterDefault = (p) => hasOptions(p) ? `.option${defaultOptionIndex(p)}` : swiftDefault(p);
369
+ const configuredValue = (p) => hasOptions(p) ? `configuration.${p.name}.rawValue` : `configuration.${p.name}`;
313
370
  const dictLiteral = (entries) => (entries.length > 0 ? `[${entries.join(', ')}]` : '[:]');
371
+ const optionEnums = params
372
+ .filter(hasOptions)
373
+ .map((p) => generateParameterOptionEnum(widget.id, p))
374
+ .join('\n\n');
314
375
  const paramDecls = params
315
- .map((p) => ` @Parameter(title: "${escapeForSwiftStringLiteral(p.title)}", default: ${swiftDefault(p)})\n var ${p.name}: String`)
376
+ .map((p) => ` @Parameter(title: ${sheetStringLiteral(p.title, widgetParameterTitleKey(widget.id, p.name))}, default: ${parameterDefault(p)})\n var ${p.name}: ${swiftType(p)}`)
316
377
  .join('\n\n');
317
- const initParams = params.map((p) => `${p.name}: String`).join(', ');
378
+ const initParams = params.map((p) => `${p.name}: ${swiftType(p)}`).join(', ');
318
379
  const initBody = params.map((p) => ` self.${p.name} = ${p.name}`).join('\n');
319
- const configuredDict = dictLiteral(params.map((p) => `"${p.name}": configuration.${p.name}`));
380
+ const configuredDict = dictLiteral(params.map((p) => `"${p.name}": ${configuredValue(p)}`));
320
381
  const defaultDict = dictLiteral(params.map((p) => `"${p.name}": ${swiftDefault(p)}`));
321
382
  // A server-driven Dynamic Widget fetches on every timeline request and schedules the next one
322
383
  // from its resolved interval; a plain one has nothing to ask again for, so its policy is .never.
@@ -332,7 +393,7 @@ function generateClientAppIntentWidgetCode(widget) {
332
393
  return Timeline(entries: [entry], policy: .never)`;
333
394
  return dedent `
334
395
  // MARK: - Client-rendered AppIntent widget: ${widget.id}
335
-
396
+ ${optionEnums ? `\n${optionEnums}\n` : ''}
336
397
  @available(iOS 17.0, *)
337
398
  struct ${intentName}: WidgetConfigurationIntent {
338
399
  static var title: LocalizedStringResource = "${intentTitle}"
@@ -423,7 +484,7 @@ function generateWidgetBundleSwift(widgets, liveActivities = []) {
423
484
 
424
485
  ${foundationImport}${appIntentsImport}import SwiftUI
425
486
  import WidgetKit
426
- import VoltraRuntime
487
+ import VoltraWidgetRuntime
427
488
 
428
489
  @main
429
490
  struct VoltraWidgetBundle: WidgetBundle {
@@ -456,7 +517,7 @@ function generateDefaultWidgetBundleSwift() {
456
517
 
457
518
  import SwiftUI
458
519
  import WidgetKit
459
- import VoltraRuntime // Import Voltra widgets
520
+ import VoltraWidgetRuntime // Import Voltra widgets
460
521
 
461
522
  @main
462
523
  struct VoltraWidgetBundle: WidgetBundle {
@@ -1 +1 @@
1
- {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/swift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/swift.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ensureWidgetFileReference } from './fileReferences';
1
+ import { ensureWidgetFileReference, normalizeRef } from './fileReferences';
2
2
  const pbxFile = require('xcode/lib/pbxFile');
3
3
  function collectGroupFiles(widgetFiles) {
4
4
  const { swiftFiles, intentFiles, assetDirectories, entitlementFiles, plistFiles, localizedStringResources } = widgetFiles;
@@ -69,7 +69,10 @@ export function ensurePbxGroup(xcodeProject, options) {
69
69
  for (const filePath of allFiles) {
70
70
  const file = new pbxFile(filePath);
71
71
  const fileRef = ensureWidgetFileReference(xcodeProject, filePath, targetName);
72
- const alreadyInGroup = existingGroup.children.some((child) => child.value === fileRef || child.comment === file.basename);
72
+ // Localized files share a basename across `.lproj` folders (`pl.lproj/Localizable.strings`,
73
+ // `de.lproj/Localizable.strings`), so for them only the file reference itself identifies the child.
74
+ const isLocalized = filePath.includes('.lproj/');
75
+ const alreadyInGroup = existingGroup.children.some((child) => normalizeRef(child.value) === fileRef || (!isLocalized && child.comment === file.basename));
73
76
  if (!alreadyInGroup) {
74
77
  existingGroup.children.push({ value: fileRef, comment: file.basename });
75
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/groups.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import * as path from 'path';
3
3
  import { logger } from '@use-voltra/expo-plugin';
4
4
  /** Table name matches basename without extension; co-located per locale in *.lproj */
5
5
  export const VOLTRA_WIDGET_STRINGS_BASENAME = 'VoltraWidgets.strings';
6
+ /** Default table: Edit Widget sheet strings, and the file that makes each `.lproj` a real resource. */
7
+ export const VOLTRA_LOCALIZABLE_STRINGS_BASENAME = 'Localizable.strings';
6
8
  /**
7
9
  * Scans the widget extension target directory and returns categorized file lists.
8
10
  *
@@ -36,9 +38,10 @@ export function getIOSWidgetExtensionFiles(targetPath, targetName) {
36
38
  if (!entry.endsWith('.lproj')) {
37
39
  continue;
38
40
  }
39
- const stringsPath = path.join(targetPath, entry, VOLTRA_WIDGET_STRINGS_BASENAME);
40
- if (fs.existsSync(stringsPath)) {
41
- widgetFiles.localizedStringResources.push(`${entry}/${VOLTRA_WIDGET_STRINGS_BASENAME}`);
41
+ for (const basename of [VOLTRA_WIDGET_STRINGS_BASENAME, VOLTRA_LOCALIZABLE_STRINGS_BASENAME]) {
42
+ if (fs.existsSync(path.join(targetPath, entry, basename))) {
43
+ widgetFiles.localizedStringResources.push(`${entry}/${basename}`);
44
+ }
42
45
  }
43
46
  }
44
47
  for (const file of files) {
@@ -1 +1 @@
1
- {"version":3,"file":"fileDiscovery.js","sourceRoot":"","sources":["../../../src/utils/fileDiscovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileDiscovery.js","sourceRoot":"","sources":["../../../src/utils/fileDiscovery.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { validateHomeScreenWidgetId, validateInitialStatePath, validateWidgetEntry, validateWidgetLabel, validateWidgetServerUpdate, } from '@use-voltra/expo-plugin';
1
+ import { validateHomeScreenWidgetId, validateInitialStatePath, validateWidgetConfigurationCopy, validateWidgetEntry, validateWidgetLabel, validateWidgetServerUpdate, } from '@use-voltra/expo-plugin';
2
2
  import { iosServerUpdateRules } from './ios/serverUpdate';
3
3
  import { getDynamicLiveActivityAttributesType } from '@use-voltra/expo-plugin';
4
4
  import { widgetKind } from './constants';
@@ -34,6 +34,7 @@ export function validateIOSWidgetConfig(widget, projectRoot) {
34
34
  validateWidgetEntry(widget.entry, widget.id, projectRoot);
35
35
  }
36
36
  validateWidgetServerUpdate(widget.serverUpdate, widget.id, iosServerUpdateRules(widget));
37
+ validateWidgetConfigurationCopy(widget, { requireParameterTitle: true });
37
38
  if (widget.supportedFamilies) {
38
39
  if (!Array.isArray(widget.supportedFamilies)) {
39
40
  throw new Error(`Widget '${widget.id}': supportedFamilies must be an array`);
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientRenderedPrerender.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/clientRenderedPrerender.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAiDzD;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,iBAAiB,EAAE,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CA2ClC"}
1
+ {"version":3,"file":"clientRenderedPrerender.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/clientRenderedPrerender.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAqDzD;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,iBAAiB,EAAE,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CA2ClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/dynamic-live-activity/swift.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAG/D,wBAAgB,0CAA0C,CAAC,cAAc,EAAE,4BAA4B,EAAE,GAAG,MAAM,CAIjH;AAED,yFAAyF;AACzF,wBAAgB,qCAAqC,CAAC,cAAc,EAAE,4BAA4B,EAAE,GAAG,MAAM,CAgC5G;AAED,+FAA+F;AAC/F,wBAAgB,kCAAkC,CAAC,cAAc,EAAE,4BAA4B,EAAE,GAAG,MAAM,CAsDzG"}
1
+ {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/dynamic-live-activity/swift.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAG/D,wBAAgB,0CAA0C,CAAC,cAAc,EAAE,4BAA4B,EAAE,GAAG,MAAM,CAIjH;AAED,yFAAyF;AACzF,wBAAgB,qCAAqC,CAAC,cAAc,EAAE,4BAA4B,EAAE,GAAG,MAAM,CAwC5G;AAED,+FAA+F;AAC/F,wBAAgB,kCAAkC,CAAC,cAAc,EAAE,4BAA4B,EAAE,GAAG,MAAM,CAsDzG"}
@@ -19,6 +19,7 @@ export interface GenerateWidgetExtensionFilesProps {
19
19
  * - VoltraWidgetBundle.swift (widget bundle definition)
20
20
  * - VoltraWidgetInitialStates.swift (pre-rendered widget states)
21
21
  * - {targetName}.entitlements (entitlements file)
22
+ * - <locale>.lproj/Localizable.strings (declared languages and Edit Widget sheet strings)
22
23
  *
23
24
  * This should run before configureXcodeProject so the files exist when Xcode project is configured.
24
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAA;AAIrE,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAOhF,MAAM,WAAW,iCAAiC;IAChD,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,EAAE,YAAY,CAAC,iCAAiC,CAyDxF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAA;AAIrE,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAYhF,MAAM,WAAW,iCAAiC;IAChD,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,4BAA4B,EAAE,YAAY,CAAC,iCAAiC,CAgExF,CAAA"}
@@ -6,6 +6,8 @@
6
6
  * @param version - The app version (CFBundleShortVersionString)
7
7
  * @param buildNumber - The build number (CFBundleVersion)
8
8
  * @param voltraVersion - The installed @use-voltra/ios-client package version
9
+ * @param localizations - Languages the extension declares (`CFBundleLocalizations`); see
10
+ * `resolveExtensionLocalizations`
9
11
  */
10
- export declare function generateInfoPlist(targetPath: string, targetName: string, version: string, buildNumber: string, voltraVersion: string): void;
12
+ export declare function generateInfoPlist(targetPath: string, targetName: string, version: string, buildNumber: string, voltraVersion: string, localizations?: string[]): void;
11
13
  //# sourceMappingURL=infoPlist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"infoPlist.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/infoPlist.ts"],"names":[],"mappings":"AAmDA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,IAAI,CAIN"}
1
+ {"version":3,"file":"infoPlist.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/infoPlist.ts"],"names":[],"mappings":"AAgEA;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,GAAE,MAAM,EAAO,GAC3B,IAAI,CAON"}
@@ -0,0 +1,46 @@
1
+ import type { IOSWidgetConfig } from '../../types';
2
+ /**
3
+ * The parts of the Expo config that say which languages the app supports: the `locales` map
4
+ * (`{ "pl": "./languages/pl.json" }`) and an explicit `ios.infoPlist.CFBundleLocalizations`.
5
+ */
6
+ export interface AppLocalizationSource {
7
+ locales?: Record<string, unknown> | null;
8
+ ios?: {
9
+ infoPlist?: Record<string, unknown> | null;
10
+ } | null;
11
+ }
12
+ /**
13
+ * The app's development language: `ios.infoPlist.CFBundleDevelopmentRegion` when it is a literal
14
+ * locale tag, otherwise `en` (Expo's default, and what `$(DEVELOPMENT_LANGUAGE)` is in practice).
15
+ */
16
+ export declare function resolveDevelopmentRegion(config: AppLocalizationSource | undefined): string;
17
+ /**
18
+ * The languages the widget extension declares (ADR 0009 §4).
19
+ *
20
+ * iOS resolves `Locale.current` and SwiftUI's `\.locale` in the extension against the extension
21
+ * bundle's own localisations, so an extension that declares none reports `en_PL` to a Polish user
22
+ * of a Polish app. Mirroring the app's languages makes the extension resolve the way the app does.
23
+ *
24
+ * Sources: the Expo `locales` keys, `ios.infoPlist.CFBundleLocalizations`, and every locale used
25
+ * by a widget's locale maps. The app's development language (see `resolveDevelopmentRegion`) is
26
+ * added whenever anything is declared: it is the language iOS falls back to when none of the user's
27
+ * languages match, so its `.lproj` must exist and carry every string.
28
+ */
29
+ export declare function resolveExtensionLocalizations(config: AppLocalizationSource | undefined, widgets: IOSWidgetConfig[] | undefined): string[];
30
+ /**
31
+ * The Edit Widget sheet strings for one locale: every locale-mapped title, resolved for `locale`,
32
+ * then the development language, then the usual fallback (English, `__default`, first), so every
33
+ * key resolves in every `.lproj` and none shows verbatim. Plain-string titles are compiled into the
34
+ * Swift source as literals and need no entry.
35
+ */
36
+ export declare function collectSheetStringsForLocale(widgets: IOSWidgetConfig[] | undefined, locale: string, developmentRegion?: string): Record<string, string>;
37
+ /**
38
+ * Writes `<locale>.lproj/Localizable.strings` for every declared language. The file carries the
39
+ * Edit Widget sheet strings (ADR 0009 §6) and, even when empty, makes the `.lproj` folder a real
40
+ * resource of the extension target so iOS sees the language as supported.
41
+ *
42
+ * The extension is generated and owned by Voltra, so every `Localizable.strings` in it is ours to
43
+ * rewrite; stale ones from a removed language are deleted.
44
+ */
45
+ export declare function syncExtensionLocalizableStrings(targetPath: string, locales: string[], widgets: IOSWidgetConfig[] | undefined, developmentRegion?: string): void;
46
+ //# sourceMappingURL=localization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/localization.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAC5D;AAeD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAG1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,qBAAqB,GAAG,SAAS,EACzC,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS,GACrC,MAAM,EAAE,CAqCV;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS,EACtC,MAAM,EAAE,MAAM,EACd,iBAAiB,SAAO,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB;AASD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS,EACtC,iBAAiB,SAAO,GACvB,IAAI,CA8BN"}
@@ -1 +1 @@
1
- {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/swift.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhF,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEvF,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EAEtC,MAAM,gCAAgC,CAAA;AAIvC,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAA;CAChD;AAQD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D1F;AAuXD;;GAEG;AACH,iBAAS,yBAAyB,CAChC,OAAO,EAAE,iBAAiB,EAAE,EAC5B,cAAc,GAAE,4BAA4B,EAAO,GAClD,MAAM,CAoDR;AAiCD;;GAEG;AACH,iBAAS,0BAA0B,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,MAAM,CA8CtF;AAiDD,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAA"}
1
+ {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/swift.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAsB,4BAA4B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEpG,OAAO,EAA+B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEvF,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EAEtC,MAAM,gCAAgC,CAAA;AAIvC,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAA;CAChD;AAQD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D1F;AAmcD;;GAEG;AACH,iBAAS,yBAAyB,CAChC,OAAO,EAAE,iBAAiB,EAAE,EAC5B,cAAc,GAAE,4BAA4B,EAAO,GAClD,MAAM,CAoDR;AAiCD;;GAEG;AACH,iBAAS,0BAA0B,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,MAAM,CA8CtF;AAiDD,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAK1D,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,uBAAuB,CAAA;CACrC;AA6DD;;GAEG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAwB5F"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAK1D,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,uBAAuB,CAAA;CACrC;AA6DD;;GAEG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CA2B5F"}