@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,381 @@
|
|
|
1
|
+
import { computed, toValue } from "vue";
|
|
2
|
+
import type { ComputedRef, MaybeRefOrGetter } from "vue";
|
|
3
|
+
|
|
4
|
+
import type { FormControls, FormFieldControls, FormPath, FormPathValue } from "./use-form.ts";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Accessible relations for a form control.
|
|
8
|
+
*
|
|
9
|
+
* Structurally identical to `FieldControlProps` from `@vizejs/ui/field-wiring`,
|
|
10
|
+
* so the object can be bound with `v-bind` onto any `@vizejs/ui` control (or a
|
|
11
|
+
* native element) without this package depending on `@vizejs/ui`.
|
|
12
|
+
*/
|
|
13
|
+
export interface FormFieldControlProps {
|
|
14
|
+
/** Control id, referenced by the label's `for`. */
|
|
15
|
+
readonly id: string;
|
|
16
|
+
|
|
17
|
+
/** Id of the field label. */
|
|
18
|
+
readonly "aria-labelledby": string;
|
|
19
|
+
|
|
20
|
+
/** Description id and, while invalid, error id. */
|
|
21
|
+
readonly "aria-describedby": string | undefined;
|
|
22
|
+
|
|
23
|
+
/** Error id while invalid. */
|
|
24
|
+
readonly "aria-errormessage": string | undefined;
|
|
25
|
+
|
|
26
|
+
/** `"true"` while invalid. */
|
|
27
|
+
readonly "aria-invalid": "true" | undefined;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Props for a `<label>` (or ui `FieldLabel`) element. */
|
|
31
|
+
export interface FormFieldLabelProps {
|
|
32
|
+
/** Label id. */
|
|
33
|
+
readonly id: string;
|
|
34
|
+
|
|
35
|
+
/** Id of the labelled control. */
|
|
36
|
+
readonly for: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** Props for description and error-message elements. */
|
|
40
|
+
export interface FormFieldTextProps {
|
|
41
|
+
/** Element id referenced by the control. */
|
|
42
|
+
readonly id: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* `v-model` bindings for any component that follows the `modelValue` /
|
|
47
|
+
* `update:modelValue` convention, plus a blur listener that marks the field
|
|
48
|
+
* touched (and validates on blur when the form is configured to).
|
|
49
|
+
*/
|
|
50
|
+
export interface FormFieldModelProps<Value> {
|
|
51
|
+
/** Current value at the path. */
|
|
52
|
+
readonly modelValue: Value;
|
|
53
|
+
|
|
54
|
+
/** Writes the value at the path. */
|
|
55
|
+
readonly "onUpdate:modelValue": (value: Value) => void;
|
|
56
|
+
|
|
57
|
+
/** Marks the field touched. */
|
|
58
|
+
readonly onBlur: () => void;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** When a field with errors is reported as invalid. */
|
|
62
|
+
export type FormFieldErrorVisibility = "always" | "submitted" | "touched";
|
|
63
|
+
|
|
64
|
+
/** Options for {@link useFormFieldProps}. */
|
|
65
|
+
export interface UseFormFieldPropsOptions {
|
|
66
|
+
/**
|
|
67
|
+
* Explicit control id. Label, description, and error ids derive from it
|
|
68
|
+
* as `<id>-label`, `<id>-description`, and `<id>-error`.
|
|
69
|
+
*
|
|
70
|
+
* @default `${idPrefix}-${path}` with dots replaced by dashes
|
|
71
|
+
*/
|
|
72
|
+
readonly id?: MaybeRefOrGetter<string | null | undefined>;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Prefix of the derived id. Use a unique prefix per form on pages with
|
|
76
|
+
* several forms that share field paths.
|
|
77
|
+
*
|
|
78
|
+
* @default "field"
|
|
79
|
+
*/
|
|
80
|
+
readonly idPrefix?: string;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Whether a description element is rendered and joins `aria-describedby`.
|
|
84
|
+
*
|
|
85
|
+
* @default false
|
|
86
|
+
*/
|
|
87
|
+
readonly hasDescription?: MaybeRefOrGetter<boolean | undefined>;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Whether an error element is rendered while invalid and is referenced.
|
|
91
|
+
*
|
|
92
|
+
* @default true
|
|
93
|
+
*/
|
|
94
|
+
readonly hasErrorMessage?: MaybeRefOrGetter<boolean | undefined>;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* When errors make the field invalid: immediately, after the first
|
|
98
|
+
* submit, or once the field is touched (or the form was submitted).
|
|
99
|
+
*
|
|
100
|
+
* @default "touched"
|
|
101
|
+
*/
|
|
102
|
+
readonly showErrors?: FormFieldErrorVisibility;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** Bindings returned by {@link useFormFieldProps}. */
|
|
106
|
+
export interface FormFieldPropsControls<Value, Path extends string> {
|
|
107
|
+
/** Underlying typed field controls. */
|
|
108
|
+
readonly field: FormFieldControls<Value, Path>;
|
|
109
|
+
|
|
110
|
+
/** Control id. */
|
|
111
|
+
readonly id: ComputedRef<string>;
|
|
112
|
+
|
|
113
|
+
/** Whether errors are currently reported. */
|
|
114
|
+
readonly invalid: ComputedRef<boolean>;
|
|
115
|
+
|
|
116
|
+
/** First reported error, or `undefined` while valid or hidden. */
|
|
117
|
+
readonly errorMessage: ComputedRef<string | undefined>;
|
|
118
|
+
|
|
119
|
+
/** Accessible relations for the control. */
|
|
120
|
+
readonly fieldProps: ComputedRef<FormFieldControlProps>;
|
|
121
|
+
|
|
122
|
+
/** Props for the label element. */
|
|
123
|
+
readonly labelProps: ComputedRef<FormFieldLabelProps>;
|
|
124
|
+
|
|
125
|
+
/** Props for the description element. */
|
|
126
|
+
readonly descriptionProps: ComputedRef<FormFieldTextProps>;
|
|
127
|
+
|
|
128
|
+
/** Props for the error element. */
|
|
129
|
+
readonly errorMessageProps: ComputedRef<FormFieldTextProps>;
|
|
130
|
+
|
|
131
|
+
/** `v-model` and blur bindings for the control. */
|
|
132
|
+
readonly modelProps: ComputedRef<FormFieldModelProps<Value>>;
|
|
133
|
+
|
|
134
|
+
/** `fieldProps` and `modelProps` merged, for a single `v-bind`. */
|
|
135
|
+
readonly controlProps: ComputedRef<FormFieldControlProps & FormFieldModelProps<Value>>;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* One invalid field, structurally identical to `ErrorSummaryField` from
|
|
140
|
+
* `@vizejs/ui/error-summary`.
|
|
141
|
+
*/
|
|
142
|
+
export interface FormErrorSummaryItem {
|
|
143
|
+
/** Id of the invalid control (link target). */
|
|
144
|
+
readonly id: string;
|
|
145
|
+
|
|
146
|
+
/** First error message. */
|
|
147
|
+
readonly message: string;
|
|
148
|
+
|
|
149
|
+
/** Optional field label prefixed to the message. */
|
|
150
|
+
readonly label?: string;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* One error, structurally identical to `FormFieldError` from `@vizejs/ui/form`,
|
|
155
|
+
* so ui `Field` components match errors by `name`.
|
|
156
|
+
*/
|
|
157
|
+
export interface FormFieldErrorEntry {
|
|
158
|
+
/** Dotted field path, used as the ui field `name`. */
|
|
159
|
+
readonly name: string;
|
|
160
|
+
|
|
161
|
+
/** Error message. */
|
|
162
|
+
readonly message: string;
|
|
163
|
+
|
|
164
|
+
/** Path segments; numeric segments are numbers. */
|
|
165
|
+
readonly path: readonly (string | number)[];
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/** Options for {@link useFormErrorSummaryFields}. */
|
|
169
|
+
export interface UseFormErrorSummaryFieldsOptions<Values> {
|
|
170
|
+
/**
|
|
171
|
+
* Prefix used to derive control ids; must match {@link useFormFieldProps}.
|
|
172
|
+
*
|
|
173
|
+
* @default "field"
|
|
174
|
+
*/
|
|
175
|
+
readonly idPrefix?: string;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Explicit control ids per path, for fields bound with a custom `id`.
|
|
179
|
+
*
|
|
180
|
+
* @default {}
|
|
181
|
+
*/
|
|
182
|
+
readonly ids?: { readonly [Path in FormPath<Values>]?: string };
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Human-readable labels per path.
|
|
186
|
+
*
|
|
187
|
+
* @default {}
|
|
188
|
+
*/
|
|
189
|
+
readonly labels?: { readonly [Path in FormPath<Values>]?: string };
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Paths in document order; unlisted paths follow in error order.
|
|
193
|
+
*
|
|
194
|
+
* @default []
|
|
195
|
+
*/
|
|
196
|
+
readonly order?: readonly FormPath<Values>[];
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Include form-level errors (the `""` path) with this control id.
|
|
200
|
+
*
|
|
201
|
+
* @default undefined
|
|
202
|
+
*/
|
|
203
|
+
readonly rootId?: string;
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* When errors are listed: immediately, or only after the first submit.
|
|
207
|
+
*
|
|
208
|
+
* @default "submitted"
|
|
209
|
+
*/
|
|
210
|
+
readonly showErrors?: "always" | "submitted";
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/** Derive the default control id for a path. */
|
|
214
|
+
export function formFieldId(path: string, idPrefix = "field"): string {
|
|
215
|
+
const segment = path.replace(/[^A-Za-z0-9_-]+/g, "-");
|
|
216
|
+
return segment.length === 0 ? idPrefix : `${idPrefix}-${segment}`;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function readFlag(
|
|
220
|
+
source: MaybeRefOrGetter<boolean | undefined> | undefined,
|
|
221
|
+
fallback: boolean,
|
|
222
|
+
): boolean {
|
|
223
|
+
const value = source === undefined ? undefined : toValue(source);
|
|
224
|
+
return typeof value === "boolean" ? value : fallback;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Bind one `useForm` field to accessible field markup and any `v-model` control.
|
|
229
|
+
*
|
|
230
|
+
* Returns ids, ARIA relations (`fieldProps`), label/description/error props,
|
|
231
|
+
* and `modelProps` whose shapes match `@vizejs/ui`'s Field contracts
|
|
232
|
+
* structurally, so the bridge lives here without a runtime dependency on the
|
|
233
|
+
* UI package. Ids are derived from the path, so server and client agree
|
|
234
|
+
* without any instance-local id sequence.
|
|
235
|
+
*
|
|
236
|
+
* Server rendering: pure derived state, no host access. Cleanup: none needed
|
|
237
|
+
* beyond the owning form.
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```vue
|
|
241
|
+
* <script setup lang="ts">
|
|
242
|
+
* const form = useForm({ initialValues: { address: { city: "" } } });
|
|
243
|
+
* const city = useFormFieldProps(form, "address.city");
|
|
244
|
+
* </script>
|
|
245
|
+
* <template>
|
|
246
|
+
* <label v-bind="city.labelProps.value">City</label>
|
|
247
|
+
* <TextInput v-bind="city.controlProps.value" />
|
|
248
|
+
* <p v-if="city.invalid.value" v-bind="city.errorMessageProps.value">{{ city.errorMessage.value }}</p>
|
|
249
|
+
* </template>
|
|
250
|
+
* ```
|
|
251
|
+
*
|
|
252
|
+
* @param form Controls returned by `useForm`.
|
|
253
|
+
* @param path Typed dotted path.
|
|
254
|
+
* @param options Id, relation, and error-visibility options.
|
|
255
|
+
* @default options {}
|
|
256
|
+
* @returns Typed bindings for the field.
|
|
257
|
+
*/
|
|
258
|
+
export function useFormFieldProps<Values extends object, Output, Path extends FormPath<Values>>(
|
|
259
|
+
form: FormControls<Values, Output>,
|
|
260
|
+
path: Path,
|
|
261
|
+
options: UseFormFieldPropsOptions = {},
|
|
262
|
+
): FormFieldPropsControls<FormPathValue<Values, Path>, Path> {
|
|
263
|
+
const field = form.field(path);
|
|
264
|
+
const showErrors = options.showErrors ?? "touched";
|
|
265
|
+
const id = computed(() => {
|
|
266
|
+
const explicit = options.id === undefined ? undefined : toValue(options.id);
|
|
267
|
+
return typeof explicit === "string" && explicit.length > 0
|
|
268
|
+
? explicit
|
|
269
|
+
: formFieldId(path, options.idPrefix);
|
|
270
|
+
});
|
|
271
|
+
const invalid = computed(() => {
|
|
272
|
+
if (field.errors.value.length === 0) return false;
|
|
273
|
+
if (showErrors === "always") return true;
|
|
274
|
+
const submitted = form.submitCount.value > 0;
|
|
275
|
+
return showErrors === "submitted" ? submitted : submitted || field.touched.value;
|
|
276
|
+
});
|
|
277
|
+
const errorMessage = computed(() => (invalid.value ? field.error.value : undefined));
|
|
278
|
+
const fieldProps = computed<FormFieldControlProps>(() => {
|
|
279
|
+
const describedBy: string[] = [];
|
|
280
|
+
if (readFlag(options.hasDescription, false)) describedBy.push(`${id.value}-description`);
|
|
281
|
+
const referencesError = invalid.value && readFlag(options.hasErrorMessage, true);
|
|
282
|
+
if (referencesError) describedBy.push(`${id.value}-error`);
|
|
283
|
+
return {
|
|
284
|
+
id: id.value,
|
|
285
|
+
"aria-labelledby": `${id.value}-label`,
|
|
286
|
+
"aria-describedby": describedBy.length === 0 ? undefined : describedBy.join(" "),
|
|
287
|
+
"aria-errormessage": referencesError ? `${id.value}-error` : undefined,
|
|
288
|
+
"aria-invalid": invalid.value ? "true" : undefined,
|
|
289
|
+
};
|
|
290
|
+
});
|
|
291
|
+
const modelProps = computed<FormFieldModelProps<FormPathValue<Values, Path>>>(() => ({
|
|
292
|
+
modelValue: field.value.value,
|
|
293
|
+
"onUpdate:modelValue": (value) => {
|
|
294
|
+
field.value.value = value;
|
|
295
|
+
},
|
|
296
|
+
onBlur: field.onBlur,
|
|
297
|
+
}));
|
|
298
|
+
return {
|
|
299
|
+
field,
|
|
300
|
+
id,
|
|
301
|
+
invalid,
|
|
302
|
+
errorMessage,
|
|
303
|
+
fieldProps,
|
|
304
|
+
labelProps: computed(() => ({ id: `${id.value}-label`, for: id.value })),
|
|
305
|
+
descriptionProps: computed(() => ({ id: `${id.value}-description` })),
|
|
306
|
+
errorMessageProps: computed(() => ({ id: `${id.value}-error` })),
|
|
307
|
+
modelProps,
|
|
308
|
+
controlProps: computed(() => ({ ...fieldProps.value, ...modelProps.value })),
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Convert form errors into ui `FormFieldError` entries (`{ name, message, path }`),
|
|
314
|
+
* one per message, so `@vizejs/ui` `Field` components match them by `name`.
|
|
315
|
+
*
|
|
316
|
+
* @param errors `form.errors.value`.
|
|
317
|
+
* @returns Entries in record order; the form-level `""` path has an empty `path`.
|
|
318
|
+
*/
|
|
319
|
+
export function toFormFieldErrors(
|
|
320
|
+
errors: Readonly<Record<string, readonly string[]>>,
|
|
321
|
+
): readonly FormFieldErrorEntry[] {
|
|
322
|
+
return Object.entries(errors).flatMap(([name, messages]) => {
|
|
323
|
+
const path =
|
|
324
|
+
name.length === 0
|
|
325
|
+
? []
|
|
326
|
+
: name.split(".").map((segment) => (/^\d+$/.test(segment) ? Number(segment) : segment));
|
|
327
|
+
return messages.map((message) => ({ name, message, path }));
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Derive `@vizejs/ui` `ErrorSummary` fields from a `useForm` instance.
|
|
333
|
+
*
|
|
334
|
+
* Each invalid path becomes `{ id, message, label? }` pointing at the control
|
|
335
|
+
* id that {@link useFormFieldProps} assigns, in `order` then error order.
|
|
336
|
+
*
|
|
337
|
+
* Server rendering: pure derived state. Cleanup: none.
|
|
338
|
+
*
|
|
339
|
+
* @example
|
|
340
|
+
* ```vue
|
|
341
|
+
* <ErrorSummary :fields="summary" heading="Fix these fields" />
|
|
342
|
+
* ```
|
|
343
|
+
*
|
|
344
|
+
* @param form Controls returned by `useForm`.
|
|
345
|
+
* @param options Id, label, ordering, and visibility options.
|
|
346
|
+
* @default options {}
|
|
347
|
+
* @returns Summary fields, empty until errors should be shown.
|
|
348
|
+
*/
|
|
349
|
+
export function useFormErrorSummaryFields<Values extends object, Output>(
|
|
350
|
+
form: FormControls<Values, Output>,
|
|
351
|
+
options: UseFormErrorSummaryFieldsOptions<Values> = {},
|
|
352
|
+
): ComputedRef<readonly FormErrorSummaryItem[]> {
|
|
353
|
+
const order: readonly string[] = options.order ?? [];
|
|
354
|
+
const ids: Readonly<Record<string, string | undefined>> = options.ids ?? {};
|
|
355
|
+
const labels: Readonly<Record<string, string | undefined>> = options.labels ?? {};
|
|
356
|
+
return computed(() => {
|
|
357
|
+
if ((options.showErrors ?? "submitted") === "submitted" && form.submitCount.value === 0) {
|
|
358
|
+
return [];
|
|
359
|
+
}
|
|
360
|
+
const record = form.errors.value;
|
|
361
|
+
const paths = Object.keys(record).filter((path) => (record[path]?.length ?? 0) > 0);
|
|
362
|
+
const rank = (path: string): number => {
|
|
363
|
+
const index = order.indexOf(path);
|
|
364
|
+
return index === -1 ? order.length : index;
|
|
365
|
+
};
|
|
366
|
+
const sorted = paths
|
|
367
|
+
.map((path, index) => ({ path, index }))
|
|
368
|
+
.sort((left, right) => rank(left.path) - rank(right.path) || left.index - right.index);
|
|
369
|
+
return sorted.flatMap(({ path }): FormErrorSummaryItem[] => {
|
|
370
|
+
const message = record[path]?.[0];
|
|
371
|
+
if (message === undefined) return [];
|
|
372
|
+
if (path.length === 0 && options.rootId === undefined) return [];
|
|
373
|
+
const id =
|
|
374
|
+
path.length === 0
|
|
375
|
+
? (options.rootId ?? "")
|
|
376
|
+
: (ids[path] ?? formFieldId(path, options.idPrefix));
|
|
377
|
+
const label = labels[path];
|
|
378
|
+
return [label === undefined ? { id, message } : { id, message, label }];
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
}
|