@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
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.resolveDevelopmentRegion = resolveDevelopmentRegion;
37
+ exports.resolveExtensionLocalizations = resolveExtensionLocalizations;
38
+ exports.collectSheetStringsForLocale = collectSheetStringsForLocale;
39
+ exports.syncExtensionLocalizableStrings = syncExtensionLocalizableStrings;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const expo_plugin_1 = require("@use-voltra/expo-plugin");
43
+ const fileDiscovery_1 = require("../../utils/fileDiscovery");
44
+ const swift_utils_1 = require("./swift-utils");
45
+ function widgetLabels(widget) {
46
+ return [
47
+ widget.displayName,
48
+ widget.description,
49
+ ...(widget.appIntent?.parameters ?? []).flatMap((parameter) => [
50
+ parameter.title,
51
+ ...(parameter.options ?? []).map((option) => option.title),
52
+ ]),
53
+ ];
54
+ }
55
+ const LOCALE_TAG_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*([_-][a-zA-Z0-9]+)*$/;
56
+ /**
57
+ * The app's development language: `ios.infoPlist.CFBundleDevelopmentRegion` when it is a literal
58
+ * locale tag, otherwise `en` (Expo's default, and what `$(DEVELOPMENT_LANGUAGE)` is in practice).
59
+ */
60
+ function resolveDevelopmentRegion(config) {
61
+ const region = config?.ios?.infoPlist?.CFBundleDevelopmentRegion;
62
+ return typeof region === 'string' && LOCALE_TAG_PATTERN.test(region.trim()) ? region.trim() : 'en';
63
+ }
64
+ /**
65
+ * The languages the widget extension declares (ADR 0009 §4).
66
+ *
67
+ * iOS resolves `Locale.current` and SwiftUI's `\.locale` in the extension against the extension
68
+ * bundle's own localisations, so an extension that declares none reports `en_PL` to a Polish user
69
+ * of a Polish app. Mirroring the app's languages makes the extension resolve the way the app does.
70
+ *
71
+ * Sources: the Expo `locales` keys, `ios.infoPlist.CFBundleLocalizations`, and every locale used
72
+ * by a widget's locale maps. The app's development language (see `resolveDevelopmentRegion`) is
73
+ * added whenever anything is declared: it is the language iOS falls back to when none of the user's
74
+ * languages match, so its `.lproj` must exist and carry every string.
75
+ */
76
+ function resolveExtensionLocalizations(config, widgets) {
77
+ const candidates = [];
78
+ for (const locale of Object.keys(config?.locales ?? {})) {
79
+ candidates.push(locale);
80
+ }
81
+ const infoPlistLocalizations = config?.ios?.infoPlist?.CFBundleLocalizations;
82
+ if (Array.isArray(infoPlistLocalizations)) {
83
+ for (const locale of infoPlistLocalizations) {
84
+ if (typeof locale === 'string') {
85
+ candidates.push(locale);
86
+ }
87
+ }
88
+ }
89
+ candidates.push(...(0, expo_plugin_1.collectLabelLocaleKeys)((widgets ?? []).flatMap(widgetLabels)));
90
+ const byNormalized = new Map();
91
+ for (const candidate of candidates) {
92
+ const trimmed = candidate.trim();
93
+ if (!trimmed || trimmed === '__default' || !LOCALE_TAG_PATTERN.test(trimmed)) {
94
+ continue;
95
+ }
96
+ const normalized = (0, expo_plugin_1.normalizeLocaleTag)(trimmed);
97
+ if (!byNormalized.has(normalized)) {
98
+ byNormalized.set(normalized, trimmed);
99
+ }
100
+ }
101
+ const developmentRegion = resolveDevelopmentRegion(config);
102
+ const developmentLanguage = (0, expo_plugin_1.normalizeLocaleTag)(developmentRegion).split('-')[0];
103
+ if (byNormalized.size > 0 && ![...byNormalized.keys()].some((key) => key.split('-')[0] === developmentLanguage)) {
104
+ byNormalized.set((0, expo_plugin_1.normalizeLocaleTag)(developmentRegion), developmentRegion);
105
+ }
106
+ return [...byNormalized.values()].sort((a, b) => a.localeCompare(b));
107
+ }
108
+ /**
109
+ * The Edit Widget sheet strings for one locale: every locale-mapped title, resolved for `locale`,
110
+ * then the development language, then the usual fallback (English, `__default`, first), so every
111
+ * key resolves in every `.lproj` and none shows verbatim. Plain-string titles are compiled into the
112
+ * Swift source as literals and need no entry.
113
+ */
114
+ function collectSheetStringsForLocale(widgets, locale, developmentRegion = 'en') {
115
+ const entries = {};
116
+ for (const widget of widgets ?? []) {
117
+ for (const { key, label } of (0, expo_plugin_1.collectWidgetConfigurationStrings)(widget)) {
118
+ if (!(0, expo_plugin_1.isWidgetLocalizedMap)(label)) {
119
+ continue;
120
+ }
121
+ entries[key] = (0, expo_plugin_1.pickLocalizedValue)(label, [locale, developmentRegion]) ?? (0, expo_plugin_1.widgetLabelEnglish)(label);
122
+ }
123
+ }
124
+ return entries;
125
+ }
126
+ function formatLocalizableStrings(entries) {
127
+ const lines = Object.keys(entries)
128
+ .sort()
129
+ .map((key) => `"${(0, swift_utils_1.escapeForSwiftStringLiteral)(key)}" = "${(0, swift_utils_1.escapeForSwiftStringLiteral)(entries[key])}";`);
130
+ return `/* Voltra widget extension strings (auto-generated) */\n${lines.join('\n')}${lines.length > 0 ? '\n' : ''}`;
131
+ }
132
+ /**
133
+ * Writes `<locale>.lproj/Localizable.strings` for every declared language. The file carries the
134
+ * Edit Widget sheet strings (ADR 0009 §6) and, even when empty, makes the `.lproj` folder a real
135
+ * resource of the extension target so iOS sees the language as supported.
136
+ *
137
+ * The extension is generated and owned by Voltra, so every `Localizable.strings` in it is ours to
138
+ * rewrite; stale ones from a removed language are deleted.
139
+ */
140
+ function syncExtensionLocalizableStrings(targetPath, locales, widgets, developmentRegion = 'en') {
141
+ if (fs.existsSync(targetPath)) {
142
+ for (const entry of fs.readdirSync(targetPath)) {
143
+ if (!entry.endsWith('.lproj')) {
144
+ continue;
145
+ }
146
+ const dirPath = path.join(targetPath, entry);
147
+ const stringsPath = path.join(dirPath, fileDiscovery_1.VOLTRA_LOCALIZABLE_STRINGS_BASENAME);
148
+ if (fs.existsSync(stringsPath)) {
149
+ fs.unlinkSync(stringsPath);
150
+ }
151
+ try {
152
+ if (fs.readdirSync(dirPath).length === 0) {
153
+ fs.rmdirSync(dirPath);
154
+ }
155
+ }
156
+ catch {
157
+ /* ignore */
158
+ }
159
+ }
160
+ }
161
+ for (const locale of locales) {
162
+ const lproj = path.join(targetPath, `${locale}.lproj`);
163
+ fs.mkdirSync(lproj, { recursive: true });
164
+ fs.writeFileSync(path.join(lproj, fileDiscovery_1.VOLTRA_LOCALIZABLE_STRINGS_BASENAME), formatLocalizableStrings(collectSheetStringsForLocale(widgets, locale, developmentRegion)), 'utf8');
165
+ }
166
+ }
167
+ //# sourceMappingURL=localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/localization.ts"],"names":[],"mappings":"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"}
@@ -334,6 +334,56 @@ function generateWidgetStruct(widget) {
334
334
  }
