@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,304 @@
|
|
|
1
|
+
import { getCurrentScope, onScopeDispose, shallowReadonly, shallowRef } from "vue";
|
|
2
|
+
//#region src/families/interaction/history/history-stack.ts
|
|
3
|
+
const optionDiagnostic$1 = "VIZE_UI_HISTORY_OPTION";
|
|
4
|
+
function resolveHistoryOptions(options) {
|
|
5
|
+
const limit = options.limit ?? 1e3;
|
|
6
|
+
if (!Number.isInteger(limit) || limit < 1) throw new TypeError(`${optionDiagnostic$1}: limit must be an integer >= 1`);
|
|
7
|
+
const coalesceWindow = options.coalesceWindow ?? 1e3;
|
|
8
|
+
if (typeof coalesceWindow !== "number" || !Number.isFinite(coalesceWindow) || coalesceWindow < 0) throw new TypeError(`${optionDiagnostic$1}: coalesceWindow must be a finite number >= 0`);
|
|
9
|
+
const now = options.now ?? Date.now;
|
|
10
|
+
if (typeof now !== "function") throw new TypeError(`${optionDiagnostic$1}: now must be a function`);
|
|
11
|
+
return Object.freeze({
|
|
12
|
+
limit,
|
|
13
|
+
coalesceWindow,
|
|
14
|
+
now
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function readOptionalString(value, name) {
|
|
18
|
+
if (value === void 0) return null;
|
|
19
|
+
if (typeof value !== "string") throw new TypeError(`${optionDiagnostic$1}: ${name} must be a string`);
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
function toRecord(entry, at) {
|
|
23
|
+
if (typeof entry.undo !== "function" || typeof entry.redo !== "function") throw new TypeError(`${optionDiagnostic$1}: entries need undo and redo functions`);
|
|
24
|
+
return {
|
|
25
|
+
undo: entry.undo,
|
|
26
|
+
redo: entry.redo,
|
|
27
|
+
label: readOptionalString(entry.label, "label"),
|
|
28
|
+
coalesceKey: readOptionalString(entry.coalesceKey, "coalesceKey"),
|
|
29
|
+
at
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function toSnapshotEntry(options) {
|
|
33
|
+
if (typeof options.apply !== "function") throw new TypeError(`${optionDiagnostic$1}: apply must be a function`);
|
|
34
|
+
const isEqual = options.isEqual ?? Object.is;
|
|
35
|
+
if (typeof isEqual !== "function") throw new TypeError(`${optionDiagnostic$1}: isEqual must be a function`);
|
|
36
|
+
readOptionalString(options.label, "label");
|
|
37
|
+
readOptionalString(options.coalesceKey, "coalesceKey");
|
|
38
|
+
if (isEqual(options.before, options.after)) return null;
|
|
39
|
+
const { before, after, apply } = options;
|
|
40
|
+
return {
|
|
41
|
+
undo: () => apply(before),
|
|
42
|
+
redo: () => apply(after),
|
|
43
|
+
...options.label !== void 0 ? { label: options.label } : {},
|
|
44
|
+
...options.coalesceKey !== void 0 ? { coalesceKey: options.coalesceKey } : {}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Merge `record` into `top` when both carry the same coalescing key and the
|
|
49
|
+
* push arrived inside the coalescing window. The merged step keeps the first
|
|
50
|
+
* undo, adopts the latest redo, and restarts the window.
|
|
51
|
+
*/
|
|
52
|
+
function tryCoalesce(top, record, coalesceWindow) {
|
|
53
|
+
if (top === void 0 || top.coalesceKey === null || top.coalesceKey !== record.coalesceKey || record.at - top.at > coalesceWindow) return false;
|
|
54
|
+
top.redo = record.redo;
|
|
55
|
+
top.label = record.label ?? top.label;
|
|
56
|
+
top.at = record.at;
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
/** Fold staged transaction records into one composite step. */
|
|
60
|
+
function foldRecords(records, label, at) {
|
|
61
|
+
const steps = [...records];
|
|
62
|
+
return {
|
|
63
|
+
undo: () => {
|
|
64
|
+
for (let index = steps.length - 1; index >= 0; index -= 1) steps[index].undo();
|
|
65
|
+
},
|
|
66
|
+
redo: () => {
|
|
67
|
+
for (const step of steps) step.redo();
|
|
68
|
+
},
|
|
69
|
+
label,
|
|
70
|
+
coalesceKey: null,
|
|
71
|
+
at
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/families/interaction/history/history-editable.ts
|
|
76
|
+
const optionDiagnostic = "VIZE_UI_HISTORY_EDITABLE";
|
|
77
|
+
/**
|
|
78
|
+
* Create an in-place editing session that records one history step per edit.
|
|
79
|
+
*
|
|
80
|
+
* `begin` captures the pre-edit value, `update` writes live values without
|
|
81
|
+
* touching history, and `commit` pushes a single snapshot step covering the
|
|
82
|
+
* whole session; `cancel` restores the captured value instead. This keeps
|
|
83
|
+
* per-keystroke writes out of the timeline so field edits undo as one unit.
|
|
84
|
+
*/
|
|
85
|
+
function createEditableTransaction(options) {
|
|
86
|
+
if (typeof options.history?.pushSnapshot !== "function") throw new TypeError(`${optionDiagnostic}: history must be a HistoryController`);
|
|
87
|
+
if (typeof options.read !== "function" || typeof options.write !== "function") throw new TypeError(`${optionDiagnostic}: read and write must be functions`);
|
|
88
|
+
for (const name of ["label", "coalesceKey"]) if (options[name] !== void 0 && typeof options[name] !== "string") throw new TypeError(`${optionDiagnostic}: ${name} must be a string`);
|
|
89
|
+
const isEqual = options.isEqual ?? Object.is;
|
|
90
|
+
if (typeof isEqual !== "function") throw new TypeError(`${optionDiagnostic}: isEqual must be a function`);
|
|
91
|
+
const isEditing = shallowRef(false);
|
|
92
|
+
let before;
|
|
93
|
+
const begin = () => {
|
|
94
|
+
if (isEditing.value) return;
|
|
95
|
+
before = options.read();
|
|
96
|
+
isEditing.value = true;
|
|
97
|
+
};
|
|
98
|
+
return Object.freeze({
|
|
99
|
+
isEditing: shallowReadonly(isEditing),
|
|
100
|
+
begin,
|
|
101
|
+
update: (value) => {
|
|
102
|
+
begin();
|
|
103
|
+
options.write(value);
|
|
104
|
+
},
|
|
105
|
+
commit: () => {
|
|
106
|
+
if (!isEditing.value) return false;
|
|
107
|
+
isEditing.value = false;
|
|
108
|
+
const after = options.read();
|
|
109
|
+
const captured = before;
|
|
110
|
+
before = void 0;
|
|
111
|
+
if (isEqual(captured, after)) return false;
|
|
112
|
+
options.history.pushSnapshot({
|
|
113
|
+
before: captured,
|
|
114
|
+
after,
|
|
115
|
+
apply: options.write,
|
|
116
|
+
isEqual,
|
|
117
|
+
...options.label !== void 0 ? { label: options.label } : {},
|
|
118
|
+
...options.coalesceKey !== void 0 ? { coalesceKey: options.coalesceKey } : {}
|
|
119
|
+
});
|
|
120
|
+
return true;
|
|
121
|
+
},
|
|
122
|
+
cancel: () => {
|
|
123
|
+
if (!isEditing.value) return false;
|
|
124
|
+
isEditing.value = false;
|
|
125
|
+
const captured = before;
|
|
126
|
+
before = void 0;
|
|
127
|
+
options.write(captured);
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/families/interaction/history/history.ts
|
|
134
|
+
const disposedDiagnostic = "VIZE_UI_HISTORY_DISPOSED";
|
|
135
|
+
const setupDiagnostic = "VIZE_UI_HISTORY_SETUP";
|
|
136
|
+
const transactionDiagnostic = "VIZE_UI_HISTORY_TRANSACTION";
|
|
137
|
+
/**
|
|
138
|
+
* Create an undo/redo timeline with coalescing, transactions, and snapshots.
|
|
139
|
+
*
|
|
140
|
+
* Entries describe changes that are already applied; the controller only
|
|
141
|
+
* replays them. It owns no DOM or timers, so it is safe to create during
|
|
142
|
+
* server rendering. Pushes that happen while the controller is restoring
|
|
143
|
+
* state are discarded so reactive mirrors cannot corrupt the timeline. Call
|
|
144
|
+
* {@link HistoryController.dispose} when using this factory outside a Vue
|
|
145
|
+
* effect scope.
|
|
146
|
+
*/
|
|
147
|
+
function createHistory(options = {}) {
|
|
148
|
+
const resolved = resolveHistoryOptions(options);
|
|
149
|
+
const undoStack = [];
|
|
150
|
+
const redoStack = [];
|
|
151
|
+
const staged = [];
|
|
152
|
+
const transactions = [];
|
|
153
|
+
const canUndo = shallowRef(false);
|
|
154
|
+
const canRedo = shallowRef(false);
|
|
155
|
+
const undoDepth = shallowRef(0);
|
|
156
|
+
const redoDepth = shallowRef(0);
|
|
157
|
+
const undoLabel = shallowRef(null);
|
|
158
|
+
const redoLabel = shallowRef(null);
|
|
159
|
+
const isRestoring = shallowRef(false);
|
|
160
|
+
let disposed = false;
|
|
161
|
+
const assertActive = () => {
|
|
162
|
+
if (disposed) throw new Error(`${disposedDiagnostic}: the history has been disposed`);
|
|
163
|
+
};
|
|
164
|
+
const assertNoTransaction = (operation) => {
|
|
165
|
+
if (transactions.length > 0) throw new Error(`${transactionDiagnostic}: cannot ${operation} while a transaction is open`);
|
|
166
|
+
};
|
|
167
|
+
const sync = () => {
|
|
168
|
+
canUndo.value = undoStack.length > 0;
|
|
169
|
+
canRedo.value = redoStack.length > 0;
|
|
170
|
+
undoDepth.value = undoStack.length;
|
|
171
|
+
redoDepth.value = redoStack.length;
|
|
172
|
+
undoLabel.value = undoStack.at(-1)?.label ?? null;
|
|
173
|
+
redoLabel.value = redoStack.at(-1)?.label ?? null;
|
|
174
|
+
};
|
|
175
|
+
const commitRecord = (record) => {
|
|
176
|
+
redoStack.length = 0;
|
|
177
|
+
if (!tryCoalesce(undoStack.at(-1), record, resolved.coalesceWindow)) {
|
|
178
|
+
undoStack.push(record);
|
|
179
|
+
if (undoStack.length > resolved.limit) undoStack.shift();
|
|
180
|
+
}
|
|
181
|
+
sync();
|
|
182
|
+
};
|
|
183
|
+
const push = (entry) => {
|
|
184
|
+
assertActive();
|
|
185
|
+
const record = toRecord(entry, resolved.now());
|
|
186
|
+
if (isRestoring.value) return;
|
|
187
|
+
if (transactions.length > 0) {
|
|
188
|
+
staged.push(record);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
commitRecord(record);
|
|
192
|
+
};
|
|
193
|
+
const replay = (from, to, action) => {
|
|
194
|
+
assertActive();
|
|
195
|
+
assertNoTransaction(action);
|
|
196
|
+
const record = from.pop();
|
|
197
|
+
if (record === void 0) return false;
|
|
198
|
+
isRestoring.value = true;
|
|
199
|
+
try {
|
|
200
|
+
record[action]();
|
|
201
|
+
} finally {
|
|
202
|
+
isRestoring.value = false;
|
|
203
|
+
sync();
|
|
204
|
+
}
|
|
205
|
+
to.push(record);
|
|
206
|
+
sync();
|
|
207
|
+
return true;
|
|
208
|
+
};
|
|
209
|
+
const beginTransaction = (label) => {
|
|
210
|
+
assertActive();
|
|
211
|
+
if (label !== void 0 && typeof label !== "string") throw new TypeError(`${transactionDiagnostic}: label must be a string`);
|
|
212
|
+
const frame = {
|
|
213
|
+
label: label ?? null,
|
|
214
|
+
startIndex: staged.length
|
|
215
|
+
};
|
|
216
|
+
transactions.push(frame);
|
|
217
|
+
let settled = false;
|
|
218
|
+
const assertOpen = () => {
|
|
219
|
+
assertActive();
|
|
220
|
+
if (settled || transactions.at(-1) !== frame) throw new Error(`${transactionDiagnostic}: transactions settle once, innermost first`);
|
|
221
|
+
settled = true;
|
|
222
|
+
transactions.pop();
|
|
223
|
+
};
|
|
224
|
+
return Object.freeze({
|
|
225
|
+
commit: () => {
|
|
226
|
+
assertOpen();
|
|
227
|
+
if (transactions.length > 0) return;
|
|
228
|
+
const records = staged.splice(0);
|
|
229
|
+
if (records.length === 0) return;
|
|
230
|
+
if (records.length === 1 && frame.label === null) {
|
|
231
|
+
commitRecord(records[0]);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
commitRecord(foldRecords(records, frame.label, resolved.now()));
|
|
235
|
+
},
|
|
236
|
+
rollback: () => {
|
|
237
|
+
assertOpen();
|
|
238
|
+
const records = staged.splice(frame.startIndex);
|
|
239
|
+
isRestoring.value = true;
|
|
240
|
+
try {
|
|
241
|
+
for (let index = records.length - 1; index >= 0; index -= 1) records[index].undo();
|
|
242
|
+
} finally {
|
|
243
|
+
isRestoring.value = false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
};
|
|
248
|
+
return Object.freeze({
|
|
249
|
+
canUndo: shallowReadonly(canUndo),
|
|
250
|
+
canRedo: shallowReadonly(canRedo),
|
|
251
|
+
undoDepth: shallowReadonly(undoDepth),
|
|
252
|
+
redoDepth: shallowReadonly(redoDepth),
|
|
253
|
+
undoLabel: shallowReadonly(undoLabel),
|
|
254
|
+
redoLabel: shallowReadonly(redoLabel),
|
|
255
|
+
isRestoring: shallowReadonly(isRestoring),
|
|
256
|
+
push,
|
|
257
|
+
pushSnapshot: (snapshot) => {
|
|
258
|
+
assertActive();
|
|
259
|
+
const entry = toSnapshotEntry(snapshot);
|
|
260
|
+
if (entry !== null) push(entry);
|
|
261
|
+
},
|
|
262
|
+
undo: () => replay(undoStack, redoStack, "undo"),
|
|
263
|
+
redo: () => replay(redoStack, undoStack, "redo"),
|
|
264
|
+
beginTransaction,
|
|
265
|
+
transaction: (label, work) => {
|
|
266
|
+
if (typeof work !== "function") throw new TypeError(`${transactionDiagnostic}: work must be a function`);
|
|
267
|
+
const frame = beginTransaction(label);
|
|
268
|
+
let result;
|
|
269
|
+
try {
|
|
270
|
+
result = work();
|
|
271
|
+
} catch (error) {
|
|
272
|
+
frame.rollback();
|
|
273
|
+
throw error;
|
|
274
|
+
}
|
|
275
|
+
frame.commit();
|
|
276
|
+
return result;
|
|
277
|
+
},
|
|
278
|
+
clear: () => {
|
|
279
|
+
assertActive();
|
|
280
|
+
assertNoTransaction("clear");
|
|
281
|
+
undoStack.length = 0;
|
|
282
|
+
redoStack.length = 0;
|
|
283
|
+
sync();
|
|
284
|
+
},
|
|
285
|
+
dispose: () => {
|
|
286
|
+
if (disposed) return;
|
|
287
|
+
disposed = true;
|
|
288
|
+
undoStack.length = 0;
|
|
289
|
+
redoStack.length = 0;
|
|
290
|
+
staged.length = 0;
|
|
291
|
+
transactions.length = 0;
|
|
292
|
+
sync();
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
/** Create a history controller disposed with the current Vue effect scope. */
|
|
297
|
+
function useHistory(options = {}) {
|
|
298
|
+
if (!getCurrentScope()) throw new Error(`${setupDiagnostic}: use inside component setup or an active effect scope`);
|
|
299
|
+
const history = createHistory(options);
|
|
300
|
+
onScopeDispose(history.dispose);
|
|
301
|
+
return history;
|
|
302
|
+
}
|
|
303
|
+
//#endregion
|
|
304
|
+
export { useHistory as n, createEditableTransaction as r, createHistory as t };
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { ShallowRef } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/families/interaction/history/history-types.d.ts
|
|
4
|
+
/** One undoable unit of work whose effects are already applied. */
|
|
5
|
+
interface HistoryEntry {
|
|
6
|
+
/** Reverse the applied change. */
|
|
7
|
+
readonly undo: () => void;
|
|
8
|
+
/** Re-apply the change after it was undone. */
|
|
9
|
+
readonly redo: () => void;
|
|
10
|
+
/** Human-readable label for Undo/Redo menu items. */
|
|
11
|
+
readonly label?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Adjacent pushes carrying the same key merge into one step while they
|
|
14
|
+
* arrive within the coalescing window and nothing was undone in between.
|
|
15
|
+
*/
|
|
16
|
+
readonly coalesceKey?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Value-based entry description used by `HistoryController.pushSnapshot`. */
|
|
19
|
+
interface HistorySnapshotOptions<Value> {
|
|
20
|
+
/** State before the change. */
|
|
21
|
+
readonly before: Value;
|
|
22
|
+
/** State after the change. */
|
|
23
|
+
readonly after: Value;
|
|
24
|
+
/** Writer invoked with `before` on undo and `after` on redo. */
|
|
25
|
+
readonly apply: (value: Value) => void;
|
|
26
|
+
/** Human-readable label for Undo/Redo menu items. */
|
|
27
|
+
readonly label?: string;
|
|
28
|
+
/** Coalescing key; see {@link HistoryEntry.coalesceKey}. */
|
|
29
|
+
readonly coalesceKey?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Equality used to drop no-op snapshots.
|
|
32
|
+
*
|
|
33
|
+
* @default Object.is
|
|
34
|
+
*/
|
|
35
|
+
readonly isEqual?: (left: Value, right: Value) => boolean;
|
|
36
|
+
}
|
|
37
|
+
/** Open transaction handle returned by `HistoryController.beginTransaction`. */
|
|
38
|
+
interface HistoryTransaction {
|
|
39
|
+
/** Fold everything staged since `beginTransaction` into one step. */
|
|
40
|
+
readonly commit: () => void;
|
|
41
|
+
/** Undo and discard everything staged since `beginTransaction`. */
|
|
42
|
+
readonly rollback: () => void;
|
|
43
|
+
}
|
|
44
|
+
/** Options for `createHistory` and `useHistory`. */
|
|
45
|
+
interface HistoryOptions {
|
|
46
|
+
/**
|
|
47
|
+
* Maximum retained undo steps; the oldest step is dropped beyond it.
|
|
48
|
+
*
|
|
49
|
+
* @default 1000
|
|
50
|
+
*/
|
|
51
|
+
readonly limit?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Milliseconds within which same-key pushes coalesce into one step.
|
|
54
|
+
*
|
|
55
|
+
* @default 1000
|
|
56
|
+
*/
|
|
57
|
+
readonly coalesceWindow?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Monotonic clock used for coalescing decisions, injectable for tests.
|
|
60
|
+
*
|
|
61
|
+
* @default Date.now
|
|
62
|
+
*/
|
|
63
|
+
readonly now?: () => number;
|
|
64
|
+
}
|
|
65
|
+
/** Undo/redo timeline with coalescing, transactions, and snapshots. */
|
|
66
|
+
interface HistoryController {
|
|
67
|
+
/** Whether at least one step can be undone. */
|
|
68
|
+
readonly canUndo: Readonly<ShallowRef<boolean>>;
|
|
69
|
+
/** Whether at least one step can be redone. */
|
|
70
|
+
readonly canRedo: Readonly<ShallowRef<boolean>>;
|
|
71
|
+
/** Number of undoable steps. */
|
|
72
|
+
readonly undoDepth: Readonly<ShallowRef<number>>;
|
|
73
|
+
/** Number of redoable steps. */
|
|
74
|
+
readonly redoDepth: Readonly<ShallowRef<number>>;
|
|
75
|
+
/** Label of the next undo step, or `null`. */
|
|
76
|
+
readonly undoLabel: Readonly<ShallowRef<string | null>>;
|
|
77
|
+
/** Label of the next redo step, or `null`. */
|
|
78
|
+
readonly redoLabel: Readonly<ShallowRef<string | null>>;
|
|
79
|
+
/** True while an undo or redo is re-applying state. */
|
|
80
|
+
readonly isRestoring: Readonly<ShallowRef<boolean>>;
|
|
81
|
+
/** Record one already-applied entry, coalescing when eligible. */
|
|
82
|
+
readonly push: (entry: HistoryEntry) => void;
|
|
83
|
+
/** Record one already-applied value change, dropping no-op snapshots. */
|
|
84
|
+
readonly pushSnapshot: <Value>(options: HistorySnapshotOptions<Value>) => void;
|
|
85
|
+
/** Undo one step and report whether one existed. */
|
|
86
|
+
readonly undo: () => boolean;
|
|
87
|
+
/** Redo one step and report whether one existed. */
|
|
88
|
+
readonly redo: () => boolean;
|
|
89
|
+
/** Open a transaction that folds staged pushes into one step. */
|
|
90
|
+
readonly beginTransaction: (label?: string) => HistoryTransaction;
|
|
91
|
+
/** Run `work` inside a transaction, rolling back when it throws. */
|
|
92
|
+
readonly transaction: <Result>(label: string | undefined, work: () => Result) => Result;
|
|
93
|
+
/** Drop both timelines without touching application state. */
|
|
94
|
+
readonly clear: () => void;
|
|
95
|
+
/** Clear the timeline and make imperative calls terminal. */
|
|
96
|
+
readonly dispose: () => void;
|
|
97
|
+
}
|
|
98
|
+
/** Options for `createEditableTransaction`. */
|
|
99
|
+
interface EditableTransactionOptions<Value> {
|
|
100
|
+
/** History timeline that receives one step per committed edit. */
|
|
101
|
+
readonly history: HistoryController;
|
|
102
|
+
/** Read the current value from the editor. */
|
|
103
|
+
readonly read: () => Value;
|
|
104
|
+
/** Write a value back into the editor. */
|
|
105
|
+
readonly write: (value: Value) => void;
|
|
106
|
+
/** Label recorded on committed steps. */
|
|
107
|
+
readonly label?: string;
|
|
108
|
+
/** Coalescing key recorded on committed steps. */
|
|
109
|
+
readonly coalesceKey?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Equality used to drop unchanged commits.
|
|
112
|
+
*
|
|
113
|
+
* @default Object.is
|
|
114
|
+
*/
|
|
115
|
+
readonly isEqual?: (left: Value, right: Value) => boolean;
|
|
116
|
+
}
|
|
117
|
+
/** In-place editing session that commits one history step per edit. */
|
|
118
|
+
interface EditableTransaction<Value> {
|
|
119
|
+
/** True between `begin` and the next `commit` or `cancel`. */
|
|
120
|
+
readonly isEditing: Readonly<ShallowRef<boolean>>;
|
|
121
|
+
/** Capture the pre-edit value. Idempotent while editing. */
|
|
122
|
+
readonly begin: () => void;
|
|
123
|
+
/** Write a live value, beginning the session when necessary. */
|
|
124
|
+
readonly update: (value: Value) => void;
|
|
125
|
+
/** Push one step for the whole session; report whether one was pushed. */
|
|
126
|
+
readonly commit: () => boolean;
|
|
127
|
+
/** Restore the pre-edit value; report whether a session was open. */
|
|
128
|
+
readonly cancel: () => boolean;
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region src/families/interaction/history/history-editable.d.ts
|
|
132
|
+
/**
|
|
133
|
+
* Create an in-place editing session that records one history step per edit.
|
|
134
|
+
*
|
|
135
|
+
* `begin` captures the pre-edit value, `update` writes live values without
|
|
136
|
+
* touching history, and `commit` pushes a single snapshot step covering the
|
|
137
|
+
* whole session; `cancel` restores the captured value instead. This keeps
|
|
138
|
+
* per-keystroke writes out of the timeline so field edits undo as one unit.
|
|
139
|
+
*/
|
|
140
|
+
declare function createEditableTransaction<Value>(options: EditableTransactionOptions<Value>): EditableTransaction<Value>;
|
|
141
|
+
//#endregion
|
|
142
|
+
//#region src/families/interaction/history/history.d.ts
|
|
143
|
+
/**
|
|
144
|
+
* Create an undo/redo timeline with coalescing, transactions, and snapshots.
|
|
145
|
+
*
|
|
146
|
+
* Entries describe changes that are already applied; the controller only
|
|
147
|
+
* replays them. It owns no DOM or timers, so it is safe to create during
|
|
148
|
+
* server rendering. Pushes that happen while the controller is restoring
|
|
149
|
+
* state are discarded so reactive mirrors cannot corrupt the timeline. Call
|
|
150
|
+
* {@link HistoryController.dispose} when using this factory outside a Vue
|
|
151
|
+
* effect scope.
|
|
152
|
+
*/
|
|
153
|
+
declare function createHistory(options?: HistoryOptions): HistoryController;
|
|
154
|
+
/** Create a history controller disposed with the current Vue effect scope. */
|
|
155
|
+
declare function useHistory(options?: HistoryOptions): HistoryController;
|
|
156
|
+
//#endregion
|
|
157
|
+
export { EditableTransactionOptions as a, HistoryOptions as c, EditableTransaction as i, HistorySnapshotOptions as l, useHistory as n, HistoryController as o, createEditableTransaction as r, HistoryEntry as s, createHistory as t, HistoryTransaction as u };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as EditableTransactionOptions, c as HistoryOptions, i as EditableTransaction, l as HistorySnapshotOptions, n as useHistory, o as HistoryController, r as createEditableTransaction, s as HistoryEntry, t as createHistory, u as HistoryTransaction } from "./history-BkcOSOWb.mjs";
|
|
2
|
+
export { type EditableTransaction, type EditableTransactionOptions, type HistoryController, type HistoryEntry, type HistoryOptions, type HistorySnapshotOptions, type HistoryTransaction, createEditableTransaction, createHistory, useHistory };
|
package/dist/history.mjs
ADDED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MaybeRefOrGetter, ShallowRef } from "vue";
|
|
2
2
|
|
|
3
|
-
//#region src/hover-types.d.ts
|
|
3
|
+
//#region src/families/interaction/hover/hover-types.d.ts
|
|
4
4
|
/** Pointing-device families that have a meaningful hover state. */
|
|
5
5
|
type HoverPointerType = "mouse" | "pen";
|
|
6
6
|
/** Lifecycle notification emitted by a hover controller. */
|
|
@@ -71,7 +71,7 @@ interface HoverController {
|
|
|
71
71
|
readonly dispose: () => void;
|
|
72
72
|
}
|
|
73
73
|
//#endregion
|
|
74
|
-
//#region src/hover.d.ts
|
|
74
|
+
//#region src/families/interaction/hover/hover.d.ts
|
|
75
75
|
/** Create an SSR-safe mouse and pen hover normalizer for one host. */
|
|
76
76
|
declare function createHover(options?: HoverOptions): HoverController;
|
|
77
77
|
/** Create a hover normalizer disposed with the current Vue effect scope. */
|
package/dist/hover.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as HoverEventType, c as HoverProps, i as HoverEvent, n as useHover, o as HoverOptions, r as HoverController, s as HoverPointerType, t as createHover } from "./hover-
|
|
1
|
+
import { a as HoverEventType, c as HoverProps, i as HoverEvent, n as useHover, o as HoverOptions, r as HoverController, s as HoverPointerType, t as createHover } from "./hover-ZiPRiZkb.mjs";
|
|
2
2
|
export { type HoverController, type HoverEvent, type HoverEventType, type HoverOptions, type HoverPointerType, type HoverProps, createHover, useHover };
|
package/dist/hover.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getCurrentScope, onScopeDispose, shallowReadonly, shallowRef, toValue } from "vue";
|
|
2
|
-
//#region src/hover.ts
|
|
2
|
+
//#region src/families/interaction/hover/hover.ts
|
|
3
3
|
const invalidOptionDiagnostic = "VIZE_UI_HOVER_OPTION";
|
|
4
4
|
const disposedDiagnostic = "VIZE_UI_HOVER_DISPOSED";
|
|
5
5
|
const setupDiagnostic = "VIZE_UI_HOVER_SETUP";
|