@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/dynamic-widget/api.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,aAAa,CAAC,uBAAuB,CAAC,GACtC,QAAQ,CAAC;IAAE,CAAC,qBAAqB,EAAE,MAAM,GAAG,uBAAuB,CAAA;CAAE,CAAC,CAAA;AAE1E,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,CAAC,qBAAqB,EAAE,MAAM,GAAG,uBAAuB,CAAA;CACzD,CAAC,CAAA;AAEF,eAAO,MAAM,mBAAmB,GAC9B,iBAAiB,MAAM,EACvB,oBAAoB,kBAAkB,KACrC,OAAO,CAAC,IAAI,CAMd,CAAA"}
@@ -23,11 +23,18 @@ export type VoltraInteractionEvent = BasicVoltraEvent & {
23
23
  identifier: string;
24
24
  payload: string;
25
25
  };
26
+ export type VoltraDynamicLiveActivityRenderFailedEvent = BasicVoltraEvent & {
27
+ type: 'dynamicLiveActivityRenderFailed';
28
+ activityName: string;
29
+ definitionId: string;
30
+ message: string;
31
+ };
26
32
  export type VoltraEventMap = {
27
33
  activityTokenReceived: VoltraActivityTokenReceivedEvent;
28
34
  activityPushToStartTokenReceived: VoltraActivityPushToStartTokenReceivedEvent;
29
35
  stateChange: VoltraActivityUpdateEvent;
30
36
  interaction: VoltraInteractionEvent;
37
+ dynamicLiveActivityRenderFailed: VoltraDynamicLiveActivityRenderFailedEvent;
31
38
  };
32
39
  export declare function addVoltraListener<K extends keyof VoltraEventMap>(event: K, listener: (event: VoltraEventMap[K]) => void): EventSubscription;
33
40
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AACjG,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,GAAG;IAChE,IAAI,EAAE,uBAAuB,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AACD,MAAM,MAAM,2CAA2C,GAAG,gBAAgB,GAAG;IAC3E,IAAI,EAAE,kCAAkC,CAAA;IACxC,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG;IACzD,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG;IACtD,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAMD,MAAM,MAAM,cAAc,GAAG;IAC3B,qBAAqB,EAAE,gCAAgC,CAAA;IACvD,gCAAgC,EAAE,2CAA2C,CAAA;IAC7E,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,sBAAsB,CAAA;CACpC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,cAAc,EAC9D,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAC3C,iBAAiB,CAuBnB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AACjG,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,GAAG;IAChE,IAAI,EAAE,uBAAuB,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AACD,MAAM,MAAM,2CAA2C,GAAG,gBAAgB,GAAG;IAC3E,IAAI,EAAE,kCAAkC,CAAA;IACxC,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG;IACzD,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG;IACtD,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,0CAA0C,GAAG,gBAAgB,GAAG;IAC1E,IAAI,EAAE,iCAAiC,CAAA;IACvC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAWD,MAAM,MAAM,cAAc,GAAG;IAC3B,qBAAqB,EAAE,gCAAgC,CAAA;IACvD,gCAAgC,EAAE,2CAA2C,CAAA;IAC7E,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,sBAAsB,CAAA;IACnC,+BAA+B,EAAE,0CAA0C,CAAA;CAC5E,CAAA;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,cAAc,EAC9D,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAC3C,iBAAiB,CA4CnB"}
@@ -2,17 +2,21 @@ export { Voltra } from '@use-voltra/ios';
2
2
  export { VoltraLiveActivityPreview, type VoltraLiveActivityPreviewProps, } from './components/VoltraLiveActivityPreview.js';
3
3
  export { VoltraView, type VoltraViewProps } from './components/VoltraView.js';
4
4
  export { VoltraWidgetPreview, type VoltraWidgetPreviewProps } from './components/VoltraWidgetPreview.js';
5
+ export { type DynamicWidgetProps, type DynamicWidgetPropsValue, updateDynamicWidget } from './dynamic-widget/api.js';
5
6
  export * from './events.js';
6
7
  export { isGlassSupported, isHeadless, useIsHeadless } from './helpers.js';
7
8
  export { logger, type VoltraLogLevel } from './logger.js';
8
9
  export { endAllLiveActivities, type EndLiveActivityOptions, isLiveActivityActive, type SharedLiveActivityOptions, startLiveActivity, type StartLiveActivityOptions, stopLiveActivity, updateLiveActivity, type UpdateLiveActivityOptions, useLiveActivity, type UseLiveActivityOptions, type UseLiveActivityResult, } from './live-activity/api.js';
10
+ export { getDynamicLiveActivityDefinitionIds, startDynamicLiveActivity, type StartDynamicLiveActivityOptions, updateDynamicLiveActivity, type UpdateDynamicLiveActivityOptions, useDynamicLiveActivity, type UseDynamicLiveActivityOptions, type UseDynamicLiveActivityResult, type DynamicLiveActivityProps, type DynamicLiveActivityPropsValue, } from './live-activity/dynamic-api.js';
9
11
  export type { DismissalPolicy, LiveActivityVariants } from '@use-voltra/ios';
10
12
  export { clearPreloadedImages, type PreloadImageOptions, preloadImages, type PreloadImagesResult, reloadLiveActivities, } from './preload.js';
11
13
  export { assertRunningOnApple } from './utils/assertRunningOnApple.js';
12
14
  export { enableWidgetHotReload } from './utils/enableWidgetHotReload.js';
15
+ export { enableDynamicLiveActivityHotReload } from './utils/enableDynamicLiveActivityHotReload.js';
13
16
  export { useUpdateOnHMR } from './utils/useUpdateOnHMR.js';
14
17
  export * from './utils/helpers.js';
15
18
  export type { VoltraElementJson, VoltraNodeJson } from './types.js';
