@use-voltra/ios 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/build/cjs/index.js +9 -1
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/cjs/payload/component-ids.js +1 -0
  4. package/build/cjs/payload/component-ids.js.map +1 -1
  5. package/build/cjs/widgets/renderer.js +1 -1
  6. package/build/cjs/widgets/renderer.js.map +1 -1
  7. package/build/esm/index.js +3 -0
  8. package/build/esm/index.js.map +1 -1
  9. package/build/esm/payload/component-ids.js +1 -0
  10. package/build/esm/payload/component-ids.js.map +1 -1
  11. package/build/esm/widgets/renderer.js +1 -1
  12. package/build/esm/widgets/renderer.js.map +1 -1
  13. package/build/types/index.d.ts +7 -2
  14. package/build/types/index.d.ts.map +1 -1
  15. package/build/types/payload/component-ids.d.ts.map +1 -1
  16. package/build/types/styles/index.d.ts +1 -1
  17. package/build/types/styles/index.d.ts.map +1 -1
  18. package/build/types/styles/types.d.ts +89 -1
  19. package/build/types/styles/types.d.ts.map +1 -1
  20. package/build/types/types.d.ts +25 -1
  21. package/build/types/types.d.ts.map +1 -1
  22. package/package.json +3 -11
  23. package/build/cjs/VoltraModule.js +0 -6
  24. package/build/cjs/VoltraModule.js.map +0 -1
  25. package/build/cjs/client.js +0 -49
  26. package/build/cjs/client.js.map +0 -1
  27. package/build/cjs/components/VoltraLiveActivityPreview.js +0 -42
  28. package/build/cjs/components/VoltraLiveActivityPreview.js.map +0 -1
  29. package/build/cjs/components/VoltraView.js +0 -54
  30. package/build/cjs/components/VoltraView.js.map +0 -1
  31. package/build/cjs/components/VoltraWidgetPreview.js +0 -47
  32. package/build/cjs/components/VoltraWidgetPreview.js.map +0 -1
  33. package/build/cjs/events.js +0 -35
  34. package/build/cjs/events.js.map +0 -1
  35. package/build/cjs/helpers.js +0 -39
  36. package/build/cjs/helpers.js.map +0 -1
  37. package/build/cjs/live-activity/api.js +0 -277
  38. package/build/cjs/live-activity/api.js.map +0 -1
  39. package/build/cjs/logger.js +0 -36
  40. package/build/cjs/logger.js.map +0 -1
  41. package/build/cjs/preload.js +0 -115
  42. package/build/cjs/preload.js.map +0 -1
  43. package/build/cjs/utils/assertRunningOnApple.js +0 -13
  44. package/build/cjs/utils/assertRunningOnApple.js.map +0 -1
  45. package/build/cjs/utils/helpers.js +0 -39
  46. package/build/cjs/utils/helpers.js.map +0 -1
  47. package/build/cjs/utils/index.js +0 -19
  48. package/build/cjs/utils/index.js.map +0 -1
  49. package/build/cjs/utils/useUpdateOnHMR.js +0 -27
  50. package/build/cjs/utils/useUpdateOnHMR.js.map +0 -1
  51. package/build/cjs/widgets/server-credentials.js +0 -62
  52. package/build/cjs/widgets/server-credentials.js.map +0 -1
  53. package/build/cjs/widgets/widget-api.js +0 -196
  54. package/build/cjs/widgets/widget-api.js.map +0 -1
  55. package/build/esm/VoltraModule.js +0 -4
  56. package/build/esm/VoltraModule.js.map +0 -1
  57. package/build/esm/client.js +0 -10
  58. package/build/esm/client.js.map +0 -1
  59. package/build/esm/components/VoltraLiveActivityPreview.js +0 -39
  60. package/build/esm/components/VoltraLiveActivityPreview.js.map +0 -1
  61. package/build/esm/components/VoltraView.js +0 -51
  62. package/build/esm/components/VoltraView.js.map +0 -1
  63. package/build/esm/components/VoltraWidgetPreview.js +0 -44
  64. package/build/esm/components/VoltraWidgetPreview.js.map +0 -1
  65. package/build/esm/events.js +0 -29
  66. package/build/esm/events.js.map +0 -1
  67. package/build/esm/helpers.js +0 -32
  68. package/build/esm/helpers.js.map +0 -1
  69. package/build/esm/live-activity/api.js +0 -265
  70. package/build/esm/live-activity/api.js.map +0 -1
  71. package/build/esm/logger.js +0 -33
  72. package/build/esm/logger.js.map +0 -1
  73. package/build/esm/preload.js +0 -107
  74. package/build/esm/preload.js.map +0 -1
  75. package/build/esm/utils/assertRunningOnApple.js +0 -9
  76. package/build/esm/utils/assertRunningOnApple.js.map +0 -1
  77. package/build/esm/utils/helpers.js +0 -32
  78. package/build/esm/utils/helpers.js.map +0 -1
  79. package/build/esm/utils/index.js +0 -3
  80. package/build/esm/utils/index.js.map +0 -1
  81. package/build/esm/utils/useUpdateOnHMR.js +0 -23
  82. package/build/esm/utils/useUpdateOnHMR.js.map +0 -1
  83. package/build/esm/widgets/server-credentials.js +0 -55
  84. package/build/esm/widgets/server-credentials.js.map +0 -1
  85. package/build/esm/widgets/widget-api.js +0 -184
  86. package/build/esm/widgets/widget-api.js.map +0 -1
  87. package/build/types/VoltraModule.d.ts +0 -143
  88. package/build/types/VoltraModule.d.ts.map +0 -1
  89. package/build/types/client.d.ts +0 -13
  90. package/build/types/client.d.ts.map +0 -1
  91. package/build/types/components/VoltraLiveActivityPreview.d.ts +0 -28
  92. package/build/types/components/VoltraLiveActivityPreview.d.ts.map +0 -1
  93. package/build/types/components/VoltraView.d.ts +0 -43
  94. package/build/types/components/VoltraView.d.ts.map +0 -1
  95. package/build/types/components/VoltraWidgetPreview.d.ts +0 -32
  96. package/build/types/components/VoltraWidgetPreview.d.ts.map +0 -1
  97. package/build/types/events.d.ts +0 -49
  98. package/build/types/events.d.ts.map +0 -1
  99. package/build/types/helpers.d.ts +0 -12
  100. package/build/types/helpers.d.ts.map +0 -1
  101. package/build/types/live-activity/api.d.ts +0 -189
  102. package/build/types/live-activity/api.d.ts.map +0 -1
  103. package/build/types/logger.d.ts +0 -16
  104. package/build/types/logger.d.ts.map +0 -1
  105. package/build/types/preload.d.ts +0 -67
  106. package/build/types/preload.d.ts.map +0 -1
  107. package/build/types/utils/assertRunningOnApple.d.ts +0 -2
  108. package/build/types/utils/assertRunningOnApple.d.ts.map +0 -1
  109. package/build/types/utils/helpers.d.ts +0 -12
  110. package/build/types/utils/helpers.d.ts.map +0 -1
  111. package/build/types/utils/index.d.ts +0 -3
  112. package/build/types/utils/index.d.ts.map +0 -1
  113. package/build/types/utils/useUpdateOnHMR.d.ts +0 -9
  114. package/build/types/utils/useUpdateOnHMR.d.ts.map +0 -1
  115. package/build/types/widgets/server-credentials.d.ts +0 -49
  116. package/build/types/widgets/server-credentials.d.ts.map +0 -1
  117. package/build/types/widgets/widget-api.d.ts +0 -146
  118. package/build/types/widgets/widget-api.d.ts.map +0 -1
