@use-voltra/android 1.3.1 → 1.4.0-rc.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 (186) hide show
  1. package/build/cjs/dynamic-colors.js +33 -0
  2. package/build/cjs/dynamic-colors.js.map +1 -0
  3. package/build/cjs/index.js +14 -1
  4. package/build/cjs/index.js.map +1 -1
  5. package/build/cjs/internal.js +8 -0
  6. package/build/cjs/internal.js.map +1 -0
  7. package/build/cjs/jsx/AreaMark.js.map +1 -1
  8. package/build/cjs/jsx/BarMark.js.map +1 -1
  9. package/build/cjs/jsx/LineMark.js.map +1 -1
  10. package/build/cjs/jsx/PointMark.js.map +1 -1
  11. package/build/cjs/jsx/RuleMark.js.map +1 -1
  12. package/build/cjs/jsx/SectorMark.js.map +1 -1
  13. package/build/cjs/live-update/renderer.js +0 -15
  14. package/build/cjs/live-update/renderer.js.map +1 -1
  15. package/build/cjs/ongoing-notification/components.js +19 -0
  16. package/build/cjs/ongoing-notification/components.js.map +1 -0
  17. package/build/cjs/ongoing-notification/renderer.js +262 -0
  18. package/build/cjs/ongoing-notification/renderer.js.map +1 -0
  19. package/build/cjs/ongoing-notification/types.js +3 -0
  20. package/build/cjs/ongoing-notification/types.js.map +1 -0
  21. package/build/cjs/payload/component-ids.js +1 -0
  22. package/build/cjs/payload/component-ids.js.map +1 -1
  23. package/build/cjs/server.js +6 -3
  24. package/build/cjs/server.js.map +1 -1
  25. package/build/cjs/utils/index.js +0 -16
  26. package/build/cjs/utils/index.js.map +1 -1
  27. package/build/cjs/widgets/renderer.js +19 -5
  28. package/build/cjs/widgets/renderer.js.map +1 -1
  29. package/build/esm/dynamic-colors.js +30 -0
  30. package/build/esm/dynamic-colors.js.map +1 -0
  31. package/build/esm/index.js +5 -0
  32. package/build/esm/index.js.map +1 -1
  33. package/build/esm/internal.js +2 -0
  34. package/build/esm/internal.js.map +1 -0
  35. package/build/esm/jsx/AreaMark.js.map +1 -1
  36. package/build/esm/jsx/BarMark.js.map +1 -1
  37. package/build/esm/jsx/LineMark.js.map +1 -1
  38. package/build/esm/jsx/PointMark.js.map +1 -1
  39. package/build/esm/jsx/RuleMark.js.map +1 -1
  40. package/build/esm/jsx/SectorMark.js.map +1 -1
  41. package/build/esm/live-update/renderer.js +0 -15
  42. package/build/esm/live-update/renderer.js.map +1 -1
  43. package/build/esm/ongoing-notification/components.js +16 -0
  44. package/build/esm/ongoing-notification/components.js.map +1 -0
  45. package/build/esm/ongoing-notification/renderer.js +256 -0
  46. package/build/esm/ongoing-notification/renderer.js.map +1 -0
  47. package/build/esm/ongoing-notification/types.js +2 -0
  48. package/build/esm/ongoing-notification/types.js.map +1 -0
  49. package/build/esm/payload/component-ids.js +1 -0
  50. package/build/esm/payload/component-ids.js.map +1 -1
  51. package/build/esm/server.js +2 -1
  52. package/build/esm/server.js.map +1 -1
  53. package/build/esm/utils/index.js +1 -1
  54. package/build/esm/utils/index.js.map +1 -1
  55. package/build/esm/widgets/renderer.js +17 -4
  56. package/build/esm/widgets/renderer.js.map +1 -1
  57. package/build/types/dynamic-colors.d.ts +33 -0
  58. package/build/types/dynamic-colors.d.ts.map +1 -0
  59. package/build/types/index.d.ts +10 -0
  60. package/build/types/index.d.ts.map +1 -1
  61. package/build/types/internal.d.ts +3 -0
  62. package/build/types/internal.d.ts.map +1 -0
  63. package/build/types/jsx/AreaMark.d.ts +2 -1
  64. package/build/types/jsx/AreaMark.d.ts.map +1 -1
  65. package/build/types/jsx/BarMark.d.ts +2 -1
  66. package/build/types/jsx/BarMark.d.ts.map +1 -1
  67. package/build/types/jsx/LineMark.d.ts +2 -1
  68. package/build/types/jsx/LineMark.d.ts.map +1 -1
  69. package/build/types/jsx/PointMark.d.ts +2 -1
  70. package/build/types/jsx/PointMark.d.ts.map +1 -1
  71. package/build/types/jsx/RuleMark.d.ts +2 -1
  72. package/build/types/jsx/RuleMark.d.ts.map +1 -1
  73. package/build/types/jsx/SectorMark.d.ts +2 -1
  74. package/build/types/jsx/SectorMark.d.ts.map +1 -1
  75. package/build/types/jsx/props/CheckBox.d.ts +3 -2
  76. package/build/types/jsx/props/CheckBox.d.ts.map +1 -1
  77. package/build/types/jsx/props/CircleIconButton.d.ts +3 -2
  78. package/build/types/jsx/props/CircleIconButton.d.ts.map +1 -1
  79. package/build/types/jsx/props/CircularProgressIndicator.d.ts +2 -1
  80. package/build/types/jsx/props/CircularProgressIndicator.d.ts.map +1 -1
  81. package/build/types/jsx/props/FilledButton.d.ts +3 -2
  82. package/build/types/jsx/props/FilledButton.d.ts.map +1 -1
  83. package/build/types/jsx/props/Image.d.ts +3 -2
  84. package/build/types/jsx/props/Image.d.ts.map +1 -1
  85. package/build/types/jsx/props/LinearProgressIndicator.d.ts +3 -2
  86. package/build/types/jsx/props/LinearProgressIndicator.d.ts.map +1 -1
  87. package/build/types/jsx/props/OutlineButton.d.ts +2 -1
  88. package/build/types/jsx/props/OutlineButton.d.ts.map +1 -1
  89. package/build/types/jsx/props/RadioButton.d.ts +3 -2
  90. package/build/types/jsx/props/RadioButton.d.ts.map +1 -1
  91. package/build/types/jsx/props/Scaffold.d.ts +2 -1
  92. package/build/types/jsx/props/Scaffold.d.ts.map +1 -1
  93. package/build/types/jsx/props/SquareIconButton.d.ts +3 -2
  94. package/build/types/jsx/props/SquareIconButton.d.ts.map +1 -1
  95. package/build/types/jsx/props/Switch.d.ts +5 -4
  96. package/build/types/jsx/props/Switch.d.ts.map +1 -1
  97. package/build/types/jsx/props/TitleBar.d.ts +3 -2
  98. package/build/types/jsx/props/TitleBar.d.ts.map +1 -1
  99. package/build/types/live-update/renderer.d.ts +0 -7
  100. package/build/types/live-update/renderer.d.ts.map +1 -1
  101. package/build/types/live-update/types.d.ts +0 -65
  102. package/build/types/live-update/types.d.ts.map +1 -1
  103. package/build/types/ongoing-notification/components.d.ts +18 -0
  104. package/build/types/ongoing-notification/components.d.ts.map +1 -0
  105. package/build/types/ongoing-notification/renderer.d.ts +6 -0
  106. package/build/types/ongoing-notification/renderer.d.ts.map +1 -0
  107. package/build/types/ongoing-notification/types.d.ts +160 -0
  108. package/build/types/ongoing-notification/types.d.ts.map +1 -0
  109. package/build/types/payload/component-ids.d.ts.map +1 -1
  110. package/build/types/server.d.ts +4 -1
  111. package/build/types/server.d.ts.map +1 -1
  112. package/build/types/styles/types.d.ts +5 -4
  113. package/build/types/styles/types.d.ts.map +1 -1
  114. package/build/types/types.d.ts +22 -1
  115. package/build/types/types.d.ts.map +1 -1
  116. package/build/types/utils/index.d.ts +0 -1
  117. package/build/types/utils/index.d.ts.map +1 -1
  118. package/build/types/widgets/renderer.d.ts +8 -2
  119. package/build/types/widgets/renderer.d.ts.map +1 -1
  120. package/package.json +9 -11
  121. package/build/cjs/VoltraModule.js +0 -6
  122. package/build/cjs/VoltraModule.js.map +0 -1
  123. package/build/cjs/client.js +0 -34
  124. package/build/cjs/client.js.map +0 -1
  125. package/build/cjs/components/VoltraView.js +0 -48
  126. package/build/cjs/components/VoltraView.js.map +0 -1
  127. package/build/cjs/components/VoltraWidgetPreview.js +0 -28
  128. package/build/cjs/components/VoltraWidgetPreview.js.map +0 -1
  129. package/build/cjs/events.js +0 -35
  130. package/build/cjs/events.js.map +0 -1
  131. package/build/cjs/live-update/api.js +0 -215
  132. package/build/cjs/live-update/api.js.map +0 -1
  133. package/build/cjs/preload.js +0 -80
  134. package/build/cjs/preload.js.map +0 -1
  135. package/build/cjs/utils/useUpdateOnHMR.js +0 -27
  136. package/build/cjs/utils/useUpdateOnHMR.js.map +0 -1
  137. package/build/cjs/widgets/api.js +0 -155
  138. package/build/cjs/widgets/api.js.map +0 -1
  139. package/build/cjs/widgets/index.js +0 -12
  140. package/build/cjs/widgets/index.js.map +0 -1
  141. package/build/cjs/widgets/server-credentials.js +0 -31
  142. package/build/cjs/widgets/server-credentials.js.map +0 -1
  143. package/build/esm/VoltraModule.js +0 -4
  144. package/build/esm/VoltraModule.js.map +0 -1
  145. package/build/esm/client.js +0 -12
  146. package/build/esm/client.js.map +0 -1
  147. package/build/esm/components/VoltraView.js +0 -45
  148. package/build/esm/components/VoltraView.js.map +0 -1
  149. package/build/esm/components/VoltraWidgetPreview.js +0 -25
  150. package/build/esm/components/VoltraWidgetPreview.js.map +0 -1
  151. package/build/esm/events.js +0 -29
  152. package/build/esm/events.js.map +0 -1
  153. package/build/esm/live-update/api.js +0 -203
  154. package/build/esm/live-update/api.js.map +0 -1
  155. package/build/esm/preload.js +0 -72
  156. package/build/esm/preload.js.map +0 -1
  157. package/build/esm/utils/useUpdateOnHMR.js +0 -23
  158. package/build/esm/utils/useUpdateOnHMR.js.map +0 -1
  159. package/build/esm/widgets/api.js +0 -143
  160. package/build/esm/widgets/api.js.map +0 -1
  161. package/build/esm/widgets/index.js +0 -3
  162. package/build/esm/widgets/index.js.map +0 -1
  163. package/build/esm/widgets/server-credentials.js +0 -24
  164. package/build/esm/widgets/server-credentials.js.map +0 -1
  165. package/build/types/VoltraModule.d.ts +0 -30
  166. package/build/types/VoltraModule.d.ts.map +0 -1
  167. package/build/types/client.d.ts +0 -9
  168. package/build/types/client.d.ts.map +0 -1
  169. package/build/types/components/VoltraView.d.ts +0 -29
  170. package/build/types/components/VoltraView.d.ts.map +0 -1
  171. package/build/types/components/VoltraWidgetPreview.d.ts +0 -21
  172. package/build/types/components/VoltraWidgetPreview.d.ts.map +0 -1
  173. package/build/types/events.d.ts +0 -49
  174. package/build/types/events.d.ts.map +0 -1
  175. package/build/types/live-update/api.d.ts +0 -126
  176. package/build/types/live-update/api.d.ts.map +0 -1
  177. package/build/types/preload.d.ts +0 -45
  178. package/build/types/preload.d.ts.map +0 -1
  179. package/build/types/utils/useUpdateOnHMR.d.ts +0 -9
  180. package/build/types/utils/useUpdateOnHMR.d.ts.map +0 -1
  181. package/build/types/widgets/api.d.ts +0 -131
  182. package/build/types/widgets/api.d.ts.map +0 -1
  183. package/build/types/widgets/index.d.ts +0 -3
  184. package/build/types/widgets/index.d.ts.map +0 -1
  185. package/build/types/widgets/server-credentials.d.ts +0 -18
  186. package/build/types/widgets/server-credentials.d.ts.map +0 -1
