@use-voltra/ios-client 2.2.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Voltra.podspec +1 -0
- package/build/commonjs/events.js +23 -0
- package/build/commonjs/events.js.map +1 -1
- package/build/commonjs/index.js +59 -0
- package/build/commonjs/index.js.map +1 -1
- package/build/commonjs/live-activity/api.js +3 -1
- package/build/commonjs/live-activity/api.js.map +1 -1
- package/build/commonjs/live-activity/dynamic-api.js +173 -0
- package/build/commonjs/live-activity/dynamic-api.js.map +1 -0
- package/build/commonjs/native/NativeVoltra.js.map +1 -1
- package/build/commonjs/utils/enableDynamicLiveActivityHotReload.js +47 -0
- package/build/commonjs/utils/enableDynamicLiveActivityHotReload.js.map +1 -0
- package/build/commonjs/utils/enableWidgetHotReload.js +8 -11
- package/build/commonjs/utils/enableWidgetHotReload.js.map +1 -1
- package/build/commonjs/utils/useUpdateOnHMR.js +3 -7
- package/build/commonjs/utils/useUpdateOnHMR.js.map +1 -1
- package/build/commonjs/widgets/server-credentials.js +9 -0
- package/build/commonjs/widgets/server-credentials.js.map +1 -1
- package/build/commonjs/widgets/server-update.js +78 -0
- package/build/commonjs/widgets/server-update.js.map +1 -0
- package/build/module/events.js +23 -0
- package/build/module/events.js.map +1 -1
- package/build/module/index.js +3 -0
- package/build/module/index.js.map +1 -1
- package/build/module/live-activity/api.js +2 -2
- package/build/module/live-activity/api.js.map +1 -1
- package/build/module/live-activity/dynamic-api.js +167 -0
- package/build/module/live-activity/dynamic-api.js.map +1 -0
- package/build/module/native/NativeVoltra.js.map +1 -1
- package/build/module/utils/enableDynamicLiveActivityHotReload.js +43 -0
- package/build/module/utils/enableDynamicLiveActivityHotReload.js.map +1 -0
- package/build/module/utils/enableWidgetHotReload.js +9 -11
- package/build/module/utils/enableWidgetHotReload.js.map +1 -1
- package/build/module/utils/useUpdateOnHMR.js +3 -7
- package/build/module/utils/useUpdateOnHMR.js.map +1 -1
- package/build/module/widgets/server-credentials.js +9 -0
- package/build/module/widgets/server-credentials.js.map +1 -1
- package/build/module/widgets/server-update.js +72 -0
- package/build/module/widgets/server-update.js.map +1 -0
- package/build/typescript/commonjs/events.d.ts +7 -0
- package/build/typescript/commonjs/events.d.ts.map +1 -1
- package/build/typescript/commonjs/index.d.ts +3 -0
- package/build/typescript/commonjs/index.d.ts.map +1 -1
- package/build/typescript/commonjs/live-activity/api.d.ts +7 -0
- package/build/typescript/commonjs/live-activity/api.d.ts.map +1 -1
- package/build/typescript/commonjs/live-activity/dynamic-api.d.ts +54 -0
- package/build/typescript/commonjs/live-activity/dynamic-api.d.ts.map +1 -0
- package/build/typescript/commonjs/native/NativeVoltra.d.ts +20 -0
- package/build/typescript/commonjs/native/NativeVoltra.d.ts.map +1 -1
- package/build/typescript/commonjs/types.d.ts +1 -1
- package/build/typescript/commonjs/types.d.ts.map +1 -1
- package/build/typescript/commonjs/utils/enableDynamicLiveActivityHotReload.d.ts +15 -0
- package/build/typescript/commonjs/utils/enableDynamicLiveActivityHotReload.d.ts.map +1 -0
- package/build/typescript/commonjs/utils/enableWidgetHotReload.d.ts +5 -7
- package/build/typescript/commonjs/utils/enableWidgetHotReload.d.ts.map +1 -1
- package/build/typescript/commonjs/utils/useUpdateOnHMR.d.ts +0 -3
- package/build/typescript/commonjs/utils/useUpdateOnHMR.d.ts.map +1 -1
- package/build/typescript/commonjs/widgets/server-credentials.d.ts +8 -0
- package/build/typescript/commonjs/widgets/server-credentials.d.ts.map +1 -1
- package/build/typescript/commonjs/widgets/server-update.d.ts +64 -0
- package/build/typescript/commonjs/widgets/server-update.d.ts.map +1 -0
- package/build/typescript/module/events.d.ts +7 -0
- package/build/typescript/module/events.d.ts.map +1 -1
- package/build/typescript/module/index.d.ts +3 -0
- package/build/typescript/module/index.d.ts.map +1 -1
- package/build/typescript/module/live-activity/api.d.ts +7 -0
- package/build/typescript/module/live-activity/api.d.ts.map +1 -1
- package/build/typescript/module/live-activity/dynamic-api.d.ts +54 -0
- package/build/typescript/module/live-activity/dynamic-api.d.ts.map +1 -0
- package/build/typescript/module/native/NativeVoltra.d.ts +20 -0
- package/build/typescript/module/native/NativeVoltra.d.ts.map +1 -1
- package/build/typescript/module/types.d.ts +1 -1
- package/build/typescript/module/types.d.ts.map +1 -1
- package/build/typescript/module/utils/enableDynamicLiveActivityHotReload.d.ts +15 -0
- package/build/typescript/module/utils/enableDynamicLiveActivityHotReload.d.ts.map +1 -0
- package/build/typescript/module/utils/enableWidgetHotReload.d.ts +5 -7
- package/build/typescript/module/utils/enableWidgetHotReload.d.ts.map +1 -1
- package/build/typescript/module/utils/useUpdateOnHMR.d.ts +0 -3
- package/build/typescript/module/utils/useUpdateOnHMR.d.ts.map +1 -1
- package/build/typescript/module/widgets/server-credentials.d.ts +8 -0
- package/build/typescript/module/widgets/server-credentials.d.ts.map +1 -1
- package/build/typescript/module/widgets/server-update.d.ts +64 -0
- package/build/typescript/module/widgets/server-update.d.ts.map +1 -0
- package/expo-plugin/build/cjs/constants.js +20 -1
- package/expo-plugin/build/cjs/constants.js.map +1 -1
- package/expo-plugin/build/cjs/index.js +6 -0
- package/expo-plugin/build/cjs/index.js.map +1 -1
- package/expo-plugin/build/cjs/ios/index.js +1 -0
- package/expo-plugin/build/cjs/ios/index.js.map +1 -1
- package/expo-plugin/build/cjs/ios/infoPlist.js +28 -5
- package/expo-plugin/build/cjs/ios/infoPlist.js.map +1 -1
- package/expo-plugin/build/cjs/ios/serverUpdate.js +25 -0
- package/expo-plugin/build/cjs/ios/serverUpdate.js.map +1 -0
- package/expo-plugin/build/cjs/ios-widget/clientRendered.js +4 -4
- package/expo-plugin/build/cjs/ios-widget/clientRendered.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/clientRenderedPrerender.js +5 -5
- package/expo-plugin/build/cjs/ios-widget/clientRenderedPrerender.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/dynamic-live-activity/swift.js +130 -0
- package/expo-plugin/build/cjs/ios-widget/dynamic-live-activity/swift.js.map +1 -0
- package/expo-plugin/build/cjs/ios-widget/files/index.js +9 -2
- package/expo-plugin/build/cjs/ios-widget/files/index.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/files/infoPlist.js +6 -3
- package/expo-plugin/build/cjs/ios-widget/files/infoPlist.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/files/manifest.js +24 -0
- package/expo-plugin/build/cjs/ios-widget/files/manifest.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/files/swift-utils.js +7 -0
- package/expo-plugin/build/cjs/ios-widget/files/swift-utils.js.map +1 -0
- package/expo-plugin/build/cjs/ios-widget/files/swift.js +56 -26
- package/expo-plugin/build/cjs/ios-widget/files/swift.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/index.js +9 -3
- package/expo-plugin/build/cjs/ios-widget/index.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/widgetPlist.js +34 -22
- package/expo-plugin/build/cjs/ios-widget/widgetPlist.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/buildPhases.js +51 -11
- package/expo-plugin/build/cjs/ios-widget/xcode/buildPhases.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/index.js +21 -5
- package/expo-plugin/build/cjs/ios-widget/xcode/index.js.map +1 -1
- package/expo-plugin/build/cjs/utils/urlScheme.js +36 -14
- package/expo-plugin/build/cjs/utils/urlScheme.js.map +1 -1
- package/expo-plugin/build/cjs/validation.js +54 -0
- package/expo-plugin/build/cjs/validation.js.map +1 -1
- package/expo-plugin/build/esm/constants.js +17 -0
- package/expo-plugin/build/esm/constants.js.map +1 -1
- package/expo-plugin/build/esm/index.js +6 -0
- package/expo-plugin/build/esm/index.js.map +1 -1
- package/expo-plugin/build/esm/ios/index.js +1 -0
- package/expo-plugin/build/esm/ios/index.js.map +1 -1
- package/expo-plugin/build/esm/ios/infoPlist.js +28 -5
- package/expo-plugin/build/esm/ios/infoPlist.js.map +1 -1
- package/expo-plugin/build/esm/ios/serverUpdate.js +21 -0
- package/expo-plugin/build/esm/ios/serverUpdate.js.map +1 -0
- package/expo-plugin/build/esm/ios-widget/clientRendered.js +5 -5
- package/expo-plugin/build/esm/ios-widget/clientRendered.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/clientRenderedPrerender.js +6 -6
- package/expo-plugin/build/esm/ios-widget/clientRenderedPrerender.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/dynamic-live-activity/swift.js +122 -0
- package/expo-plugin/build/esm/ios-widget/dynamic-live-activity/swift.js.map +1 -0
- package/expo-plugin/build/esm/ios-widget/files/index.js +10 -3
- package/expo-plugin/build/esm/ios-widget/files/index.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/files/infoPlist.js +6 -3
- package/expo-plugin/build/esm/ios-widget/files/infoPlist.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/files/manifest.js +23 -1
- package/expo-plugin/build/esm/ios-widget/files/manifest.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/files/swift-utils.js +4 -0
- package/expo-plugin/build/esm/ios-widget/files/swift-utils.js.map +1 -0
- package/expo-plugin/build/esm/ios-widget/files/swift.js +50 -20
- package/expo-plugin/build/esm/ios-widget/files/swift.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/index.js +9 -3
- package/expo-plugin/build/esm/ios-widget/index.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/widgetPlist.js +34 -22
- package/expo-plugin/build/esm/ios-widget/widgetPlist.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/buildPhases.js +51 -11
- package/expo-plugin/build/esm/ios-widget/xcode/buildPhases.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/index.js +21 -5
- package/expo-plugin/build/esm/ios-widget/xcode/index.js.map +1 -1
- package/expo-plugin/build/esm/utils/urlScheme.js +34 -14
- package/expo-plugin/build/esm/utils/urlScheme.js.map +1 -1
- package/expo-plugin/build/esm/validation.js +54 -1
- package/expo-plugin/build/esm/validation.js.map +1 -1
- package/expo-plugin/build/types/constants.d.ts +10 -1
- package/expo-plugin/build/types/constants.d.ts.map +1 -1
- package/expo-plugin/build/types/index.d.ts +1 -1
- package/expo-plugin/build/types/index.d.ts.map +1 -1
- package/expo-plugin/build/types/ios/index.d.ts +2 -0
- package/expo-plugin/build/types/ios/index.d.ts.map +1 -1
- package/expo-plugin/build/types/ios/infoPlist.d.ts +2 -0
- package/expo-plugin/build/types/ios/infoPlist.d.ts.map +1 -1
- package/expo-plugin/build/types/ios/serverUpdate.d.ts +11 -0
- package/expo-plugin/build/types/ios/serverUpdate.d.ts.map +1 -0
- package/expo-plugin/build/types/ios-widget/clientRendered.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/clientRenderedPrerender.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/dynamic-live-activity/swift.d.ts +7 -0
- package/expo-plugin/build/types/ios-widget/dynamic-live-activity/swift.d.ts.map +1 -0
- package/expo-plugin/build/types/ios-widget/files/index.d.ts +3 -1
- package/expo-plugin/build/types/ios-widget/files/index.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/files/infoPlist.d.ts +2 -1
- package/expo-plugin/build/types/ios-widget/files/infoPlist.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/files/manifest.d.ts +9 -2
- package/expo-plugin/build/types/ios-widget/files/manifest.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/files/swift-utils.d.ts +2 -0
- package/expo-plugin/build/types/ios-widget/files/swift-utils.d.ts.map +1 -0
- package/expo-plugin/build/types/ios-widget/files/swift.d.ts +6 -2
- package/expo-plugin/build/types/ios-widget/files/swift.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/index.d.ts +3 -1
- package/expo-plugin/build/types/ios-widget/index.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/widgetPlist.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/buildPhases.d.ts +3 -1
- package/expo-plugin/build/types/ios-widget/xcode/buildPhases.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/index.d.ts +2 -1
- package/expo-plugin/build/types/ios-widget/xcode/index.d.ts.map +1 -1
- package/expo-plugin/build/types/types.d.ts +23 -4
- package/expo-plugin/build/types/types.d.ts.map +1 -1
- package/expo-plugin/build/types/utils/urlScheme.d.ts +16 -0
- package/expo-plugin/build/types/utils/urlScheme.d.ts.map +1 -1
- package/expo-plugin/build/types/validation.d.ts +2 -1
- package/expo-plugin/build/types/validation.d.ts.map +1 -1
- package/expo-plugin/src/constants.ts +24 -1
- package/expo-plugin/src/index.ts +9 -0
- package/expo-plugin/src/ios/index.ts +3 -0
- package/expo-plugin/src/ios/infoPlist.ts +33 -5
- package/expo-plugin/src/ios/serverUpdate.ts +29 -0
- package/expo-plugin/src/ios-widget/clientRendered.ts +9 -5
- package/expo-plugin/src/ios-widget/clientRenderedPrerender.ts +11 -6
- package/expo-plugin/src/ios-widget/dynamic-live-activity/swift.ts +138 -0
- package/expo-plugin/src/ios-widget/files/index.ts +15 -4
- package/expo-plugin/src/ios-widget/files/infoPlist.ts +17 -3
- package/expo-plugin/src/ios-widget/files/manifest.ts +42 -2
- package/expo-plugin/src/ios-widget/files/swift-utils.ts +3 -0
- package/expo-plugin/src/ios-widget/files/swift.ts +69 -22
- package/expo-plugin/src/ios-widget/index.ts +13 -3
- package/expo-plugin/src/ios-widget/widgetPlist.ts +37 -23
- package/expo-plugin/src/ios-widget/xcode/__snapshots__/applyXcodeChanges.node.test.ts.snap +34 -28
- package/expo-plugin/src/ios-widget/xcode/buildPhases.ts +59 -12
- package/expo-plugin/src/ios-widget/xcode/index.ts +23 -6
- package/expo-plugin/src/types.ts +28 -4
- package/expo-plugin/src/utils/urlScheme.ts +47 -17
- package/expo-plugin/src/validation.ts +76 -1
- package/ios/Package.swift +32 -3
- package/ios/VoltraWidget.podspec +1 -0
- package/ios/app/NativeVoltra.mm +107 -7
- package/ios/app/VoltraLiveActivityManager.swift +30 -0
- package/ios/app/VoltraLiveActivityService.swift +77 -5
- package/ios/app/VoltraModule.swift +99 -1
- package/ios/app/VoltraModuleImpl.swift +100 -2
- package/ios/app/VoltraViewComponentView.mm +3 -3
- package/ios/app/VoltraWidgetService.swift +147 -12
- package/ios/app/dynamic-live-activity/VoltraDynamicLiveActivityService.swift +97 -0
- package/ios/app/dynamic-live-activity/VoltraLiveActivityChronology.swift +68 -0
- package/ios/shared/DynamicWidgetPropsStore.swift +73 -6
- package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerFetchResolver.swift +34 -0
- package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerProps.swift +55 -0
- package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerPropsStore.swift +146 -0
- package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerUpdateRunner.swift +193 -0
- package/ios/shared/ServerWidgetContentResolver.swift +60 -0
- package/ios/shared/ServerWidgetResponseStore.swift +25 -0
- package/ios/shared/ShortNames.swift +6 -0
- package/ios/shared/VoltraConfig.swift +41 -0
- package/ios/shared/VoltraConstants.swift +15 -0
- package/ios/shared/VoltraElement.swift +127 -43
- package/ios/shared/VoltraEventBus.swift +52 -7
- package/ios/shared/VoltraJSRenderer.swift +90 -22
- package/ios/shared/VoltraNode.swift +1 -109
- package/ios/shared/VoltraRefreshIntent.swift +1 -1
- package/ios/shared/VoltraWidgetKind.swift +41 -0
- package/ios/shared/VoltraWidgetServerFetcher.swift +52 -107
- package/ios/shared/WidgetServer/VoltraWidgetAppearance.swift +17 -0
- package/ios/shared/WidgetServer/VoltraWidgetServer.swift +138 -0
- package/ios/shared/WidgetServer/WidgetCanonicalConfiguration.swift +77 -0
- package/ios/shared/WidgetServer/WidgetScope.swift +55 -0
- package/ios/shared/WidgetServer/WidgetServerEtagStore.swift +55 -0
- package/ios/shared/WidgetServer/WidgetServerFetcher.swift +179 -0
- package/ios/shared/WidgetServer/WidgetServerRequestBuilder.swift +114 -0
- package/ios/shared/WidgetServer/WidgetServerSettingsCodec.swift +47 -0
- package/ios/shared/WidgetServer/WidgetServerSettingsResolver.swift +129 -0
- package/ios/shared/WidgetServer/WidgetServerSettingsStore.swift +170 -0
- package/ios/shared/WidgetServer/WidgetServerSettingsValidator.swift +73 -0
- package/ios/shared/WidgetServer/WidgetServerUpdateSettings.swift +123 -0
- package/ios/shared/WidgetServer/WidgetServerUpdateSettingsJson.swift +115 -0
- package/ios/shared/dynamic-live-activity/DynamicLiveActivityPropsCodec.swift +13 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityBundleSource.swift +156 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityObserver.swift +97 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityOperations.swift +105 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityPayloadValidator.swift +55 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRegistry.swift +143 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRenderFailureQueue.swift +158 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRenderFailureReporter.swift +120 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRenderer.swift +370 -0
- package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityTypes.swift +87 -0
- package/ios/shared/dynamic-live-activity/VoltraLiveActivityOrder.swift +19 -0
- package/ios/target/VoltraClientWidgetRuntime.swift +44 -6
- package/ios/target/VoltraDynamicWidgetServerUpdateProvider.swift +204 -0
- package/ios/target/VoltraHomeWidget.swift +85 -90
- package/ios/ui/Extensions/VoltraNode+View.swift +113 -0
- package/ios/ui/Generated/Parameters/ChartParameters.swift +3 -0
- package/ios/ui/Helpers/VoltraDeepLinkResolver.swift +2 -2
- package/ios/ui/Views/VoltraChart.swift +108 -0
- package/package.json +4 -4
- package/src/events.ts +34 -0
- package/src/index.ts +22 -0
- package/src/live-activity/api.ts +2 -2
- package/src/live-activity/dynamic-api.ts +240 -0
- package/src/native/NativeVoltra.ts +21 -0
- package/src/types.ts +4 -0
- package/src/utils/enableDynamicLiveActivityHotReload.ts +50 -0
- package/src/utils/enableWidgetHotReload.ts +9 -16
- package/src/utils/useUpdateOnHMR.ts +3 -12
- package/src/widgets/server-credentials.ts +8 -0
- package/src/widgets/server-update.ts +84 -0
- /package/ios/shared/{VoltraKeychainHelper.swift → WidgetServer/VoltraKeychainHelper.swift} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IOSWidgetFamily } from './types';
|
|
1
|
+
import type { IOSWidgetConfig, IOSWidgetFamily } from './types';
|
|
2
2
|
export declare const IOS: {
|
|
3
3
|
readonly DEPLOYMENT_TARGET: "17.0";
|
|
4
4
|
readonly SWIFT_VERSION: "5.0";
|
|
@@ -10,4 +10,13 @@ export declare const DEFAULT_USER_IMAGES_PATH = "./assets/voltra";
|
|
|
10
10
|
export declare const SUPPORTED_IMAGE_EXTENSIONS: RegExp;
|
|
11
11
|
export declare const DEFAULT_WIDGET_FAMILIES: IOSWidgetFamily[];
|
|
12
12
|
export declare const WIDGET_FAMILY_MAP: Record<IOSWidgetFamily, string>;
|
|
13
|
+
/** Default prefix of a widget's WidgetKit `kind`: `Voltra_Widget_<id>`. Mirrors `VoltraStorageKeys.widgetKindPrefix`. */
|
|
14
|
+
export declare const WIDGET_KIND_PREFIX = "Voltra_Widget_";
|
|
15
|
+
/** WidgetKit `kind` of a widget: the `kind` option when set, else `Voltra_Widget_<id>`. */
|
|
16
|
+
export declare const widgetKind: (widget: Pick<IOSWidgetConfig, "id" | "kind">) => string;
|
|
17
|
+
/**
|
|
18
|
+
* `{ id: kind }` for the widgets that pin a custom `kind`, or undefined when none does.
|
|
19
|
+
* Written to both Info.plists (`Voltra_WidgetKinds`) so native code maps ids to kinds and back.
|
|
20
|
+
*/
|
|
21
|
+
export declare const widgetKindOverrides: (widgets?: Pick<IOSWidgetConfig, "id" | "kind">[]) => Record<string, string> | undefined;
|
|
13
22
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE/D,eAAO,MAAM,GAAG;;;;;CAKN,CAAA;AAEV,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,oBAAoB,CAAA;AAEzD,eAAO,MAAM,0BAA0B,QAAuB,CAAA;AAE9D,eAAO,MAAM,uBAAuB,EAAE,eAAe,EAAmD,CAAA;AAExG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAQ7D,CAAA;AAED,yHAAyH;AACzH,eAAO,MAAM,kBAAkB,mBAAmB,CAAA;AAElD,2FAA2F;AAC3F,eAAO,MAAM,UAAU,GAAI,QAAQ,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC,KAAG,MACtB,CAAA;AAEpD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,KAC/C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAQ3B,CAAA"}
|
|
@@ -6,5 +6,5 @@ import type { VoltraIosConfigPlugin } from './types';
|
|
|
6
6
|
*/
|
|
7
7
|
declare const withVoltraIos: VoltraIosConfigPlugin;
|
|
8
8
|
export default withVoltraIos;
|
|
9
|
-
export type { IOSConfigPluginProps, IOSMainAppPluginProps, IOSWidgetConfig, IOSWidgetExtensionFiles, IOSWidgetExtensionPluginProps, IOSWidgetFamily, IOSWidgetServerUpdateConfig, VoltraIosConfigPlugin, } from './types';
|
|
9
|
+
export type { IOSConfigPluginProps, IOSDynamicLiveActivityConfig, IOSMainAppPluginProps, IOSWidgetConfig, IOSWidgetExtensionFiles, IOSWidgetExtensionPluginProps, IOSWidgetFamily, IOSWidgetServerUpdateConfig, VoltraIosConfigPlugin, } from './types';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD;;;;GAIG;AACH,QAAA,MAAM,aAAa,EAAE,qBAuDpB,CAAA;AAED,eAAe,aAAa,CAAA;AAE5B,YAAY,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,SAAS,CAAA"}
|
|
@@ -3,7 +3,9 @@ export interface IOSConfigProps {
|
|
|
3
3
|
groupIdentifier?: string;
|
|
4
4
|
widgetIds?: string[];
|
|
5
5
|
widgets?: import('../types').IOSWidgetConfig[];
|
|
6
|
+
liveActivities?: import('../types').IOSDynamicLiveActivityConfig[];
|
|
6
7
|
keychainGroup?: string;
|
|
8
|
+
voltraVersion: string;
|
|
7
9
|
}
|
|
8
10
|
/**
|
|
9
11
|
* Main iOS app configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ios/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAM7C,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,UAAU,EAAE,eAAe,EAAE,CAAA;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ios/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAM7C,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,UAAU,EAAE,eAAe,EAAE,CAAA;IAC9C,cAAc,CAAC,EAAE,OAAO,UAAU,EAAE,4BAA4B,EAAE,CAAA;IAClE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,UAAU,CAsB7E;AAGD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -5,6 +5,7 @@ export interface ConfigureInfoPlistProps {
|
|
|
5
5
|
widgetIds?: string[];
|
|
6
6
|
widgets?: IOSWidgetConfig[];
|
|
7
7
|
keychainGroup?: string;
|
|
8
|
+
voltraVersion: string;
|
|
8
9
|
}
|
|
9
10
|
/**
|
|
10
11
|
* Configures main app Info.plist for Live Activities and widgets.
|
|
@@ -13,6 +14,7 @@ export interface ConfigureInfoPlistProps {
|
|
|
13
14
|
* - NSSupportsLiveActivities: Enables Live Activities support
|
|
14
15
|
* - Voltra_AppGroupIdentifier: App group ID for widget communication (if provided)
|
|
15
16
|
* - Voltra_WidgetIds: Array of widget IDs for native module access (if provided)
|
|
17
|
+
* - Voltra_WidgetKinds: Map of widget IDs to custom WidgetKit kinds (if any widget sets `kind`)
|
|
16
18
|
* - Voltra_WidgetServerUrls: Map of widget IDs to server URLs (if any widgets have serverUpdate)
|
|
17
19
|
* - Voltra_WidgetServerIntervals: Map of widget IDs to update intervals (if any widgets have serverUpdate)
|
|
18
20
|
* - Voltra_KeychainGroup: Keychain access group for shared credentials (if provided)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoPlist.d.ts","sourceRoot":"","sources":["../../../src/ios/infoPlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"infoPlist.d.ts","sourceRoot":"","sources":["../../../src/ios/infoPlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAA;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,uBAAuB,CAgEpE,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ResolvedWidgetServerUpdateConfig, WidgetServerUpdateRules } from '@use-voltra/expo-plugin';
|
|
2
|
+
import type { IOSWidgetConfig } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* iOS payload widgets have always defaulted to 15 minutes and accepted anything down to 1, since
|
|
5
|
+
* WidgetKit stretches a timeline it cannot honour rather than refusing it. A widget with an
|
|
6
|
+
* `entry` follows ADR 0002 instead: default 15, floor 15 on both platforms.
|
|
7
|
+
*/
|
|
8
|
+
export declare function iosServerUpdateRules(widget: Pick<IOSWidgetConfig, 'entry'>): WidgetServerUpdateRules;
|
|
9
|
+
/** `serverUpdate` with defaults applied, as the plist and Swift generators consume it. */
|
|
10
|
+
export declare function resolveIOSWidgetServerUpdate(widget: Pick<IOSWidgetConfig, 'entry' | 'serverUpdate'>): ResolvedWidgetServerUpdateConfig | undefined;
|
|
11
|
+
//# sourceMappingURL=serverUpdate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverUpdate.d.ts","sourceRoot":"","sources":["../../../src/ios/serverUpdate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAExG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,uBAAuB,CAMpG;AAED,0FAA0F;AAC1F,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,CAAC,GACtD,gCAAgC,GAAG,SAAS,CAM9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientRendered.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/clientRendered.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,CAAC,eAAe,GAAG;IAAE,cAAc,EAAE,KAAK,CAAA;CAAE,CAAC,GAC7C,CAAC,eAAe,GAAG;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAM1E,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"clientRendered.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/clientRendered.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,CAAC,eAAe,GAAG;IAAE,cAAc,EAAE,KAAK,CAAA;CAAE,CAAC,GAC7C,CAAC,eAAe,GAAG;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAM1E,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAiBhH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientRenderedPrerender.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/clientRenderedPrerender.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IOSDynamicLiveActivityConfig } from '../../types';
|
|
2
|
+
export declare function generateDynamicLiveActivityWidgetInstances(liveActivities: IOSDynamicLiveActivityConfig[]): string;
|
|
3
|
+
/** Generates the Dynamic Live Activity types shared by the app and extension targets. */
|
|
4
|
+
export declare function generateDynamicLiveActivityTypesSwift(liveActivities: IOSDynamicLiveActivityConfig[]): string;
|
|
5
|
+
/** Generates extension-only ActivityConfiguration declarations for Dynamic Live Activities. */
|
|
6
|
+
export declare function generateDynamicLiveActivitiesSwift(liveActivities: IOSDynamicLiveActivityConfig[]): string;
|
|
7
|
+
//# sourceMappingURL=swift.d.ts.map
|
|
@@ -0,0 +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,12 +1,14 @@
|
|
|
1
1
|
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
-
import type { IOSWidgetConfig } from '../../types';
|
|
2
|
+
import type { IOSDynamicLiveActivityConfig, IOSWidgetConfig } from '../../types';
|
|
3
3
|
export interface GenerateWidgetExtensionFilesProps {
|
|
4
4
|
targetName: string;
|
|
5
5
|
widgets?: IOSWidgetConfig[];
|
|
6
|
+
liveActivities?: IOSDynamicLiveActivityConfig[];
|
|
6
7
|
groupIdentifier?: string;
|
|
7
8
|
keychainGroup?: string;
|
|
8
9
|
version: string;
|
|
9
10
|
buildNumber: string;
|
|
11
|
+
voltraVersion: string;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* Plugin step that generates all widget extension files.
|
|
@@ -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,eAAe,EAAE,MAAM,aAAa,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;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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* @param targetName - The widget extension target name (used for CFBundleDisplayName)
|
|
6
6
|
* @param version - The app version (CFBundleShortVersionString)
|
|
7
7
|
* @param buildNumber - The build number (CFBundleVersion)
|
|
8
|
+
* @param voltraVersion - The installed @use-voltra/ios-client package version
|
|
8
9
|
*/
|
|
9
|
-
export declare function generateInfoPlist(targetPath: string, targetName: string, version: string, buildNumber: string): void;
|
|
10
|
+
export declare function generateInfoPlist(targetPath: string, targetName: string, version: string, buildNumber: string, voltraVersion: string): void;
|
|
10
11
|
//# sourceMappingURL=infoPlist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoPlist.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/infoPlist.ts"],"names":[],"mappings":"
|
|
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,9 +1,16 @@
|
|
|
1
|
-
import { type DynamicWidgetManifest } from '@use-voltra/expo-plugin';
|
|
2
|
-
import type { IOSWidgetConfig } from '../../types';
|
|
1
|
+
import { type DynamicLiveActivityManifest, type DynamicWidgetManifest } from '@use-voltra/expo-plugin';
|
|
2
|
+
import type { IOSDynamicLiveActivityConfig, IOSWidgetConfig } from '../../types';
|
|
3
3
|
export interface GenerateIOSDynamicWidgetsManifestOptions {
|
|
4
4
|
projectRoot: string;
|
|
5
5
|
widgets?: IOSWidgetConfig[];
|
|
6
6
|
}
|
|
7
|
+
export interface GenerateIOSDynamicLiveActivitiesManifestOptions {
|
|
8
|
+
projectRoot: string;
|
|
9
|
+
liveActivities?: IOSDynamicLiveActivityConfig[];
|
|
10
|
+
}
|
|
7
11
|
export declare function createIOSDynamicWidgetsManifest(projectRoot: string, widgets: IOSWidgetConfig[]): DynamicWidgetManifest;
|
|
12
|
+
export declare function createIOSDynamicLiveActivitiesManifest(projectRoot: string, liveActivities: IOSDynamicLiveActivityConfig[]): DynamicLiveActivityManifest;
|
|
8
13
|
export declare function generateIOSDynamicWidgetsManifest(options: GenerateIOSDynamicWidgetsManifestOptions): void;
|
|
14
|
+
/** Writes the dedicated Dynamic Live Activity manifest on every prebuild, including when empty. */
|
|
15
|
+
export declare function generateIOSDynamicLiveActivitiesManifest(options: GenerateIOSDynamicLiveActivitiesManifestOptions): void;
|
|
9
16
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAG3B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKhF,MAAM,WAAW,wCAAwC;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,+CAA+C;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAA;CAChD;AAED,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,EAAE,GACzB,qBAAqB,CAmBvB;AAED,wBAAgB,sCAAsC,CACpD,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,4BAA4B,EAAE,GAC7C,2BAA2B,CAW7B;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,wCAAwC,GAAG,IAAI,CAQzG;AAED,mGAAmG;AACnG,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,+CAA+C,GACvD,IAAI,CAQN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swift-utils.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/files/swift-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjE"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { type PrerenderedWidgetStates } from '@use-voltra/expo-plugin';
|
|
2
|
-
import type { IOSWidgetConfig } from '../../types';
|
|
2
|
+
import type { IOSDynamicLiveActivityConfig, IOSWidgetConfig } from '../../types';
|
|
3
3
|
import { type DetectedIOSWidget } from '../clientRendered';
|
|
4
|
+
import { generateDynamicLiveActivitiesSwift, generateDynamicLiveActivityTypesSwift } from '../dynamic-live-activity/swift';
|
|
4
5
|
export interface GenerateSwiftFilesOptions {
|
|
5
6
|
targetPath: string;
|
|
6
7
|
projectRoot: string;
|
|
7
8
|
widgets?: IOSWidgetConfig[];
|
|
9
|
+
liveActivities?: IOSDynamicLiveActivityConfig[];
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Generates all Swift files for the widget extension.
|
|
@@ -17,7 +19,7 @@ export declare function generateSwiftFiles(options: GenerateSwiftFilesOptions):
|
|
|
17
19
|
/**
|
|
18
20
|
* Generates the VoltraWidgetBundle.swift file content with configured widgets
|
|
19
21
|
*/
|
|
20
|
-
declare function generateWidgetBundleSwift(widgets: DetectedIOSWidget[]): string;
|
|
22
|
+
declare function generateWidgetBundleSwift(widgets: DetectedIOSWidget[], liveActivities?: IOSDynamicLiveActivityConfig[]): string;
|
|
21
23
|
/**
|
|
22
24
|
* Generates Swift code that bundles pre-rendered widget initial states (per locale when configured).
|
|
23
25
|
*/
|
|
@@ -25,6 +27,8 @@ declare function generateInitialStatesSwift(prerenderedStates: PrerenderedWidget
|
|
|
25
27
|
export declare const __test__: {
|
|
26
28
|
generateInitialStatesSwift: typeof generateInitialStatesSwift;
|
|
27
29
|
generateWidgetBundleSwift: typeof generateWidgetBundleSwift;
|
|
30
|
+
generateDynamicLiveActivityTypesSwift: typeof generateDynamicLiveActivityTypesSwift;
|
|
31
|
+
generateDynamicLiveActivitiesSwift: typeof generateDynamicLiveActivitiesSwift;
|
|
28
32
|
};
|
|
29
33
|
export {};
|
|
30
34
|
//# sourceMappingURL=swift.d.ts.map
|
|
@@ -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,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
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,15 +1,17 @@
|
|
|
1
1
|
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
-
import type { IOSWidgetConfig } from '../types';
|
|
2
|
+
import type { IOSDynamicLiveActivityConfig, IOSWidgetConfig } from '../types';
|
|
3
3
|
export interface WithIOSProps {
|
|
4
4
|
targetName: string;
|
|
5
5
|
bundleIdentifier: string;
|
|
6
6
|
deploymentTarget: string;
|
|
7
7
|
widgets?: IOSWidgetConfig[];
|
|
8
|
+
liveActivities?: IOSDynamicLiveActivityConfig[];
|
|
8
9
|
groupIdentifier?: string;
|
|
9
10
|
keychainGroup?: string;
|
|
10
11
|
fonts?: string[];
|
|
11
12
|
version: string;
|
|
12
13
|
buildNumber: string;
|
|
14
|
+
voltraVersion: string;
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* Main iOS configuration plugin.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAA;AAEhE,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ7E,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,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,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,YAAY,CA0C9C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetPlist.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/widgetPlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA+B,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"widgetPlist.d.ts","sourceRoot":"","sources":["../../../src/ios-widget/widgetPlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA+B,MAAM,sBAAsB,CAAA;AAMhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAM/C,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,EAAE,YAAY,CAAC,0BAA0B,CAyH/E,CAAA"}
|
|
@@ -4,7 +4,7 @@ import type { IOSWidgetExtensionFiles } from '../../types';
|
|
|
4
4
|
* Adds (idempotently) the release-only shell-script phase that bakes Dynamic Widget
|
|
5
5
|
* bundles into the extension. Safe to call on every prebuild; only added when absent.
|
|
6
6
|
*/
|
|
7
|
-
export declare function ensureWidgetBundleScriptPhase(xcodeProject: XcodeProject, targetUuid: string): void;
|
|
7
|
+
export declare function ensureWidgetBundleScriptPhase(xcodeProject: XcodeProject, targetUuid: string, content?: 'all' | 'live-activities'): void;
|
|
8
8
|
export interface EnsureBuildPhasesOptions {
|
|
9
9
|
targetUuid: string;
|
|
10
10
|
targetName: string;
|
|
@@ -18,6 +18,8 @@ export interface EnsureBuildPhasesOptions {
|
|
|
18
18
|
};
|
|
19
19
|
widgetFiles: IOSWidgetExtensionFiles;
|
|
20
20
|
mainTargetUuid?: string;
|
|
21
|
+
/** Generated ActivityKit types compiled into both the extension and the app. */
|
|
22
|
+
mainSwiftFiles?: string[];
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Ensures all required build phases and files exist for the widget extension target.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPhases.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/buildPhases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"buildPhases.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/buildPhases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAkE1D;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,KAAK,GAAG,iBAAyB,GACzC,IAAI,CAwDN;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,WAAW,EAAE,uBAAuB,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAqDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CA4DrG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConfigPlugin, XcodeProject } from '@expo/config-plugins';
|
|
2
|
-
import type { IOSWidgetConfig, IOSWidgetExtensionFiles } from '../../types';
|
|
2
|
+
import type { IOSDynamicLiveActivityConfig, IOSWidgetConfig, IOSWidgetExtensionFiles } from '../../types';
|
|
3
3
|
export interface ConfigureXcodeProjectProps {
|
|
4
4
|
targetName: string;
|
|
5
5
|
bundleIdentifier: string;
|
|
@@ -9,6 +9,7 @@ export interface ConfigureXcodeProjectProps {
|
|
|
9
9
|
/** App build number; becomes the widget's CURRENT_PROJECT_VERSION. */
|
|
10
10
|
buildNumber?: string;
|
|
11
11
|
widgets?: IOSWidgetConfig[];
|
|
12
|
+
liveActivities?: IOSDynamicLiveActivityConfig[];
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* Applies all widget-extension changes to an already-parsed Xcode project.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnF,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnF,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAUzG,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAA;CAChD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,0BAA0B,EACjC,WAAW,EAAE,uBAAuB,EACpC,wBAAwB,UAAQ,GAC/B,IAAI,CAwFN;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,0BAA0B,CAwB1E,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
-
import type { DynamicWidgetEntryConfig, WidgetInitialStatePath, WidgetLabel } from '@use-voltra/expo-plugin';
|
|
2
|
+
import type { DynamicLiveActivityEntryConfig, DynamicWidgetEntryConfig, WidgetInitialStatePath, WidgetLabel } from '@use-voltra/expo-plugin';
|
|
3
3
|
/**
|
|
4
4
|
* Supported iOS Home Screen widget size families.
|
|
5
5
|
*/
|
|
@@ -30,9 +30,15 @@ export interface IOSWidgetAppIntentConfig {
|
|
|
30
30
|
*/
|
|
31
31
|
export interface IOSWidgetConfig extends DynamicWidgetEntryConfig {
|
|
32
32
|
/**
|
|
33
|
-
* Unique identifier for the widget (used
|
|
33
|
+
* Unique identifier for the widget (used in the JS API and, unless `kind` is set, as the widget kind)
|
|
34
34
|
*/
|
|
35
35
|
id: string;
|
|
36
|
+
/**
|
|
37
|
+
* WidgetKit `kind` of the generated widget. Defaults to `Voltra_Widget_<id>`.
|
|
38
|
+
* Pin it to the kind of a pre-Voltra widget so already placed instances survive the migration
|
|
39
|
+
* (WidgetKit identifies a placed widget by extension bundle id + kind).
|
|
40
|
+
*/
|
|
41
|
+
kind?: string;
|
|
36
42
|
displayName: WidgetLabel;
|
|
37
43
|
description: WidgetLabel;
|
|
38
44
|
/** @default ['systemSmall', 'systemMedium', 'systemLarge'] */
|
|
@@ -47,12 +53,22 @@ export interface IOSWidgetConfig extends DynamicWidgetEntryConfig {
|
|
|
47
53
|
*/
|
|
48
54
|
appIntent?: IOSWidgetAppIntentConfig;
|
|
49
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* A Dynamic Live Activity bundled with the app.
|
|
58
|
+
* @experimental
|
|
59
|
+
*/
|
|
60
|
+
export interface IOSDynamicLiveActivityConfig extends DynamicLiveActivityEntryConfig {
|
|
61
|
+
}
|
|
50
62
|
/**
|
|
51
63
|
* Server-driven iOS widget updates (WidgetKit background refresh).
|
|
52
64
|
*/
|
|
53
65
|
export interface IOSWidgetServerUpdateConfig {
|
|
54
|
-
|
|
55
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Server endpoint that returns widget state updates. Omit it to mark the widget
|
|
68
|
+
* server-driven and supply the URL at runtime with `setWidgetServerUpdate`.
|
|
69
|
+
*/
|
|
70
|
+
url?: string;
|
|
71
|
+
/** @default 15, or 15 when the widget has an `entry` */
|
|
56
72
|
intervalMinutes?: number;
|
|
57
73
|
/** @default false */
|
|
58
74
|
refresh?: boolean;
|
|
@@ -76,6 +92,8 @@ export interface IOSConfigPluginProps {
|
|
|
76
92
|
enablePushNotifications?: boolean;
|
|
77
93
|
groupIdentifier?: string;
|
|
78
94
|
widgets?: IOSWidgetConfig[];
|
|
95
|
+
/** @experimental Dynamic Live Activities rendered from bundled JavaScript entries. */
|
|
96
|
+
liveActivities?: IOSDynamicLiveActivityConfig[];
|
|
79
97
|
deploymentTarget?: string;
|
|
80
98
|
targetName?: string;
|
|
81
99
|
fonts?: string[];
|
|
@@ -93,6 +111,7 @@ export interface IOSWidgetExtensionPluginProps {
|
|
|
93
111
|
bundleIdentifier: string;
|
|
94
112
|
deploymentTarget: string;
|
|
95
113
|
widgets?: IOSWidgetConfig[];
|
|
114
|
+
liveActivities?: IOSDynamicLiveActivityConfig[];
|
|
96
115
|
groupIdentifier?: string;
|
|
97
116
|
keychainGroup?: string;
|
|
98
117
|
fonts?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import type { ExpoConfig } from 'expo/config';
|
|
2
|
+
type URLType = {
|
|
3
|
+
CFBundleURLSchemes?: unknown;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* The URL schemes the app is configured with: every `scheme` and `ios.scheme` value (string or
|
|
7
|
+
* array), or the bundle identifier when neither is set.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAppURLSchemes(config: ExpoConfig): string[];
|
|
10
|
+
/**
|
|
11
|
+
* Appends a URL type for every scheme not already listed. Returns `types` itself when nothing is
|
|
12
|
+
* missing.
|
|
13
|
+
*/
|
|
14
|
+
export declare function appendMissingURLSchemes<T extends URLType>(types: T[], schemes: string[]): (T | {
|
|
15
|
+
CFBundleURLSchemes: string[];
|
|
16
|
+
})[];
|
|
2
17
|
/**
|
|
3
18
|
* Ensures the main app has a URL scheme set so widgetURL can open it.
|
|
4
19
|
* This is an optional feature for deep linking from widgets.
|
|
@@ -7,4 +22,5 @@ import type { ExpoConfig } from 'expo/config';
|
|
|
7
22
|
* @returns The modified config with URL scheme ensured
|
|
8
23
|
*/
|
|
9
24
|
export declare function ensureURLScheme(config: ExpoConfig): ExpoConfig;
|
|
25
|
+
export {};
|
|
10
26
|
//# sourceMappingURL=urlScheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlScheme.d.ts","sourceRoot":"","sources":["../../../src/utils/urlScheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"urlScheme.d.ts","sourceRoot":"","sources":["../../../src/utils/urlScheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,KAAK,OAAO,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE/C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CAU7D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EACvD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,MAAM,EAAE,GAChB,CAAC,CAAC,GAAG;IAAE,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAAE,CAU1C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CA4B9D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { IOSConfigPluginProps, IOSWidgetConfig } from './types';
|
|
1
|
+
import type { IOSConfigPluginProps, IOSDynamicLiveActivityConfig, IOSWidgetConfig } from './types';
|
|
2
|
+
export declare function validateIOSDynamicLiveActivityConfig(liveActivity: IOSDynamicLiveActivityConfig, projectRoot?: string): void;
|
|
2
3
|
export declare function validateIOSWidgetConfig(widget: IOSWidgetConfig, projectRoot?: string): void;
|
|
3
4
|
export declare function validateIOSConfigPluginProps(props: IOSConfigPluginProps, projectRoot?: string): void;
|
|
4
5
|
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,eAAe,EAAmB,MAAM,SAAS,CAAA;AAanH,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,4BAA4B,EAC1C,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAaN;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CA6B3F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAwEpG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IOSWidgetFamily } from './types'
|
|
1
|
+
import type { IOSWidgetConfig, IOSWidgetFamily } from './types'
|
|
2
2
|
|
|
3
3
|
export const IOS = {
|
|
4
4
|
DEPLOYMENT_TARGET: '17.0',
|
|
@@ -23,3 +23,26 @@ export const WIDGET_FAMILY_MAP: Record<IOSWidgetFamily, string> = {
|
|
|
23
23
|
accessoryRectangular: '.accessoryRectangular',
|
|
24
24
|
accessoryInline: '.accessoryInline',
|
|
25
25
|
}
|
|
26
|
+
|
|
27
|
+
/** Default prefix of a widget's WidgetKit `kind`: `Voltra_Widget_<id>`. Mirrors `VoltraStorageKeys.widgetKindPrefix`. */
|
|
28
|
+
export const WIDGET_KIND_PREFIX = 'Voltra_Widget_'
|
|
29
|
+
|
|
30
|
+
/** WidgetKit `kind` of a widget: the `kind` option when set, else `Voltra_Widget_<id>`. */
|
|
31
|
+
export const widgetKind = (widget: Pick<IOSWidgetConfig, 'id' | 'kind'>): string =>
|
|
32
|
+
widget.kind ?? `${WIDGET_KIND_PREFIX}${widget.id}`
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* `{ id: kind }` for the widgets that pin a custom `kind`, or undefined when none does.
|
|
36
|
+
* Written to both Info.plists (`Voltra_WidgetKinds`) so native code maps ids to kinds and back.
|
|
37
|
+
*/
|
|
38
|
+
export const widgetKindOverrides = (
|
|
39
|
+
widgets?: Pick<IOSWidgetConfig, 'id' | 'kind'>[]
|
|
40
|
+
): Record<string, string> | undefined => {
|
|
41
|
+
const overrides: Record<string, string> = {}
|
|
42
|
+
for (const widget of widgets ?? []) {
|
|
43
|
+
if (widget.kind !== undefined) {
|
|
44
|
+
overrides[widget.id] = widget.kind
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return Object.keys(overrides).length > 0 ? overrides : undefined
|
|
48
|
+
}
|
package/expo-plugin/src/index.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { IOSConfig } from 'expo/config-plugins'
|
|
2
2
|
|
|
3
|
+
import { resolveInstalledPackageVersion } from '@use-voltra/expo-plugin'
|
|
4
|
+
|
|
3
5
|
import { IOS } from './constants'
|
|
4
6
|
import { withIOS, withPushNotifications } from './ios'
|
|
5
7
|
import { withIOS as withIOSWidget } from './ios-widget'
|
|
@@ -16,6 +18,8 @@ const withVoltraIos: VoltraIosConfigPlugin = (config, props = {}) => {
|
|
|
16
18
|
const projectRoot = (config as { modRequest?: { projectRoot?: string } }).modRequest?.projectRoot
|
|
17
19
|
validateIOSConfigPluginProps(props, projectRoot)
|
|
18
20
|
|
|
21
|
+
const voltraVersion = resolveInstalledPackageVersion(projectRoot ?? process.cwd(), '@use-voltra/ios-client')
|
|
22
|
+
|
|
19
23
|
const iosBundleIdentifier = config.ios?.bundleIdentifier
|
|
20
24
|
if (!iosBundleIdentifier) {
|
|
21
25
|
throw new Error(
|
|
@@ -41,7 +45,9 @@ const withVoltraIos: VoltraIosConfigPlugin = (config, props = {}) => {
|
|
|
41
45
|
groupIdentifier: props.groupIdentifier,
|
|
42
46
|
widgetIds: props.widgets && props.widgets.length > 0 ? props.widgets.map((w) => w.id) : undefined,
|
|
43
47
|
widgets: props.widgets,
|
|
48
|
+
liveActivities: props.liveActivities,
|
|
44
49
|
keychainGroup,
|
|
50
|
+
voltraVersion,
|
|
45
51
|
})
|
|
46
52
|
|
|
47
53
|
config = withIOSWidget(config, {
|
|
@@ -49,8 +55,10 @@ const withVoltraIos: VoltraIosConfigPlugin = (config, props = {}) => {
|
|
|
49
55
|
bundleIdentifier,
|
|
50
56
|
deploymentTarget,
|
|
51
57
|
widgets: props.widgets,
|
|
58
|
+
liveActivities: props.liveActivities,
|
|
52
59
|
version,
|
|
53
60
|
buildNumber,
|
|
61
|
+
voltraVersion,
|
|
54
62
|
...(props.groupIdentifier ? { groupIdentifier: props.groupIdentifier } : {}),
|
|
55
63
|
...(keychainGroup ? { keychainGroup } : {}),
|
|
56
64
|
...(props.fonts ? { fonts: props.fonts } : {}),
|
|
@@ -67,6 +75,7 @@ export default withVoltraIos
|
|
|
67
75
|
|
|
68
76
|
export type {
|
|
69
77
|
IOSConfigPluginProps,
|
|
78
|
+
IOSDynamicLiveActivityConfig,
|
|
70
79
|
IOSMainAppPluginProps,
|
|
71
80
|
IOSWidgetConfig,
|
|
72
81
|
IOSWidgetExtensionFiles,
|
|
@@ -8,7 +8,9 @@ export interface IOSConfigProps {
|
|
|
8
8
|
groupIdentifier?: string
|
|
9
9
|
widgetIds?: string[]
|
|
10
10
|
widgets?: import('../types').IOSWidgetConfig[]
|
|
11
|
+
liveActivities?: import('../types').IOSDynamicLiveActivityConfig[]
|
|
11
12
|
keychainGroup?: string
|
|
13
|
+
voltraVersion: string
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
/**
|
|
@@ -27,6 +29,7 @@ export function withIOS(config: ExpoConfig, props: IOSConfigProps): ExpoConfig {
|
|
|
27
29
|
widgetIds: props.widgetIds,
|
|
28
30
|
widgets: props.widgets,
|
|
29
31
|
keychainGroup: props.keychainGroup,
|
|
32
|
+
voltraVersion: props.voltraVersion,
|
|
30
33
|
})
|
|
31
34
|
|
|
32
35
|
// Configure entitlements
|