@vizejs/ui 0.387.0 → 0.388.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/alert-BX93FNvj.d.mts +92 -0
- package/dist/alert-DvhiFK_R.mjs +92 -0
- package/dist/alert-dialog-D9tqXQ_Q.mjs +176 -0
- package/dist/alert-dialog.d.mts +2 -0
- package/dist/alert-dialog.mjs +3 -0
- package/dist/alert.d.mts +2 -0
- package/dist/alert.mjs +2 -0
- package/dist/announcer-CW079p2E.mjs +258 -0
- package/dist/announcer-DGr2Iz0i.d.mts +6829 -0
- package/dist/announcer.d.mts +2 -0
- package/dist/announcer.mjs +2 -0
- package/dist/aspect-ratio-DDqVT6Hg.d.mts +62 -0
- package/dist/aspect-ratio-_HLW6_5i.mjs +63 -0
- package/dist/aspect-ratio.d.mts +2 -0
- package/dist/aspect-ratio.mjs +2 -0
- package/dist/avatar-6fQfQ-1x.mjs +195 -0
- package/dist/avatar.d.mts +2 -0
- package/dist/avatar.mjs +2 -0
- package/dist/badge-BTOyu4i6.mjs +53 -0
- package/dist/badge.d.mts +2 -0
- package/dist/badge.mjs +2 -0
- package/dist/banner-CYiSiZJW.mjs +288 -0
- package/dist/banner.d.mts +2 -0
- package/dist/banner.mjs +2 -0
- package/dist/block-ui-Bd2m1m3K.mjs +111 -0
- package/dist/block-ui.d.mts +2 -0
- package/dist/block-ui.mjs +2 -0
- package/dist/blockquote-eTqp3b_r.mjs +65 -0
- package/dist/blockquote.d.mts +2 -0
- package/dist/blockquote.mjs +2 -0
- package/dist/breadcrumb-BvuPBfkj.mjs +212 -0
- package/dist/breadcrumb-Cdyh20z-.d.mts +202 -0
- package/dist/breadcrumb.d.mts +2 -0
- package/dist/breadcrumb.mjs +2 -0
- package/dist/{button-DYg1mIIq.d.mts → button-Dye0M41O.d.mts} +3 -3
- package/dist/{button-DT8AKlds.mjs → button-VVxUavbS.mjs} +6 -6
- package/dist/button-group-C_mR0Jfw.d.mts +137 -0
- package/dist/button-group-DyQbTCnY.mjs +418 -0
- package/dist/button-group.d.mts +2 -0
- package/dist/button-group.mjs +2 -0
- package/dist/button.d.mts +1 -1
- package/dist/button.mjs +2 -2
- package/dist/callout-DAu-98Ti.mjs +277 -0
- package/dist/callout.d.mts +2 -0
- package/dist/callout.mjs +2 -0
- package/dist/card-D94n04s5.mjs +66 -0
- package/dist/card.d.mts +2 -0
- package/dist/card.mjs +2 -0
- package/dist/catalog.d.mts +2112 -302
- package/dist/catalog.mjs +3831 -433
- package/dist/{checkbox-BgIvwjyC.mjs → checkbox-bM5y7vH8.mjs} +8 -8
- package/dist/checkbox.d.mts +1 -1
- package/dist/checkbox.mjs +2 -2
- package/dist/cluster-BWF028Xt.d.mts +133 -0
- package/dist/cluster-BydJTp9X.mjs +149 -0
- package/dist/cluster.d.mts +2 -0
- package/dist/cluster.mjs +2 -0
- package/dist/code-D93YXaeJ.mjs +66 -0
- package/dist/code.d.mts +2 -0
- package/dist/code.mjs +2 -0
- package/dist/collapsible-Cra5y_if.mjs +269 -0
- package/dist/collapsible.d.mts +2 -0
- package/dist/collapsible.mjs +2 -0
- package/dist/{collection-B_dFZOHO.d.mts → collection-BaPf8lgw.d.mts} +3 -3
- package/dist/{collection-eHN150dT.mjs → collection-Cncgrq4U.mjs} +5 -5
- package/dist/collection.d.mts +1 -1
- package/dist/collection.mjs +1 -1
- package/dist/command-CAH0yrMT.d.mts +105 -0
- package/dist/command.d.mts +2 -0
- package/dist/command.mjs +123 -0
- package/dist/{composite-navigation-Skx3LZsv.mjs → composite-navigation-D6WKS_BY.mjs} +4 -4
- package/dist/{composite-navigation-QINW9GLy.d.mts → composite-navigation-i7ocwmio.d.mts} +4 -4
- package/dist/composite-navigation.d.mts +1 -1
- package/dist/composite-navigation.mjs +1 -1
- package/dist/container-5lSCSbeX.mjs +113 -0
- package/dist/container-CYSiwCA-.d.mts +99 -0
- package/dist/container.d.mts +2 -0
- package/dist/container.mjs +2 -0
- package/dist/context-7SpwFHtK.d.mts +25 -0
- package/dist/context.d.mts +1 -24
- package/dist/context.mjs +1 -1
- package/dist/{controllable-state-BtoxKahh.d.mts → controllable-state-CZZF9Pw5.d.mts} +1 -1
- package/dist/controllable-state.d.mts +1 -1
- package/dist/controllable-state.mjs +1 -1
- package/dist/copy-button-BH2em7nG.mjs +212 -0
- package/dist/copy-button.d.mts +2 -0
- package/dist/copy-button.mjs +2 -0
- package/dist/{id-BV9AJ3cm.d.mts → deterministic-id-DYQJ7KzM.d.mts} +2 -35
- package/dist/{id-mziSyAse.mjs → deterministic-id-yMq4HfmS.mjs} +3 -46
- package/dist/dialog-trigger-ppGKikEP.mjs +717 -0
- package/dist/dialog.d.mts +2 -0
- package/dist/dialog.mjs +2 -0
- package/dist/{dismissable-layer-4icKahVs.d.mts → dismissable-layer-CTWSFZwj.d.mts} +2 -2
- package/dist/{dismissable-layer-CwG1gtdz.mjs → dismissable-layer-CpS07KUV.mjs} +3 -3
- package/dist/dismissable-layer.d.mts +1 -1
- package/dist/dismissable-layer.mjs +1 -1
- package/dist/drag-and-drop-BjYgWGcG.mjs +918 -0
- package/dist/drag-and-drop-CagE25Kt.d.mts +47 -0
- package/dist/drag-and-drop-controller-types-DoTSR_aM.d.mts +304 -0
- package/dist/drag-and-drop.d.mts +3 -0
- package/dist/drag-and-drop.mjs +2 -0
- package/dist/empty-state-DtyOxCA4.mjs +73 -0
- package/dist/empty-state.d.mts +2 -0
- package/dist/empty-state.mjs +2 -0
- package/dist/error-summary-6Xis_769.d.mts +65 -0
- package/dist/error-summary-DMe4IlM9.mjs +209 -0
- package/dist/error-summary-types-5ePaC9O3.d.mts +74 -0
- package/dist/error-summary.d.mts +3 -0
- package/dist/error-summary.mjs +2 -0
- package/dist/field-CBs2-Z9B.mjs +254 -0
- package/dist/field-WWPaJT1x.d.mts +235 -0
- package/dist/field-wiring-9Fy-G1rf.d.mts +14 -0
- package/dist/field-wiring-runtime-fQ3GoLuG.mjs +64 -0
- package/dist/field-wiring-types-Bfyis5hO.d.mts +73 -0
- package/dist/field-wiring.d.mts +3 -0
- package/dist/field-wiring.mjs +2 -0
- package/dist/field.d.mts +2 -0
- package/dist/field.mjs +2 -0
- package/dist/{focus-CAWi_I-0.mjs → focus-XxVWOwbs.mjs} +3 -3
- package/dist/{focus-K6dOifoZ.d.mts → focus-eObxGOtP.d.mts} +2 -2
- package/dist/{focus-guards-Bt0C-0qS.d.mts → focus-guards-BZa7vm6O.d.mts} +2 -2
- package/dist/{focus-guards-DhMPQAT8.mjs → focus-guards-DSxiemx7.mjs} +4 -4
- package/dist/focus-guards.d.mts +1 -1
- package/dist/focus-guards.mjs +1 -1
- package/dist/{focus-scope-CavhKWx0.d.mts → focus-scope-CsnioDR4.d.mts} +3 -3
- package/dist/{focus-scope-dom-DBwNEWxG.mjs → focus-scope-dom-L_EC5GsX.mjs} +2 -2
- package/dist/{focus-scope-D9U1aj67.mjs → focus-scope-mEg8UoeE.mjs} +5 -5
- package/dist/focus-scope.d.mts +1 -1
- package/dist/focus-scope.mjs +1 -1
- package/dist/focus.d.mts +1 -1
- package/dist/focus.mjs +1 -1
- package/dist/form-1V2V30Sv.d.mts +20 -0
- package/dist/form-runtime-CcMDY0Iq.mjs +166 -0
- package/dist/form-types-DXwZRLcs.d.mts +183 -0
- package/dist/form.d.mts +3 -0
- package/dist/form.mjs +2 -0
- package/dist/fullscreen-button-NTbC4R0W.mjs +276 -0
- package/dist/fullscreen-button.d.mts +2 -0
- package/dist/fullscreen-button.mjs +2 -0
- package/dist/grid-BSM9h2dL.d.mts +154 -0
- package/dist/grid-DeC4Wn7Y.mjs +157 -0
- package/dist/grid.d.mts +2 -0
- package/dist/grid.mjs +2 -0
- package/dist/heading-DToVOKV3.mjs +86 -0
- package/dist/heading.d.mts +2 -0
- package/dist/heading.mjs +2 -0
- package/dist/history-BDgNOjcV.mjs +304 -0
- package/dist/history-BkcOSOWb.d.mts +157 -0
- package/dist/history.d.mts +2 -0
- package/dist/history.mjs +2 -0
- package/dist/{hover-BXwwbSaO.d.mts → hover-ZiPRiZkb.d.mts} +2 -2
- package/dist/hover.d.mts +1 -1
- package/dist/hover.mjs +1 -1
- package/dist/icon-DhTTndMu.mjs +233 -0
- package/dist/icon-button-BuXquME1.mjs +188 -0
- package/dist/icon-button.d.mts +2 -0
- package/dist/icon-button.mjs +2 -0
- package/dist/icon.d.mts +2 -0
- package/dist/icon.mjs +2 -0
- package/dist/id-BYG8aXPF.mjs +47 -0
- package/dist/id-Ba8FHjAo.d.mts +34 -0
- package/dist/id.d.mts +2 -1
- package/dist/id.mjs +3 -2
- package/dist/index.d.mts +74 -24
- package/dist/index.mjs +113 -21
- package/dist/{inert-outside-tuHRmaqJ.d.mts → inert-outside-B6KdwAHY.d.mts} +2 -2
- package/dist/{inert-outside-CyqtoKQ4.mjs → inert-outside-DOufBTyy.mjs} +4 -4
- package/dist/inert-outside.d.mts +1 -1
- package/dist/inert-outside.mjs +1 -1
- package/dist/input-Blyx59CR.mjs +256 -0
- package/dist/input-C0fgeRnS.d.mts +159 -0
- package/dist/input.d.mts +2 -0
- package/dist/input.mjs +2 -0
- package/dist/{interaction-modality-DOZK0BpZ.mjs → interaction-modality-BHnjtU4S.mjs} +3 -3
- package/dist/{interaction-modality-jgHKjPFB.d.mts → interaction-modality-BTiZ7j98.d.mts} +2 -2
- package/dist/interaction-modality.d.mts +1 -1
- package/dist/interaction-modality.mjs +1 -1
- package/dist/kbd-sJdXIdIm.mjs +66 -0
- package/dist/kbd.d.mts +2 -0
- package/dist/kbd.mjs +2 -0
- package/dist/link-DDaCjrI5.mjs +154 -0
- package/dist/link-MbRDN6wJ.d.mts +94 -0
- package/dist/link.d.mts +2 -0
- package/dist/link.mjs +2 -0
- package/dist/list-DjyCLVfG.mjs +66 -0
- package/dist/list.d.mts +2 -0
- package/dist/list.mjs +2 -0
- package/dist/listbox-IaqaoiRn.mjs +549 -0
- package/dist/listbox.d.mts +2 -0
- package/dist/listbox.mjs +2 -0
- package/dist/live-region-DYSpwCTk.mjs +48 -0
- package/dist/live-region-G1iobPK5.d.mts +67 -0
- package/dist/live-region-runtime-DVUch8Lu.mjs +62 -0
- package/dist/live-region.d.mts +2 -0
- package/dist/live-region.mjs +3 -0
- package/dist/locale-DzWqhJZs.mjs +206 -0
- package/dist/locale.d.mts +2 -0
- package/dist/locale.mjs +2 -0
- package/dist/{long-press-cll6z2K9.d.mts → long-press-DyYxp191.d.mts} +3 -3
- package/dist/{long-press-Dsul69gk.mjs → long-press-yJk5zK0j.mjs} +4 -4
- package/dist/long-press.d.mts +1 -1
- package/dist/long-press.mjs +1 -1
- package/dist/measure-4I0YOAXD.d.mts +97 -0
- package/dist/measure-runtime-C4qYJp3_.mjs +170 -0
- package/dist/measure.d.mts +2 -0
- package/dist/measure.mjs +2 -0
- package/dist/media-pdf.d.mts +1 -1
- package/dist/media-pdf.mjs +1 -1
- package/dist/media-source.d.mts +1 -1
- package/dist/media-source.mjs +1 -1
- package/dist/media.d.mts +1 -1
- package/dist/media.mjs +1 -1
- package/dist/meter-B3m17_8g.d.mts +174 -0
- package/dist/meter-BwOXVWH8.mjs +243 -0
- package/dist/meter.d.mts +2 -0
- package/dist/meter.mjs +2 -0
- package/dist/motion-OdERKfZR.mjs +174 -0
- package/dist/motion-iUSBdWaI.d.mts +98 -0
- package/dist/motion.d.mts +2 -0
- package/dist/motion.mjs +2 -0
- package/dist/{move-BOmXDYbh.d.mts → move-BJGaV7Y9.d.mts} +2 -2
- package/dist/move-internal-BM_7g70h.mjs +172 -0
- package/dist/move.d.mts +1 -1
- package/dist/move.mjs +216 -1
- package/dist/native-select-H9qvaqQH.mjs +309 -0
- package/dist/native-select.d.mts +2 -0
- package/dist/native-select.mjs +2 -0
- package/dist/pagination-Bs4SBSE4.mjs +791 -0
- package/dist/pagination.d.mts +2 -0
- package/dist/pagination.mjs +2 -0
- package/dist/{pdf-source-zu1LkCeE.mjs → pdf-source-B5JSDKkQ.mjs} +1 -1
- package/dist/{pdf-source-BYFK2Pks.d.mts → pdf-source-adS6ZSmR.d.mts} +1 -1
- package/dist/pointer-grace-CAFcO4om.d.mts +57 -0
- package/dist/pointer-grace-DI0G3oRJ.mjs +162 -0
- package/dist/pointer-grace.d.mts +2 -0
- package/dist/pointer-grace.mjs +2 -0
- package/dist/popover-DeENBKXE.mjs +714 -0
- package/dist/popover.d.mts +2 -0
- package/dist/popover.mjs +2 -0
- package/dist/portal-DeHaLxGL.mjs +114 -0
- package/dist/portal-DhWXejr1.d.mts +71 -0
- package/dist/portal.d.mts +2 -0
- package/dist/portal.mjs +2 -0
- package/dist/positioner-BYJVA3Uy.d.mts +477 -0
- package/dist/positioner-BYmQk86M.mjs +38 -0
- package/dist/positioner-DaPo2YxM.mjs +708 -0
- package/dist/positioner.d.mts +2 -0
- package/dist/positioner.mjs +3 -0
- package/dist/presence-Bhv1qtvn.d.mts +57 -0
- package/dist/presence-CTG1EV3w.mjs +62 -0
- package/dist/presence-runtime-CYwCafSh.mjs +105 -0
- package/dist/presence-types-CRB4HbML.d.mts +45 -0
- package/dist/presence.d.mts +3 -0
- package/dist/presence.mjs +3 -0
- package/dist/{press-N_mE3Mgx.mjs → press-BjLm6bKg.mjs} +6 -6
- package/dist/press-R0_juZq2.d.mts +14 -0
- package/dist/{press-event-Cd2OPpmw.mjs → press-event-xlWYF9py.mjs} +1 -1
- package/dist/{press-types-CNqStzJf.d.mts → press-types-DfTNpqby.d.mts} +1 -1
- package/dist/press.d.mts +2 -13
- package/dist/press.mjs +1 -1
- package/dist/{primitive-C8jW7DLd.d.mts → primitive-BE2mdUcw.d.mts} +2 -2
- package/dist/{primitive-BX31dogp.mjs → primitive-beb2EEOc.mjs} +5 -5
- package/dist/primitive.d.mts +1 -1
- package/dist/primitive.mjs +2 -2
- package/dist/print-button-FqD5HqTV.mjs +206 -0
- package/dist/print-button.d.mts +2 -0
- package/dist/print-button.mjs +2 -0
- package/dist/progress--vbV2wTx.mjs +145 -0
- package/dist/progress-C4PlKwWq.d.mts +128 -0
- package/dist/progress-bar-BqS94auR.mjs +301 -0
- package/dist/progress-bar.d.mts +2 -0
- package/dist/progress-bar.mjs +2 -0
- package/dist/progress.d.mts +2 -0
- package/dist/progress.mjs +2 -0
- package/dist/radio-group-DbTmWcxl.mjs +317 -0
- package/dist/radio-group.d.mts +2 -0
- package/dist/radio-group.mjs +2 -0
- package/dist/rating-BjKLGPP6.mjs +569 -0
- package/dist/rating-souDdL9t.d.mts +273 -0
- package/dist/rating.d.mts +2 -0
- package/dist/rating.mjs +2 -0
- package/dist/scroll-area-BRSwoi9w.mjs +338 -0
- package/dist/scroll-area.d.mts +2 -0
- package/dist/scroll-area.mjs +2 -0
- package/dist/{scroll-lock-Ckbmm0-J.mjs → scroll-lock-BcmK0baN.mjs} +4 -4
- package/dist/{scroll-lock-BgVtX4wT.d.mts → scroll-lock-OfSQnfi0.d.mts} +2 -2
- package/dist/scroll-lock.d.mts +1 -1
- package/dist/scroll-lock.mjs +1 -1
- package/dist/search-field-70Kr2616.mjs +319 -0
- package/dist/search-field-Biw9vApG.d.mts +158 -0
- package/dist/search-field.d.mts +2 -0
- package/dist/search-field.mjs +2 -0
- package/dist/separator-CnNDqbdR.d.mts +59 -0
- package/dist/separator-DDj3tEAz.mjs +66 -0
- package/dist/separator.d.mts +2 -0
- package/dist/separator.mjs +2 -0
- package/dist/share-button-DfvUDFC-.mjs +243 -0
- package/dist/share-button.d.mts +2 -0
- package/dist/share-button.mjs +2 -0
- package/dist/shortcut-CvA_o0_F.mjs +631 -0
- package/dist/shortcut-DAZJ9LEd.d.mts +231 -0
- package/dist/shortcut.d.mts +2 -0
- package/dist/shortcut.mjs +2 -0
- package/dist/skeleton-BYXXcwTH.mjs +101 -0
- package/dist/skeleton-CQW-Tsnt.d.mts +99 -0
- package/dist/skeleton.d.mts +2 -0
- package/dist/skeleton.mjs +2 -0
- package/dist/skip-link-BUp9HXXt.mjs +164 -0
- package/dist/skip-link-DHDrtnP2.d.mts +98 -0
- package/dist/skip-link.d.mts +2 -0
- package/dist/skip-link.mjs +2 -0
- package/dist/slider-BiZSZLDp.mjs +475 -0
- package/dist/slider-CYBbxeNy.d.mts +246 -0
- package/dist/slider.d.mts +2 -0
- package/dist/slider.mjs +2 -0
- package/dist/sortable-BntjgYra.mjs +499 -0
- package/dist/sortable-DQl92bwo.d.mts +206 -0
- package/dist/sortable.d.mts +2 -0
- package/dist/sortable.mjs +2 -0
- package/dist/spacer-Bc0dInvi.mjs +117 -0
- package/dist/spacer-DFstG4G-.d.mts +105 -0
- package/dist/spacer.d.mts +2 -0
- package/dist/spacer.mjs +2 -0
- package/dist/{spatial-navigation-CHj9mDZH.d.mts → spatial-navigation-BPVJGSiJ.d.mts} +3 -3
- package/dist/{spatial-navigation-D6-UDavU.mjs → spatial-navigation-DwcUYMyc.mjs} +2 -2
- package/dist/spatial-navigation.d.mts +1 -1
- package/dist/spatial-navigation.mjs +1 -1
- package/dist/spinner-JnRs8fp-.d.mts +155 -0
- package/dist/spinner-bizL-oOg.mjs +200 -0
- package/dist/spinner.d.mts +2 -0
- package/dist/spinner.mjs +2 -0
- package/dist/stack-C7DOIxo-.mjs +137 -0
- package/dist/stack-CPtBckZB.d.mts +127 -0
- package/dist/stack.d.mts +2 -0
- package/dist/stack.mjs +2 -0
- package/dist/status-light-BGWgQRRf.mjs +125 -0
- package/dist/status-light.d.mts +2 -0
- package/dist/status-light.mjs +2 -0
- package/dist/stepper-CwX6BZaN.mjs +912 -0
- package/dist/stepper.d.mts +2 -0
- package/dist/stepper.mjs +2 -0
- package/dist/style.css +1 -1
- package/dist/surface-C2fnxL3g.mjs +102 -0
- package/dist/surface.d.mts +2 -0
- package/dist/surface.mjs +2 -0
- package/dist/switch-Ck5YmfXb.mjs +197 -0
- package/dist/switch.d.mts +2 -0
- package/dist/switch.mjs +2 -0
- package/dist/table-BxU7htxc.mjs +349 -0
- package/dist/table-Ce3yWwlH.d.mts +415 -0
- package/dist/table.d.mts +2 -0
- package/dist/table.mjs +2 -0
- package/dist/tabs-DSXIomI_.mjs +595 -0
- package/dist/tabs.d.mts +2 -0
- package/dist/tabs.mjs +2 -0
- package/dist/text-BVeNKPiv.mjs +76 -0
- package/dist/text.d.mts +2 -0
- package/dist/text.mjs +2 -0
- package/dist/textarea-4eIDNcvv.d.mts +175 -0
- package/dist/textarea-BZimEPBR.mjs +279 -0
- package/dist/textarea.d.mts +2 -0
- package/dist/textarea.mjs +2 -0
- package/dist/theme-C8Crmb8V.mjs +139 -0
- package/dist/theme-CNK06Pja.d.mts +38 -0
- package/dist/theme-constants-DAwnxG-P.mjs +29 -0
- package/dist/theme-preset-atelier.css +1 -0
- package/dist/theme-preset-headless.css +1 -0
- package/dist/theme-preset-high-contrast.css +1 -0
- package/dist/theme-preset-midnight.css +1 -0
- package/dist/theme-preset-paper.css +1 -0
- package/dist/theme-preset-play.css +1 -0
- package/dist/theme-preset-signal.css +1 -0
- package/dist/theme-scope.d.mts +25 -0
- package/dist/theme-scope.mjs +89 -0
- package/dist/theme-types-CkIa4Sa3.d.mts +71 -0
- package/dist/theme.css +1 -0
- package/dist/theme.d.mts +3 -0
- package/dist/theme.mjs +3 -0
- package/dist/toggle-CBTXzwze.mjs +141 -0
- package/dist/toggle-group-DO7eGEs3.d.mts +147 -0
- package/dist/toggle-group-DybU9N7k.mjs +523 -0
- package/dist/toggle-group.d.mts +2 -0
- package/dist/toggle-group.mjs +2 -0
- package/dist/toggle.d.mts +2 -0
- package/dist/toggle.mjs +2 -0
- package/dist/toolbar-CIU1bor0.d.mts +259 -0
- package/dist/toolbar-CXE8YCX-.mjs +425 -0
- package/dist/toolbar.d.mts +2 -0
- package/dist/toolbar.mjs +2 -0
- package/dist/tooltip-Cgii5xMx.mjs +485 -0
- package/dist/tooltip.d.mts +2 -0
- package/dist/tooltip.mjs +2 -0
- package/dist/transition-BmgFyzA6.mjs +168 -0
- package/dist/transition-BtIWNEFU.d.mts +82 -0
- package/dist/transition.d.mts +2 -0
- package/dist/transition.mjs +2 -0
- package/dist/{typeahead-B7KDxE_u.mjs → typeahead-DZSBI5m5.mjs} +2 -2
- package/dist/{typeahead-BbgUB2Bj.d.mts → typeahead-Dl6w5PAN.d.mts} +3 -3
- package/dist/typeahead.d.mts +1 -1
- package/dist/typeahead.mjs +1 -1
- package/dist/virtualizer-BlxKjT3W.mjs +793 -0
- package/dist/virtualizer-D9qfT4wS.d.mts +349 -0
- package/dist/virtualizer.d.mts +2 -0
- package/dist/virtualizer.mjs +2 -0
- package/dist/{visually-hidden-BOqfqBFt.d.mts → visually-hidden-CUr9BX0K.d.mts} +1 -1
- package/dist/{visually-hidden-BwDOx5yf.mjs → visually-hidden-SDjRJYRK.mjs} +5 -5
- package/dist/visually-hidden.d.mts +1 -1
- package/dist/visually-hidden.mjs +2 -2
- package/package.json +426 -7
- package/dist/checkbox-DP3_ko7D.d.mts +0 -61
- package/dist/move-BVvMHzxr.mjs +0 -386
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { ComputedRef } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/families/feedback/meter/meter-types.d.ts
|
|
4
|
+
/** Native-friendly Meter range token derived from low/high thresholds. */
|
|
5
|
+
type MeterRange = "high" | "low" | "medium";
|
|
6
|
+
/** Stable state token exposed by the Meter primitive. */
|
|
7
|
+
type MeterState = "empty" | "full" | "high" | "low" | "medium" | "optimum";
|
|
8
|
+
/** State exposed to the default Meter slot and component instance. */
|
|
9
|
+
interface MeterSlotState {
|
|
10
|
+
/** Current finite value clamped to the normalized min/max range. */
|
|
11
|
+
readonly value: number;
|
|
12
|
+
/** Finite lower bound. */
|
|
13
|
+
readonly min: number;
|
|
14
|
+
/** Finite upper bound, always greater than `min`. */
|
|
15
|
+
readonly max: number;
|
|
16
|
+
/** Optional low threshold clamped to the normalized range. */
|
|
17
|
+
readonly low: number | null;
|
|
18
|
+
/** Optional high threshold clamped to the normalized range. */
|
|
19
|
+
readonly high: number | null;
|
|
20
|
+
/** Optional optimum threshold clamped to the normalized range. */
|
|
21
|
+
readonly optimum: number | null;
|
|
22
|
+
/** Completion percentage from 0 to 100. */
|
|
23
|
+
readonly percent: number;
|
|
24
|
+
/** Current threshold range. */
|
|
25
|
+
readonly range: MeterRange;
|
|
26
|
+
/** Whether the current range contains the optimum threshold. */
|
|
27
|
+
readonly optimal: boolean;
|
|
28
|
+
/** Whether raw inputs had to be repaired before reaching the native element. */
|
|
29
|
+
readonly invalid: boolean;
|
|
30
|
+
/** Stable state token for styling and tests. */
|
|
31
|
+
readonly state: MeterState;
|
|
32
|
+
}
|
|
33
|
+
/** Public component instance exposed by the Meter primitive. */
|
|
34
|
+
interface MeterExpose extends MeterSlotState {
|
|
35
|
+
/** Rendered native meter element. */
|
|
36
|
+
readonly element: HTMLMeterElement | null;
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/families/feedback/meter/meter.vue.d.ts
|
|
40
|
+
type __VLS_Props = {
|
|
41
|
+
/**
|
|
42
|
+
* Consumer-owned meter id. `null` and `undefined` select a deterministic fallback.
|
|
43
|
+
*
|
|
44
|
+
* @default undefined
|
|
45
|
+
*/
|
|
46
|
+
readonly id?: string | null;
|
|
47
|
+
/**
|
|
48
|
+
* Current value. Non-finite values are repaired to the normalized minimum.
|
|
49
|
+
*
|
|
50
|
+
* @default 0
|
|
51
|
+
*/
|
|
52
|
+
readonly value?: number | null;
|
|
53
|
+
/**
|
|
54
|
+
* Lower bound.
|
|
55
|
+
*
|
|
56
|
+
* @default 0
|
|
57
|
+
*/
|
|
58
|
+
readonly min?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Upper bound. Values less than or equal to `min` are repaired to `min + 1`.
|
|
61
|
+
*
|
|
62
|
+
* @default 1
|
|
63
|
+
*/
|
|
64
|
+
readonly max?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Optional low threshold.
|
|
67
|
+
*
|
|
68
|
+
* @default null
|
|
69
|
+
*/
|
|
70
|
+
readonly low?: number | null;
|
|
71
|
+
/**
|
|
72
|
+
* Optional high threshold.
|
|
73
|
+
*
|
|
74
|
+
* @default null
|
|
75
|
+
*/
|
|
76
|
+
readonly high?: number | null;
|
|
77
|
+
/**
|
|
78
|
+
* Optional optimum threshold.
|
|
79
|
+
*
|
|
80
|
+
* @default null
|
|
81
|
+
*/
|
|
82
|
+
readonly optimum?: number | null;
|
|
83
|
+
/**
|
|
84
|
+
* Accessible name when no visible label or `aria-labelledby` supplies one.
|
|
85
|
+
*
|
|
86
|
+
* @default undefined
|
|
87
|
+
*/
|
|
88
|
+
readonly ariaLabel?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Space-separated ids that label the meter.
|
|
91
|
+
*
|
|
92
|
+
* @default undefined
|
|
93
|
+
*/
|
|
94
|
+
readonly ariaLabelledby?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Space-separated ids that describe the meter.
|
|
97
|
+
*
|
|
98
|
+
* @default undefined
|
|
99
|
+
*/
|
|
100
|
+
readonly ariaDescribedby?: string;
|
|
101
|
+
};
|
|
102
|
+
type __VLS_Slots = {
|
|
103
|
+
/** Optional fallback contents. Receives normalized Meter state for composition. */default(props: MeterSlotState): unknown;
|
|
104
|
+
};
|
|
105
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
106
|
+
element: Readonly<import("vue").ShallowRef<HTMLMeterElement | null>>;
|
|
107
|
+
value: ComputedRef<number>;
|
|
108
|
+
min: ComputedRef<number>;
|
|
109
|
+
max: ComputedRef<number>;
|
|
110
|
+
low: ComputedRef<number | null>;
|
|
111
|
+
high: ComputedRef<number | null>;
|
|
112
|
+
optimum: ComputedRef<number | null>;
|
|
113
|
+
percent: ComputedRef<number>;
|
|
114
|
+
range: ComputedRef<MeterRange>;
|
|
115
|
+
optimal: ComputedRef<boolean>;
|
|
116
|
+
invalid: ComputedRef<boolean>;
|
|
117
|
+
state: ComputedRef<MeterState>;
|
|
118
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
119
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
120
|
+
declare const _default: typeof __VLS_export;
|
|
121
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
122
|
+
new (): {
|
|
123
|
+
$slots: S;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region src/families/feedback/meter/meter-state.d.ts
|
|
128
|
+
/** Native default lower bound for Meter. */
|
|
129
|
+
declare const METER_DEFAULT_MIN = 0;
|
|
130
|
+
/** Native default upper bound for Meter. */
|
|
131
|
+
declare const METER_DEFAULT_MAX = 1;
|
|
132
|
+
/** Raw values accepted by the Meter normalizer. */
|
|
133
|
+
interface MeterStateOptions {
|
|
134
|
+
/**
|
|
135
|
+
* Raw value. Non-finite values fall back to the normalized minimum.
|
|
136
|
+
*
|
|
137
|
+
* @default METER_DEFAULT_MIN
|
|
138
|
+
*/
|
|
139
|
+
readonly value?: number | null;
|
|
140
|
+
/**
|
|
141
|
+
* Raw minimum.
|
|
142
|
+
*
|
|
143
|
+
* @default METER_DEFAULT_MIN
|
|
144
|
+
*/
|
|
145
|
+
readonly min?: number | null;
|
|
146
|
+
/**
|
|
147
|
+
* Raw maximum. Values less than or equal to `min` are repaired to `min + 1`.
|
|
148
|
+
*
|
|
149
|
+
* @default METER_DEFAULT_MAX
|
|
150
|
+
*/
|
|
151
|
+
readonly max?: number | null;
|
|
152
|
+
/**
|
|
153
|
+
* Optional low threshold.
|
|
154
|
+
*
|
|
155
|
+
* @default null
|
|
156
|
+
*/
|
|
157
|
+
readonly low?: number | null;
|
|
158
|
+
/**
|
|
159
|
+
* Optional high threshold.
|
|
160
|
+
*
|
|
161
|
+
* @default null
|
|
162
|
+
*/
|
|
163
|
+
readonly high?: number | null;
|
|
164
|
+
/**
|
|
165
|
+
* Optional optimum threshold.
|
|
166
|
+
*
|
|
167
|
+
* @default null
|
|
168
|
+
*/
|
|
169
|
+
readonly optimum?: number | null;
|
|
170
|
+
}
|
|
171
|
+
/** Normalize raw Meter props into the public native-safe state contract. */
|
|
172
|
+
declare function getMeterState(options?: MeterStateOptions): MeterSlotState;
|
|
173
|
+
//#endregion
|
|
174
|
+
export { MeterExpose as a, MeterState as c, _default as i, METER_DEFAULT_MIN as n, MeterRange as o, getMeterState as r, MeterSlotState as s, METER_DEFAULT_MAX as t };
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { a as useDeterministicId } from "./deterministic-id-yMq4HfmS.mjs";
|
|
2
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
3
|
+
import { computed, createElementBlock, defineComponent, openBlock, renderSlot, unref, useTemplateRef } from "vue";
|
|
4
|
+
//#region src/families/feedback/meter/meter-state.ts
|
|
5
|
+
/** Native default lower bound for Meter. */
|
|
6
|
+
const METER_DEFAULT_MIN = 0;
|
|
7
|
+
/** Native default upper bound for Meter. */
|
|
8
|
+
const METER_DEFAULT_MAX = 1;
|
|
9
|
+
function finite(value) {
|
|
10
|
+
return typeof value === "number" && Number.isFinite(value);
|
|
11
|
+
}
|
|
12
|
+
function clamp(value, min, max) {
|
|
13
|
+
return Math.min(Math.max(value, min), max);
|
|
14
|
+
}
|
|
15
|
+
function readThreshold(value, min, max) {
|
|
16
|
+
if (value == null) return {
|
|
17
|
+
invalid: false,
|
|
18
|
+
value: null
|
|
19
|
+
};
|
|
20
|
+
if (!finite(value)) return {
|
|
21
|
+
invalid: true,
|
|
22
|
+
value: null
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
invalid: value < min || value > max,
|
|
26
|
+
value: clamp(value, min, max)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function rangeFor(value, low, high) {
|
|
30
|
+
if (low !== null && value < low) return "low";
|
|
31
|
+
if (high !== null && value > high) return "high";
|
|
32
|
+
return "medium";
|
|
33
|
+
}
|
|
34
|
+
function stateFor(value, min, max, range, optimal) {
|
|
35
|
+
if (value <= min) return "empty";
|
|
36
|
+
if (value >= max) return "full";
|
|
37
|
+
return optimal ? "optimum" : range;
|
|
38
|
+
}
|
|
39
|
+
/** Normalize raw Meter props into the public native-safe state contract. */
|
|
40
|
+
function getMeterState(options = {}) {
|
|
41
|
+
const min = finite(options.min) ? options.min : 0;
|
|
42
|
+
let invalid = options.min != null && !finite(options.min);
|
|
43
|
+
let max = 1;
|
|
44
|
+
if (finite(options.max) && options.max > min) max = options.max;
|
|
45
|
+
else {
|
|
46
|
+
invalid = invalid || options.max != null;
|
|
47
|
+
max = min + 1;
|
|
48
|
+
}
|
|
49
|
+
const value = finite(options.value) ? clamp(options.value, min, max) : min;
|
|
50
|
+
invalid = invalid || options.value != null && (!finite(options.value) || options.value !== value);
|
|
51
|
+
const lowResult = readThreshold(options.low, min, max);
|
|
52
|
+
const highResult = readThreshold(options.high, min, max);
|
|
53
|
+
const optimumResult = readThreshold(options.optimum, min, max);
|
|
54
|
+
let low = lowResult.value;
|
|
55
|
+
let high = highResult.value;
|
|
56
|
+
invalid = invalid || lowResult.invalid || highResult.invalid || optimumResult.invalid;
|
|
57
|
+
if (low !== null && high !== null && low > high) {
|
|
58
|
+
invalid = true;
|
|
59
|
+
[low, high] = [high, low];
|
|
60
|
+
}
|
|
61
|
+
const percent = (value - min) / (max - min) * 100;
|
|
62
|
+
const range = rangeFor(value, low, high);
|
|
63
|
+
const optimumRange = optimumResult.value === null ? null : rangeFor(optimumResult.value, low, high);
|
|
64
|
+
const optimal = optimumRange !== null && range === optimumRange;
|
|
65
|
+
return Object.freeze({
|
|
66
|
+
value,
|
|
67
|
+
min,
|
|
68
|
+
max,
|
|
69
|
+
low,
|
|
70
|
+
high,
|
|
71
|
+
optimum: optimumResult.value,
|
|
72
|
+
percent,
|
|
73
|
+
range,
|
|
74
|
+
optimal,
|
|
75
|
+
invalid,
|
|
76
|
+
state: stateFor(value, min, max, range, optimal)
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/families/feedback/meter/meter.vue?vue&type=script&setup=true&lang.ts
|
|
81
|
+
const _hoisted_1 = [
|
|
82
|
+
"id",
|
|
83
|
+
"min",
|
|
84
|
+
"max",
|
|
85
|
+
"value",
|
|
86
|
+
"low",
|
|
87
|
+
"high",
|
|
88
|
+
"optimum",
|
|
89
|
+
"aria-label",
|
|
90
|
+
"aria-labelledby",
|
|
91
|
+
"aria-describedby",
|
|
92
|
+
"data-state",
|
|
93
|
+
"data-range",
|
|
94
|
+
"data-optimal",
|
|
95
|
+
"data-invalid",
|
|
96
|
+
"data-value",
|
|
97
|
+
"data-min",
|
|
98
|
+
"data-max",
|
|
99
|
+
"data-low",
|
|
100
|
+
"data-high",
|
|
101
|
+
"data-optimum",
|
|
102
|
+
"data-percent"
|
|
103
|
+
];
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/families/feedback/meter/meter.vue
|
|
106
|
+
var meter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
107
|
+
__name: "meter",
|
|
108
|
+
props: {
|
|
109
|
+
id: {
|
|
110
|
+
type: [String, null],
|
|
111
|
+
required: false,
|
|
112
|
+
default: () => void 0
|
|
113
|
+
},
|
|
114
|
+
value: {
|
|
115
|
+
type: [Number, null],
|
|
116
|
+
required: false,
|
|
117
|
+
default: () => 0
|
|
118
|
+
},
|
|
119
|
+
min: {
|
|
120
|
+
type: Number,
|
|
121
|
+
required: false,
|
|
122
|
+
default: () => 0
|
|
123
|
+
},
|
|
124
|
+
max: {
|
|
125
|
+
type: Number,
|
|
126
|
+
required: false,
|
|
127
|
+
default: () => 1
|
|
128
|
+
},
|
|
129
|
+
low: {
|
|
130
|
+
type: [Number, null],
|
|
131
|
+
required: false,
|
|
132
|
+
default: null
|
|
133
|
+
},
|
|
134
|
+
high: {
|
|
135
|
+
type: [Number, null],
|
|
136
|
+
required: false,
|
|
137
|
+
default: null
|
|
138
|
+
},
|
|
139
|
+
optimum: {
|
|
140
|
+
type: [Number, null],
|
|
141
|
+
required: false,
|
|
142
|
+
default: null
|
|
143
|
+
},
|
|
144
|
+
ariaLabel: {
|
|
145
|
+
type: String,
|
|
146
|
+
required: false,
|
|
147
|
+
default: () => void 0
|
|
148
|
+
},
|
|
149
|
+
ariaLabelledby: {
|
|
150
|
+
type: String,
|
|
151
|
+
required: false,
|
|
152
|
+
default: () => void 0
|
|
153
|
+
},
|
|
154
|
+
ariaDescribedby: {
|
|
155
|
+
type: String,
|
|
156
|
+
required: false,
|
|
157
|
+
default: () => void 0
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
setup(__props, { expose: __expose }) {
|
|
161
|
+
const element = useTemplateRef("element");
|
|
162
|
+
const controlId = useDeterministicId({
|
|
163
|
+
id: () => __props.id,
|
|
164
|
+
hint: "meter"
|
|
165
|
+
});
|
|
166
|
+
const meter = computed(() => getMeterState({
|
|
167
|
+
value: __props.value,
|
|
168
|
+
min: __props.min,
|
|
169
|
+
max: __props.max,
|
|
170
|
+
low: __props.low,
|
|
171
|
+
high: __props.high,
|
|
172
|
+
optimum: __props.optimum
|
|
173
|
+
}));
|
|
174
|
+
const currentValue = computed(() => meter.value.value);
|
|
175
|
+
const currentMin = computed(() => meter.value.min);
|
|
176
|
+
const currentMax = computed(() => meter.value.max);
|
|
177
|
+
const currentLow = computed(() => meter.value.low);
|
|
178
|
+
const currentHigh = computed(() => meter.value.high);
|
|
179
|
+
const currentOptimum = computed(() => meter.value.optimum);
|
|
180
|
+
const percent = computed(() => meter.value.percent);
|
|
181
|
+
const range = computed(() => meter.value.range);
|
|
182
|
+
const optimal = computed(() => meter.value.optimal);
|
|
183
|
+
const invalid = computed(() => meter.value.invalid);
|
|
184
|
+
const state = computed(() => meter.value.state);
|
|
185
|
+
__expose({
|
|
186
|
+
element,
|
|
187
|
+
value: currentValue,
|
|
188
|
+
min: currentMin,
|
|
189
|
+
max: currentMax,
|
|
190
|
+
low: currentLow,
|
|
191
|
+
high: currentHigh,
|
|
192
|
+
optimum: currentOptimum,
|
|
193
|
+
percent,
|
|
194
|
+
range,
|
|
195
|
+
optimal,
|
|
196
|
+
invalid,
|
|
197
|
+
state
|
|
198
|
+
});
|
|
199
|
+
return (_ctx, _cache) => {
|
|
200
|
+
return openBlock(), createElementBlock("meter", {
|
|
201
|
+
id: unref(controlId),
|
|
202
|
+
ref_key: "element",
|
|
203
|
+
ref: element,
|
|
204
|
+
min: currentMin.value,
|
|
205
|
+
max: currentMax.value,
|
|
206
|
+
value: currentValue.value,
|
|
207
|
+
low: currentLow.value ?? void 0,
|
|
208
|
+
high: currentHigh.value ?? void 0,
|
|
209
|
+
optimum: currentOptimum.value ?? void 0,
|
|
210
|
+
"aria-label": __props.ariaLabel,
|
|
211
|
+
"aria-labelledby": __props.ariaLabelledby,
|
|
212
|
+
"aria-describedby": __props.ariaDescribedby,
|
|
213
|
+
"data-vize-ui": "meter",
|
|
214
|
+
part: "root",
|
|
215
|
+
"data-state": state.value,
|
|
216
|
+
"data-range": range.value,
|
|
217
|
+
"data-optimal": optimal.value ? "true" : "false",
|
|
218
|
+
"data-invalid": invalid.value ? "true" : void 0,
|
|
219
|
+
"data-value": currentValue.value,
|
|
220
|
+
"data-min": currentMin.value,
|
|
221
|
+
"data-max": currentMax.value,
|
|
222
|
+
"data-low": currentLow.value ?? void 0,
|
|
223
|
+
"data-high": currentHigh.value ?? void 0,
|
|
224
|
+
"data-optimum": currentOptimum.value ?? void 0,
|
|
225
|
+
"data-percent": percent.value
|
|
226
|
+
}, [renderSlot(_ctx.$slots, "default", {
|
|
227
|
+
value: currentValue.value,
|
|
228
|
+
min: currentMin.value,
|
|
229
|
+
max: currentMax.value,
|
|
230
|
+
low: currentLow.value,
|
|
231
|
+
high: currentHigh.value,
|
|
232
|
+
optimum: currentOptimum.value,
|
|
233
|
+
percent: percent.value,
|
|
234
|
+
range: range.value,
|
|
235
|
+
optimal: optimal.value,
|
|
236
|
+
invalid: invalid.value,
|
|
237
|
+
state: state.value
|
|
238
|
+
}, void 0, true)], 8, _hoisted_1);
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
}), [["__scopeId", "data-v-fdc70309"]]);
|
|
242
|
+
//#endregion
|
|
243
|
+
export { getMeterState as i, METER_DEFAULT_MAX as n, METER_DEFAULT_MIN as r, meter_default as t };
|
package/dist/meter.d.mts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as MeterExpose, c as MeterState, i as _default, n as METER_DEFAULT_MIN, o as MeterRange, r as getMeterState, s as MeterSlotState, t as METER_DEFAULT_MAX } from "./meter-B3m17_8g.mjs";
|
|
2
|
+
export { METER_DEFAULT_MAX, METER_DEFAULT_MIN, _default as Meter, type MeterExpose, type MeterRange, type MeterSlotState, type MeterState, getMeterState };
|
package/dist/meter.mjs
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import './style.css';
|
|
2
|
+
import { getCurrentScope, onScopeDispose, shallowReadonly, shallowRef } from "vue";
|
|
3
|
+
//#region src/families/overlays/motion/motion-adapters.ts
|
|
4
|
+
const invalidOptionDiagnostic = "VIZE_UI_MOTION_OPTION";
|
|
5
|
+
const setupDiagnostic = "VIZE_UI_MOTION_SETUP";
|
|
6
|
+
const reducedMotionQuery = "(prefers-reduced-motion: reduce)";
|
|
7
|
+
/** Whether the current environment matches `prefers-reduced-motion: reduce`. */
|
|
8
|
+
function prefersReducedMotion() {
|
|
9
|
+
if (typeof globalThis.matchMedia !== "function") return false;
|
|
10
|
+
return globalThis.matchMedia(reducedMotionQuery).matches;
|
|
11
|
+
}
|
|
12
|
+
/** Whether this environment can run native document view transitions. */
|
|
13
|
+
function supportsViewTransitions() {
|
|
14
|
+
if (typeof document === "undefined") return false;
|
|
15
|
+
return typeof document.startViewTransition === "function";
|
|
16
|
+
}
|
|
17
|
+
/** Whether this environment supports `@starting-style` first-render transitions. */
|
|
18
|
+
function supportsStartingStyle() {
|
|
19
|
+
return "CSSStartingStyleRule" in globalThis;
|
|
20
|
+
}
|
|
21
|
+
/** Whether this environment supports scroll-driven animation timelines. */
|
|
22
|
+
function supportsScrollDrivenAnimations() {
|
|
23
|
+
if (typeof CSS === "undefined" || typeof CSS.supports !== "function") return false;
|
|
24
|
+
return CSS.supports("animation-timeline: scroll()");
|
|
25
|
+
}
|
|
26
|
+
function readBoolean(value, fallback) {
|
|
27
|
+
if (value === void 0) return fallback;
|
|
28
|
+
if (typeof value !== "boolean") throw new TypeError(`${invalidOptionDiagnostic}: respectReducedMotion must be a boolean`);
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
function toHandledVoid(promise) {
|
|
32
|
+
const result = promise.then(() => void 0);
|
|
33
|
+
result.catch(() => void 0);
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Run a DOM update through the View Transitions API when available.
|
|
38
|
+
*
|
|
39
|
+
* SSR-safe: without a document, without native support, or under reduced
|
|
40
|
+
* motion (unless opted out) the update runs directly and the handle resolves
|
|
41
|
+
* once it completes, so callers write one code path for every platform.
|
|
42
|
+
*/
|
|
43
|
+
function startViewTransition(update, options = {}) {
|
|
44
|
+
if (typeof update !== "function") throw new TypeError(`${invalidOptionDiagnostic}: update must be a function`);
|
|
45
|
+
const respectReducedMotion = readBoolean(options.respectReducedMotion, true);
|
|
46
|
+
if (!supportsViewTransitions() || respectReducedMotion && prefersReducedMotion()) {
|
|
47
|
+
const updateCallbackDone = toHandledVoid(Promise.resolve().then(update));
|
|
48
|
+
return Object.freeze({
|
|
49
|
+
native: false,
|
|
50
|
+
finished: updateCallbackDone,
|
|
51
|
+
ready: updateCallbackDone,
|
|
52
|
+
updateCallbackDone,
|
|
53
|
+
skipTransition: () => void 0
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
const transition = document.startViewTransition?.(() => Promise.resolve(update()).then(() => void 0));
|
|
57
|
+
if (transition === void 0) throw new Error(`${invalidOptionDiagnostic}: the platform revoked view transition support`);
|
|
58
|
+
return Object.freeze({
|
|
59
|
+
native: true,
|
|
60
|
+
finished: toHandledVoid(transition.finished),
|
|
61
|
+
ready: toHandledVoid(transition.ready),
|
|
62
|
+
updateCallbackDone: toHandledVoid(transition.updateCallbackDone),
|
|
63
|
+
skipTransition: () => {
|
|
64
|
+
transition.skipTransition();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Reactive `prefers-reduced-motion` state for motion policy decisions.
|
|
70
|
+
*
|
|
71
|
+
* SSR-safe: without `matchMedia` the ref stays `false`. The media listener is
|
|
72
|
+
* released with the current Vue effect scope.
|
|
73
|
+
*/
|
|
74
|
+
function useReducedMotion() {
|
|
75
|
+
if (!getCurrentScope()) throw new Error(`${setupDiagnostic}: use inside component setup or an active effect scope`);
|
|
76
|
+
const reduced = shallowRef(false);
|
|
77
|
+
if (typeof globalThis.matchMedia === "function") {
|
|
78
|
+
const query = globalThis.matchMedia(reducedMotionQuery);
|
|
79
|
+
reduced.value = query.matches;
|
|
80
|
+
const onChange = (event) => {
|
|
81
|
+
reduced.value = event.matches;
|
|
82
|
+
};
|
|
83
|
+
query.addEventListener("change", onChange);
|
|
84
|
+
onScopeDispose(() => {
|
|
85
|
+
query.removeEventListener("change", onChange);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return shallowReadonly(reduced);
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
//#region src/families/overlays/motion/motion-tokens.ts
|
|
92
|
+
const invalidTokenDiagnostic = "VIZE_UI_MOTION_TOKEN";
|
|
93
|
+
/**
|
|
94
|
+
* Duration tokens mirrored from `motion.css`.
|
|
95
|
+
*
|
|
96
|
+
* The packaged stylesheet is the source of truth; these mirrors exist so
|
|
97
|
+
* JavaScript consumers can read the same scale the CSS ships with.
|
|
98
|
+
*/
|
|
99
|
+
const motionDurations = Object.freeze({
|
|
100
|
+
instant: "0ms",
|
|
101
|
+
fast: "120ms",
|
|
102
|
+
base: "200ms",
|
|
103
|
+
slow: "320ms",
|
|
104
|
+
deliberate: "480ms"
|
|
105
|
+
});
|
|
106
|
+
/** Delay tokens mirrored from `motion.css`. */
|
|
107
|
+
const motionDelays = Object.freeze({
|
|
108
|
+
none: "0ms",
|
|
109
|
+
hint: "40ms",
|
|
110
|
+
stagger: "24ms"
|
|
111
|
+
});
|
|
112
|
+
/** Named easing curves mirrored from `motion.css`. */
|
|
113
|
+
const motionEasings = Object.freeze({
|
|
114
|
+
standard: "cubic-bezier(0.2, 0, 0, 1)",
|
|
115
|
+
decelerate: "cubic-bezier(0.1, 0, 0, 1)",
|
|
116
|
+
accelerate: "cubic-bezier(0.45, 0, 1, 1)",
|
|
117
|
+
emphasized: "cubic-bezier(0.34, 1.3, 0.32, 1)",
|
|
118
|
+
linear: "linear"
|
|
119
|
+
});
|
|
120
|
+
const recipeHooks = [
|
|
121
|
+
"enter-duration",
|
|
122
|
+
"enter-easing",
|
|
123
|
+
"exit-duration",
|
|
124
|
+
"exit-easing",
|
|
125
|
+
"move-duration",
|
|
126
|
+
"move-easing",
|
|
127
|
+
"emphasis-duration",
|
|
128
|
+
"emphasis-easing",
|
|
129
|
+
"slide-distance",
|
|
130
|
+
"scale-from"
|
|
131
|
+
];
|
|
132
|
+
const tokenNames = new Set([
|
|
133
|
+
...Object.keys(motionDurations).map((token) => `duration-${token}`),
|
|
134
|
+
...Object.keys(motionDelays).map((token) => `delay-${token}`),
|
|
135
|
+
...Object.keys(motionEasings).map((token) => `ease-${token}`),
|
|
136
|
+
...recipeHooks
|
|
137
|
+
]);
|
|
138
|
+
function assertTokenName(name) {
|
|
139
|
+
if (!tokenNames.has(name)) throw new TypeError(`${invalidTokenDiagnostic}: unknown motion token "${name}"`);
|
|
140
|
+
}
|
|
141
|
+
/** Custom-property name (`--vize-ui-motion-*`) for one motion token. */
|
|
142
|
+
function motionTokenProperty(name) {
|
|
143
|
+
assertTokenName(name);
|
|
144
|
+
return `--vize-ui-motion-${name}`;
|
|
145
|
+
}
|
|
146
|
+
/** `var()` reference to one motion token for imperative style composition. */
|
|
147
|
+
function motionTokenVar(name) {
|
|
148
|
+
return `var(${motionTokenProperty(name)})`;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Override motion tokens on one element's subtree.
|
|
152
|
+
*
|
|
153
|
+
* Custom properties inherit, so scoping an override to an element retunes
|
|
154
|
+
* every recipe below it — replacing a curve without forking a component.
|
|
155
|
+
* Returns a restore function that reinstates the element's previous values.
|
|
156
|
+
*/
|
|
157
|
+
function setMotionTokens(element, overrides) {
|
|
158
|
+
if (typeof element?.style?.setProperty !== "function") throw new TypeError(`${invalidTokenDiagnostic}: overrides need an element with inline style`);
|
|
159
|
+
const previous = /* @__PURE__ */ new Map();
|
|
160
|
+
for (const [name, value] of Object.entries(overrides)) {
|
|
161
|
+
if (value === void 0) continue;
|
|
162
|
+
if (typeof value !== "string" || value.trim().length === 0) throw new TypeError(`${invalidTokenDiagnostic}: token "${name}" needs a non-empty string`);
|
|
163
|
+
const property = motionTokenProperty(name);
|
|
164
|
+
if (!previous.has(property)) previous.set(property, element.style.getPropertyValue(property));
|
|
165
|
+
element.style.setProperty(property, value);
|
|
166
|
+
}
|
|
167
|
+
return () => {
|
|
168
|
+
for (const [property, value] of previous) if (value === "") element.style.removeProperty(property);
|
|
169
|
+
else element.style.setProperty(property, value);
|
|
170
|
+
previous.clear();
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
//#endregion
|
|
174
|
+
export { motionTokenVar as a, startViewTransition as c, supportsViewTransitions as d, useReducedMotion as f, motionTokenProperty as i, supportsScrollDrivenAnimations as l, motionDurations as n, setMotionTokens as o, motionEasings as r, prefersReducedMotion as s, motionDelays as t, supportsStartingStyle as u };
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ShallowRef } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/families/overlays/motion/motion-types.d.ts
|
|
4
|
+
/** Named steps on the motion duration scale. */
|
|
5
|
+
type MotionDurationToken = "instant" | "fast" | "base" | "slow" | "deliberate";
|
|
6
|
+
/** Named steps on the motion delay scale. */
|
|
7
|
+
type MotionDelayToken = "none" | "hint" | "stagger";
|
|
8
|
+
/** Named easing curves. */
|
|
9
|
+
type MotionEasingToken = "standard" | "decelerate" | "accelerate" | "emphasized" | "linear";
|
|
10
|
+
/** Enter/exit recipes understood by the presence and transition primitives. */
|
|
11
|
+
type MotionEnterExitRecipe = "fade" | "scale" | "slide";
|
|
12
|
+
/** Every recipe name accepted in the space-separated `data-vize-motion` attribute. */
|
|
13
|
+
type MotionRecipe = MotionEnterExitRecipe | "enter" | "move" | "pulse" | "shake" | "reveal";
|
|
14
|
+
/** Recipe hook properties that retune one motion phase without forking components. */
|
|
15
|
+
type MotionRecipeHook = "enter-duration" | "enter-easing" | "exit-duration" | "exit-easing" | "move-duration" | "move-easing" | "emphasis-duration" | "emphasis-easing" | "slide-distance" | "scale-from";
|
|
16
|
+
/** Suffix of one `--vize-ui-motion-*` custom property. */
|
|
17
|
+
type MotionTokenName = `duration-${MotionDurationToken}` | `delay-${MotionDelayToken}` | `ease-${MotionEasingToken}` | MotionRecipeHook;
|
|
18
|
+
/** Custom-property overrides applied by {@link setMotionTokens}. */
|
|
19
|
+
type MotionTokenOverrides = { readonly [Name in MotionTokenName]?: string };
|
|
20
|
+
/** Options accepted by {@link startViewTransition}. */
|
|
21
|
+
interface StartViewTransitionOptions {
|
|
22
|
+
/**
|
|
23
|
+
* Skip the native crossfade and apply the update directly when
|
|
24
|
+
* `prefers-reduced-motion: reduce` matches.
|
|
25
|
+
*
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
readonly respectReducedMotion?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Normalized handle returned by {@link startViewTransition} on every platform. */
|
|
31
|
+
interface ViewTransitionHandle {
|
|
32
|
+
/** Whether a native document view transition is driving the update. */
|
|
33
|
+
readonly native: boolean;
|
|
34
|
+
/** Resolves when the transition and its animations have finished. */
|
|
35
|
+
readonly finished: Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Resolves when transition animations are about to start. Rejects when the
|
|
38
|
+
* browser skips the transition; the rejection is pre-handled so ignoring
|
|
39
|
+
* `ready` never surfaces an unhandled rejection.
|
|
40
|
+
*/
|
|
41
|
+
readonly ready: Promise<void>;
|
|
42
|
+
/** Resolves when the DOM update callback has run to completion. */
|
|
43
|
+
readonly updateCallbackDone: Promise<void>;
|
|
44
|
+
/** Skip remaining animations while still applying the DOM update. */
|
|
45
|
+
readonly skipTransition: () => void;
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/families/overlays/motion/motion-adapters.d.ts
|
|
49
|
+
/** Whether the current environment matches `prefers-reduced-motion: reduce`. */
|
|
50
|
+
declare function prefersReducedMotion(): boolean;
|
|
51
|
+
/** Whether this environment can run native document view transitions. */
|
|
52
|
+
declare function supportsViewTransitions(): boolean;
|
|
53
|
+
/** Whether this environment supports `@starting-style` first-render transitions. */
|
|
54
|
+
declare function supportsStartingStyle(): boolean;
|
|
55
|
+
/** Whether this environment supports scroll-driven animation timelines. */
|
|
56
|
+
declare function supportsScrollDrivenAnimations(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Run a DOM update through the View Transitions API when available.
|
|
59
|
+
*
|
|
60
|
+
* SSR-safe: without a document, without native support, or under reduced
|
|
61
|
+
* motion (unless opted out) the update runs directly and the handle resolves
|
|
62
|
+
* once it completes, so callers write one code path for every platform.
|
|
63
|
+
*/
|
|
64
|
+
declare function startViewTransition(update: () => void | Promise<void>, options?: StartViewTransitionOptions): ViewTransitionHandle;
|
|
65
|
+
/**
|
|
66
|
+
* Reactive `prefers-reduced-motion` state for motion policy decisions.
|
|
67
|
+
*
|
|
68
|
+
* SSR-safe: without `matchMedia` the ref stays `false`. The media listener is
|
|
69
|
+
* released with the current Vue effect scope.
|
|
70
|
+
*/
|
|
71
|
+
declare function useReducedMotion(): Readonly<ShallowRef<boolean>>;
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region src/families/overlays/motion/motion-tokens.d.ts
|
|
74
|
+
/**
|
|
75
|
+
* Duration tokens mirrored from `motion.css`.
|
|
76
|
+
*
|
|
77
|
+
* The packaged stylesheet is the source of truth; these mirrors exist so
|
|
78
|
+
* JavaScript consumers can read the same scale the CSS ships with.
|
|
79
|
+
*/
|
|
80
|
+
declare const motionDurations: Readonly<Record<MotionDurationToken, string>>;
|
|
81
|
+
/** Delay tokens mirrored from `motion.css`. */
|
|
82
|
+
declare const motionDelays: Readonly<Record<MotionDelayToken, string>>;
|
|
83
|
+
/** Named easing curves mirrored from `motion.css`. */
|
|
84
|
+
declare const motionEasings: Readonly<Record<MotionEasingToken, string>>;
|
|
85
|
+
/** Custom-property name (`--vize-ui-motion-*`) for one motion token. */
|
|
86
|
+
declare function motionTokenProperty(name: MotionTokenName): string;
|
|
87
|
+
/** `var()` reference to one motion token for imperative style composition. */
|
|
88
|
+
declare function motionTokenVar(name: MotionTokenName): string;
|
|
89
|
+
/**
|
|
90
|
+
* Override motion tokens on one element's subtree.
|
|
91
|
+
*
|
|
92
|
+
* Custom properties inherit, so scoping an override to an element retunes
|
|
93
|
+
* every recipe below it — replacing a curve without forking a component.
|
|
94
|
+
* Returns a restore function that reinstates the element's previous values.
|
|
95
|
+
*/
|
|
96
|
+
declare function setMotionTokens(element: ElementCSSInlineStyle, overrides: MotionTokenOverrides): () => void;
|
|
97
|
+
//#endregion
|
|
98
|
+
export { ViewTransitionHandle as S, MotionRecipe as _, motionTokenVar as a, MotionTokenOverrides as b, startViewTransition as c, supportsViewTransitions as d, useReducedMotion as f, MotionEnterExitRecipe as g, MotionEasingToken as h, motionTokenProperty as i, supportsScrollDrivenAnimations as l, MotionDurationToken as m, motionDurations as n, setMotionTokens as o, MotionDelayToken as p, motionEasings as r, prefersReducedMotion as s, motionDelays as t, supportsStartingStyle as u, MotionRecipeHook as v, StartViewTransitionOptions as x, MotionTokenName as y };
|