@use-voltra/ios-client 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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":"NativeVoltra.d.ts","sourceRoot":"","sources":["../../../../src/native/NativeVoltra.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NativeVoltra.d.ts","sourceRoot":"","sources":["../../../../src/native/NativeVoltra.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { EventSubscription, PreloadImageFailure, PreloadImageOptions, PreloadImagesResult, UpdateWidgetOptions, VoltraElementJson, VoltraElementRef, VoltraNodeJson, VoltraPropValue, WidgetServerCredentials, } from '@use-voltra/ios';
|
|
1
|
+
export type { EventSubscription, PreloadImageFailure, PreloadImageOptions, PreloadImagesResult, UpdateWidgetOptions, VoltraElementJson, VoltraElementRef, VoltraNodeJson, VoltraPropValue, WidgetServerCredentials, WidgetServerUpdateBody, WidgetServerUpdateOptions, WidgetServerUpdateSettings, WidgetServerUpdateSnapshot, } from '@use-voltra/ios';
|
|
2
2
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,uBAAuB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var __voltraDynamicLiveActivityDefinitionUpdated: ((definitionId: string) => void) | undefined;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Reload Dynamic Live Activities after a Metro Fast Refresh patch. When Metro
|
|
6
|
+
* re-evaluates a generated definition entry, only that definition is reloaded.
|
|
7
|
+
* Component-only refresh boundaries do not re-evaluate their importer, so those
|
|
8
|
+
* patches fall back to reloading every Dynamic Live Activity definition.
|
|
9
|
+
* Legacy activities and Dynamic Widgets are unaffected.
|
|
10
|
+
*
|
|
11
|
+
* Subscribes to the shared {@link getFastRefreshHub} so multiple `__accept`
|
|
12
|
+
* calls from one save collapse into a single native reload.
|
|
13
|
+
*/
|
|
14
|
+
export declare function enableDynamicLiveActivityHotReload(): () => void;
|
|
15
|
+
//# sourceMappingURL=enableDynamicLiveActivityHotReload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableDynamicLiveActivityHotReload.d.ts","sourceRoot":"","sources":["../../../../src/utils/enableDynamicLiveActivityHotReload.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,4CAA4C,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAC/F;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,IAAI,MAAM,IAAI,CA+B/D"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
var __accept: (...args: unknown[]) => void;
|
|
3
|
-
}
|
|
4
1
|
/**
|
|
5
2
|
* Trigger `reloadWidgets()` on every Metro Fast Refresh patch (DEV only).
|
|
6
3
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Subscribes to the shared {@link getFastRefreshHub}, which wraps the global
|
|
5
|
+
* `__accept` callback Metro fires when a Fast Refresh patch lands in the host
|
|
6
|
+
* app's JS runtime. On each debounced patch it calls
|
|
9
7
|
* `WidgetCenter.shared.reloadAllTimelines()` so WidgetKit re-invokes each widget
|
|
10
8
|
* Provider, which re-fetches the freshest bundle from Metro and renders the
|
|
11
9
|
* updated UI.
|
|
@@ -16,8 +14,8 @@ declare global {
|
|
|
16
14
|
* workflow the dev still relies on WidgetKit's natural lifecycle refresh on
|
|
17
15
|
* app foreground.
|
|
18
16
|
*
|
|
19
|
-
* Call once at app startup. Returns `dispose()` to
|
|
20
|
-
*
|
|
17
|
+
* Call once at app startup. Returns `dispose()` to unsubscribe (rarely needed
|
|
18
|
+
* in practice). No-op in release builds.
|
|
21
19
|
*/
|
|
22
20
|
export declare function enableWidgetHotReload(): () => void;
|
|
23
21
|
//# sourceMappingURL=enableWidgetHotReload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enableWidgetHotReload.d.ts","sourceRoot":"","sources":["../../../../src/utils/enableWidgetHotReload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enableWidgetHotReload.d.ts","sourceRoot":"","sources":["../../../../src/utils/enableWidgetHotReload.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAQlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateOnHMR.d.ts","sourceRoot":"","sources":["../../../../src/utils/useUpdateOnHMR.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUpdateOnHMR.d.ts","sourceRoot":"","sources":["../../../../src/utils/useUpdateOnHMR.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,YAY1B,CAAA"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { WidgetServerCredentials } from '../types.js';
|
|
2
2
|
export type { WidgetServerCredentials } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use {@link setWidgetServerUpdate} with an `Authorization` header. This writes the
|
|
5
|
+
* same stored credentials and keeps the same replace-everything semantics, so migrating is a
|
|
6
|
+
* one-line change; it will be removed in a future major.
|
|
7
|
+
*/
|
|
3
8
|
export declare function setWidgetServerCredentials(credentials: WidgetServerCredentials): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use {@link clearWidgetServerUpdate} instead.
|
|
11
|
+
*/
|
|
4
12
|
export declare function clearWidgetServerCredentials(): Promise<void>;
|
|
5
13
|
//# sourceMappingURL=server-credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-credentials.d.ts","sourceRoot":"","sources":["../../../../src/widgets/server-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAElE"}
|
|
1
|
+
{"version":3,"file":"server-credentials.d.ts","sourceRoot":"","sources":["../../../../src/widgets/server-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG;AAED;;GAEG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAElE"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { WidgetServerUpdateOptions, WidgetServerUpdateSettings, WidgetServerUpdateSnapshot } from '../types.js';
|
|
2
|
+
export type { WidgetServerUpdateBody, WidgetServerUpdateOptions, WidgetServerUpdateSettings, WidgetServerUpdateSnapshot, } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Overrides a server-driven widget's `serverUpdate` settings at runtime.
|
|
5
|
+
*
|
|
6
|
+
* The `serverUpdate` entry in app.json supplies the defaults; this replaces any of them for one
|
|
7
|
+
* widget, or for every server-driven widget when no `widgetId` is given. A widget-scoped call wins
|
|
8
|
+
* over a global one, and `headers` and `query` merge per key across the two.
|
|
9
|
+
*
|
|
10
|
+
* Each call replaces the whole layer it writes, so pass every field you want to keep. Setting
|
|
11
|
+
* anything reschedules the widgets it affects and fetches once immediately.
|
|
12
|
+
*
|
|
13
|
+
* @example Point a widget at the tenant's own backend once the user has logged in.
|
|
14
|
+
* ```ts
|
|
15
|
+
* await setWidgetServerUpdate(
|
|
16
|
+
* { url: `https://${tenant}.example.com/widgets/portfolio`, headers: { Authorization: `Bearer ${token}` } },
|
|
17
|
+
* { widgetId: 'portfolio' }
|
|
18
|
+
* )
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example Take a widget over and drive it from the app until you hand it back.
|
|
22
|
+
* ```ts
|
|
23
|
+
* await setWidgetServerUpdate({ enabled: false }, { widgetId: 'portfolio' })
|
|
24
|
+
* await updateDynamicWidget('portfolio', localProps)
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @throws if the widget has no `serverUpdate` in app.json, if the URL is not https (plain http is
|
|
28
|
+
* allowed only in a debug build, and only for a local dev host), or if `query` names one of the
|
|
29
|
+
* parameters Voltra already sends.
|
|
30
|
+
*/
|
|
31
|
+
export declare function setWidgetServerUpdate(settings: WidgetServerUpdateSettings, options?: WidgetServerUpdateOptions): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Drops the runtime settings for one widget, or the global ones when no `widgetId` is given, so
|
|
34
|
+
* the widget falls back to what app.json configured.
|
|
35
|
+
*
|
|
36
|
+
* Clearing the global settings is the logout gesture: along with the settings it drops what the
|
|
37
|
+
* server last sent for every server-driven widget, so a Dynamic Widget goes back to `{}` with
|
|
38
|
+
* `env.serverUpdate.status` of `never` rather than showing the previous account's data. Credentials
|
|
39
|
+
* set with the deprecated `setWidgetServerCredentials` are stored separately — clear those with
|
|
40
|
+
* `clearWidgetServerCredentials`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function clearWidgetServerUpdate(options?: WidgetServerUpdateOptions): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Reads a widget's `serverUpdate` settings back, without reasoning about what was set where.
|
|
45
|
+
*
|
|
46
|
+
* With a `widgetId`, this is the fully resolved settings that widget would fetch with right now:
|
|
47
|
+
* every layer flattened and app.json's defaults applied — `null` if the widget is not
|
|
48
|
+
* server-driven. Without one, this is the raw contents of the global layer only — what the last
|
|
49
|
+
* `setWidgetServerUpdate(settings)` call (with no `widgetId`) wrote, with no defaults applied and
|
|
50
|
+
* every field optional — `null` if nothing has been set globally.
|
|
51
|
+
*
|
|
52
|
+
* @example Check what a widget is about to fetch from.
|
|
53
|
+
* ```ts
|
|
54
|
+
* const snapshot = await getWidgetServerUpdate({ widgetId: 'portfolio' })
|
|
55
|
+
* if (snapshot?.enabled) {
|
|
56
|
+
* console.log(`portfolio fetches ${snapshot.url} every ${snapshot.intervalMinutes}m`)
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function getWidgetServerUpdate(options: {
|
|
61
|
+
widgetId: string;
|
|
62
|
+
}): Promise<WidgetServerUpdateSnapshot | null>;
|
|
63
|
+
export declare function getWidgetServerUpdate(options?: undefined): Promise<WidgetServerUpdateSettings | null>;
|
|
64
|
+
//# sourceMappingURL=server-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-update.d.ts","sourceRoot":"","sources":["../../../../src/widgets/server-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAGpH,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,0BAA0B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAA;AACtH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WIDGET_FAMILY_MAP = exports.DEFAULT_WIDGET_FAMILIES = exports.SUPPORTED_IMAGE_EXTENSIONS = exports.DEFAULT_USER_IMAGES_PATH = exports.IOS = void 0;
|
|
3
|
+
exports.widgetKindOverrides = exports.widgetKind = exports.WIDGET_KIND_PREFIX = exports.WIDGET_FAMILY_MAP = exports.DEFAULT_WIDGET_FAMILIES = exports.SUPPORTED_IMAGE_EXTENSIONS = exports.DEFAULT_USER_IMAGES_PATH = exports.IOS = void 0;
|
|
4
4
|
exports.IOS = {
|
|
5
5
|
DEPLOYMENT_TARGET: '17.0',
|
|
6
6
|
SWIFT_VERSION: '5.0',
|
|
@@ -20,4 +20,23 @@ exports.WIDGET_FAMILY_MAP = {
|
|
|
20
20
|
accessoryRectangular: '.accessoryRectangular',
|
|
21
21
|
accessoryInline: '.accessoryInline',
|
|
22
22
|
};
|
|
23
|
+
/** Default prefix of a widget's WidgetKit `kind`: `Voltra_Widget_<id>`. Mirrors `VoltraStorageKeys.widgetKindPrefix`. */
|
|
24
|
+
exports.WIDGET_KIND_PREFIX = 'Voltra_Widget_';
|
|
25
|
+
/** WidgetKit `kind` of a widget: the `kind` option when set, else `Voltra_Widget_<id>`. */
|
|
26
|
+
const widgetKind = (widget) => widget.kind ?? `${exports.WIDGET_KIND_PREFIX}${widget.id}`;
|
|
27
|
+
exports.widgetKind = widgetKind;
|
|
28
|
+
/**
|
|
29
|
+
* `{ id: kind }` for the widgets that pin a custom `kind`, or undefined when none does.
|
|
30
|
+
* Written to both Info.plists (`Voltra_WidgetKinds`) so native code maps ids to kinds and back.
|
|
31
|
+
*/
|
|
32
|
+
const widgetKindOverrides = (widgets) => {
|
|
33
|
+
const overrides = {};
|
|
34
|
+
for (const widget of widgets ?? []) {
|
|
35
|
+
if (widget.kind !== undefined) {
|
|
36
|
+
overrides[widget.id] = widget.kind;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return Object.keys(overrides).length > 0 ? overrides : undefined;
|
|
40
|
+
};
|
|
41
|
+
exports.widgetKindOverrides = widgetKindOverrides;
|
|
23
42
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,GAAG,GAAG;IACjB,iBAAiB,EAAE,MAAM;IACzB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,IAAI;CAClB,CAAA;AAEV,mDAAmD;AACtC,QAAA,wBAAwB,GAAG,iBAAiB,CAAA;AAE5C,QAAA,0BAA0B,GAAG,oBAAoB,CAAA;AAEjD,QAAA,uBAAuB,GAAsB,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;AAE3F,QAAA,iBAAiB,GAAoC;IAChE,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,eAAe,EAAE,kBAAkB;CACpC,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,GAAG,GAAG;IACjB,iBAAiB,EAAE,MAAM;IACzB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,IAAI;CAClB,CAAA;AAEV,mDAAmD;AACtC,QAAA,wBAAwB,GAAG,iBAAiB,CAAA;AAE5C,QAAA,0BAA0B,GAAG,oBAAoB,CAAA;AAEjD,QAAA,uBAAuB,GAAsB,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;AAE3F,QAAA,iBAAiB,GAAoC;IAChE,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,eAAe,EAAE,kBAAkB;CACpC,CAAA;AAED,yHAAyH;AAC5G,QAAA,kBAAkB,GAAG,gBAAgB,CAAA;AAElD,2FAA2F;AACpF,MAAM,UAAU,GAAG,CAAC,MAA4C,EAAU,EAAE,CACjF,MAAM,CAAC,IAAI,IAAI,GAAG,0BAAkB,GAAG,MAAM,CAAC,EAAE,EAAE,CAAA;AADvC,QAAA,UAAU,cAC6B;AAEpD;;;GAGG;AACI,MAAM,mBAAmB,GAAG,CACjC,OAAgD,EACZ,EAAE;IACtC,MAAM,SAAS,GAA2B,EAAE,CAAA;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAA;QACpC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC,CAAA;AAVY,QAAA,mBAAmB,uBAU/B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const config_plugins_1 = require("expo/config-plugins");
|
|
4
|
+
const expo_plugin_1 = require("@use-voltra/expo-plugin");
|
|
4
5
|
const constants_1 = require("./constants");
|
|
5
6
|
const ios_1 = require("./ios");
|
|
6
7
|
const ios_widget_1 = require("./ios-widget");
|
|
@@ -14,6 +15,7 @@ const validation_1 = require("./validation");
|
|
|
14
15
|
const withVoltraIos = (config, props = {}) => {
|
|
15
16
|
const projectRoot = config.modRequest?.projectRoot;
|
|
16
17
|
(0, validation_1.validateIOSConfigPluginProps)(props, projectRoot);
|
|
18
|
+
const voltraVersion = (0, expo_plugin_1.resolveInstalledPackageVersion)(projectRoot ?? process.cwd(), '@use-voltra/ios-client');
|
|
17
19
|
const iosBundleIdentifier = config.ios?.bundleIdentifier;
|
|
18
20
|
if (!iosBundleIdentifier) {
|
|
19
21
|
throw new Error('The Voltra iOS config plugin requires "expo.ios.bundleIdentifier" to be set in the app config — ' +
|
|
@@ -32,15 +34,19 @@ const withVoltraIos = (config, props = {}) => {
|
|
|
32
34
|
groupIdentifier: props.groupIdentifier,
|
|
33
35
|
widgetIds: props.widgets && props.widgets.length > 0 ? props.widgets.map((w) => w.id) : undefined,
|
|
34
36
|
widgets: props.widgets,
|
|
37
|
+
liveActivities: props.liveActivities,
|
|
35
38
|
keychainGroup,
|
|
39
|
+
voltraVersion,
|
|
36
40
|
});
|
|
37
41
|
config = (0, ios_widget_1.withIOS)(config, {
|
|
38
42
|
targetName,
|
|
39
43
|
bundleIdentifier,
|
|
40
44
|
deploymentTarget,
|
|
41
45
|
widgets: props.widgets,
|
|
46
|
+
liveActivities: props.liveActivities,
|
|
42
47
|
version,
|
|
43
48
|
buildNumber,
|
|
49
|
+
voltraVersion,
|
|
44
50
|
...(props.groupIdentifier ? { groupIdentifier: props.groupIdentifier } : {}),
|
|
45
51
|
...(keychainGroup ? { keychainGroup } : {}),
|
|
46
52
|
...(props.fonts ? { fonts: props.fonts } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,wDAA+C;AAE/C,2CAAiC;AACjC,+BAAsD;AACtD,6CAAuD;AAEvD,iDAAmD;AACnD,6CAA2D;AAE3D;;;;GAIG;AACH,MAAM,aAAa,GAA0B,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IAClE,MAAM,WAAW,GAAI,MAAoD,CAAC,UAAU,EAAE,WAAW,CAAA;IACjG,IAAA,yCAA4B,EAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAEhD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAA;IACxD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,kGAAkG;YAChG,6DAA6D;YAC7D,+GAA+G,CAClH,CAAA;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,eAAG,CAAC,iBAAiB,CAAA;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,0BAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAA;IACvG,MAAM,gBAAgB,GAAG,GAAG,mBAAmB,IAAI,UAAU,EAAE,CAAA;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAA;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,EAAE,WAAW,IAAI,GAAG,CAAA;IAElD,MAAM,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAA;IAEhC,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,CAAA;IAClF,MAAM,aAAa,GACjB,KAAK,CAAC,aAAa,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,yBAAyB,mBAAmB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAE9G,MAAM,GAAG,IAAA,aAAO,EAAC,MAAM,EAAE;QACvB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACjG,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,GAAG,IAAA,oBAAa,EAAC,MAAM,EAAE;QAC7B,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;QACP,WAAW;QACX,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAA;IAEF,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAClC,MAAM,GAAG,IAAA,2BAAqB,EAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,kBAAe,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ function withIOS(config, props) {
|
|
|
21
21
|
widgetIds: props.widgetIds,
|
|
22
22
|
widgets: props.widgets,
|
|
23
23
|
keychainGroup: props.keychainGroup,
|
|
24
|
+
voltraVersion: props.voltraVersion,
|
|
24
25
|
});
|
|
25
26
|
// Configure entitlements
|
|
26
27
|
config = (0, entitlements_1.configureEntitlements)(config, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ios/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ios/index.ts"],"names":[],"mappings":";;;AAwBA,0BAsBC;AA5CD,+BAAoC;AACpC,iDAAsD;AACtD,2CAAgD;AAWhD;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,MAAkB,EAAE,KAAqB;IAC/D,uBAAuB;IACvB,MAAM,GAAG,IAAA,8BAAkB,EAAC,MAAM,EAAE;QAClC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC,CAAA;IAEF,yBAAyB;IACzB,MAAM,GAAG,IAAA,oCAAqB,EAAC,MAAM,EAAE;QACrC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC,CAAA;IAEF,gBAAgB;IAChB,MAAM,GAAG,IAAA,kBAAY,EAAC,MAAM,EAAE;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4BAA4B;AAC5B,yDAA2D;AAAlD,0HAAA,qBAAqB,OAAA"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.configureInfoPlist = void 0;
|
|
4
4
|
const config_plugins_1 = require("@expo/config-plugins");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const serverUpdate_1 = require("./serverUpdate");
|
|
5
7
|
/**
|
|
6
8
|
* Configures main app Info.plist for Live Activities and widgets.
|
|
7
9
|
*
|
|
@@ -9,14 +11,16 @@ const config_plugins_1 = require("@expo/config-plugins");
|
|
|
9
11
|
* - NSSupportsLiveActivities: Enables Live Activities support
|
|
10
12
|
* - Voltra_AppGroupIdentifier: App group ID for widget communication (if provided)
|
|
11
13
|
* - Voltra_WidgetIds: Array of widget IDs for native module access (if provided)
|
|
14
|
+
* - Voltra_WidgetKinds: Map of widget IDs to custom WidgetKit kinds (if any widget sets `kind`)
|
|
12
15
|
* - Voltra_WidgetServerUrls: Map of widget IDs to server URLs (if any widgets have serverUpdate)
|
|
13
16
|
* - Voltra_WidgetServerIntervals: Map of widget IDs to update intervals (if any widgets have serverUpdate)
|
|
14
17
|
* - Voltra_KeychainGroup: Keychain access group for shared credentials (if provided)
|
|
15
18
|
*/
|
|
16
|
-
const configureInfoPlist = (config, props
|
|
19
|
+
const configureInfoPlist = (config, props) => {
|
|
17
20
|
return (0, config_plugins_1.withInfoPlist)(config, (mod) => {
|
|
18
21
|
mod.modResults.NSSupportsLiveActivities = true;
|
|
19
22
|
mod.modResults.NSSupportsLiveActivitiesFrequentUpdates = false;
|
|
23
|
+
mod.modResults.Voltra_Version = props.voltraVersion;
|
|
20
24
|
// Only add group identifier if provided
|
|
21
25
|
if (props.groupIdentifier) {
|
|
22
26
|
mod.modResults.Voltra_AppGroupIdentifier = props.groupIdentifier;
|
|
@@ -25,19 +29,38 @@ const configureInfoPlist = (config, props = {}) => {
|
|
|
25
29
|
if (props.widgetIds && props.widgetIds.length > 0) {
|
|
26
30
|
mod.modResults.Voltra_WidgetIds = props.widgetIds;
|
|
27
31
|
}
|
|
32
|
+
// Store custom widget kinds so native code can map ids to kinds and back. A prebuild over an
|
|
33
|
+
// existing ios/ directory keeps whatever the plist already holds, so a `kind` that was removed
|
|
34
|
+
// from the config has to be deleted here or the widget would keep a kind nobody configured.
|
|
35
|
+
const widgetKinds = (0, constants_1.widgetKindOverrides)(props.widgets);
|
|
36
|
+
if (widgetKinds) {
|
|
37
|
+
mod.modResults.Voltra_WidgetKinds = widgetKinds;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
delete mod.modResults.Voltra_WidgetKinds;
|
|
41
|
+
}
|
|
28
42
|
// Configure server update URLs and intervals for widgets
|
|
29
43
|
if (props.widgets && props.widgets.length > 0) {
|
|
30
44
|
const serverUrls = {};
|
|
31
45
|
const serverIntervals = {};
|
|
32
46
|
for (const widget of props.widgets) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
47
|
+
const serverUpdate = (0, serverUpdate_1.resolveIOSWidgetServerUpdate)(widget);
|
|
48
|
+
if (!serverUpdate) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
// Every server-driven widget gets an interval, so this dictionary's keys are the set of
|
|
52
|
+
// server-driven widget ids the runtime settings store validates against. A URL is written
|
|
53
|
+
// only when app.json set one; otherwise the app supplies it with setWidgetServerUpdate.
|
|
54
|
+
serverIntervals[widget.id] = serverUpdate.intervalMinutes;
|
|
55
|
+
if (serverUpdate.url !== undefined) {
|
|
56
|
+
serverUrls[widget.id] = serverUpdate.url;
|
|
36
57
|
}
|
|
37
58
|
}
|
|
59
|
+
if (Object.keys(serverIntervals).length > 0) {
|
|
60
|
+
mod.modResults.Voltra_WidgetServerIntervals = serverIntervals;
|
|
61
|
+
}
|
|
38
62
|
if (Object.keys(serverUrls).length > 0) {
|
|
39
63
|
mod.modResults.Voltra_WidgetServerUrls = serverUrls;
|
|
40
|
-
mod.modResults.Voltra_WidgetServerIntervals = serverIntervals;
|
|
41
64
|
}
|
|
42
65
|
}
|
|
43
66
|
// Store Keychain group identifier for shared credential access
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoPlist.js","sourceRoot":"","sources":["../../../src/ios/infoPlist.ts"],"names":[],"mappings":";;;AAAA,yDAAkE;
|
|
1
|
+
{"version":3,"file":"infoPlist.js","sourceRoot":"","sources":["../../../src/ios/infoPlist.ts"],"names":[],"mappings":";;;AAAA,yDAAkE;AAElE,4CAAkD;AAElD,iDAA6D;AAU7D;;;;;;;;;;;GAWG;AACI,MAAM,kBAAkB,GAA0C,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IACzF,OAAO,IAAA,8BAAa,EAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,GAAG,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAA;QAC9C,GAAG,CAAC,UAAU,CAAC,uCAAuC,GAAG,KAAK,CAAA;QAC9D,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAA;QAEnD,wCAAwC;QACxC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,yBAAyB,GAAG,KAAK,CAAC,eAAe,CAAA;QAClE,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAA;QACnD,CAAC;QAED,6FAA6F;QAC7F,+FAA+F;QAC/F,4FAA4F;QAC5F,MAAM,WAAW,GAAG,IAAA,+BAAmB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,UAAU,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAA;QAC1C,CAAC;QAED,yDAAyD;QACzD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,UAAU,GAA2B,EAAE,CAAA;YAC7C,MAAM,eAAe,GAA2B,EAAE,CAAA;YAElD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,YAAY,GAAG,IAAA,2CAA4B,EAAC,MAAM,CAAC,CAAA;gBAEzD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAQ;gBACV,CAAC;gBAED,wFAAwF;gBACxF,0FAA0F;gBAC1F,wFAAwF;gBACxF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,eAAe,CAAA;gBAEzD,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACnC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,GAAG,CAAA;gBAC1C,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,GAAG,CAAC,UAAU,CAAC,4BAA4B,GAAG,eAAe,CAAA;YAC/D,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,UAAU,CAAC,uBAAuB,GAAG,UAAU,CAAA;YACrD,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,GAAG,CAAC,UAAU,CAAC,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAA;QAC3D,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAhEY,QAAA,kBAAkB,sBAgE9B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iosServerUpdateRules = iosServerUpdateRules;
|
|
4
|
+
exports.resolveIOSWidgetServerUpdate = resolveIOSWidgetServerUpdate;
|
|
5
|
+
const expo_plugin_1 = require("@use-voltra/expo-plugin");
|
|
6
|
+
/**
|
|
7
|
+
* iOS payload widgets have always defaulted to 15 minutes and accepted anything down to 1, since
|
|
8
|
+
* WidgetKit stretches a timeline it cannot honour rather than refusing it. A widget with an
|
|
9
|
+
* `entry` follows ADR 0002 instead: default 15, floor 15 on both platforms.
|
|
10
|
+
*/
|
|
11
|
+
function iosServerUpdateRules(widget) {
|
|
12
|
+
return {
|
|
13
|
+
hasEntry: widget.entry !== undefined,
|
|
14
|
+
defaultIntervalMinutes: 15,
|
|
15
|
+
minimumIntervalMinutes: 1,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/** `serverUpdate` with defaults applied, as the plist and Swift generators consume it. */
|
|
19
|
+
function resolveIOSWidgetServerUpdate(widget) {
|
|
20
|
+
if (widget.serverUpdate === undefined) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return (0, expo_plugin_1.resolveWidgetServerUpdate)(widget.serverUpdate, iosServerUpdateRules(widget));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=serverUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverUpdate.js","sourceRoot":"","sources":["../../../src/ios/serverUpdate.ts"],"names":[],"mappings":";;AAWA,oDAMC;AAGD,oEAQC;AA5BD,yDAAmE;AAMnE;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,MAAsC;IACzE,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS;QACpC,sBAAsB,EAAE,EAAE;QAC1B,sBAAsB,EAAE,CAAC;KAC1B,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,SAAgB,4BAA4B,CAC1C,MAAuD;IAEvD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,IAAA,uCAAyB,EAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;AACrF,CAAC"}
|
|
@@ -42,7 +42,8 @@ const expo_plugin_1 = require("@use-voltra/expo-plugin");
|
|
|
42
42
|
let hasWarnedExperimental = false;
|
|
43
43
|
/** Inspect every widget once and tag entry-backed widgets as Dynamic Widgets. */
|
|
44
44
|
function detectClientRenderedWidgets(widgets, projectRoot) {
|
|
45
|
-
const
|
|
45
|
+
const loader = (0, expo_plugin_1.createPrerenderWidgetModuleLoader)(projectRoot, 'ios');
|
|
46
|
+
const detected = widgets.map((widget) => detectSingleWidget(widget, projectRoot, loader));
|
|
46
47
|
if (!hasWarnedExperimental) {
|
|
47
48
|
const clientWidgetIds = detected.filter((widget) => widget.clientRendered).map((widget) => widget.id);
|
|
48
49
|
if (clientWidgetIds.length > 0) {
|
|
@@ -54,7 +55,7 @@ function detectClientRenderedWidgets(widgets, projectRoot) {
|
|
|
54
55
|
}
|
|
55
56
|
return detected;
|
|
56
57
|
}
|
|
57
|
-
function detectSingleWidget(widget, projectRoot) {
|
|
58
|
+
function detectSingleWidget(widget, projectRoot, loader) {
|
|
58
59
|
if (widget.entry === undefined) {
|
|
59
60
|
return {
|
|
60
61
|
...widget,
|
|
@@ -65,8 +66,7 @@ function detectSingleWidget(widget, projectRoot) {
|
|
|
65
66
|
if (!sourcePath || !fs.existsSync(sourcePath)) {
|
|
66
67
|
throw new Error(`[voltra] Dynamic Widget "${widget.id}" entry not found at ${path.relative(projectRoot, sourcePath ?? widget.entry)}`);
|
|
67
68
|
}
|
|
68
|
-
const
|
|
69
|
-
const widgetFn = widgetModule?.default ?? widgetModule;
|
|
69
|
+
const widgetFn = loader.loadDefaultExport(sourcePath);
|
|
70
70
|
if (typeof widgetFn !== 'function') {
|
|
71
71
|
throw new Error(`[voltra] Dynamic Widget "${widget.id}" at ${path.relative(projectRoot, sourcePath)} must default-export a function or component.`);
|
|
72
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientRendered.js","sourceRoot":"","sources":["../../../src/ios-widget/clientRendered.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,
|
|
1
|
+
{"version":3,"file":"clientRendered.js","sourceRoot":"","sources":["../../../src/ios-widget/clientRendered.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,kEAiBC;AAhDD,uCAAwB;AACxB,2CAA4B;AAE5B,yDAAoG;AAuBpG,8FAA8F;AAC9F,iBAAiB;AACjB,IAAI,qBAAqB,GAAG,KAAK,CAAA;AAEjC,iFAAiF;AACjF,SAAgB,2BAA2B,CAAC,OAA0B,EAAE,WAAmB;IACzF,MAAM,MAAM,GAAG,IAAA,+CAAiC,EAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;IAEzF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACrG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,qBAAqB,GAAG,IAAI,CAAA;YAC5B,OAAO,CAAC,IAAI,CACV,8CAA8C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAC3E,8FAA8F;gBAC9F,qFAAqF,CACxF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAuB,EACvB,WAAmB,EACnB,MAA0B;IAE1B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,MAAM;YACT,cAAc,EAAE,KAAK;SACtB,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACpE,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,4BAA4B,MAAM,CAAC,EAAE,wBAAwB,IAAI,CAAC,QAAQ,CACxE,WAAW,EACX,UAAU,IAAI,MAAM,CAAC,KAAK,CAC3B,EAAE,CACJ,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACrD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,4BAA4B,MAAM,CAAC,EAAE,QAAQ,IAAI,CAAC,QAAQ,CACxD,WAAW,EACX,UAAU,CACX,+CAA+C,CACjD,CAAA;IACH,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,UAAU;KAC7B,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,WAAmB;IAChE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AACzC,CAAC"}
|
|
@@ -62,7 +62,7 @@ const SINGLE_LOCALE_KEY = '__default';
|
|
|
62
62
|
* mirror `WidgetEnvironment` from packages/core/src/widget-environment.ts so the widget
|
|
63
63
|
* function sees the same shape it gets at runtime.
|
|
64
64
|
*/
|
|
65
|
-
function buildPlaceholderEnv() {
|
|
65
|
+
function buildPlaceholderEnv(voltraVersion) {
|
|
66
66
|
return {
|
|
67
67
|
date: Date.now(),
|
|
68
68
|
widgetFamily: 'systemMedium',
|
|
@@ -75,7 +75,7 @@ function buildPlaceholderEnv() {
|
|
|
75
75
|
isDev: false,
|
|
76
76
|
metroUrl: null,
|
|
77
77
|
appVersion: 'unknown',
|
|
78
|
-
voltraVersion
|
|
78
|
+
voltraVersion,
|
|
79
79
|
},
|
|
80
80
|
};
|
|
81
81
|
}
|
|
@@ -95,11 +95,11 @@ async function prerenderClientRenderedWidgets(widgets, projectRoot) {
|
|
|
95
95
|
// @use-voltra/android in a future phase.
|
|
96
96
|
const iosModuleId = '@use-voltra/ios';
|
|
97
97
|
const { renderVoltraVariantToJson } = (await Promise.resolve(`${iosModuleId}`).then(s => __importStar(require(s))));
|
|
98
|
-
const placeholderEnv = buildPlaceholderEnv();
|
|
98
|
+
const placeholderEnv = buildPlaceholderEnv((0, expo_plugin_1.resolveInstalledPackageVersion)(projectRoot, '@use-voltra/ios-client'));
|
|
99
|
+
const loader = (0, expo_plugin_1.createPrerenderWidgetModuleLoader)(projectRoot, 'ios');
|
|
99
100
|
for (const widget of clientWidgets) {
|
|
100
101
|
try {
|
|
101
|
-
const
|
|
102
|
-
const widgetFn = widgetModule?.default ?? widgetModule;
|
|
102
|
+
const widgetFn = loader.loadDefaultExport(widget.clientSourcePath);
|
|
103
103
|
if (typeof widgetFn !== 'function') {
|
|
104
104
|
throw new Error(`Expected the entry module at ${widget.clientSourcePath} to default-export a function or component.`);
|
|
105
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientRenderedPrerender.js","sourceRoot":"","sources":["../../../src/ios-widget/clientRenderedPrerender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"clientRenderedPrerender.js","sourceRoot":"","sources":["../../../src/ios-widget/clientRenderedPrerender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,wEA8CC;AA3GD,yDAKgC;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;AACI,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,yBAAa,WAAW,uCAAC,CAE/D,CAAA;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAA,4CAA8B,EAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAA;IACjH,MAAM,MAAM,GAAG,IAAA,+CAAiC,EAAC,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,oBAAM,CAAC,IAAI,CAAC,eAAe,aAAa,CAAC,MAAM,gCAAgC,CAAC,CAAA;IAChF,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateDynamicLiveActivityWidgetInstances = generateDynamicLiveActivityWidgetInstances;
|
|
7
|
+
exports.generateDynamicLiveActivityTypesSwift = generateDynamicLiveActivityTypesSwift;
|
|
8
|
+
exports.generateDynamicLiveActivitiesSwift = generateDynamicLiveActivitiesSwift;
|
|
9
|
+
const dedent_1 = __importDefault(require("dedent"));
|
|
10
|
+
const expo_plugin_1 = require("@use-voltra/expo-plugin");
|
|
11
|
+
const swift_utils_1 = require("../files/swift-utils");
|
|
12
|
+
function generateDynamicLiveActivityWidgetInstances(liveActivities) {
|
|
13
|
+
return sortedDefinitions(liveActivities)
|
|
14
|
+
.map((liveActivity) => `VoltraDynamicLiveActivity_${(0, expo_plugin_1.getDynamicLiveActivityAttributesType)(liveActivity.id)}()`)
|
|
15
|
+
.join('\n ');
|
|
16
|
+
}
|
|
17
|
+
/** Generates the Dynamic Live Activity types shared by the app and extension targets. */
|
|
18
|
+
function generateDynamicLiveActivityTypesSwift(liveActivities) {
|
|
19
|
+
const definitions = sortedDefinitions(liveActivities);
|
|
20
|
+
const typeDefinitions = definitions.map(generateDynamicLiveActivitySwift).map(normalizeIndent).join('\n\n');
|
|
21
|
+
const header = (0, dedent_1.default) `
|
|
22
|
+
//
|
|
23
|
+
// VoltraDynamicLiveActivityTypes.swift
|
|
24
|
+
//
|
|
25
|
+
// Auto-generated by Voltra config plugin. Do not edit.
|
|
26
|
+
//
|
|
27
|
+
|
|
28
|
+
import ActivityKit
|
|
29
|
+
import Foundation
|
|
30
|
+
|
|
31
|
+
import VoltraRuntime
|
|
32
|
+
|
|
33
|
+
@objc(VoltraGeneratedDynamicLiveActivityRegistration)
|
|
34
|
+
public final class VoltraGeneratedDynamicLiveActivityRegistration: NSObject {
|
|
35
|
+
@objc public static func registerDefinitions() {
|
|
36
|
+
${definitions
|
|
37
|
+
.map((liveActivity) => ` VoltraDynamicLiveActivityRegistry.shared.register(${(0, expo_plugin_1.getDynamicLiveActivityAttributesType)(liveActivity.id)}.self)`)
|
|
38
|
+
.join('\n')}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
`;
|
|
43
|
+
return [header.trim(), typeDefinitions.trim()].filter(Boolean).join('\n\n');
|
|
44
|
+
}
|
|
45
|
+
/** Generates extension-only ActivityConfiguration declarations for Dynamic Live Activities. */
|
|
46
|
+
function generateDynamicLiveActivitiesSwift(liveActivities) {
|
|
47
|
+
const configurations = sortedDefinitions(liveActivities)
|
|
48
|
+
.map((liveActivity) => {
|
|
49
|
+
const attributesType = (0, expo_plugin_1.getDynamicLiveActivityAttributesType)(liveActivity.id);
|
|
50
|
+
const definitionId = (0, swift_utils_1.escapeForSwiftStringLiteral)(liveActivity.id);
|
|
51
|
+
return (0, dedent_1.default) `
|
|
52
|
+
public struct VoltraDynamicLiveActivity_${attributesType}: Widget {
|
|
53
|
+
public init() {}
|
|
54
|
+
|
|
55
|
+
public var body: some WidgetConfiguration {
|
|
56
|
+
if #available(iOS 18.0, *) {
|
|
57
|
+
return adaptiveConfig()
|
|
58
|
+
} else {
|
|
59
|
+
return defaultConfig()
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@available(iOS 18.0, *)
|
|
64
|
+
private func adaptiveConfig() -> some WidgetConfiguration {
|
|
65
|
+
ActivityConfiguration(for: ${attributesType}.self) { context in
|
|
66
|
+
VoltraDynamicLiveActivityRenderer.lockScreen(definitionId: "${definitionId}", context: context)
|
|
67
|
+
} dynamicIsland: { context in
|
|
68
|
+
VoltraDynamicLiveActivityRenderer.dynamicIsland(definitionId: "${definitionId}", context: context)
|
|
69
|
+
}
|
|
70
|
+
.supplementalActivityFamilies([.small, .medium])
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private func defaultConfig() -> some WidgetConfiguration {
|
|
74
|
+
ActivityConfiguration(for: ${attributesType}.self) { context in
|
|
75
|
+
VoltraDynamicLiveActivityRenderer.lockScreen(definitionId: "${definitionId}", context: context)
|
|
76
|
+
} dynamicIsland: { context in
|
|
77
|
+
VoltraDynamicLiveActivityRenderer.dynamicIsland(definitionId: "${definitionId}", context: context)
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
82
|
+
})
|
|
83
|
+
.map(normalizeIndent)
|
|
84
|
+
.join('\n\n');
|
|
85
|
+
const header = (0, dedent_1.default) `
|
|
86
|
+
//
|
|
87
|
+
// VoltraDynamicLiveActivities.swift
|
|
88
|
+
//
|
|
89
|
+
// Auto-generated by Voltra config plugin. Do not edit.
|
|
90
|
+
//
|
|
91
|
+
|
|
92
|
+
import ActivityKit
|
|
93
|
+
import SwiftUI
|
|
94
|
+
import WidgetKit
|
|
95
|
+
import VoltraRuntime
|
|
96
|
+
|
|
97
|
+
`;
|
|
98
|
+
return [header.trim(), configurations.trim()].filter(Boolean).join('\n\n');
|
|
99
|
+
}
|
|
100
|
+
function generateDynamicLiveActivitySwift(liveActivity) {
|
|
101
|
+
const attributesType = (0, expo_plugin_1.getDynamicLiveActivityAttributesType)(liveActivity.id);
|
|
102
|
+
const definitionId = (0, swift_utils_1.escapeForSwiftStringLiteral)(liveActivity.id);
|
|
103
|
+
return (0, dedent_1.default) `
|
|
104
|
+
public struct ${attributesType}: ActivityAttributes {
|
|
105
|
+
public typealias ContentState = VoltraDynamicLiveActivityContentState
|
|
106
|
+
|
|
107
|
+
public let name: String
|
|
108
|
+
public let deepLinkUrl: String?
|
|
109
|
+
|
|
110
|
+
public init(name: String, deepLinkUrl: String?) {
|
|
111
|
+
self.name = name
|
|
112
|
+
self.deepLinkUrl = deepLinkUrl
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
extension ${attributesType}: VoltraDynamicLiveActivityDefinition {
|
|
117
|
+
public static let definitionId = "${definitionId}"
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
function sortedDefinitions(liveActivities) {
|
|
123
|
+
return [...liveActivities].sort((left, right) => left.id.localeCompare(right.id));
|
|
124
|
+
}
|
|
125
|
+
function normalizeIndent(source) {
|
|
126
|
+
const lines = source.trim().split('\n');
|
|
127
|
+
const indent = Math.min(...lines.filter(Boolean).map((line) => line.match(/^\s*/)?.[0].length ?? 0));
|
|
128
|
+
return lines.map((line) => line.slice(indent)).join('\n');
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=swift.js.map
|