@@ -1,39 +0,0 @@
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.isGlassSupported = isGlassSupported;
7
- exports.isHeadless = isHeadless;
8
- const react_native_1 = require("react-native");
9
- const VoltraModule_js_1 = __importDefault(require("./VoltraModule.js"));
10
- /**
11
- * Return whether Liquid Glass APIs are supported on this device (iOS 26+).
12
- * This is a convenience gate for authoring fallbacks in JS.
13
- */
14
- function isGlassSupported() {
15
- if (react_native_1.Platform.OS !== 'ios')
16
- return false;
17
- const v = react_native_1.Platform.Version;
18
- let major = 0;
19
- if (typeof v === 'string') {
20
- const m = parseInt(v.split('.')[0] || '0', 10);
21
- if (!Number.isNaN(m))
22
- major = m;
23
- }
24
- else if (typeof v === 'number') {
25
- major = Math.floor(v);
26
- }
27
- return major >= 26;
28
- }
29
- /**
30
- * Return whether the app was launched in the background (headless).
31
- * Returns true if the app was launched in background, false if launched in foreground.
32
- * Always returns false on non-iOS platforms.
33
- */
34
- function isHeadless() {
35
- if (react_native_1.Platform.OS !== 'ios')
36
- return false;
37
- return VoltraModule_js_1.default.isHeadless?.() ?? false;
38
- }
39
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;;;AAQA,4CAWC;AAOD,gCAGC;AA7BD,+CAAuC;AAEvC,wEAA4C;AAE5C;;;GAGG;AACH,SAAgB,gBAAgB;IAC9B,IAAI,uBAAQ,CAAC,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,CAAC,GAAQ,uBAAQ,CAAC,OAAO,CAAA;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,CAAA;IACjC,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,KAAK,IAAI,EAAE,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU;IACxB,IAAI,uBAAQ,CAAC,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACvC,OAAO,yBAAY,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,CAAA;AAC7C,CAAC"}
@@ -1,277 +0,0 @@
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.isLiveActivityActive = exports.stopLiveActivity = exports.updateLiveActivity = exports.startLiveActivity = exports.useLiveActivity = void 0;
7
- exports.endAllLiveActivities = endAllLiveActivities;
8
- const react_1 = require("react");
9
- const events_js_1 = require("../events.js");
10
- const logger_js_1 = require("../logger.js");
11
- const index_js_1 = require("../utils/index.js");
12
- const VoltraModule_js_1 = __importDefault(require("../VoltraModule.js"));
13
- const renderer_js_1 = require("./renderer.js");
14
- const normalizeSharedLiveActivityOptions = (options) => {
15
- if (!options)
16
- return undefined;
17
- const normalizedOptions = {};
18
- if (options.staleDate !== undefined) {
19
- if (options.staleDate < Date.now()) {
20
- logger_js_1.logger.warn('Ignoring staleDate because it is in the past, the Live Activity would be dismissed immediately.');
21
- }
22
- else {
23
- normalizedOptions.staleDate = options.staleDate;
24
- }
25
- }
26
- // Always include relevanceScore, defaulting to 0.0 if not provided
27
- const relevanceScore = options.relevanceScore ?? 0.0;
28
- if (relevanceScore < 0 || relevanceScore > 1) {
29
- logger_js_1.logger.warn('Ignoring relevanceScore because it is out of range [0.0, 1.0], using default 0.0');
30
- normalizedOptions.relevanceScore = 0.0;
31
- }
32
- else {
33
- normalizedOptions.relevanceScore = relevanceScore;
34
- }
35
- return Object.keys(normalizedOptions).length > 0 ? normalizedOptions : undefined;
36
- };
37
- const normalizeEndLiveActivityOptions = (options) => {
38
- if (!options?.dismissalPolicy)
39
- return undefined;
40
- if (typeof options.dismissalPolicy === 'string') {
41
- if (options.dismissalPolicy === 'immediate') {
42
- return { dismissalPolicy: { type: 'immediate' } };
43
- }
44
- }
45
- else if (typeof options.dismissalPolicy === 'object' && 'after' in options.dismissalPolicy) {
46
- return { dismissalPolicy: { type: 'after', date: options.dismissalPolicy.after } };
47
- }
48
- // Default to immediate if unrecognized
49
- return { dismissalPolicy: { type: 'immediate' } };
50
- };
51
- /**
52
- * React hook for managing Live Activities with automatic lifecycle handling.
53
- *
54
- * @param variants - The Live Activity content variants to display
55
- * @param options - Configuration options for the hook
56
- * @returns Object with start, update, end methods and isActive state
57
- *
58
- * @example
59
- * ```tsx
60
- * import { useLiveActivity, Voltra } from 'voltra'
61
- *
62
- * const MyLiveActivity = () => {
63
- * const { start, update, end, isActive } = useLiveActivity({
64
- * minimal: <Voltra.Text>Live Activity</Voltra.Text>,
65
- * compact: <Voltra.HStack>...</Voltra.HStack>,
66
- * expanded: <Voltra.VStack>...</Voltra.VStack>
67
- * }, {
68
- * activityName: 'my-activity',
69
- * autoStart: true,
70
- * autoUpdate: true
71
- * })
72
- *
73
- * return (
74
- * <View>
75
- * <Button title={isActive ? "Stop" : "Start"} onPress={isActive ? end : start} />
76
- * </View>
77
- * )
78
- * }
79
- * ```
80
- */
81
- const useLiveActivity = (variants, options) => {
82
- const [targetId, setTargetId] = (0, react_1.useState)(() => {
83
- if (options?.activityName) {
84
- return (0, exports.isLiveActivityActive)(options.activityName) ? options.activityName : null;
85
- }
86
- return null;
87
- });
88
- const isActive = targetId !== null;
89
- const optionsRef = (0, react_1.useRef)(options);
90
- const variantsRef = (0, react_1.useRef)(variants);
91
- const lastUpdateOptionsRef = (0, react_1.useRef)(undefined);
92
- // Update refs when values change
93
- (0, react_1.useEffect)(() => {
94
- optionsRef.current = options;
95
- }, [options]);
96
- (0, react_1.useEffect)(() => {
97
- variantsRef.current = variants;
98
- }, [variants]);
99
- (0, index_js_1.useUpdateOnHMR)();
100
- const start = (0, react_1.useCallback)(async (options) => {
101
- const id = await (0, exports.startLiveActivity)(variantsRef.current, { ...optionsRef.current, ...options });
102
- setTargetId(id);
103
- }, []);
104
- const update = (0, react_1.useCallback)(async (options) => {
105
- if (!targetId) {
106
- return;
107
- }
108
- const updateOptions = { ...optionsRef.current, ...options };
109
- lastUpdateOptionsRef.current = updateOptions;
110
- await (0, exports.updateLiveActivity)(targetId, variantsRef.current, updateOptions);
111
- }, [targetId]);
112
- const end = (0, react_1.useCallback)(async (options) => {
113
- if (!targetId) {
114
- return;
115
- }
116
- await (0, exports.stopLiveActivity)(targetId, options);
117
- setTargetId(null);
118
- }, [targetId]);
119
- (0, react_1.useEffect)(() => {
120
- if (!options?.autoStart) {
121
- return;
122
- }
123
- start();
124
- }, [options?.autoStart, start]);
125
- (0, react_1.useEffect)(() => {
126
- if (!options?.autoUpdate)
127
- return;
128
- update(lastUpdateOptionsRef.current);
129
- }, [options?.autoUpdate, update, variants]);
130
- (0, react_1.useEffect)(() => {
131
- if (!targetId)
132
- return;
133
- const subscription = (0, events_js_1.addVoltraListener)('stateChange', (event) => {
134
- if (event.activityName !== targetId)
135
- return;
136
- if (event.activityState === 'dismissed' || event.activityState === 'ended') {
137
- // Live Activity is no longer active.
138
- setTargetId(null);
139
- }
140
- });
141
- return () => subscription.remove();
142
- }, [targetId]);
143
- return {
144
- start,
145
- update,
146
- end,
147
- isActive,
148
- };
149
- };
150
- exports.useLiveActivity = useLiveActivity;
151
- /**
152
- * Start a new Live Activity with the provided content variants.
153
- *
154
- * @param variants - The Live Activity content variants to display
155
- * @param options - Configuration options for the Live Activity
156
- * @returns Promise resolving to the activity ID
157
- *
158
- * @example
159
- * ```tsx
160
- * import { startLiveActivity, Voltra } from 'voltra'
161
- *
162
- * const activityId = await startLiveActivity({
163
- * minimal: <Voltra.Text>Live Activity</Voltra.Text>,
164
- * compact: <Voltra.HStack>...</Voltra.HStack>,
165
- * expanded: <Voltra.VStack>...</Voltra.VStack>
166
- * }, {
167
- * activityName: 'my-activity',
168
- * deepLinkUrl: '/details',
169
- * relevanceScore: 0.8
170
- * })
171
- * ```
172
- */
173
- const startLiveActivity = async (variants, options) => {
174
- if (!(0, index_js_1.assertRunningOnApple)())
175
- return Promise.resolve('');
176
- const payload = (0, renderer_js_1.renderLiveActivityToString)(variants);
177
- const normalizedSharedOptions = normalizeSharedLiveActivityOptions(options);
178
- const targetId = await VoltraModule_js_1.default.startLiveActivity(payload, {
179
- target: 'liveActivity',
180
- deepLinkUrl: options?.deepLinkUrl,
181
- activityId: options?.activityName,
182
- channelId: options?.channelId,
183
- ...normalizedSharedOptions,
184
- });
185
- return targetId;
186
- };
187
- exports.startLiveActivity = startLiveActivity;
188
- /**
189
- * Update an existing Live Activity with new content.
190
- *
191
- * @param targetId - The ID of the Live Activity to update
192
- * @param variants - The new Live Activity content variants
193
- * @param options - Update options like relevance score
194
- *
195
- * @example
196
- * ```tsx
197
- * import { updateLiveActivity, Voltra } from 'voltra'
198
- *
199
- * await updateLiveActivity('activity-123', {
200
- * minimal: <Voltra.Text>Updated: Live Activity</Voltra.Text>,
201
- * compact: <Voltra.HStack>...</Voltra.HStack>,
202
- * expanded: <Voltra.VStack>...</Voltra.VStack>
203
- * }, {
204
- * relevanceScore: 0.9
205
- * })
206
- * ```
207
- */
208
- const updateLiveActivity = async (targetId, variants, options) => {
209
- if (!(0, index_js_1.assertRunningOnApple)())
210
- return Promise.resolve();
211
- const payload = (0, renderer_js_1.renderLiveActivityToString)(variants);
212
- const normalizedSharedOptions = normalizeSharedLiveActivityOptions(options);
213
- return VoltraModule_js_1.default.updateLiveActivity(targetId, payload, normalizedSharedOptions);
214
- };
215
- exports.updateLiveActivity = updateLiveActivity;
216
- /**
217
- * Stop a Live Activity.
218
- *
219
- * @param targetId - The ID of the Live Activity to stop
220
- * @param options - Options for how to end the activity
221
- *
222
- * @example
223
- * ```tsx
224
- * import { stopLiveActivity } from 'voltra'
225
- *
226
- * await stopLiveActivity('activity-123', { dismissalPolicy: 'immediate' })
227
- * ```
228
- */
229
- const stopLiveActivity = async (targetId, options) => {
230
- if (!(0, index_js_1.assertRunningOnApple)())
231
- return Promise.resolve();
232
- const normalizedOptions = normalizeEndLiveActivityOptions(options);
233
- return VoltraModule_js_1.default.endLiveActivity(targetId, normalizedOptions);
234
- };
235
- exports.stopLiveActivity = stopLiveActivity;
236
- /**
237
- * Check if a Live Activity with the given name is currently active.
238
- *
239
- * @param activityName - The name of the Live Activity to check
240
- * @returns true if the activity is active, false otherwise
241
- *
242
- * @example
243
- * ```tsx
244
- * import { isLiveActivityActive } from 'voltra'
245
- *
246
- * if (isLiveActivityActive('my-activity')) {
247
- * console.log('Activity is running')
248
- * }
249
- * ```
250
- */
251
- const isLiveActivityActive = (activityName) => {
252
- if (!(0, index_js_1.assertRunningOnApple)())
253
- return false;
254
- return VoltraModule_js_1.default.isLiveActivityActive(activityName);
255
- };
256
- exports.isLiveActivityActive = isLiveActivityActive;
257
- /**
258
- * End all active Live Activities.
259
- *
260
- * This function stops and dismisses all currently running Live Activities in the app.
261
- * It's useful for cleanup operations, such as when the app is being closed or
262
- * when you want to reset all Live Activity states.
263
- *
264
- * @example
265
- * ```typescript
266
- * import { endAllLiveActivities } from 'voltra'
267
- *
268
- * // End all active Live Activities
269
- * await endAllLiveActivities()
270
- * ```
271
- */
272
- async function endAllLiveActivities() {
273
- if (!(0, index_js_1.assertRunningOnApple)())
274
- return Promise.resolve();
275
- return VoltraModule_js_1.default.endAllLiveActivities();
276
- }
277
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/live-activity/api.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logger = void 0;
4
- const LEVELS = {
5
- debug: 0,
6
- info: 1,
7
- warn: 2,
8
- error: 3,
9
- };
10
- let currentLevel = __DEV__ ? 'debug' : 'info';
11
- exports.logger = {
12
- debug: (message) => {
13
- if (LEVELS.debug >= LEVELS[currentLevel]) {
14
- console.log(`[Voltra] ${message}`);
15
- }
16
- },
17
- info: (message) => {
18
- if (LEVELS.info >= LEVELS[currentLevel]) {
19
- console.info(`[Voltra] ${message}`);
20
- }
21
- },
22
- warn: (message) => {
23
- if (LEVELS.warn >= LEVELS[currentLevel]) {
24
- console.warn(`[Voltra] ${message}`);
25
- }
26
- },
27
- error: (message) => {
28
- if (LEVELS.error >= LEVELS[currentLevel]) {
29
- console.error(`[Voltra] ${message}`);
30
- }
31
- },
32
- setLevel: (level) => {
33
- currentLevel = level;
34
- },
35
- };
36
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";;;AAAA,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACA,CAAA;AAGV,IAAI,YAAY,GAAmB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;AAEhD,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;QACxB,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;QACxB,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,QAAQ,EAAE,CAAC,KAAqB,EAAE,EAAE;QAClC,YAAY,GAAG,KAAK,CAAA;IACtB,CAAC;CACF,CAAA"}
@@ -1,115 +0,0 @@
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.preloadImages = preloadImages;
7
- exports.reloadLiveActivities = reloadLiveActivities;
8
- exports.clearPreloadedImages = clearPreloadedImages;
9
- const react_native_1 = require("react-native");
10
- const VoltraModule_js_1 = __importDefault(require("./VoltraModule.js"));
11
- function assertIOS(name) {
12
- const isIOS = react_native_1.Platform.OS === 'ios';
13
- if (!isIOS)
14
- console.error(`${name} is only available on iOS`);
15
- return isIOS;
16
- }
17
- /**
18
- * Preload images to App Group storage for use in Live Activities.
19
- *
20
- * Downloaded images are stored in shared storage accessible by both the app
21
- * and the Live Activity widget extension. Images can then be referenced using
22
- * the `assetName` property in the Image component.
23
- *
24
- * Images must be less than 4KB to comply with ActivityKit limits.
25
- *
26
- * @param images - Array of images to preload
27
- * @returns Result indicating which images succeeded or failed
28
- *
29
- * @example
30
- * ```typescript
31
- * const result = await preloadImages([
32
- * {
33
- * url: 'https://example.com/album-art.jpg',
34
- * key: 'current-album',
35
- * headers: { 'Authorization': 'Bearer token' }
36
- * }
37
- * ])
38
- *
39
- * // Use in Live Activity
40
- * <Voltra.Image source={{ assetName: 'current-album' }} />
41
- * ```
42
- */
43
- async function preloadImages(images) {
44
- if (!assertIOS('preloadImages')) {
45
- return { succeeded: [], failed: images.map((img) => ({ key: img.key, error: 'Not available on this platform' })) };
46
- }
47
- try {
48
- return await VoltraModule_js_1.default.preloadImages(images);
49
- }
50
- catch (error) {
51
- return {
52
- succeeded: [],
53
- failed: images.map((img) => ({
54
- key: img.key,
55
- error: error instanceof Error ? error.message : 'Unknown error',
56
- })),
57
- };
58
- }
59
- }
60
- /**
61
- * Reload Live Activities to pick up newly preloaded images.
62
- *
63
- * This triggers an update on the specified Live Activities (or all if none specified)
64
- * with their current content state, forcing SwiftUI to re-render and load the
65
- * newly preloaded images from App Group storage.
66
- *
67
- * @param activityNames - Optional array of activity names to reload. If omitted, reloads all.
68
- *
69
- * @example
70
- * ```typescript
71
- * // Preload new image
72
- * await preloadImages([{ url: 'https://example.com/new-art.jpg', key: 'album-art' }])
73
- *
74
- * // Reload specific activity to pick up the new image
75
- * await reloadLiveActivities(['music-player'])
76
- *
77
- * // Or reload all activities
78
- * await reloadLiveActivities()
79
- * ```
80
- */
81
- async function reloadLiveActivities(activityNames) {
82
- if (!assertIOS('reloadLiveActivities'))
83
- return;
84
- try {
85
- await VoltraModule_js_1.default.reloadLiveActivities(activityNames ?? null);
86
- }
87
- catch (error) {
88
- console.error('Failed to reload Live Activities:', error);
89
- }
90
- }
91
- /**
92
- * Clear preloaded images from App Group storage.
93
- *
94
- * @param keys - Optional array of image keys to clear. If omitted, clears all preloaded images.
95
- *
96
- * @example
97
- * ```typescript
98
- * // Clear specific images
99
- * await clearPreloadedImages(['album-art', 'profile-pic'])
100
- *
101
- * // Clear all preloaded images
102
- * await clearPreloadedImages()
103
- * ```
104
- */
105
- async function clearPreloadedImages(keys) {
106
- if (!assertIOS('clearPreloadedImages'))
107
- return;
108
- try {
109
- await VoltraModule_js_1.default.clearPreloadedImages(keys ?? null);
110
- }
111
- catch (error) {
112
- console.error('Failed to clear preloaded images:', error);
113
- }
114
- }
115
- //# sourceMappingURL=preload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/preload.ts"],"names":[],"mappings":";;;;;AAwCA,sCAgBC;AAuBD,oDAQC;AAgBD,oDAQC;AA/GD,+CAAuC;AAGvC,wEAA4C;AAK5C,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,uBAAQ,CAAC,EAAE,KAAK,KAAK,CAAA;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;IAC7D,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,aAAa,CAAC,MAA6B;IAC/D,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC,EAAE,CAAA;IACpH,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAO,yBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3B,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,oBAAoB,CAAC,aAAwB;IACjE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;QAAE,OAAM;IAE9C,IAAI,CAAC;QACH,MAAO,yBAAoB,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,CAAA;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,oBAAoB,CAAC,IAAe;IACxD,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;QAAE,OAAM;IAE9C,IAAI,CAAC;QACH,MAAO,yBAAoB,CAAC,oBAAoB,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertRunningOnApple = void 0;
4
- const react_native_1 = require("react-native");
5
- const assertRunningOnApple = () => {
6
- if (react_native_1.Platform.OS !== 'ios') {
7
- console.error(`Voltra is available only on iOS!`);
8
- return false;
9
- }
10
- return true;
11
- };
12
- exports.assertRunningOnApple = assertRunningOnApple;
13
- //# sourceMappingURL=assertRunningOnApple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertRunningOnApple.js","sourceRoot":"","sources":["../../../src/utils/assertRunningOnApple.ts"],"names":[],"mappings":";;;AAAA,+CAAuC;AAEhC,MAAM,oBAAoB,GAAG,GAAY,EAAE;IAChD,IAAI,uBAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAPY,QAAA,oBAAoB,wBAOhC"}
@@ -1,39 +0,0 @@
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.isGlassSupported = isGlassSupported;
7
- exports.isHeadless = isHeadless;
8
- const react_native_1 = require("react-native");
9
- const VoltraModule_js_1 = __importDefault(require("../VoltraModule.js"));
10
- /**
11
- * Return whether Liquid Glass APIs are supported on this device (iOS 26+).
12
- * This is a convenience gate for authoring fallbacks in JS.
13
- */
14
- function isGlassSupported() {
15
- if (react_native_1.Platform.OS !== 'ios')
16
- return false;
17
- const v = react_native_1.Platform.Version;
18
- let major = 0;
19
- if (typeof v === 'string') {
20
- const m = parseInt(v.split('.')[0] || '0', 10);
21
- if (!Number.isNaN(m))
22
- major = m;
23
- }
24
- else if (typeof v === 'number') {
25
- major = Math.floor(v);
26
- }
27
- return major >= 26;
28
- }
29
- /**
30
- * Return whether the app was launched in the background (headless).
31
- * Returns true if the app was launched in background, false if launched in foreground.
32
- * Always returns false on non-iOS platforms.
33
- */
34
- function isHeadless() {
35
- if (react_native_1.Platform.OS !== 'ios')
36
- return false;
37
- return VoltraModule_js_1.default.isHeadless?.() ?? false;
38
- }
39
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;;;;AAQA,4CAWC;AAOD,gCAGC;AA7BD,+CAAuC;AAEvC,yEAA6C;AAE7C;;;GAGG;AACH,SAAgB,gBAAgB;IAC9B,IAAI,uBAAQ,CAAC,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,CAAC,GAAQ,uBAAQ,CAAC,OAAO,CAAA;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,CAAA;IACjC,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,KAAK,IAAI,EAAE,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU;IACxB,IAAI,uBAAQ,CAAC,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACvC,OAAO,yBAAY,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,CAAA;AAC7C,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./assertRunningOnApple.js"), exports);
18
- __exportStar(require("./useUpdateOnHMR.js"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,sDAAmC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useUpdateOnHMR = void 0;
4
- const react_1 = require("react");
5
- /**
6
- * Taps into the HMR accept function to forcefully re-render the component when any module is updated.
7
- * Is only available in development mode.
8
- */
9
- const useUpdateOnHMR = () => {
10
- const [, forceUpdate] = (0, react_1.useState)(0);
11
- (0, react_1.useEffect)(() => {
12
- if (!__DEV__) {
13
- return;
14
- }
15
- // Override the accept function to forcefully re-render when any module is updated
16
- const oldAccept = global['__accept'];
17
- global['__accept'] = (...args) => {
18
- forceUpdate((prev) => prev + 1);
19
- oldAccept?.(...args);
20
- };
21
- return () => {
22
- global['__accept'] = oldAccept;
23
- };
24
- }, []);
25
- };
26
- exports.useUpdateOnHMR = useUpdateOnHMR;
27
- //# sourceMappingURL=useUpdateOnHMR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUpdateOnHMR.js","sourceRoot":"","sources":["../../../src/utils/useUpdateOnHMR.ts"],"names":[],"mappings":";;;AAAA,iCAA2C;AAO3C;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IAEnC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,kFAAkF;QAClF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QACpC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;YAC/B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;YAC/B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QACtB,CAAC,CAAA;QAED,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;QAChC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAnBY,QAAA,cAAc,kBAmB1B"}