@use-voltra/ios-client 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/README.md +61 -8
  2. package/Voltra.podspec +1 -0
  3. package/build/commonjs/dynamic-widget/api.js +15 -0
  4. package/build/commonjs/dynamic-widget/api.js.map +1 -0
  5. package/build/commonjs/events.js +23 -0
  6. package/build/commonjs/events.js.map +1 -1
  7. package/build/commonjs/index.js +74 -7
  8. package/build/commonjs/index.js.map +1 -1
  9. package/build/commonjs/live-activity/api.js +3 -1
  10. package/build/commonjs/live-activity/api.js.map +1 -1
  11. package/build/commonjs/live-activity/dynamic-api.js +173 -0
  12. package/build/commonjs/live-activity/dynamic-api.js.map +1 -0
  13. package/build/commonjs/native/NativeVoltra.js.map +1 -1
  14. package/build/commonjs/utils/enableDynamicLiveActivityHotReload.js +47 -0
  15. package/build/commonjs/utils/enableDynamicLiveActivityHotReload.js.map +1 -0
  16. package/build/commonjs/utils/enableWidgetHotReload.js +8 -11
  17. package/build/commonjs/utils/enableWidgetHotReload.js.map +1 -1
  18. package/build/commonjs/utils/useUpdateOnHMR.js +3 -7
  19. package/build/commonjs/utils/useUpdateOnHMR.js.map +1 -1
  20. package/build/commonjs/widgets/server-credentials.js +9 -0
  21. package/build/commonjs/widgets/server-credentials.js.map +1 -1
  22. package/build/commonjs/widgets/server-update.js +78 -0
  23. package/build/commonjs/widgets/server-update.js.map +1 -0
  24. package/build/module/dynamic-widget/api.js +10 -0
  25. package/build/module/dynamic-widget/api.js.map +1 -0
  26. package/build/module/events.js +23 -0
  27. package/build/module/events.js.map +1 -1
  28. package/build/module/index.js +4 -0
  29. package/build/module/index.js.map +1 -1
  30. package/build/module/live-activity/api.js +2 -2
  31. package/build/module/live-activity/api.js.map +1 -1
  32. package/build/module/live-activity/dynamic-api.js +167 -0
  33. package/build/module/live-activity/dynamic-api.js.map +1 -0
  34. package/build/module/native/NativeVoltra.js.map +1 -1
  35. package/build/module/utils/enableDynamicLiveActivityHotReload.js +43 -0
  36. package/build/module/utils/enableDynamicLiveActivityHotReload.js.map +1 -0
  37. package/build/module/utils/enableWidgetHotReload.js +9 -11
  38. package/build/module/utils/enableWidgetHotReload.js.map +1 -1
  39. package/build/module/utils/useUpdateOnHMR.js +3 -7
  40. package/build/module/utils/useUpdateOnHMR.js.map +1 -1
  41. package/build/module/widgets/server-credentials.js +9 -0
  42. package/build/module/widgets/server-credentials.js.map +1 -1
  43. package/build/module/widgets/server-update.js +72 -0
  44. package/build/module/widgets/server-update.js.map +1 -0
  45. package/build/typescript/commonjs/dynamic-widget/api.d.ts +8 -0
  46. package/build/typescript/commonjs/dynamic-widget/api.d.ts.map +1 -0
  47. package/build/typescript/commonjs/events.d.ts +7 -0
  48. package/build/typescript/commonjs/events.d.ts.map +1 -1
  49. package/build/typescript/commonjs/index.d.ts +4 -0
  50. package/build/typescript/commonjs/index.d.ts.map +1 -1
  51. package/build/typescript/commonjs/live-activity/api.d.ts +7 -0
  52. package/build/typescript/commonjs/live-activity/api.d.ts.map +1 -1
  53. package/build/typescript/commonjs/live-activity/dynamic-api.d.ts +54 -0
  54. package/build/typescript/commonjs/live-activity/dynamic-api.d.ts.map +1 -0
  55. package/build/typescript/commonjs/native/NativeVoltra.d.ts +21 -0
  56. package/build/typescript/commonjs/native/NativeVoltra.d.ts.map +1 -1
  57. package/build/typescript/commonjs/types.d.ts +1 -1
  58. package/build/typescript/commonjs/types.d.ts.map +1 -1
  59. package/build/typescript/commonjs/utils/enableDynamicLiveActivityHotReload.d.ts +15 -0
  60. package/build/typescript/commonjs/utils/enableDynamicLiveActivityHotReload.d.ts.map +1 -0
  61. package/build/typescript/commonjs/utils/enableWidgetHotReload.d.ts +5 -7
  62. package/build/typescript/commonjs/utils/enableWidgetHotReload.d.ts.map +1 -1
  63. package/build/typescript/commonjs/utils/useUpdateOnHMR.d.ts +0 -3
  64. package/build/typescript/commonjs/utils/useUpdateOnHMR.d.ts.map +1 -1
  65. package/build/typescript/commonjs/widgets/server-credentials.d.ts +8 -0
  66. package/build/typescript/commonjs/widgets/server-credentials.d.ts.map +1 -1
  67. package/build/typescript/commonjs/widgets/server-update.d.ts +64 -0
  68. package/build/typescript/commonjs/widgets/server-update.d.ts.map +1 -0
  69. package/build/typescript/module/dynamic-widget/api.d.ts +8 -0
  70. package/build/typescript/module/dynamic-widget/api.d.ts.map +1 -0
  71. package/build/typescript/module/events.d.ts +7 -0
  72. package/build/typescript/module/events.d.ts.map +1 -1
  73. package/build/typescript/module/index.d.ts +4 -0
  74. package/build/typescript/module/index.d.ts.map +1 -1
  75. package/build/typescript/module/live-activity/api.d.ts +7 -0
  76. package/build/typescript/module/live-activity/api.d.ts.map +1 -1
  77. package/build/typescript/module/live-activity/dynamic-api.d.ts +54 -0
  78. package/build/typescript/module/live-activity/dynamic-api.d.ts.map +1 -0
  79. package/build/typescript/module/native/NativeVoltra.d.ts +21 -0
  80. package/build/typescript/module/native/NativeVoltra.d.ts.map +1 -1
  81. package/build/typescript/module/types.d.ts +1 -1
  82. package/build/typescript/module/types.d.ts.map +1 -1
  83. package/build/typescript/module/utils/enableDynamicLiveActivityHotReload.d.ts +15 -0
  84. package/build/typescript/module/utils/enableDynamicLiveActivityHotReload.d.ts.map +1 -0
  85. package/build/typescript/module/utils/enableWidgetHotReload.d.ts +5 -7
  86. package/build/typescript/module/utils/enableWidgetHotReload.d.ts.map +1 -1
  87. package/build/typescript/module/utils/useUpdateOnHMR.d.ts +0 -3
  88. package/build/typescript/module/utils/useUpdateOnHMR.d.ts.map +1 -1
  89. package/build/typescript/module/widgets/server-credentials.d.ts +8 -0
  90. package/build/typescript/module/widgets/server-credentials.d.ts.map +1 -1
  91. package/build/typescript/module/widgets/server-update.d.ts +64 -0
  92. package/build/typescript/module/widgets/server-update.d.ts.map +1 -0
  93. package/expo-plugin/build/cjs/constants.js +20 -1
  94. package/expo-plugin/build/cjs/constants.js.map +1 -1
  95. package/expo-plugin/build/cjs/index.js +9 -1
  96. package/expo-plugin/build/cjs/index.js.map +1 -1
  97. package/expo-plugin/build/cjs/ios/index.js +1 -0
  98. package/expo-plugin/build/cjs/ios/index.js.map +1 -1
  99. package/expo-plugin/build/cjs/ios/infoPlist.js +28 -5
  100. package/expo-plugin/build/cjs/ios/infoPlist.js.map +1 -1
  101. package/expo-plugin/build/cjs/ios/serverUpdate.js +25 -0
  102. package/expo-plugin/build/cjs/ios/serverUpdate.js.map +1 -0
  103. package/expo-plugin/build/cjs/ios-widget/clientRendered.js +4 -4
  104. package/expo-plugin/build/cjs/ios-widget/clientRendered.js.map +1 -1
  105. package/expo-plugin/build/cjs/ios-widget/clientRenderedPrerender.js +5 -5
  106. package/expo-plugin/build/cjs/ios-widget/clientRenderedPrerender.js.map +1 -1
  107. package/expo-plugin/build/cjs/ios-widget/dynamic-live-activity/swift.js +130 -0
  108. package/expo-plugin/build/cjs/ios-widget/dynamic-live-activity/swift.js.map +1 -0
  109. package/expo-plugin/build/cjs/ios-widget/files/index.js +9 -2
  110. package/expo-plugin/build/cjs/ios-widget/files/index.js.map +1 -1
  111. package/expo-plugin/build/cjs/ios-widget/files/infoPlist.js +6 -3
  112. package/expo-plugin/build/cjs/ios-widget/files/infoPlist.js.map +1 -1
  113. package/expo-plugin/build/cjs/ios-widget/files/manifest.js +24 -0
  114. package/expo-plugin/build/cjs/ios-widget/files/manifest.js.map +1 -1
  115. package/expo-plugin/build/cjs/ios-widget/files/swift-utils.js +7 -0
  116. package/expo-plugin/build/cjs/ios-widget/files/swift-utils.js.map +1 -0
  117. package/expo-plugin/build/cjs/ios-widget/files/swift.js +56 -26
  118. package/expo-plugin/build/cjs/ios-widget/files/swift.js.map +1 -1
  119. package/expo-plugin/build/cjs/ios-widget/index.js +9 -3
  120. package/expo-plugin/build/cjs/ios-widget/index.js.map +1 -1
  121. package/expo-plugin/build/cjs/ios-widget/podfile.js +38 -12
  122. package/expo-plugin/build/cjs/ios-widget/podfile.js.map +1 -1
  123. package/expo-plugin/build/cjs/ios-widget/widgetPlist.js +34 -22
  124. package/expo-plugin/build/cjs/ios-widget/widgetPlist.js.map +1 -1
  125. package/expo-plugin/build/cjs/ios-widget/xcode/buildPhases.js +194 -118
  126. package/expo-plugin/build/cjs/ios-widget/xcode/buildPhases.js.map +1 -1
  127. package/expo-plugin/build/cjs/ios-widget/xcode/configurationList.js +30 -22
  128. package/expo-plugin/build/cjs/ios-widget/xcode/configurationList.js.map +1 -1
  129. package/expo-plugin/build/cjs/ios-widget/xcode/fileReferences.js +50 -0
  130. package/expo-plugin/build/cjs/ios-widget/xcode/fileReferences.js.map +1 -0
  131. package/expo-plugin/build/cjs/ios-widget/xcode/groups.js +45 -43
  132. package/expo-plugin/build/cjs/ios-widget/xcode/groups.js.map +1 -1
  133. package/expo-plugin/build/cjs/ios-widget/xcode/index.js +93 -91
  134. package/expo-plugin/build/cjs/ios-widget/xcode/index.js.map +1 -1
  135. package/expo-plugin/build/cjs/ios-widget/xcode/mainAppSettings.js +41 -39
  136. package/expo-plugin/build/cjs/ios-widget/xcode/mainAppSettings.js.map +1 -1
  137. package/expo-plugin/build/cjs/ios-widget/xcode/productFile.js +2 -2
  138. package/expo-plugin/build/cjs/ios-widget/xcode/productFile.js.map +1 -1
  139. package/expo-plugin/build/cjs/ios-widget/xcode/target.js +29 -63
  140. package/expo-plugin/build/cjs/ios-widget/xcode/target.js.map +1 -1
  141. package/expo-plugin/build/cjs/utils/urlScheme.js +36 -14
  142. package/expo-plugin/build/cjs/utils/urlScheme.js.map +1 -1
  143. package/expo-plugin/build/cjs/validation.js +54 -0
  144. package/expo-plugin/build/cjs/validation.js.map +1 -1
  145. package/expo-plugin/build/esm/constants.js +17 -0
  146. package/expo-plugin/build/esm/constants.js.map +1 -1
  147. package/expo-plugin/build/esm/index.js +9 -1
  148. package/expo-plugin/build/esm/index.js.map +1 -1
  149. package/expo-plugin/build/esm/ios/index.js +1 -0
  150. package/expo-plugin/build/esm/ios/index.js.map +1 -1
  151. package/expo-plugin/build/esm/ios/infoPlist.js +28 -5
  152. package/expo-plugin/build/esm/ios/infoPlist.js.map +1 -1
  153. package/expo-plugin/build/esm/ios/serverUpdate.js +21 -0
  154. package/expo-plugin/build/esm/ios/serverUpdate.js.map +1 -0
  155. package/expo-plugin/build/esm/ios-widget/clientRendered.js +5 -5
  156. package/expo-plugin/build/esm/ios-widget/clientRendered.js.map +1 -1
  157. package/expo-plugin/build/esm/ios-widget/clientRenderedPrerender.js +6 -6
  158. package/expo-plugin/build/esm/ios-widget/clientRenderedPrerender.js.map +1 -1
  159. package/expo-plugin/build/esm/ios-widget/dynamic-live-activity/swift.js +122 -0
  160. package/expo-plugin/build/esm/ios-widget/dynamic-live-activity/swift.js.map +1 -0
  161. package/expo-plugin/build/esm/ios-widget/files/index.js +10 -3
  162. package/expo-plugin/build/esm/ios-widget/files/index.js.map +1 -1
  163. package/expo-plugin/build/esm/ios-widget/files/infoPlist.js +6 -3
  164. package/expo-plugin/build/esm/ios-widget/files/infoPlist.js.map +1 -1
  165. package/expo-plugin/build/esm/ios-widget/files/manifest.js +23 -1
  166. package/expo-plugin/build/esm/ios-widget/files/manifest.js.map +1 -1
  167. package/expo-plugin/build/esm/ios-widget/files/swift-utils.js +4 -0
  168. package/expo-plugin/build/esm/ios-widget/files/swift-utils.js.map +1 -0
  169. package/expo-plugin/build/esm/ios-widget/files/swift.js +50 -20
  170. package/expo-plugin/build/esm/ios-widget/files/swift.js.map +1 -1
  171. package/expo-plugin/build/esm/ios-widget/index.js +9 -3
  172. package/expo-plugin/build/esm/ios-widget/index.js.map +1 -1
  173. package/expo-plugin/build/esm/ios-widget/podfile.js +36 -11
  174. package/expo-plugin/build/esm/ios-widget/podfile.js.map +1 -1
  175. package/expo-plugin/build/esm/ios-widget/widgetPlist.js +34 -22
  176. package/expo-plugin/build/esm/ios-widget/widgetPlist.js.map +1 -1
  177. package/expo-plugin/build/esm/ios-widget/xcode/buildPhases.js +194 -117
  178. package/expo-plugin/build/esm/ios-widget/xcode/buildPhases.js.map +1 -1
  179. package/expo-plugin/build/esm/ios-widget/xcode/configurationList.js +31 -22
  180. package/expo-plugin/build/esm/ios-widget/xcode/configurationList.js.map +1 -1
  181. package/expo-plugin/build/esm/ios-widget/xcode/fileReferences.js +45 -0
  182. package/expo-plugin/build/esm/ios-widget/xcode/fileReferences.js.map +1 -0
  183. package/expo-plugin/build/esm/ios-widget/xcode/groups.js +45 -42
  184. package/expo-plugin/build/esm/ios-widget/xcode/groups.js.map +1 -1
  185. package/expo-plugin/build/esm/ios-widget/xcode/index.js +97 -96
  186. package/expo-plugin/build/esm/ios-widget/xcode/index.js.map +1 -1
  187. package/expo-plugin/build/esm/ios-widget/xcode/mainAppSettings.js +41 -39
  188. package/expo-plugin/build/esm/ios-widget/xcode/mainAppSettings.js.map +1 -1
  189. package/expo-plugin/build/esm/ios-widget/xcode/productFile.js +3 -2
  190. package/expo-plugin/build/esm/ios-widget/xcode/productFile.js.map +1 -1
  191. package/expo-plugin/build/esm/ios-widget/xcode/target.js +28 -62
  192. package/expo-plugin/build/esm/ios-widget/xcode/target.js.map +1 -1
  193. package/expo-plugin/build/esm/utils/urlScheme.js +34 -14
  194. package/expo-plugin/build/esm/utils/urlScheme.js.map +1 -1
  195. package/expo-plugin/build/esm/validation.js +54 -1
  196. package/expo-plugin/build/esm/validation.js.map +1 -1
  197. package/expo-plugin/build/types/constants.d.ts +10 -1
  198. package/expo-plugin/build/types/constants.d.ts.map +1 -1
  199. package/expo-plugin/build/types/index.d.ts +1 -1
  200. package/expo-plugin/build/types/index.d.ts.map +1 -1
  201. package/expo-plugin/build/types/ios/index.d.ts +2 -0
  202. package/expo-plugin/build/types/ios/index.d.ts.map +1 -1
  203. package/expo-plugin/build/types/ios/infoPlist.d.ts +2 -0
  204. package/expo-plugin/build/types/ios/infoPlist.d.ts.map +1 -1
  205. package/expo-plugin/build/types/ios/serverUpdate.d.ts +11 -0
  206. package/expo-plugin/build/types/ios/serverUpdate.d.ts.map +1 -0
  207. package/expo-plugin/build/types/ios-widget/clientRendered.d.ts.map +1 -1
  208. package/expo-plugin/build/types/ios-widget/clientRenderedPrerender.d.ts.map +1 -1
  209. package/expo-plugin/build/types/ios-widget/dynamic-live-activity/swift.d.ts +7 -0
  210. package/expo-plugin/build/types/ios-widget/dynamic-live-activity/swift.d.ts.map +1 -0
  211. package/expo-plugin/build/types/ios-widget/files/index.d.ts +3 -1
  212. package/expo-plugin/build/types/ios-widget/files/index.d.ts.map +1 -1
  213. package/expo-plugin/build/types/ios-widget/files/infoPlist.d.ts +2 -1
  214. package/expo-plugin/build/types/ios-widget/files/infoPlist.d.ts.map +1 -1
  215. package/expo-plugin/build/types/ios-widget/files/manifest.d.ts +9 -2
  216. package/expo-plugin/build/types/ios-widget/files/manifest.d.ts.map +1 -1
  217. package/expo-plugin/build/types/ios-widget/files/swift-utils.d.ts +2 -0
  218. package/expo-plugin/build/types/ios-widget/files/swift-utils.d.ts.map +1 -0
  219. package/expo-plugin/build/types/ios-widget/files/swift.d.ts +6 -2
  220. package/expo-plugin/build/types/ios-widget/files/swift.d.ts.map +1 -1
  221. package/expo-plugin/build/types/ios-widget/index.d.ts +3 -1
  222. package/expo-plugin/build/types/ios-widget/index.d.ts.map +1 -1
  223. package/expo-plugin/build/types/ios-widget/podfile.d.ts +19 -1
  224. package/expo-plugin/build/types/ios-widget/podfile.d.ts.map +1 -1
  225. package/expo-plugin/build/types/ios-widget/widgetPlist.d.ts.map +1 -1
  226. package/expo-plugin/build/types/ios-widget/xcode/buildPhases.d.ts +6 -8
  227. package/expo-plugin/build/types/ios-widget/xcode/buildPhases.d.ts.map +1 -1
  228. package/expo-plugin/build/types/ios-widget/xcode/configurationList.d.ts +15 -10
  229. package/expo-plugin/build/types/ios-widget/xcode/configurationList.d.ts.map +1 -1
  230. package/expo-plugin/build/types/ios-widget/xcode/fileReferences.d.ts +16 -0
  231. package/expo-plugin/build/types/ios-widget/xcode/fileReferences.d.ts.map +1 -0
  232. package/expo-plugin/build/types/ios-widget/xcode/groups.d.ts +0 -4
  233. package/expo-plugin/build/types/ios-widget/xcode/groups.d.ts.map +1 -1
  234. package/expo-plugin/build/types/ios-widget/xcode/index.d.ts +23 -3
  235. package/expo-plugin/build/types/ios-widget/xcode/index.d.ts.map +1 -1
  236. package/expo-plugin/build/types/ios-widget/xcode/mainAppSettings.d.ts +16 -4
  237. package/expo-plugin/build/types/ios-widget/xcode/mainAppSettings.d.ts.map +1 -1
  238. package/expo-plugin/build/types/ios-widget/xcode/productFile.d.ts +0 -4
  239. package/expo-plugin/build/types/ios-widget/xcode/productFile.d.ts.map +1 -1
  240. package/expo-plugin/build/types/ios-widget/xcode/target.d.ts +11 -26
  241. package/expo-plugin/build/types/ios-widget/xcode/target.d.ts.map +1 -1
  242. package/expo-plugin/build/types/types.d.ts +23 -4
  243. package/expo-plugin/build/types/types.d.ts.map +1 -1
  244. package/expo-plugin/build/types/utils/urlScheme.d.ts +16 -0
  245. package/expo-plugin/build/types/utils/urlScheme.d.ts.map +1 -1
  246. package/expo-plugin/build/types/validation.d.ts +2 -1
  247. package/expo-plugin/build/types/validation.d.ts.map +1 -1
  248. package/expo-plugin/src/constants.ts +24 -1
  249. package/expo-plugin/src/index.ts +14 -1
  250. package/expo-plugin/src/ios/index.ts +3 -0
  251. package/expo-plugin/src/ios/infoPlist.ts +33 -5
  252. package/expo-plugin/src/ios/serverUpdate.ts +29 -0
  253. package/expo-plugin/src/ios-widget/clientRendered.ts +9 -5
  254. package/expo-plugin/src/ios-widget/clientRenderedPrerender.ts +11 -6
  255. package/expo-plugin/src/ios-widget/dynamic-live-activity/swift.ts +138 -0
  256. package/expo-plugin/src/ios-widget/files/index.ts +15 -4
  257. package/expo-plugin/src/ios-widget/files/infoPlist.ts +17 -3
  258. package/expo-plugin/src/ios-widget/files/manifest.ts +42 -2
  259. package/expo-plugin/src/ios-widget/files/swift-utils.ts +3 -0
  260. package/expo-plugin/src/ios-widget/files/swift.ts +69 -22
  261. package/expo-plugin/src/ios-widget/index.ts +13 -3
  262. package/expo-plugin/src/ios-widget/podfile.ts +46 -13
  263. package/expo-plugin/src/ios-widget/widgetPlist.ts +37 -23
  264. package/expo-plugin/src/ios-widget/xcode/__fixtures__/fresh.pbxproj +197 -0
  265. package/expo-plugin/src/ios-widget/xcode/__fixtures__/with-existing-extension.pbxproj +321 -0
  266. package/expo-plugin/src/ios-widget/xcode/__fixtures__/with-per-config-signing.pbxproj +203 -0
  267. package/expo-plugin/src/ios-widget/xcode/__snapshots__/applyXcodeChanges.node.test.ts.snap +363 -0
  268. package/expo-plugin/src/ios-widget/xcode/__tests__/pbxConsistency.ts +130 -0
  269. package/expo-plugin/src/ios-widget/xcode/buildPhases.ts +210 -164
  270. package/expo-plugin/src/ios-widget/xcode/configurationList.ts +52 -35
  271. package/expo-plugin/src/ios-widget/xcode/fileReferences.ts +51 -0
  272. package/expo-plugin/src/ios-widget/xcode/groups.ts +52 -54
  273. package/expo-plugin/src/ios-widget/xcode/index.ts +124 -119
  274. package/expo-plugin/src/ios-widget/xcode/mainAppSettings.ts +59 -54
  275. package/expo-plugin/src/ios-widget/xcode/productFile.ts +3 -2
  276. package/expo-plugin/src/ios-widget/xcode/target.ts +31 -83
  277. package/expo-plugin/src/types.ts +28 -4
  278. package/expo-plugin/src/utils/urlScheme.ts +47 -17
  279. package/expo-plugin/src/validation.ts +76 -1
  280. package/ios/Package.swift +39 -4
  281. package/ios/VoltraWidget.podspec +1 -0
  282. package/ios/app/NativeVoltra.mm +126 -7
  283. package/ios/app/VoltraLiveActivityManager.swift +30 -0
  284. package/ios/app/VoltraLiveActivityService.swift +77 -5
  285. package/ios/app/VoltraModule.swift +117 -1
  286. package/ios/app/VoltraModuleImpl.swift +116 -2
  287. package/ios/app/VoltraViewComponentView.mm +3 -3
  288. package/ios/app/VoltraWidgetService.swift +147 -12
  289. package/ios/app/dynamic-live-activity/VoltraDynamicLiveActivityService.swift +97 -0
  290. package/ios/app/dynamic-live-activity/VoltraLiveActivityChronology.swift +68 -0
  291. package/ios/shared/DynamicWidgetPropsCodec.swift +51 -0
  292. package/ios/shared/DynamicWidgetPropsStorage.swift +53 -0
  293. package/ios/shared/DynamicWidgetPropsStore.swift +117 -0
  294. package/ios/shared/DynamicWidgetRenderCoordinator.swift +31 -0
  295. package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerFetchResolver.swift +34 -0
  296. package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerProps.swift +55 -0
  297. package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerPropsStore.swift +146 -0
  298. package/ios/shared/DynamicWidgetServerUpdate/DynamicWidgetServerUpdateRunner.swift +193 -0
  299. package/ios/shared/DynamicWidgetUpdater.swift +30 -0
  300. package/ios/shared/ServerWidgetContentResolver.swift +60 -0
  301. package/ios/shared/ServerWidgetResponseStore.swift +25 -0
  302. package/ios/shared/ShortNames.swift +6 -0
  303. package/ios/shared/VoltraConfig.swift +41 -0
  304. package/ios/shared/VoltraConstants.swift +19 -0
  305. package/ios/shared/VoltraElement.swift +127 -43
  306. package/ios/shared/VoltraEventBus.swift +52 -7
  307. package/ios/shared/VoltraJSRenderer.swift +93 -23
  308. package/ios/shared/VoltraNode.swift +7 -111
  309. package/ios/shared/VoltraRefreshIntent.swift +1 -1
  310. package/ios/shared/VoltraWidgetDefaults.swift +9 -1
  311. package/ios/shared/VoltraWidgetKind.swift +41 -0
  312. package/ios/shared/VoltraWidgetServerFetcher.swift +52 -107
  313. package/ios/shared/WidgetServer/VoltraWidgetAppearance.swift +17 -0
  314. package/ios/shared/WidgetServer/VoltraWidgetServer.swift +138 -0
  315. package/ios/shared/WidgetServer/WidgetCanonicalConfiguration.swift +77 -0
  316. package/ios/shared/WidgetServer/WidgetScope.swift +55 -0
  317. package/ios/shared/WidgetServer/WidgetServerEtagStore.swift +55 -0
  318. package/ios/shared/WidgetServer/WidgetServerFetcher.swift +179 -0
  319. package/ios/shared/WidgetServer/WidgetServerRequestBuilder.swift +114 -0
  320. package/ios/shared/WidgetServer/WidgetServerSettingsCodec.swift +47 -0
  321. package/ios/shared/WidgetServer/WidgetServerSettingsResolver.swift +129 -0
  322. package/ios/shared/WidgetServer/WidgetServerSettingsStore.swift +170 -0
  323. package/ios/shared/WidgetServer/WidgetServerSettingsValidator.swift +73 -0
  324. package/ios/shared/WidgetServer/WidgetServerUpdateSettings.swift +123 -0
  325. package/ios/shared/WidgetServer/WidgetServerUpdateSettingsJson.swift +115 -0
  326. package/ios/shared/dynamic-live-activity/DynamicLiveActivityPropsCodec.swift +13 -0
  327. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityBundleSource.swift +156 -0
  328. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityObserver.swift +97 -0
  329. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityOperations.swift +105 -0
  330. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityPayloadValidator.swift +55 -0
  331. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRegistry.swift +143 -0
  332. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRenderFailureQueue.swift +158 -0
  333. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRenderFailureReporter.swift +120 -0
  334. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityRenderer.swift +370 -0
  335. package/ios/shared/dynamic-live-activity/VoltraDynamicLiveActivityTypes.swift +87 -0
  336. package/ios/shared/dynamic-live-activity/VoltraLiveActivityOrder.swift +19 -0
  337. package/ios/target/VoltraClientWidgetRuntime.swift +60 -10
  338. package/ios/target/VoltraDynamicWidgetServerUpdateProvider.swift +204 -0
  339. package/ios/target/VoltraHomeWidget.swift +91 -92
  340. package/ios/target/VoltraWidget.swift +3 -1
  341. package/ios/ui/Extensions/VoltraNode+View.swift +113 -0
  342. package/ios/ui/Generated/Parameters/ChartParameters.swift +3 -0
  343. package/ios/ui/Helpers/VoltraDeepLinkResolver.swift +5 -3
  344. package/ios/ui/Helpers/VoltraProgressDriver.swift +6 -2
  345. package/ios/ui/Layout/VoltraFlexStackLayout.swift +9 -3
  346. package/ios/ui/Style/JSColorParser.swift +24 -8
  347. package/ios/ui/Style/JSGradientParser.swift +36 -12
  348. package/ios/ui/Style/JSStyleParser.swift +36 -12
  349. package/ios/ui/Style/LayoutStyle.swift +12 -4
  350. package/ios/ui/Views/VoltraChart.swift +160 -16
  351. package/ios/ui/Views/VoltraLinearGradient.swift +6 -2
  352. package/package.json +5 -5
  353. package/src/dynamic-widget/api.ts +25 -0
  354. package/src/events.ts +34 -0
  355. package/src/index.ts +23 -0
  356. package/src/live-activity/api.ts +2 -2
  357. package/src/live-activity/dynamic-api.ts +240 -0
  358. package/src/native/NativeVoltra.ts +22 -0
  359. package/src/types.ts +4 -0
  360. package/src/utils/enableDynamicLiveActivityHotReload.ts +50 -0
  361. package/src/utils/enableWidgetHotReload.ts +9 -16
  362. package/src/utils/useUpdateOnHMR.ts +3 -12
  363. package/src/widgets/server-credentials.ts +8 -0
  364. package/src/widgets/server-update.ts +84 -0
  365. /package/ios/shared/{VoltraKeychainHelper.swift → WidgetServer/VoltraKeychainHelper.swift} +0 -0
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  - **iOS Widgets**: Update, schedule, reload, and query widgets with `updateWidget`, `scheduleWidget`, `getActiveWidgets`, and more.
14
14
 