335
335
  `;
336
336
  }
337
+ /**
338
+ * Generates a Dynamic Widget backed by AppIntentConfiguration (iOS 17+): a
339
+ * WidgetConfigurationIntent (params + code defaults), an AppIntentTimelineProvider that loads the
340
+ * bundle via the shared client runtime, and an AppIntentConfiguration widget. The configured
341
+ * params are passed into the render as env.configuration; the native "Edit Widget" sheet edits them.
342
+ */
343
+ /**
344
+ * A string literal for a title on the Edit Widget sheet (ADR 0009 §6). A plain string is compiled in
345
+ * as-is. A locale map becomes a bare string-literal key into the extension's default `Localizable`
346
+ * table, which `syncExtensionLocalizableStrings` fills for every declared language: the one form
347
+ * the App Intents metadata processor is documented to accept without question.
348
+ */
349
+ function sheetStringLiteral(label, key) {
350
+ return `"${(0, swift_utils_1.escapeForSwiftStringLiteral)((0, expo_plugin_1.isWidgetLocalizedMap)(label) ? key : label)}"`;
351
+ }
352
+ function parameterOptionEnumName(widgetId, parameterName) {
353
+ return `VoltraWidget_${widgetId}_${parameterName}_Option`;
354
+ }
355
+ /**
356
+ * Static `options` become an `AppEnum`, so the sheet shows a picker of localised labels instead of
357
+ * a free-text field. Cases are positional (`option0`…) because option values are free-form; the raw
358
+ * value is the option's `value`, which is what `env.configuration` receives.
359
+ */
360
+ function generateParameterOptionEnum(widgetId, parameter) {
361
+ const options = parameter.options ?? [];
362
+ const enumName = parameterOptionEnumName(widgetId, parameter.name);
363
+ const cases = options
364
+ .map((option, index) => ` case option${index} = "${(0, swift_utils_1.escapeForSwiftStringLiteral)(option.value)}"`)
365
+ .join('\n');
366
+ const representations = options
367
+ .map((option, index) => ` .option${index}: ${sheetStringLiteral(option.title, (0, expo_plugin_1.widgetParameterOptionKey)(widgetId, parameter.name, option.value))},`)
368
+ .join('\n');
369
+ const typeTitle = sheetStringLiteral(parameter.title, (0, expo_plugin_1.widgetParameterTitleKey)(widgetId, parameter.name));
370
+ return [
371
+ '@available(iOS 17.0, *)',
372
+ `enum ${enumName}: String, AppEnum {`,
373
+ cases,
374
+ '',
375
+ ` static var typeDisplayRepresentation: TypeDisplayRepresentation = ${typeTitle}`,
376
+ ` static var caseDisplayRepresentations: [${enumName}: DisplayRepresentation] = [`,
377
+ representations,
378
+ ' ]',
379
+ '}',
380
+ ].join('\n');
381
+ }
382
+ /** Index of the option `parameter.default` names, or the first option. */
383
+ function defaultOptionIndex(parameter) {
384
+ const index = (parameter.options ?? []).findIndex((option) => option.value === parameter.default);
385
+ return index >= 0 ? index : 0;
386
+ }
337
387
  /**
338
388
  * Generates a Dynamic Widget backed by AppIntentConfiguration (iOS 17+): a
339
389
  * WidgetConfigurationIntent (params + code defaults), an AppIntentTimelineProvider that loads the
@@ -349,14 +399,25 @@ function generateClientAppIntentWidgetCode(widget) {
349
399
  const intentTitle = (0, swift_utils_1.escapeForSwiftStringLiteral)(`Configure ${(0, expo_plugin_1.widgetLabelEnglish)(widget.displayName)}`);
350
400
  const displayNameExpr = iosWidgetGalleryLabelSwiftExpr(widget.id, 'displayName', widget.displayName);
351
401
  const descriptionExpr = iosWidgetGalleryLabelSwiftExpr(widget.id, 'description', widget.description);
352
- const swiftDefault = (p) => `"${(0, swift_utils_1.escapeForSwiftStringLiteral)(p.default ?? '')}"`;
402
+ const hasOptions = (p) => (p.options?.length ?? 0) > 0;
403
+ // The raw default, as env.configuration sees it before the user configures anything.
404
+ const swiftDefault = (p) => hasOptions(p)
405
+ ? `"${(0, swift_utils_1.escapeForSwiftStringLiteral)(p.options[defaultOptionIndex(p)].value)}"`
406
+ : `"${(0, swift_utils_1.escapeForSwiftStringLiteral)(p.default ?? '')}"`;
407
+ const swiftType = (p) => (hasOptions(p) ? parameterOptionEnumName(widget.id, p.name) : 'String');
408
+ const parameterDefault = (p) => hasOptions(p) ? `.option${defaultOptionIndex(p)}` : swiftDefault(p);
409
+ const configuredValue = (p) => hasOptions(p) ? `configuration.${p.name}.rawValue` : `configuration.${p.name}`;
353
410
  const dictLiteral = (entries) => (entries.length > 0 ? `[${entries.join(', ')}]` : '[:]');
411
+ const optionEnums = params
412
+ .filter(hasOptions)
413
+ .map((p) => generateParameterOptionEnum(widget.id, p))
414
+ .join('\n\n');
354
415
  const paramDecls = params
355
- .map((p) => ` @Parameter(title: "${(0, swift_utils_1.escapeForSwiftStringLiteral)(p.title)}", default: ${swiftDefault(p)})\n var ${p.name}: String`)
416
+ .map((p) => ` @Parameter(title: ${sheetStringLiteral(p.title, (0, expo_plugin_1.widgetParameterTitleKey)(widget.id, p.name))}, default: ${parameterDefault(p)})\n var ${p.name}: ${swiftType(p)}`)
356
417
  .join('\n\n');
357
- const initParams = params.map((p) => `${p.name}: String`).join(', ');
418
+ const initParams = params.map((p) => `${p.name}: ${swiftType(p)}`).join(', ');
358
419
  const initBody = params.map((p) => ` self.${p.name} = ${p.name}`).join('\n');
359
- const configuredDict = dictLiteral(params.map((p) => `"${p.name}": configuration.${p.name}`));
420
+ const configuredDict = dictLiteral(params.map((p) => `"${p.name}": ${configuredValue(p)}`));
360
421
  const defaultDict = dictLiteral(params.map((p) => `"${p.name}": ${swiftDefault(p)}`));
361
422
  // A server-driven Dynamic Widget fetches on every timeline request and schedules the next one
362
423
  // from its resolved interval; a plain one has nothing to ask again for, so its policy is .never.
@@ -372,7 +433,7 @@ function generateClientAppIntentWidgetCode(widget) {
372
433
  return Timeline(entries: [entry], policy: .never)`;
373
434
  return (0, dedent_1.default) `
374
435
  // MARK: - Client-rendered AppIntent widget: ${widget.id}
375
-
436
+ ${optionEnums ? `\n${optionEnums}\n` : ''}
376
437
  @available(iOS 17.0, *)
377
438
  struct ${intentName}: WidgetConfigurationIntent {
378
439
  static var title: LocalizedStringResource = "${intentTitle}"
@@ -463,7 +524,7 @@ function generateWidgetBundleSwift(widgets, liveActivities = []) {
463
524
 
464
525
  ${foundationImport}${appIntentsImport}import SwiftUI
465
526
  import WidgetKit
466
- import VoltraRuntime
527
+ import VoltraWidgetRuntime
467
528
 
468
529
  @main
469
530
  struct VoltraWidgetBundle: WidgetBundle {
@@ -496,7 +557,7 @@ function generateDefaultWidgetBundleSwift() {
496
557
 
497
558
  import SwiftUI
498
559
  import WidgetKit
499
- import VoltraRuntime // Import Voltra widgets
560
+ import VoltraWidgetRuntime // Import Voltra widgets
500
561
 
501
562
  @main
502
563
  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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"}
@@ -72,7 +72,10 @@ function ensurePbxGroup(xcodeProject, options) {
72
72
  for (const filePath of allFiles) {
73
73
  const file = new pbxFile(filePath);
74
74
  const fileRef = (0, fileReferences_1.ensureWidgetFileReference)(xcodeProject, filePath, targetName);
75
- const alreadyInGroup = existingGroup.children.some((child) => child.value === fileRef || child.comment === file.basename);
75
+ // Localized files share a basename across `.lproj` folders (`pl.lproj/Localizable.strings`,
76
+ // `de.lproj/Localizable.strings`), so for them only the file reference itself identifies the child.
77
+ const isLocalized = filePath.includes('.lproj/');
78
+ const alreadyInGroup = existingGroup.children.some((child) => (0, fileReferences_1.normalizeRef)(child.value) === fileRef || (!isLocalized && child.comment === file.basename));
76
79
  if (!alreadyInGroup) {
77
80
  existingGroup.children.push({ value: fileRef, comment: file.basename });
78
81
  }
@@ -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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"}
@@ -33,13 +33,15 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.VOLTRA_WIDGET_STRINGS_BASENAME = void 0;
36
+ exports.VOLTRA_LOCALIZABLE_STRINGS_BASENAME = exports.VOLTRA_WIDGET_STRINGS_BASENAME = void 0;
37
37
  exports.getIOSWidgetExtensionFiles = getIOSWidgetExtensionFiles;
38
38
  const fs = __importStar(require("fs"));
39
39
  const path = __importStar(require("path"));
40
40
  const expo_plugin_1 = require("@use-voltra/expo-plugin");
41
41
  /** Table name matches basename without extension; co-located per locale in *.lproj */
42
42
  exports.VOLTRA_WIDGET_STRINGS_BASENAME = 'VoltraWidgets.strings';
43
+ /** Default table: Edit Widget sheet strings, and the file that makes each `.lproj` a real resource. */
44
+ exports.VOLTRA_LOCALIZABLE_STRINGS_BASENAME = 'Localizable.strings';
43
45
  /**
44
46
  * Scans the widget extension target directory and returns categorized file lists.
45
47
  *
@@ -73,9 +75,10 @@ function getIOSWidgetExtensionFiles(targetPath, targetName) {
73
75
  if (!entry.endsWith('.lproj')) {
74
76
  continue;
75
77
  }
76
- const stringsPath = path.join(targetPath, entry, exports.VOLTRA_WIDGET_STRINGS_BASENAME);
77
- if (fs.existsSync(stringsPath)) {
78
- widgetFiles.localizedStringResources.push(`${entry}/${exports.VOLTRA_WIDGET_STRINGS_BASENAME}`);
78
+ for (const basename of [exports.VOLTRA_WIDGET_STRINGS_BASENAME, exports.VOLTRA_LOCALIZABLE_STRINGS_BASENAME]) {
79
+ if (fs.existsSync(path.join(targetPath, entry, basename))) {
80
+ widgetFiles.localizedStringResources.push(`${entry}/${basename}`);
81
+ }
79
82
  }
80
83
  }
81
84
  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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"}
@@ -39,6 +39,7 @@ function validateIOSWidgetConfig(widget, projectRoot) {
39
39
  (0, expo_plugin_1.validateWidgetEntry)(widget.entry, widget.id, projectRoot);
40
40
  }
41
41
  (0, expo_plugin_1.validateWidgetServerUpdate)(widget.serverUpdate, widget.id, (0, serverUpdate_1.iosServerUpdateRules)(widget));
42
+ (0, expo_plugin_1.validateWidgetConfigurationCopy)(widget, { requireParameterTitle: true });
42
43
  if (widget.supportedFamilies) {
43
44
  if (!Array.isArray(widget.supportedFamilies)) {
44
45
  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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"}
@@ -32,6 +32,10 @@ function buildPlaceholderEnv(voltraVersion) {
32
32
  widgetFamily: 'systemMedium',
33
33
  colorScheme: 'light',
34
34
  locale: 'en-US',
35
+ preferredLanguages: ['en-US'],
36
+ layoutDirection: 'ltr',
37
+ hourCycle: 'h12',
38
+ timeZone: 'UTC',
35
39
  widgetRenderingMode: 'fullColor',
36
40
  showsWidgetContainerBackground: true,
37
41
  configuration: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"clientRenderedPrerender.js","sourceRoot":"","sources":["../../../src/ios-widget/clientRenderedPrerender.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,MAAM,EACN,8BAA8B,GAE/B,MAAM,yBAAyB,CAAA;AAIhC;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAErC;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,aAAqB;IAChD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;QAChB,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,OAAO;QACpB,MAAM,EAAE,OAAO;QACf,mBAAmB,EAAE,WAAW;QAChC,8BAA8B,EAAE,IAAI;QACpC,aAAa,EAAE,SAAS;QACxB,KAAK,EAAE;YACL,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,SAAS;YACrB,aAAa;SACd;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAA4B,EAC5B,WAAmB;IAEnB,MAAM,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAA;IAElD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,CAAC,EAA6D,EAAE,CAAC,CAAC,CAAC,cAAc,CACnF,CAAA;IACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,kFAAkF;IAClF,kFAAkF;IAClF,yCAAyC;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAA;IACrC,MAAM,EAAE,yBAAyB,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAE/D,CAAA;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,8BAA8B,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAA;IACjH,MAAM,MAAM,GAAG,iCAAiC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAEpE,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAClE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,gBAAgB,6CAA6C,CACrG,CAAA;YACH,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,uCAAuC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/G,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,eAAe,aAAa,CAAC,MAAM,gCAAgC,CAAC,CAAA;IAChF,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"clientRenderedPrerender.js","sourceRoot":"","sources":["../../../src/ios-widget/clientRenderedPrerender.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,MAAM,EACN,8BAA8B,GAE/B,MAAM,yBAAyB,CAAA;AAIhC;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAErC;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,aAAqB;IAChD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;QAChB,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,OAAO;QACpB,MAAM,EAAE,OAAO;QACf,kBAAkB,EAAE,CAAC,OAAO,CAAC;QAC7B,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,mBAAmB,EAAE,WAAW;QAChC,8BAA8B,EAAE,IAAI;QACpC,aAAa,EAAE,SAAS;QACxB,KAAK,EAAE;YACL,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,SAAS;YACrB,aAAa;SACd;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAA4B,EAC5B,WAAmB;IAEnB,MAAM,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAA;IAElD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,CAAC,EAA6D,EAAE,CAAC,CAAC,CAAC,cAAc,CACnF,CAAA;IACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,kFAAkF;IAClF,kFAAkF;IAClF,yCAAyC;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAA;IACrC,MAAM,EAAE,yBAAyB,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAE/D,CAAA;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,8BAA8B,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAA;IACjH,MAAM,MAAM,GAAG,iCAAiC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAEpE,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAClE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,gBAAgB,6CAA6C,CACrG,CAAA;YACH,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,uCAAuC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/G,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,eAAe,aAAa,CAAC,MAAM,gCAAgC,CAAC,CAAA;IAChF,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -20,7 +20,15 @@ export function generateDynamicLiveActivityTypesSwift(liveActivities) {
20
20
  import ActivityKit
21
21
  import Foundation
22
22
 
23
+ // This file compiles in both the app target (pod Voltra, module
24
+ // VoltraRuntime) and the widget extension target (pod VoltraWidget,
25
+ // module VoltraWidgetRuntime). The two pods must keep distinct module
26
+ // names so their build products never collide.
27
+ #if canImport(VoltraWidgetRuntime)
28
+ import VoltraWidgetRuntime
29
+ #else
23
30
  import VoltraRuntime
31
+ #endif
24
32
 
25
33
  @objc(VoltraGeneratedDynamicLiveActivityRegistration)
26
34
  public final class VoltraGeneratedDynamicLiveActivityRegistration: NSObject {
@@ -84,7 +92,7 @@ export function generateDynamicLiveActivitiesSwift(liveActivities) {
84
92
  import ActivityKit
85
93
  import SwiftUI
86
94
  import WidgetKit
87
- import VoltraRuntime
95
+ import VoltraWidgetRuntime
88
96
 
89
97
  `;
90
98
  return [header.trim(), configurations.trim()].filter(Boolean).join('\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../../src/ios-widget/dynamic-live-activity/swift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../../src/ios-widget/dynamic-live-activity/swift.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import * as path from 'path';
4
4
  import { generateAssets } from './assets';
5
5
  import { generateEntitlements } from './entitlements';
6
6
  import { generateInfoPlist } from './infoPlist';
7
+ import { resolveDevelopmentRegion, resolveExtensionLocalizations, syncExtensionLocalizableStrings, } from './localization';
7
8
  import { generateIOSDynamicLiveActivitiesManifest, generateIOSDynamicWidgetsManifest } from './manifest';
8
9
  import { generateSwiftFiles } from './swift';
9
10
  /**
@@ -15,6 +16,7 @@ import { generateSwiftFiles } from './swift';
15
16
  * - VoltraWidgetBundle.swift (widget bundle definition)
16
17
  * - VoltraWidgetInitialStates.swift (pre-rendered widget states)
17
18
  * - {targetName}.entitlements (entitlements file)
19
+ * - <locale>.lproj/Localizable.strings (declared languages and Edit Widget sheet strings)
18
20
  *
19
21
  * This should run before configureXcodeProject so the files exist when Xcode project is configured.
20
22
  */
@@ -32,8 +34,10 @@ export const generateWidgetExtensionFiles = (config, props) => {
32
34
  if (!fs.existsSync(targetPath)) {
33
35
  fs.mkdirSync(targetPath, { recursive: true });
34
36
  }
37
+ // Languages the extension declares, mirrored from the app (ADR 0009 §4)
38
+ const localizations = resolveExtensionLocalizations(config, widgets);
35
39
  // Generate Info.plist
36
- generateInfoPlist(targetPath, targetName, version, buildNumber, voltraVersion);
40
+ generateInfoPlist(targetPath, targetName, version, buildNumber, voltraVersion, localizations);
37
41
  // Generate Assets.xcassets and copy user images
38
42
  generateAssets({ targetPath });
39
43
  // Generate Swift files (widget bundle, initial states)
@@ -43,6 +47,9 @@ export const generateWidgetExtensionFiles = (config, props) => {
43
47
  widgets,
44
48
  liveActivities,
45
49
  });
50
+ // <locale>.lproj/Localizable.strings: Edit Widget sheet strings, and one real resource per
51
+ // declared language. Runs after the gallery strings, which share the .lproj folders.
52
+ syncExtensionLocalizableStrings(targetPath, localizations, widgets, resolveDevelopmentRegion(config));
46
53
  // Write the iOS-owned Dynamic Widgets manifest for Metro to consume later.
47
54
  generateIOSDynamicWidgetsManifest({
48
55
  projectRoot,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAG5B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,wCAAwC,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAa5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAoD,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IAC7G,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAChH,KAAK,CAAA;IAEP,OAAO,gBAAgB,CAAC,MAAM,EAAE;QAC9B,KAAK;QACL,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAA;YACf,CAAC;YAED,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,UAAU,CAAA;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;YAE7D,iCAAiC;YACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/C,CAAC;YAED,sBAAsB;YACtB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;YAE9E,gDAAgD;YAChD,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;YAE9B,uDAAuD;YACvD,MAAM,kBAAkB,CAAC;gBACvB,UAAU;gBACV,WAAW;gBACX,OAAO;gBACP,cAAc;aACf,CAAC,CAAA;YAEF,2EAA2E;YAC3E,iCAAiC,CAAC;gBAChC,WAAW;gBACX,OAAO;aACR,CAAC,CAAA;YAEF,sFAAsF;YACtF,2EAA2E;YAC3E,wCAAwC,CAAC;gBACvC,WAAW;gBACX,cAAc;aACf,CAAC,CAAA;YAEF,mFAAmF;YACnF,oBAAoB,CAAC;gBACnB,UAAU;gBACV,UAAU;gBACV,eAAe;gBACf,aAAa;aACd,CAAC,CAAA;YAEF,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ios-widget/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAG5B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,wCAAwC,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AACxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAa5C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAoD,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IAC7G,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAChH,KAAK,CAAA;IAEP,OAAO,gBAAgB,CAAC,MAAM,EAAE;QAC9B,KAAK;QACL,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAA;YACf,CAAC;YAED,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,UAAU,CAAA;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;YAE7D,iCAAiC;YACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/C,CAAC;YAED,wEAAwE;YACxE,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAEpE,sBAAsB;YACtB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;YAE7F,gDAAgD;YAChD,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;YAE9B,uDAAuD;YACvD,MAAM,kBAAkB,CAAC;gBACvB,UAAU;gBACV,WAAW;gBACX,OAAO;gBACP,cAAc;aACf,CAAC,CAAA;YAEF,2FAA2F;YAC3F,qFAAqF;YACrF,+BAA+B,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAA;YAErG,2EAA2E;YAC3E,iCAAiC,CAAC;gBAChC,WAAW;gBACX,OAAO;aACR,CAAC,CAAA;YAEF,sFAAsF;YACtF,2EAA2E;YAC3E,wCAAwC,CAAC;gBACvC,WAAW;gBACX,cAAc;aACf,CAAC,CAAA;YAEF,mFAAmF;YACnF,oBAAoB,CAAC;gBACnB,UAAU;gBACV,UAAU;gBACV,eAAe;gBACf,aAAa;aACd,CAAC,CAAA;YAEF,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}