@nativescript/vite 8.0.0-alpha.9 → 8.0.0-dev.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 (554) hide show
  1. package/README.md +89 -14
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +34 -1
  4. package/configuration/angular.js +196 -217
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +152 -104
  7. package/configuration/base.js.map +1 -1
  8. package/configuration/javascript.js +14 -93
  9. package/configuration/javascript.js.map +1 -1
  10. package/configuration/react.js +41 -73
  11. package/configuration/react.js.map +1 -1
  12. package/configuration/solid.js +51 -6
  13. package/configuration/solid.js.map +1 -1
  14. package/configuration/typescript.js +11 -92
  15. package/configuration/typescript.js.map +1 -1
  16. package/framework.d.ts +22 -0
  17. package/framework.js +18 -0
  18. package/framework.js.map +1 -0
  19. package/helpers/app-components.d.ts +2 -1
  20. package/helpers/app-components.js.map +1 -1
  21. package/helpers/app-css-refresh.d.ts +31 -0
  22. package/helpers/app-css-refresh.js +43 -0
  23. package/helpers/app-css-refresh.js.map +1 -0
  24. package/helpers/app-css-state.d.ts +17 -0
  25. package/helpers/app-css-state.js +51 -0
  26. package/helpers/app-css-state.js.map +1 -0
  27. package/helpers/bundler-context.d.ts +11 -0
  28. package/helpers/bundler-context.js +71 -0
  29. package/helpers/bundler-context.js.map +1 -0
  30. package/helpers/cli-flags.d.ts +12 -0
  31. package/helpers/cli-flags.js +34 -0
  32. package/helpers/cli-flags.js.map +1 -1
  33. package/helpers/css-platform-plugin.d.ts +14 -0
  34. package/helpers/css-platform-plugin.js +43 -25
  35. package/helpers/css-platform-plugin.js.map +1 -1
  36. package/helpers/dev-host.d.ts +360 -0
  37. package/helpers/dev-host.js +694 -0
  38. package/helpers/dev-host.js.map +1 -0
  39. package/helpers/dynamic-import-plugin.d.ts +2 -1
  40. package/helpers/dynamic-import-plugin.js +59 -53
  41. package/helpers/dynamic-import-plugin.js.map +1 -1
  42. package/helpers/esbuild-platform-resolver.js +4 -1
  43. package/helpers/esbuild-platform-resolver.js.map +1 -1
  44. package/helpers/external-configs.d.ts +10 -12
  45. package/helpers/external-configs.js +58 -35
  46. package/helpers/external-configs.js.map +1 -1
  47. package/helpers/flavor.d.ts +31 -0
  48. package/helpers/flavor.js +53 -2
  49. package/helpers/flavor.js.map +1 -1
  50. package/helpers/global-defines.d.ts +100 -33
  51. package/helpers/global-defines.js +192 -66
  52. package/helpers/global-defines.js.map +1 -1
  53. package/helpers/hmr-scope.d.ts +26 -0
  54. package/helpers/hmr-scope.js +67 -0
  55. package/helpers/hmr-scope.js.map +1 -0
  56. package/helpers/init.js +24 -26
  57. package/helpers/init.js.map +1 -1
  58. package/helpers/logging.d.ts +11 -1
  59. package/helpers/logging.js +45 -2
  60. package/helpers/logging.js.map +1 -1
  61. package/helpers/main-entry.d.ts +4 -1
  62. package/helpers/main-entry.js +293 -40
  63. package/helpers/main-entry.js.map +1 -1
  64. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  65. package/helpers/nativeclass-esbuild-plugin.js +6 -1
  66. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  67. package/helpers/nativeclass-transform.d.ts +13 -0
  68. package/helpers/nativeclass-transform.js +37 -7
  69. package/helpers/nativeclass-transform.js.map +1 -1
  70. package/helpers/nativeclass-transformer-plugin.js +8 -3
  71. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  72. package/helpers/nativescript-package-resolver.js +10 -62
  73. package/helpers/nativescript-package-resolver.js.map +1 -1
  74. package/helpers/normalize-id.d.ts +42 -0
  75. package/helpers/normalize-id.js +60 -0
  76. package/helpers/normalize-id.js.map +1 -0
  77. package/helpers/ns-core-external-urls.d.ts +32 -0
  78. package/helpers/ns-core-external-urls.js +107 -0
  79. package/helpers/ns-core-external-urls.js.map +1 -0
  80. package/helpers/ns-core-url.d.ts +26 -3
  81. package/helpers/ns-core-url.js +66 -8
  82. package/helpers/ns-core-url.js.map +1 -1
  83. package/helpers/optimize-deps.d.ts +16 -0
  84. package/helpers/optimize-deps.js +17 -0
  85. package/helpers/optimize-deps.js.map +1 -0
  86. package/helpers/package-platform-aliases.js +34 -49
  87. package/helpers/package-platform-aliases.js.map +1 -1
  88. package/helpers/platform-types.d.ts +2 -0
  89. package/helpers/platform-types.js +2 -0
  90. package/helpers/platform-types.js.map +1 -0
  91. package/helpers/postcss-platform-config.d.ts +17 -1
  92. package/helpers/postcss-platform-config.js +20 -37
  93. package/helpers/postcss-platform-config.js.map +1 -1
  94. package/helpers/resolve-main-field-platform.d.ts +20 -0
  95. package/helpers/resolve-main-field-platform.js +49 -0
  96. package/helpers/resolve-main-field-platform.js.map +1 -0
  97. package/helpers/resolver.js +17 -2
  98. package/helpers/resolver.js.map +1 -1
  99. package/helpers/theme-core-plugins.js +1 -1
  100. package/helpers/theme-core-plugins.js.map +1 -1
  101. package/helpers/ts-config-paths.d.ts +32 -0
  102. package/helpers/ts-config-paths.js +143 -62
  103. package/helpers/ts-config-paths.js.map +1 -1
  104. package/helpers/typescript-check.d.ts +3 -3
  105. package/helpers/typescript-check.js +4 -4
  106. package/helpers/typescript-check.js.map +1 -1
  107. package/helpers/ui-registration.d.ts +21 -0
  108. package/helpers/ui-registration.js +156 -0
  109. package/helpers/ui-registration.js.map +1 -0
  110. package/helpers/utils.d.ts +9 -0
  111. package/helpers/utils.js +22 -2
  112. package/helpers/utils.js.map +1 -1
  113. package/helpers/vite-package-version.d.ts +7 -0
  114. package/helpers/vite-package-version.js +44 -0
  115. package/helpers/vite-package-version.js.map +1 -0
  116. package/helpers/workers.d.ts +33 -0
  117. package/helpers/workers.js +237 -10
  118. package/helpers/workers.js.map +1 -1
  119. package/hmr/client/css-handler.d.ts +2 -1
  120. package/hmr/client/css-handler.js +63 -32
  121. package/hmr/client/css-handler.js.map +1 -1
  122. package/hmr/client/css-update-overlay.d.ts +18 -0
  123. package/hmr/client/css-update-overlay.js +27 -0
  124. package/hmr/client/css-update-overlay.js.map +1 -0
  125. package/hmr/client/framework-client-strategy.d.ts +117 -0
  126. package/hmr/client/framework-client-strategy.js +18 -0
  127. package/hmr/client/framework-client-strategy.js.map +1 -0
  128. package/hmr/client/framework.d.ts +31 -0
  129. package/hmr/client/framework.js +17 -0
  130. package/hmr/client/framework.js.map +1 -0
  131. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  132. package/hmr/client/hmr-pending-overlay.js +2 -11
  133. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  134. package/hmr/client/hot-context.d.ts +89 -0
  135. package/hmr/client/hot-context.js +404 -0
  136. package/hmr/client/hot-context.js.map +1 -0
  137. package/hmr/client/index.d.ts +9 -1
  138. package/hmr/client/index.js +70 -1970
  139. package/hmr/client/index.js.map +1 -1
  140. package/hmr/client/overlay-driver.d.ts +10 -0
  141. package/hmr/client/overlay-driver.js +33 -0
  142. package/hmr/client/overlay-driver.js.map +1 -0
  143. package/hmr/client/protocol-dispatch.d.ts +8 -0
  144. package/hmr/client/protocol-dispatch.js +308 -0
  145. package/hmr/client/protocol-dispatch.js.map +1 -0
  146. package/hmr/client/root-reset.d.ts +15 -0
  147. package/hmr/client/root-reset.js +358 -0
  148. package/hmr/client/root-reset.js.map +1 -0
  149. package/hmr/client/strategy-loader.d.ts +24 -0
  150. package/hmr/client/strategy-loader.js +136 -0
  151. package/hmr/client/strategy-loader.js.map +1 -0
  152. package/hmr/client/update-pipeline.d.ts +27 -0
  153. package/hmr/client/update-pipeline.js +489 -0
  154. package/hmr/client/update-pipeline.js.map +1 -0
  155. package/hmr/client/utils.d.ts +9 -1
  156. package/hmr/client/utils.js +117 -97
  157. package/hmr/client/utils.js.map +1 -1
  158. package/hmr/client/ws-transport.d.ts +21 -0
  159. package/hmr/client/ws-transport.js +323 -0
  160. package/hmr/client/ws-transport.js.map +1 -0
  161. package/hmr/entry-runtime.d.ts +2 -1
  162. package/hmr/entry-runtime.js +279 -44
  163. package/hmr/entry-runtime.js.map +1 -1
  164. package/hmr/framework-flavors.d.ts +59 -0
  165. package/hmr/framework-flavors.js +108 -0
  166. package/hmr/framework-flavors.js.map +1 -0
  167. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  168. package/hmr/frameworks/angular/build/angular-linker.js +113 -0
  169. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  170. package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.js +2 -70
  171. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  172. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  173. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  174. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  175. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  176. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  177. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  178. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  179. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  180. package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
  181. package/hmr/frameworks/angular/build/linker-stats.js +29 -0
  182. package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
  183. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  184. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  185. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  186. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  187. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  188. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  189. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  190. package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
  191. package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
  192. package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
  193. package/hmr/frameworks/angular/build/util.js.map +1 -0
  194. package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
  195. package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
  196. package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
  197. package/hmr/frameworks/angular/client/index.d.ts +0 -1
  198. package/hmr/frameworks/angular/client/index.js +360 -194
  199. package/hmr/frameworks/angular/client/index.js.map +1 -1
  200. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  201. package/hmr/frameworks/angular/client/strategy.js +19 -0
  202. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  203. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  204. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  205. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  206. package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
  207. package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
  208. package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
  209. package/hmr/frameworks/angular/server/strategy.js +668 -13
  210. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  211. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  212. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  213. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +27 -11
  214. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +179 -107
  215. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  216. package/hmr/frameworks/react/client/strategy.d.ts +12 -0
  217. package/hmr/frameworks/react/client/strategy.js +27 -0
  218. package/hmr/frameworks/react/client/strategy.js.map +1 -0
  219. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  220. package/hmr/frameworks/react/server/strategy.js +230 -0
  221. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  222. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  223. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  224. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  225. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  226. package/hmr/frameworks/solid/client/app-runtime.js +252 -0
  227. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  228. package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
  229. package/hmr/frameworks/solid/client/strategy.js +391 -0
  230. package/hmr/frameworks/solid/client/strategy.js.map +1 -0
  231. package/hmr/frameworks/solid/server/strategy.js +293 -16
  232. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  233. package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
  234. package/hmr/frameworks/typescript/client/strategy.js +418 -0
  235. package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
  236. package/hmr/frameworks/typescript/server/strategy.js +40 -14
  237. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  238. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  239. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  240. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  241. package/hmr/frameworks/vue/client/index.d.ts +10 -1
  242. package/hmr/frameworks/vue/client/index.js +270 -521
  243. package/hmr/frameworks/vue/client/index.js.map +1 -1
  244. package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
  245. package/hmr/frameworks/vue/client/navigate-app.js +178 -0
  246. package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
  247. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  248. package/hmr/frameworks/vue/client/strategy.js +152 -0
  249. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  250. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  251. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
  252. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  253. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  254. package/hmr/frameworks/vue/server/compiler.js +3 -1
  255. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  256. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  257. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  258. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  259. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  260. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  261. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  262. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  263. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  264. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  265. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  266. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  267. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  268. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  269. package/hmr/frameworks/vue/server/strategy.js +291 -7
  270. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  271. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  272. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  273. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  274. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  275. package/hmr/helpers/ast-normalizer.js +109 -14
  276. package/hmr/helpers/ast-normalizer.js.map +1 -1
  277. package/hmr/helpers/package-exports.d.ts +16 -0
  278. package/hmr/helpers/package-exports.js +396 -0
  279. package/hmr/helpers/package-exports.js.map +1 -0
  280. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  281. package/hmr/helpers/vendor-rewrite.js +5 -3
  282. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  283. package/hmr/server/boot-recording.d.ts +51 -0
  284. package/hmr/server/boot-recording.js +214 -0
  285. package/hmr/server/boot-recording.js.map +1 -0
  286. package/hmr/server/constants.js +7 -1
  287. package/hmr/server/constants.js.map +1 -1
  288. package/hmr/server/content-css-update.d.ts +54 -0
  289. package/hmr/server/content-css-update.js +78 -0
  290. package/hmr/server/content-css-update.js.map +1 -0
  291. package/hmr/server/core-bundle.d.ts +140 -0
  292. package/hmr/server/core-bundle.js +614 -0
  293. package/hmr/server/core-bundle.js.map +1 -0
  294. package/hmr/server/core-sanitize.d.ts +86 -7
  295. package/hmr/server/core-sanitize.js +155 -37
  296. package/hmr/server/core-sanitize.js.map +1 -1
  297. package/hmr/server/css-connect-sync.d.ts +28 -0
  298. package/hmr/server/css-connect-sync.js +59 -0
  299. package/hmr/server/css-connect-sync.js.map +1 -0
  300. package/hmr/server/css-device-module.d.ts +28 -0
  301. package/hmr/server/css-device-module.js +44 -0
  302. package/hmr/server/css-device-module.js.map +1 -0
  303. package/hmr/server/css-update-message.d.ts +23 -0
  304. package/hmr/server/css-update-message.js +41 -0
  305. package/hmr/server/css-update-message.js.map +1 -0
  306. package/hmr/server/deps-bundle.d.ts +233 -0
  307. package/hmr/server/deps-bundle.js +1022 -0
  308. package/hmr/server/deps-bundle.js.map +1 -0
  309. package/hmr/server/device-transform-helpers.d.ts +24 -0
  310. package/hmr/server/device-transform-helpers.js +408 -0
  311. package/hmr/server/device-transform-helpers.js.map +1 -0
  312. package/hmr/server/framework-strategy.d.ts +182 -11
  313. package/hmr/server/hmr-module-graph.d.ts +37 -0
  314. package/hmr/server/hmr-module-graph.js +215 -0
  315. package/hmr/server/hmr-module-graph.js.map +1 -0
  316. package/hmr/server/import-map.d.ts +57 -23
  317. package/hmr/server/import-map.js +142 -70
  318. package/hmr/server/import-map.js.map +1 -1
  319. package/hmr/server/index.js +7 -16
  320. package/hmr/server/index.js.map +1 -1
  321. package/hmr/server/node-builtins-route.d.ts +12 -0
  322. package/hmr/server/node-builtins-route.js +86 -0
  323. package/hmr/server/node-builtins-route.js.map +1 -0
  324. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  325. package/hmr/server/ns-m-response-memo.js +33 -0
  326. package/hmr/server/ns-m-response-memo.js.map +1 -0
  327. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  328. package/hmr/server/ns-rt-bridge.js +131 -0
  329. package/hmr/server/ns-rt-bridge.js.map +1 -0
  330. package/hmr/server/ns-rt-route.d.ts +5 -0
  331. package/hmr/server/ns-rt-route.js +39 -0
  332. package/hmr/server/ns-rt-route.js.map +1 -0
  333. package/hmr/server/perf-instrumentation.d.ts +1 -1
  334. package/hmr/server/perf-instrumentation.js +3 -1
  335. package/hmr/server/perf-instrumentation.js.map +1 -1
  336. package/hmr/server/process-code-for-device.d.ts +54 -0
  337. package/hmr/server/process-code-for-device.js +832 -0
  338. package/hmr/server/process-code-for-device.js.map +1 -0
  339. package/hmr/server/require-guard.d.ts +1 -0
  340. package/hmr/server/require-guard.js +12 -0
  341. package/hmr/server/require-guard.js.map +1 -0
  342. package/hmr/server/rewrite-imports.d.ts +2 -0
  343. package/hmr/server/rewrite-imports.js +631 -0
  344. package/hmr/server/rewrite-imports.js.map +1 -0
  345. package/hmr/server/route-helpers.d.ts +7 -0
  346. package/hmr/server/route-helpers.js +13 -0
  347. package/hmr/server/route-helpers.js.map +1 -0
  348. package/hmr/server/runtime-graph-filter.js +8 -1
  349. package/hmr/server/runtime-graph-filter.js.map +1 -1
  350. package/hmr/server/server-origin.d.ts +2 -0
  351. package/hmr/server/server-origin.js +88 -0
  352. package/hmr/server/server-origin.js.map +1 -0
  353. package/hmr/server/shared-transform-request.js +1 -2
  354. package/hmr/server/shared-transform-request.js.map +1 -1
  355. package/hmr/server/socket-utils.d.ts +10 -0
  356. package/hmr/server/socket-utils.js +14 -0
  357. package/hmr/server/socket-utils.js.map +1 -0
  358. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  359. package/hmr/server/transform-cache-invalidation.js +156 -0
  360. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  361. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  362. package/hmr/server/vendor-bare-module-shims.js +80 -0
  363. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  364. package/hmr/server/vite-plugin.d.ts +1 -0
  365. package/hmr/server/vite-plugin.js +211 -53
  366. package/hmr/server/vite-plugin.js.map +1 -1
  367. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  368. package/hmr/server/websocket-core-bridge.js +62 -49
  369. package/hmr/server/websocket-core-bridge.js.map +1 -1
  370. package/hmr/server/websocket-device-transform.d.ts +3 -0
  371. package/hmr/server/websocket-device-transform.js +7 -0
  372. package/hmr/server/websocket-device-transform.js.map +1 -0
  373. package/hmr/server/websocket-hmr-pending.d.ts +2 -16
  374. package/hmr/server/websocket-hmr-pending.js +0 -22
  375. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  376. package/hmr/server/websocket-hot-update.d.ts +80 -0
  377. package/hmr/server/websocket-hot-update.js +299 -0
  378. package/hmr/server/websocket-hot-update.js.map +1 -0
  379. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  380. package/hmr/server/websocket-import-map-route.js +51 -0
  381. package/hmr/server/websocket-import-map-route.js.map +1 -0
  382. package/hmr/server/websocket-module-bindings.d.ts +15 -0
  383. package/hmr/server/websocket-module-bindings.js +36 -3
  384. package/hmr/server/websocket-module-bindings.js.map +1 -1
  385. package/hmr/server/websocket-module-specifiers.d.ts +2 -5
  386. package/hmr/server/websocket-module-specifiers.js +42 -30
  387. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  388. package/hmr/server/websocket-ns-core.d.ts +34 -0
  389. package/hmr/server/websocket-ns-core.js +414 -0
  390. package/hmr/server/websocket-ns-core.js.map +1 -0
  391. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  392. package/hmr/server/websocket-ns-entry.js +163 -0
  393. package/hmr/server/websocket-ns-entry.js.map +1 -0
  394. package/hmr/server/websocket-ns-m-paths.d.ts +19 -3
  395. package/hmr/server/websocket-ns-m-paths.js +98 -75
  396. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  397. package/hmr/server/websocket-ns-m-request.d.ts +2 -1
  398. package/hmr/server/websocket-ns-m-request.js +3 -2
  399. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  400. package/hmr/server/websocket-ns-m.d.ts +52 -0
  401. package/hmr/server/websocket-ns-m.js +592 -0
  402. package/hmr/server/websocket-ns-m.js.map +1 -0
  403. package/hmr/server/websocket-served-module-helpers.d.ts +65 -3
  404. package/hmr/server/websocket-served-module-helpers.js +457 -140
  405. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  406. package/hmr/server/websocket-txn.js +6 -9
  407. package/hmr/server/websocket-txn.js.map +1 -1
  408. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  409. package/hmr/server/websocket-vendor-unifier.js +4 -9
  410. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  411. package/hmr/server/websocket.d.ts +6 -40
  412. package/hmr/server/websocket.js +661 -6751
  413. package/hmr/server/websocket.js.map +1 -1
  414. package/hmr/shared/ns-globals.d.ts +108 -0
  415. package/hmr/shared/ns-globals.js +29 -0
  416. package/hmr/shared/ns-globals.js.map +1 -0
  417. package/hmr/shared/protocol.d.ts +157 -0
  418. package/hmr/shared/protocol.js +28 -0
  419. package/hmr/shared/protocol.js.map +1 -0
  420. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  421. package/hmr/shared/runtime/boot-complete.js +32 -0
  422. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  423. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  424. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  425. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  426. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  427. package/hmr/shared/runtime/boot-progress.js +134 -0
  428. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  429. package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
  430. package/hmr/shared/runtime/boot-timeline.js +8 -19
  431. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  432. package/hmr/shared/runtime/browser-runtime-contract.d.ts +58 -25
  433. package/hmr/shared/runtime/browser-runtime-contract.js +21 -9
  434. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  435. package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
  436. package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
  437. package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
  438. package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
  439. package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
  440. package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
  441. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  442. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  443. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  444. package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
  445. package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
  446. package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
  447. package/hmr/shared/runtime/dev-overlay.d.ts +23 -69
  448. package/hmr/shared/runtime/dev-overlay.js +67 -1011
  449. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  450. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  451. package/hmr/shared/runtime/global-scope.js +21 -0
  452. package/hmr/shared/runtime/global-scope.js.map +1 -0
  453. package/hmr/shared/runtime/hooks.js +2 -1
  454. package/hmr/shared/runtime/hooks.js.map +1 -1
  455. package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
  456. package/hmr/shared/runtime/launch-bridge.js +98 -0
  457. package/hmr/shared/runtime/launch-bridge.js.map +1 -0
  458. package/hmr/shared/runtime/module-provenance.js +3 -2
  459. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  460. package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
  461. package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
  462. package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
  463. package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
  464. package/hmr/shared/runtime/overlay-flag.js +34 -0
  465. package/hmr/shared/runtime/overlay-flag.js.map +1 -0
  466. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  467. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  468. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  469. package/hmr/shared/runtime/root-placeholder.js +382 -157
  470. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  471. package/hmr/shared/runtime/session-bootstrap.js +209 -54
  472. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  473. package/hmr/shared/runtime/vendor-bootstrap.js +2 -1
  474. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  475. package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
  476. package/hmr/shared/runtime/vendor-resolve.js +45 -0
  477. package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
  478. package/hmr/shared/runtime/worker-tracking.d.ts +28 -0
  479. package/hmr/shared/runtime/worker-tracking.js +114 -0
  480. package/hmr/shared/runtime/worker-tracking.js.map +1 -0
  481. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  482. package/hmr/shared/vendor/manifest-collect.js +909 -0
  483. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  484. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  485. package/hmr/shared/vendor/manifest-loader.js +5 -3
  486. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  487. package/hmr/shared/vendor/manifest.d.ts +10 -35
  488. package/hmr/shared/vendor/manifest.js +154 -978
  489. package/hmr/shared/vendor/manifest.js.map +1 -1
  490. package/hmr/shared/vendor/registry.d.ts +2 -0
  491. package/hmr/shared/vendor/registry.js +14 -0
  492. package/hmr/shared/vendor/registry.js.map +1 -1
  493. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  494. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  495. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  496. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
  497. package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
  498. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  499. package/package.json +70 -13
  500. package/runtime/core-aliases-early.js +11 -16
  501. package/runtime/core-aliases-early.js.map +1 -1
  502. package/shims/react-jsx-runtime.d.ts +4 -0
  503. package/shims/react-jsx-runtime.js +61 -0
  504. package/shims/react-jsx-runtime.js.map +1 -0
  505. package/helpers/angular/angular-linker.d.ts +0 -13
  506. package/helpers/angular/angular-linker.js +0 -185
  507. package/helpers/angular/angular-linker.js.map +0 -1
  508. package/helpers/angular/inject-component-hmr-registration.js.map +0 -1
  509. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  510. package/helpers/angular/shared-linker.d.ts +0 -11
  511. package/helpers/angular/shared-linker.js +0 -75
  512. package/helpers/angular/shared-linker.js.map +0 -1
  513. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  514. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  515. package/helpers/angular/util.js.map +0 -1
  516. package/helpers/module-runner-patch.d.ts +0 -3
  517. package/helpers/module-runner-patch.js +0 -63
  518. package/helpers/module-runner-patch.js.map +0 -1
  519. package/helpers/prelink-angular.d.ts +0 -2
  520. package/helpers/prelink-angular.js +0 -114
  521. package/helpers/prelink-angular.js.map +0 -1
  522. package/hmr/server/websocket-angular-entry.js.map +0 -1
  523. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  524. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  525. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  526. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  527. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  528. package/hmr/server/websocket-runtime-compat.js +0 -287
  529. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  530. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  531. package/hmr/server/websocket-vue-sfc.js +0 -1069
  532. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  533. package/hmr/shared/runtime/http-only-boot.d.ts +0 -2
  534. package/hmr/shared/runtime/http-only-boot.js +0 -171
  535. package/hmr/shared/runtime/http-only-boot.js.map +0 -1
  536. package/hmr/vendor-bootstrap.d.ts +0 -3
  537. package/hmr/vendor-bootstrap.js +0 -32
  538. package/hmr/vendor-bootstrap.js.map +0 -1
  539. package/shims/react-reconciler-constants.d.ts +0 -14
  540. package/shims/react-reconciler-constants.js +0 -21
  541. package/shims/react-reconciler-constants.js.map +0 -1
  542. package/shims/react-reconciler.d.ts +0 -8
  543. package/shims/react-reconciler.js +0 -15
  544. package/shims/react-reconciler.js.map +0 -1
  545. package/transformers/NativeClass/index.d.ts +0 -2
  546. package/transformers/NativeClass/index.js +0 -222
  547. package/transformers/NativeClass/index.js.map +0 -1
  548. /package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.d.ts +0 -0
  549. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  550. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  551. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  552. /package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +0 -0
  553. /package/{helpers/angular → hmr/frameworks/angular/build}/util.js +0 -0
  554. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -0,0 +1,521 @@
