@vizejs/composable 0.426.3 → 0.428.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.
- package/dist/abort-signal.d.mts +1 -1
- package/dist/active-element.d.mts +37 -0
- package/dist/active-element.mjs +56 -0
- package/dist/animate.d.mts +114 -0
- package/dist/animate.mjs +157 -0
- package/dist/battery.d.mts +61 -0
- package/dist/battery.mjs +90 -0
- package/dist/breakpoints.d.mts +82 -0
- package/dist/breakpoints.mjs +91 -0
- package/dist/catalog-BeTXFKxF.d.mts +4188 -0
- package/dist/catalog-r4Z5nptX.mjs +5144 -0
- package/dist/catalog.d.mts +1 -1
- package/dist/catalog.mjs +1 -1
- package/dist/color-mode.d.mts +131 -0
- package/dist/color-mode.mjs +133 -0
- package/dist/computed-async.d.mts +63 -0
- package/dist/computed-async.mjs +43 -0
- package/dist/computed-with-control.d.mts +44 -0
- package/dist/computed-with-control.mjs +54 -0
- package/dist/create-event-hook.d.mts +77 -0
- package/dist/create-event-hook.mjs +66 -0
- package/dist/create-global-state.d.mts +24 -0
- package/dist/create-global-state.mjs +34 -0
- package/dist/create-injection-state.d.mts +51 -0
- package/dist/create-injection-state.mjs +19 -0
- package/dist/create-shared-composable.d.mts +38 -0
- package/dist/create-shared-composable.mjs +54 -0
- package/dist/device-motion.d.mts +71 -0
- package/dist/device-motion.mjs +75 -0
- package/dist/device-orientation.d.mts +82 -0
- package/dist/device-orientation.mjs +86 -0
- package/dist/device-pixel-ratio.d.mts +45 -0
- package/dist/device-pixel-ratio.mjs +50 -0
- package/dist/document-visibility.mjs +6 -2
- package/dist/draggable.d.mts +121 -0
- package/dist/draggable.mjs +153 -0
- package/dist/element-bounding.d.mts +87 -0
- package/dist/element-bounding.mjs +95 -0
- package/dist/element-by-point.d.mts +70 -0
- package/dist/element-by-point.mjs +69 -0
- package/dist/element-hover.d.mts +42 -0
- package/dist/element-hover.mjs +70 -0
- package/dist/element-ref.d.mts +34 -0
- package/dist/element-ref.mjs +23 -0
- package/dist/element-target-Crpxl4D9.d.mts +60 -0
- package/dist/element-target.d.mts +2 -0
- package/dist/element-target.mjs +58 -0
- package/dist/event-listener.mjs +7 -3
- package/dist/focus.d.mts +69 -0
- package/dist/focus.mjs +124 -0
- package/dist/fps.d.mts +59 -0
- package/dist/fps.mjs +64 -0
- package/dist/geolocation.d.mts +98 -0
- package/dist/geolocation.mjs +86 -0
- package/dist/i18n.d.mts +237 -0
- package/dist/i18n.mjs +215 -0
- package/dist/icu-message.d.mts +235 -0
- package/dist/icu-message.mjs +343 -0
- package/dist/idle.d.mts +79 -0
- package/dist/idle.mjs +90 -0
- package/dist/index.d.mts +172 -6
- package/dist/index.mjs +173 -7
- package/dist/infinite-scroll.d.mts +56 -0
- package/dist/infinite-scroll.mjs +72 -0
- package/dist/intersection-observer.d.mts +122 -0
- package/dist/intersection-observer.mjs +117 -0
- package/dist/magic-keys.d.mts +121 -0
- package/dist/magic-keys.mjs +163 -0
- package/dist/math.d.mts +96 -0
- package/dist/math.mjs +84 -0
- package/dist/media-query.d.mts +3 -1
- package/dist/media-query.mjs +5 -3
- package/dist/mouse-in-element.d.mts +49 -0
- package/dist/mouse-in-element.mjs +66 -0
- package/dist/mouse.d.mts +77 -0
- package/dist/mouse.mjs +100 -0
- package/dist/mutation-observer.d.mts +98 -0
- package/dist/mutation-observer.mjs +69 -0
- package/dist/network.d.mts +96 -0
- package/dist/network.mjs +117 -0
- package/dist/on-click-outside.d.mts +69 -0
- package/dist/on-click-outside.mjs +115 -0
- package/dist/on-key-stroke.d.mts +71 -0
- package/dist/on-key-stroke.mjs +79 -0
- package/dist/on-long-press.d.mts +82 -0
- package/dist/on-long-press.mjs +105 -0
- package/dist/on-start-typing.d.mts +44 -0
- package/dist/on-start-typing.mjs +61 -0
- package/dist/page-leave.d.mts +26 -0
- package/dist/page-leave.mjs +40 -0
- package/dist/parent-element.d.mts +16 -0
- package/dist/parent-element.mjs +27 -0
- package/dist/pinch.d.mts +73 -0
- package/dist/pinch.mjs +138 -0
- package/dist/pointer-lock.d.mts +79 -0
- package/dist/pointer-lock.mjs +126 -0
- package/dist/pointer.d.mts +78 -0
- package/dist/pointer.mjs +95 -0
- package/dist/preferences.d.mts +55 -0
- package/dist/preferences.mjs +63 -0
- package/dist/preferred-languages.d.mts +43 -0
- package/dist/preferred-languages.mjs +44 -0
- package/dist/reactify.d.mts +28 -0
- package/dist/reactify.mjs +7 -0
- package/dist/ref-auto-reset.d.mts +47 -0
- package/dist/ref-auto-reset.mjs +70 -0
- package/dist/ref-debounced.d.mts +29 -0
- package/dist/ref-debounced.mjs +29 -0
- package/dist/ref-default.d.mts +27 -0
- package/dist/ref-default.mjs +33 -0
- package/dist/resize-observer.d.mts +96 -0
- package/dist/resize-observer.mjs +111 -0
- package/dist/resolver.d.mts +124 -0
- package/dist/resolver.mjs +138 -0
- package/dist/retry-async.d.mts +2 -2
- package/dist/retry-delay-DYsdq4SE.d.mts +73 -0
- package/dist/retry-delay.d.mts +1 -72
- package/dist/screen-orientation.d.mts +77 -0
- package/dist/screen-orientation.mjs +74 -0
- package/dist/scroll-lock.d.mts +37 -0
- package/dist/scroll-lock.mjs +50 -0
- package/dist/scroll.d.mts +158 -0
- package/dist/scroll.mjs +172 -0
- package/dist/standard-schema-DmNgFVK5.d.mts +107 -0
- package/dist/standard-schema.d.mts +2 -0
- package/dist/standard-schema.mjs +60 -0
- package/dist/swipe.d.mts +125 -0
- package/dist/swipe.mjs +225 -0
- package/dist/sync-ref.d.mts +80 -0
- package/dist/sync-ref.mjs +43 -0
- package/dist/text-selection.d.mts +46 -0
- package/dist/text-selection.mjs +62 -0
- package/dist/textarea-autosize.d.mts +58 -0
- package/dist/textarea-autosize.mjs +54 -0
- package/dist/timeout-scheduler-CI8RVLZs.d.mts +18 -0
- package/dist/timeout-scheduler.d.mts +1 -17
- package/dist/to-reactive.d.mts +26 -0
- package/dist/to-reactive.mjs +46 -0
- package/dist/transition.d.mts +125 -0
- package/dist/transition.mjs +266 -0
- package/dist/until.d.mts +177 -0
- package/dist/until.mjs +111 -0
- package/dist/use-array.d.mts +112 -0
- package/dist/use-array.mjs +90 -0
- package/dist/use-async-queue.d.mts +109 -0
- package/dist/use-async-queue.mjs +96 -0
- package/dist/use-async-state.d.mts +86 -0
- package/dist/use-async-state.mjs +41 -0
- package/dist/use-barcode-detector.d.mts +159 -0
- package/dist/use-barcode-detector.mjs +143 -0
- package/dist/use-bluetooth.d.mts +164 -0
- package/dist/use-bluetooth.mjs +183 -0
- package/dist/use-broadcast-channel.d.mts +115 -0
- package/dist/use-broadcast-channel.mjs +121 -0
- package/dist/use-builtin-ai.d.mts +342 -0
- package/dist/use-builtin-ai.mjs +261 -0
- package/dist/use-clipboard.d.mts +169 -0
- package/dist/use-clipboard.mjs +226 -0
- package/dist/use-compression-stream.d.mts +173 -0
- package/dist/use-compression-stream.mjs +166 -0
- package/dist/use-confirm-dialog.d.mts +70 -0
- package/dist/use-confirm-dialog.mjs +57 -0
- package/dist/use-contact-picker.d.mts +117 -0
- package/dist/use-contact-picker.mjs +103 -0
- package/dist/use-cookie.d.mts +196 -0
- package/dist/use-cookie.mjs +259 -0
- package/dist/use-countdown.d.mts +85 -0
- package/dist/use-countdown.mjs +74 -0
- package/dist/use-css-var.d.mts +96 -0
- package/dist/use-css-var.mjs +104 -0
- package/dist/use-cycle-list.d.mts +76 -0
- package/dist/use-cycle-list.mjs +39 -0
- package/dist/use-date-format.d.mts +103 -0
- package/dist/use-date-format.mjs +147 -0
- package/dist/use-date-time-format.d.mts +75 -0
- package/dist/use-date-time-format.mjs +53 -0
- package/dist/use-debounced.d.mts +1 -1
- package/dist/use-display-media.d.mts +62 -0
- package/dist/use-display-media.mjs +46 -0
- package/dist/use-display-names.d.mts +75 -0
- package/dist/use-display-names.mjs +52 -0
- package/dist/use-document-title.d.mts +88 -0
- package/dist/use-document-title.mjs +100 -0
- package/dist/use-drop-zone.d.mts +128 -0
- package/dist/use-drop-zone.mjs +154 -0
- package/dist/use-event-source.d.mts +184 -0
- package/dist/use-event-source.mjs +226 -0
- package/dist/use-eye-dropper.d.mts +79 -0
- package/dist/use-eye-dropper.mjs +68 -0
- package/dist/use-favicon.d.mts +78 -0
- package/dist/use-favicon.mjs +68 -0
- package/dist/use-fetch.d.mts +230 -0
- package/dist/use-fetch.mjs +263 -0
- package/dist/use-field.d.mts +107 -0
- package/dist/use-field.mjs +117 -0
- package/dist/use-file-dialog.d.mts +139 -0
- package/dist/use-file-dialog.mjs +101 -0
- package/dist/use-file-system-access.d.mts +184 -0
- package/dist/use-file-system-access.mjs +151 -0
- package/dist/use-form-field-props.d.mts +235 -0
- package/dist/use-form-field-props.mjs +164 -0
- package/dist/use-form.d.mts +324 -0
- package/dist/use-form.mjs +482 -0
- package/dist/use-fullscreen.d.mts +104 -0
- package/dist/use-fullscreen.mjs +95 -0
- package/dist/use-gamepad.d.mts +242 -0
- package/dist/use-gamepad.mjs +218 -0
- package/dist/use-hid.d.mts +160 -0
- package/dist/use-hid.mjs +156 -0
- package/dist/use-id-generator.d.mts +44 -0
- package/dist/use-id-generator.mjs +38 -0
- package/dist/use-image.d.mts +125 -0
- package/dist/use-image.mjs +109 -0
- package/dist/use-indexed-db.d.mts +207 -0
- package/dist/use-indexed-db.mjs +251 -0
- package/dist/use-interval-BA55gTHT.d.mts +140 -0
- package/dist/use-interval.d.mts +2 -0
- package/dist/use-interval.mjs +100 -0
- package/dist/use-list-format.d.mts +60 -0
- package/dist/use-list-format.mjs +40 -0
- package/dist/use-machine.d.mts +90 -0
- package/dist/use-machine.mjs +78 -0
- package/dist/use-map.d.mts +90 -0
- package/dist/use-map.mjs +70 -0
- package/dist/use-media-controls.d.mts +198 -0
- package/dist/use-media-controls.mjs +264 -0
- package/dist/use-memoize.d.mts +73 -0
- package/dist/use-memoize.mjs +28 -0
- package/dist/use-mounted.d.mts +24 -0
- package/dist/use-mounted.mjs +29 -0
- package/dist/use-navigation-api.d.mts +360 -0
- package/dist/use-navigation-api.mjs +231 -0
- package/dist/use-notification.d.mts +139 -0
- package/dist/use-notification.mjs +131 -0
- package/dist/use-now.d.mts +137 -0
- package/dist/use-now.mjs +44 -0
- package/dist/use-number-format.d.mts +73 -0
- package/dist/use-number-format.mjs +58 -0
- package/dist/use-object-url.d.mts +47 -0
- package/dist/use-object-url.mjs +54 -0
- package/dist/use-offset-pagination.d.mts +91 -0
- package/dist/use-offset-pagination.mjs +80 -0
- package/dist/use-payment-request.d.mts +239 -0
- package/dist/use-payment-request.mjs +206 -0
- package/dist/use-performance-observer.d.mts +285 -0
- package/dist/use-performance-observer.mjs +132 -0
- package/dist/use-permission.d.mts +99 -0
- package/dist/use-permission.mjs +92 -0
- package/dist/use-plural-rules.d.mts +79 -0
- package/dist/use-plural-rules.mjs +59 -0
- package/dist/use-push-subscription.d.mts +154 -0
- package/dist/use-push-subscription.mjs +146 -0
- package/dist/use-queue.d.mts +89 -0
- package/dist/use-queue.mjs +116 -0
- package/dist/use-raf-fn.d.mts +87 -0
- package/dist/use-raf-fn.mjs +99 -0
- package/dist/use-relative-time-format.d.mts +111 -0
- package/dist/use-relative-time-format.mjs +119 -0
- package/dist/use-request-idle-callback.d.mts +122 -0
- package/dist/use-request-idle-callback.mjs +147 -0
- package/dist/use-route-query.d.mts +149 -0
- package/dist/use-route-query.mjs +86 -0
- package/dist/use-scheduler-post-task.d.mts +156 -0
- package/dist/use-scheduler-post-task.mjs +182 -0
- package/dist/use-screen-details.d.mts +205 -0
- package/dist/use-screen-details.mjs +188 -0
- package/dist/use-script-tag.d.mts +162 -0
- package/dist/use-script-tag.mjs +171 -0
- package/dist/use-segmenter.d.mts +78 -0
- package/dist/use-segmenter.mjs +66 -0
- package/dist/use-selection.d.mts +125 -0
- package/dist/use-selection.mjs +77 -0
- package/dist/use-serial.d.mts +165 -0
- package/dist/use-serial.mjs +205 -0
- package/dist/use-service-worker.d.mts +177 -0
- package/dist/use-service-worker.mjs +178 -0
- package/dist/use-set.d.mts +96 -0
- package/dist/use-set.mjs +74 -0
- package/dist/use-share.d.mts +92 -0
- package/dist/use-share.mjs +99 -0
- package/dist/use-sorted-locale.d.mts +62 -0
- package/dist/use-sorted-locale.mjs +52 -0
- package/dist/use-sorted.d.mts +29 -0
- package/dist/use-sorted.mjs +14 -0
- package/dist/use-speech-recognition.d.mts +150 -0
- package/dist/use-speech-recognition.mjs +168 -0
- package/dist/use-speech-synthesis.d.mts +148 -0
- package/dist/use-speech-synthesis.mjs +152 -0
- package/dist/use-stack.d.mts +83 -0
- package/dist/use-stack.mjs +93 -0
- package/dist/use-stepper.d.mts +79 -0
- package/dist/use-stepper.mjs +52 -0
- package/dist/use-storage-estimate.d.mts +151 -0
- package/dist/use-storage-estimate.mjs +170 -0
- package/dist/use-storage.d.mts +214 -0
- package/dist/use-storage.mjs +415 -0
- package/dist/use-style-tag.d.mts +102 -0
- package/dist/use-style-tag.mjs +91 -0
- package/dist/use-supported.d.mts +23 -0
- package/dist/use-supported.mjs +26 -0
- package/dist/use-throttled.d.mts +1 -1
- package/dist/use-time-ago.d.mts +163 -0
- package/dist/use-time-ago.mjs +95 -0
- package/dist/use-timeout.d.mts +122 -0
- package/dist/use-timeout.mjs +65 -0
- package/dist/use-url-hash.d.mts +88 -0
- package/dist/use-url-hash.mjs +145 -0
- package/dist/use-url-search-params.d.mts +223 -0
- package/dist/use-url-search-params.mjs +295 -0
- package/dist/use-usb.d.mts +212 -0
- package/dist/use-usb.mjs +137 -0
- package/dist/use-user-activation.d.mts +83 -0
- package/dist/use-user-activation.mjs +113 -0
- package/dist/use-user-media.d.mts +194 -0
- package/dist/use-user-media.mjs +214 -0
- package/dist/use-v-model.d.mts +113 -0
- package/dist/use-v-model.mjs +40 -0
- package/dist/use-vibrate.d.mts +81 -0
- package/dist/use-vibrate.mjs +90 -0
- package/dist/use-view-transition.d.mts +106 -0
- package/dist/use-view-transition.mjs +101 -0
- package/dist/use-visual-viewport.d.mts +105 -0
- package/dist/use-visual-viewport.mjs +104 -0
- package/dist/use-wake-lock.d.mts +96 -0
- package/dist/use-wake-lock.mjs +106 -0
- package/dist/use-web-authn.d.mts +404 -0
- package/dist/use-web-authn.mjs +323 -0
- package/dist/use-web-locks.d.mts +180 -0
- package/dist/use-web-locks.mjs +136 -0
- package/dist/use-web-midi.d.mts +148 -0
- package/dist/use-web-midi.mjs +140 -0
- package/dist/use-web-vitals.d.mts +142 -0
- package/dist/use-web-vitals.mjs +248 -0
- package/dist/use-websocket.d.mts +218 -0
- package/dist/use-websocket.mjs +257 -0
- package/dist/use-worker-fn.d.mts +119 -0
- package/dist/use-worker-fn.mjs +162 -0
- package/dist/virtual-list.d.mts +105 -0
- package/dist/virtual-list.mjs +128 -0
- package/dist/watch-debounced.d.mts +84 -0
- package/dist/watch-debounced.mjs +84 -0
- package/dist/watch-ignorable.d.mts +47 -0
- package/dist/watch-ignorable.mjs +61 -0
- package/dist/watch-once.d.mts +29 -0
- package/dist/watch-once.mjs +10 -0
- package/dist/watch-pausable.d.mts +51 -0
- package/dist/watch-pausable.mjs +23 -0
- package/dist/watch-source.d.mts +29 -0
- package/dist/watch-source.mjs +1 -0
- package/dist/watch-throttled.d.mts +70 -0
- package/dist/watch-throttled.mjs +94 -0
- package/dist/whenever.d.mts +39 -0
- package/dist/whenever.mjs +41 -0
- package/dist/window-size.d.mts +87 -0
- package/dist/window-size.mjs +65 -0
- package/package.json +846 -5
- package/registry/files/abort-signal.ts +292 -0
- package/registry/files/active-element.ts +93 -0
- package/registry/files/animate.ts +322 -0
- package/registry/files/async-resource.ts +190 -0
- package/registry/files/battery.ts +166 -0
- package/registry/files/breakpoints.ts +166 -0
- package/registry/files/capability.ts +171 -0
- package/registry/files/color-mode.ts +274 -0
- package/registry/files/computed-async.ts +123 -0
- package/registry/files/computed-with-control.ts +80 -0
- package/registry/files/create-event-hook.ts +139 -0
- package/registry/files/create-global-state.ts +34 -0
- package/registry/files/create-injection-state.ts +75 -0
- package/registry/files/create-shared-composable.ts +74 -0
- package/registry/files/device-motion.ts +152 -0
- package/registry/files/device-orientation.ts +168 -0
- package/registry/files/device-pixel-ratio.ts +100 -0
- package/registry/files/disposal-scope.ts +201 -0
- package/registry/files/document-visibility.ts +152 -0
- package/registry/files/draggable.ts +273 -0
- package/registry/files/element-bounding.ts +175 -0
- package/registry/files/element-by-point.ts +149 -0
- package/registry/files/element-hover.ts +104 -0
- package/registry/files/element-ref.ts +58 -0
- package/registry/files/element-target.ts +99 -0
- package/registry/files/event-listener.ts +188 -0
- package/registry/files/focus.ts +181 -0
- package/registry/files/fps.ts +133 -0
- package/registry/files/geolocation.ts +214 -0
- package/registry/files/i18n.ts +524 -0
- package/registry/files/icu-message.ts +701 -0
- package/registry/files/idle.ts +176 -0
- package/registry/files/infinite-scroll.ts +135 -0
- package/registry/files/intersection-observer.ts +261 -0
- package/registry/files/locale.ts +148 -0
- package/registry/files/magic-keys.ts +298 -0
- package/registry/files/math.ts +175 -0
- package/registry/files/media-query.ts +102 -0
- package/registry/files/mouse-in-element.ts +107 -0
- package/registry/files/mouse.ts +167 -0
- package/registry/files/mutation-observer.ts +183 -0
- package/registry/files/network.ts +229 -0
- package/registry/files/on-click-outside.ts +178 -0
- package/registry/files/on-key-stroke.ts +135 -0
- package/registry/files/on-long-press.ts +188 -0
- package/registry/files/on-start-typing.ts +88 -0
- package/registry/files/page-leave.ts +57 -0
- package/registry/files/parent-element.ts +29 -0
- package/registry/files/pinch.ts +187 -0
- package/registry/files/pointer-lock.ts +232 -0
- package/registry/files/pointer.ts +153 -0
- package/registry/files/preferences.ts +98 -0
- package/registry/files/preferred-languages.ts +88 -0
- package/registry/files/reactify.ts +39 -0
- package/registry/files/ref-auto-reset.ts +102 -0
- package/registry/files/ref-debounced.ts +34 -0
- package/registry/files/ref-default.ts +35 -0
- package/registry/files/resize-observer.ts +220 -0
- package/registry/files/retry-async.ts +261 -0
- package/registry/files/retry-delay.ts +132 -0
- package/registry/files/scope.ts +21 -0
- package/registry/files/screen-orientation.ts +165 -0
- package/registry/files/scroll-lock.ts +80 -0
- package/registry/files/scroll.ts +338 -0
- package/registry/files/standard-schema.ts +163 -0
- package/registry/files/swipe.ts +321 -0
- package/registry/files/sync-ref.ts +166 -0
- package/registry/files/temporal.ts +182 -0
- package/registry/files/text-selection.ts +110 -0
- package/registry/files/textarea-autosize.ts +114 -0
- package/registry/files/timeout-scheduler.ts +16 -0
- package/registry/files/to-reactive.ts +44 -0
- package/registry/files/transition.ts +271 -0
- package/registry/files/until.ts +352 -0
- package/registry/files/use-array.ts +201 -0
- package/registry/files/use-async-queue.ts +278 -0
- package/registry/files/use-async-state.ts +139 -0
- package/registry/files/use-barcode-detector.ts +321 -0
- package/registry/files/use-bluetooth.ts +409 -0
- package/registry/files/use-broadcast-channel.ts +250 -0
- package/registry/files/use-builtin-ai.ts +674 -0
- package/registry/files/use-clipboard.ts +425 -0
- package/registry/files/use-compression-stream.ts +364 -0
- package/registry/files/use-confirm-dialog.ts +137 -0
- package/registry/files/use-contact-picker.ts +246 -0
- package/registry/files/use-cookie.ts +500 -0
- package/registry/files/use-countdown.ts +161 -0
- package/registry/files/use-counter.ts +147 -0
- package/registry/files/use-css-var.ts +191 -0
- package/registry/files/use-cycle-list.ts +136 -0
- package/registry/files/use-date-format.ts +281 -0
- package/registry/files/use-date-time-format.ts +113 -0
- package/registry/files/use-debounced.ts +163 -0
- package/registry/files/use-display-media.ts +89 -0
- package/registry/files/use-display-names.ts +122 -0
- package/registry/files/use-document-title.ts +196 -0
- package/registry/files/use-drop-zone.ts +287 -0
- package/registry/files/use-event-source.ts +470 -0
- package/registry/files/use-eye-dropper.ts +134 -0
- package/registry/files/use-favicon.ts +140 -0
- package/registry/files/use-fetch.ts +578 -0
- package/registry/files/use-field.ts +247 -0
- package/registry/files/use-file-dialog.ts +257 -0
- package/registry/files/use-file-system-access.ts +383 -0
- package/registry/files/use-form-field-props.ts +381 -0
- package/registry/files/use-form.ts +980 -0
- package/registry/files/use-fullscreen.ts +214 -0
- package/registry/files/use-gamepad.ts +463 -0
- package/registry/files/use-hid.ts +359 -0
- package/registry/files/use-history.ts +231 -0
- package/registry/files/use-id-generator.ts +61 -0
- package/registry/files/use-image.ts +253 -0
- package/registry/files/use-indexed-db.ts +508 -0
- package/registry/files/use-interval.ts +253 -0
- package/registry/files/use-list-format.ts +85 -0
- package/registry/files/use-machine.ts +171 -0
- package/registry/files/use-map.ts +145 -0
- package/registry/files/use-media-controls.ts +545 -0
- package/registry/files/use-memoize.ts +118 -0
- package/registry/files/use-mounted.ts +30 -0
- package/registry/files/use-navigation-api.ts +641 -0
- package/registry/files/use-notification.ts +285 -0
- package/registry/files/use-now.ts +194 -0
- package/registry/files/use-number-format.ts +120 -0
- package/registry/files/use-object-url.ts +87 -0
- package/registry/files/use-offset-pagination.ts +168 -0
- package/registry/files/use-payment-request.ts +465 -0
- package/registry/files/use-performance-observer.ts +469 -0
- package/registry/files/use-permission.ts +220 -0
- package/registry/files/use-plural-rules.ts +134 -0
- package/registry/files/use-previous.ts +62 -0
- package/registry/files/use-push-subscription.ts +352 -0
- package/registry/files/use-queue.ts +197 -0
- package/registry/files/use-raf-fn.ts +176 -0
- package/registry/files/use-relative-time-format.ts +201 -0
- package/registry/files/use-request-idle-callback.ts +278 -0
- package/registry/files/use-route-query.ts +300 -0
- package/registry/files/use-scheduler-post-task.ts +397 -0
- package/registry/files/use-screen-details.ts +393 -0
- package/registry/files/use-script-tag.ts +341 -0
- package/registry/files/use-segmenter.ts +147 -0
- package/registry/files/use-selection.ts +233 -0
- package/registry/files/use-serial.ts +404 -0
- package/registry/files/use-service-worker.ts +413 -0
- package/registry/files/use-set.ts +154 -0
- package/registry/files/use-share.ts +168 -0
- package/registry/files/use-sorted-locale.ts +130 -0
- package/registry/files/use-sorted.ts +49 -0
- package/registry/files/use-speech-recognition.ts +357 -0
- package/registry/files/use-speech-synthesis.ts +333 -0
- package/registry/files/use-stack.ts +164 -0
- package/registry/files/use-stepper.ts +166 -0
- package/registry/files/use-storage-estimate.ts +352 -0
- package/registry/files/use-storage.ts +635 -0
- package/registry/files/use-style-tag.ts +200 -0
- package/registry/files/use-supported.ts +26 -0
- package/registry/files/use-throttled.ts +215 -0
- package/registry/files/use-time-ago.ts +276 -0
- package/registry/files/use-timeout.ts +218 -0
- package/registry/files/use-toggle.ts +54 -0
- package/registry/files/use-url-hash.ts +280 -0
- package/registry/files/use-url-search-params.ts +497 -0
- package/registry/files/use-usb.ts +395 -0
- package/registry/files/use-user-activation.ts +215 -0
- package/registry/files/use-user-media.ts +422 -0
- package/registry/files/use-v-model.ts +210 -0
- package/registry/files/use-vibrate.ts +174 -0
- package/registry/files/use-view-transition.ts +229 -0
- package/registry/files/use-visual-viewport.ts +228 -0
- package/registry/files/use-wake-lock.ts +206 -0
- package/registry/files/use-web-authn.ts +793 -0
- package/registry/files/use-web-locks.ts +363 -0
- package/registry/files/use-web-midi.ts +306 -0
- package/registry/files/use-web-vitals.ts +409 -0
- package/registry/files/use-websocket.ts +553 -0
- package/registry/files/use-worker-fn.ts +306 -0
- package/registry/files/virtual-list.ts +230 -0
- package/registry/files/watch-debounced.ts +206 -0
- package/registry/files/watch-ignorable.ts +128 -0
- package/registry/files/watch-once.ts +46 -0
- package/registry/files/watch-pausable.ts +93 -0
- package/registry/files/watch-source.ts +51 -0
- package/registry/files/watch-throttled.ts +201 -0
- package/registry/files/whenever.ts +70 -0
- package/registry/files/window-size.ts +151 -0
- package/registry/registry.json +5792 -0
- package/dist/catalog-D2AL3xYl.d.mts +0 -523
- package/dist/catalog-D5SYCsgW.mjs +0 -549
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { computed, readonly, ref, unref } from "vue";
|
|
2
|
+
//#region src/use-eye-dropper.ts
|
|
3
|
+
function isEyeDropperHost(candidate) {
|
|
4
|
+
return typeof candidate === "function";
|
|
5
|
+
}
|
|
6
|
+
function browserEyeDropper() {
|
|
7
|
+
if (typeof window === "undefined") return void 0;
|
|
8
|
+
const candidate = Reflect.get(window, "EyeDropper");
|
|
9
|
+
return isEyeDropperHost(candidate) ? candidate : void 0;
|
|
10
|
+
}
|
|
11
|
+
function isAbort(error) {
|
|
12
|
+
return typeof error === "object" && error !== null && "name" in error && error.name === "AbortError";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Pick a color from anywhere on screen with the EyeDropper API.
|
|
16
|
+
*
|
|
17
|
+
* `open` resolves to a discriminated {@link EyeDropperResult}; dismissing
|
|
18
|
+
* the picker (Escape) or aborting via `signal` yields `"cancelled"`.
|
|
19
|
+
* The composable holds no resources beyond an open picker, which the
|
|
20
|
+
* caller controls through `signal`.
|
|
21
|
+
*
|
|
22
|
+
* Server rendering: `supported` is false and `sRGBHex` is `initialValue`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const { open, sRGBHex, supported } = useEyeDropper();
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @param options Capability and initial color.
|
|
30
|
+
* @default options {}
|
|
31
|
+
* @returns Picker state and the open action.
|
|
32
|
+
*/
|
|
33
|
+
function useEyeDropper(options = {}) {
|
|
34
|
+
const sRGBHex = ref(options.initialValue ?? "");
|
|
35
|
+
const picking = ref(false);
|
|
36
|
+
const resolveHost = () => options.host === void 0 ? browserEyeDropper() : unref(options.host) ?? void 0;
|
|
37
|
+
const open = async (signal) => {
|
|
38
|
+
const Host = resolveHost();
|
|
39
|
+
if (!Host) return {
|
|
40
|
+
status: "unsupported",
|
|
41
|
+
error: void 0
|
|
42
|
+
};
|
|
43
|
+
picking.value = true;
|
|
44
|
+
try {
|
|
45
|
+
const color = await new Host().open(signal === void 0 ? {} : { signal });
|
|
46
|
+
sRGBHex.value = color.sRGBHex;
|
|
47
|
+
return {
|
|
48
|
+
status: "picked",
|
|
49
|
+
sRGBHex: color.sRGBHex
|
|
50
|
+
};
|
|
51
|
+
} catch (error) {
|
|
52
|
+
return {
|
|
53
|
+
status: isAbort(error) ? "cancelled" : "failed",
|
|
54
|
+
error
|
|
55
|
+
};
|
|
56
|
+
} finally {
|
|
57
|
+
picking.value = false;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
supported: computed(() => resolveHost() !== void 0),
|
|
62
|
+
sRGBHex: readonly(sRGBHex),
|
|
63
|
+
picking: readonly(picking),
|
|
64
|
+
open
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
export { useEyeDropper };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ComputedRef, MaybeRefOrGetter, Ref } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/use-favicon.d.ts
|
|
4
|
+
/** `<link>` subset updated by {@link useFavicon}. */
|
|
5
|
+
interface FaviconLink {
|
|
6
|
+
/** Link relation. */
|
|
7
|
+
rel: string;
|
|
8
|
+
/** Icon URL. */
|
|
9
|
+
href: string;
|
|
10
|
+
}
|
|
11
|
+
/** Document capability used by {@link useFavicon}. */
|
|
12
|
+
interface FaviconHost {
|
|
13
|
+
/** Find every `<link>` whose `rel` contains `rel`. */
|
|
14
|
+
findIcons(rel: string): Iterable<FaviconLink>;
|
|
15
|
+
/** Create (and attach to `<head>`) a new `<link rel={rel}>`. */
|
|
16
|
+
createIcon(rel: string): FaviconLink;
|
|
17
|
+
}
|
|
18
|
+
/** Options for {@link useFavicon}. */
|
|
19
|
+
interface UseFaviconOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Prefix prepended to every icon value.
|
|
22
|
+
*
|
|
23
|
+
* @default ""
|
|
24
|
+
*/
|
|
25
|
+
readonly baseUrl?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Link relation matched (substring) and used for created links.
|
|
28
|
+
*
|
|
29
|
+
* @default "icon"
|
|
30
|
+
*/
|
|
31
|
+
readonly rel?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Document capability for alternate runtimes and tests.
|
|
34
|
+
*
|
|
35
|
+
* @default window.document's `<head>`
|
|
36
|
+
*/
|
|
37
|
+
readonly host?: MaybeRefOrGetter<FaviconHost | null | undefined>;
|
|
38
|
+
}
|
|
39
|
+
/** Reactive state returned by {@link useFavicon}. */
|
|
40
|
+
interface FaviconControls {
|
|
41
|
+
/**
|
|
42
|
+
* Icon URL (before `baseUrl`). Writable; `null`/`undefined` leaves the
|
|
43
|
+
* current icons untouched. When a getter was passed, the next getter
|
|
44
|
+
* change overwrites manual assignments.
|
|
45
|
+
*/
|
|
46
|
+
readonly icon: Ref<string | null | undefined>;
|
|
47
|
+
/**
|
|
48
|
+
* Whether a document capability is attached. Inside a component it stays
|
|
49
|
+
* `false` until mounted, so hydration matches the server render.
|
|
50
|
+
*/
|
|
51
|
+
readonly supported: ComputedRef<boolean>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Bind the page favicon to reactive state.
|
|
55
|
+
*
|
|
56
|
+
* Every `<link>` whose `rel` contains `rel` (`icon`, `shortcut icon`,
|
|
57
|
+
* `apple-touch-icon`, …) gets `baseUrl + icon` as its `href`; when none
|
|
58
|
+
* exists, one `<link rel="icon">` is created. Accepts a writable ref (used
|
|
59
|
+
* as-is), a getter (followed), a plain string, or nothing (an owned ref).
|
|
60
|
+
*
|
|
61
|
+
* Server rendering: this is a client-only side effect. The document is
|
|
62
|
+
* never touched on the server, and `icon` keeps its given value; emit the
|
|
63
|
+
* initial `<link rel="icon">` through the application's head manager.
|
|
64
|
+
* Watchers are released with the owning reactive scope; the last icon stays.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* const { icon } = useFavicon(() => (unread.value ? "/unread.svg" : "/icon.svg"));
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @param icon Reactive icon source.
|
|
72
|
+
* @param options Base URL, relation, and capability.
|
|
73
|
+
* @default options {}
|
|
74
|
+
* @returns The icon ref and support flag.
|
|
75
|
+
*/
|
|
76
|
+
declare function useFavicon(icon?: MaybeRefOrGetter<string | null | undefined>, options?: UseFaviconOptions): FaviconControls;
|
|
77
|
+
//#endregion
|
|
78
|
+
export { FaviconControls, FaviconHost, FaviconLink, UseFaviconOptions, useFavicon };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { useMounted } from "./use-mounted.mjs";
|
|
2
|
+
import { computed, hasInjectionContext, isRef, ref, toValue, watch } from "vue";
|
|
3
|
+
//#region src/use-favicon.ts
|
|
4
|
+
function browserFaviconHost() {
|
|
5
|
+
if (typeof window === "undefined") return void 0;
|
|
6
|
+
const { document, HTMLLinkElement, CSS } = window;
|
|
7
|
+
return {
|
|
8
|
+
findIcons: (rel) => [...document.head.querySelectorAll(`link[rel*="${CSS.escape(rel)}"]`)].filter((element) => element instanceof HTMLLinkElement),
|
|
9
|
+
createIcon: (rel) => {
|
|
10
|
+
const link = document.createElement("link");
|
|
11
|
+
link.rel = rel;
|
|
12
|
+
document.head.append(link);
|
|
13
|
+
return link;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Bind the page favicon to reactive state.
|
|
19
|
+
*
|
|
20
|
+
* Every `<link>` whose `rel` contains `rel` (`icon`, `shortcut icon`,
|
|
21
|
+
* `apple-touch-icon`, …) gets `baseUrl + icon` as its `href`; when none
|
|
22
|
+
* exists, one `<link rel="icon">` is created. Accepts a writable ref (used
|
|
23
|
+
* as-is), a getter (followed), a plain string, or nothing (an owned ref).
|
|
24
|
+
*
|
|
25
|
+
* Server rendering: this is a client-only side effect. The document is
|
|
26
|
+
* never touched on the server, and `icon` keeps its given value; emit the
|
|
27
|
+
* initial `<link rel="icon">` through the application's head manager.
|
|
28
|
+
* Watchers are released with the owning reactive scope; the last icon stays.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const { icon } = useFavicon(() => (unread.value ? "/unread.svg" : "/icon.svg"));
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @param icon Reactive icon source.
|
|
36
|
+
* @param options Base URL, relation, and capability.
|
|
37
|
+
* @default options {}
|
|
38
|
+
* @returns The icon ref and support flag.
|
|
39
|
+
*/
|
|
40
|
+
function useFavicon(icon, options = {}) {
|
|
41
|
+
const baseUrl = options.baseUrl ?? "";
|
|
42
|
+
const rel = options.rel ?? "icon";
|
|
43
|
+
const resolveHost = () => options.host === void 0 ? browserFaviconHost() : toValue(options.host) ?? void 0;
|
|
44
|
+
const state = isRef(icon) ? icon : ref(toValue(icon));
|
|
45
|
+
if (typeof icon === "function") watch(icon, (next) => {
|
|
46
|
+
state.value = next;
|
|
47
|
+
});
|
|
48
|
+
watch([state, resolveHost], ([next, host]) => {
|
|
49
|
+
if (!host || next === null || next === void 0) return;
|
|
50
|
+
const href = `${baseUrl}${next}`;
|
|
51
|
+
let found = false;
|
|
52
|
+
for (const link of host.findIcons(rel)) {
|
|
53
|
+
found = true;
|
|
54
|
+
if (link.href !== href) link.href = href;
|
|
55
|
+
}
|
|
56
|
+
if (!found) host.createIcon(rel).href = href;
|
|
57
|
+
}, {
|
|
58
|
+
immediate: true,
|
|
59
|
+
flush: "sync"
|
|
60
|
+
});
|
|
61
|
+
const mounted = hasInjectionContext() ? useMounted() : void 0;
|
|
62
|
+
return {
|
|
63
|
+
icon: state,
|
|
64
|
+
supported: computed(() => (mounted?.value ?? true) && resolveHost() !== void 0)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
export { useFavicon };
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { t as TimeoutScheduler } from "./timeout-scheduler-CI8RVLZs.mjs";
|
|
2
|
+
import { RetryAsyncOptions } from "./retry-async.mjs";
|
|
3
|
+
import { ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
|
|
4
|
+
|
|
5
|
+
//#region src/use-fetch.d.ts
|
|
6
|
+
/** Minimal `fetch` implementation accepted by {@link useFetch}. */
|
|
7
|
+
type FetchImplementation = (input: string, init: RequestInit) => Promise<Response>;
|
|
8
|
+
/** Built-in body readers selectable with `responseType`. */
|
|
9
|
+
type FetchResponseType = "json" | "text" | "blob" | "arrayBuffer" | "formData";
|
|
10
|
+
/** Data type produced by each built-in {@link FetchResponseType}. */
|
|
11
|
+
interface FetchResponseTypeMap {
|
|
12
|
+
/** Parsed JSON; narrow it with `validate`. */
|
|
13
|
+
readonly json: unknown;
|
|
14
|
+
/** Response text. */
|
|
15
|
+
readonly text: string;
|
|
16
|
+
/** Binary body as a `Blob`. */
|
|
17
|
+
readonly blob: Blob;
|
|
18
|
+
/** Binary body as an `ArrayBuffer`. */
|
|
19
|
+
readonly arrayBuffer: ArrayBuffer;
|
|
20
|
+
/** Multipart or URL-encoded form body. */
|
|
21
|
+
readonly formData: FormData;
|
|
22
|
+
}
|
|
23
|
+
/** Lifecycle status of a {@link useFetch} resource. */
|
|
24
|
+
type FetchStatus = "idle" | "pending" | "success" | "error" | "aborted";
|
|
25
|
+
/** Discriminated failure reported by {@link useFetch}. */
|
|
26
|
+
type FetchFailure = {
|
|
27
|
+
/** The server answered with a non-2xx status. */readonly kind: "http"; /** HTTP status code. */
|
|
28
|
+
readonly status: number; /** The complete response, body unread. */
|
|
29
|
+
readonly response: Response;
|
|
30
|
+
} | {
|
|
31
|
+
/** The request could not be performed (DNS, CORS, offline, ...). */readonly kind: "network"; /** Exact value thrown by the fetch implementation. */
|
|
32
|
+
readonly cause: unknown;
|
|
33
|
+
} | {
|
|
34
|
+
/** The body could not be decoded. */readonly kind: "parse"; /** Exact value thrown by the body reader or `parse`. */
|
|
35
|
+
readonly cause: unknown;
|
|
36
|
+
} | {
|
|
37
|
+
/** The decoded body was rejected by `validate`. */readonly kind: "invalid"; /** Rejected decoded body. */
|
|
38
|
+
readonly data: unknown;
|
|
39
|
+
} | {
|
|
40
|
+
/** The request was aborted by `abort()`, a newer execution, or the scope. */readonly kind: "aborted"; /** Abort reason. */
|
|
41
|
+
readonly reason: unknown;
|
|
42
|
+
} | {
|
|
43
|
+
/** The request exceeded `timeoutMs`. */readonly kind: "timeout"; /** Configured timeout in milliseconds. */
|
|
44
|
+
readonly timeoutMs: number;
|
|
45
|
+
};
|
|
46
|
+
/** Explicit outcome of one {@link FetchControls.execute} call. */
|
|
47
|
+
type FetchResult<Data> = {
|
|
48
|
+
/** The request succeeded. */readonly status: "success"; /** Decoded, validated data. */
|
|
49
|
+
readonly data: Data; /** Response the data was read from. */
|
|
50
|
+
readonly response: Response;
|
|
51
|
+
} | {
|
|
52
|
+
/** The request failed; see {@link FetchFailure}. */readonly status: "error"; /** Failure details. */
|
|
53
|
+
readonly error: FetchFailure;
|
|
54
|
+
} | {
|
|
55
|
+
/** A newer execution replaced this one before it settled. */readonly status: "superseded";
|
|
56
|
+
};
|
|
57
|
+
/** Request description passed through the `beforeRequest` interceptor. */
|
|
58
|
+
interface FetchRequest {
|
|
59
|
+
/** Resolved request URL. */
|
|
60
|
+
readonly url: string;
|
|
61
|
+
/** Request options (headers, method, body, ...). */
|
|
62
|
+
readonly init: RequestInit;
|
|
63
|
+
}
|
|
64
|
+
/** Context supplied to the `beforeRequest` interceptor. */
|
|
65
|
+
interface FetchBeforeRequestContext extends FetchRequest {
|
|
66
|
+
/** Signal aborted when the execution is aborted, superseded, or times out. */
|
|
67
|
+
readonly signal: AbortSignal;
|
|
68
|
+
}
|
|
69
|
+
/** Context supplied to the `afterResponse` interceptor. */
|
|
70
|
+
interface FetchAfterResponseContext<Data> {
|
|
71
|
+
/** Request that produced the response. */
|
|
72
|
+
readonly request: FetchRequest;
|
|
73
|
+
/** Successful response. */
|
|
74
|
+
readonly response: Response;
|
|
75
|
+
/** Decoded, validated data. */
|
|
76
|
+
readonly data: Data;
|
|
77
|
+
}
|
|
78
|
+
/** Retry policy accepted by {@link UseFetchOptions.retry}. */
|
|
79
|
+
type FetchRetryOptions = Omit<RetryAsyncOptions, "signal" | "scheduler">;
|
|
80
|
+
/** Options for {@link useFetch}. */
|
|
81
|
+
interface UseFetchOptions<Data> {
|
|
82
|
+
/**
|
|
83
|
+
* Reactive request options. Changes trigger a refetch when `refetch` is on.
|
|
84
|
+
*
|
|
85
|
+
* @default {}
|
|
86
|
+
*/
|
|
87
|
+
readonly init?: MaybeRefOrGetter<RequestInit | undefined>;
|
|
88
|
+
/**
|
|
89
|
+
* Fetch implementation. Passing one explicitly also enables automatic
|
|
90
|
+
* execution on the server.
|
|
91
|
+
*
|
|
92
|
+
* @default window.fetch when a browser window exists
|
|
93
|
+
*/
|
|
94
|
+
readonly fetch?: FetchImplementation;
|
|
95
|
+
/**
|
|
96
|
+
* Built-in body reader. Ignored when `parse` is supplied.
|
|
97
|
+
*
|
|
98
|
+
* @default "json"
|
|
99
|
+
*/
|
|
100
|
+
readonly responseType?: FetchResponseType;
|
|
101
|
+
/**
|
|
102
|
+
* Custom body decoder. Throwing produces a `"parse"` failure.
|
|
103
|
+
*
|
|
104
|
+
* @default the `responseType` reader
|
|
105
|
+
*/
|
|
106
|
+
readonly parse?: (response: Response) => Promise<Data>;
|
|
107
|
+
/**
|
|
108
|
+
* Type guard applied to the decoded body. Rejection produces an
|
|
109
|
+
* `"invalid"` failure. Without it, JSON is trusted to match `Data`.
|
|
110
|
+
*
|
|
111
|
+
* @default accepts every decoded body
|
|
112
|
+
*/
|
|
113
|
+
readonly validate?: (data: unknown) => data is Data;
|
|
114
|
+
/**
|
|
115
|
+
* Execute as soon as a URL is available. Automatic execution only happens
|
|
116
|
+
* in a browser or when `fetch` is supplied explicitly.
|
|
117
|
+
*
|
|
118
|
+
* @default true
|
|
119
|
+
*/
|
|
120
|
+
readonly immediate?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Re-execute when the reactive URL or `init` changes.
|
|
123
|
+
*
|
|
124
|
+
* @default true
|
|
125
|
+
*/
|
|
126
|
+
readonly refetch?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Data exposed before the first success and after `reset`-like failures.
|
|
129
|
+
*
|
|
130
|
+
* @default undefined
|
|
131
|
+
*/
|
|
132
|
+
readonly initialData?: Data;
|
|
133
|
+
/**
|
|
134
|
+
* Abort the request after this many milliseconds (`"timeout"` failure).
|
|
135
|
+
*
|
|
136
|
+
* @default undefined (no timeout)
|
|
137
|
+
*/
|
|
138
|
+
readonly timeoutMs?: number;
|
|
139
|
+
/**
|
|
140
|
+
* Retry count or full retry policy (see `retryAsync`). By default only
|
|
141
|
+
* network failures and HTTP 408, 429, and 5xx responses are retried.
|
|
142
|
+
*
|
|
143
|
+
* @default 0
|
|
144
|
+
*/
|
|
145
|
+
readonly retry?: number | FetchRetryOptions;
|
|
146
|
+
/**
|
|
147
|
+
* Timer host for timeouts and retry backoff.
|
|
148
|
+
*
|
|
149
|
+
* @default globalThis timer functions
|
|
150
|
+
*/
|
|
151
|
+
readonly scheduler?: TimeoutScheduler;
|
|
152
|
+
/**
|
|
153
|
+
* Inspect or rewrite the request before it is sent. Return a replacement
|
|
154
|
+
* request, nothing to keep it, or `false` to abort the execution.
|
|
155
|
+
*
|
|
156
|
+
* @default undefined
|
|
157
|
+
*/
|
|
158
|
+
readonly beforeRequest?: (context: FetchBeforeRequestContext) => FetchRequest | false | void | Promise<FetchRequest | false | void>;
|
|
159
|
+
/**
|
|
160
|
+
* Observe or transform successful data before it is committed.
|
|
161
|
+
*
|
|
162
|
+
* @default undefined
|
|
163
|
+
*/
|
|
164
|
+
readonly afterResponse?: (context: FetchAfterResponseContext<Data>) => Data | void | Promise<Data | void>;
|
|
165
|
+
/**
|
|
166
|
+
* Observe failures of the newest execution.
|
|
167
|
+
*
|
|
168
|
+
* @default undefined
|
|
169
|
+
*/
|
|
170
|
+
readonly onError?: (failure: FetchFailure) => void;
|
|
171
|
+
}
|
|
172
|
+
/** Reactive state and controls returned by {@link useFetch}. */
|
|
173
|
+
interface FetchControls<Data> {
|
|
174
|
+
/** Data of the newest successful execution, or `initialData`. */
|
|
175
|
+
readonly data: Readonly<ShallowRef<Data | undefined>>;
|
|
176
|
+
/** Failure of the newest settled execution. */
|
|
177
|
+
readonly error: Readonly<ShallowRef<FetchFailure | undefined>>;
|
|
178
|
+
/** Lifecycle status driven by the newest execution. */
|
|
179
|
+
readonly status: Readonly<Ref<FetchStatus>>;
|
|
180
|
+
/** Response of the newest execution that reached the server. */
|
|
181
|
+
readonly response: Readonly<ShallowRef<Response | undefined>>;
|
|
182
|
+
/** HTTP status of `response`. */
|
|
183
|
+
readonly statusCode: ComputedRef<number | undefined>;
|
|
184
|
+
/** Whether an execution is pending. */
|
|
185
|
+
readonly pending: ComputedRef<boolean>;
|
|
186
|
+
/**
|
|
187
|
+
* Run the request now, superseding any pending one. Never rejects. Await it
|
|
188
|
+
* in `onServerPrefetch` to fetch during server rendering.
|
|
189
|
+
*/
|
|
190
|
+
readonly execute: () => Promise<FetchResult<Data>>;
|
|
191
|
+
/**
|
|
192
|
+
* Abort the pending execution.
|
|
193
|
+
*
|
|
194
|
+
* @returns Whether an execution was aborted.
|
|
195
|
+
*/
|
|
196
|
+
readonly abort: (reason?: unknown) => boolean;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Fetch typed data with a custom `parse` decoder.
|
|
200
|
+
*
|
|
201
|
+
* @typeParam Data Value produced by `parse`.
|
|
202
|
+
* @param url Reactive URL; `null`/`undefined` keeps the resource idle.
|
|
203
|
+
* @param options Options including the decoder.
|
|
204
|
+
* @returns Reactive state and controls.
|
|
205
|
+
*/
|
|
206
|
+
declare function useFetch<Data>(url: MaybeRefOrGetter<string | URL | null | undefined>, options: UseFetchOptions<Data> & {
|
|
207
|
+
readonly parse: (response: Response) => Promise<Data>;
|
|
208
|
+
}): FetchControls<Data>;
|
|
209
|
+
/**
|
|
210
|
+
* Fetch a non-JSON body whose type follows `responseType`.
|
|
211
|
+
*
|
|
212
|
+
* @param url Reactive URL; `null`/`undefined` keeps the resource idle.
|
|
213
|
+
* @param options Options including the body reader.
|
|
214
|
+
* @returns Reactive state and controls.
|
|
215
|
+
*/
|
|
216
|
+
declare function useFetch<const Kind extends Exclude<FetchResponseType, "json">>(url: MaybeRefOrGetter<string | URL | null | undefined>, options: UseFetchOptions<FetchResponseTypeMap[Kind]> & {
|
|
217
|
+
readonly responseType: Kind;
|
|
218
|
+
}): FetchControls<FetchResponseTypeMap[Kind]>;
|
|
219
|
+
/**
|
|
220
|
+
* Fetch JSON. Supply `validate` to narrow `unknown` to a checked type.
|
|
221
|
+
*
|
|
222
|
+
* @param url Reactive URL; `null`/`undefined` keeps the resource idle.
|
|
223
|
+
* @param options Options.
|
|
224
|
+
* @returns Reactive state and controls.
|
|
225
|
+
*/
|
|
226
|
+
declare function useFetch<Data = unknown>(url: MaybeRefOrGetter<string | URL | null | undefined>, options?: UseFetchOptions<Data> & {
|
|
227
|
+
readonly responseType?: "json";
|
|
228
|
+
}): FetchControls<Data>;
|
|
229
|
+
//#endregion
|
|
230
|
+
export { FetchAfterResponseContext, FetchBeforeRequestContext, FetchControls, FetchFailure, FetchImplementation, FetchRequest, FetchResponseType, FetchResponseTypeMap, FetchResult, FetchRetryOptions, FetchStatus, UseFetchOptions, useFetch };
|