19
+ export { clearWidgetServerUpdate, getWidgetServerUpdate, setWidgetServerUpdate, type WidgetServerUpdateBody, type WidgetServerUpdateOptions, type WidgetServerUpdateSettings, type WidgetServerUpdateSnapshot, } from './widgets/server-update.js';
16
20
  export { clearWidgetServerCredentials, setWidgetServerCredentials, type WidgetServerCredentials, } from './widgets/server-credentials.js';
17
21
  export type { WidgetFamily, WidgetInfo, WidgetVariants } from '@use-voltra/ios';
18
22
  export { clearAllWidgets, clearWidget, getActiveWidgets, reloadWidgets, type ScheduledWidgetEntry, scheduleWidget, updateWidget, type UpdateWidgetOptions, } from './widgets/widget-api.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EACL,yBAAyB,EACzB,KAAK,8BAA8B,GACpC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AACxG,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,aAAa,EACb,KAAK,mBAAmB,EACxB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,cAAc,oBAAoB,CAAA;AAClC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,iCAAiC,CAAA;AACxC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,KAAK,oBAAoB,EACzB,cAAc,EACd,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EACL,yBAAyB,EACzB,KAAK,8BAA8B,GACpC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AACxG,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACpH,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,KAAK,+BAA+B,EACpC,yBAAyB,EACzB,KAAK,gCAAgC,EACrC,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACnC,MAAM,gCAAgC,CAAA;AACvC,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,aAAa,EACb,KAAK,mBAAmB,EACxB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,cAAc,oBAAoB,CAAA;AAClC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,iCAAiC,CAAA;AACxC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,KAAK,oBAAoB,EACzB,cAAc,EACd,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAA"}
@@ -26,6 +26,13 @@ export type UseLiveActivityResult = {
26
26
  end: (options?: EndLiveActivityOptions) => Promise<void>;
27
27
  isActive: boolean;
28
28
  };
29
+ export declare const normalizeSharedLiveActivityOptions: (options?: SharedLiveActivityOptions) => SharedLiveActivityOptions | undefined;
30
+ export declare const normalizeEndLiveActivityOptions: (options?: EndLiveActivityOptions) => {
31
+ dismissalPolicy?: {
32
+ type: "immediate" | "after";
33
+ date?: number;
34
+ };
35
+ } | undefined;
29
36
  export declare const useLiveActivity: (variants: LiveActivityVariants, options?: UseLiveActivityOptions) => UseLiveActivityResult;
30
37
  export declare const startLiveActivity: (variants: LiveActivityVariants, options?: StartLiveActivityOptions) => Promise<string>;
31
38
  export declare const updateLiveActivity: (targetId: string, variants: LiveActivityVariants, options?: UpdateLiveActivityOptions) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/live-activity/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAO7G,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,yBAAyB,CAAA;AAE7B,MAAM,MAAM,yBAAyB,GAAG,yBAAyB,CAAA;AAEjE,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AA4CD,eAAO,MAAM,eAAe,GAC1B,UAAU,oBAAoB,EAC9B,UAAU,sBAAsB,KAC/B,qBAsFF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,UAAU,oBAAoB,EAC9B,UAAU,wBAAwB,KACjC,OAAO,CAAC,MAAM,CAchB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,UAAU,oBAAoB,EAC9B,UAAU,yBAAyB,KAClC,OAAO,CAAC,IAAI,CAOd,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,UAAU,MAAM,EAAE,UAAU,sBAAsB,KAAG,OAAO,CAAC,IAAI,CAKvG,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,KAAG,OAI3D,CAAA;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1D"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/live-activity/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAO7G,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,yBAAyB,CAAA;AAE7B,MAAM,MAAM,yBAAyB,GAAG,yBAAyB,CAAA;AAEjE,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,kCAAkC,GAC7C,UAAU,yBAAyB,KAClC,yBAAyB,GAAG,SAsB9B,CAAA;AAED,eAAO,MAAM,+BAA+B,GAC1C,UAAU,sBAAsB,KAC/B;IAAE,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,SAYzE,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,UAAU,oBAAoB,EAC9B,UAAU,sBAAsB,KAC/B,qBAsFF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,UAAU,oBAAoB,EAC9B,UAAU,wBAAwB,KACjC,OAAO,CAAC,MAAM,CAchB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,UAAU,oBAAoB,EAC9B,UAAU,yBAAyB,KAClC,OAAO,CAAC,IAAI,CAOd,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,UAAU,MAAM,EAAE,UAAU,sBAAsB,KAAG,OAAO,CAAC,IAAI,CAKvG,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,KAAG,OAI3D,CAAA;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1D"}