@@ -1,29 +0,0 @@
1
- import { Platform } from 'react-native';
2
- import VoltraModule from './VoltraModule.js';
3
- const noopSubscription = {
4
- remove: () => { },
5
- };
6
- /**
7
- * Add a listener for Voltra events.
8
- *
9
- * Supported events:
10
- * - `interaction`: User interactions with widgets (buttons, switches, checkboxes) (iOS only)
11
- * - `stateChange`: Live Activity state changes (iOS only)
12
- * - `activityTokenReceived`: Push token for Live Activity (iOS only)
13
- * - `activityPushToStartTokenReceived`: Push-to-start token (iOS only)
14
- *
15
- * Note: On Android, interactions open the app directly (optionally via deep links)
16
- * instead of emitting background events.
17
- *
18
- * @param event The event type to listen for
19
- * @param listener Callback function to handle the event
20
- * @returns EventSubscription with a remove() method to unsubscribe
21
- */
22
- export function addVoltraListener(event, listener) {
23
- if (Platform.OS !== 'ios') {
24
- console.warn(`[Voltra] Event '${event}' is only supported on iOS. Returning no-op subscription.`);
25
- return noopSubscription;
26
- }
27
- return VoltraModule.addListener(event, listener);
28
- }
29
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAGvC,OAAO,YAAY,MAAM,mBAAmB,CAAA;AA6B5C,MAAM,gBAAgB,GAAsB;IAC1C,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;CACjB,CAAA;AASD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAQ,EACR,QAA4C;IAE5C,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,mBAAmB,KAAK,2DAA2D,CAAC,CAAA;QACjG,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAClD,CAAC"}
@@ -1,203 +0,0 @@
1
- import { useCallback, useEffect, useRef, useState } from 'react';
2
- import { useUpdateOnHMR } from '../utils/index.js';
3
- import VoltraModule from '../VoltraModule.js';
4
- import { renderAndroidLiveUpdateToString } from './renderer.js';
5
- /**
6
- * @unstable This API is experimental and may change in future versions.
7
- *
8
- * React hook for managing Android Live Updates with automatic lifecycle handling.
9
- *
10
- * @param variants - The Android Live Update content variants to display
11
- * @param options - Configuration options for the hook
12
- * @returns Object with start, update, end methods and isActive state
13
- *
14
- * @example
15
- * ```tsx
16
- * import { VoltraAndroid, useAndroidLiveUpdate } from 'voltra'
17
- *
18
- * const MyLiveUpdate = () => {
19
- * const { start, update, end, isActive } = useAndroidLiveUpdate({
20
- * collapsed: <VoltraAndroid.Text>Delivery arriving</VoltraAndroid.Text>,
21
- * expanded: <VoltraAndroid.Column>...</VoltraAndroid.Column>,
22
- * channelId: 'delivery_updates',
23
- * }, {
24
- * updateName: 'my-live-update',
25
- * autoStart: true,
26
- * autoUpdate: true
27
- * })
28
- *
29
- * return (
30
- * <View>
31
- * <Button title={isActive ? "Stop" : "Start"} onPress={isActive ? end : start} />
32
- * </View>
33
- * )
34
- * }
35
- * ```
36
- */
37
- export const useAndroidLiveUpdate = (variants, options) => {
38
- const [targetId, setTargetId] = useState(() => {
39
- if (options?.updateName) {
40
- return isAndroidLiveUpdateActive(options.updateName) ? options.updateName : null;
41
- }
42
- return null;
43
- });
44
- const isActive = targetId !== null;
45
- const optionsRef = useRef(options);
46
- const variantsRef = useRef(variants);
47
- const lastUpdateOptionsRef = useRef(undefined);
48
- // Update refs when values change
49
- useEffect(() => {
50
- optionsRef.current = options;
51
- }, [options]);
52
- useEffect(() => {
53
- variantsRef.current = variants;
54
- }, [variants]);
55
- useUpdateOnHMR();
56
- const start = useCallback(async (options) => {
57
- const id = await startAndroidLiveUpdate(variantsRef.current, {
58
- ...optionsRef.current,
59
- ...options,
60
- });
61
- setTargetId(id);
62
- }, []);
63
- const update = useCallback(async (options) => {
64
- if (!targetId) {
65
- return;
66
- }
67
- const updateOptions = { ...optionsRef.current, ...options };
68
- lastUpdateOptionsRef.current = updateOptions;
69
- await updateAndroidLiveUpdate(targetId, variantsRef.current, updateOptions);
70
- }, [targetId]);
71
- const end = useCallback(async () => {
72
- if (!targetId) {
73
- return;
74
- }
75
- await stopAndroidLiveUpdate(targetId);
76
- setTargetId(null);
77
- }, [targetId]);
78
- useEffect(() => {
79
- if (!options?.autoStart) {
80
- return;
81
- }
82
- start();
83
- }, [options?.autoStart, start]);
84
- useEffect(() => {
85
- if (!options?.autoUpdate)
86
- return;
87
- update(lastUpdateOptionsRef.current);
88
- }, [options?.autoUpdate, update, variants]);
89
- return {
90
- start,
91
- update,
92
- end,
93
- isActive,
94
- };
95
- };
96
- /**
97
- * @unstable This API is experimental and may change in future versions.
98
- *
99
- * Start a new Android Live Update with the provided content variants.
100
- *
101
- * @param variants - The Android Live Update content variants to display
102
- * @param options - Configuration options for the Live Update
103
- * @returns Promise resolving to the notification ID
104
- *
105
- * @example
106
- * ```tsx
107
- * import { VoltraAndroid, startAndroidLiveUpdate } from 'voltra'
108
- *
109
- * const notificationId = await startAndroidLiveUpdate({
110
- * collapsed: <VoltraAndroid.Text>Delivery arriving</VoltraAndroid.Text>,
111
- * expanded: <VoltraAndroid.Column>...</VoltraAndroid.Column>,
112
- * channelId: 'delivery_updates',
113
- * }, {
114
- * updateName: 'my-live-update',
115
- * })
116
- * ```
117
- */
118
- export const startAndroidLiveUpdate = async (variants, options) => {
119
- const payload = renderAndroidLiveUpdateToString(variants);
120
- const notificationId = await VoltraModule.startAndroidLiveUpdate(payload, {
121
- updateName: options?.updateName,
122
- channelId: options?.channelId || variants.channelId || 'voltra_live_updates',
123
- });
124
- return notificationId;
125
- };
126
- /**
127
- * @unstable This API is experimental and may change in future versions.
128
- *
129
- * Update an existing Android Live Update with new content.
130
- *
131
- * @param notificationId - The ID of the notification to update
132
- * @param variants - The new Android Live Update content variants
133
- * @param options - Update options
134
- *
135
- * @example
136
- * ```tsx
137
- * import { VoltraAndroid, updateAndroidLiveUpdate } from 'voltra'
138
- *
139
- * await updateAndroidLiveUpdate('notification-123', {
140
- * collapsed: <VoltraAndroid.Text>Updated: Delivery arriving</VoltraAndroid.Text>,
141
- * expanded: <VoltraAndroid.Column>...</VoltraAndroid.Column>,
142
- * })
143
- * ```
144
- */
145
- export const updateAndroidLiveUpdate = async (notificationId, variants, options) => {
146
- const payload = renderAndroidLiveUpdateToString(variants);
147
- return VoltraModule.updateAndroidLiveUpdate(notificationId, payload);
148
- };
149
- /**
150
- * @unstable This API is experimental and may change in future versions.
151
- *
152
- * Stop an Android Live Update and dismiss the notification.
153
- *
154
- * @param notificationId - The ID of the notification to stop
155
- *
156
- * @example
157
- * ```tsx
158
- * import { stopAndroidLiveUpdate } from 'voltra'
159
- *
160
- * await stopAndroidLiveUpdate('notification-123')
161
- * ```
162
- */
163
- export const stopAndroidLiveUpdate = async (notificationId) => {
164
- return VoltraModule.stopAndroidLiveUpdate(notificationId);
165
- };
166
- /**
167
- * @unstable This API is experimental and may change in future versions.
168
- *
169
- * Check if an Android Live Update with the given name is currently active.
170
- *
171
- * @param updateName - The name of the Live Update to check
172
- * @returns true if the update is active, false otherwise
173
- *
174
- * @example
175
- * ```tsx
176
- * import { isAndroidLiveUpdateActive } from 'voltra'
177
- *
178
- * if (isAndroidLiveUpdateActive('my-live-update')) {
179
- * console.log('Update is running')
180
- * }
181
- * ```
182
- */
183
- export const isAndroidLiveUpdateActive = (updateName) => {
184
- return VoltraModule.isAndroidLiveUpdateActive(updateName);
185
- };
186
- /**
187
- * @unstable This API is experimental and may change in future versions.
188
- *
189
- * End all active Android Live Updates.
190
- *
191
- * This function stops and dismisses all currently running Live Updates in the app.
192
- *
193
- * @example
194
- * ```tsx
195
- * import { endAllAndroidLiveUpdates } from 'voltra'
196
- *
197
- * await endAllAndroidLiveUpdates()
198
- * ```
199
- */
200
- export async function endAllAndroidLiveUpdates() {
201
- return VoltraModule.endAllAndroidLiveUpdates();
202
- }
203
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/live-update/api.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import VoltraModule from './VoltraModule.js';
2
- /**
3
- * Preload images to Android cache for use in Widgets.
4
- *
5
- * Downloaded images are stored in the app's cache directory and exposed via FileProvider.
6
- * Images can then be referenced using the `assetName` property in the Image component.
7
- *
8
- * @param images - Array of images to preload
9
- * @returns Result indicating which images succeeded or failed
10
- *
11
- * @example
12
- * ```typescript
13
- * const result = await preloadImages([
14
- * {
15
- * url: 'https://example.com/album-art.jpg',
16
- * key: 'current-album',
17
- * headers: { 'Authorization': 'Bearer token' }
18
- * }
19
- * ])
20
- *
21
- * // Use in Android Widget
22
- * <VoltraAndroid.Image source={{ assetName: 'current-album' }} />
23
- * ```
24
- */
25
- export async function preloadImages(images) {
26
- try {
27
- return await VoltraModule.preloadImages(images);
28
- }
29
- catch (error) {
30
- return {
31
- succeeded: [],
32
- failed: images.map((img) => ({
33
- key: img.key,
34
- error: error instanceof Error ? error.message : 'Unknown error',
35
- })),
36
- };
37
- }
38
- }
39
- /**
40
- * Clear preloaded images from Android cache.
41
- *
42
- * @param keys - Optional array of image keys to clear. If omitted, clears all preloaded images.
43
- *
44
- * @example
45
- * ```typescript
46
- * // Clear specific images
47
- * await clearPreloadedImages(['album-art', 'profile-pic'])
48
- *
49
- * // Clear all preloaded images
50
- * await clearPreloadedImages()
51
- * ```
52
- */
53
- export async function clearPreloadedImages(keys) {
54
- try {
55
- await VoltraModule.clearPreloadedImages(keys ?? null);
56
- }
57
- catch (error) {
58
- console.error('Failed to clear preloaded images:', error);
59
- }
60
- }
61
- /**
62
- * Reload Android Widgets. (Alias for reloadAndroidWidgets)
63
- */
64
- export async function reloadWidgets(widgetIds) {
65
- try {
66
- await VoltraModule.reloadAndroidWidgets(widgetIds ?? null);
67
- }
68
- catch (error) {
69
- console.error('Failed to reload Android widgets:', error);
70
- }
71
- }
72
- //# sourceMappingURL=preload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/preload.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAA6B;IAC/D,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACjD,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;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAe;IACxD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAoB;IACtD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,oBAAoB,CAAC,SAAS,IAAI,IAAI,CAAC,CAAA;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC"}
@@ -1,23 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- /**
3
- * Taps into the HMR accept function to forcefully re-render the component when any module is updated.
4
- * Is only available in development mode.
5
- */
6
- export const useUpdateOnHMR = () => {
7
- const [, forceUpdate] = useState(0);
8
- useEffect(() => {
9
- if (!__DEV__) {
10
- return;
11
- }
12
- // Override the accept function to forcefully re-render when any module is updated
13
- const oldAccept = global['__accept'];
14
- global['__accept'] = (...args) => {
15
- forceUpdate((prev) => prev + 1);
16
- oldAccept?.(...args);
17
- };
18
- return () => {
19
- global['__accept'] = oldAccept;
20
- };
21
- }, []);
22
- };
23
- //# sourceMappingURL=useUpdateOnHMR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUpdateOnHMR.js","sourceRoot":"","sources":["../../../src/utils/useUpdateOnHMR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAO3C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEnC,SAAS,CAAC,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"}
@@ -1,143 +0,0 @@
1
- import VoltraModule from '../VoltraModule.js';
2
- import { renderAndroidWidgetToString } from './renderer.js';
3
- /**
4
- * Update an Android home screen widget with new content.
5
- *
6
- * The content will be stored in SharedPreferences and the widget
7
- * will be updated to display the new content.
8
- *
9
- * @param widgetId - The widget identifier
10
- * @param variants - An array of size variants with their breakpoints and content.
11
- * Android will automatically select the best matching variant based on the
12
- * actual widget dimensions.
13
- * @param options - Optional settings like deep link URL
14
- *
15
- * @example Different content per size
16
- * ```tsx
17
- * import { VoltraAndroid, updateAndroidWidget } from 'voltra'
18
- *
19
- * await updateAndroidWidget('weather', [
20
- * {
21
- * size: { width: 150, height: 100 },
22
- * content: <VoltraAndroid.Text fontSize={32}>72°F</VoltraAndroid.Text>
23
- * },
24
- * {
25
- * size: { width: 250, height: 150 },
26
- * content: (
27
- * <VoltraAndroid.Row>
28
- * <VoltraAndroid.Text fontSize={32}>72°F</VoltraAndroid.Text>
29
- * <VoltraAndroid.Column>
30
- * <VoltraAndroid.Text>Sunny</VoltraAndroid.Text>
31
- * <VoltraAndroid.Text>High: 78° Low: 65°</VoltraAndroid.Text>
32
- * </VoltraAndroid.Column>
33
- * </VoltraAndroid.Row>
34
- * )
35
- * }
36
- * ], { deepLinkUrl: '/weather' })
37
- * ```
38
- */
39
- export const updateAndroidWidget = async (widgetId, variants, options) => {
40
- const payload = renderAndroidWidgetToString(variants);
41
- return VoltraModule.updateAndroidWidget(widgetId, payload, {
42
- deepLinkUrl: options?.deepLinkUrl,
43
- });
44
- };
45
- /**
46
- * Reload widget timelines to refresh their content.
47
- *
48
- * Use this after updating data that widgets depend on (e.g., after preloading
49
- * new images) to force them to re-render.
50
- *
51
- * @param widgetIds - Optional array of widget IDs to reload. If omitted, reloads all widgets.
52
- *
53
- * @example
54
- * ```typescript
55
- * // Reload specific widgets
56
- * await reloadAndroidWidgets(['weather', 'calendar'])
57
- *
58
- * // Reload all widgets
59
- * await reloadAndroidWidgets()
60
- * ```
61
- */
62
- export const reloadAndroidWidgets = async (widgetIds) => {
63
- return VoltraModule.reloadAndroidWidgets(widgetIds ?? null);
64
- };
65
- /**
66
- * Clear a widget's stored data.
67
- *
68
- * This removes the JSON content and deep link URL for the specified widget,
69
- * causing it to show its placeholder state.
70
- *
71
- * @param widgetId - The widget identifier to clear
72
- *
73
- * @example
74
- * ```typescript
75
- * await clearAndroidWidget('weather')
76
- * ```
77
- */
78
- export const clearAndroidWidget = async (widgetId) => {
79
- return VoltraModule.clearAndroidWidget(widgetId);
80
- };
81
- /**
82
- * Clear all widgets' stored data.
83
- *
84
- * This removes the JSON content and deep link URLs for all configured widgets,
85
- * causing them to show their placeholder states.
86
- *
87
- * @example
88
- * ```typescript
89
- * await clearAllAndroidWidgets()
90
- * ```
91
- */
92
- export const clearAllAndroidWidgets = async () => {
93
- return VoltraModule.clearAllAndroidWidgets();
94
- };
95
- /**
96
- * Request to pin a widget to the home screen.
97
- *
98
- * This will show the Android system pin widget dialog, allowing the user
99
- * to add the widget to their home screen. Optionally, you can provide
100
- * preview dimensions to show a preview of the widget in the pin dialog.
101
- *
102
- * See: https://developer.android.com/develop/ui/compose/glance/pin-in-app
103
- *
104
- * @param widgetId - The widget identifier to pin
105
- * @param options - Optional settings for the pin request
106
- * @param options.previewWidth - Optional preview width in dp (default: 245)
107
- * @param options.previewHeight - Optional preview height in dp (default: 115)
108
- * @returns Promise that resolves to true if the pin request was successful
109
- *
110
- * @example Basic usage
111
- * ```typescript
112
- * const success = await requestPinAndroidWidget('weather')
113
- * if (success) {
114
- * console.log('Widget pin request sent')
115
- * }
116
- * ```
117
- *
118
- * @example With preview dimensions
119
- * ```typescript
120
- * const success = await requestPinAndroidWidget('weather', {
121
- * previewWidth: 245,
122
- * previewHeight: 115
123
- * })
124
- * ```
125
- */
126
- export const requestPinAndroidWidget = async (widgetId, options) => {
127
- return VoltraModule.requestPinGlanceAppWidget(widgetId, options);
128
- };
129
- /**
130
- * Fetches all active widget instances for the containing app on Android.
131
- *
132
- * @returns A promise that resolves to an array of active widget instances.
133
- *
134
- * @example
135
- * ```typescript
136
- * const widgets = await getActiveWidgets()
137
- * console.log('Active widgets:', widgets)
138
- * ```
139
- */
140
- export const getActiveWidgets = async () => {
141
- return VoltraModule.getActiveWidgets();
142
- };
143
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/widgets/api.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAY3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,QAAgB,EAChB,QAA+B,EAC/B,OAAoC,EACrB,EAAE;IACjB,MAAM,OAAO,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAA;IAErD,OAAO,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE;QACzD,WAAW,EAAE,OAAO,EAAE,WAAW;KAClC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,SAAoB,EAAiB,EAAE;IAChF,OAAO,YAAY,CAAC,oBAAoB,CAAC,SAAS,IAAI,IAAI,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IAC1E,OAAO,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAClD,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAAmB,EAAE;IAC9D,OAAO,YAAY,CAAC,sBAAsB,EAAE,CAAA;AAC9C,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,QAAgB,EAChB,OAA2D,EACzC,EAAE;IACpB,OAAO,YAAY,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAA2B,EAAE;IAChE,OAAO,YAAY,CAAC,gBAAgB,EAAE,CAAA;AACxC,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- // Android Widget API
2
- export { clearAllAndroidWidgets, clearAndroidWidget, getActiveWidgets, reloadAndroidWidgets, requestPinAndroidWidget, updateAndroidWidget, } from './api.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/widgets/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,UAAU,CAAA"}
@@ -1,24 +0,0 @@
1
- import VoltraModule from '../VoltraModule.js';
2
- /**
3
- * Store server credentials for Android widget server-driven updates.
4
- *
5
- * Credentials are stored in DataStore, which is
6
- * automatically accessible by the widget's WorkManager background worker.
7
- *
8
- * @param credentials - The server credentials to store
9
- */
10
- export async function setWidgetServerCredentials(credentials) {
11
- if (!credentials.token) {
12
- throw new Error('[Voltra] [Android] setWidgetServerCredentials: token is required');
13
- }
14
- return VoltraModule.setWidgetServerCredentials(credentials);
15
- }
16
- /**
17
- * Clear stored server credentials for Android widget updates.
18
- * All widgets are automatically reloaded after clearing credentials so they
19
- * revert to their default/unauthenticated state.
20
- */
21
- export async function clearWidgetServerCredentials() {
22
- return VoltraModule.clearWidgetServerCredentials();
23
- }
24
- //# sourceMappingURL=server-credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-credentials.js","sourceRoot":"","sources":["../../../src/widgets/server-credentials.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAK7C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,WAAoC;IACnF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,YAAY,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAA;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,OAAO,YAAY,CAAC,4BAA4B,EAAE,CAAA;AACpD,CAAC"}
@@ -1,30 +0,0 @@
1
- import type { EventSubscription, PreloadImageOptions, PreloadImagesResult, WidgetServerCredentials } from './types.js';
2
- export interface VoltraAndroidModuleSpec {
3
- startAndroidLiveUpdate(payload: string, options: {
4
- updateName?: string;
5
- channelId?: string;
6
- }): Promise<string>;
7
- updateAndroidLiveUpdate(notificationId: string, payload: string): Promise<void>;
8
- stopAndroidLiveUpdate(notificationId: string): Promise<void>;
9
- isAndroidLiveUpdateActive(updateName: string): boolean;
10
- endAllAndroidLiveUpdates(): Promise<void>;
11
- updateAndroidWidget(widgetId: string, jsonString: string, options?: {
12
- deepLinkUrl?: string;
13
- }): Promise<void>;
14
- reloadAndroidWidgets(widgetIds?: string[] | null): Promise<void>;
15
- clearAndroidWidget(widgetId: string): Promise<void>;
16
- clearAllAndroidWidgets(): Promise<void>;
17
- requestPinGlanceAppWidget(widgetId: string, options?: {
18
- previewWidth?: number;
19
- previewHeight?: number;
20
- }): Promise<boolean>;
21
- preloadImages(images: PreloadImageOptions[]): Promise<PreloadImagesResult>;
22
- clearPreloadedImages(keys?: string[] | null): Promise<void>;
23
- setWidgetServerCredentials(credentials: WidgetServerCredentials): Promise<void>;
24
- clearWidgetServerCredentials(): Promise<void>;
25
- getActiveWidgets<T = any>(): Promise<T[]>;
26
- addListener(event: string, listener: (event: any) => void): EventSubscription;
27
- }
28
- declare const VoltraModule: VoltraAndroidModuleSpec;
29
- export default VoltraModule;
30
- //# sourceMappingURL=VoltraModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VoltraModule.d.ts","sourceRoot":"","sources":["../../src/VoltraModule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEtH,MAAM,WAAW,uBAAuB;IACtC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9G,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;IACtD,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5G,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,yBAAyB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1D,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,gBAAgB,CAAC,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IACzC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,iBAAiB,CAAA;CAC9E;AAED,QAAA,MAAM,YAAY,yBAA+D,CAAA;AAEjF,eAAe,YAAY,CAAA"}
@@ -1,9 +0,0 @@
1
- export { endAllAndroidLiveUpdates, isAndroidLiveUpdateActive, startAndroidLiveUpdate, stopAndroidLiveUpdate, updateAndroidLiveUpdate, useAndroidLiveUpdate, } from './live-update/api.js';
2
- export type { AndroidLiveUpdateJson, AndroidLiveUpdateVariants, AndroidLiveUpdateVariantsJson, StartAndroidLiveUpdateOptions, UpdateAndroidLiveUpdateOptions, UseAndroidLiveUpdateOptions, UseAndroidLiveUpdateResult, } from './live-update/types.js';
3
- export { clearAllAndroidWidgets, clearAndroidWidget, getActiveWidgets, reloadAndroidWidgets, requestPinAndroidWidget, updateAndroidWidget, } from './widgets/api.js';
4
- export type { AndroidWidgetSize, AndroidWidgetSizeVariant, AndroidWidgetVariants, UpdateAndroidWidgetOptions, WidgetInfo, } from './widgets/types.js';
5
- export { clearWidgetServerCredentials, setWidgetServerCredentials, type WidgetServerCredentials, } from './widgets/server-credentials.js';
6
- export { clearPreloadedImages, preloadImages, reloadWidgets } from './preload.js';
7
- export { VoltraView, type VoltraViewProps } from './components/VoltraView.js';
8
- export { type AndroidWidgetFamily, VoltraWidgetPreview, type VoltraWidgetPreviewProps, } from './components/VoltraWidgetPreview.js';
9
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,GACX,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EACL,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B,MAAM,qCAAqC,CAAA"}
@@ -1,29 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { StyleProp, ViewStyle } from 'react-native';
3
- import { VoltraInteractionEvent } from '../events.js';
4
- export type VoltraViewProps = {
5
- /**
6
- * Unique identifier for this view instance.
7
- * Used as 'source' in interaction events to identify which view triggered the event.
8
- * If not provided, a unique ID will be generated automatically.
9
- */
10
- id?: string;
11
- /**
12
- * Voltra JSX components to render
13
- */
14
- children: ReactNode;
15
- /**
16
- * Style for the view container
17
- */
18
- style?: StyleProp<ViewStyle>;
19
- /**
20
- * Callback when user interacts with components in the view.
21
- * Events are filtered by this view's id (source).
22
- */
23
- onInteraction?: (event: VoltraInteractionEvent) => void;
24
- };
25
- /**
26
- * A React Native component that renders Voltra UI for Android using Jetpack Compose.
27
- */
28
- export declare function VoltraView({ id, children, style, onInteraction }: VoltraViewProps): import("react/jsx-runtime").JSX.Element;
29
- //# sourceMappingURL=VoltraView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VoltraView.d.ts","sourceRoot":"","sources":["../../../src/components/VoltraView.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAsB,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,EAAqB,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAQxE,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACxD,CAAA;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,eAAe,2CAsCjF"}
@@ -1,21 +0,0 @@
1
- import { StyleProp, ViewStyle } from 'react-native';
2
- import { VoltraViewProps } from './VoltraView.js';
3
- /**
4
- * Android-specific widget sizes in dp.
5
- */
6
- export type AndroidWidgetFamily = 'small' | 'mediumSquare' | 'mediumWide' | 'mediumTall' | 'large' | 'extraLarge';
7
- export type VoltraWidgetPreviewProps = Omit<VoltraViewProps, 'style'> & {
8
- /**
9
- * Android widget size to preview
10
- */
11
- family: AndroidWidgetFamily;
12
- /**
13
- * Additional styles to apply on top of the widget dimensions
14
- */
15
- style?: StyleProp<ViewStyle>;
16
- };
17
- /**
18
- * A preview component that renders Voltra Android JSX content at specific dimensions.
19
- */
20
- export declare function VoltraWidgetPreview({ family, style, children, ...voltraViewProps }: VoltraWidgetPreviewProps): import("react/jsx-runtime").JSX.Element;
21
- //# sourceMappingURL=VoltraWidgetPreview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VoltraWidgetPreview.d.ts","sourceRoot":"","sources":["../../../src/components/VoltraWidgetPreview.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,EAAc,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE7D;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CAAA;AAWjH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG;IACtE;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B,CAAA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,EAAE,wBAAwB,2CAe5G"}