@vizejs/composable 0.426.3 → 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.
- 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,29 @@
|
|
|
1
|
+
import { UseDebouncedOptions } from "./use-debounced.mjs";
|
|
2
|
+
import { MaybeRefOrGetter, ShallowRef } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/ref-debounced.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Readonly ref that follows `source` after it stayed quiet for `waitMs`.
|
|
7
|
+
*
|
|
8
|
+
* Shorthand for `useDebounced(source, waitMs, options).debounced` when the
|
|
9
|
+
* pending flag and cancel/flush controls are not needed. Inherits every rule
|
|
10
|
+
* of {@link useDebounced}: synchronous mirroring on the server, reactive
|
|
11
|
+
* wait, and scope-bound cleanup.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const query = ref("");
|
|
16
|
+
* const debouncedQuery = refDebounced(query, 300);
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @param source Reactive source.
|
|
20
|
+
* @param waitMs Reactive quiet period in milliseconds.
|
|
21
|
+
* @param options Server and scheduler policy.
|
|
22
|
+
* @default options {}
|
|
23
|
+
* @throws `RangeError` tagged `VIZE_COMPOSE_DEBOUNCE_INVALID_WAIT` for invalid
|
|
24
|
+
* waits (see {@link useDebounced}).
|
|
25
|
+
* @returns The debounced readonly ref.
|
|
26
|
+
*/
|
|
27
|
+
declare function refDebounced<Value>(source: MaybeRefOrGetter<Value>, waitMs: MaybeRefOrGetter<number>, options?: UseDebouncedOptions): Readonly<ShallowRef<Value>>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { refDebounced };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useDebounced } from "./use-debounced.mjs";
|
|
2
|
+
//#region src/ref-debounced.ts
|
|
3
|
+
/**
|
|
4
|
+
* Readonly ref that follows `source` after it stayed quiet for `waitMs`.
|
|
5
|
+
*
|
|
6
|
+
* Shorthand for `useDebounced(source, waitMs, options).debounced` when the
|
|
7
|
+
* pending flag and cancel/flush controls are not needed. Inherits every rule
|
|
8
|
+
* of {@link useDebounced}: synchronous mirroring on the server, reactive
|
|
9
|
+
* wait, and scope-bound cleanup.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const query = ref("");
|
|
14
|
+
* const debouncedQuery = refDebounced(query, 300);
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @param source Reactive source.
|
|
18
|
+
* @param waitMs Reactive quiet period in milliseconds.
|
|
19
|
+
* @param options Server and scheduler policy.
|
|
20
|
+
* @default options {}
|
|
21
|
+
* @throws `RangeError` tagged `VIZE_COMPOSE_DEBOUNCE_INVALID_WAIT` for invalid
|
|
22
|
+
* waits (see {@link useDebounced}).
|
|
23
|
+
* @returns The debounced readonly ref.
|
|
24
|
+
*/
|
|
25
|
+
function refDebounced(source, waitMs, options = {}) {
|
|
26
|
+
return useDebounced(source, waitMs, options).debounced;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { refDebounced };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MaybeRefOrGetter, Ref, WritableComputedRef } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/ref-default.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* View a nullable ref through a default value.
|
|
6
|
+
*
|
|
7
|
+
* Reads return the source value, or the (possibly reactive) default while the
|
|
8
|
+
* source holds `null` or `undefined`, so the read type drops those members.
|
|
9
|
+
* Writes go straight to the source and accept its full type, including
|
|
10
|
+
* `null`/`undefined` to fall back to the default again. Pure derived state:
|
|
11
|
+
* SSR-safe and nothing to dispose.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const raw = ref<string | undefined>();
|
|
16
|
+
* const name = refDefault(raw, "Anonymous");
|
|
17
|
+
* name.value; // "Anonymous"
|
|
18
|
+
* name.value = "Ada"; // raw.value === "Ada"
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param source Writable nullable ref.
|
|
22
|
+
* @param defaultValue Reactive fallback.
|
|
23
|
+
* @returns A writable computed ref whose reads never yield `null`/`undefined`.
|
|
24
|
+
*/
|
|
25
|
+
declare function refDefault<Value>(source: Ref<Value>, defaultValue: MaybeRefOrGetter<NonNullable<Value>>): WritableComputedRef<NonNullable<Value>, Value>;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { refDefault };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { computed, toValue } from "vue";
|
|
2
|
+
//#region src/ref-default.ts
|
|
3
|
+
/**
|
|
4
|
+
* View a nullable ref through a default value.
|
|
5
|
+
*
|
|
6
|
+
* Reads return the source value, or the (possibly reactive) default while the
|
|
7
|
+
* source holds `null` or `undefined`, so the read type drops those members.
|
|
8
|
+
* Writes go straight to the source and accept its full type, including
|
|
9
|
+
* `null`/`undefined` to fall back to the default again. Pure derived state:
|
|
10
|
+
* SSR-safe and nothing to dispose.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const raw = ref<string | undefined>();
|
|
15
|
+
* const name = refDefault(raw, "Anonymous");
|
|
16
|
+
* name.value; // "Anonymous"
|
|
17
|
+
* name.value = "Ada"; // raw.value === "Ada"
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @param source Writable nullable ref.
|
|
21
|
+
* @param defaultValue Reactive fallback.
|
|
22
|
+
* @returns A writable computed ref whose reads never yield `null`/`undefined`.
|
|
23
|
+
*/
|
|
24
|
+
function refDefault(source, defaultValue) {
|
|
25
|
+
return computed({
|
|
26
|
+
get: () => source.value ?? toValue(defaultValue),
|
|
27
|
+
set: (value) => {
|
|
28
|
+
source.value = value;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { refDefault };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { n as MaybeElementTarget, r as MaybeElementTargets } from "./element-target-Crpxl4D9.mjs";
|
|
2
|
+
import { MaybeRefOrGetter, Ref } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/resize-observer.d.ts
|
|
5
|
+
/** Runtime capability that supplies the `ResizeObserver` constructor. */
|
|
6
|
+
interface ResizeObserverHost {
|
|
7
|
+
/** `ResizeObserver` constructor, absent in unsupported runtimes. */
|
|
8
|
+
readonly ResizeObserver?: new (callback: ResizeObserverCallback) => ResizeObserver;
|
|
9
|
+
}
|
|
10
|
+
/** Options for {@link useResizeObserver}. */
|
|
11
|
+
interface UseResizeObserverOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Box model reported by the observer.
|
|
14
|
+
*
|
|
15
|
+
* @default "content-box"
|
|
16
|
+
*/
|
|
17
|
+
readonly box?: ResizeObserverBoxOptions;
|
|
18
|
+
/**
|
|
19
|
+
* Reactive constructor capability for alternate runtimes and tests.
|
|
20
|
+
*
|
|
21
|
+
* @default window when it provides `ResizeObserver`
|
|
22
|
+
*/
|
|
23
|
+
readonly host?: MaybeRefOrGetter<ResizeObserverHost | null | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* Target resolution timing. `"post"` observes template refs after mount.
|
|
26
|
+
*
|
|
27
|
+
* @default "post"
|
|
28
|
+
*/
|
|
29
|
+
readonly flush?: "pre" | "post" | "sync";
|
|
30
|
+
}
|
|
31
|
+
/** Controls returned by {@link useResizeObserver}. */
|
|
32
|
+
interface ResizeObserverControls {
|
|
33
|
+
/** Whether the host provides `ResizeObserver`. `false` during server rendering. */
|
|
34
|
+
readonly isSupported: Readonly<Ref<boolean>>;
|
|
35
|
+
/** Disconnect the observer and stop following the reactive targets. Idempotent. */
|
|
36
|
+
readonly stop: () => void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Observe size changes of one or more reactive elements.
|
|
40
|
+
*
|
|
41
|
+
* A single observer is (re)created whenever the resolved targets, the box
|
|
42
|
+
* option, or the host change; unresolved targets are skipped. The observer is
|
|
43
|
+
* disconnected when the owning reactive scope stops or `stop` is called.
|
|
44
|
+
* During server rendering no host resolves, `isSupported` stays `false`, and
|
|
45
|
+
* the callback never runs.
|
|
46
|
+
*
|
|
47
|
+
* Inside a component the host is read after mounting, so hydration renders
|
|
48
|
+
* the server fallback first and never mismatches.
|
|
49
|
+
*
|
|
50
|
+
* @param targets Reactive element target or list of targets.
|
|
51
|
+
* @param callback Native `ResizeObserver` callback.
|
|
52
|
+
* @param options Box model, runtime capability, and watcher timing.
|
|
53
|
+
* @default options {}
|
|
54
|
+
* @returns Support flag and stop control.
|
|
55
|
+
*/
|
|
56
|
+
declare function useResizeObserver(targets: MaybeElementTargets, callback: ResizeObserverCallback, options?: UseResizeObserverOptions): ResizeObserverControls;
|
|
57
|
+
/** Element dimensions reported by {@link useElementSize}. */
|
|
58
|
+
interface ElementSize {
|
|
59
|
+
/** Inline size in CSS pixels. */
|
|
60
|
+
readonly width: number;
|
|
61
|
+
/** Block size in CSS pixels. */
|
|
62
|
+
readonly height: number;
|
|
63
|
+
}
|
|
64
|
+
/** Options for {@link useElementSize}. */
|
|
65
|
+
interface UseElementSizeOptions extends UseResizeObserverOptions {
|
|
66
|
+
/**
|
|
67
|
+
* Size exposed before the first observation and during server rendering.
|
|
68
|
+
* Keep it identical on server and client to avoid hydration mismatches.
|
|
69
|
+
*
|
|
70
|
+
* @default { width: 0, height: 0 }
|
|
71
|
+
*/
|
|
72
|
+
readonly initialSize?: ElementSize;
|
|
73
|
+
}
|
|
74
|
+
/** Reactive size returned by {@link useElementSize}. */
|
|
75
|
+
interface ElementSizeControls extends ResizeObserverControls {
|
|
76
|
+
/** Observed inline size in CSS pixels. */
|
|
77
|
+
readonly width: Readonly<Ref<number>>;
|
|
78
|
+
/** Observed block size in CSS pixels. */
|
|
79
|
+
readonly height: Readonly<Ref<number>>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Track the rendered size of a reactive element.
|
|
83
|
+
*
|
|
84
|
+
* Reads the requested box from `contentBoxSize`/`borderBoxSize` (summing
|
|
85
|
+
* fragments) and falls back to `contentRect` for older engines. When the
|
|
86
|
+
* target unmounts the size resets to the initial value so stale geometry never
|
|
87
|
+
* leaks into the next render. Server renders expose `initialSize`.
|
|
88
|
+
*
|
|
89
|
+
* @param target Reactive element target.
|
|
90
|
+
* @param options Initial size, box model, capability, and watcher timing.
|
|
91
|
+
* @default options {}
|
|
92
|
+
* @returns Reactive width/height plus observer controls.
|
|
93
|
+
*/
|
|
94
|
+
declare function useElementSize(target: MaybeElementTarget, options?: UseElementSizeOptions): ElementSizeControls;
|
|
95
|
+
//#endregion
|
|
96
|
+
export { ElementSize, ElementSizeControls, ResizeObserverControls, ResizeObserverHost, UseElementSizeOptions, UseResizeObserverOptions, useElementSize, useResizeObserver };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { tryOnScopeDispose } from "./scope.mjs";
|
|
2
|
+
import { resolveElement, resolveElements } from "./element-target.mjs";
|
|
3
|
+
import { computed, hasInjectionContext, readonly, ref, shallowRef, toValue, watch, watchPostEffect } from "vue";
|
|
4
|
+
//#region src/resize-observer.ts
|
|
5
|
+
/**
|
|
6
|
+
* Observe size changes of one or more reactive elements.
|
|
7
|
+
*
|
|
8
|
+
* A single observer is (re)created whenever the resolved targets, the box
|
|
9
|
+
* option, or the host change; unresolved targets are skipped. The observer is
|
|
10
|
+
* disconnected when the owning reactive scope stops or `stop` is called.
|
|
11
|
+
* During server rendering no host resolves, `isSupported` stays `false`, and
|
|
12
|
+
* the callback never runs.
|
|
13
|
+
*
|
|
14
|
+
* Inside a component the host is read after mounting, so hydration renders
|
|
15
|
+
* the server fallback first and never mismatches.
|
|
16
|
+
*
|
|
17
|
+
* @param targets Reactive element target or list of targets.
|
|
18
|
+
* @param callback Native `ResizeObserver` callback.
|
|
19
|
+
* @param options Box model, runtime capability, and watcher timing.
|
|
20
|
+
* @default options {}
|
|
21
|
+
* @returns Support flag and stop control.
|
|
22
|
+
*/
|
|
23
|
+
function useResizeObserver(targets, callback, options = {}) {
|
|
24
|
+
const isSupported = ref(false);
|
|
25
|
+
const hydrated = shallowRef(!hasInjectionContext());
|
|
26
|
+
if (!hydrated.value) watchPostEffect(() => {
|
|
27
|
+
hydrated.value = true;
|
|
28
|
+
});
|
|
29
|
+
let stopWatch = watch(() => [hydrated.value ? options.host === void 0 ? browserResizeObserverHost() : toValue(options.host) : void 0, resolveElements(targets)], ([host, elements], _previous, onCleanup) => {
|
|
30
|
+
const Observer = host?.ResizeObserver;
|
|
31
|
+
isSupported.value = Observer !== void 0;
|
|
32
|
+
if (!Observer || elements.length === 0) return;
|
|
33
|
+
const observer = new Observer(callback);
|
|
34
|
+
const observeOptions = { box: options.box ?? "content-box" };
|
|
35
|
+
for (const element of elements) observer.observe(element, observeOptions);
|
|
36
|
+
onCleanup(() => observer.disconnect());
|
|
37
|
+
}, {
|
|
38
|
+
immediate: true,
|
|
39
|
+
flush: options.flush ?? "post"
|
|
40
|
+
});
|
|
41
|
+
const stop = () => {
|
|
42
|
+
stopWatch?.stop();
|
|
43
|
+
stopWatch = void 0;
|
|
44
|
+
};
|
|
45
|
+
tryOnScopeDispose(stop);
|
|
46
|
+
return {
|
|
47
|
+
isSupported: readonly(isSupported),
|
|
48
|
+
stop
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Track the rendered size of a reactive element.
|
|
53
|
+
*
|
|
54
|
+
* Reads the requested box from `contentBoxSize`/`borderBoxSize` (summing
|
|
55
|
+
* fragments) and falls back to `contentRect` for older engines. When the
|
|
56
|
+
* target unmounts the size resets to the initial value so stale geometry never
|
|
57
|
+
* leaks into the next render. Server renders expose `initialSize`.
|
|
58
|
+
*
|
|
59
|
+
* @param target Reactive element target.
|
|
60
|
+
* @param options Initial size, box model, capability, and watcher timing.
|
|
61
|
+
* @default options {}
|
|
62
|
+
* @returns Reactive width/height plus observer controls.
|
|
63
|
+
*/
|
|
64
|
+
function useElementSize(target, options = {}) {
|
|
65
|
+
const initial = options.initialSize ?? {
|
|
66
|
+
width: 0,
|
|
67
|
+
height: 0
|
|
68
|
+
};
|
|
69
|
+
const width = ref(initial.width);
|
|
70
|
+
const height = ref(initial.height);
|
|
71
|
+
const box = options.box ?? "content-box";
|
|
72
|
+
const controls = useResizeObserver(target, (entries) => {
|
|
73
|
+
const entry = entries.at(-1);
|
|
74
|
+
if (!entry) return;
|
|
75
|
+
const sizes = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;
|
|
76
|
+
if (sizes && sizes.length > 0) {
|
|
77
|
+
let inline = 0;
|
|
78
|
+
let block = 0;
|
|
79
|
+
for (const size of sizes) {
|
|
80
|
+
inline += size.inlineSize;
|
|
81
|
+
block += size.blockSize;
|
|
82
|
+
}
|
|
83
|
+
width.value = inline;
|
|
84
|
+
height.value = block;
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
width.value = entry.contentRect.width;
|
|
88
|
+
height.value = entry.contentRect.height;
|
|
89
|
+
}, options);
|
|
90
|
+
const stopReset = watch(computed(() => resolveElement(target) !== null), (isMounted) => {
|
|
91
|
+
if (isMounted) return;
|
|
92
|
+
width.value = initial.width;
|
|
93
|
+
height.value = initial.height;
|
|
94
|
+
});
|
|
95
|
+
const stop = () => {
|
|
96
|
+
stopReset.stop();
|
|
97
|
+
controls.stop();
|
|
98
|
+
};
|
|
99
|
+
tryOnScopeDispose(stop);
|
|
100
|
+
return {
|
|
101
|
+
width: readonly(width),
|
|
102
|
+
height: readonly(height),
|
|
103
|
+
isSupported: controls.isSupported,
|
|
104
|
+
stop
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function browserResizeObserverHost() {
|
|
108
|
+
return typeof window !== "undefined" && typeof window.ResizeObserver === "function" ? window : void 0;
|
|
109
|
+
}
|
|
110
|
+
//#endregion
|
|
111
|
+
export { useElementSize, useResizeObserver };
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
//#region src/resolver.d.ts
|
|
2
|
+
/** Package that owns the resolvable exports. */
|
|
3
|
+
declare const VIZE_COMPOSABLE_PACKAGE = "@vizejs/composable";
|
|
4
|
+
/** Entry name (subpath without `./`) that exposes at least one auto-importable export. */
|
|
5
|
+
type VizeComposableEntry = string;
|
|
6
|
+
/** One `vize-lib.lock.json` item (the fields the resolver reads). */
|
|
7
|
+
interface VizeComposableLockedItem {
|
|
8
|
+
/** Item name, for example `"use-toggle"`. */
|
|
9
|
+
readonly name: string;
|
|
10
|
+
/** Item kind, for example `"composable"`. */
|
|
11
|
+
readonly kind: string;
|
|
12
|
+
/** Project-relative POSIX directory the registry layout was copied into. */
|
|
13
|
+
readonly dir: string;
|
|
14
|
+
}
|
|
15
|
+
/** The parts of `vize-lib.lock.json` the resolver reads. */
|
|
16
|
+
interface VizeComposableLockfile {
|
|
17
|
+
/** Lockfile schema version. */
|
|
18
|
+
readonly lockfileVersion: number;
|
|
19
|
+
/** Pulled items. */
|
|
20
|
+
readonly items: readonly VizeComposableLockedItem[];
|
|
21
|
+
}
|
|
22
|
+
/** Options for the `@vizejs/composable` resolvers. */
|
|
23
|
+
interface VizeComposableResolverOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Only resolve exports of these entries (for example `"use-toggle"`).
|
|
26
|
+
*
|
|
27
|
+
* @default every entry
|
|
28
|
+
*/
|
|
29
|
+
readonly include?: readonly VizeComposableEntry[];
|
|
30
|
+
/**
|
|
31
|
+
* Never resolve exports of these entries.
|
|
32
|
+
*
|
|
33
|
+
* @default []
|
|
34
|
+
*/
|
|
35
|
+
readonly exclude?: readonly VizeComposableEntry[];
|
|
36
|
+
/**
|
|
37
|
+
* Only resolve these export names (for example to avoid clashing with another library).
|
|
38
|
+
*
|
|
39
|
+
* @default every runtime export
|
|
40
|
+
*/
|
|
41
|
+
readonly names?: readonly string[];
|
|
42
|
+
/**
|
|
43
|
+
* Resolve to the npm package, or to `vize lib pull` copies recorded in the lockfile.
|
|
44
|
+
*
|
|
45
|
+
* @default "package"
|
|
46
|
+
*/
|
|
47
|
+
readonly source?: "local" | "package";
|
|
48
|
+
/**
|
|
49
|
+
* Project root used to locate the lockfile and pulled directories.
|
|
50
|
+
*
|
|
51
|
+
* @default process.cwd()
|
|
52
|
+
*/
|
|
53
|
+
readonly root?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Lockfile path (relative to `root`) or an already-parsed lockfile.
|
|
56
|
+
*
|
|
57
|
+
* @default "vize-lib.lock.json"
|
|
58
|
+
*/
|
|
59
|
+
readonly lockfile?: string | VizeComposableLockfile;
|
|
60
|
+
/**
|
|
61
|
+
* In `local` mode, resolve entries that were not pulled to the package.
|
|
62
|
+
*
|
|
63
|
+
* @default true
|
|
64
|
+
*/
|
|
65
|
+
readonly fallback?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** An import produced by the resolver: `import { name } from from`. */
|
|
68
|
+
interface VizeComposableImport {
|
|
69
|
+
/** Export name. */
|
|
70
|
+
readonly name: string;
|
|
71
|
+
/** Module specifier or absolute file path. */
|
|
72
|
+
readonly from: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Read and validate `vize-lib.lock.json`.
|
|
76
|
+
*
|
|
77
|
+
* @param file Absolute lockfile path.
|
|
78
|
+
* @returns The parsed lockfile.
|
|
79
|
+
* @throws {Error} `[VIZE_COMPOSE_RESOLVER_LOCKFILE]` when missing or malformed.
|
|
80
|
+
*/
|
|
81
|
+
declare function readComposableLockfile(file: string): VizeComposableLockfile;
|
|
82
|
+
/**
|
|
83
|
+
* Every auto-importable export the options allow, with its direct subpath import.
|
|
84
|
+
*
|
|
85
|
+
* @param options Filters and source mode.
|
|
86
|
+
* @default options {}
|
|
87
|
+
* @returns Imports in catalog order.
|
|
88
|
+
*/
|
|
89
|
+
declare function listVizeComposableImports(options?: VizeComposableResolverOptions): readonly VizeComposableImport[];
|
|
90
|
+
/**
|
|
91
|
+
* `unplugin-auto-import` resolver for every `@vizejs/composable` export.
|
|
92
|
+
*
|
|
93
|
+
* Server/SSR: build-time only; reads the lockfile once in `local` mode.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* AutoImport({ resolvers: [VizeComposableResolver()] });
|
|
98
|
+
* // useToggle() -> import { useToggle } from "@vizejs/composable/use-toggle"
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @param options Filters and source mode.
|
|
102
|
+
* @default options {}
|
|
103
|
+
* @returns A name -> import resolver function.
|
|
104
|
+
*/
|
|
105
|
+
declare function VizeComposableResolver(options?: VizeComposableResolverOptions): (name: string) => VizeComposableImport | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* `unplugin-auto-import` `imports` preset: `{ "@vizejs/composable/use-toggle": ["useToggle"] }`.
|
|
108
|
+
*
|
|
109
|
+
* @param options Filters and source mode.
|
|
110
|
+
* @default options {}
|
|
111
|
+
* @returns Export names grouped by module.
|
|
112
|
+
*/
|
|
113
|
+
declare function vizeComposableImports(options?: VizeComposableResolverOptions): Readonly<Record<string, readonly string[]>>;
|
|
114
|
+
/**
|
|
115
|
+
* Global declarations for auto-imported composables, for setups without a
|
|
116
|
+
* generator (Nuxt and `unplugin-auto-import` emit their own).
|
|
117
|
+
*
|
|
118
|
+
* @param options Filters and source mode.
|
|
119
|
+
* @default options {}
|
|
120
|
+
* @returns A `.d.ts` module declaring each export as a global.
|
|
121
|
+
*/
|
|
122
|
+
declare function createVizeComposableDeclarations(options?: VizeComposableResolverOptions): string;
|
|
123
|
+
//#endregion
|
|
124
|
+
export { VIZE_COMPOSABLE_PACKAGE, VizeComposableEntry, VizeComposableImport, VizeComposableLockedItem, VizeComposableLockfile, VizeComposableResolver, VizeComposableResolverOptions, createVizeComposableDeclarations, listVizeComposableImports, readComposableLockfile, vizeComposableImports };
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { t as COMPOSABLE_CATALOG } from "./catalog-r4Z5nptX.mjs";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
//#region src/resolver.ts
|
|
5
|
+
/**
|
|
6
|
+
* Build-time auto-import resolver for `@vizejs/composable`, driven by the
|
|
7
|
+
* package catalog so every new entry is picked up automatically.
|
|
8
|
+
*
|
|
9
|
+
* Every export resolves to its own subpath (`@vizejs/composable/use-toggle`),
|
|
10
|
+
* so auto-imported code tree-shakes exactly like hand-written imports; this
|
|
11
|
+
* module runs in Node (Vite/Nuxt config) and never ships to the browser.
|
|
12
|
+
* With `source: "local"`, entries pulled by `vize lib pull` (recorded in
|
|
13
|
+
* `vize-lib.lock.json`) resolve to the local copies.
|
|
14
|
+
*/
|
|
15
|
+
/** Package that owns the resolvable exports. */
|
|
16
|
+
const VIZE_COMPOSABLE_PACKAGE = "@vizejs/composable";
|
|
17
|
+
/** Subpaths that are tooling, not auto-importable runtime code. */
|
|
18
|
+
const NON_IMPORTABLE_SUBPATHS = new Set(["./catalog", "./resolver"]);
|
|
19
|
+
/** Export name -> owning entry, first catalog entry wins. */
|
|
20
|
+
function catalogExports() {
|
|
21
|
+
const exports = /* @__PURE__ */ new Map();
|
|
22
|
+
for (const entry of COMPOSABLE_CATALOG.entries) {
|
|
23
|
+
if (NON_IMPORTABLE_SUBPATHS.has(entry.subpath)) continue;
|
|
24
|
+
for (const name of entry.runtimeExports) if (!exports.has(name)) exports.set(name, {
|
|
25
|
+
entry: entry.subpath.slice(2),
|
|
26
|
+
source: entry.source.slice(4)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return exports;
|
|
30
|
+
}
|
|
31
|
+
function isLockfile(value) {
|
|
32
|
+
return typeof value === "object" && value !== null && "items" in value && Array.isArray(value.items) && value.items.every((item) => typeof item === "object" && item !== null && "name" in item && "kind" in item && "dir" in item && typeof item.name === "string" && typeof item.kind === "string" && typeof item.dir === "string");
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Read and validate `vize-lib.lock.json`.
|
|
36
|
+
*
|
|
37
|
+
* @param file Absolute lockfile path.
|
|
38
|
+
* @returns The parsed lockfile.
|
|
39
|
+
* @throws {Error} `[VIZE_COMPOSE_RESOLVER_LOCKFILE]` when missing or malformed.
|
|
40
|
+
*/
|
|
41
|
+
function readComposableLockfile(file) {
|
|
42
|
+
let parsed;
|
|
43
|
+
try {
|
|
44
|
+
parsed = JSON.parse(readFileSync(file, "utf8"));
|
|
45
|
+
} catch (error) {
|
|
46
|
+
throw new Error(`[VIZE_COMPOSE_RESOLVER_LOCKFILE] cannot read ${file}`, { cause: error });
|
|
47
|
+
}
|
|
48
|
+
if (!isLockfile(parsed)) throw new Error(`[VIZE_COMPOSE_RESOLVER_LOCKFILE] ${file} is not a vize lib lockfile`);
|
|
49
|
+
return parsed;
|
|
50
|
+
}
|
|
51
|
+
function createLocator(options) {
|
|
52
|
+
const include = options.include === void 0 ? void 0 : new Set(options.include);
|
|
53
|
+
const exclude = new Set(options.exclude ?? []);
|
|
54
|
+
const allowed = (entry) => (include === void 0 || include.has(entry)) && !exclude.has(entry);
|
|
55
|
+
if (options.source !== "local") return (item) => allowed(item.entry) ? `${VIZE_COMPOSABLE_PACKAGE}/${item.entry}` : void 0;
|
|
56
|
+
const root = options.root ?? process.cwd();
|
|
57
|
+
const lockfile = typeof options.lockfile === "object" ? options.lockfile : readComposableLockfile(path.resolve(root, options.lockfile ?? "vize-lib.lock.json"));
|
|
58
|
+
const pulled = new Map(lockfile.items.filter((item) => item.kind === "composable").map((item) => [item.name, item.dir]));
|
|
59
|
+
const fallback = options.fallback ?? true;
|
|
60
|
+
return (item) => {
|
|
61
|
+
if (!allowed(item.entry)) return void 0;
|
|
62
|
+
const dir = pulled.get(item.entry);
|
|
63
|
+
if (dir === void 0) return fallback ? `${VIZE_COMPOSABLE_PACKAGE}/${item.entry}` : void 0;
|
|
64
|
+
return path.resolve(root, dir, item.source).split(path.sep).join("/");
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Every auto-importable export the options allow, with its direct subpath import.
|
|
69
|
+
*
|
|
70
|
+
* @param options Filters and source mode.
|
|
71
|
+
* @default options {}
|
|
72
|
+
* @returns Imports in catalog order.
|
|
73
|
+
*/
|
|
74
|
+
function listVizeComposableImports(options = {}) {
|
|
75
|
+
const locate = createLocator(options);
|
|
76
|
+
const names = options.names === void 0 ? void 0 : new Set(options.names);
|
|
77
|
+
const imports = [];
|
|
78
|
+
for (const [name, item] of catalogExports()) {
|
|
79
|
+
if (names !== void 0 && !names.has(name)) continue;
|
|
80
|
+
const from = locate(item);
|
|
81
|
+
if (from !== void 0) imports.push({
|
|
82
|
+
name,
|
|
83
|
+
from
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return imports;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* `unplugin-auto-import` resolver for every `@vizejs/composable` export.
|
|
90
|
+
*
|
|
91
|
+
* Server/SSR: build-time only; reads the lockfile once in `local` mode.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* AutoImport({ resolvers: [VizeComposableResolver()] });
|
|
96
|
+
* // useToggle() -> import { useToggle } from "@vizejs/composable/use-toggle"
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @param options Filters and source mode.
|
|
100
|
+
* @default options {}
|
|
101
|
+
* @returns A name -> import resolver function.
|
|
102
|
+
*/
|
|
103
|
+
function VizeComposableResolver(options = {}) {
|
|
104
|
+
const allowed = new Map(listVizeComposableImports(options).map((item) => [item.name, item]));
|
|
105
|
+
return (name) => allowed.get(name);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* `unplugin-auto-import` `imports` preset: `{ "@vizejs/composable/use-toggle": ["useToggle"] }`.
|
|
109
|
+
*
|
|
110
|
+
* @param options Filters and source mode.
|
|
111
|
+
* @default options {}
|
|
112
|
+
* @returns Export names grouped by module.
|
|
113
|
+
*/
|
|
114
|
+
function vizeComposableImports(options = {}) {
|
|
115
|
+
const grouped = {};
|
|
116
|
+
for (const { name, from } of listVizeComposableImports(options)) (grouped[from] ??= []).push(name);
|
|
117
|
+
return grouped;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Global declarations for auto-imported composables, for setups without a
|
|
121
|
+
* generator (Nuxt and `unplugin-auto-import` emit their own).
|
|
122
|
+
*
|
|
123
|
+
* @param options Filters and source mode.
|
|
124
|
+
* @default options {}
|
|
125
|
+
* @returns A `.d.ts` module declaring each export as a global.
|
|
126
|
+
*/
|
|
127
|
+
function createVizeComposableDeclarations(options = {}) {
|
|
128
|
+
return [
|
|
129
|
+
"// Generated by @vizejs/composable/resolver. Do not edit.",
|
|
130
|
+
"export {};",
|
|
131
|
+
"declare global {",
|
|
132
|
+
...listVizeComposableImports(options).map((item) => ` const ${item.name}: typeof import(${JSON.stringify(item.from)})["${item.name}"];`),
|
|
133
|
+
"}",
|
|
134
|
+
""
|
|
135
|
+
].join("\n");
|
|
136
|
+
}
|
|
137
|
+
//#endregion
|
|
138
|
+
export { VIZE_COMPOSABLE_PACKAGE, VizeComposableResolver, createVizeComposableDeclarations, listVizeComposableImports, readComposableLockfile, vizeComposableImports };
|
package/dist/retry-async.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TimeoutScheduler } from "./timeout-scheduler.mjs";
|
|
2
|
-
import { RetryDelayOptions } from "./retry-delay.mjs";
|
|
1
|
+
import { t as TimeoutScheduler } from "./timeout-scheduler-CI8RVLZs.mjs";
|
|
2
|
+
import { t as RetryDelayOptions } from "./retry-delay-DYsdq4SE.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/retry-async.d.ts
|
|
5
5
|
/** Context supplied to every invocation of a retried operation. */
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
//#region src/retry-delay.d.ts
|
|
2
|
+
/** Options for {@link calculateRetryDelay}. */
|
|
3
|
+
interface RetryDelayOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Delay before the first retry, in milliseconds.
|
|
6
|
+
*
|
|
7
|
+
* @default 100
|
|
8
|
+
*/
|
|
9
|
+
readonly initialDelayMs?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Exponential multiplier applied for each subsequent retry.
|
|
12
|
+
*
|
|
13
|
+
* Values may be fractional but must be finite and at least one. The
|
|
14
|
+
* calculated delay is rounded up so a retry never starts earlier than the
|
|
15
|
+
* requested backoff.
|
|
16
|
+
*
|
|
17
|
+
* @default 2
|
|
18
|
+
*/
|
|
19
|
+
readonly multiplier?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Inclusive ceiling for the calculated delay, in milliseconds.
|
|
22
|
+
*
|
|
23
|
+
* The ceiling may be lower than {@link RetryDelayOptions.initialDelayMs};
|
|
24
|
+
* in that case it also caps the first retry.
|
|
25
|
+
*
|
|
26
|
+
* @default 30000
|
|
27
|
+
*/
|
|
28
|
+
readonly maximumDelayMs?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Fraction of the capped delay eligible for downward jitter.
|
|
31
|
+
*
|
|
32
|
+
* `0` is deterministic exponential backoff, `0.5` samples from the upper
|
|
33
|
+
* half of the range, and `1` applies full jitter from zero through the
|
|
34
|
+
* capped delay. Jitter never exceeds the unjittered delay.
|
|
35
|
+
*
|
|
36
|
+
* @default 0
|
|
37
|
+
*/
|
|
38
|
+
readonly jitterRatio?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Entropy source returning a number in the half-open interval `[0, 1)`.
|
|
41
|
+
* It is called exactly once when the selected jitter range contains more
|
|
42
|
+
* than one integer millisecond, and is otherwise not read.
|
|
43
|
+
*
|
|
44
|
+
* @default Math.random
|
|
45
|
+
*/
|
|
46
|
+
readonly random?: () => number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Calculate a bounded exponential-backoff delay for a one-based retry.
|
|
50
|
+
*
|
|
51
|
+
* The first retry is `retryAttempt = 1`. The result is always an integer from
|
|
52
|
+
* zero through `2_147_483_647`, making it safe to pass to common host timer
|
|
53
|
+
* APIs without implementation-specific clamping. The calculation is pure
|
|
54
|
+
* unless jitter requires the supplied entropy source, and it performs no work
|
|
55
|
+
* when the module is imported.
|
|
56
|
+
*
|
|
57
|
+
* Jitter samples uniformly from the inclusive integer range
|
|
58
|
+
* `ceil(cappedDelay * (1 - jitterRatio))...cappedDelay`. Capping occurs before
|
|
59
|
+
* jitter, so neither floating-point overflow nor entropy can exceed the
|
|
60
|
+
* configured maximum.
|
|
61
|
+
*
|
|
62
|
+
* @param retryAttempt One-based retry number after a failed initial attempt.
|
|
63
|
+
* @param options Backoff, cap, jitter, and entropy configuration.
|
|
64
|
+
* @default options {}
|
|
65
|
+
* @throws {RangeError} A tagged error when the retry number, delay options, or
|
|
66
|
+
* entropy value is outside its documented range.
|
|
67
|
+
* @throws {TypeError} A tagged error when `options` is not an object or
|
|
68
|
+
* `random` is not callable.
|
|
69
|
+
* @returns An integer delay in milliseconds.
|
|
70
|
+
*/
|
|
71
|
+
declare function calculateRetryDelay(retryAttempt: number, options?: RetryDelayOptions): number;
|
|
72
|
+
//#endregion
|
|
73
|
+
export { calculateRetryDelay as n, RetryDelayOptions as t };
|