@vizejs/composable 0.426.2 → 0.427.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 (544) hide show
  1. package/dist/abort-signal.d.mts +1 -1
  2. package/dist/active-element.d.mts +37 -0
  3. package/dist/active-element.mjs +56 -0
  4. package/dist/animate.d.mts +114 -0
  5. package/dist/animate.mjs +157 -0
  6. package/dist/battery.d.mts +61 -0
  7. package/dist/battery.mjs +90 -0
  8. package/dist/breakpoints.d.mts +82 -0
  9. package/dist/breakpoints.mjs +91 -0
  10. package/dist/catalog-BeTXFKxF.d.mts +4188 -0
  11. package/dist/catalog-r4Z5nptX.mjs +5144 -0
  12. package/dist/catalog.d.mts +1 -1
  13. package/dist/catalog.mjs +1 -1
  14. package/dist/color-mode.d.mts +131 -0
  15. package/dist/color-mode.mjs +133 -0
  16. package/dist/computed-async.d.mts +63 -0
  17. package/dist/computed-async.mjs +43 -0
  18. package/dist/computed-with-control.d.mts +44 -0
  19. package/dist/computed-with-control.mjs +54 -0
  20. package/dist/create-event-hook.d.mts +77 -0
  21. package/dist/create-event-hook.mjs +66 -0
  22. package/dist/create-global-state.d.mts +24 -0
  23. package/dist/create-global-state.mjs +34 -0
  24. package/dist/create-injection-state.d.mts +51 -0
  25. package/dist/create-injection-state.mjs +19 -0
  26. package/dist/create-shared-composable.d.mts +38 -0
  27. package/dist/create-shared-composable.mjs +54 -0
  28. package/dist/device-motion.d.mts +71 -0
  29. package/dist/device-motion.mjs +75 -0
  30. package/dist/device-orientation.d.mts +82 -0
  31. package/dist/device-orientation.mjs +86 -0
  32. package/dist/device-pixel-ratio.d.mts +45 -0
  33. package/dist/device-pixel-ratio.mjs +50 -0
  34. package/dist/document-visibility.mjs +6 -2
  35. package/dist/draggable.d.mts +121 -0
  36. package/dist/draggable.mjs +153 -0
  37. package/dist/element-bounding.d.mts +87 -0
  38. package/dist/element-bounding.mjs +95 -0
  39. package/dist/element-by-point.d.mts +70 -0
  40. package/dist/element-by-point.mjs +69 -0
  41. package/dist/element-hover.d.mts +42 -0
  42. package/dist/element-hover.mjs +70 -0
  43. package/dist/element-ref.d.mts +34 -0
  44. package/dist/element-ref.mjs +23 -0
  45. package/dist/element-target-Crpxl4D9.d.mts +60 -0
  46. package/dist/element-target.d.mts +2 -0
  47. package/dist/element-target.mjs +58 -0
  48. package/dist/event-listener.mjs +7 -3
  49. package/dist/focus.d.mts +69 -0
  50. package/dist/focus.mjs +124 -0
  51. package/dist/fps.d.mts +59 -0
  52. package/dist/fps.mjs +64 -0
  53. package/dist/geolocation.d.mts +98 -0
  54. package/dist/geolocation.mjs +86 -0
  55. package/dist/i18n.d.mts +237 -0
  56. package/dist/i18n.mjs +215 -0
  57. package/dist/icu-message.d.mts +235 -0
  58. package/dist/icu-message.mjs +343 -0
  59. package/dist/idle.d.mts +79 -0
  60. package/dist/idle.mjs +90 -0
  61. package/dist/index.d.mts +172 -6
  62. package/dist/index.mjs +173 -7
  63. package/dist/infinite-scroll.d.mts +56 -0
  64. package/dist/infinite-scroll.mjs +72 -0
  65. package/dist/intersection-observer.d.mts +122 -0
  66. package/dist/intersection-observer.mjs +117 -0
  67. package/dist/magic-keys.d.mts +121 -0
  68. package/dist/magic-keys.mjs +163 -0
  69. package/dist/math.d.mts +96 -0
  70. package/dist/math.mjs +84 -0
  71. package/dist/media-query.d.mts +3 -1
  72. package/dist/media-query.mjs +5 -3
  73. package/dist/mouse-in-element.d.mts +49 -0
  74. package/dist/mouse-in-element.mjs +66 -0
  75. package/dist/mouse.d.mts +77 -0
  76. package/dist/mouse.mjs +100 -0
  77. package/dist/mutation-observer.d.mts +98 -0
  78. package/dist/mutation-observer.mjs +69 -0
  79. package/dist/network.d.mts +96 -0
  80. package/dist/network.mjs +117 -0
  81. package/dist/on-click-outside.d.mts +69 -0
  82. package/dist/on-click-outside.mjs +115 -0
  83. package/dist/on-key-stroke.d.mts +71 -0
  84. package/dist/on-key-stroke.mjs +79 -0
  85. package/dist/on-long-press.d.mts +82 -0
  86. package/dist/on-long-press.mjs +105 -0
  87. package/dist/on-start-typing.d.mts +44 -0
  88. package/dist/on-start-typing.mjs +61 -0
  89. package/dist/page-leave.d.mts +26 -0
  90. package/dist/page-leave.mjs +40 -0
  91. package/dist/parent-element.d.mts +16 -0
  92. package/dist/parent-element.mjs +27 -0
  93. package/dist/pinch.d.mts +73 -0
  94. package/dist/pinch.mjs +138 -0
  95. package/dist/pointer-lock.d.mts +79 -0
  96. package/dist/pointer-lock.mjs +126 -0
  97. package/dist/pointer.d.mts +78 -0
  98. package/dist/pointer.mjs +95 -0
  99. package/dist/preferences.d.mts +55 -0
  100. package/dist/preferences.mjs +63 -0
  101. package/dist/preferred-languages.d.mts +43 -0
  102. package/dist/preferred-languages.mjs +44 -0
  103. package/dist/reactify.d.mts +28 -0
  104. package/dist/reactify.mjs +7 -0
  105. package/dist/ref-auto-reset.d.mts +47 -0
  106. package/dist/ref-auto-reset.mjs +70 -0
  107. package/dist/ref-debounced.d.mts +29 -0
  108. package/dist/ref-debounced.mjs +29 -0
  109. package/dist/ref-default.d.mts +27 -0
  110. package/dist/ref-default.mjs +33 -0
  111. package/dist/resize-observer.d.mts +96 -0
  112. package/dist/resize-observer.mjs +111 -0
  113. package/dist/resolver.d.mts +124 -0
  114. package/dist/resolver.mjs +138 -0
  115. package/dist/retry-async.d.mts +2 -2
  116. package/dist/retry-delay-DYsdq4SE.d.mts +73 -0
  117. package/dist/retry-delay.d.mts +1 -72
  118. package/dist/screen-orientation.d.mts +77 -0
  119. package/dist/screen-orientation.mjs +74 -0
  120. package/dist/scroll-lock.d.mts +37 -0
  121. package/dist/scroll-lock.mjs +50 -0
  122. package/dist/scroll.d.mts +158 -0
  123. package/dist/scroll.mjs +172 -0
  124. package/dist/standard-schema-DmNgFVK5.d.mts +107 -0
  125. package/dist/standard-schema.d.mts +2 -0
  126. package/dist/standard-schema.mjs +60 -0
  127. package/dist/swipe.d.mts +125 -0
  128. package/dist/swipe.mjs +225 -0
  129. package/dist/sync-ref.d.mts +80 -0
  130. package/dist/sync-ref.mjs +43 -0
  131. package/dist/text-selection.d.mts +46 -0
  132. package/dist/text-selection.mjs +62 -0
  133. package/dist/textarea-autosize.d.mts +58 -0
  134. package/dist/textarea-autosize.mjs +54 -0
  135. package/dist/timeout-scheduler-CI8RVLZs.d.mts +18 -0
  136. package/dist/timeout-scheduler.d.mts +1 -17
  137. package/dist/to-reactive.d.mts +26 -0
  138. package/dist/to-reactive.mjs +46 -0
  139. package/dist/transition.d.mts +125 -0
  140. package/dist/transition.mjs +266 -0
  141. package/dist/until.d.mts +177 -0
  142. package/dist/until.mjs +111 -0
  143. package/dist/use-array.d.mts +112 -0
  144. package/dist/use-array.mjs +90 -0
  145. package/dist/use-async-queue.d.mts +109 -0
  146. package/dist/use-async-queue.mjs +96 -0
  147. package/dist/use-async-state.d.mts +86 -0
  148. package/dist/use-async-state.mjs +41 -0
  149. package/dist/use-barcode-detector.d.mts +159 -0
  150. package/dist/use-barcode-detector.mjs +143 -0
  151. package/dist/use-bluetooth.d.mts +164 -0
  152. package/dist/use-bluetooth.mjs +183 -0
  153. package/dist/use-broadcast-channel.d.mts +115 -0
  154. package/dist/use-broadcast-channel.mjs +121 -0
  155. package/dist/use-builtin-ai.d.mts +342 -0
  156. package/dist/use-builtin-ai.mjs +261 -0
  157. package/dist/use-clipboard.d.mts +169 -0
  158. package/dist/use-clipboard.mjs +226 -0
  159. package/dist/use-compression-stream.d.mts +173 -0
  160. package/dist/use-compression-stream.mjs +166 -0
  161. package/dist/use-confirm-dialog.d.mts +70 -0
  162. package/dist/use-confirm-dialog.mjs +57 -0
  163. package/dist/use-contact-picker.d.mts +117 -0
  164. package/dist/use-contact-picker.mjs +103 -0
  165. package/dist/use-cookie.d.mts +196 -0
  166. package/dist/use-cookie.mjs +259 -0
  167. package/dist/use-countdown.d.mts +85 -0
  168. package/dist/use-countdown.mjs +74 -0
  169. package/dist/use-css-var.d.mts +96 -0
  170. package/dist/use-css-var.mjs +104 -0
  171. package/dist/use-cycle-list.d.mts +76 -0
  172. package/dist/use-cycle-list.mjs +39 -0
  173. package/dist/use-date-format.d.mts +103 -0
  174. package/dist/use-date-format.mjs +147 -0
  175. package/dist/use-date-time-format.d.mts +75 -0
  176. package/dist/use-date-time-format.mjs +53 -0
  177. package/dist/use-debounced.d.mts +1 -1
  178. package/dist/use-display-media.d.mts +62 -0
  179. package/dist/use-display-media.mjs +46 -0
  180. package/dist/use-display-names.d.mts +75 -0
  181. package/dist/use-display-names.mjs +52 -0
  182. package/dist/use-document-title.d.mts +88 -0
  183. package/dist/use-document-title.mjs +100 -0
  184. package/dist/use-drop-zone.d.mts +128 -0
  185. package/dist/use-drop-zone.mjs +154 -0
  186. package/dist/use-event-source.d.mts +184 -0
  187. package/dist/use-event-source.mjs +226 -0
  188. package/dist/use-eye-dropper.d.mts +79 -0
  189. package/dist/use-eye-dropper.mjs +68 -0
  190. package/dist/use-favicon.d.mts +78 -0
  191. package/dist/use-favicon.mjs +68 -0
  192. package/dist/use-fetch.d.mts +230 -0
  193. package/dist/use-fetch.mjs +263 -0
  194. package/dist/use-field.d.mts +107 -0
  195. package/dist/use-field.mjs +117 -0
  196. package/dist/use-file-dialog.d.mts +139 -0
  197. package/dist/use-file-dialog.mjs +101 -0
  198. package/dist/use-file-system-access.d.mts +184 -0
  199. package/dist/use-file-system-access.mjs +151 -0
  200. package/dist/use-form-field-props.d.mts +235 -0
  201. package/dist/use-form-field-props.mjs +164 -0
  202. package/dist/use-form.d.mts +324 -0
  203. package/dist/use-form.mjs +482 -0
  204. package/dist/use-fullscreen.d.mts +104 -0
  205. package/dist/use-fullscreen.mjs +95 -0
  206. package/dist/use-gamepad.d.mts +242 -0
  207. package/dist/use-gamepad.mjs +218 -0
  208. package/dist/use-hid.d.mts +160 -0
  209. package/dist/use-hid.mjs +156 -0
  210. package/dist/use-id-generator.d.mts +44 -0
  211. package/dist/use-id-generator.mjs +38 -0
  212. package/dist/use-image.d.mts +125 -0
  213. package/dist/use-image.mjs +109 -0
  214. package/dist/use-indexed-db.d.mts +207 -0
  215. package/dist/use-indexed-db.mjs +251 -0
  216. package/dist/use-interval-BA55gTHT.d.mts +140 -0
  217. package/dist/use-interval.d.mts +2 -0
  218. package/dist/use-interval.mjs +100 -0
  219. package/dist/use-list-format.d.mts +60 -0
  220. package/dist/use-list-format.mjs +40 -0
  221. package/dist/use-machine.d.mts +90 -0
  222. package/dist/use-machine.mjs +78 -0
  223. package/dist/use-map.d.mts +90 -0
  224. package/dist/use-map.mjs +70 -0
  225. package/dist/use-media-controls.d.mts +198 -0
  226. package/dist/use-media-controls.mjs +264 -0
  227. package/dist/use-memoize.d.mts +73 -0
  228. package/dist/use-memoize.mjs +28 -0
  229. package/dist/use-mounted.d.mts +24 -0
  230. package/dist/use-mounted.mjs +29 -0
  231. package/dist/use-navigation-api.d.mts +360 -0
  232. package/dist/use-navigation-api.mjs +231 -0
  233. package/dist/use-notification.d.mts +139 -0
  234. package/dist/use-notification.mjs +131 -0
  235. package/dist/use-now.d.mts +137 -0
  236. package/dist/use-now.mjs +44 -0
  237. package/dist/use-number-format.d.mts +73 -0
  238. package/dist/use-number-format.mjs +58 -0
  239. package/dist/use-object-url.d.mts +47 -0
  240. package/dist/use-object-url.mjs +54 -0
  241. package/dist/use-offset-pagination.d.mts +91 -0
  242. package/dist/use-offset-pagination.mjs +80 -0
  243. package/dist/use-payment-request.d.mts +239 -0
  244. package/dist/use-payment-request.mjs +206 -0
  245. package/dist/use-performance-observer.d.mts +285 -0
  246. package/dist/use-performance-observer.mjs +132 -0
  247. package/dist/use-permission.d.mts +99 -0
  248. package/dist/use-permission.mjs +92 -0
  249. package/dist/use-plural-rules.d.mts +79 -0
  250. package/dist/use-plural-rules.mjs +59 -0
  251. package/dist/use-push-subscription.d.mts +154 -0
  252. package/dist/use-push-subscription.mjs +146 -0
  253. package/dist/use-queue.d.mts +89 -0
  254. package/dist/use-queue.mjs +116 -0
  255. package/dist/use-raf-fn.d.mts +87 -0
  256. package/dist/use-raf-fn.mjs +99 -0
  257. package/dist/use-relative-time-format.d.mts +111 -0
  258. package/dist/use-relative-time-format.mjs +119 -0
  259. package/dist/use-request-idle-callback.d.mts +122 -0
  260. package/dist/use-request-idle-callback.mjs +147 -0
  261. package/dist/use-route-query.d.mts +149 -0
  262. package/dist/use-route-query.mjs +86 -0
  263. package/dist/use-scheduler-post-task.d.mts +156 -0
  264. package/dist/use-scheduler-post-task.mjs +182 -0
  265. package/dist/use-screen-details.d.mts +205 -0
  266. package/dist/use-screen-details.mjs +188 -0
  267. package/dist/use-script-tag.d.mts +162 -0
  268. package/dist/use-script-tag.mjs +171 -0
  269. package/dist/use-segmenter.d.mts +78 -0
  270. package/dist/use-segmenter.mjs +66 -0
  271. package/dist/use-selection.d.mts +125 -0
  272. package/dist/use-selection.mjs +77 -0
  273. package/dist/use-serial.d.mts +165 -0
  274. package/dist/use-serial.mjs +205 -0
  275. package/dist/use-service-worker.d.mts +177 -0
  276. package/dist/use-service-worker.mjs +178 -0
  277. package/dist/use-set.d.mts +96 -0
  278. package/dist/use-set.mjs +74 -0
  279. package/dist/use-share.d.mts +92 -0
  280. package/dist/use-share.mjs +99 -0
  281. package/dist/use-sorted-locale.d.mts +62 -0
  282. package/dist/use-sorted-locale.mjs +52 -0
  283. package/dist/use-sorted.d.mts +29 -0
  284. package/dist/use-sorted.mjs +14 -0
  285. package/dist/use-speech-recognition.d.mts +150 -0
  286. package/dist/use-speech-recognition.mjs +168 -0
  287. package/dist/use-speech-synthesis.d.mts +148 -0
  288. package/dist/use-speech-synthesis.mjs +152 -0
  289. package/dist/use-stack.d.mts +83 -0
  290. package/dist/use-stack.mjs +93 -0
  291. package/dist/use-stepper.d.mts +79 -0
  292. package/dist/use-stepper.mjs +52 -0
  293. package/dist/use-storage-estimate.d.mts +151 -0
  294. package/dist/use-storage-estimate.mjs +170 -0
  295. package/dist/use-storage.d.mts +214 -0
  296. package/dist/use-storage.mjs +415 -0
  297. package/dist/use-style-tag.d.mts +102 -0
  298. package/dist/use-style-tag.mjs +91 -0
  299. package/dist/use-supported.d.mts +23 -0
  300. package/dist/use-supported.mjs +26 -0
  301. package/dist/use-throttled.d.mts +1 -1
  302. package/dist/use-time-ago.d.mts +163 -0
  303. package/dist/use-time-ago.mjs +95 -0
  304. package/dist/use-timeout.d.mts +122 -0
  305. package/dist/use-timeout.mjs +65 -0
  306. package/dist/use-url-hash.d.mts +88 -0
  307. package/dist/use-url-hash.mjs +145 -0
  308. package/dist/use-url-search-params.d.mts +223 -0
  309. package/dist/use-url-search-params.mjs +295 -0
  310. package/dist/use-usb.d.mts +212 -0
  311. package/dist/use-usb.mjs +137 -0
  312. package/dist/use-user-activation.d.mts +83 -0
  313. package/dist/use-user-activation.mjs +113 -0
  314. package/dist/use-user-media.d.mts +194 -0
  315. package/dist/use-user-media.mjs +214 -0
  316. package/dist/use-v-model.d.mts +113 -0
  317. package/dist/use-v-model.mjs +40 -0
  318. package/dist/use-vibrate.d.mts +81 -0
  319. package/dist/use-vibrate.mjs +90 -0
  320. package/dist/use-view-transition.d.mts +106 -0
  321. package/dist/use-view-transition.mjs +101 -0
  322. package/dist/use-visual-viewport.d.mts +105 -0
  323. package/dist/use-visual-viewport.mjs +104 -0
  324. package/dist/use-wake-lock.d.mts +96 -0
  325. package/dist/use-wake-lock.mjs +106 -0
  326. package/dist/use-web-authn.d.mts +404 -0
  327. package/dist/use-web-authn.mjs +323 -0
  328. package/dist/use-web-locks.d.mts +180 -0
  329. package/dist/use-web-locks.mjs +136 -0
  330. package/dist/use-web-midi.d.mts +148 -0
  331. package/dist/use-web-midi.mjs +140 -0
  332. package/dist/use-web-vitals.d.mts +142 -0
  333. package/dist/use-web-vitals.mjs +248 -0
  334. package/dist/use-websocket.d.mts +218 -0
  335. package/dist/use-websocket.mjs +257 -0
  336. package/dist/use-worker-fn.d.mts +119 -0
  337. package/dist/use-worker-fn.mjs +162 -0
  338. package/dist/virtual-list.d.mts +105 -0
  339. package/dist/virtual-list.mjs +128 -0
  340. package/dist/watch-debounced.d.mts +84 -0
  341. package/dist/watch-debounced.mjs +84 -0
  342. package/dist/watch-ignorable.d.mts +47 -0
  343. package/dist/watch-ignorable.mjs +61 -0
  344. package/dist/watch-once.d.mts +29 -0
  345. package/dist/watch-once.mjs +10 -0
  346. package/dist/watch-pausable.d.mts +51 -0
  347. package/dist/watch-pausable.mjs +23 -0
  348. package/dist/watch-source.d.mts +29 -0
  349. package/dist/watch-source.mjs +1 -0
  350. package/dist/watch-throttled.d.mts +70 -0
  351. package/dist/watch-throttled.mjs +94 -0
  352. package/dist/whenever.d.mts +39 -0
  353. package/dist/whenever.mjs +41 -0
  354. package/dist/window-size.d.mts +87 -0
  355. package/dist/window-size.mjs +65 -0
  356. package/package.json +846 -5
  357. package/registry/files/abort-signal.ts +292 -0
  358. package/registry/files/active-element.ts +93 -0
  359. package/registry/files/animate.ts +322 -0
  360. package/registry/files/async-resource.ts +190 -0
  361. package/registry/files/battery.ts +166 -0
  362. package/registry/files/breakpoints.ts +166 -0
  363. package/registry/files/capability.ts +171 -0
  364. package/registry/files/color-mode.ts +274 -0
  365. package/registry/files/computed-async.ts +123 -0
  366. package/registry/files/computed-with-control.ts +80 -0
  367. package/registry/files/create-event-hook.ts +139 -0
  368. package/registry/files/create-global-state.ts +34 -0
  369. package/registry/files/create-injection-state.ts +75 -0
  370. package/registry/files/create-shared-composable.ts +74 -0
  371. package/registry/files/device-motion.ts +152 -0
  372. package/registry/files/device-orientation.ts +168 -0
  373. package/registry/files/device-pixel-ratio.ts +100 -0
  374. package/registry/files/disposal-scope.ts +201 -0
  375. package/registry/files/document-visibility.ts +152 -0
  376. package/registry/files/draggable.ts +273 -0
  377. package/registry/files/element-bounding.ts +175 -0
  378. package/registry/files/element-by-point.ts +149 -0
  379. package/registry/files/element-hover.ts +104 -0
  380. package/registry/files/element-ref.ts +58 -0
  381. package/registry/files/element-target.ts +99 -0
  382. package/registry/files/event-listener.ts +188 -0
  383. package/registry/files/focus.ts +181 -0
  384. package/registry/files/fps.ts +133 -0
  385. package/registry/files/geolocation.ts +214 -0
  386. package/registry/files/i18n.ts +524 -0
  387. package/registry/files/icu-message.ts +701 -0
  388. package/registry/files/idle.ts +176 -0
  389. package/registry/files/infinite-scroll.ts +135 -0
  390. package/registry/files/intersection-observer.ts +261 -0
  391. package/registry/files/locale.ts +148 -0
  392. package/registry/files/magic-keys.ts +298 -0
  393. package/registry/files/math.ts +175 -0
  394. package/registry/files/media-query.ts +102 -0
  395. package/registry/files/mouse-in-element.ts +107 -0
  396. package/registry/files/mouse.ts +167 -0
  397. package/registry/files/mutation-observer.ts +183 -0
  398. package/registry/files/network.ts +229 -0
  399. package/registry/files/on-click-outside.ts +178 -0
  400. package/registry/files/on-key-stroke.ts +135 -0
  401. package/registry/files/on-long-press.ts +188 -0
  402. package/registry/files/on-start-typing.ts +88 -0
  403. package/registry/files/page-leave.ts +57 -0
  404. package/registry/files/parent-element.ts +29 -0
  405. package/registry/files/pinch.ts +187 -0
  406. package/registry/files/pointer-lock.ts +232 -0
  407. package/registry/files/pointer.ts +153 -0
  408. package/registry/files/preferences.ts +98 -0
  409. package/registry/files/preferred-languages.ts +88 -0
  410. package/registry/files/reactify.ts +39 -0
  411. package/registry/files/ref-auto-reset.ts +102 -0
  412. package/registry/files/ref-debounced.ts +34 -0
  413. package/registry/files/ref-default.ts +35 -0
  414. package/registry/files/resize-observer.ts +220 -0
  415. package/registry/files/retry-async.ts +261 -0
  416. package/registry/files/retry-delay.ts +132 -0
  417. package/registry/files/scope.ts +21 -0
  418. package/registry/files/screen-orientation.ts +165 -0
  419. package/registry/files/scroll-lock.ts +80 -0
  420. package/registry/files/scroll.ts +338 -0
  421. package/registry/files/standard-schema.ts +163 -0
  422. package/registry/files/swipe.ts +321 -0
  423. package/registry/files/sync-ref.ts +166 -0
  424. package/registry/files/temporal.ts +182 -0
  425. package/registry/files/text-selection.ts +110 -0
  426. package/registry/files/textarea-autosize.ts +114 -0
  427. package/registry/files/timeout-scheduler.ts +16 -0
  428. package/registry/files/to-reactive.ts +44 -0
  429. package/registry/files/transition.ts +271 -0
  430. package/registry/files/until.ts +352 -0
  431. package/registry/files/use-array.ts +201 -0
  432. package/registry/files/use-async-queue.ts +278 -0
  433. package/registry/files/use-async-state.ts +139 -0
  434. package/registry/files/use-barcode-detector.ts +321 -0
  435. package/registry/files/use-bluetooth.ts +409 -0
  436. package/registry/files/use-broadcast-channel.ts +250 -0
  437. package/registry/files/use-builtin-ai.ts +674 -0
  438. package/registry/files/use-clipboard.ts +425 -0
  439. package/registry/files/use-compression-stream.ts +364 -0
  440. package/registry/files/use-confirm-dialog.ts +137 -0
  441. package/registry/files/use-contact-picker.ts +246 -0
  442. package/registry/files/use-cookie.ts +500 -0
  443. package/registry/files/use-countdown.ts +161 -0
  444. package/registry/files/use-counter.ts +147 -0
  445. package/registry/files/use-css-var.ts +191 -0
  446. package/registry/files/use-cycle-list.ts +136 -0
  447. package/registry/files/use-date-format.ts +281 -0
  448. package/registry/files/use-date-time-format.ts +113 -0
  449. package/registry/files/use-debounced.ts +163 -0
  450. package/registry/files/use-display-media.ts +89 -0
  451. package/registry/files/use-display-names.ts +122 -0
  452. package/registry/files/use-document-title.ts +196 -0
  453. package/registry/files/use-drop-zone.ts +287 -0
  454. package/registry/files/use-event-source.ts +470 -0
  455. package/registry/files/use-eye-dropper.ts +134 -0
  456. package/registry/files/use-favicon.ts +140 -0
  457. package/registry/files/use-fetch.ts +578 -0
  458. package/registry/files/use-field.ts +247 -0
  459. package/registry/files/use-file-dialog.ts +257 -0
  460. package/registry/files/use-file-system-access.ts +383 -0
  461. package/registry/files/use-form-field-props.ts +381 -0
  462. package/registry/files/use-form.ts +980 -0
  463. package/registry/files/use-fullscreen.ts +214 -0
  464. package/registry/files/use-gamepad.ts +463 -0
  465. package/registry/files/use-hid.ts +359 -0
  466. package/registry/files/use-history.ts +231 -0
  467. package/registry/files/use-id-generator.ts +61 -0
  468. package/registry/files/use-image.ts +253 -0
  469. package/registry/files/use-indexed-db.ts +508 -0
  470. package/registry/files/use-interval.ts +253 -0
  471. package/registry/files/use-list-format.ts +85 -0
  472. package/registry/files/use-machine.ts +171 -0
  473. package/registry/files/use-map.ts +145 -0
  474. package/registry/files/use-media-controls.ts +545 -0
  475. package/registry/files/use-memoize.ts +118 -0
  476. package/registry/files/use-mounted.ts +30 -0
  477. package/registry/files/use-navigation-api.ts +641 -0
  478. package/registry/files/use-notification.ts +285 -0
  479. package/registry/files/use-now.ts +194 -0
  480. package/registry/files/use-number-format.ts +120 -0
  481. package/registry/files/use-object-url.ts +87 -0
  482. package/registry/files/use-offset-pagination.ts +168 -0
  483. package/registry/files/use-payment-request.ts +465 -0
  484. package/registry/files/use-performance-observer.ts +469 -0
  485. package/registry/files/use-permission.ts +220 -0
  486. package/registry/files/use-plural-rules.ts +134 -0
  487. package/registry/files/use-previous.ts +62 -0
  488. package/registry/files/use-push-subscription.ts +352 -0
  489. package/registry/files/use-queue.ts +197 -0
  490. package/registry/files/use-raf-fn.ts +176 -0
  491. package/registry/files/use-relative-time-format.ts +201 -0
  492. package/registry/files/use-request-idle-callback.ts +278 -0
  493. package/registry/files/use-route-query.ts +300 -0
  494. package/registry/files/use-scheduler-post-task.ts +397 -0
  495. package/registry/files/use-screen-details.ts +393 -0
  496. package/registry/files/use-script-tag.ts +341 -0
  497. package/registry/files/use-segmenter.ts +147 -0
  498. package/registry/files/use-selection.ts +233 -0
  499. package/registry/files/use-serial.ts +404 -0
  500. package/registry/files/use-service-worker.ts +413 -0
  501. package/registry/files/use-set.ts +154 -0
  502. package/registry/files/use-share.ts +168 -0
  503. package/registry/files/use-sorted-locale.ts +130 -0
  504. package/registry/files/use-sorted.ts +49 -0
  505. package/registry/files/use-speech-recognition.ts +357 -0
  506. package/registry/files/use-speech-synthesis.ts +333 -0
  507. package/registry/files/use-stack.ts +164 -0
  508. package/registry/files/use-stepper.ts +166 -0
  509. package/registry/files/use-storage-estimate.ts +352 -0
  510. package/registry/files/use-storage.ts +635 -0
  511. package/registry/files/use-style-tag.ts +200 -0
  512. package/registry/files/use-supported.ts +26 -0
  513. package/registry/files/use-throttled.ts +215 -0
  514. package/registry/files/use-time-ago.ts +276 -0
  515. package/registry/files/use-timeout.ts +218 -0
  516. package/registry/files/use-toggle.ts +54 -0
  517. package/registry/files/use-url-hash.ts +280 -0
  518. package/registry/files/use-url-search-params.ts +497 -0
  519. package/registry/files/use-usb.ts +395 -0
  520. package/registry/files/use-user-activation.ts +215 -0
  521. package/registry/files/use-user-media.ts +422 -0
  522. package/registry/files/use-v-model.ts +210 -0
  523. package/registry/files/use-vibrate.ts +174 -0
  524. package/registry/files/use-view-transition.ts +229 -0
  525. package/registry/files/use-visual-viewport.ts +228 -0
  526. package/registry/files/use-wake-lock.ts +206 -0
  527. package/registry/files/use-web-authn.ts +793 -0
  528. package/registry/files/use-web-locks.ts +363 -0
  529. package/registry/files/use-web-midi.ts +306 -0
  530. package/registry/files/use-web-vitals.ts +409 -0
  531. package/registry/files/use-websocket.ts +553 -0
  532. package/registry/files/use-worker-fn.ts +306 -0
  533. package/registry/files/virtual-list.ts +230 -0
  534. package/registry/files/watch-debounced.ts +206 -0
  535. package/registry/files/watch-ignorable.ts +128 -0
  536. package/registry/files/watch-once.ts +46 -0
  537. package/registry/files/watch-pausable.ts +93 -0
  538. package/registry/files/watch-source.ts +51 -0
  539. package/registry/files/watch-throttled.ts +201 -0
  540. package/registry/files/whenever.ts +70 -0
  541. package/registry/files/window-size.ts +151 -0
  542. package/registry/registry.json +5792 -0
  543. package/dist/catalog-D2AL3xYl.d.mts +0 -523
  544. package/dist/catalog-D5SYCsgW.mjs +0 -549