15
- - **Client-rendered widgets** _(experimental)_: Declare a widget in app.json with an `id` and `entry`, default-export the widget module, and render it on-device with live env (family, color scheme, locale, configuration).
15
+ - **Dynamic Widgets** _(experimental)_: Declare a widget in app.json with an `id` and `entry`, default-export the Dynamic Widget component, and render it on-device from runtime props and live environment values (family, color scheme, locale, configuration).
16
16
 
17
17
  - **Fast Refresh**: Hooks and previews integrate with your React Native dev workflow.
18
18
 
@@ -22,20 +22,73 @@
22
22
 
23
23
  - **Expo config plugin**: Add `"@use-voltra/ios-client"` to `app.json` to generate the Live Activity extension, widget targets, and entitlements.
24
24
 
25
- ## Client-rendered widgets (experimental)
25
+ ## Dynamic Widgets (experimental)
26
26
 
27
27
  > [!WARNING]
28
- > Client-rendered widgets are **experimental** — usable in production at your own risk. The API may
28
+ > Dynamic Widgets are **experimental** — usable in production at your own risk. The API may
29
29
  > change between releases.
30
30
 
31
- Declare the widget in app.json with a stable `id` and a project-relative `entry` path. The entry
32
- module must default-export the widget function or component; the exported name does not need to
33
- match the widget id. The widget renders on-device, so it can react to live environment values
34
- (widget family, color scheme, locale, and user `configuration` from the native Edit Widget sheet).
31
+ Declare a Dynamic Widget in app.json with a stable `id` and a project-relative `entry` path. The
32
+ entry module must default-export the Dynamic Widget function or component; the exported name does
33
+ not need to match the Dynamic Widget id. A Dynamic Widget renders on-device, so it can react to both
34
+ runtime props and live environment values (widget family, color scheme, locale, and user
35
+ `configuration` from the native Edit Widget sheet).
36
+
37
+ The first argument is the Dynamic Widget props object. Use `updateDynamicWidget` in your app to
38
+ persist a new props object and re-render the installed Dynamic Widget with the matching id:
39
+
40
+ ```tsx
41
+ // widgets/ios/inbox-widget.tsx
42
+ import { Voltra, type WidgetEnvironment } from '@use-voltra/ios'
43
+
44
+ type InboxDynamicWidgetProps = {
45
+ headline?: string
46
+ unreadCount?: number
47
+ }
48
+
49
+ export default function InboxDynamicWidget(
50
+ props: InboxDynamicWidgetProps = {},
51
+ env: WidgetEnvironment = {} as WidgetEnvironment
52
+ ) {
53
+ const headline = props.headline ?? 'Inbox'
54
+ const unreadCount = props.unreadCount ?? 0
55
+
56
+ return (
57
+ <Voltra.VStack style={{ padding: 16, backgroundColor: '#111827' }}>
58
+ <Voltra.Text style={{ color: 'white' }}>{headline}</Voltra.Text>
59
+ <Voltra.Text style={{ color: '#34D399' }}>{unreadCount} unread</Voltra.Text>
60
+ <Voltra.Text style={{ color: '#9CA3AF' }}>Family: {env.widgetFamily}</Voltra.Text>
61
+ </Voltra.VStack>
62
+ )
63
+ }
64
+ ```
65
+
66
+ ```ts
67
+ // App code
68
+ import { updateDynamicWidget } from '@use-voltra/ios-client'
69
+
70
+ await updateDynamicWidget('inbox_widget', { headline: 'Team inbox', unreadCount: 7 })
71
+ ```
72
+
73
+ Dynamic Widget props must be JSON-serializable: strings, numbers, booleans, `null`, arrays, and nested
74
+ objects are supported. Values such as functions, `undefined`, `Date`, `BigInt`, and cyclic references
75
+ are not supported. Before the first `updateDynamicWidget` call, the entry receives `{}`. The latest
76
+ props object is stored by Dynamic Widget id, survives app process restarts, and is reused on
77
+ subsequent renders until another update replaces it or the app's data is cleared.
78
+
79
+ `updateDynamicWidget` is only for an entry-based Dynamic Widget. The legacy `updateWidget` API sends
80
+ pre-rendered variant payloads to a payload-driven widget and cannot update an entry-based Dynamic
81
+ Widget.
82
+
83
+ Configuration parameters declared in `app.json` (`appIntent.parameters`) are edited by the user in
84
+ the native iOS Edit Widget sheet and surface as `env.configuration`. Configuration is separate from
85
+ the Dynamic Widget props passed as the first argument; updating one does not replace the other.
35
86
 