@@ -0,0 +1,54 @@
1
+ import { type EndLiveActivityOptions, type SharedLiveActivityOptions } from './api.js';
2
+ /** @experimental A JSON-compatible value accepted as Dynamic Live Activity props. */
3
+ export type DynamicLiveActivityPropsValue = string | number | boolean | null | ReadonlyArray<DynamicLiveActivityPropsValue> | Readonly<{
4
+ [key: string]: DynamicLiveActivityPropsValue;
5
+ }>;
6
+ /** @experimental A complete JSON-compatible props record for a Dynamic Live Activity update. */
7
+ export type DynamicLiveActivityProps = Readonly<{
8
+ [key: string]: DynamicLiveActivityPropsValue;
9
+ }>;
10
+ /** @experimental Options used to start a Dynamic Live Activity. */
11
+ export type StartDynamicLiveActivityOptions = {
12
+ activityName?: string;
13
+ deepLinkUrl?: string;
14
+ channelId?: string;
15
+ } & SharedLiveActivityOptions;
16
+ /** @experimental Options used to update a Dynamic Live Activity. */
17
+ export type UpdateDynamicLiveActivityOptions = SharedLiveActivityOptions;
18
+ /** @experimental Options for `useDynamicLiveActivity`. */
19
+ export type UseDynamicLiveActivityOptions = StartDynamicLiveActivityOptions & {
20
+ autoStart?: boolean;
21
+ autoUpdate?: boolean;
22
+ };
23
+ /** @experimental Lifecycle controls returned by `useDynamicLiveActivity`. */
24
+ export type UseDynamicLiveActivityResult = {
25
+ start: (options?: StartDynamicLiveActivityOptions) => Promise<void>;
26
+ update: (options?: UpdateDynamicLiveActivityOptions) => Promise<void>;
27
+ end: (options?: EndLiveActivityOptions) => Promise<void>;
28
+ isActive: boolean;
29
+ };
30
+ /**
31
+ * Starts a bundled Dynamic Live Activity with a complete opaque props record.
32
+ * @experimental
33
+ */
34
+ export declare function startDynamicLiveActivity(definitionId: string, props: DynamicLiveActivityProps, options?: StartDynamicLiveActivityOptions): Promise<string>;
35
+ /**
36
+ * Replaces a Dynamic Live Activity's complete opaque props record.
37
+ * @experimental
38
+ */
39
+ export declare function updateDynamicLiveActivity(activityName: string, props: DynamicLiveActivityProps, options?: UpdateDynamicLiveActivityOptions): Promise<void>;
40
+ /**
41
+ * Returns the Dynamic Live Activity definition IDs bundled in the installed app.
42
+ * @experimental
43
+ */
44
+ export declare function getDynamicLiveActivityDefinitionIds(): Promise<string[]>;
45
+ /**
46
+ * Manages the lifecycle of one Dynamic Live Activity definition.
47
+ *
48
+ * Complete props are sent on every update. In development, call
49
+ * `enableDynamicLiveActivityHotReload()` once in the app host to reload only
50
+ * the definition changed by Fast Refresh.
51
+ * @experimental
52
+ */
53
+ export declare function useDynamicLiveActivity<Props extends DynamicLiveActivityProps = DynamicLiveActivityProps>(definitionId: string, props: Props, options?: UseDynamicLiveActivityOptions): UseDynamicLiveActivityResult;
54
+ //# sourceMappingURL=dynamic-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api.d.ts","sourceRoot":"","sources":["../../../../src/live-activity/dynamic-api.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC/B,MAAM,UAAU,CAAA;AAEjB,qFAAqF;AACrF,MAAM,MAAM,6BAA6B,GACrC,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,aAAa,CAAC,6BAA6B,CAAC,GAC5C,QAAQ,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,6BAA6B,CAAA;CAAE,CAAC,CAAA;AAE9D,gGAAgG;AAChG,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,6BAA6B,CAAA;CAAE,CAAC,CAAA;AAEjG,mEAAmE;AACnE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,yBAAyB,CAAA;AAE7B,oEAAoE;AACpE,MAAM,MAAM,gCAAgC,GAAG,yBAAyB,CAAA;AAExE,0DAA0D;AAC1D,MAAM,MAAM,6BAA6B,GAAG,+BAA+B,GAAG;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,6EAA6E;AAC7E,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,+BAA+B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,gCAAgC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AA0DD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,wBAAwB,EAC/B,OAAO,CAAC,EAAE,+BAA+B,GACxC,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,wBAAwB,EAC/B,OAAO,CAAC,EAAE,gCAAgC,GACzC,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;GAGG;AACH,wBAAsB,mCAAmC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG7E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,SAAS,wBAAwB,GAAG,wBAAwB,EACtG,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,6BAA6B,GACtC,4BAA4B,CAwE9B"}
@@ -26,6 +26,14 @@ type VoltraInteractionEvent = Readonly<{
26
26
  identifier: string;
27
27
  payload: string;
28
28
  }>;
