@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.
- package/build/cjs/index.js +9 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/payload/component-ids.js +1 -0
- package/build/cjs/payload/component-ids.js.map +1 -1
- package/build/cjs/widgets/renderer.js +1 -1
- package/build/cjs/widgets/renderer.js.map +1 -1
- package/build/esm/index.js +3 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/payload/component-ids.js +1 -0
- package/build/esm/payload/component-ids.js.map +1 -1
- package/build/esm/widgets/renderer.js +1 -1
- package/build/esm/widgets/renderer.js.map +1 -1
- package/build/types/index.d.ts +7 -2
- package/build/types/index.d.ts.map +1 -1
- package/build/types/payload/component-ids.d.ts.map +1 -1
- package/build/types/styles/index.d.ts +1 -1
- package/build/types/styles/index.d.ts.map +1 -1
- package/build/types/styles/types.d.ts +89 -1
- package/build/types/styles/types.d.ts.map +1 -1
- package/build/types/types.d.ts +25 -1
- package/build/types/types.d.ts.map +1 -1
- package/package.json +3 -11
- package/build/cjs/VoltraModule.js +0 -6
- package/build/cjs/VoltraModule.js.map +0 -1
- package/build/cjs/client.js +0 -49
- package/build/cjs/client.js.map +0 -1
- package/build/cjs/components/VoltraLiveActivityPreview.js +0 -42
- package/build/cjs/components/VoltraLiveActivityPreview.js.map +0 -1
- package/build/cjs/components/VoltraView.js +0 -54
- package/build/cjs/components/VoltraView.js.map +0 -1
- package/build/cjs/components/VoltraWidgetPreview.js +0 -47
- package/build/cjs/components/VoltraWidgetPreview.js.map +0 -1
- package/build/cjs/events.js +0 -35
- package/build/cjs/events.js.map +0 -1
- package/build/cjs/helpers.js +0 -39
- package/build/cjs/helpers.js.map +0 -1
- package/build/cjs/live-activity/api.js +0 -277
- package/build/cjs/live-activity/api.js.map +0 -1
- package/build/cjs/logger.js +0 -36
- package/build/cjs/logger.js.map +0 -1
- package/build/cjs/preload.js +0 -115
- package/build/cjs/preload.js.map +0 -1
- package/build/cjs/utils/assertRunningOnApple.js +0 -13
- package/build/cjs/utils/assertRunningOnApple.js.map +0 -1
- package/build/cjs/utils/helpers.js +0 -39
- package/build/cjs/utils/helpers.js.map +0 -1
- package/build/cjs/utils/index.js +0 -19
- package/build/cjs/utils/index.js.map +0 -1
- package/build/cjs/utils/useUpdateOnHMR.js +0 -27
- package/build/cjs/utils/useUpdateOnHMR.js.map +0 -1
- package/build/cjs/widgets/server-credentials.js +0 -62
- package/build/cjs/widgets/server-credentials.js.map +0 -1
- package/build/cjs/widgets/widget-api.js +0 -196
- package/build/cjs/widgets/widget-api.js.map +0 -1
- package/build/esm/VoltraModule.js +0 -4
- package/build/esm/VoltraModule.js.map +0 -1
- package/build/esm/client.js +0 -10
- package/build/esm/client.js.map +0 -1
- package/build/esm/components/VoltraLiveActivityPreview.js +0 -39
- package/build/esm/components/VoltraLiveActivityPreview.js.map +0 -1
- package/build/esm/components/VoltraView.js +0 -51
- package/build/esm/components/VoltraView.js.map +0 -1
- package/build/esm/components/VoltraWidgetPreview.js +0 -44
- package/build/esm/components/VoltraWidgetPreview.js.map +0 -1
- package/build/esm/events.js +0 -29
- package/build/esm/events.js.map +0 -1
- package/build/esm/helpers.js +0 -32
- package/build/esm/helpers.js.map +0 -1
- package/build/esm/live-activity/api.js +0 -265
- package/build/esm/live-activity/api.js.map +0 -1
- package/build/esm/logger.js +0 -33
- package/build/esm/logger.js.map +0 -1
- package/build/esm/preload.js +0 -107
- package/build/esm/preload.js.map +0 -1
- package/build/esm/utils/assertRunningOnApple.js +0 -9
- package/build/esm/utils/assertRunningOnApple.js.map +0 -1
- package/build/esm/utils/helpers.js +0 -32
- package/build/esm/utils/helpers.js.map +0 -1
- package/build/esm/utils/index.js +0 -3
- package/build/esm/utils/index.js.map +0 -1
- package/build/esm/utils/useUpdateOnHMR.js +0 -23
- package/build/esm/utils/useUpdateOnHMR.js.map +0 -1
- package/build/esm/widgets/server-credentials.js +0 -55
- package/build/esm/widgets/server-credentials.js.map +0 -1
- package/build/esm/widgets/widget-api.js +0 -184
- package/build/esm/widgets/widget-api.js.map +0 -1
- package/build/types/VoltraModule.d.ts +0 -143
- package/build/types/VoltraModule.d.ts.map +0 -1
- package/build/types/client.d.ts +0 -13
- package/build/types/client.d.ts.map +0 -1
- package/build/types/components/VoltraLiveActivityPreview.d.ts +0 -28
- package/build/types/components/VoltraLiveActivityPreview.d.ts.map +0 -1
- package/build/types/components/VoltraView.d.ts +0 -43
- package/build/types/components/VoltraView.d.ts.map +0 -1
- package/build/types/components/VoltraWidgetPreview.d.ts +0 -32
- package/build/types/components/VoltraWidgetPreview.d.ts.map +0 -1
- package/build/types/events.d.ts +0 -49
- package/build/types/events.d.ts.map +0 -1
- package/build/types/helpers.d.ts +0 -12
- package/build/types/helpers.d.ts.map +0 -1
- package/build/types/live-activity/api.d.ts +0 -189
- package/build/types/live-activity/api.d.ts.map +0 -1
- package/build/types/logger.d.ts +0 -16
- package/build/types/logger.d.ts.map +0 -1
- package/build/types/preload.d.ts +0 -67
- package/build/types/preload.d.ts.map +0 -1
- package/build/types/utils/assertRunningOnApple.d.ts +0 -2
- package/build/types/utils/assertRunningOnApple.d.ts.map +0 -1
- package/build/types/utils/helpers.d.ts +0 -12
- package/build/types/utils/helpers.d.ts.map +0 -1
- package/build/types/utils/index.d.ts +0 -3
- package/build/types/utils/index.d.ts.map +0 -1
- package/build/types/utils/useUpdateOnHMR.d.ts +0 -9
- package/build/types/utils/useUpdateOnHMR.d.ts.map +0 -1
- package/build/types/widgets/server-credentials.d.ts +0 -49
- package/build/types/widgets/server-credentials.d.ts.map +0 -1
- package/build/types/widgets/widget-api.d.ts +0 -146
- package/build/types/widgets/widget-api.d.ts.map +0 -1
package/build/cjs/helpers.js
DELETED
|
@@ -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
|
package/build/cjs/helpers.js.map
DELETED
|
@@ -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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"}
|
package/build/cjs/logger.js
DELETED
|
@@ -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
|
package/build/cjs/logger.js.map
DELETED
|
@@ -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"}
|
package/build/cjs/preload.js
DELETED
|
@@ -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
|
package/build/cjs/preload.js.map
DELETED
|
@@ -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"}
|
package/build/cjs/utils/index.js
DELETED
|
@@ -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"}
|