@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
package/Voltra.podspec
CHANGED
package/build/commonjs/events.js
CHANGED
|
@@ -9,6 +9,11 @@ var _VoltraModule = require("./VoltraModule.js");
|
|
|
9
9
|
const noopSubscription = {
|
|
10
10
|
remove: () => {}
|
|
11
11
|
};
|
|
12
|
+
|
|
13
|
+
// Codegen EventEmitter subscriptions do not tell native code when their last
|
|
14
|
+
// JavaScript listener goes away. Keep this count at the public API boundary so
|
|
15
|
+
// the App Group queue is drained only while it can actually be delivered.
|
|
16
|
+
let dynamicRenderFailureListenerCount = 0;
|
|
12
17
|
function addVoltraListener(event, listener) {
|
|
13
18
|
if (_reactNative.Platform.OS !== 'ios') {
|
|
14
19
|
console.warn(`[Voltra] Event '${event}' is only supported on iOS. Returning no-op subscription.`);
|
|
@@ -24,6 +29,24 @@ function addVoltraListener(event, listener) {
|
|
|
24
29
|
return voltraModule.onStateChanged(listener);
|
|
25
30
|
case 'interaction':
|
|
26
31
|
return voltraModule.onInteraction(listener);
|
|
32
|
+
case 'dynamicLiveActivityRenderFailed':
|
|
33
|
+
const subscription = voltraModule.onDynamicLiveActivityRenderFailed(listener);
|
|
34
|
+
dynamicRenderFailureListenerCount += 1;
|
|
35
|
+
if (dynamicRenderFailureListenerCount === 1) {
|
|
36
|
+
voltraModule.setDynamicLiveActivityRenderFailureListenerActive(true);
|
|
37
|
+
}
|
|
38
|
+
let removed = false;
|
|
39
|
+
return {
|
|
40
|
+
remove: () => {
|
|
41
|
+
if (removed) return;
|
|
42
|
+
removed = true;
|
|
43
|
+
subscription.remove();
|
|
44
|
+
dynamicRenderFailureListenerCount -= 1;
|
|
45
|
+
if (dynamicRenderFailureListenerCount === 0) {
|
|
46
|
+
voltraModule.setDynamicLiveActivityRenderFailureListenerActive(false);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
27
50
|
default:
|
|
28
51
|
console.warn(`[Voltra] Event '${event}' is not supported. Returning no-op subscription.`);
|
|
29
52
|
return noopSubscription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_VoltraModule","noopSubscription","remove","addVoltraListener","event","listener","Platform","OS","console","warn","voltraModule","getNativeVoltra","onActivityTokenReceived","onActivityPushToStartTokenReceived","onStateChanged","onInteraction"],"sourceRoot":"../../src","sources":["events.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_VoltraModule","noopSubscription","remove","dynamicRenderFailureListenerCount","addVoltraListener","event","listener","Platform","OS","console","warn","voltraModule","getNativeVoltra","onActivityTokenReceived","onActivityPushToStartTokenReceived","onStateChanged","onInteraction","subscription","onDynamicLiveActivityRenderFailed","setDynamicLiveActivityRenderFailureListenerActive","removed"],"sourceRoot":"../../src","sources":["events.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AAoCA,MAAME,gBAAmC,GAAG;EAC1CC,MAAM,EAAEA,CAAA,KAAM,CAAC;AACjB,CAAC;;AAED;AACA;AACA;AACA,IAAIC,iCAAiC,GAAG,CAAC;AAUlC,SAASC,iBAAiBA,CAC/BC,KAAQ,EACRC,QAA4C,EACzB;EACnB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzBC,OAAO,CAACC,IAAI,CAAC,mBAAmBL,KAAK,2DAA2D,CAAC;IACjG,OAAOJ,gBAAgB;EACzB;EAEA,MAAMU,YAAY,GAAG,IAAAC,6BAAe,EAAC,CAAC;EAEtC,QAAQP,KAAK;IACX,KAAK,uBAAuB;MAC1B,OAAOM,YAAY,CAACE,uBAAuB,CAACP,QAA2D,CAAC;IAC1G,KAAK,kCAAkC;MACrC,OAAOK,YAAY,CAACG,kCAAkC,CACpDR,QACF,CAAC;IACH,KAAK,aAAa;MAChB,OAAOK,YAAY,CAACI,cAAc,CAACT,QAAoD,CAAC;IAC1F,KAAK,aAAa;MAChB,OAAOK,YAAY,CAACK,aAAa,CAACV,QAAiD,CAAC;IACtF,KAAK,iCAAiC;MACpC,MAAMW,YAAY,GAAGN,YAAY,CAACO,iCAAiC,CACjEZ,QACF,CAAC;MACDH,iCAAiC,IAAI,CAAC;MACtC,IAAIA,iCAAiC,KAAK,CAAC,EAAE;QAC3CQ,YAAY,CAACQ,iDAAiD,CAAC,IAAI,CAAC;MACtE;MAEA,IAAIC,OAAO,GAAG,KAAK;MACnB,OAAO;QACLlB,MAAM,EAAEA,CAAA,KAAM;UACZ,IAAIkB,OAAO,EAAE;UACbA,OAAO,GAAG,IAAI;UACdH,YAAY,CAACf,MAAM,CAAC,CAAC;UACrBC,iCAAiC,IAAI,CAAC;UACtC,IAAIA,iCAAiC,KAAK,CAAC,EAAE;YAC3CQ,YAAY,CAACQ,iDAAiD,CAAC,KAAK,CAAC;UACvE;QACF;MACF,CAAC;IACH;MACEV,OAAO,CAACC,IAAI,CAAC,mBAAmBL,KAAK,mDAAmD,CAAC;MACzF,OAAOJ,gBAAgB;EAC3B;AACF","ignoreList":[]}
|
package/build/commonjs/index.js
CHANGED
|
@@ -19,12 +19,20 @@ var _exportNames = {
|
|
|
19
19
|
stopLiveActivity: true,
|
|
20
20
|
updateLiveActivity: true,
|
|
21
21
|
useLiveActivity: true,
|
|
22
|
+
getDynamicLiveActivityDefinitionIds: true,
|
|
23
|
+
startDynamicLiveActivity: true,
|
|
24
|
+
updateDynamicLiveActivity: true,
|
|
25
|
+
useDynamicLiveActivity: true,
|
|
22
26
|
clearPreloadedImages: true,
|
|
23
27
|
preloadImages: true,
|
|
24
28
|
reloadLiveActivities: true,
|
|
25
29
|
assertRunningOnApple: true,
|
|
26
30
|
enableWidgetHotReload: true,
|
|
31
|
+
enableDynamicLiveActivityHotReload: true,
|
|
27
32
|
useUpdateOnHMR: true,
|
|
33
|
+
clearWidgetServerUpdate: true,
|
|
34
|
+
getWidgetServerUpdate: true,
|
|
35
|
+
setWidgetServerUpdate: true,
|
|
28
36
|
clearWidgetServerCredentials: true,
|
|
29
37
|
setWidgetServerCredentials: true,
|
|
30
38
|
clearAllWidgets: true,
|
|
@@ -88,6 +96,18 @@ Object.defineProperty(exports, "clearWidgetServerCredentials", {
|
|
|
88
96
|
return _serverCredentials.clearWidgetServerCredentials;
|
|
89
97
|
}
|
|
90
98
|
});
|
|
99
|
+
Object.defineProperty(exports, "clearWidgetServerUpdate", {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
get: function () {
|
|
102
|
+
return _serverUpdate.clearWidgetServerUpdate;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
Object.defineProperty(exports, "enableDynamicLiveActivityHotReload", {
|
|
106
|
+
enumerable: true,
|
|
107
|
+
get: function () {
|
|
108
|
+
return _enableDynamicLiveActivityHotReload.enableDynamicLiveActivityHotReload;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
91
111
|
Object.defineProperty(exports, "enableWidgetHotReload", {
|
|
92
112
|
enumerable: true,
|
|
93
113
|
get: function () {
|
|
@@ -106,6 +126,18 @@ Object.defineProperty(exports, "getActiveWidgets", {
|
|
|
106
126
|
return _widgetApi.getActiveWidgets;
|
|
107
127
|
}
|
|
108
128
|
});
|
|
129
|
+
Object.defineProperty(exports, "getDynamicLiveActivityDefinitionIds", {
|
|
130
|
+
enumerable: true,
|
|
131
|
+
get: function () {
|
|
132
|
+
return _dynamicApi.getDynamicLiveActivityDefinitionIds;
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
Object.defineProperty(exports, "getWidgetServerUpdate", {
|
|
136
|
+
enumerable: true,
|
|
137
|
+
get: function () {
|
|
138
|
+
return _serverUpdate.getWidgetServerUpdate;
|
|
139
|
+
}
|
|
140
|
+
});
|
|
109
141
|
Object.defineProperty(exports, "isGlassSupported", {
|
|
110
142
|
enumerable: true,
|
|
111
143
|
get: function () {
|
|
@@ -160,6 +192,18 @@ Object.defineProperty(exports, "setWidgetServerCredentials", {
|
|
|
160
192
|
return _serverCredentials.setWidgetServerCredentials;
|
|
161
193
|
}
|
|
162
194
|
});
|
|
195
|
+
Object.defineProperty(exports, "setWidgetServerUpdate", {
|
|
196
|
+
enumerable: true,
|
|
197
|
+
get: function () {
|
|
198
|
+
return _serverUpdate.setWidgetServerUpdate;
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
Object.defineProperty(exports, "startDynamicLiveActivity", {
|
|
202
|
+
enumerable: true,
|
|
203
|
+
get: function () {
|
|
204
|
+
return _dynamicApi.startDynamicLiveActivity;
|
|
205
|
+
}
|
|
206
|
+
});
|
|
163
207
|
Object.defineProperty(exports, "startLiveActivity", {
|
|
164
208
|
enumerable: true,
|
|
165
209
|
get: function () {
|
|
@@ -172,6 +216,12 @@ Object.defineProperty(exports, "stopLiveActivity", {
|
|
|
172
216
|
return _api2.stopLiveActivity;
|
|
173
217
|
}
|
|
174
218
|
});
|
|
219
|
+
Object.defineProperty(exports, "updateDynamicLiveActivity", {
|
|
220
|
+
enumerable: true,
|
|
221
|
+
get: function () {
|
|
222
|
+
return _dynamicApi.updateDynamicLiveActivity;
|
|
223
|
+
}
|
|
224
|
+
});
|
|
175
225
|
Object.defineProperty(exports, "updateDynamicWidget", {
|
|
176
226
|
enumerable: true,
|
|
177
227
|
get: function () {
|
|
@@ -190,6 +240,12 @@ Object.defineProperty(exports, "updateWidget", {
|
|
|
190
240
|
return _widgetApi.updateWidget;
|
|
191
241
|
}
|
|
192
242
|
});
|
|
243
|
+
Object.defineProperty(exports, "useDynamicLiveActivity", {
|
|
244
|
+
enumerable: true,
|
|
245
|
+
get: function () {
|
|
246
|
+
return _dynamicApi.useDynamicLiveActivity;
|
|
247
|
+
}
|
|
248
|
+
});
|
|
193
249
|
Object.defineProperty(exports, "useIsHeadless", {
|
|
194
250
|
enumerable: true,
|
|
195
251
|
get: function () {
|
|
@@ -228,9 +284,11 @@ Object.keys(_events).forEach(function (key) {
|
|
|
228
284
|
var _helpers = require("./helpers.js");
|
|
229
285
|
var _logger = require("./logger.js");
|
|
230
286
|
var _api2 = require("./live-activity/api.js");
|
|
287
|
+
var _dynamicApi = require("./live-activity/dynamic-api.js");
|
|
231
288
|
var _preload = require("./preload.js");
|
|
232
289
|
var _assertRunningOnApple = require("./utils/assertRunningOnApple.js");
|
|
233
290
|
var _enableWidgetHotReload = require("./utils/enableWidgetHotReload.js");
|
|
291
|
+
var _enableDynamicLiveActivityHotReload = require("./utils/enableDynamicLiveActivityHotReload.js");
|
|
234
292
|
var _useUpdateOnHMR = require("./utils/useUpdateOnHMR.js");
|
|
235
293
|
var _helpers2 = require("./utils/helpers.js");
|
|
236
294
|
Object.keys(_helpers2).forEach(function (key) {
|
|
@@ -244,6 +302,7 @@ Object.keys(_helpers2).forEach(function (key) {
|
|
|
244
302
|
}
|
|
245
303
|
});
|
|
246
304
|
});
|
|
305
|
+
var _serverUpdate = require("./widgets/server-update.js");
|
|
247
306
|
var _serverCredentials = require("./widgets/server-credentials.js");
|
|
248
307
|
var _widgetApi = require("./widgets/widget-api.js");
|
|
249
308
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ios","require","_VoltraLiveActivityPreview","_VoltraView","_VoltraWidgetPreview","_api","_events","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_helpers","_logger","_api2","_preload","_assertRunningOnApple","_enableWidgetHotReload","_useUpdateOnHMR","_helpers2","_serverCredentials","_widgetApi"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_ios","require","_VoltraLiveActivityPreview","_VoltraView","_VoltraWidgetPreview","_api","_events","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_helpers","_logger","_api2","_dynamicApi","_preload","_assertRunningOnApple","_enableWidgetHotReload","_enableDynamicLiveActivityHotReload","_useUpdateOnHMR","_helpers2","_serverUpdate","_serverCredentials","_widgetApi"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAAAM,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAlB,OAAA;AACA,IAAAmB,OAAA,GAAAnB,OAAA;AACA,IAAAoB,KAAA,GAAApB,OAAA;AAcA,IAAAqB,WAAA,GAAArB,OAAA;AAaA,IAAAsB,QAAA,GAAAtB,OAAA;AAOA,IAAAuB,qBAAA,GAAAvB,OAAA;AACA,IAAAwB,sBAAA,GAAAxB,OAAA;AACA,IAAAyB,mCAAA,GAAAzB,OAAA;AACA,IAAA0B,eAAA,GAAA1B,OAAA;AACA,IAAA2B,SAAA,GAAA3B,OAAA;AAAAM,MAAA,CAAAC,IAAA,CAAAoB,SAAA,EAAAnB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAkB,SAAA,CAAAlB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAU,SAAA,CAAAlB,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAmB,aAAA,GAAA5B,OAAA;AASA,IAAA6B,kBAAA,GAAA7B,OAAA;AAMA,IAAA8B,UAAA,GAAA9B,OAAA","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.endAllLiveActivities = endAllLiveActivities;
|
|
7
|
-
exports.useLiveActivity = exports.updateLiveActivity = exports.stopLiveActivity = exports.startLiveActivity = exports.isLiveActivityActive = void 0;
|
|
7
|
+
exports.useLiveActivity = exports.updateLiveActivity = exports.stopLiveActivity = exports.startLiveActivity = exports.normalizeSharedLiveActivityOptions = exports.normalizeEndLiveActivityOptions = exports.isLiveActivityActive = void 0;
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _ios = require("@use-voltra/ios");
|
|
10
10
|
var _events = require("../events.js");
|
|
@@ -30,6 +30,7 @@ const normalizeSharedLiveActivityOptions = options => {
|
|
|
30
30
|
}
|
|
31
31
|
return Object.keys(normalizedOptions).length > 0 ? normalizedOptions : undefined;
|
|
32
32
|
};
|
|
33
|
+
exports.normalizeSharedLiveActivityOptions = normalizeSharedLiveActivityOptions;
|
|
33
34
|
const normalizeEndLiveActivityOptions = options => {
|
|
34
35
|
if (!options?.dismissalPolicy) return undefined;
|
|
35
36
|
if (typeof options.dismissalPolicy === 'string') {
|
|
@@ -54,6 +55,7 @@ const normalizeEndLiveActivityOptions = options => {
|
|
|
54
55
|
}
|
|
55
56
|
};
|
|
56
57
|
};
|
|
58
|
+
exports.normalizeEndLiveActivityOptions = normalizeEndLiveActivityOptions;
|
|
57
59
|
const useLiveActivity = (variants, options) => {
|
|
58
60
|
const [targetId, setTargetId] = (0, _react.useState)(() => {
|
|
59
61
|
if (options?.activityName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_ios","_events","_logger","_index","_VoltraModule","normalizeSharedLiveActivityOptions","options","undefined","normalizedOptions","staleDate","Date","now","logger","warn","relevanceScore","Object","keys","length","normalizeEndLiveActivityOptions","dismissalPolicy","type","date","after","useLiveActivity","variants","targetId","setTargetId","useState","activityName","isLiveActivityActive","isActive","optionsRef","useRef","variantsRef","lastUpdateOptionsRef","useEffect","current","useUpdateOnHMR","start","useCallback","id","startLiveActivity","update","updateOptions","updateLiveActivity","end","stopLiveActivity","autoStart","autoUpdate","subscription","addVoltraListener","event","activityState","remove","
|
|
1
|
+
{"version":3,"names":["_react","require","_ios","_events","_logger","_index","_VoltraModule","normalizeSharedLiveActivityOptions","options","undefined","normalizedOptions","staleDate","Date","now","logger","warn","relevanceScore","Object","keys","length","exports","normalizeEndLiveActivityOptions","dismissalPolicy","type","date","after","useLiveActivity","variants","targetId","setTargetId","useState","activityName","isLiveActivityActive","isActive","optionsRef","useRef","variantsRef","lastUpdateOptionsRef","useEffect","current","useUpdateOnHMR","start","useCallback","id","startLiveActivity","update","updateOptions","updateLiveActivity","end","stopLiveActivity","autoStart","autoUpdate","subscription","addVoltraListener","event","activityState","remove","assertRunningOnApple","Promise","resolve","payload","renderLiveActivityToString","normalizedSharedOptions","getNativeVoltra","target","deepLinkUrl","channelId","endLiveActivity","endAllLiveActivities"],"sourceRoot":"../../../src","sources":["live-activity/api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getDynamicLiveActivityDefinitionIds = getDynamicLiveActivityDefinitionIds;
|
|
7
|
+
exports.startDynamicLiveActivity = startDynamicLiveActivity;
|
|
8
|
+
exports.updateDynamicLiveActivity = updateDynamicLiveActivity;
|
|
9
|
+
exports.useDynamicLiveActivity = useDynamicLiveActivity;
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _events = require("../events.js");
|
|
12
|
+
var _index = require("../utils/index.js");
|
|
13
|
+
var _VoltraModule = require("../VoltraModule.js");
|
|
14
|
+
var _api = require("./api.js");
|
|
15
|
+
/** @experimental A JSON-compatible value accepted as Dynamic Live Activity props. */
|
|
16
|
+
|
|
17
|
+
/** @experimental A complete JSON-compatible props record for a Dynamic Live Activity update. */
|
|
18
|
+
|
|
19
|
+
/** @experimental Options used to start a Dynamic Live Activity. */
|
|
20
|
+
|
|
21
|
+
/** @experimental Options used to update a Dynamic Live Activity. */
|
|
22
|
+
|
|
23
|
+
/** @experimental Options for `useDynamicLiveActivity`. */
|
|
24
|
+
|
|
25
|
+
/** @experimental Lifecycle controls returned by `useDynamicLiveActivity`. */
|
|
26
|
+
|
|
27
|
+
function serializeDynamicLiveActivityProps(props) {
|
|
28
|
+
const ancestors = new Set();
|
|
29
|
+
const validate = (value, path) => {
|
|
30
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean') return;
|
|
31
|
+
if (typeof value === 'number') {
|
|
32
|
+
if (!Number.isFinite(value)) {
|
|
33
|
+
throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} is not a finite number.`);
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (Array.isArray(value)) {
|
|
38
|
+
if (ancestors.has(value)) {
|
|
39
|
+
throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} contains a circular reference.`);
|
|
40
|
+
}
|
|
41
|
+
ancestors.add(value);
|
|
42
|
+
value.forEach((item, index) => validate(item, `${path}[${index}]`));
|
|
43
|
+
ancestors.delete(value);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (typeof value === 'object') {
|
|
47
|
+
const prototype = Object.getPrototypeOf(value);
|
|
48
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
49
|
+
throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} must be a plain object.`);
|
|
50
|
+
}
|
|
51
|
+
if (ancestors.has(value)) {
|
|
52
|
+
throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} contains a circular reference.`);
|
|
53
|
+
}
|
|
54
|
+
ancestors.add(value);
|
|
55
|
+
for (const [key, item] of Object.entries(value)) {
|
|
56
|
+
validate(item, `${path}.${key}`);
|
|
57
|
+
}
|
|
58
|
+
ancestors.delete(value);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} has unsupported type ${typeof value}.`);
|
|
62
|
+
};
|
|
63
|
+
if (props === null || Array.isArray(props) || typeof props !== 'object') {
|
|
64
|
+
throw new TypeError('Dynamic Live Activity props must be a JSON-compatible record.');
|
|
65
|
+
}
|
|
66
|
+
validate(props, 'props');
|
|
67
|
+
return JSON.stringify(props);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Starts a bundled Dynamic Live Activity with a complete opaque props record.
|
|
72
|
+
* @experimental
|
|
73
|
+
*/
|
|
74
|
+
async function startDynamicLiveActivity(definitionId, props, options) {
|
|
75
|
+
if (!(0, _index.assertRunningOnApple)()) return '';
|
|
76
|
+
const propsJson = serializeDynamicLiveActivityProps(props);
|
|
77
|
+
const normalizedSharedOptions = (0, _api.normalizeSharedLiveActivityOptions)(options);
|
|
78
|
+
return (0, _VoltraModule.getNativeVoltra)().startDynamicLiveActivity(definitionId, propsJson, {
|
|
79
|
+
target: 'liveActivity',
|
|
80
|
+
deepLinkUrl: options?.deepLinkUrl,
|
|
81
|
+
activityName: options?.activityName,
|
|
82
|
+
channelId: options?.channelId,
|
|
83
|
+
...normalizedSharedOptions
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Replaces a Dynamic Live Activity's complete opaque props record.
|
|
89
|
+
* @experimental
|
|
90
|
+
*/
|
|
91
|
+
async function updateDynamicLiveActivity(activityName, props, options) {
|
|
92
|
+
if (!(0, _index.assertRunningOnApple)()) return;
|
|
93
|
+
const propsJson = serializeDynamicLiveActivityProps(props);
|
|
94
|
+
return (0, _VoltraModule.getNativeVoltra)().updateDynamicLiveActivity(activityName, propsJson, (0, _api.normalizeSharedLiveActivityOptions)(options) ?? {});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Returns the Dynamic Live Activity definition IDs bundled in the installed app.
|
|
99
|
+
* @experimental
|
|
100
|
+
*/
|
|
101
|
+
async function getDynamicLiveActivityDefinitionIds() {
|
|
102
|
+
if (!(0, _index.assertRunningOnApple)()) return [];
|
|
103
|
+
return (0, _VoltraModule.getNativeVoltra)().getDynamicLiveActivityDefinitionIds();
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Manages the lifecycle of one Dynamic Live Activity definition.
|
|
108
|
+
*
|
|
109
|
+
* Complete props are sent on every update. In development, call
|
|
110
|
+
* `enableDynamicLiveActivityHotReload()` once in the app host to reload only
|
|
111
|
+
* the definition changed by Fast Refresh.
|
|
112
|
+
* @experimental
|
|
113
|
+
*/
|
|
114
|
+
function useDynamicLiveActivity(definitionId, props, options) {
|
|
115
|
+
const [activityName, setActivityName] = (0, _react.useState)(() => {
|
|
116
|
+
if (options?.activityName) {
|
|
117
|
+
return (0, _api.isLiveActivityActive)(options.activityName) ? options.activityName : null;
|
|
118
|
+
}
|
|
119
|
+
return null;
|
|
120
|
+
});
|
|
121
|
+
const propsRef = (0, _react.useRef)(props);
|
|
122
|
+
const optionsRef = (0, _react.useRef)(options);
|
|
123
|
+
const lastUpdateOptionsRef = (0, _react.useRef)(undefined);
|
|
124
|
+
(0, _react.useEffect)(() => {
|
|
125
|
+
propsRef.current = props;
|
|
126
|
+
}, [props]);
|
|
127
|
+
(0, _react.useEffect)(() => {
|
|
128
|
+
optionsRef.current = options;
|
|
129
|
+
}, [options]);
|
|
130
|
+
(0, _index.useUpdateOnHMR)();
|
|
131
|
+
const start = (0, _react.useCallback)(async startOptions => {
|
|
132
|
+
const id = await startDynamicLiveActivity(definitionId, propsRef.current, {
|
|
133
|
+
...optionsRef.current,
|
|
134
|
+
...startOptions
|
|
135
|
+
});
|
|
136
|
+
setActivityName(id);
|
|
137
|
+
}, [definitionId]);
|
|
138
|
+
const update = (0, _react.useCallback)(async updateOptions => {
|
|
139
|
+
if (!activityName) return;
|
|
140
|
+
const mergedOptions = {
|
|
141
|
+
...optionsRef.current,
|
|
142
|
+
...updateOptions
|
|
143
|
+
};
|
|
144
|
+
lastUpdateOptionsRef.current = mergedOptions;
|
|
145
|
+
await updateDynamicLiveActivity(activityName, propsRef.current, mergedOptions);
|
|
146
|
+
}, [activityName]);
|
|
147
|
+
const end = (0, _react.useCallback)(async endOptions => {
|
|
148
|
+
if (!activityName) return;
|
|
149
|
+
await (0, _api.stopLiveActivity)(activityName, endOptions);
|
|
150
|
+
setActivityName(null);
|
|
151
|
+
}, [activityName]);
|
|
152
|
+
(0, _react.useEffect)(() => {
|
|
153
|
+
if (options?.autoStart) void start();
|
|
154
|
+
}, [options?.autoStart, start]);
|
|
155
|
+
(0, _react.useEffect)(() => {
|
|
156
|
+
if (options?.autoUpdate) void update(lastUpdateOptionsRef.current);
|
|
157
|
+
}, [options?.autoUpdate, props, update]);
|
|
158
|
+
(0, _react.useEffect)(() => {
|
|
159
|
+
if (!activityName) return;
|
|
160
|
+
const subscription = (0, _events.addVoltraListener)('stateChange', event => {
|
|
161
|
+
if (event.activityName !== activityName) return;
|
|
162
|
+
if (event.activityState === 'dismissed' || event.activityState === 'ended') setActivityName(null);
|
|
163
|
+
});
|
|
164
|
+
return () => subscription.remove();
|
|
165
|
+
}, [activityName]);
|
|
166
|
+
return {
|
|
167
|
+
start,
|
|
168
|
+
update,
|
|
169
|
+
end,
|
|
170
|
+
isActive: activityName !== null
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=dynamic-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_events","_index","_VoltraModule","_api","serializeDynamicLiveActivityProps","props","ancestors","Set","validate","value","path","Number","isFinite","TypeError","Array","isArray","has","add","forEach","item","index","delete","prototype","Object","getPrototypeOf","key","entries","JSON","stringify","startDynamicLiveActivity","definitionId","options","assertRunningOnApple","propsJson","normalizedSharedOptions","normalizeSharedLiveActivityOptions","getNativeVoltra","target","deepLinkUrl","activityName","channelId","updateDynamicLiveActivity","getDynamicLiveActivityDefinitionIds","useDynamicLiveActivity","setActivityName","useState","isLiveActivityActive","propsRef","useRef","optionsRef","lastUpdateOptionsRef","undefined","useEffect","current","useUpdateOnHMR","start","useCallback","startOptions","id","update","updateOptions","mergedOptions","end","endOptions","stopLiveActivity","autoStart","autoUpdate","subscription","addVoltraListener","event","activityState","remove","isActive"],"sourceRoot":"../../../src","sources":["live-activity/dynamic-api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","getNativeVoltra","voltraModule","TurboModuleRegistry","get","Error"],"sourceRoot":"../../../src","sources":["native/NativeVoltra.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","getNativeVoltra","voltraModule","TurboModuleRegistry","get","Error"],"sourceRoot":"../../../src","sources":["native/NativeVoltra.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAqIO,SAASC,eAAeA,CAAA,EAAS;EACtC,MAAMC,YAAY,GAAGC,gCAAmB,CAACC,GAAG,CAAO,cAAc,CAAC;EAElE,IAAIF,YAAY,IAAI,IAAI,EAAE;IACxB,MAAM,IAAIG,KAAK,CAAC,+BAA+B,CAAC;EAClD;EAEA,OAAOH,YAAY;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.enableDynamicLiveActivityHotReload = enableDynamicLiveActivityHotReload;
|
|
7
|
+
var _ios = require("@use-voltra/ios");
|
|
8
|
+
var _VoltraModule = require("../VoltraModule.js");
|
|
9
|
+
/**
|
|
10
|
+
* Reload Dynamic Live Activities after a Metro Fast Refresh patch. When Metro
|
|
11
|
+
* re-evaluates a generated definition entry, only that definition is reloaded.
|
|
12
|
+
* Component-only refresh boundaries do not re-evaluate their importer, so those
|
|
13
|
+
* patches fall back to reloading every Dynamic Live Activity definition.
|
|
14
|
+
* Legacy activities and Dynamic Widgets are unaffected.
|
|
15
|
+
*
|
|
16
|
+
* Subscribes to the shared {@link getFastRefreshHub} so multiple `__accept`
|
|
17
|
+
* calls from one save collapse into a single native reload.
|
|
18
|
+
*/
|
|
19
|
+
function enableDynamicLiveActivityHotReload() {
|
|
20
|
+
if (!__DEV__) return () => {};
|
|
21
|
+
const hub = (0, _ios.getFastRefreshHub)();
|
|
22
|
+
const previousDefinitionUpdated = global.__voltraDynamicLiveActivityDefinitionUpdated;
|
|
23
|
+
const updatedDefinitionIds = new Set();
|
|
24
|
+
global.__voltraDynamicLiveActivityDefinitionUpdated = definitionId => {
|
|
25
|
+
// A generated entry re-evaluated inside a patch: batch it so the debounced
|
|
26
|
+
// flush reloads each changed definition exactly once. A signal that arrives
|
|
27
|
+
// outside a patch (the first require of a definition) has no flush coming,
|
|
28
|
+
// so reload it immediately.
|
|
29
|
+
if (hub.isAccepting) {
|
|
30
|
+
updatedDefinitionIds.add(definitionId);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
void (0, _VoltraModule.getNativeVoltra)().reloadDynamicLiveActivities([definitionId]);
|
|
34
|
+
};
|
|
35
|
+
const unsubscribe = hub.onPatch(() => {
|
|
36
|
+
const definitionIds = Array.from(updatedDefinitionIds);
|
|
37
|
+
updatedDefinitionIds.clear();
|
|
38
|
+
// No definition re-evaluated during this patch: a component-only boundary
|
|
39
|
+
// changed, so fall back to reloading every definition (null).
|
|
40
|
+
void (0, _VoltraModule.getNativeVoltra)().reloadDynamicLiveActivities(definitionIds.length > 0 ? definitionIds : null);
|
|
41
|
+
});
|
|
42
|
+
return () => {
|
|
43
|
+
unsubscribe();
|
|
44
|
+
global.__voltraDynamicLiveActivityDefinitionUpdated = previousDefinitionUpdated;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=enableDynamicLiveActivityHotReload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ios","require","_VoltraModule","enableDynamicLiveActivityHotReload","__DEV__","hub","getFastRefreshHub","previousDefinitionUpdated","global","__voltraDynamicLiveActivityDefinitionUpdated","updatedDefinitionIds","Set","definitionId","isAccepting","add","getNativeVoltra","reloadDynamicLiveActivities","unsubscribe","onPatch","definitionIds","Array","from","clear","length"],"sourceRoot":"../../../src","sources":["utils/enableDynamicLiveActivityHotReload.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,kCAAkCA,CAAA,EAAe;EAC/D,IAAI,CAACC,OAAO,EAAE,OAAO,MAAM,CAAC,CAAC;EAE7B,MAAMC,GAAG,GAAG,IAAAC,sBAAiB,EAAC,CAAC;EAC/B,MAAMC,yBAAyB,GAAGC,MAAM,CAACC,4CAA4C;EACrF,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAAS,CAAC;EAE9CH,MAAM,CAACC,4CAA4C,GAAIG,YAAY,IAAK;IACtE;IACA;IACA;IACA;IACA,IAAIP,GAAG,CAACQ,WAAW,EAAE;MACnBH,oBAAoB,CAACI,GAAG,CAACF,YAAY,CAAC;MACtC;IACF;IACA,KAAK,IAAAG,6BAAe,EAAC,CAAC,CAACC,2BAA2B,CAAC,CAACJ,YAAY,CAAC,CAAC;EACpE,CAAC;EAED,MAAMK,WAAW,GAAGZ,GAAG,CAACa,OAAO,CAAC,MAAM;IACpC,MAAMC,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACX,oBAAoB,CAAC;IACtDA,oBAAoB,CAACY,KAAK,CAAC,CAAC;IAC5B;IACA;IACA,KAAK,IAAAP,6BAAe,EAAC,CAAC,CAACC,2BAA2B,CAACG,aAAa,CAACI,MAAM,GAAG,CAAC,GAAGJ,aAAa,GAAG,IAAI,CAAC;EACrG,CAAC,CAAC;EAEF,OAAO,MAAM;IACXF,WAAW,CAAC,CAAC;IACbT,MAAM,CAACC,4CAA4C,GAAGF,yBAAyB;EACjF,CAAC;AACH","ignoreList":[]}
|
|
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.enableWidgetHotReload = enableWidgetHotReload;
|
|
7
|
+
var _ios = require("@use-voltra/ios");
|
|
7
8
|
var _widgetApi = require("../widgets/widget-api.js");
|
|
8
9
|
/**
|
|
9
10
|
* Trigger `reloadWidgets()` on every Metro Fast Refresh patch (DEV only).
|
|
10
11
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
12
|
+
* Subscribes to the shared {@link getFastRefreshHub}, which wraps the global
|
|
13
|
+
* `__accept` callback Metro fires when a Fast Refresh patch lands in the host
|
|
14
|
+
* app's JS runtime. On each debounced patch it calls
|
|
13
15
|
* `WidgetCenter.shared.reloadAllTimelines()` so WidgetKit re-invokes each widget
|
|
14
16
|
* Provider, which re-fetches the freshest bundle from Metro and renders the
|
|
15
17
|
* updated UI.
|
|
@@ -20,20 +22,15 @@ var _widgetApi = require("../widgets/widget-api.js");
|
|
|
20
22
|
* workflow the dev still relies on WidgetKit's natural lifecycle refresh on
|
|
21
23
|
* app foreground.
|
|
22
24
|
*
|
|
23
|
-
* Call once at app startup. Returns `dispose()` to
|
|
24
|
-
*
|
|
25
|
+
* Call once at app startup. Returns `dispose()` to unsubscribe (rarely needed
|
|
26
|
+
* in practice). No-op in release builds.
|
|
25
27
|
*/
|
|
26
28
|
function enableWidgetHotReload() {
|
|
27
29
|
if (!__DEV__) {
|
|
28
30
|
return () => {};
|
|
29
31
|
}
|
|
30
|
-
|
|
31
|
-
global['__accept'] = (...args) => {
|
|
32
|
+
return (0, _ios.getFastRefreshHub)().onPatch(() => {
|
|
32
33
|
void (0, _widgetApi.reloadWidgets)();
|
|
33
|
-
|
|
34
|
-
};
|
|
35
|
-
return () => {
|
|
36
|
-
global['__accept'] = oldAccept;
|
|
37
|
-
};
|
|
34
|
+
});
|
|
38
35
|
}
|
|
39
36
|
//# sourceMappingURL=enableWidgetHotReload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_ios","require","_widgetApi","enableWidgetHotReload","__DEV__","getFastRefreshHub","onPatch","reloadWidgets"],"sourceRoot":"../../../src","sources":["utils/enableWidgetHotReload.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CAAA,EAAe;EAClD,IAAI,CAACC,OAAO,EAAE;IACZ,OAAO,MAAM,CAAC,CAAC;EACjB;EAEA,OAAO,IAAAC,sBAAiB,EAAC,CAAC,CAACC,OAAO,CAAC,MAAM;IACvC,KAAK,IAAAC,wBAAa,EAAC,CAAC;EACtB,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useUpdateOnHMR = void 0;
|
|
7
|
+
var _ios = require("@use-voltra/ios");
|
|
7
8
|
var _react = require("react");
|
|
8
9
|
const useUpdateOnHMR = () => {
|
|
9
10
|
const [, forceUpdate] = (0, _react.useState)(0);
|
|
@@ -11,14 +12,9 @@ const useUpdateOnHMR = () => {
|
|
|
11
12
|
if (!__DEV__) {
|
|
12
13
|
return;
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
-
global['__accept'] = (...args) => {
|
|
15
|
+
return (0, _ios.getFastRefreshHub)().onPatch(() => {
|
|
16
16
|
forceUpdate(prev => prev + 1);
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
return () => {
|
|
20
|
-
global['__accept'] = oldAccept;
|
|
21
|
-
};
|
|
17
|
+
});
|
|
22
18
|
}, []);
|
|
23
19
|
};
|
|
24
20
|
exports.useUpdateOnHMR = useUpdateOnHMR;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_ios","require","_react","useUpdateOnHMR","forceUpdate","useState","useEffect","__DEV__","getFastRefreshHub","onPatch","prev","exports"],"sourceRoot":"../../../src","sources":["utils/useUpdateOnHMR.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM,GAAGC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC;EAEnC,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACC,OAAO,EAAE;MACZ;IACF;IAEA,OAAO,IAAAC,sBAAiB,EAAC,CAAC,CAACC,OAAO,CAAC,MAAM;MACvCL,WAAW,CAAEM,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAAC,OAAA,CAAAR,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -6,12 +6,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.clearWidgetServerCredentials = clearWidgetServerCredentials;
|
|
7
7
|
exports.setWidgetServerCredentials = setWidgetServerCredentials;
|
|
8
8
|
var _VoltraModule = require("../VoltraModule.js");
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use {@link setWidgetServerUpdate} with an `Authorization` header. This writes the
|
|
11
|
+
* same stored credentials and keeps the same replace-everything semantics, so migrating is a
|
|
12
|
+
* one-line change; it will be removed in a future major.
|
|
13
|
+
*/
|
|
9
14
|
async function setWidgetServerCredentials(credentials) {
|
|
10
15
|
if (!credentials.token) {
|
|
11
16
|
throw new Error('[Voltra][iOS] setWidgetServerCredentials: token is required');
|
|
12
17
|
}
|
|
13
18
|
return (0, _VoltraModule.getNativeVoltra)().setWidgetServerCredentials(credentials);
|
|
14
19
|
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use {@link clearWidgetServerUpdate} instead.
|
|
23
|
+
*/
|
|
15
24
|
async function clearWidgetServerCredentials() {
|
|
16
25
|
return (0, _VoltraModule.getNativeVoltra)().clearWidgetServerCredentials();
|
|
17
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_VoltraModule","require","setWidgetServerCredentials","credentials","token","Error","getNativeVoltra","clearWidgetServerCredentials"],"sourceRoot":"../../../src","sources":["widgets/server-credentials.ts"],"mappings":";;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_VoltraModule","require","setWidgetServerCredentials","credentials","token","Error","getNativeVoltra","clearWidgetServerCredentials"],"sourceRoot":"../../../src","sources":["widgets/server-credentials.ts"],"mappings":";;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACO,eAAeC,0BAA0BA,CAACC,WAAoC,EAAiB;EACpG,IAAI,CAACA,WAAW,CAACC,KAAK,EAAE;IACtB,MAAM,IAAIC,KAAK,CAAC,6DAA6D,CAAC;EAChF;EAEA,OAAO,IAAAC,6BAAe,EAAC,CAAC,CAACJ,0BAA0B,CAACC,WAAW,CAAC;AAClE;;AAEA;AACA;AACA;AACO,eAAeI,4BAA4BA,CAAA,EAAkB;EAClE,OAAO,IAAAD,6BAAe,EAAC,CAAC,CAACC,4BAA4B,CAAC,CAAC;AACzD","ignoreList":[]}
|