29
+ type VoltraDynamicLiveActivityRenderFailedEvent = Readonly<{
30
+ source: string;
31
+ timestamp: number;
32
+ type: 'dynamicLiveActivityRenderFailed';
33
+ activityName: string;
34
+ definitionId: string;
35
+ message: string;
36
+ }>;
29
37
  type StartVoltraOptions = Readonly<{
30
38
  target?: string;
31
39
  deepLinkUrl?: string;
@@ -75,26 +83,39 @@ type WidgetServerCredentials = Readonly<{
75
83
  }>;
76
84
  export interface Spec extends TurboModule {
77
85
  readonly onInteraction: CodegenTypes.EventEmitter<VoltraInteractionEvent>;
86
+ readonly onDynamicLiveActivityRenderFailed: CodegenTypes.EventEmitter<VoltraDynamicLiveActivityRenderFailedEvent>;
78
87
  readonly onStateChanged: CodegenTypes.EventEmitter<VoltraActivityUpdateEvent>;
79
88
  readonly onActivityTokenReceived: CodegenTypes.EventEmitter<VoltraActivityTokenReceivedEvent>;
80
89
  readonly onActivityPushToStartTokenReceived: CodegenTypes.EventEmitter<VoltraActivityPushToStartTokenReceivedEvent>;
90
+ drainDynamicLiveActivityRenderFailures(): void;
91
+ setDynamicLiveActivityRenderFailureListenerActive(active: boolean): void;
81
92
  startLiveActivity(jsonString: string, options: StartVoltraOptions): Promise<string>;
82
93
  updateLiveActivity(activityId: string, jsonString: string, options: UpdateVoltraOptions): Promise<void>;
94
+ startDynamicLiveActivity(definitionId: string, propsJson: string, options: StartVoltraOptions): Promise<string>;
95
+ updateDynamicLiveActivity(activityId: string, propsJson: string, options: UpdateVoltraOptions): Promise<void>;
83
96
  endLiveActivity(activityId: string, options: EndVoltraOptions): Promise<void>;
84
97
  endAllLiveActivities(): Promise<void>;
85
98
  getLatestVoltraActivityId(): Promise<string | null>;
86
99
  listVoltraActivityIds(): Promise<string[]>;
100
+ getDynamicLiveActivityDefinitionIds(): Promise<string[]>;
87
101
  isLiveActivityActive(activityName: string): boolean;
88
102
  isHeadless(): boolean;
89
103
  preloadImages(images: PreloadImageOptions[]): Promise<PreloadImagesResult>;
90
104
  reloadLiveActivities(activityNames?: string[] | null): Promise<void>;
105
+ reloadDynamicLiveActivities(definitionIds?: string[] | null): Promise<void>;
91
106
  clearPreloadedImages(keys?: string[] | null): Promise<void>;
107
+ updateDynamicWidget(dynamicWidgetId: string, dynamicWidgetPropsJson: string): Promise<void>;
92
108
  updateWidget(widgetId: string, jsonString: string, options: UpdateWidgetOptions): Promise<void>;
93
109
  scheduleWidget(widgetId: string, timelineJson: string): Promise<void>;
94
110
  reloadWidgets(widgetIds?: string[] | null): Promise<void>;
95
111
  clearWidget(widgetId: string): Promise<void>;
96
112
  clearAllWidgets(): Promise<void>;
97
113
  getActiveWidgets<T = unknown>(): Promise<T[]>;
114
+ /** Settings are passed as JSON so an arbitrary `body` survives the bridge unchanged. */
115
+ setWidgetServerUpdate(settingsJson: string, widgetId?: string | null): Promise<void>;
116
+ clearWidgetServerUpdate(widgetId?: string | null): Promise<void>;
117
+ /** Result is JSON so an arbitrary `body` survives the bridge unchanged, or null. */
118
+ getWidgetServerUpdate(widgetId?: string | null): Promise<string | null>;
98
119
  setWidgetServerCredentials(credentials: WidgetServerCredentials): Promise<void>;
99
120
  clearWidgetServerCredentials(): Promise<void>;
100
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NativeVoltra.d.ts","sourceRoot":"","sources":["../../../../src/native/NativeVoltra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeVoltra.d.ts","sourceRoot":"","sources":["../../../../src/native/NativeVoltra.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export type { EventSubscription, PreloadImageFailure, PreloadImageOptions, PreloadImagesResult, UpdateWidgetOptions, VoltraElementJson, VoltraElementRef, VoltraNodeJson, VoltraPropValue, WidgetServerCredentials, } from '@use-voltra/ios';
1
+ export type { EventSubscription, PreloadImageFailure, PreloadImageOptions, PreloadImagesResult, UpdateWidgetOptions, VoltraElementJson, VoltraElementRef, VoltraNodeJson, VoltraPropValue, WidgetServerCredentials, WidgetServerUpdateBody, WidgetServerUpdateOptions, WidgetServerUpdateSettings, WidgetServerUpdateSnapshot, } from '@use-voltra/ios';
2
2
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,uBAAuB,GACxB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,15 @@
1
+ declare global {
2
+ var __voltraDynamicLiveActivityDefinitionUpdated: ((definitionId: string) => void) | undefined;
3
+ }
4
+ /**
5
+ * Reload Dynamic Live Activities after a Metro Fast Refresh patch. When Metro
6
+ * re-evaluates a generated definition entry, only that definition is reloaded.
7
+ * Component-only refresh boundaries do not re-evaluate their importer, so those
8
+ * patches fall back to reloading every Dynamic Live Activity definition.
9
+ * Legacy activities and Dynamic Widgets are unaffected.
10
+ *
11
+ * Subscribes to the shared {@link getFastRefreshHub} so multiple `__accept`
12
+ * calls from one save collapse into a single native reload.
13
+ */
14
+ export declare function enableDynamicLiveActivityHotReload(): () => void;
15
+ //# sourceMappingURL=enableDynamicLiveActivityHotReload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableDynamicLiveActivityHotReload.d.ts","sourceRoot":"","sources":["../../../../src/utils/enableDynamicLiveActivityHotReload.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,4CAA4C,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAC/F;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,IAAI,MAAM,IAAI,CA+B/D"}
@@ -1,11 +1,9 @@
1
- declare global {
2
- var __accept: (...args: unknown[]) => void;
3
- }
4
1
  /**
5
2
  * Trigger `reloadWidgets()` on every Metro Fast Refresh patch (DEV only).
6
3
  *
7
- * Hooks the global `__accept` callback Metro fires when a Fast Refresh patch
8
- * lands in the host app's JS runtime. When fired, calls
4
+ * Subscribes to the shared {@link getFastRefreshHub}, which wraps the global
5
+ * `__accept` callback Metro fires when a Fast Refresh patch lands in the host
6
+ * app's JS runtime. On each debounced patch it calls
9
7
  * `WidgetCenter.shared.reloadAllTimelines()` so WidgetKit re-invokes each widget
10
8
  * Provider, which re-fetches the freshest bundle from Metro and renders the
11
9
  * updated UI.
@@ -16,8 +14,8 @@ declare global {
16
14
  * workflow the dev still relies on WidgetKit's natural lifecycle refresh on
17
15
  * app foreground.
18
16
  *
19
- * Call once at app startup. Returns `dispose()` to restore the prior
20
- * `__accept` (rarely needed in practice). No-op in release builds.
17
+ * Call once at app startup. Returns `dispose()` to unsubscribe (rarely needed
18
+ * in practice). No-op in release builds.
21
19
  */
22
20
  export declare function enableWidgetHotReload(): () => void;
23
21
  //# sourceMappingURL=enableWidgetHotReload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enableWidgetHotReload.d.ts","sourceRoot":"","sources":["../../../../src/utils/enableWidgetHotReload.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAC3C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAclD"}
1
+ {"version":3,"file":"enableWidgetHotReload.d.ts","sourceRoot":"","sources":["../../../../src/utils/enableWidgetHotReload.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,IAAI,CAQlD"}
@@ -1,5 +1,2 @@
1
- declare global {
2
- var __accept: (...args: unknown[]) => void;
3
- }
4
1
  export declare const useUpdateOnHMR: () => void;
5
2
  //# sourceMappingURL=useUpdateOnHMR.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateOnHMR.d.ts","sourceRoot":"","sources":["../../../../src/utils/useUpdateOnHMR.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAC3C;AAED,eAAO,MAAM,cAAc,YAkB1B,CAAA"}
1
+ {"version":3,"file":"useUpdateOnHMR.d.ts","sourceRoot":"","sources":["../../../../src/utils/useUpdateOnHMR.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,YAY1B,CAAA"}
@@ -1,5 +1,13 @@
1
1
  import type { WidgetServerCredentials } from '../types.js';
2
2
  export type { WidgetServerCredentials } from '../types.js';
3
+ /**
4
+ * @deprecated Use {@link setWidgetServerUpdate} with an `Authorization` header. This writes the
5
+ * same stored credentials and keeps the same replace-everything semantics, so migrating is a
6
+ * one-line change; it will be removed in a future major.
7
+ */
3
8
  export declare function setWidgetServerCredentials(credentials: WidgetServerCredentials): Promise<void>;
9
+ /**
10
+ * @deprecated Use {@link clearWidgetServerUpdate} instead.
11
+ */
4
12
  export declare function clearWidgetServerCredentials(): Promise<void>;
5
13
  //# sourceMappingURL=server-credentials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-credentials.d.ts","sourceRoot":"","sources":["../../../../src/widgets/server-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAElE"}
1
+ {"version":3,"file":"server-credentials.d.ts","sourceRoot":"","sources":["../../../../src/widgets/server-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG;AAED;;GAEG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAElE"}
@@ -0,0 +1,64 @@
1
+ import type { WidgetServerUpdateOptions, WidgetServerUpdateSettings, WidgetServerUpdateSnapshot } from '../types.js';
2
+ export type { WidgetServerUpdateBody, WidgetServerUpdateOptions, WidgetServerUpdateSettings, WidgetServerUpdateSnapshot, } from '../types.js';
3
+ /**
4
+ * Overrides a server-driven widget's `serverUpdate` settings at runtime.
5
+ *
6
+ * The `serverUpdate` entry in app.json supplies the defaults; this replaces any of them for one
7
+ * widget, or for every server-driven widget when no `widgetId` is given. A widget-scoped call wins
8
+ * over a global one, and `headers` and `query` merge per key across the two.
9
+ *
10
+ * Each call replaces the whole layer it writes, so pass every field you want to keep. Setting
11
+ * anything reschedules the widgets it affects and fetches once immediately.
12
+ *
13
+ * @example Point a widget at the tenant's own backend once the user has logged in.
14
+ * ```ts
15
+ * await setWidgetServerUpdate(
16
+ * { url: `https://${tenant}.example.com/widgets/portfolio`, headers: { Authorization: `Bearer ${token}` } },
17
+ * { widgetId: 'portfolio' }
18
+ * )
19
+ * ```
20
+ *
21
+ * @example Take a widget over and drive it from the app until you hand it back.
22
+ * ```ts
23
+ * await setWidgetServerUpdate({ enabled: false }, { widgetId: 'portfolio' })
24
+ * await updateDynamicWidget('portfolio', localProps)
25
+ * ```
26
+ *
27
+ * @throws if the widget has no `serverUpdate` in app.json, if the URL is not https (plain http is
28
+ * allowed only in a debug build, and only for a local dev host), or if `query` names one of the
29
+ * parameters Voltra already sends.
30
+ */
31
+ export declare function setWidgetServerUpdate(settings: WidgetServerUpdateSettings, options?: WidgetServerUpdateOptions): Promise<void>;
32
+ /**
33
+ * Drops the runtime settings for one widget, or the global ones when no `widgetId` is given, so
34
+ * the widget falls back to what app.json configured.
35
+ *
36
+ * Clearing the global settings is the logout gesture: along with the settings it drops what the
37
+ * server last sent for every server-driven widget, so a Dynamic Widget goes back to `{}` with
38
+ * `env.serverUpdate.status` of `never` rather than showing the previous account's data. Credentials
39
+ * set with the deprecated `setWidgetServerCredentials` are stored separately — clear those with
40
+ * `clearWidgetServerCredentials`.
41
+ */
42
+ export declare function clearWidgetServerUpdate(options?: WidgetServerUpdateOptions): Promise<void>;
43
+ /**
44
+ * Reads a widget's `serverUpdate` settings back, without reasoning about what was set where.
45
+ *
46
+ * With a `widgetId`, this is the fully resolved settings that widget would fetch with right now:
47
+ * every layer flattened and app.json's defaults applied — `null` if the widget is not
48
+ * server-driven. Without one, this is the raw contents of the global layer only — what the last
49
+ * `setWidgetServerUpdate(settings)` call (with no `widgetId`) wrote, with no defaults applied and
50
+ * every field optional — `null` if nothing has been set globally.
51
+ *
52
+ * @example Check what a widget is about to fetch from.
53
+ * ```ts
54
+ * const snapshot = await getWidgetServerUpdate({ widgetId: 'portfolio' })
55
+ * if (snapshot?.enabled) {
56
+ * console.log(`portfolio fetches ${snapshot.url} every ${snapshot.intervalMinutes}m`)
57
+ * }
58
+ * ```
59
+ */
60
+ export declare function getWidgetServerUpdate(options: {
61
+ widgetId: string;
62
+ }): Promise<WidgetServerUpdateSnapshot | null>;
63
+ export declare function getWidgetServerUpdate(options?: undefined): Promise<WidgetServerUpdateSettings | null>;
64
+ //# sourceMappingURL=server-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-update.d.ts","sourceRoot":"","sources":["../../../../src/widgets/server-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAGpH,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,0BAA0B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAA;AACtH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WIDGET_FAMILY_MAP = exports.DEFAULT_WIDGET_FAMILIES = exports.SUPPORTED_IMAGE_EXTENSIONS = exports.DEFAULT_USER_IMAGES_PATH = exports.IOS = void 0;
3
+ exports.widgetKindOverrides = exports.widgetKind = exports.WIDGET_KIND_PREFIX = exports.WIDGET_FAMILY_MAP = exports.DEFAULT_WIDGET_FAMILIES = exports.SUPPORTED_IMAGE_EXTENSIONS = exports.DEFAULT_USER_IMAGES_PATH = exports.IOS = void 0;
4
4
  exports.IOS = {
5
5
  DEPLOYMENT_TARGET: '17.0',
6
6
  SWIFT_VERSION: '5.0',
@@ -20,4 +20,23 @@ exports.WIDGET_FAMILY_MAP = {
20
20
  accessoryRectangular: '.accessoryRectangular',
21
21
  accessoryInline: '.accessoryInline',
22
22
  };
23
+ /** Default prefix of a widget's WidgetKit `kind`: `Voltra_Widget_<id>`. Mirrors `VoltraStorageKeys.widgetKindPrefix`. */
24
+ exports.WIDGET_KIND_PREFIX = 'Voltra_Widget_';
25
+ /** WidgetKit `kind` of a widget: the `kind` option when set, else `Voltra_Widget_<id>`. */
26
+ const widgetKind = (widget) => widget.kind ?? `${exports.WIDGET_KIND_PREFIX}${widget.id}`;
27
+ exports.widgetKind = widgetKind;
28
+ /**
29
+ * `{ id: kind }` for the widgets that pin a custom `kind`, or undefined when none does.
30
+ * Written to both Info.plists (`Voltra_WidgetKinds`) so native code maps ids to kinds and back.
31
+ */
32
+ const widgetKindOverrides = (widgets) => {
33
+ const overrides = {};
34
+ for (const widget of widgets ?? []) {
35
+ if (widget.kind !== undefined) {
36
+ overrides[widget.id] = widget.kind;
37
+ }
38
+ }
39
+ return Object.keys(overrides).length > 0 ? overrides : undefined;
40
+ };
41
+ exports.widgetKindOverrides = widgetKindOverrides;
23
42
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,GAAG,GAAG;IACjB,iBAAiB,EAAE,MAAM;IACzB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,IAAI;CAClB,CAAA;AAEV,mDAAmD;AACtC,QAAA,wBAAwB,GAAG,iBAAiB,CAAA;AAE5C,QAAA,0BAA0B,GAAG,oBAAoB,CAAA;AAEjD,QAAA,uBAAuB,GAAsB,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;AAE3F,QAAA,iBAAiB,GAAoC;IAChE,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,eAAe,EAAE,kBAAkB;CACpC,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,GAAG,GAAG;IACjB,iBAAiB,EAAE,MAAM;IACzB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,IAAI;CAClB,CAAA;AAEV,mDAAmD;AACtC,QAAA,wBAAwB,GAAG,iBAAiB,CAAA;AAE5C,QAAA,0BAA0B,GAAG,oBAAoB,CAAA;AAEjD,QAAA,uBAAuB,GAAsB,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;AAE3F,QAAA,iBAAiB,GAAoC;IAChE,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,eAAe,EAAE,kBAAkB;CACpC,CAAA;AAED,yHAAyH;AAC5G,QAAA,kBAAkB,GAAG,gBAAgB,CAAA;AAElD,2FAA2F;AACpF,MAAM,UAAU,GAAG,CAAC,MAA4C,EAAU,EAAE,CACjF,MAAM,CAAC,IAAI,IAAI,GAAG,0BAAkB,GAAG,MAAM,CAAC,EAAE,EAAE,CAAA;AADvC,QAAA,UAAU,cAC6B;AAEpD;;;GAGG;AACI,MAAM,mBAAmB,GAAG,CACjC,OAAgD,EACZ,EAAE;IACtC,MAAM,SAAS,GAA2B,EAAE,CAAA;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAA;QACpC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC,CAAA;AAVY,QAAA,mBAAmB,uBAU/B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const config_plugins_1 = require("expo/config-plugins");
4
+ const expo_plugin_1 = require("@use-voltra/expo-plugin");
4
5
  const constants_1 = require("./constants");
5
6
  const ios_1 = require("./ios");
6
7
  const ios_widget_1 = require("./ios-widget");
@@ -14,9 +15,12 @@ const validation_1 = require("./validation");
14
15
  const withVoltraIos = (config, props = {}) => {
15
16
  const projectRoot = config.modRequest?.projectRoot;
16
17
  (0, validation_1.validateIOSConfigPluginProps)(props, projectRoot);
18
+ const voltraVersion = (0, expo_plugin_1.resolveInstalledPackageVersion)(projectRoot ?? process.cwd(), '@use-voltra/ios-client');
17
19
  const iosBundleIdentifier = config.ios?.bundleIdentifier;
18
20
  if (!iosBundleIdentifier) {
19
- return config;
21
+ throw new Error('The Voltra iOS config plugin requires "expo.ios.bundleIdentifier" to be set in the app config — ' +
22
+ 'it derives the widget extension bundle identifier from it. ' +
23
+ 'Set "ios.bundleIdentifier" (e.g. "com.example.app") in app.json or app.config.(js|ts) and run prebuild again.');
20
24
  }
21
25
  const deploymentTarget = props.deploymentTarget || constants_1.IOS.DEPLOYMENT_TARGET;
22
26
  const targetName = props.targetName || `${config_plugins_1.IOSConfig.XcodeUtils.sanitizedName(config.name)}LiveActivity`;
@@ -30,15 +34,19 @@ const withVoltraIos = (config, props = {}) => {
30
34
  groupIdentifier: props.groupIdentifier,
31
35
  widgetIds: props.widgets && props.widgets.length > 0 ? props.widgets.map((w) => w.id) : undefined,
32
36
  widgets: props.widgets,
37
+ liveActivities: props.liveActivities,
33
38
  keychainGroup,
39
+ voltraVersion,
34
40
  });
35
41
  config = (0, ios_widget_1.withIOS)(config, {
36
42
  targetName,
37
43
  bundleIdentifier,
38
44
  deploymentTarget,
39
45
  widgets: props.widgets,
46
+ liveActivities: props.liveActivities,
40
47
  version,
41
48
  buildNumber,
49
+ voltraVersion,
42
50
  ...(props.groupIdentifier ? { groupIdentifier: props.groupIdentifier } : {}),
43
51
  ...(keychainGroup ? { keychainGroup } : {}),
44
52
  ...(props.fonts ? { fonts: props.fonts } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,wDAA+C;AAE/C,2CAAiC;AACjC,+BAAsD;AACtD,6CAAuD;AAEvD,iDAAmD;AACnD,6CAA2D;AAE3D;;;;GAIG;AACH,MAAM,aAAa,GAA0B,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IAClE,MAAM,WAAW,GAAI,MAAoD,CAAC,UAAU,EAAE,WAAW,CAAA;IACjG,IAAA,yCAA4B,EAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAEhD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAA;IACxD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,eAAG,CAAC,iBAAiB,CAAA;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,0BAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAA;IACvG,MAAM,gBAAgB,GAAG,GAAG,mBAAmB,IAAI,UAAU,EAAE,CAAA;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAA;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,EAAE,WAAW,IAAI,GAAG,CAAA;IAElD,MAAM,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAA;IAEhC,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,CAAA;IAClF,MAAM,aAAa,GACjB,KAAK,CAAC,aAAa,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,yBAAyB,mBAAmB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAE9G,MAAM,GAAG,IAAA,aAAO,EAAC,MAAM,EAAE;QACvB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACjG,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,GAAG,IAAA,oBAAa,EAAC,MAAM,EAAE;QAC7B,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;QACP,WAAW;QACX,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAA;IAEF,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAClC,MAAM,GAAG,IAAA,2BAAqB,EAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,kBAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ function withIOS(config, props) {
21
21
  widgetIds: props.widgetIds,
22
22
  widgets: props.widgets,
23
23
  keychainGroup: props.keychainGroup,
24
+ voltraVersion: props.voltraVersion,
24
25
  });
25
26
  // Configure entitlements
26
27
  config = (0, entitlements_1.configureEntitlements)(config, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ios/index.ts"],"names":[],"mappings":";;;AAsBA,0BAqBC;AAzCD,+BAAoC;AACpC,iDAAsD;AACtD,2CAAgD;AAShD;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,MAAkB,EAAE,KAAqB;IAC/D,uBAAuB;IACvB,MAAM,GAAG,IAAA,8BAAkB,EAAC,MAAM,EAAE;QAClC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC,CAAA;IAEF,yBAAyB;IACzB,MAAM,GAAG,IAAA,oCAAqB,EAAC,MAAM,EAAE;QACrC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC,CAAA;IAEF,gBAAgB;IAChB,MAAM,GAAG,IAAA,kBAAY,EAAC,MAAM,EAAE;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4BAA4B;AAC5B,yDAA2D;AAAlD,0HAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ios/index.ts"],"names":[],"mappings":";;;AAwBA,0BAsBC;AA5CD,+BAAoC;AACpC,iDAAsD;AACtD,2CAAgD;AAWhD;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,MAAkB,EAAE,KAAqB;IAC/D,uBAAuB;IACvB,MAAM,GAAG,IAAA,8BAAkB,EAAC,MAAM,EAAE;QAClC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC,CAAA;IAEF,yBAAyB;IACzB,MAAM,GAAG,IAAA,oCAAqB,EAAC,MAAM,EAAE;QACrC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC,CAAA;IAEF,gBAAgB;IAChB,MAAM,GAAG,IAAA,kBAAY,EAAC,MAAM,EAAE;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4BAA4B;AAC5B,yDAA2D;AAAlD,0HAAA,qBAAqB,OAAA"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configureInfoPlist = void 0;
4
4
  const config_plugins_1 = require("@expo/config-plugins");
5
+ const constants_1 = require("../constants");
6
+ const serverUpdate_1 = require("./serverUpdate");
5
7
  /**
6
8
  * Configures main app Info.plist for Live Activities and widgets.
7
9
  *
@@ -9,14 +11,16 @@ const config_plugins_1 = require("@expo/config-plugins");
9
11
  * - NSSupportsLiveActivities: Enables Live Activities support
10
12
  * - Voltra_AppGroupIdentifier: App group ID for widget communication (if provided)
11
13
  * - Voltra_WidgetIds: Array of widget IDs for native module access (if provided)
14
+ * - Voltra_WidgetKinds: Map of widget IDs to custom WidgetKit kinds (if any widget sets `kind`)
12
15
  * - Voltra_WidgetServerUrls: Map of widget IDs to server URLs (if any widgets have serverUpdate)
13
16
  * - Voltra_WidgetServerIntervals: Map of widget IDs to update intervals (if any widgets have serverUpdate)
14
17
  * - Voltra_KeychainGroup: Keychain access group for shared credentials (if provided)
15
18
  */
16
- const configureInfoPlist = (config, props = {}) => {
19
+ const configureInfoPlist = (config, props) => {
17
20
  return (0, config_plugins_1.withInfoPlist)(config, (mod) => {
18
21
  mod.modResults.NSSupportsLiveActivities = true;
19
22
  mod.modResults.NSSupportsLiveActivitiesFrequentUpdates = false;
23
+ mod.modResults.Voltra_Version = props.voltraVersion;
20
24
  // Only add group identifier if provided
21
25
  if (props.groupIdentifier) {
22
26
  mod.modResults.Voltra_AppGroupIdentifier = props.groupIdentifier;
@@ -25,19 +29,38 @@ const configureInfoPlist = (config, props = {}) => {
25
29
  if (props.widgetIds && props.widgetIds.length > 0) {
26
30
  mod.modResults.Voltra_WidgetIds = props.widgetIds;
27
31
  }
32
+ // Store custom widget kinds so native code can map ids to kinds and back. A prebuild over an
33
+ // existing ios/ directory keeps whatever the plist already holds, so a `kind` that was removed
34
+ // from the config has to be deleted here or the widget would keep a kind nobody configured.
35
+ const widgetKinds = (0, constants_1.widgetKindOverrides)(props.widgets);
36
+ if (widgetKinds) {
37
+ mod.modResults.Voltra_WidgetKinds = widgetKinds;
38
+ }
39
+ else {
40
+ delete mod.modResults.Voltra_WidgetKinds;
41
+ }
28
42
  // Configure server update URLs and intervals for widgets
29
43
  if (props.widgets && props.widgets.length > 0) {
30
44
  const serverUrls = {};
31
45
  const serverIntervals = {};
32
46
  for (const widget of props.widgets) {
33
- if (widget.serverUpdate) {
34
- serverUrls[widget.id] = widget.serverUpdate.url;
35
- serverIntervals[widget.id] = widget.serverUpdate.intervalMinutes ?? 15;
47
+ const serverUpdate = (0, serverUpdate_1.resolveIOSWidgetServerUpdate)(widget);
48
+ if (!serverUpdate) {
49
+ continue;
50
+ }
51
+ // Every server-driven widget gets an interval, so this dictionary's keys are the set of
52
+ // server-driven widget ids the runtime settings store validates against. A URL is written
53
+ // only when app.json set one; otherwise the app supplies it with setWidgetServerUpdate.
54
+ serverIntervals[widget.id] = serverUpdate.intervalMinutes;
55
+ if (serverUpdate.url !== undefined) {
56
+ serverUrls[widget.id] = serverUpdate.url;
36
57
  }
37
58
  }
59
+ if (Object.keys(serverIntervals).length > 0) {
60
+ mod.modResults.Voltra_WidgetServerIntervals = serverIntervals;
61
+ }
38
62
  if (Object.keys(serverUrls).length > 0) {
39
63
  mod.modResults.Voltra_WidgetServerUrls = serverUrls;
40
- mod.modResults.Voltra_WidgetServerIntervals = serverIntervals;
41
64
  }
42
65
  }
43
66
  // Store Keychain group identifier for shared credential access
@@ -1 +1 @@
1
- {"version":3,"file":"infoPlist.js","sourceRoot":"","sources":["../../../src/ios/infoPlist.ts"],"names":[],"mappings":";;;AAAA,yDAAkE;AAWlE;;;;;;;;;;GAUG;AACI,MAAM,kBAAkB,GAA0C,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IAC9F,OAAO,IAAA,8BAAa,EAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,GAAG,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAA;QAC9C,GAAG,CAAC,UAAU,CAAC,uCAAuC,GAAG,KAAK,CAAA;QAE9D,wCAAwC;QACxC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,yBAAyB,GAAG,KAAK,CAAC,eAAe,CAAA;QAClE,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAA;QACnD,CAAC;QAED,yDAAyD;QACzD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,UAAU,GAA2B,EAAE,CAAA;YAC7C,MAAM,eAAe,GAA2B,EAAE,CAAA;YAElD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAA;oBAC/C,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,IAAI,EAAE,CAAA;gBACxE,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,UAAU,CAAC,uBAAuB,GAAG,UAAU,CAAA;gBACnD,GAAG,CAAC,UAAU,CAAC,4BAA4B,GAAG,eAAe,CAAA;YAC/D,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,GAAG,CAAC,UAAU,CAAC,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAA;QAC3D,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAxCY,QAAA,kBAAkB,sBAwC9B"}
1
+ {"version":3,"file":"infoPlist.js","sourceRoot":"","sources":["../../../src/ios/infoPlist.ts"],"names":[],"mappings":";;;AAAA,yDAAkE;AAElE,4CAAkD;AAElD,iDAA6D;AAU7D;;;;;;;;;;;GAWG;AACI,MAAM,kBAAkB,GAA0C,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IACzF,OAAO,IAAA,8BAAa,EAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,GAAG,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAA;QAC9C,GAAG,CAAC,UAAU,CAAC,uCAAuC,GAAG,KAAK,CAAA;QAC9D,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAA;QAEnD,wCAAwC;QACxC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,yBAAyB,GAAG,KAAK,CAAC,eAAe,CAAA;QAClE,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAA;QACnD,CAAC;QAED,6FAA6F;QAC7F,+FAA+F;QAC/F,4FAA4F;QAC5F,MAAM,WAAW,GAAG,IAAA,+BAAmB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,UAAU,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAA;QAC1C,CAAC;QAED,yDAAyD;QACzD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,UAAU,GAA2B,EAAE,CAAA;YAC7C,MAAM,eAAe,GAA2B,EAAE,CAAA;YAElD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,YAAY,GAAG,IAAA,2CAA4B,EAAC,MAAM,CAAC,CAAA;gBAEzD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAQ;gBACV,CAAC;gBAED,wFAAwF;gBACxF,0FAA0F;gBAC1F,wFAAwF;gBACxF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,eAAe,CAAA;gBAEzD,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACnC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,GAAG,CAAA;gBAC1C,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,GAAG,CAAC,UAAU,CAAC,4BAA4B,GAAG,eAAe,CAAA;YAC/D,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,UAAU,CAAC,uBAAuB,GAAG,UAAU,CAAA;YACrD,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,GAAG,CAAC,UAAU,CAAC,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAA;QAC3D,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAhEY,QAAA,kBAAkB,sBAgE9B"}