@@ -0,0 +1,122 @@
1
+ import { t as TimeoutScheduler } from "./timeout-scheduler-CI8RVLZs.mjs";
2
+ import { ComputedRef, MaybeRefOrGetter, ShallowRef } from "vue";
3
+
4
+ //#region src/use-request-idle-callback.d.ts
5
+ /** Deadline handed to idle callbacks. */
6
+ interface IdleDeadlineLike {
7
+ /** Whether the callback runs because its `timeout` elapsed. */
8
+ readonly didTimeout: boolean;
9
+ /** Milliseconds left in the current idle period. */
10
+ timeRemaining(): number;
11
+ }
12
+ /** Minimal `requestIdleCallback` capability. */
13
+ interface IdleCallbackHost {
14
+ /** Schedule `callback` for the next idle period. */
15
+ requestIdleCallback(callback: (deadline: IdleDeadlineLike) => void, options?: {
16
+ readonly timeout?: number;
17
+ }): number;
18
+ /** Cancel a scheduled callback. */
19
+ cancelIdleCallback(handle: number): void;
20
+ }
21
+ /** Scheduling options shared by {@link useRequestIdleCallback} and {@link idle}. */
22
+ interface IdleSchedulingOptions {
23
+ /**
24
+ * `requestIdleCallback` capability for alternate runtimes and tests.
25
+ *
26
+ * @default window when it implements requestIdleCallback
27
+ */
28
+ readonly host?: MaybeRefOrGetter<IdleCallbackHost | null | undefined>;
29
+ /**
30
+ * Timers used by the fallback when `host` is missing. Without timers
31
+ * (server rendering) nothing is scheduled.
32
+ *
33
+ * @default window.setTimeout and window.clearTimeout when a window exists
34
+ */
35
+ readonly timers?: MaybeRefOrGetter<TimeoutScheduler | null | undefined>;
36
+ /**
37
+ * Run the callback after this many milliseconds even when the browser is
38
+ * never idle (`deadline.didTimeout` is then true).
39
+ *
40
+ * @default undefined (no timeout)
41
+ */
42
+ readonly timeout?: number;
43
+ /**
44
+ * Clock used by the fallback deadline, in milliseconds.
45
+ *
46
+ * @default Date.now
47
+ */
48
+ readonly now?: () => number;
49
+ }
50
+ /** Options for {@link useRequestIdleCallback}. */
51
+ interface UseRequestIdleCallbackOptions extends IdleSchedulingOptions {
52
+ /**
53
+ * Schedule the callback as soon as the composable is created.
54
+ *
55
+ * @default true
56
+ */
57
+ readonly immediate?: boolean;
58
+ }
59
+ /** Options for {@link idle}. */
60
+ interface IdleOptions extends IdleSchedulingOptions {
61
+ /**
62
+ * Cancels the wait; the promise rejects with `signal.reason`.
63
+ *
64
+ * @default undefined
65
+ */
66
+ readonly signal?: AbortSignal;
67
+ }
68
+ /** Reactive state and actions returned by {@link useRequestIdleCallback}. */
69
+ interface RequestIdleCallbackControls {
70
+ /** Whether the native `requestIdleCallback` API is available. */
71
+ readonly supported: ComputedRef<boolean>;
72
+ /** Whether a callback is scheduled and has not run yet. */
73
+ readonly isPending: Readonly<ShallowRef<boolean>>;
74
+ /** Schedule the callback, replacing a pending one. No-op on the server. */
75
+ readonly start: () => void;
76
+ /** Cancel the pending callback. Repeated calls are safe. */
77
+ readonly cancel: () => void;
78
+ }
79
+ /**
80
+ * Run a callback in the next idle period with `requestIdleCallback`.
81
+ *
82
+ * When the API is missing, a `setTimeout` fallback fabricates a deadline
83
+ * with a 50 ms budget and `didTimeout: false`. The pending callback is
84
+ * cancelled when the owning reactive scope stops; outside a scope the
85
+ * caller owns `cancel()`.
86
+ *
87
+ * Server rendering: nothing is scheduled, `isPending` and `supported` are
88
+ * false. Inside a component the first callback is scheduled after mounting,
89
+ * so hydration renders the server state first.
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * const { start } = useRequestIdleCallback((deadline) => {
94
+ * while (deadline.timeRemaining() > 1 && queue.length) queue.shift()?.();
95
+ * }, { timeout: 2000, immediate: false });
96
+ * ```
97
+ *
98
+ * @param callback Receives the idle deadline.
99
+ * @param options Hosts, timeout and start policy.
100
+ * @default options {}
101
+ * @returns Scheduling state and actions.
102
+ */
103
+ declare function useRequestIdleCallback(callback: (deadline: IdleDeadlineLike) => void, options?: UseRequestIdleCallbackOptions): RequestIdleCallbackControls;
104
+ /**
105
+ * Resolve in the next idle period (or after `timeout`).
106
+ *
107
+ * Uses the same hosts and fallback as {@link useRequestIdleCallback}. When
108
+ * neither an idle host nor timers resolve (server rendering) it resolves on
109
+ * the next microtask with an exhausted deadline instead of hanging.
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * await idle({ timeout: 1000 });
114
+ * ```
115
+ *
116
+ * @param options Hosts, timeout and abort signal.
117
+ * @default options {}
118
+ * @returns The idle deadline; rejects with `signal.reason` when aborted.
119
+ */
120
+ declare function idle(options?: IdleOptions): Promise<IdleDeadlineLike>;
121
+ //#endregion
122
+ export { IdleCallbackHost, IdleDeadlineLike, IdleOptions, IdleSchedulingOptions, RequestIdleCallbackControls, UseRequestIdleCallbackOptions, idle, useRequestIdleCallback };
@@ -0,0 +1,147 @@
1
+ import { tryOnScopeDispose } from "./scope.mjs";
2
+ import { computed, hasInjectionContext, readonly, shallowRef, toValue, watch, watchPostEffect } from "vue";
3
+ //#region src/use-request-idle-callback.ts
4
+ /** Idle period length fabricated by the fallback, in milliseconds (the spec maximum). */
5
+ const FALLBACK_IDLE_PERIOD = 50;
6
+ function browserIdleHost() {
7
+ return typeof window !== "undefined" && typeof window.requestIdleCallback === "function" ? window : void 0;
8
+ }
9
+ function browserTimers() {
10
+ if (typeof window === "undefined") return void 0;
11
+ const target = window;
12
+ return {
13
+ setTimeout: (callback, delayMs) => target.setTimeout(callback, delayMs),
14
+ clearTimeout: (handle) => {
15
+ if (typeof handle === "number") target.clearTimeout(handle);
16
+ }
17
+ };
18
+ }
19
+ function validateTimeout(timeout) {
20
+ if (timeout !== void 0 && (!Number.isFinite(timeout) || timeout < 0)) throw new RangeError(`[VIZE_COMPOSE_IDLE_CALLBACK_INVALID_TIMEOUT] timeout must be a finite, non-negative number, received ${String(timeout)}`);
21
+ }
22
+ /** Schedule once; returns a canceller, or undefined when nothing could be scheduled. */
23
+ function scheduleIdle(options, callback) {
24
+ const host = options.host === void 0 ? browserIdleHost() : toValue(options.host);
25
+ if (host) {
26
+ const handle = host.requestIdleCallback(callback, options.timeout === void 0 ? void 0 : { timeout: options.timeout });
27
+ return () => host.cancelIdleCallback(handle);
28
+ }
29
+ const timers = options.timers === void 0 ? browserTimers() : toValue(options.timers);
30
+ if (!timers) return void 0;
31
+ const now = options.now ?? Date.now;
32
+ const handle = timers.setTimeout(() => {
33
+ const start = now();
34
+ callback({
35
+ didTimeout: false,
36
+ timeRemaining: () => Math.max(0, FALLBACK_IDLE_PERIOD - (now() - start))
37
+ });
38
+ }, 1);
39
+ return () => timers.clearTimeout(handle);
40
+ }
41
+ /**
42
+ * Run a callback in the next idle period with `requestIdleCallback`.
43
+ *
44
+ * When the API is missing, a `setTimeout` fallback fabricates a deadline
45
+ * with a 50 ms budget and `didTimeout: false`. The pending callback is
46
+ * cancelled when the owning reactive scope stops; outside a scope the
47
+ * caller owns `cancel()`.
48
+ *
49
+ * Server rendering: nothing is scheduled, `isPending` and `supported` are
50
+ * false. Inside a component the first callback is scheduled after mounting,
51
+ * so hydration renders the server state first.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const { start } = useRequestIdleCallback((deadline) => {
56
+ * while (deadline.timeRemaining() > 1 && queue.length) queue.shift()?.();
57
+ * }, { timeout: 2000, immediate: false });
58
+ * ```
59
+ *
60
+ * @param callback Receives the idle deadline.
61
+ * @param options Hosts, timeout and start policy.
62
+ * @default options {}
63
+ * @returns Scheduling state and actions.
64
+ */
65
+ function useRequestIdleCallback(callback, options = {}) {
66
+ validateTimeout(options.timeout);
67
+ const isPending = shallowRef(false);
68
+ let cancelPending;
69
+ const cancel = () => {
70
+ cancelPending?.();
71
+ cancelPending = void 0;
72
+ isPending.value = false;
73
+ };
74
+ const start = () => {
75
+ cancel();
76
+ cancelPending = scheduleIdle(options, (deadline) => {
77
+ cancelPending = void 0;
78
+ isPending.value = false;
79
+ callback(deadline);
80
+ });
81
+ isPending.value = cancelPending !== void 0;
82
+ };
83
+ const hydrated = shallowRef(!hasInjectionContext());
84
+ if (hydrated.value) {
85
+ if (options.immediate ?? true) start();
86
+ } else {
87
+ const stopReady = watch(hydrated, (ready) => {
88
+ if (!ready) return;
89
+ stopReady();
90
+ if (options.immediate ?? true) start();
91
+ }, { flush: "sync" });
92
+ watchPostEffect(() => {
93
+ hydrated.value = true;
94
+ });
95
+ }
96
+ tryOnScopeDispose(cancel);
97
+ return {
98
+ supported: computed(() => hydrated.value && (options.host === void 0 ? browserIdleHost() !== void 0 : Boolean(toValue(options.host)))),
99
+ isPending: readonly(isPending),
100
+ start,
101
+ cancel
102
+ };
103
+ }
104
+ /**
105
+ * Resolve in the next idle period (or after `timeout`).
106
+ *
107
+ * Uses the same hosts and fallback as {@link useRequestIdleCallback}. When
108
+ * neither an idle host nor timers resolve (server rendering) it resolves on
109
+ * the next microtask with an exhausted deadline instead of hanging.
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * await idle({ timeout: 1000 });
114
+ * ```
115
+ *
116
+ * @param options Hosts, timeout and abort signal.
117
+ * @default options {}
118
+ * @returns The idle deadline; rejects with `signal.reason` when aborted.
119
+ */
120
+ function idle(options = {}) {
121
+ validateTimeout(options.timeout);
122
+ const { signal } = options;
123
+ return new Promise((resolve, reject) => {
124
+ if (signal?.aborted) {
125
+ reject(signal.reason);
126
+ return;
127
+ }
128
+ const onAbort = () => {
129
+ cancel?.();
130
+ reject(signal?.reason);
131
+ };
132
+ const cancel = scheduleIdle(options, (deadline) => {
133
+ signal?.removeEventListener("abort", onAbort);
134
+ resolve(deadline);
135
+ });
136
+ if (!cancel) {
137
+ resolve({
138
+ didTimeout: false,
139
+ timeRemaining: () => 0
140
+ });
141
+ return;
142
+ }
143
+ signal?.addEventListener("abort", onAbort, { once: true });
144
+ });
145
+ }
146
+ //#endregion
147
+ export { idle, useRequestIdleCallback };
@@ -0,0 +1,149 @@
1
+ import { ComputedRef, MaybeRefOrGetter, WritableComputedRef } from "vue";
2
+
3
+ //#region src/use-route-query.d.ts
4
+ /** Raw query value: repeated keys become arrays, absent keys are `undefined`. */
5
+ type RawQueryValue = string | readonly string[] | undefined;
6
+ /** Query record as produced by `@vizejs/router` (`RouteMatch["query"]`). */
7
+ type RouteQueryRecord = Readonly<Record<string, string | readonly string[]>>;
8
+ /**
9
+ * Structural subset of a matched route. `@vizejs/router`'s `RouteMatch`
10
+ * satisfies it, so its inferred `params` type flows through without this
11
+ * package depending on the router.
12
+ */
13
+ interface RouteLocationLike {
14
+ /** Decoded path params. */
15
+ readonly params: object;
16
+ /** Parsed query. */
17
+ readonly query: RouteQueryRecord;
18
+ }
19
+ /** Converts a raw query value; `undefined` selects the default. */
20
+ type QueryParser<Value> = (raw: RawQueryValue) => Value | undefined;
21
+ /** Converts a value back to a raw query value; `undefined` removes the key. */
22
+ type QuerySerializer<Value> = (value: Value) => string | readonly string[] | undefined;
23
+ /** Built-in {@link QueryParser}s. */
24
+ declare const queryParsers: {
25
+ /** First value as a string. */readonly string: (raw: RawQueryValue) => string | undefined; /** First value as a finite number. */
26
+ readonly number: (raw: RawQueryValue) => number | undefined; /** First value as a safe integer. */
27
+ readonly integer: (raw: RawQueryValue) => number | undefined; /** `"true"`/`"1"`/`""` (present flag) → `true`, `"false"`/`"0"` → `false`. */
28
+ readonly boolean: (raw: RawQueryValue) => boolean | undefined; /** Every value as a string array. */
29
+ readonly array: (raw: RawQueryValue) => string[] | undefined;
30
+ };
31
+ /**
32
+ * Parser accepting only the given literal values.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * useRouteQuery(route, "sort", { parse: oneOf(["new", "top"]), default: "new" });
37
+ * ```
38
+ *
39
+ * @param values Allowed values.
40
+ * @returns A parser narrowing to the literal union.
41
+ */
42
+ declare function oneOf<const Values extends readonly string[]>(values: Values): QueryParser<Values[number]>;
43
+ /** Options for {@link useRouteQuery}. */
44
+ interface UseRouteQueryOptions<Value> {
45
+ /**
46
+ * Converts the raw value.
47
+ *
48
+ * @default queryParsers.string
49
+ */
50
+ readonly parse?: QueryParser<Value>;
51
+ /**
52
+ * Converts a written value back into the query.
53
+ *
54
+ * @default strings and string arrays unchanged, other values via `String`
55
+ */
56
+ readonly serialize?: QuerySerializer<Value>;
57
+ /**
58
+ * Performs the navigation for a write, receiving the complete next query.
59
+ * Without it the returned ref is read-only.
60
+ *
61
+ * @default undefined
62
+ */
63
+ readonly navigate?: (query: RouteQueryRecord) => void;
64
+ /**
65
+ * Remove the key instead of writing it when the value equals the default.
66
+ *
67
+ * @default true
68
+ */
69
+ readonly omitDefault?: boolean;
70
+ }
71
+ /** Options of a string query parameter (no parser). */
72
+ type StringQueryOptions = Omit<UseRouteQueryOptions<string>, "parse"> & {
73
+ /** Must be omitted: string parameters use {@link queryParsers.string}. */readonly parse?: undefined;
74
+ };
75
+ /**
76
+ * Typed, optionally writable view of one query parameter.
77
+ *
78
+ * The value type is inferred from `parse` and `default`: with a default the
79
+ * ref never holds `undefined`. Pass `navigate` to make the ref writable;
80
+ * writes build the next query (keeping every other key), drop the key when
81
+ * the value equals the default, and hand it to `navigate`, which is where
82
+ * the router integration pushes or replaces the URL. Works with any route
83
+ * object exposing `query`, including `@vizejs/router`'s `RouteMatch`.
84
+ * Pure derived state: SSR-safe and hydration-stable (it reads the matched
85
+ * route only).
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * const page = useRouteQuery(match, "page", {
90
+ * parse: queryParsers.integer,
91
+ * default: 1,
92
+ * navigate: (query) => navigateTo(router.resolve(match.value.name, match.value.params, { query })),
93
+ * });
94
+ * page.value += 1;
95
+ * ```
96
+ *
97
+ * @param route Reactive matched route.
98
+ * @param key Query key.
99
+ * @param options Parser, default, serializer, and navigation.
100
+ * @default options {}
101
+ * @returns A computed ref (writable when `navigate` is given).
102
+ */
103
+ declare function useRouteQuery(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options: StringQueryOptions & {
104
+ readonly default: string;
105
+ readonly navigate: (query: RouteQueryRecord) => void;
106
+ }): WritableComputedRef<string>;
107
+ declare function useRouteQuery(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options: StringQueryOptions & {
108
+ readonly navigate: (query: RouteQueryRecord) => void;
109
+ }): WritableComputedRef<string | undefined, string | undefined>;
110
+ declare function useRouteQuery(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options: StringQueryOptions & {
111
+ readonly default: string;
112
+ }): ComputedRef<string>;
113
+ declare function useRouteQuery(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options?: StringQueryOptions): ComputedRef<string | undefined>;
114
+ declare function useRouteQuery<Value>(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options: UseRouteQueryOptions<Value> & {
115
+ readonly default: NoInfer<Value>;
116
+ readonly navigate: (query: RouteQueryRecord) => void;
117
+ }): WritableComputedRef<Value>;
118
+ declare function useRouteQuery<Value>(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options: UseRouteQueryOptions<Value> & {
119
+ readonly navigate: (query: RouteQueryRecord) => void;
120
+ }): WritableComputedRef<Value | undefined, Value | undefined>;
121
+ declare function useRouteQuery<Value>(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options: UseRouteQueryOptions<Value> & {
122
+ readonly default: NoInfer<Value>;
123
+ }): ComputedRef<Value>;
124
+ declare function useRouteQuery<Value>(route: MaybeRefOrGetter<RouteLocationLike>, key: string, options: UseRouteQueryOptions<Value>): ComputedRef<Value | undefined>;
125
+ /** Params object of a route location. */
126
+ type RouteParamsOf<Route extends RouteLocationLike> = Route["params"];
127
+ /**
128
+ * Typed view of the matched route's path params.
129
+ *
130
+ * Without a key, returns all params (typed from the route table when the
131
+ * route comes from `@vizejs/router`). With a key, returns that param; with
132
+ * a parser, the parsed value. Pure derived state: SSR-safe.
133
+ *
134
+ * @example
135
+ * ```ts
136
+ * const params = useRouteParams(match); // ComputedRef<{ readonly id: string }>
137
+ * const id = useRouteParams(match, "id", Number); // ComputedRef<number>
138
+ * ```
139
+ *
140
+ * @param route Reactive matched route.
141
+ * @param key Param name.
142
+ * @param parse Converts the raw param.
143
+ * @returns Computed params, param, or parsed param.
144
+ */
145
+ declare function useRouteParams<Route extends RouteLocationLike>(route: MaybeRefOrGetter<Route>): ComputedRef<RouteParamsOf<Route>>;
146
+ declare function useRouteParams<Route extends RouteLocationLike, Key extends keyof Route["params"]>(route: MaybeRefOrGetter<Route>, key: Key): ComputedRef<Route["params"][Key]>;
147
+ declare function useRouteParams<Route extends RouteLocationLike, Key extends keyof Route["params"], Value>(route: MaybeRefOrGetter<Route>, key: Key, parse: (raw: Route["params"][Key]) => Value): ComputedRef<Value>;
148
+ //#endregion
149
+ export { QueryParser, QuerySerializer, RawQueryValue, RouteLocationLike, RouteParamsOf, RouteQueryRecord, StringQueryOptions, UseRouteQueryOptions, oneOf, queryParsers, useRouteParams, useRouteQuery };
@@ -0,0 +1,86 @@
1
+ import { computed, toValue } from "vue";
2
+ //#region src/use-route-query.ts
3
+ /** Built-in {@link QueryParser}s. */
4
+ const queryParsers = {
5
+ /** First value as a string. */
6
+ string: (raw) => typeof raw === "string" ? raw : raw?.[0],
7
+ /** First value as a finite number. */
8
+ number: (raw) => {
9
+ const text = typeof raw === "string" ? raw : raw?.[0];
10
+ if (text === void 0 || text.trim() === "") return void 0;
11
+ const value = Number(text);
12
+ return Number.isFinite(value) ? value : void 0;
13
+ },
14
+ /** First value as a safe integer. */
15
+ integer: (raw) => {
16
+ const text = typeof raw === "string" ? raw : raw?.[0];
17
+ return text !== void 0 && /^-?\d+$/.test(text) && Number.isSafeInteger(Number(text)) ? Number(text) : void 0;
18
+ },
19
+ /** `"true"`/`"1"`/`""` (present flag) → `true`, `"false"`/`"0"` → `false`. */
20
+ boolean: (raw) => {
21
+ const text = typeof raw === "string" ? raw : raw?.[0];
22
+ if (text === void 0) return void 0;
23
+ if (text === "true" || text === "1" || text === "") return true;
24
+ if (text === "false" || text === "0") return false;
25
+ },
26
+ /** Every value as a string array. */
27
+ array: (raw) => raw === void 0 ? void 0 : typeof raw === "string" ? [raw] : [...raw]
28
+ };
29
+ /**
30
+ * Parser accepting only the given literal values.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * useRouteQuery(route, "sort", { parse: oneOf(["new", "top"]), default: "new" });
35
+ * ```
36
+ *
37
+ * @param values Allowed values.
38
+ * @returns A parser narrowing to the literal union.
39
+ */
40
+ function oneOf(values) {
41
+ const allowed = new Set(values);
42
+ const isAllowed = (text) => allowed.has(text);
43
+ return (raw) => {
44
+ const text = typeof raw === "string" ? raw : raw?.[0];
45
+ return text !== void 0 && isAllowed(text) ? text : void 0;
46
+ };
47
+ }
48
+ function defaultSerialize(value) {
49
+ if (value === void 0 || value === null) return void 0;
50
+ if (typeof value === "string") return value;
51
+ if (Array.isArray(value)) return value.map((item) => typeof item === "string" ? item : JSON.stringify(item));
52
+ return typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" ? value.toString() : JSON.stringify(value);
53
+ }
54
+ function sameRaw(left, right) {
55
+ if (typeof left === "string" || typeof right === "string" || !left || !right) return left === right;
56
+ return left.length === right.length && left.every((item, index) => item === right[index]);
57
+ }
58
+ function useRouteQuery(route, key, options = {}) {
59
+ const parse = options.parse ?? queryParsers.string;
60
+ const read = () => parse(toValue(route).query[key]) ?? options.default;
61
+ const navigate = options.navigate;
62
+ if (navigate === void 0) return computed(read);
63
+ const serialize = (value) => options.serialize === void 0 ? defaultSerialize(value) : options.serialize(value);
64
+ return computed({
65
+ get: read,
66
+ set: (value) => {
67
+ const current = toValue(route).query;
68
+ const raw = (options.omitDefault ?? true) && "default" in options && sameRaw(serialize(value), serialize(options.default)) ? void 0 : serialize(value);
69
+ if (sameRaw(raw, current[key])) return;
70
+ const next = { ...current };
71
+ if (raw === void 0) Reflect.deleteProperty(next, key);
72
+ else next[key] = raw;
73
+ navigate(next);
74
+ }
75
+ });
76
+ }
77
+ function useRouteParams(route, ...args) {
78
+ return computed(() => {
79
+ const { params } = toValue(route);
80
+ if (args.length === 0) return params;
81
+ const raw = Reflect.get(params, args[0]);
82
+ return args.length === 2 ? args[1](raw) : raw;
83
+ });
84
+ }
85
+ //#endregion
86
+ export { oneOf, queryParsers, useRouteParams, useRouteQuery };
@@ -0,0 +1,156 @@
1
+ import { t as TimeoutScheduler } from "./timeout-scheduler-CI8RVLZs.mjs";
2
+ import { ComputedRef, MaybeRef, MaybeRefOrGetter, ShallowRef } from "vue";
3
+
4
+ //#region src/use-scheduler-post-task.d.ts
5
+ /** Priorities defined by the Prioritized Task Scheduling API. */
6
+ type SchedulerTaskPriority = "user-blocking" | "user-visible" | "background";
7
+ /** Options passed to {@link SchedulerHost.postTask}. */
8
+ interface SchedulerPostTaskInit {
9
+ /** Fixed task priority; overrides the signal's priority. */
10
+ readonly priority?: SchedulerTaskPriority;
11
+ /** Delay before the task is queued, in milliseconds. */
12
+ readonly delay?: number;
13
+ /** Aborts the task (a `TaskSignal` also carries a mutable priority). */
14
+ readonly signal?: AbortSignal;
15
+ }
16
+ /** Minimal `scheduler` global. */
17
+ interface SchedulerHost {
18
+ /** Queue `callback`; resolves with its result, rejects with the abort reason. */
19
+ postTask<Result>(callback: () => Result | PromiseLike<Result>, options?: SchedulerPostTaskInit): Promise<Result>;
20
+ /** Yield to the event loop, continuing with inherited priority. */
21
+ yield?(): Promise<void>;
22
+ }
23
+ /** Minimal `TaskController` instance. */
24
+ interface TaskControllerLike {
25
+ /** Signal handed to `postTask`. */
26
+ readonly signal: AbortSignal;
27
+ /** Abort every task using this controller's signal. */
28
+ abort(reason?: unknown): void;
29
+ /** Change the priority of every task using this controller's signal. */
30
+ setPriority(priority: SchedulerTaskPriority): void;
31
+ }
32
+ /** Minimal `TaskController` constructor. */
33
+ type TaskControllerHost = new (init?: {
34
+ readonly priority?: SchedulerTaskPriority;
35
+ }) => TaskControllerLike;
36
+ /** Options for {@link useSchedulerPostTask}. */
37
+ interface UseSchedulerPostTaskOptions {
38
+ /**
39
+ * Prioritized Task Scheduling capability for alternate runtimes and tests.
40
+ *
41
+ * @default window.scheduler when it implements postTask
42
+ */
43
+ readonly scheduler?: MaybeRefOrGetter<SchedulerHost | null | undefined>;
44
+ /**
45
+ * `TaskController` constructor. A ref (not a getter) because the host is a
46
+ * constructor function. Without it tasks use a plain `AbortController`
47
+ * and receive the priority explicitly, so `setPriority` cannot re-prioritize
48
+ * them.
49
+ *
50
+ * @default window.TaskController when it exists
51
+ */
52
+ readonly TaskController?: MaybeRef<TaskControllerHost | null | undefined>;
53
+ /**
54
+ * Timers used when `scheduler` is missing. Without timers (server
55
+ * rendering) `postTask` rejects.
56
+ *
57
+ * @default window.setTimeout and window.clearTimeout when a window exists
58
+ */
59
+ readonly timers?: MaybeRefOrGetter<TimeoutScheduler | null | undefined>;
60
+ /**
61
+ * Initial priority of tasks posted without an explicit priority.
62
+ *
63
+ * @default "user-visible"
64
+ */
65
+ readonly priority?: SchedulerTaskPriority;
66
+ }
67
+ /** Per-call options of {@link SchedulerPostTaskControls.postTask}. */
68
+ interface PostTaskCallOptions {
69
+ /**
70
+ * Fixed priority for this task; `setPriority` no longer affects it.
71
+ *
72
+ * @default the composable priority
73
+ */
74
+ readonly priority?: SchedulerTaskPriority;
75
+ /**
76
+ * Delay before the task is queued, in milliseconds.
77
+ *
78
+ * @default 0
79
+ */
80
+ readonly delay?: number;
81
+ /**
82
+ * Aborts this task only.
83
+ *
84
+ * @default undefined
85
+ */
86
+ readonly signal?: AbortSignal;
87
+ }
88
+ /** Reactive state and actions returned by {@link useSchedulerPostTask}. */
89
+ interface SchedulerPostTaskControls {
90
+ /** Whether the native `scheduler.postTask` API is available. */
91
+ readonly supported: ComputedRef<boolean>;
92
+ /** Priority applied to tasks posted without an explicit priority. */
93
+ readonly priority: Readonly<ShallowRef<SchedulerTaskPriority>>;
94
+ /** Number of posted tasks that have not settled. */
95
+ readonly pending: Readonly<ShallowRef<number>>;
96
+ /**
97
+ * Post a task.
98
+ *
99
+ * @param callback Task body; may return a value or a promise.
100
+ * @param options Priority, delay and abort signal.
101
+ * @default options {}
102
+ * @returns The callback result; rejects with the abort reason when
103
+ * aborted, or with `[VIZE_COMPOSE_POST_TASK_UNAVAILABLE]` when neither the
104
+ * scheduler nor timers exist (server rendering).
105
+ */
106
+ readonly postTask: <Result>(callback: () => Result | PromiseLike<Result>, options?: PostTaskCallOptions) => Promise<Result>;
107
+ /**
108
+ * Re-prioritize the composable and every pending task without a fixed priority.
109
+ *
110
+ * @param priority New priority.
111
+ */
112
+ readonly setPriority: (priority: SchedulerTaskPriority) => void;
113
+ /**
114
+ * Abort every pending task of this composable.
115
+ *
116
+ * @param reason Rejection reason (an AbortError by default).
117
+ */
118
+ readonly abort: (reason?: unknown) => void;
119
+ /**
120
+ * Yield to the event loop: `scheduler.yield()`, else a zero-delay timer,
121
+ * else a resolved promise.
122
+ *
123
+ * @returns Resolves when the continuation may run.
124
+ */
125
+ readonly yield: () => Promise<void>;
126
+ }
127
+ /**
128
+ * Post prioritized tasks with the Prioritized Task Scheduling API.
129
+ *
130
+ * Every task gets its own controller (a `TaskController` when available),
131
+ * so `setPriority` re-prioritizes pending tasks and `abort` rejects them;
132
+ * pending tasks are aborted when the owning reactive scope stops (their
133
+ * promises reject with an AbortError; outside a scope the caller owns
134
+ * `abort()`).
135
+ *
136
+ * Fallback without `scheduler`: tasks run from `setTimeout(delay)` in
137
+ * timer (FIFO) order. Priorities are ignored, so a later "user-blocking"
138
+ * task does not overtake an earlier "background" one, and tasks do not
139
+ * yield to rendering or input the way native tasks do.
140
+ *
141
+ * Server rendering: nothing is scheduled, `supported` is false and
142
+ * `postTask` rejects.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * const { postTask } = useSchedulerPostTask();
147
+ * const total = await postTask(() => expensiveSum(rows), { priority: "background" });
148
+ * ```
149
+ *
150
+ * @param options Hosts and the initial priority.
151
+ * @default options {}
152
+ * @returns Task state and actions.
153
+ */
154
+ declare function useSchedulerPostTask(options?: UseSchedulerPostTaskOptions): SchedulerPostTaskControls;
155
+ //#endregion
156
+ export { PostTaskCallOptions, SchedulerHost, SchedulerPostTaskControls, SchedulerPostTaskInit, SchedulerTaskPriority, TaskControllerHost, TaskControllerLike, UseSchedulerPostTaskOptions, useSchedulerPostTask };