36
87
  Notes:
37
88
 
38
89
  - iOS and Android widget declarations stay separate, and the same widget id can exist on both platforms as separate entries.
90
+ - Set `groupIdentifier` in the Voltra plugin configuration before calling `updateDynamicWidget`; the app and WidgetKit extension use the shared App Group to exchange runtime props.
91
+ - Rebuild the native iOS app after changing plugin configuration or upgrading to a package version that adds a native API.
39
92
  - Verify release rendering on a **real device** — the iOS Simulator is unreliable for widget
40
93
  rendering.
41
94
 
@@ -46,7 +99,7 @@ The documentation is available at [use-voltra.dev](https://use-voltra.dev). Rele
46
99
  - [Installation](https://use-voltra.dev/getting-started/installation)
47
100
  - [iOS Setup](https://use-voltra.dev/ios/setup)
48
101
  - [Developing Live Activities](https://use-voltra.dev/ios/development/developing-live-activities)
49
- - [Developing client-rendered widgets](https://use-voltra.dev/ios/development/dynamic-widgets)
102
+ - [Developing Dynamic Widgets](https://use-voltra.dev/ios/development/dynamic-widgets)
50
103
  - [Plugin Configuration](https://use-voltra.dev/ios/api/plugin-configuration)
51
104
  - [API Reference](https://use-voltra.dev/ios/api/configuration)
52
105
 
package/Voltra.podspec CHANGED
@@ -14,6 +14,7 @@ Pod::Spec.new do |s|
14
14
  :ios => '16.4',
15
15
  }
16
16
  s.swift_version = '5.9'
17
+ s.module_name = 'VoltraRuntime'
17
18
  s.source = { git: 'https://github.com/callstackincubator/voltra' }
18
19
  s.static_framework = true
19
20
  install_modules_dependencies(s)
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.updateDynamicWidget = void 0;
7
+ var _NativeVoltra = require("../native/NativeVoltra.js");
8
+ var _assertRunningOnApple = require("../utils/assertRunningOnApple.js");
9
+ const updateDynamicWidget = async (dynamicWidgetId, dynamicWidgetProps) => {
10
+ if (!(0, _assertRunningOnApple.assertRunningOnApple)()) return Promise.resolve();
11
+ const dynamicWidgetPropsJson = JSON.stringify(dynamicWidgetProps);
12
+ return (0, _NativeVoltra.getNativeVoltra)().updateDynamicWidget(dynamicWidgetId, dynamicWidgetPropsJson);
13
+ };
14
+ exports.updateDynamicWidget = updateDynamicWidget;
15
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_NativeVoltra","require","_assertRunningOnApple","updateDynamicWidget","dynamicWidgetId","dynamicWidgetProps","assertRunningOnApple","Promise","resolve","dynamicWidgetPropsJson","JSON","stringify","getNativeVoltra","exports"],"sourceRoot":"../../../src","sources":["dynamic-widget/api.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAcO,MAAME,mBAAmB,GAAG,MAAAA,CACjCC,eAAuB,EACvBC,kBAAsC,KACpB;EAClB,IAAI,CAAC,IAAAC,0CAAoB,EAAC,CAAC,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;EAErD,MAAMC,sBAAsB,GAAGC,IAAI,CAACC,SAAS,CAACN,kBAAkB,CAAC;EAEjE,OAAO,IAAAO,6BAAe,EAAC,CAAC,CAACT,mBAAmB,CAACC,eAAe,EAAEK,sBAAsB,CAAC;AACvF,CAAC;AAAAI,OAAA,CAAAV,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -9,6 +9,11 @@ var _VoltraModule = require("./VoltraModule.js");
9
9
  const noopSubscription = {
10
10
  remove: () => {}
11
11
  };
12
+
13
+ // Codegen EventEmitter subscriptions do not tell native code when their last
14
+ // JavaScript listener goes away. Keep this count at the public API boundary so
15
+ // the App Group queue is drained only while it can actually be delivered.
16
+ let dynamicRenderFailureListenerCount = 0;
12
17
  function addVoltraListener(event, listener) {
13
18
  if (_reactNative.Platform.OS !== 'ios') {
14
19
  console.warn(`[Voltra] Event '${event}' is only supported on iOS. Returning no-op subscription.`);
@@ -24,6 +29,24 @@ function addVoltraListener(event, listener) {
24
29
  return voltraModule.onStateChanged(listener);
25
30
  case 'interaction':
26
31
  return voltraModule.onInteraction(listener);
32
+ case 'dynamicLiveActivityRenderFailed':
33
+ const subscription = voltraModule.onDynamicLiveActivityRenderFailed(listener);
34
+ dynamicRenderFailureListenerCount += 1;
35
+ if (dynamicRenderFailureListenerCount === 1) {
36
+ voltraModule.setDynamicLiveActivityRenderFailureListenerActive(true);
37
+ }
38
+ let removed = false;
39
+ return {
40
+ remove: () => {
41
+ if (removed) return;
42
+ removed = true;
43
+ subscription.remove();
44
+ dynamicRenderFailureListenerCount -= 1;
45
+ if (dynamicRenderFailureListenerCount === 0) {
46
+ voltraModule.setDynamicLiveActivityRenderFailureListenerActive(false);
47
+ }
48
+ }
49
+ };
27
50
  default:
28
51
  console.warn(`[Voltra] Event '${event}' is not supported. Returning no-op subscription.`);
29
52
  return noopSubscription;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_VoltraModule","noopSubscription","remove","addVoltraListener","event","listener","Platform","OS","console","warn","voltraModule","getNativeVoltra","onActivityTokenReceived","onActivityPushToStartTokenReceived","onStateChanged","onInteraction"],"sourceRoot":"../../src","sources":["events.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AA6BA,MAAME,gBAAmC,GAAG;EAC1CC,MAAM,EAAEA,CAAA,KAAM,CAAC;AACjB,CAAC;AASM,SAASC,iBAAiBA,CAC/BC,KAAQ,EACRC,QAA4C,EACzB;EACnB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzBC,OAAO,CAACC,IAAI,CAAC,mBAAmBL,KAAK,2DAA2D,CAAC;IACjG,OAAOH,gBAAgB;EACzB;EAEA,MAAMS,YAAY,GAAG,IAAAC,6BAAe,EAAC,CAAC;EAEtC,QAAQP,KAAK;IACX,KAAK,uBAAuB;MAC1B,OAAOM,YAAY,CAACE,uBAAuB,CAACP,QAA2D,CAAC;IAC1G,KAAK,kCAAkC;MACrC,OAAOK,YAAY,CAACG,kCAAkC,CACpDR,QACF,CAAC;IACH,KAAK,aAAa;MAChB,OAAOK,YAAY,CAACI,cAAc,CAACT,QAAoD,CAAC;IAC1F,KAAK,aAAa;MAChB,OAAOK,YAAY,CAACK,aAAa,CAACV,QAAiD,CAAC;IACtF;MACEG,OAAO,CAACC,IAAI,CAAC,mBAAmBL,KAAK,mDAAmD,CAAC;MACzF,OAAOH,gBAAgB;EAC3B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_VoltraModule","noopSubscription","remove","dynamicRenderFailureListenerCount","addVoltraListener","event","listener","Platform","OS","console","warn","voltraModule","getNativeVoltra","onActivityTokenReceived","onActivityPushToStartTokenReceived","onStateChanged","onInteraction","subscription","onDynamicLiveActivityRenderFailed","setDynamicLiveActivityRenderFailureListenerActive","removed"],"sourceRoot":"../../src","sources":["events.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AAoCA,MAAME,gBAAmC,GAAG;EAC1CC,MAAM,EAAEA,CAAA,KAAM,CAAC;AACjB,CAAC;;AAED;AACA;AACA;AACA,IAAIC,iCAAiC,GAAG,CAAC;AAUlC,SAASC,iBAAiBA,CAC/BC,KAAQ,EACRC,QAA4C,EACzB;EACnB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzBC,OAAO,CAACC,IAAI,CAAC,mBAAmBL,KAAK,2DAA2D,CAAC;IACjG,OAAOJ,gBAAgB;EACzB;EAEA,MAAMU,YAAY,GAAG,IAAAC,6BAAe,EAAC,CAAC;EAEtC,QAAQP,KAAK;IACX,KAAK,uBAAuB;MAC1B,OAAOM,YAAY,CAACE,uBAAuB,CAACP,QAA2D,CAAC;IAC1G,KAAK,kCAAkC;MACrC,OAAOK,YAAY,CAACG,kCAAkC,CACpDR,QACF,CAAC;IACH,KAAK,aAAa;MAChB,OAAOK,YAAY,CAACI,cAAc,CAACT,QAAoD,CAAC;IAC1F,KAAK,aAAa;MAChB,OAAOK,YAAY,CAACK,aAAa,CAACV,QAAiD,CAAC;IACtF,KAAK,iCAAiC;MACpC,MAAMW,YAAY,GAAGN,YAAY,CAACO,iCAAiC,CACjEZ,QACF,CAAC;MACDH,iCAAiC,IAAI,CAAC;MACtC,IAAIA,iCAAiC,KAAK,CAAC,EAAE;QAC3CQ,YAAY,CAACQ,iDAAiD,CAAC,IAAI,CAAC;MACtE;MAEA,IAAIC,OAAO,GAAG,KAAK;MACnB,OAAO;QACLlB,MAAM,EAAEA,CAAA,KAAM;UACZ,IAAIkB,OAAO,EAAE;UACbA,OAAO,GAAG,IAAI;UACdH,YAAY,CAACf,MAAM,CAAC,CAAC;UACrBC,iCAAiC,IAAI,CAAC;UACtC,IAAIA,iCAAiC,KAAK,CAAC,EAAE;YAC3CQ,YAAY,CAACQ,iDAAiD,CAAC,KAAK,CAAC;UACvE;QACF;MACF,CAAC;IACH;MACEV,OAAO,CAACC,IAAI,CAAC,mBAAmBL,KAAK,mDAAmD,CAAC;MACzF,OAAOJ,gBAAgB;EAC3B;AACF","ignoreList":[]}
@@ -8,6 +8,7 @@ var _exportNames = {
8
8
  VoltraLiveActivityPreview: true,
9
9
  VoltraView: true,
10
10
  VoltraWidgetPreview: true,
11
+ updateDynamicWidget: true,
11
12
  isGlassSupported: true,
12
13
  isHeadless: true,
13
14
  useIsHeadless: true,
@@ -18,12 +19,20 @@ var _exportNames = {
18
19
  stopLiveActivity: true,
19
20
  updateLiveActivity: true,
20
21
  useLiveActivity: true,
22
+ getDynamicLiveActivityDefinitionIds: true,
23
+ startDynamicLiveActivity: true,
24
+ updateDynamicLiveActivity: true,
25
+ useDynamicLiveActivity: true,
21
26
  clearPreloadedImages: true,
22
27
  preloadImages: true,
23
28
  reloadLiveActivities: true,
24
29
  assertRunningOnApple: true,
25
30
  enableWidgetHotReload: true,
31
+ enableDynamicLiveActivityHotReload: true,
26
32
  useUpdateOnHMR: true,
33
+ clearWidgetServerUpdate: true,
34
+ getWidgetServerUpdate: true,
35
+ setWidgetServerUpdate: true,
27
36
  clearWidgetServerCredentials: true,
28
37
  setWidgetServerCredentials: true,
29
38
  clearAllWidgets: true,
@@ -87,6 +96,18 @@ Object.defineProperty(exports, "clearWidgetServerCredentials", {
87
96
  return _serverCredentials.clearWidgetServerCredentials;
88
97
  }
89
98
  });
99
+ Object.defineProperty(exports, "clearWidgetServerUpdate", {
100
+ enumerable: true,
101
+ get: function () {
102
+ return _serverUpdate.clearWidgetServerUpdate;
103
+ }
104
+ });
105
+ Object.defineProperty(exports, "enableDynamicLiveActivityHotReload", {
106
+ enumerable: true,
107
+ get: function () {
108
+ return _enableDynamicLiveActivityHotReload.enableDynamicLiveActivityHotReload;
109
+ }
110
+ });
90
111
  Object.defineProperty(exports, "enableWidgetHotReload", {
91
112
  enumerable: true,
92
113
  get: function () {
@@ -96,7 +117,7 @@ Object.defineProperty(exports, "enableWidgetHotReload", {
96
117
  Object.defineProperty(exports, "endAllLiveActivities", {
97
118
  enumerable: true,
98
119
  get: function () {
99
- return _api.endAllLiveActivities;
120
+ return _api2.endAllLiveActivities;
100
121
  }
101
122
  });
102
123
  Object.defineProperty(exports, "getActiveWidgets", {
@@ -105,6 +126,18 @@ Object.defineProperty(exports, "getActiveWidgets", {
105
126
  return _widgetApi.getActiveWidgets;
106
127
  }
107
128
  });
129
+ Object.defineProperty(exports, "getDynamicLiveActivityDefinitionIds", {
130
+ enumerable: true,
131
+ get: function () {
132
+ return _dynamicApi.getDynamicLiveActivityDefinitionIds;
133
+ }
134
+ });
135
+ Object.defineProperty(exports, "getWidgetServerUpdate", {
136
+ enumerable: true,
137
+ get: function () {
138
+ return _serverUpdate.getWidgetServerUpdate;
139
+ }
140
+ });
108
141
  Object.defineProperty(exports, "isGlassSupported", {
109
142
  enumerable: true,
110
143
  get: function () {
@@ -120,7 +153,7 @@ Object.defineProperty(exports, "isHeadless", {
120
153
  Object.defineProperty(exports, "isLiveActivityActive", {
121
154
  enumerable: true,
122
155
  get: function () {
123
- return _api.isLiveActivityActive;
156
+ return _api2.isLiveActivityActive;
124
157
  }
125
158
  });
126
159
  Object.defineProperty(exports, "logger", {
@@ -159,22 +192,46 @@ Object.defineProperty(exports, "setWidgetServerCredentials", {
159
192
  return _serverCredentials.setWidgetServerCredentials;
160
193
  }
161
194
  });
195
+ Object.defineProperty(exports, "setWidgetServerUpdate", {
196
+ enumerable: true,
197
+ get: function () {
198
+ return _serverUpdate.setWidgetServerUpdate;
199
+ }
200
+ });
201
+ Object.defineProperty(exports, "startDynamicLiveActivity", {
202
+ enumerable: true,
203
+ get: function () {
204
+ return _dynamicApi.startDynamicLiveActivity;
205
+ }
206
+ });
162
207
  Object.defineProperty(exports, "startLiveActivity", {
163
208
  enumerable: true,
164
209
  get: function () {
165
- return _api.startLiveActivity;
210
+ return _api2.startLiveActivity;
166
211
  }
167
212
  });
168
213
  Object.defineProperty(exports, "stopLiveActivity", {
169
214
  enumerable: true,
170
215
  get: function () {
171
- return _api.stopLiveActivity;
216
+ return _api2.stopLiveActivity;
217
+ }
218
+ });
219
+ Object.defineProperty(exports, "updateDynamicLiveActivity", {
220
+ enumerable: true,
221
+ get: function () {
222
+ return _dynamicApi.updateDynamicLiveActivity;
223
+ }
224
+ });
225
+ Object.defineProperty(exports, "updateDynamicWidget", {
226
+ enumerable: true,
227
+ get: function () {
228
+ return _api.updateDynamicWidget;
172
229
  }
173
230
  });
174
231
  Object.defineProperty(exports, "updateLiveActivity", {
175
232
  enumerable: true,
176
233
  get: function () {
177
- return _api.updateLiveActivity;
234
+ return _api2.updateLiveActivity;
178
235
  }
179
236
  });
180
237
  Object.defineProperty(exports, "updateWidget", {
@@ -183,6 +240,12 @@ Object.defineProperty(exports, "updateWidget", {
183
240
  return _widgetApi.updateWidget;
184
241
  }
185
242
  });
243
+ Object.defineProperty(exports, "useDynamicLiveActivity", {
244
+ enumerable: true,
245
+ get: function () {
246
+ return _dynamicApi.useDynamicLiveActivity;
247
+ }
248
+ });
186
249
  Object.defineProperty(exports, "useIsHeadless", {
187
250
  enumerable: true,
188
251
  get: function () {
@@ -192,7 +255,7 @@ Object.defineProperty(exports, "useIsHeadless", {
192
255
  Object.defineProperty(exports, "useLiveActivity", {
193
256
  enumerable: true,
194
257
  get: function () {
195
- return _api.useLiveActivity;
258
+ return _api2.useLiveActivity;
196
259
  }
197
260
  });
198
261
  Object.defineProperty(exports, "useUpdateOnHMR", {
@@ -205,6 +268,7 @@ var _ios = require("@use-voltra/ios");
205
268
  var _VoltraLiveActivityPreview = require("./components/VoltraLiveActivityPreview.js");
206
269
  var _VoltraView = require("./components/VoltraView.js");
207
270
  var _VoltraWidgetPreview = require("./components/VoltraWidgetPreview.js");
271
+ var _api = require("./dynamic-widget/api.js");
208
272
  var _events = require("./events.js");
209
273
  Object.keys(_events).forEach(function (key) {
210
274
  if (key === "default" || key === "__esModule") return;
@@ -219,10 +283,12 @@ Object.keys(_events).forEach(function (key) {
219
283
  });
220
284
  var _helpers = require("./helpers.js");
221
285
  var _logger = require("./logger.js");
222
- var _api = require("./live-activity/api.js");
286
+ var _api2 = require("./live-activity/api.js");
287
+ var _dynamicApi = require("./live-activity/dynamic-api.js");
223
288
  var _preload = require("./preload.js");
224
289
  var _assertRunningOnApple = require("./utils/assertRunningOnApple.js");
225
290
  var _enableWidgetHotReload = require("./utils/enableWidgetHotReload.js");
291
+ var _enableDynamicLiveActivityHotReload = require("./utils/enableDynamicLiveActivityHotReload.js");
226
292
  var _useUpdateOnHMR = require("./utils/useUpdateOnHMR.js");
227
293
  var _helpers2 = require("./utils/helpers.js");
228
294
  Object.keys(_helpers2).forEach(function (key) {
@@ -236,6 +302,7 @@ Object.keys(_helpers2).forEach(function (key) {
236
302
  }
237
303
  });
238
304
  });
305
+ var _serverUpdate = require("./widgets/server-update.js");
239
306
  var _serverCredentials = require("./widgets/server-credentials.js");
240
307
  var _widgetApi = require("./widgets/widget-api.js");
241
308
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_ios","require","_VoltraLiveActivityPreview","_VoltraView","_VoltraWidgetPreview","_events","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_helpers","_logger","_api","_preload","_assertRunningOnApple","_enableWidgetHotReload","_useUpdateOnHMR","_helpers2","_serverCredentials","_widgetApi"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAjB,OAAA;AACA,IAAAkB,OAAA,GAAAlB,OAAA;AACA,IAAAmB,IAAA,GAAAnB,OAAA;AAeA,IAAAoB,QAAA,GAAApB,OAAA;AAOA,IAAAqB,qBAAA,GAAArB,OAAA;AACA,IAAAsB,sBAAA,GAAAtB,OAAA;AACA,IAAAuB,eAAA,GAAAvB,OAAA;AACA,IAAAwB,SAAA,GAAAxB,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAkB,SAAA,EAAAjB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAgB,SAAA,CAAAhB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,SAAA,CAAAhB,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAiB,kBAAA,GAAAzB,OAAA;AAMA,IAAA0B,UAAA,GAAA1B,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ios","require","_VoltraLiveActivityPreview","_VoltraView","_VoltraWidgetPreview","_api","_events","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_helpers","_logger","_api2","_dynamicApi","_preload","_assertRunningOnApple","_enableWidgetHotReload","_enableDynamicLiveActivityHotReload","_useUpdateOnHMR","_helpers2","_serverUpdate","_serverCredentials","_widgetApi"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAAAM,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAlB,OAAA;AACA,IAAAmB,OAAA,GAAAnB,OAAA;AACA,IAAAoB,KAAA,GAAApB,OAAA;AAcA,IAAAqB,WAAA,GAAArB,OAAA;AAaA,IAAAsB,QAAA,GAAAtB,OAAA;AAOA,IAAAuB,qBAAA,GAAAvB,OAAA;AACA,IAAAwB,sBAAA,GAAAxB,OAAA;AACA,IAAAyB,mCAAA,GAAAzB,OAAA;AACA,IAAA0B,eAAA,GAAA1B,OAAA;AACA,IAAA2B,SAAA,GAAA3B,OAAA;AAAAM,MAAA,CAAAC,IAAA,CAAAoB,SAAA,EAAAnB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAkB,SAAA,CAAAlB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAU,SAAA,CAAAlB,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAmB,aAAA,GAAA5B,OAAA;AASA,IAAA6B,kBAAA,GAAA7B,OAAA;AAMA,IAAA8B,UAAA,GAAA9B,OAAA","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.endAllLiveActivities = endAllLiveActivities;
7
- exports.useLiveActivity = exports.updateLiveActivity = exports.stopLiveActivity = exports.startLiveActivity = exports.isLiveActivityActive = void 0;
7
+ exports.useLiveActivity = exports.updateLiveActivity = exports.stopLiveActivity = exports.startLiveActivity = exports.normalizeSharedLiveActivityOptions = exports.normalizeEndLiveActivityOptions = exports.isLiveActivityActive = void 0;
8
8
  var _react = require("react");
9
9
  var _ios = require("@use-voltra/ios");
10
10
  var _events = require("../events.js");
@@ -30,6 +30,7 @@ const normalizeSharedLiveActivityOptions = options => {
30
30
  }
31
31
  return Object.keys(normalizedOptions).length > 0 ? normalizedOptions : undefined;
32
32
  };
33
+ exports.normalizeSharedLiveActivityOptions = normalizeSharedLiveActivityOptions;
33
34
  const normalizeEndLiveActivityOptions = options => {
34
35
  if (!options?.dismissalPolicy) return undefined;
35
36
  if (typeof options.dismissalPolicy === 'string') {
@@ -54,6 +55,7 @@ const normalizeEndLiveActivityOptions = options => {
54
55
  }
55
56
  };
56
57
  };
58
+ exports.normalizeEndLiveActivityOptions = normalizeEndLiveActivityOptions;
57
59
  const useLiveActivity = (variants, options) => {
58
60
  const [targetId, setTargetId] = (0, _react.useState)(() => {
59
61
  if (options?.activityName) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_ios","_events","_logger","_index","_VoltraModule","normalizeSharedLiveActivityOptions","options","undefined","normalizedOptions","staleDate","Date","now","logger","warn","relevanceScore","Object","keys","length","normalizeEndLiveActivityOptions","dismissalPolicy","type","date","after","useLiveActivity","variants","targetId","setTargetId","useState","activityName","isLiveActivityActive","isActive","optionsRef","useRef","variantsRef","lastUpdateOptionsRef","useEffect","current","useUpdateOnHMR","start","useCallback","id","startLiveActivity","update","updateOptions","updateLiveActivity","end","stopLiveActivity","autoStart","autoUpdate","subscription","addVoltraListener","event","activityState","remove","exports","assertRunningOnApple","Promise","resolve","payload","renderLiveActivityToString","normalizedSharedOptions","getNativeVoltra","target","deepLinkUrl","channelId","endLiveActivity","endAllLiveActivities"],"sourceRoot":"../../../src","sources":["live-activity/api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_ios","_events","_logger","_index","_VoltraModule","normalizeSharedLiveActivityOptions","options","undefined","normalizedOptions","staleDate","Date","now","logger","warn","relevanceScore","Object","keys","length","exports","normalizeEndLiveActivityOptions","dismissalPolicy","type","date","after","useLiveActivity","variants","targetId","setTargetId","useState","activityName","isLiveActivityActive","isActive","optionsRef","useRef","variantsRef","lastUpdateOptionsRef","useEffect","current","useUpdateOnHMR","start","useCallback","id","startLiveActivity","update","updateOptions","updateLiveActivity","end","stopLiveActivity","autoStart","autoUpdate","subscription","addVoltraListener","event","activityState","remove","assertRunningOnApple","Promise","resolve","payload","renderLiveActivityToString","normalizedSharedOptions","getNativeVoltra","target","deepLinkUrl","channelId","endLiveActivity","endAllLiveActivities"],"sourceRoot":"../../../src","sources":["live-activity/api.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAmCO,MAAMM,kCAAkC,GAC7CC,OAAmC,IACO;EAC1C,IAAI,CAACA,OAAO,EAAE,OAAOC,SAAS;EAE9B,MAAMC,iBAA4C,GAAG,CAAC,CAAC;EAEvD,IAAIF,OAAO,CAACG,SAAS,KAAKF,SAAS,EAAE;IACnC,IAAID,OAAO,CAACG,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;MAClCC,cAAM,CAACC,IAAI,CAAC,iGAAiG,CAAC;IAChH,CAAC,MAAM;MACLL,iBAAiB,CAACC,SAAS,GAAGH,OAAO,CAACG,SAAS;IACjD;EACF;EAEA,MAAMK,cAAc,GAAGR,OAAO,CAACQ,cAAc,IAAI,GAAG;EACpD,IAAIA,cAAc,GAAG,CAAC,IAAIA,cAAc,GAAG,CAAC,EAAE;IAC5CF,cAAM,CAACC,IAAI,CAAC,kFAAkF,CAAC;IAC/FL,iBAAiB,CAACM,cAAc,GAAG,GAAG;EACxC,CAAC,MAAM;IACLN,iBAAiB,CAACM,cAAc,GAAGA,cAAc;EACnD;EAEA,OAAOC,MAAM,CAACC,IAAI,CAACR,iBAAiB,CAAC,CAACS,MAAM,GAAG,CAAC,GAAGT,iBAAiB,GAAGD,SAAS;AAClF,CAAC;AAAAW,OAAA,CAAAb,kCAAA,GAAAA,kCAAA;AAEM,MAAMc,+BAA+B,GAC1Cb,OAAgC,IACqD;EACrF,IAAI,CAACA,OAAO,EAAEc,eAAe,EAAE,OAAOb,SAAS;EAE/C,IAAI,OAAOD,OAAO,CAACc,eAAe,KAAK,QAAQ,EAAE;IAC/C,IAAId,OAAO,CAACc,eAAe,KAAK,WAAW,EAAE;MAC3C,OAAO;QAAEA,eAAe,EAAE;UAAEC,IAAI,EAAE;QAAY;MAAE,CAAC;IACnD;EACF,CAAC,MAAM,IAAI,OAAOf,OAAO,CAACc,eAAe,KAAK,QAAQ,IAAI,OAAO,IAAId,OAAO,CAACc,eAAe,EAAE;IAC5F,OAAO;MAAEA,eAAe,EAAE;QAAEC,IAAI,EAAE,OAAO;QAAEC,IAAI,EAAEhB,OAAO,CAACc,eAAe,CAACG;MAAM;IAAE,CAAC;EACpF;EAEA,OAAO;IAAEH,eAAe,EAAE;MAAEC,IAAI,EAAE;IAAY;EAAE,CAAC;AACnD,CAAC;AAAAH,OAAA,CAAAC,+BAAA,GAAAA,+BAAA;AAEM,MAAMK,eAAe,GAAGA,CAC7BC,QAA8B,EAC9BnB,OAAgC,KACN;EAC1B,MAAM,CAACoB,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAgB,MAAM;IAC5D,IAAItB,OAAO,EAAEuB,YAAY,EAAE;MACzB,OAAOC,oBAAoB,CAACxB,OAAO,CAACuB,YAAY,CAAC,GAAGvB,OAAO,CAACuB,YAAY,GAAG,IAAI;IACjF;IAEA,OAAO,IAAI;EACb,CAAC,CAAC;EACF,MAAME,QAAQ,GAAGL,QAAQ,KAAK,IAAI;EAClC,MAAMM,UAAU,GAAG,IAAAC,aAAM,EAAC3B,OAAO,CAAC;EAClC,MAAM4B,WAAW,GAAG,IAAAD,aAAM,EAACR,QAAQ,CAAC;EACpC,MAAMU,oBAAoB,GAAG,IAAAF,aAAM,EAAwC1B,SAAS,CAAC;EAErF,IAAA6B,gBAAS,EAAC,MAAM;IACdJ,UAAU,CAACK,OAAO,GAAG/B,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,IAAA8B,gBAAS,EAAC,MAAM;IACdF,WAAW,CAACG,OAAO,GAAGZ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAAa,qBAAc,EAAC,CAAC;EAEhB,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EAAC,MAAOlC,OAAkC,IAAK;IACtE,MAAMmC,EAAE,GAAG,MAAMC,iBAAiB,CAACR,WAAW,CAACG,OAAO,EAAE;MAAE,GAAGL,UAAU,CAACK,OAAO;MAAE,GAAG/B;IAAQ,CAAC,CAAC;IAC9FqB,WAAW,CAACc,EAAE,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,MAAM,GAAG,IAAAH,kBAAW,EACxB,MAAOlC,OAAmC,IAAK;IAC7C,IAAI,CAACoB,QAAQ,EAAE;MACb;IACF;IAEA,MAAMkB,aAAa,GAAG;MAAE,GAAGZ,UAAU,CAACK,OAAO;MAAE,GAAG/B;IAAQ,CAAC;IAC3D6B,oBAAoB,CAACE,OAAO,GAAGO,aAAa;IAC5C,MAAMC,kBAAkB,CAACnB,QAAQ,EAAEQ,WAAW,CAACG,OAAO,EAAEO,aAAa,CAAC;EACxE,CAAC,EACD,CAAClB,QAAQ,CACX,CAAC;EAED,MAAMoB,GAAG,GAAG,IAAAN,kBAAW,EACrB,MAAOlC,OAAgC,IAAK;IAC1C,IAAI,CAACoB,QAAQ,EAAE;MACb;IACF;IAEA,MAAMqB,gBAAgB,CAACrB,QAAQ,EAAEpB,OAAO,CAAC;IACzCqB,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC,EACD,CAACD,QAAQ,CACX,CAAC;EAED,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC9B,OAAO,EAAE0C,SAAS,EAAE;MACvB;IACF;IAEAT,KAAK,CAAC,CAAC;EACT,CAAC,EAAE,CAACjC,OAAO,EAAE0C,SAAS,EAAET,KAAK,CAAC,CAAC;EAE/B,IAAAH,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC9B,OAAO,EAAE2C,UAAU,EAAE;IAC1BN,MAAM,CAACR,oBAAoB,CAACE,OAAO,CAAC;EACtC,CAAC,EAAE,CAAC/B,OAAO,EAAE2C,UAAU,EAAEN,MAAM,EAAElB,QAAQ,CAAC,CAAC;EAE3C,IAAAW,gBAAS,EAAC,MAAM;IACd,IAAI,CAACV,QAAQ,EAAE;IAEf,MAAMwB,YAAY,GAAG,IAAAC,yBAAiB,EAAC,aAAa,EAAGC,KAAK,IAAK;MAC/D,IAAIA,KAAK,CAACvB,YAAY,KAAKH,QAAQ,EAAE;MAErC,IAAI0B,KAAK,CAACC,aAAa,KAAK,WAAW,IAAID,KAAK,CAACC,aAAa,KAAK,OAAO,EAAE;QAC1E1B,WAAW,CAAC,IAAI,CAAC;MACnB;IACF,CAAC,CAAC;IAEF,OAAO,MAAMuB,YAAY,CAACI,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAAC5B,QAAQ,CAAC,CAAC;EAEd,OAAO;IACLa,KAAK;IACLI,MAAM;IACNG,GAAG;IACHf;EACF,CAAC;AACH,CAAC;AAAAb,OAAA,CAAAM,eAAA,GAAAA,eAAA;AAEM,MAAMkB,iBAAiB,GAAG,MAAAA,CAC/BjB,QAA8B,EAC9BnB,OAAkC,KACd;EACpB,IAAI,CAAC,IAAAiD,2BAAoB,EAAC,CAAC,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;EAEvD,MAAMC,OAAO,GAAG,IAAAC,+BAA0B,EAAClC,QAAQ,CAAC;EAEpD,MAAMmC,uBAAuB,GAAGvD,kCAAkC,CAACC,OAAO,CAAC;EAC3E,MAAMoB,QAAQ,GAAG,MAAM,IAAAmC,6BAAe,EAAC,CAAC,CAACnB,iBAAiB,CAACgB,OAAO,EAAE;IAClEI,MAAM,EAAE,cAAc;IACtBC,WAAW,EAAEzD,OAAO,EAAEyD,WAAW;IACjClC,YAAY,EAAEvB,OAAO,EAAEuB,YAAY;IACnCmC,SAAS,EAAE1D,OAAO,EAAE0D,SAAS;IAC7B,GAAGJ;EACL,CAAC,CAAC;EACF,OAAOlC,QAAQ;AACjB,CAAC;AAAAR,OAAA,CAAAwB,iBAAA,GAAAA,iBAAA;AAEM,MAAMG,kBAAkB,GAAG,MAAAA,CAChCnB,QAAgB,EAChBD,QAA8B,EAC9BnB,OAAmC,KACjB;EAClB,IAAI,CAAC,IAAAiD,2BAAoB,EAAC,CAAC,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;EAErD,MAAMC,OAAO,GAAG,IAAAC,+BAA0B,EAAClC,QAAQ,CAAC;EAEpD,MAAMmC,uBAAuB,GAAGvD,kCAAkC,CAACC,OAAO,CAAC;EAC3E,OAAO,IAAAuD,6BAAe,EAAC,CAAC,CAAChB,kBAAkB,CAACnB,QAAQ,EAAEgC,OAAO,EAAEE,uBAAuB,IAAI,CAAC,CAAC,CAAC;AAC/F,CAAC;AAAA1C,OAAA,CAAA2B,kBAAA,GAAAA,kBAAA;AAEM,MAAME,gBAAgB,GAAG,MAAAA,CAAOrB,QAAgB,EAAEpB,OAAgC,KAAoB;EAC3G,IAAI,CAAC,IAAAiD,2BAAoB,EAAC,CAAC,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;EAErD,MAAMjD,iBAAiB,GAAGW,+BAA+B,CAACb,OAAO,CAAC;EAClE,OAAO,IAAAuD,6BAAe,EAAC,CAAC,CAACI,eAAe,CAACvC,QAAQ,EAAElB,iBAAiB,IAAI;IAAEY,eAAe,EAAE;MAAEC,IAAI,EAAE;IAAY;EAAE,CAAC,CAAC;AACrH,CAAC;AAAAH,OAAA,CAAA6B,gBAAA,GAAAA,gBAAA;AAEM,MAAMjB,oBAAoB,GAAID,YAAoB,IAAc;EACrE,IAAI,CAAC,IAAA0B,2BAAoB,EAAC,CAAC,EAAE,OAAO,KAAK;EAEzC,OAAO,IAAAM,6BAAe,EAAC,CAAC,CAAC/B,oBAAoB,CAACD,YAAY,CAAC;AAC7D,CAAC;AAAAX,OAAA,CAAAY,oBAAA,GAAAA,oBAAA;AAEM,eAAeoC,oBAAoBA,CAAA,EAAkB;EAC1D,IAAI,CAAC,IAAAX,2BAAoB,EAAC,CAAC,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;EACrD,OAAO,IAAAI,6BAAe,EAAC,CAAC,CAACK,oBAAoB,CAAC,CAAC;AACjD","ignoreList":[]}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDynamicLiveActivityDefinitionIds = getDynamicLiveActivityDefinitionIds;
7
+ exports.startDynamicLiveActivity = startDynamicLiveActivity;
8
+ exports.updateDynamicLiveActivity = updateDynamicLiveActivity;
9
+ exports.useDynamicLiveActivity = useDynamicLiveActivity;
10
+ var _react = require("react");
11
+ var _events = require("../events.js");
12
+ var _index = require("../utils/index.js");
13
+ var _VoltraModule = require("../VoltraModule.js");
14
+ var _api = require("./api.js");
15
+ /** @experimental A JSON-compatible value accepted as Dynamic Live Activity props. */
16
+
17
+ /** @experimental A complete JSON-compatible props record for a Dynamic Live Activity update. */
18
+
19
+ /** @experimental Options used to start a Dynamic Live Activity. */
20
+
21
+ /** @experimental Options used to update a Dynamic Live Activity. */
22
+
23
+ /** @experimental Options for `useDynamicLiveActivity`. */
24
+
25
+ /** @experimental Lifecycle controls returned by `useDynamicLiveActivity`. */
26
+
27
+ function serializeDynamicLiveActivityProps(props) {
28
+ const ancestors = new Set();
29
+ const validate = (value, path) => {
30
+ if (value === null || typeof value === 'string' || typeof value === 'boolean') return;
31
+ if (typeof value === 'number') {
32
+ if (!Number.isFinite(value)) {
33
+ throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} is not a finite number.`);
34
+ }
35
+ return;
36
+ }
37
+ if (Array.isArray(value)) {
38
+ if (ancestors.has(value)) {
39
+ throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} contains a circular reference.`);
40
+ }
41
+ ancestors.add(value);
42
+ value.forEach((item, index) => validate(item, `${path}[${index}]`));
43
+ ancestors.delete(value);
44
+ return;
45
+ }
46
+ if (typeof value === 'object') {
47
+ const prototype = Object.getPrototypeOf(value);
48
+ if (prototype !== Object.prototype && prototype !== null) {
49
+ throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} must be a plain object.`);
50
+ }
51
+ if (ancestors.has(value)) {
52
+ throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} contains a circular reference.`);
53
+ }
54
+ ancestors.add(value);
55
+ for (const [key, item] of Object.entries(value)) {
56
+ validate(item, `${path}.${key}`);
57
+ }
58
+ ancestors.delete(value);
59
+ return;
60
+ }
61
+ throw new TypeError(`Dynamic Live Activity props must be JSON-compatible; ${path} has unsupported type ${typeof value}.`);
62
+ };
63
+ if (props === null || Array.isArray(props) || typeof props !== 'object') {
64
+ throw new TypeError('Dynamic Live Activity props must be a JSON-compatible record.');
65
+ }
66
+ validate(props, 'props');
67
+ return JSON.stringify(props);
68
+ }
69
+
70
+ /**
71
+ * Starts a bundled Dynamic Live Activity with a complete opaque props record.
72
+ * @experimental
73
+ */
74
+ async function startDynamicLiveActivity(definitionId, props, options) {
75
+ if (!(0, _index.assertRunningOnApple)()) return '';
76
+ const propsJson = serializeDynamicLiveActivityProps(props);
77
+ const normalizedSharedOptions = (0, _api.normalizeSharedLiveActivityOptions)(options);
78
+ return (0, _VoltraModule.getNativeVoltra)().startDynamicLiveActivity(definitionId, propsJson, {
79
+ target: 'liveActivity',
80
+ deepLinkUrl: options?.deepLinkUrl,
81
+ activityName: options?.activityName,
82
+ channelId: options?.channelId,
83
+ ...normalizedSharedOptions
84
+ });
85
+ }
86
+
87
+ /**
88
+ * Replaces a Dynamic Live Activity's complete opaque props record.
89
+ * @experimental
90
+ */
91
+ async function updateDynamicLiveActivity(activityName, props, options) {
92
+ if (!(0, _index.assertRunningOnApple)()) return;
93
+ const propsJson = serializeDynamicLiveActivityProps(props);
94
+ return (0, _VoltraModule.getNativeVoltra)().updateDynamicLiveActivity(activityName, propsJson, (0, _api.normalizeSharedLiveActivityOptions)(options) ?? {});
95
+ }
96
+
97
+ /**
98
+ * Returns the Dynamic Live Activity definition IDs bundled in the installed app.
99
+ * @experimental
100
+ */
101
+ async function getDynamicLiveActivityDefinitionIds() {
102
+ if (!(0, _index.assertRunningOnApple)()) return [];
103
+ return (0, _VoltraModule.getNativeVoltra)().getDynamicLiveActivityDefinitionIds();
104
+ }
105
+
106
+ /**
107
+ * Manages the lifecycle of one Dynamic Live Activity definition.
108
+ *
109
+ * Complete props are sent on every update. In development, call
110
+ * `enableDynamicLiveActivityHotReload()` once in the app host to reload only
111
+ * the definition changed by Fast Refresh.
112
+ * @experimental
113
+ */
114
+ function useDynamicLiveActivity(definitionId, props, options) {
115
+ const [activityName, setActivityName] = (0, _react.useState)(() => {
116
+ if (options?.activityName) {
117
+ return (0, _api.isLiveActivityActive)(options.activityName) ? options.activityName : null;
118
+ }
119
+ return null;
120
+ });
121
+ const propsRef = (0, _react.useRef)(props);
122
+ const optionsRef = (0, _react.useRef)(options);
123
+ const lastUpdateOptionsRef = (0, _react.useRef)(undefined);
124
+ (0, _react.useEffect)(() => {
125
+ propsRef.current = props;
126
+ }, [props]);
127
+ (0, _react.useEffect)(() => {
128
+ optionsRef.current = options;
129
+ }, [options]);
130
+ (0, _index.useUpdateOnHMR)();
131
+ const start = (0, _react.useCallback)(async startOptions => {
132
+ const id = await startDynamicLiveActivity(definitionId, propsRef.current, {
133
+ ...optionsRef.current,
134
+ ...startOptions
135
+ });
136
+ setActivityName(id);
137
+ }, [definitionId]);
138
+ const update = (0, _react.useCallback)(async updateOptions => {
139
+ if (!activityName) return;
140
+ const mergedOptions = {
141
+ ...optionsRef.current,
142
+ ...updateOptions
143
+ };
144
+ lastUpdateOptionsRef.current = mergedOptions;
145
+ await updateDynamicLiveActivity(activityName, propsRef.current, mergedOptions);
146
+ }, [activityName]);
147
+ const end = (0, _react.useCallback)(async endOptions => {
148
+ if (!activityName) return;
149
+ await (0, _api.stopLiveActivity)(activityName, endOptions);
150
+ setActivityName(null);
151
+ }, [activityName]);
152
+ (0, _react.useEffect)(() => {
153
+ if (options?.autoStart) void start();
154
+ }, [options?.autoStart, start]);
155
+ (0, _react.useEffect)(() => {
156
+ if (options?.autoUpdate) void update(lastUpdateOptionsRef.current);
157
+ }, [options?.autoUpdate, props, update]);
158
+ (0, _react.useEffect)(() => {
159
+ if (!activityName) return;
160
+ const subscription = (0, _events.addVoltraListener)('stateChange', event => {
161
+ if (event.activityName !== activityName) return;
162
+ if (event.activityState === 'dismissed' || event.activityState === 'ended') setActivityName(null);
163
+ });
164
+ return () => subscription.remove();
165
+ }, [activityName]);
166
+ return {
167
+ start,
168
+ update,
169
+ end,
170
+ isActive: activityName !== null
171
+ };
172
+ }
173
+ //# sourceMappingURL=dynamic-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_events","_index","_VoltraModule","_api","serializeDynamicLiveActivityProps","props","ancestors","Set","validate","value","path","Number","isFinite","TypeError","Array","isArray","has","add","forEach","item","index","delete","prototype","Object","getPrototypeOf","key","entries","JSON","stringify","startDynamicLiveActivity","definitionId","options","assertRunningOnApple","propsJson","normalizedSharedOptions","normalizeSharedLiveActivityOptions","getNativeVoltra","target","deepLinkUrl","activityName","channelId","updateDynamicLiveActivity","getDynamicLiveActivityDefinitionIds","useDynamicLiveActivity","setActivityName","useState","isLiveActivityActive","propsRef","useRef","optionsRef","lastUpdateOptionsRef","undefined","useEffect","current","useUpdateOnHMR","start","useCallback","startOptions","id","update","updateOptions","mergedOptions","end","endOptions","stopLiveActivity","autoStart","autoUpdate","subscription","addVoltraListener","event","activityState","remove","isActive"],"sourceRoot":"../../../src","sources":["live-activity/dynamic-api.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AAQA;;AASA;;AAGA;;AAOA;;AAGA;;AAMA;;AAQA,SAASK,iCAAiCA,CAACC,KAA+B,EAAU;EAClF,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAS,CAAC;EAEnC,MAAMC,QAAQ,GAAGA,CAACC,KAAc,EAAEC,IAAY,KAAW;IACvD,IAAID,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;IAE/E,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACH,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAII,SAAS,CAAC,wDAAwDH,IAAI,0BAA0B,CAAC;MAC7G;MACA;IACF;IAEA,IAAII,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;MACxB,IAAIH,SAAS,CAACU,GAAG,CAACP,KAAK,CAAC,EAAE;QACxB,MAAM,IAAII,SAAS,CACjB,wDAAwDH,IAAI,iCAC9D,CAAC;MACH;MACAJ,SAAS,CAACW,GAAG,CAACR,KAAK,CAAC;MACpBA,KAAK,CAACS,OAAO,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAKZ,QAAQ,CAACW,IAAI,EAAE,GAAGT,IAAI,IAAIU,KAAK,GAAG,CAAC,CAAC;MACnEd,SAAS,CAACe,MAAM,CAACZ,KAAK,CAAC;MACvB;IACF;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAMa,SAAS,GAAGC,MAAM,CAACC,cAAc,CAACf,KAAK,CAAC;MAC9C,IAAIa,SAAS,KAAKC,MAAM,CAACD,SAAS,IAAIA,SAAS,KAAK,IAAI,EAAE;QACxD,MAAM,IAAIT,SAAS,CAAC,wDAAwDH,IAAI,0BAA0B,CAAC;MAC7G;MACA,IAAIJ,SAAS,CAACU,GAAG,CAACP,KAAK,CAAC,EAAE;QACxB,MAAM,IAAII,SAAS,CACjB,wDAAwDH,IAAI,iCAC9D,CAAC;MACH;MACAJ,SAAS,CAACW,GAAG,CAACR,KAAK,CAAC;MACpB,KAAK,MAAM,CAACgB,GAAG,EAAEN,IAAI,CAAC,IAAII,MAAM,CAACG,OAAO,CAACjB,KAAgC,CAAC,EAAE;QAC1ED,QAAQ,CAACW,IAAI,EAAE,GAAGT,IAAI,IAAIe,GAAG,EAAE,CAAC;MAClC;MACAnB,SAAS,CAACe,MAAM,CAACZ,KAAK,CAAC;MACvB;IACF;IAEA,MAAM,IAAII,SAAS,CACjB,wDAAwDH,IAAI,yBAAyB,OAAOD,KAAK,GACnG,CAAC;EACH,CAAC;EAED,IAAIJ,KAAK,KAAK,IAAI,IAAIS,KAAK,CAACC,OAAO,CAACV,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvE,MAAM,IAAIQ,SAAS,CAAC,+DAA+D,CAAC;EACtF;EAEAL,QAAQ,CAACH,KAAK,EAAE,OAAO,CAAC;EACxB,OAAOsB,IAAI,CAACC,SAAS,CAACvB,KAAK,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACO,eAAewB,wBAAwBA,CAC5CC,YAAoB,EACpBzB,KAA+B,EAC/B0B,OAAyC,EACxB;EACjB,IAAI,CAAC,IAAAC,2BAAoB,EAAC,CAAC,EAAE,OAAO,EAAE;EAEtC,MAAMC,SAAS,GAAG7B,iCAAiC,CAACC,KAAK,CAAC;EAC1D,MAAM6B,uBAAuB,GAAG,IAAAC,uCAAkC,EAACJ,OAAO,CAAC;EAC3E,OAAO,IAAAK,6BAAe,EAAC,CAAC,CAACP,wBAAwB,CAACC,YAAY,EAAEG,SAAS,EAAE;IACzEI,MAAM,EAAE,cAAc;IACtBC,WAAW,EAAEP,OAAO,EAAEO,WAAW;IACjCC,YAAY,EAAER,OAAO,EAAEQ,YAAY;IACnCC,SAAS,EAAET,OAAO,EAAES,SAAS;IAC7B,GAAGN;EACL,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACO,eAAeO,yBAAyBA,CAC7CF,YAAoB,EACpBlC,KAA+B,EAC/B0B,OAA0C,EAC3B;EACf,IAAI,CAAC,IAAAC,2BAAoB,EAAC,CAAC,EAAE;EAE7B,MAAMC,SAAS,GAAG7B,iCAAiC,CAACC,KAAK,CAAC;EAC1D,OAAO,IAAA+B,6BAAe,EAAC,CAAC,CAACK,yBAAyB,CAChDF,YAAY,EACZN,SAAS,EACT,IAAAE,uCAAkC,EAACJ,OAAO,CAAC,IAAI,CAAC,CAClD,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACO,eAAeW,mCAAmCA,CAAA,EAAsB;EAC7E,IAAI,CAAC,IAAAV,2BAAoB,EAAC,CAAC,EAAE,OAAO,EAAE;EACtC,OAAO,IAAAI,6BAAe,EAAC,CAAC,CAACM,mCAAmC,CAAC,CAAC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CACpCb,YAAoB,EACpBzB,KAAY,EACZ0B,OAAuC,EACT;EAC9B,MAAM,CAACQ,YAAY,EAAEK,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAgB,MAAM;IACpE,IAAId,OAAO,EAAEQ,YAAY,EAAE;MACzB,OAAO,IAAAO,yBAAoB,EAACf,OAAO,CAACQ,YAAY,CAAC,GAAGR,OAAO,CAACQ,YAAY,GAAG,IAAI;IACjF;IACA,OAAO,IAAI;EACb,CAAC,CAAC;EACF,MAAMQ,QAAQ,GAAG,IAAAC,aAAM,EAAC3C,KAAK,CAAC;EAC9B,MAAM4C,UAAU,GAAG,IAAAD,aAAM,EAACjB,OAAO,CAAC;EAClC,MAAMmB,oBAAoB,GAAG,IAAAF,aAAM,EAA+CG,SAAS,CAAC;EAE5F,IAAAC,gBAAS,EAAC,MAAM;IACdL,QAAQ,CAACM,OAAO,GAAGhD,KAAK;EAC1B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,IAAA+C,gBAAS,EAAC,MAAM;IACdH,UAAU,CAACI,OAAO,GAAGtB,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,IAAAuB,qBAAc,EAAC,CAAC;EAEhB,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EACvB,MAAOC,YAA8C,IAAK;IACxD,MAAMC,EAAE,GAAG,MAAM7B,wBAAwB,CAACC,YAAY,EAAEiB,QAAQ,CAACM,OAAO,EAAE;MACxE,GAAGJ,UAAU,CAACI,OAAO;MACrB,GAAGI;IACL,CAAC,CAAC;IACFb,eAAe,CAACc,EAAE,CAAC;EACrB,CAAC,EACD,CAAC5B,YAAY,CACf,CAAC;EAED,MAAM6B,MAAM,GAAG,IAAAH,kBAAW,EACxB,MAAOI,aAAgD,IAAK;IAC1D,IAAI,CAACrB,YAAY,EAAE;IAEnB,MAAMsB,aAAa,GAAG;MAAE,GAAGZ,UAAU,CAACI,OAAO;MAAE,GAAGO;IAAc,CAAC;IACjEV,oBAAoB,CAACG,OAAO,GAAGQ,aAAa;IAC5C,MAAMpB,yBAAyB,CAACF,YAAY,EAAEQ,QAAQ,CAACM,OAAO,EAAEQ,aAAa,CAAC;EAChF,CAAC,EACD,CAACtB,YAAY,CACf,CAAC;EAED,MAAMuB,GAAG,GAAG,IAAAN,kBAAW,EACrB,MAAOO,UAAmC,IAAK;IAC7C,IAAI,CAACxB,YAAY,EAAE;IAEnB,MAAM,IAAAyB,qBAAgB,EAACzB,YAAY,EAAEwB,UAAU,CAAC;IAChDnB,eAAe,CAAC,IAAI,CAAC;EACvB,CAAC,EACD,CAACL,YAAY,CACf,CAAC;EAED,IAAAa,gBAAS,EAAC,MAAM;IACd,IAAIrB,OAAO,EAAEkC,SAAS,EAAE,KAAKV,KAAK,CAAC,CAAC;EACtC,CAAC,EAAE,CAACxB,OAAO,EAAEkC,SAAS,EAAEV,KAAK,CAAC,CAAC;EAE/B,IAAAH,gBAAS,EAAC,MAAM;IACd,IAAIrB,OAAO,EAAEmC,UAAU,EAAE,KAAKP,MAAM,CAACT,oBAAoB,CAACG,OAAO,CAAC;EACpE,CAAC,EAAE,CAACtB,OAAO,EAAEmC,UAAU,EAAE7D,KAAK,EAAEsD,MAAM,CAAC,CAAC;EAExC,IAAAP,gBAAS,EAAC,MAAM;IACd,IAAI,CAACb,YAAY,EAAE;IAEnB,MAAM4B,YAAY,GAAG,IAAAC,yBAAiB,EAAC,aAAa,EAAGC,KAAK,IAAK;MAC/D,IAAIA,KAAK,CAAC9B,YAAY,KAAKA,YAAY,EAAE;MACzC,IAAI8B,KAAK,CAACC,aAAa,KAAK,WAAW,IAAID,KAAK,CAACC,aAAa,KAAK,OAAO,EAAE1B,eAAe,CAAC,IAAI,CAAC;IACnG,CAAC,CAAC;IACF,OAAO,MAAMuB,YAAY,CAACI,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAAChC,YAAY,CAAC,CAAC;EAElB,OAAO;IAAEgB,KAAK;IAAEI,MAAM;IAAEG,GAAG;IAAEU,QAAQ,EAAEjC,YAAY,KAAK;EAAK,CAAC;AAChE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","getNativeVoltra","voltraModule","TurboModuleRegistry","get","Error"],"sourceRoot":"../../../src","sources":["native/NativeVoltra.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AA+GO,SAASC,eAAeA,CAAA,EAAS;EACtC,MAAMC,YAAY,GAAGC,gCAAmB,CAACC,GAAG,CAAO,cAAc,CAAC;EAElE,IAAIF,YAAY,IAAI,IAAI,EAAE;IACxB,MAAM,IAAIG,KAAK,CAAC,+BAA+B,CAAC;EAClD;EAEA,OAAOH,YAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","getNativeVoltra","voltraModule","TurboModuleRegistry","get","Error"],"sourceRoot":"../../../src","sources":["native/NativeVoltra.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAqIO,SAASC,eAAeA,CAAA,EAAS;EACtC,MAAMC,YAAY,GAAGC,gCAAmB,CAACC,GAAG,CAAO,cAAc,CAAC;EAElE,IAAIF,YAAY,IAAI,IAAI,EAAE;IACxB,MAAM,IAAIG,KAAK,CAAC,+BAA+B,CAAC;EAClD;EAEA,OAAOH,YAAY;AACrB","ignoreList":[]}