1
+ /**
2
+ * iOS UIWindow overlay backend. The live/connection/update overlay is
3
+ * promoted to its own UIWindow (above `UIWindowLevelAlert`) so the dev
4
+ * surface never gets obscured by modals, bottom sheets, or any other window
5
+ * presented by the host app. Falls back to null (→ in-tree backend) on
6
+ * Android, web, tests, or when scene/window construction fails.
7
+ *
8
+ * The layout math (`computeIosOverlayLayout`, `computeIosOverlayWindowLevel`)
9
+ * is pure and deterministic so the rules stay unit-testable without booting a
10
+ * simulator — see `dev-overlay.spec.ts`.
11
+ */
12
+ import {} from './dev-overlay-snapshots.js';
13
+ import { formatStatusText, getHmrDevOverlayPosition, getOverlayGlobal } from './dev-overlay-shared.js';
14
+ /**
15
+ * Returns the UIWindow level we use for the live/connection overlay. We lift
16
+ * above `UIWindowLevelAlert` so system alerts (and any app-presented modal)
17
+ * stack underneath. When the platform does not expose `UIWindowLevelAlert`
18
+ * we fall back to the documented constant value (2000).
19
+ */
20
+ export function computeIosOverlayWindowLevel(baseAlert) {
21
+ if (typeof baseAlert === 'number' && Number.isFinite(baseAlert)) {
22
+ return baseAlert + 1;
23
+ }
24
+ return 2000 + 1;
25
+ }
26
+ /**
27
+ * Layout math for the live overlay when it runs inside its own UIWindow.
28
+ * Pure, deterministic and independent of UIKit so we can verify the rules
29
+ * (max panel width, position-aware placement, safe-area clamping, sane
30
+ * defaults) from tests.
31
+ *
32
+ * `position` controls where the panel sits vertically:
33
+ * - 'top': hugs `safeInsets.top + toastVerticalInset` so the chip
34
+ * sits just below the notch / Dynamic Island.
35
+ * - 'bottom': hugs `viewHeight - safeInsets.bottom - panelHeight -
36
+ * toastVerticalInset` so the chip sits just above the
37
+ * home indicator / nav bar.
38
+ * - 'center': original modal placement (vertically centered, clamped
39
+ * so it never crosses the top safe-area inset).
40
+ */
41
+ export function computeIosOverlayLayout(input) {
42
+ const viewWidth = Math.max(0, Number(input.viewWidth) || 0);
43
+ const viewHeight = Math.max(0, Number(input.viewHeight) || 0);
44
+ const safeInsets = {
45
+ top: Math.max(0, Number(input.safeInsets?.top ?? 0) || 0),
46
+ bottom: Math.max(0, Number(input.safeInsets?.bottom ?? 0) || 0),
47
+ left: Math.max(0, Number(input.safeInsets?.left ?? 0) || 0),
48
+ right: Math.max(0, Number(input.safeInsets?.right ?? 0) || 0),
49
+ };
50
+ const titleHeight = Math.max(0, Number(input.titleHeight) || 0);
51
+ const statusHeight = Math.max(0, Number(input.statusHeight) || 0);
52
+ const horizontalMargin = Math.max(0, Number(input.horizontalMargin ?? 24));
53
+ const maxPanelWidth = Math.max(0, Number(input.maxPanelWidth ?? 340));
54
+ const panelPadding = Math.max(0, Number(input.panelPadding ?? 16));
55
+ const interLabelSpacing = Math.max(0, Number(input.interLabelSpacing ?? 10));
56
+ const minTopInset = Math.max(0, Number(input.minTopInset ?? 20));
57
+ // Default to 'center' on the pure function so the existing
58
+ // snapshot/layout tests remain stable; the runtime call site
59
+ // (layoutIosOverlayRefs) reads the configured position from
60
+ // `getHmrDevOverlayPosition()` and forwards it explicitly.
61
+ const position = input.position ?? 'center';
62
+ // Distance between the panel and the safe-area edge in toast
63
+ // modes. 8pt mirrors the typical iOS notification chip inset and
64
+ // keeps the chip from hugging the notch / home indicator.
65
+ const toastVerticalInset = Math.max(0, Number(input.toastVerticalInset ?? 8));
66
+ const available = Math.max(0, viewWidth - 2 * horizontalMargin - safeInsets.left - safeInsets.right);
67
+ const panelWidth = Math.min(maxPanelWidth, available);
68
+ const innerWidth = Math.max(0, panelWidth - 2 * panelPadding);
69
+ const spacing = titleHeight > 0 && statusHeight > 0 ? interLabelSpacing : 0;
70
+ const panelHeight = panelPadding * 2 + titleHeight + spacing + statusHeight;
71
+ const panelX = Math.max(0, (viewWidth - panelWidth) / 2);
72
+ let panelY;
73
+ if (position === 'top') {
74
+ // Pin to the top safe-area inset (just below notch / Dynamic
75
+ // Island). Clamp non-negative for fully-NaN input.
76
+ panelY = Math.max(0, safeInsets.top + toastVerticalInset);
77
+ }
78
+ else if (position === 'bottom') {
79
+ // Pin to the bottom safe-area inset (just above home indicator
80
+ // / nav bar). If the panel can't fit between the safe-area
81
+ // insets we fall back to the top safe-area edge so the chip is
82
+ // always visible (rather than getting clipped off-screen).
83
+ const desired = viewHeight - safeInsets.bottom - panelHeight - toastVerticalInset;
84
+ panelY = Math.max(safeInsets.top + minTopInset, desired);
85
+ }
86
+ else {
87
+ // Center vertically, but never cross the top safe-area inset
88
+ // (notch/Dynamic Island). Original modal placement.
89
+ const centered = (viewHeight - panelHeight) / 2;
90
+ panelY = Math.max(safeInsets.top + minTopInset, centered);
91
+ }
92
+ return {
93
+ backdrop: { x: 0, y: 0, width: viewWidth, height: viewHeight },
94
+ panel: { x: panelX, y: panelY, width: panelWidth, height: panelHeight },
95
+ title: { x: panelPadding, y: panelPadding, width: innerWidth, height: titleHeight },
96
+ status: {
97
+ x: panelPadding,
98
+ y: panelPadding + titleHeight + spacing,
99
+ width: innerWidth,
100
+ height: statusHeight,
101
+ },
102
+ };
103
+ }
104
+ /**
105
+ * Returns the iOS UIKit symbols we rely on if we're running on an iOS runtime
106
+ * with the metadata bridge available. Returns null on Android, web, or in
107
+ * tests so callers can gracefully fall back to the in-tree overlay.
108
+ */
109
+ export function getIosOverlayHost() {
110
+ const g = getOverlayGlobal();
111
+ if (typeof g.UIWindow === 'undefined' || typeof g.UIApplication === 'undefined' || typeof g.UIViewController === 'undefined' || typeof g.UIView === 'undefined' || typeof g.UILabel === 'undefined' || typeof g.UIColor === 'undefined' || typeof g.UIFont === 'undefined' || typeof g.UIScreen === 'undefined') {
112
+ return null;
113
+ }
114
+ return {
115
+ UIWindow: g.UIWindow,
116
+ UIViewController: g.UIViewController,
117
+ UIView: g.UIView,
118
+ UILabel: g.UILabel,
119
+ UIColor: g.UIColor,
120
+ UIFont: g.UIFont,
121
+ UIApplication: g.UIApplication,
122
+ UIScreen: g.UIScreen,
123
+ UIWindowLevelAlert: typeof g.UIWindowLevelAlert === 'number' ? g.UIWindowLevelAlert : undefined,
124
+ };
125
+ }
126
+ /**
127
+ * Walks UIApplication.sharedApplication windows and returns the first active
128
+ * UIWindowScene we can locate. On iOS 13+ every UIWindow is attached to a
129
+ * scene, and we must initialise our overlay window the same way or the OS
130
+ * will silently refuse to render it. Returns null when no scene is found
131
+ * (older iOS versions or non-UI environments).
132
+ */
133
+ function findActiveWindowScene(host) {
134
+ try {
135
+ const app = host.UIApplication.sharedApplication;
136
+ const windows = app?.windows;
137
+ if (!windows || typeof windows.count !== 'number')
138
+ return null;
139
+ for (let i = 0; i < windows.count; i++) {
140
+ const w = windows.objectAtIndex(i);
141
+ const scene = w && w.windowScene;
142
+ if (scene)
143
+ return scene;
144
+ }
145
+ }
146
+ catch { }
147
+ return null;
148
+ }
149
+ function buildIosOverlayRefs(state) {
150
+ const host = getIosOverlayHost();
151
+ if (!host)
152
+ return null;
153
+ // Without a scene we can't build a modern UIWindow that actually renders.
154
+ // Fall back to the in-tree overlay rather than show nothing.
155
+ const scene = findActiveWindowScene(host);
156
+ if (!scene) {
157
+ if (state.verbose) {
158
+ console.info('[ns-hmr-overlay] no active UIWindowScene; skipping iOS overlay promotion');
159
+ }
160
+ return null;
161
+ }
162
+ try {
163
+ const { UIWindow, UIViewController, UIView, UILabel, UIColor, UIFont } = host;
164
+ const window = UIWindow.alloc().initWithWindowScene(scene);
165
+ window.windowLevel = computeIosOverlayWindowLevel(host.UIWindowLevelAlert ?? null);
166
+ window.backgroundColor = UIColor.clearColor;
167
+ window.hidden = true;
168
+ const controller = UIViewController.new();
169
+ controller.view.backgroundColor = UIColor.clearColor;
170
+ window.rootViewController = controller;
171
+ // UIViewAutoresizing bit masks. We mirror the UIKit constants here to
172
+ // avoid depending on symbols the metadata bridge does not always
173
+ // expose as top-level globals.
174
+ const FLEXIBLE_LEFT_MARGIN = 1 << 0;
175
+ const FLEXIBLE_WIDTH = 1 << 1;
176
+ const FLEXIBLE_RIGHT_MARGIN = 1 << 2;
177
+ const FLEXIBLE_TOP_MARGIN = 1 << 3;
178
+ const FLEXIBLE_HEIGHT = 1 << 4;
179
+ const FLEXIBLE_BOTTOM_MARGIN = 1 << 5;
180
+ const backdrop = UIView.new();
181
+ backdrop.backgroundColor = UIColor.colorWithRedGreenBlueAlpha(0, 0, 0, 0.35);
182
+ backdrop.autoresizingMask = FLEXIBLE_WIDTH | FLEXIBLE_HEIGHT;
183
+ controller.view.addSubview(backdrop);
184
+ const panel = UIView.new();
185
+ panel.backgroundColor = UIColor.whiteColor;
186
+ panel.autoresizingMask = FLEXIBLE_LEFT_MARGIN | FLEXIBLE_RIGHT_MARGIN | FLEXIBLE_TOP_MARGIN | FLEXIBLE_BOTTOM_MARGIN;
187
+ try {
188
+ panel.layer.cornerRadius = 14;
189
+ panel.layer.masksToBounds = true;
190
+ }
191
+ catch { }
192
+ controller.view.addSubview(panel);
193
+ const titleLabel = UILabel.new();
194
+ titleLabel.numberOfLines = 0;
195
+ titleLabel.textAlignment = 1; // NSTextAlignmentCenter
196
+ titleLabel.font = UIFont.boldSystemFontOfSize(16);
197
+ titleLabel.textColor = UIColor.blackColor;
198
+ panel.addSubview(titleLabel);
199
+ const statusLabel = UILabel.new();
200
+ statusLabel.numberOfLines = 0;
201
+ statusLabel.textAlignment = 1;
202
+ statusLabel.font = UIFont.systemFontOfSize(13);
203
+ statusLabel.textColor = UIColor.darkGrayColor;
204
+ panel.addSubview(statusLabel);
205
+ // Subtle drop-shadow so the toast chip reads against light app
206
+ // content (white-on-white is invisible). The error / centered
207
+ // branches still get the dim backdrop, so the shadow is mostly
208
+ // a no-op for them — but it's a one-time setup.
209
+ try {
210
+ panel.layer.shadowColor = UIColor.blackColor.CGColor;
211
+ panel.layer.shadowOpacity = 0.18;
212
+ panel.layer.shadowRadius = 8;
213
+ panel.layer.shadowOffset = { width: 0, height: 2 };
214
+ panel.layer.masksToBounds = false;
215
+ }
216
+ catch { }
217
+ // `wasVisible` / `currentPosition` are mutated by
218
+ // applySnapshotToIosRefs when the snapshot triggers a slide-in
219
+ // or slide-out. They start in the "hidden" state so the very
220
+ // first visible snapshot animates in cleanly.
221
+ return {
222
+ window,
223
+ controller,
224
+ backdrop,
225
+ panel,
226
+ titleLabel,
227
+ statusLabel,
228
+ wasVisible: false,
229
+ currentPosition: getHmrDevOverlayPosition(),
230
+ };
231
+ }
232
+ catch (err) {
233
+ console.warn('[ns-hmr-overlay] iOS overlay construction failed:', err?.message || err);
234
+ return null;
235
+ }
236
+ }
237
+ export function ensureIosOverlayRefs(state) {
238
+ if (state.iosRefs)
239
+ return state.iosRefs;
240
+ if (state.iosBuildFailed)
241
+ return null;
242
+ const built = buildIosOverlayRefs(state);
243
+ if (built) {
244
+ state.iosRefs = built;
245
+ }
246
+ else {
247
+ // Remember failure so we don't hammer construction on every snapshot
248
+ // update — the in-tree path will take over for this session.
249
+ state.iosBuildFailed = true;
250
+ }
251
+ return state.iosRefs;
252
+ }
253
+ function layoutIosOverlayRefs(refs, position) {
254
+ try {
255
+ const bounds = refs.controller.view.bounds;
256
+ const viewWidth = Number(bounds?.size?.width) || 0;
257
+ const viewHeight = Number(bounds?.size?.height) || 0;
258
+ const raw = refs.controller.view.safeAreaInsets;
259
+ const safeInsets = raw
260
+ ? {
261
+ top: Number(raw.top) || 0,
262
+ bottom: Number(raw.bottom) || 0,
263
+ left: Number(raw.left) || 0,
264
+ right: Number(raw.right) || 0,
265
+ }
266
+ : { top: 0, bottom: 0, left: 0, right: 0 };
267
+ // Ask UIKit what the labels want given the panel inner width. We use a
268
+ // generous height bound so nothing clips on long reconnect strings.
269
+ const panelPadding = 16;
270
+ const horizontalMargin = 24;
271
+ const maxPanelWidth = 340;
272
+ const innerWidth = Math.max(0, Math.min(maxPanelWidth, viewWidth - 2 * horizontalMargin - safeInsets.left - safeInsets.right) - 2 * panelPadding);
273
+ const titleFit = refs.titleLabel.sizeThatFits({ width: innerWidth, height: 10000 }) || { height: 0 };
274
+ const statusFit = refs.statusLabel.sizeThatFits({ width: innerWidth, height: 10000 }) || { height: 0 };
275
+ const layout = computeIosOverlayLayout({
276
+ viewWidth,
277
+ viewHeight,
278
+ safeInsets,
279
+ titleHeight: Number(titleFit.height) || 0,
280
+ statusHeight: Number(statusFit.height) || 0,
281
+ maxPanelWidth,
282
+ horizontalMargin,
283
+ panelPadding,
284
+ position,
285
+ });
286
+ const toCgRect = (rect) => ({
287
+ origin: { x: rect.x, y: rect.y },
288
+ size: { width: rect.width, height: rect.height },
289
+ });
290
+ refs.backdrop.frame = toCgRect(layout.backdrop);
291
+ refs.panel.frame = toCgRect(layout.panel);
292
+ refs.titleLabel.frame = toCgRect(layout.title);
293
+ refs.statusLabel.frame = toCgRect(layout.status);
294
+ return layout;
295
+ }
296
+ catch (err) {
297
+ console.warn('[ns-hmr-overlay] iOS overlay layout failed:', err?.message || err);
298
+ return null;
299
+ }
300
+ }
301
+ /**
302
+ * Slide-in animation for the iOS toast panel. Off-screen start frame
303
+ * lives just above (top) or below (bottom) the visible area; the panel
304
+ * snaps to its target frame with a spring so the motion feels physical
305
+ * without the heavy "settle" overshoot of a hard spring (damping 0.85
306
+ * lands quickly with a small overshoot).
307
+ */
308
+ function animateIosPanelIn(refs, position, layout) {
309
+ const g = getOverlayGlobal();
310
+ const UIView = g?.UIView;
311
+ if (!UIView)
312
+ return;
313
+ try {
314
+ const targetFrame = {
315
+ origin: { x: layout.panel.x, y: layout.panel.y },
316
+ size: { width: layout.panel.width, height: layout.panel.height },
317
+ };
318
+ // Off-screen start: distance includes a small fudge so the
319
+ // shadow blur tail isn't visible at t=0.
320
+ const startY = position === 'bottom' ? layout.backdrop.height + 24 : -(layout.panel.height + 24);
321
+ refs.panel.frame = {
322
+ origin: { x: layout.panel.x, y: startY },
323
+ size: { width: layout.panel.width, height: layout.panel.height },
324
+ };
325
+ refs.panel.alpha = 0;
326
+ try {
327
+ if (typeof UIView.animateWithDurationDelayUsingSpringWithDampingInitialSpringVelocityOptionsAnimationsCompletion === 'function') {
328
+ UIView.animateWithDurationDelayUsingSpringWithDampingInitialSpringVelocityOptionsAnimationsCompletion(0.42, 0, 0.85, 0.7, 0, () => {
329
+ refs.panel.frame = targetFrame;
330
+ refs.panel.alpha = 1;
331
+ }, null);
332
+ }
333
+ else if (typeof UIView.animateWithDurationAnimations === 'function') {
334
+ UIView.animateWithDurationAnimations(0.32, () => {
335
+ refs.panel.frame = targetFrame;
336
+ refs.panel.alpha = 1;
337
+ });
338
+ }
339
+ else {
340
+ refs.panel.frame = targetFrame;
341
+ refs.panel.alpha = 1;
342
+ }
343
+ }
344
+ catch {
345
+ refs.panel.frame = targetFrame;
346
+ refs.panel.alpha = 1;
347
+ }
348
+ }
349
+ catch { }
350
+ }
351
+ /**
352
+ * Slide-out animation for the iOS toast panel. Mirrors animateIosPanelIn:
353
+ * the panel travels to the nearest off-screen edge while fading out so
354
+ * the dismissal still feels intentional even on fast HMR cycles.
355
+ */
356
+ function animateIosPanelOut(refs, position, onComplete) {
357
+ const g = getOverlayGlobal();
358
+ const UIView = g?.UIView;
359
+ const currentFrame = refs.panel?.frame;
360
+ if (!UIView || !currentFrame) {
361
+ onComplete();
362
+ return;
363
+ }
364
+ try {
365
+ const bounds = refs.controller?.view?.bounds;
366
+ const viewHeight = Number(bounds?.size?.height) || 0;
367
+ const targetY = position === 'bottom' ? viewHeight + 24 : -(Number(currentFrame.size?.height) + 24);
368
+ const startFrame = currentFrame;
369
+ const targetFrame = {
370
+ origin: { x: Number(startFrame.origin?.x) || 0, y: targetY },
371
+ size: startFrame.size,
372
+ };
373
+ try {
374
+ if (typeof UIView.animateWithDurationDelayOptionsAnimationsCompletion === 'function') {
375
+ // UIViewAnimationOptionCurveEaseIn = 1 << 16 — accelerate
376
+ // out so the dismissal doesn't drag on screen.
377
+ UIView.animateWithDurationDelayOptionsAnimationsCompletion(0.22, 0, 1 << 16, () => {
378
+ refs.panel.frame = targetFrame;
379
+ refs.panel.alpha = 0;
380
+ }, () => onComplete());
381
+ }
382
+ else if (typeof UIView.animateWithDurationAnimationsCompletion === 'function') {
383
+ UIView.animateWithDurationAnimationsCompletion(0.22, () => {
384
+ refs.panel.frame = targetFrame;
385
+ refs.panel.alpha = 0;
386
+ }, () => onComplete());
387
+ }
388
+ else {
389
+ refs.panel.alpha = 0;
390
+ onComplete();
391
+ }
392
+ }
393
+ catch {
394
+ refs.panel.alpha = 0;
395
+ onComplete();
396
+ }
397
+ }
398
+ catch {
399
+ onComplete();
400
+ }
401
+ }
402
+ export function applySnapshotToIosRefs(refs, snapshot) {
403
+ if (!refs)
404
+ return false;
405
+ try {
406
+ // 'update' mode rides the same dedicated UIWindow as
407
+ // 'connection' so the HMR apply overlay always stacks above
408
+ // modals/sheets/system alerts. The window is constructed
409
+ // lazily (ensureIosOverlayRefs) and reused for the lifetime of
410
+ // the dev session.
411
+ const visible = snapshot.visible && (snapshot.mode === 'connection' || snapshot.mode === 'update');
412
+ const wasVisible = !!refs.wasVisible;
413
+ const position = getHmrDevOverlayPosition();
414
+ const previousPosition = refs.currentPosition;
415
+ const isToast = position !== 'center';
416
+ // Touches pass through the overlay window in toast mode so
417
+ // the user can keep tapping the app while the HMR chip is
418
+ // shown. In centered mode we keep the blocking
419
+ // behaviour (the dim backdrop is itself a hint to wait).
420
+ try {
421
+ refs.window.userInteractionEnabled = !isToast;
422
+ }
423
+ catch { }
424
+ if (!visible) {
425
+ // Animate out before hiding the window so the dismissal
426
+ // has a discoverable motion. Only animate when previously
427
+ // visible and in toast mode — centered modal hides instantly.
428
+ if (wasVisible && isToast) {
429
+ animateIosPanelOut(refs, previousPosition, () => {
430
+ try {
431
+ refs.window.hidden = true;
432
+ }
433
+ catch { }
434
+ });
435
+ }
436
+ else {
437
+ refs.window.hidden = true;
438
+ }
439
+ refs.wasVisible = false;
440
+ refs.currentPosition = position;
441
+ return true;
442
+ }
443
+ refs.window.hidden = false;
444
+ refs.titleLabel.text = snapshot.title || '';
445
+ refs.statusLabel.text = formatStatusText(snapshot);
446
+ const host = getIosOverlayHost();
447
+ if (host) {
448
+ const { UIColor } = host;
449
+ const isError = snapshot.tone === 'error';
450
+ const isSuccess = snapshot.tone === 'success';
451
+ try {
452
+ if (isError) {
453
+ // Red panel + dark red text (existing UX).
454
+ refs.panel.backgroundColor = UIColor.colorWithRedGreenBlueAlpha(1, 0.96, 0.96, 1);
455
+ refs.titleLabel.textColor = UIColor.colorWithRedGreenBlueAlpha(0.7, 0.1, 0.06, 1);
456
+ refs.statusLabel.textColor = UIColor.colorWithRedGreenBlueAlpha(0.7, 0.1, 0.06, 0.9);
457
+ }
458
+ else if (isSuccess) {
459
+ // Slightly more saturated green panel + dark-green
460
+ // text. The previous 0.94/0.99/0.95 background was
461
+ // nearly indistinguishable from white on most
462
+ // devices; this bump keeps long detail strings
463
+ // readable while making the apply event obviously
464
+ // "happening right now".
465
+ refs.panel.backgroundColor = UIColor.colorWithRedGreenBlueAlpha(0.9, 0.97, 0.91, 1);
466
+ refs.titleLabel.textColor = UIColor.colorWithRedGreenBlueAlpha(0.05, 0.43, 0.18, 1);
467
+ refs.statusLabel.textColor = UIColor.colorWithRedGreenBlueAlpha(0.05, 0.43, 0.18, 1);
468
+ }
469
+ else {
470
+ // Default (info / warn) — existing connection look.
471
+ refs.panel.backgroundColor = UIColor.whiteColor;
472
+ refs.titleLabel.textColor = UIColor.blackColor;
473
+ refs.statusLabel.textColor = UIColor.darkGrayColor;
474
+ }
475
+ // Backdrop dims only in centered mode; toast mode keeps
476
+ // the rest of the app fully visible/usable. Errors get
477
+ // a slightly stronger dim in centered mode because the
478
+ // user MUST notice them.
479
+ if (isToast) {
480
+ refs.backdrop.backgroundColor = UIColor.clearColor;
481
+ }
482
+ else if (isError) {
483
+ refs.backdrop.backgroundColor = UIColor.colorWithRedGreenBlueAlpha(0, 0, 0, 0.35);
484
+ }
485
+ else if (isSuccess) {
486
+ refs.backdrop.backgroundColor = UIColor.colorWithRedGreenBlueAlpha(0, 0.15, 0.05, 0.28);
487
+ }
488
+ else {
489
+ refs.backdrop.backgroundColor = UIColor.colorWithRedGreenBlueAlpha(0, 0, 0, 0.35);
490
+ }
491
+ }
492
+ catch { }
493
+ }
494
+ const layout = layoutIosOverlayRefs(refs, position);
495
+ // Slide-in animation only fires on the actual hidden→visible
496
+ // transition (or on a position swap — e.g. dev toggling top
497
+ // to bottom mid-cycle). Subsequent updates within the same
498
+ // visible cycle just refresh text/colours without re-animating.
499
+ const positionChanged = previousPosition !== position;
500
+ const justAppeared = !wasVisible || positionChanged;
501
+ if (justAppeared && isToast && layout) {
502
+ animateIosPanelIn(refs, position, layout);
503
+ }
504
+ else if (justAppeared && !isToast) {
505
+ // Centered modal: ensure alpha is reset to 1 in case a
506
+ // previous toast-mode dismissal left it at 0.
507
+ try {
508
+ refs.panel.alpha = 1;
509
+ }
510
+ catch { }
511
+ }
512
+ refs.wasVisible = true;
513
+ refs.currentPosition = position;
514
+ return true;
515
+ }
516
+ catch (err) {
517
+ console.warn('[ns-hmr-overlay] iOS overlay apply failed:', err?.message || err);
518
+ return false;
519
+ }
520
+ }
521
+ //# sourceMappingURL=dev-overlay-ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-overlay-ios.js","sourceRoot":"","sources":["../../../../../../packages/vite/hmr/shared/runtime/dev-overlay-ios.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAoD,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,gBAAgB,EAAoD,MAAM,yBAAyB,CAAC;AAEzJ;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAyB;IACrE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC;AACjB,CAAC;AAkBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAsT;IAC7V,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAkB;QACjC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3D,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;KAC7D,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,2DAA2D;IAC3D,6DAA6D;IAC7D,4DAA4D;IAC5D,2DAA2D;IAC3D,MAAM,QAAQ,GAAuB,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAChE,6DAA6D;IAC7D,iEAAiE;IACjE,0DAA0D;IAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,gBAAgB,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzD,IAAI,MAAc,CAAC;IACnB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACxB,6DAA6D;QAC7D,mDAAmD;QACnD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,GAAG,kBAAkB,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,+DAA+D;QAC/D,2DAA2D;QAC3D,+DAA+D;QAC/D,2DAA2D;QAC3D,MAAM,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,GAAG,kBAAkB,CAAC;QAClF,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACP,6DAA6D;QAC7D,oDAAoD;QACpD,MAAM,QAAQ,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACN,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;QAC9D,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE;QACvE,KAAK,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE;QACnF,MAAM,EAAE;YACP,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO;YACvC,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,YAAY;SACpB;KACD,CAAC;AACH,CAAC;AAcD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAChC,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACjT,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO;QACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,kBAAkB,EAAE,OAAO,CAAC,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KAC/F,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAoB;IAClD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;QACjD,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;YACjC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QACzB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA6B;IACzD,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,WAAW,GAAG,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;QACnF,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;QAC5C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAErB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;QAC1C,UAAU,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;QACrD,MAAM,CAAC,kBAAkB,GAAG,UAAU,CAAC;QAEvC,sEAAsE;QACtE,iEAAiE;QACjE,+BAA+B;QAC/B,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAC9B,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7E,QAAQ,CAAC,gBAAgB,GAAG,cAAc,GAAG,eAAe,CAAC;QAC7D,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAC3B,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;QAC3C,KAAK,CAAC,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;QACrH,IAAI,CAAC;YACJ,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC;QAC7B,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,wBAAwB;QACtD,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAClD,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;QAC9B,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;QAC9B,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC/C,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;QAC9C,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE9B,+DAA+D;QAC/D,8DAA8D;QAC9D,+DAA+D;QAC/D,gDAAgD;QAChD,IAAI,CAAC;YACJ,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YACrD,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YACjC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,kDAAkD;QAClD,+DAA+D;QAC/D,6DAA6D;QAC7D,8CAA8C;QAC9C,OAAO;YACN,MAAM;YACN,UAAU;YACV,QAAQ;YACR,KAAK;YACL,UAAU;YACV,WAAW;YACX,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,wBAAwB,EAAE;SAC3C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAG,GAAW,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA6B;IACjE,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACxC,IAAI,KAAK,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACP,qEAAqE;QACrE,6DAA6D;QAC7D,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoB,EAAE,QAA4B;IAC/E,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,GAAG,GAAI,IAAI,CAAC,UAAU,CAAC,IAAY,CAAC,cAAc,CAAC;QACzD,MAAM,UAAU,GAAkB,GAAG;YACpC,CAAC,CAAC;gBACA,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACzB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;aAC7B;YACF,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAE5C,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,GAAG,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,GAAG,CAAC,GAAG,gBAAgB,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QAClJ,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACrG,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAEvG,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACtC,SAAS;YACT,UAAU;YACV,UAAU;YACV,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YACzC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3C,aAAa;YACb,gBAAgB;YAChB,YAAY;YACZ,QAAQ;SACR,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC;YACpC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE;YAChC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAG,GAAW,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,IAAoB,EAAE,QAA4B,EAAE,MAAwB;IACtG,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG;YACnB,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YAChD,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;SAChE,CAAC;QACF,2DAA2D;QAC3D,yCAAyC;QACzC,MAAM,MAAM,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;YAClB,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YACxC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;SAChE,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC;YACJ,IAAI,OAAO,MAAM,CAAC,8FAA8F,KAAK,UAAU,EAAE,CAAC;gBACjI,MAAM,CAAC,8FAA8F,CACpG,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,GAAG,EACH,CAAC,EACD,GAAG,EAAE;oBACJ,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtB,CAAC,EACD,IAAI,CACJ,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,MAAM,CAAC,6BAA6B,KAAK,UAAU,EAAE,CAAC;gBACvE,MAAM,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YACtB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAoB,EAAE,QAA4B,EAAE,UAAsB;IACrG,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;IACvC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,UAAU,EAAE,CAAC;QACb,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,YAAY,CAAC;QAChC,MAAM,WAAW,GAAG;YACnB,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE;YAC5D,IAAI,EAAE,UAAU,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC;YACJ,IAAI,OAAO,MAAM,CAAC,mDAAmD,KAAK,UAAU,EAAE,CAAC;gBACtF,0DAA0D;gBAC1D,+CAA+C;gBAC/C,MAAM,CAAC,mDAAmD,CACzD,IAAI,EACJ,CAAC,EACD,CAAC,IAAI,EAAE,EACP,GAAG,EAAE;oBACJ,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtB,CAAC,EACD,GAAG,EAAE,CAAC,UAAU,EAAE,CAClB,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,MAAM,CAAC,uCAAuC,KAAK,UAAU,EAAE,CAAC;gBACjF,MAAM,CAAC,uCAAuC,CAC7C,IAAI,EACJ,GAAG,EAAE;oBACJ,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtB,CAAC,EACD,GAAG,EAAE,CAAC,UAAU,EAAE,CAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBACrB,UAAU,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YACrB,UAAU,EAAE,CAAC;QACd,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,UAAU,EAAE,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAA2B,EAAE,QAA4B;IAC/F,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC;QACJ,qDAAqD;QACrD,4DAA4D;QAC5D,yDAAyD;QACzD,+DAA+D;QAC/D,mBAAmB;QACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACnG,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,CAAC;QAEtC,2DAA2D;QAC3D,0DAA0D;QAC1D,+CAA+C;QAC/C,yDAAyD;QACzD,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,CAAC,OAAO,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,wDAAwD;YACxD,0DAA0D;YAC1D,8DAA8D;YAC9D,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE;oBAC/C,IAAI,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACX,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAChC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;YAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;YAC9C,IAAI,CAAC;gBACJ,IAAI,OAAO,EAAE,CAAC;oBACb,2CAA2C;oBAC3C,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAClF,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAClF,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACtF,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACtB,mDAAmD;oBACnD,mDAAmD;oBACnD,8CAA8C;oBAC9C,+CAA+C;oBAC/C,kDAAkD;oBAClD,yBAAyB;oBACzB,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpF,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpF,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACP,oDAAoD;oBACpD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;oBAChD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;oBAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;gBACpD,CAAC;gBAED,wDAAwD;gBACxD,uDAAuD;gBACvD,uDAAuD;gBACvD,yBAAyB;gBACzB,IAAI,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;gBACpD,CAAC;qBAAM,IAAI,OAAO,EAAE,CAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACnF,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzF,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACnF,CAAC;YACF,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,6DAA6D;QAC7D,4DAA4D;QAC5D,2DAA2D;QAC3D,gEAAgE;QAChE,MAAM,eAAe,GAAG,gBAAgB,KAAK,QAAQ,CAAC;QACtD,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI,eAAe,CAAC;QACpD,IAAI,YAAY,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACvC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,uDAAuD;YACvD,8CAA8C;YAC9C,IAAI,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAG,GAAW,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Internals shared by the dev-overlay backends (boot placeholder, in-tree
3
+ * live overlay, iOS UIWindow overlay): the per-session runtime state held on
4
+ * `globalThis`, core-class resolution that respects the realm rule, and
5
+ * snapshot/text formatting. Not part of the public overlay API — import
6
+ * `dev-overlay.ts` for that.
7
+ */
8
+ import { type HmrOverlayPosition, type HmrOverlaySnapshot } from './dev-overlay-snapshots.js';
9
+ export type BootOverlayRefs = {
10
+ page: any;
11
+ root: any;
12
+ titleLabel: any;
13
+ statusLabel: any;
14
+ activityIndicator?: any;
15
+ };
16
+ export type LiveOverlayRefs = {
17
+ page: any;
18
+ wrapper: any;
19
+ overlay: any;
20
+ titleLabel: any;
21
+ statusLabel: any;
22
+ wasVisible: boolean;
23
+ currentPosition: HmrOverlayPosition;
24
+ };
25
+ export type IosOverlayRefs = {
26
+ window: any;
27
+ controller: any;
28
+ backdrop: any;
29
+ panel: any;
30
+ titleLabel: any;
31
+ statusLabel: any;
32
+ wasVisible: boolean;
33
+ currentPosition: HmrOverlayPosition;
34
+ };
35
+ export type HmrOverlayRuntimeState = {
36
+ snapshot: HmrOverlaySnapshot;
37
+ bootRefs: BootOverlayRefs | null;
38
+ liveRefs: LiveOverlayRefs | null;
39
+ iosRefs: IosOverlayRefs | null;
40
+ iosBuildFailed: boolean;
41
+ verbose: boolean;
42
+ updateAutoHideTimer: ReturnType<typeof setTimeout> | null;
43
+ updateCycleStartedAt: number;
44
+ };
45
+ export declare function getOverlayGlobal(): any;
46
+ /**
47
+ * Resolve the configured live-overlay position.
48
+ *
49
+ * Reads `globalThis.__NS_HMR_OVERLAY_POSITION__` so a project can
50
+ * override the default at boot time (e.g. inside `app.ts` before the
51
+ * Vite session bootstraps). Falls back to 'top' which gives the
52
+ * toast-style chip with a slide-in animation and safe-area padding.
53
+ */
54
+ export declare function getHmrDevOverlayPosition(): HmrOverlayPosition;
55
+ export declare function getRuntimeState(): HmrOverlayRuntimeState;
56
+ export declare function resolveCoreExport(name: string): any;
57
+ export declare function asColor(value: string): any;
58
+ export declare function formatStatusText(snapshot: HmrOverlaySnapshot): string;