@mkbabb/glass-ui 3.1.1 → 3.3.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/{CardFooter-CSGcJkqa.js → CardFooter-C390imy7.js} +3 -3
- package/dist/{CollapsibleContent-CVMOcYlV.js → CollapsibleContent-cauTbZEM.js} +1 -1
- package/dist/{CommandShortcut-DWT19a2Y.js → CommandShortcut-BiVyqipe.js} +7 -6
- package/dist/{ContextMenuSubContent-gAFxJ-qi.js → ContextMenuSubContent-DrWkXKQP.js} +4 -4
- package/dist/DataTable-FfkaAg2z.js +465 -0
- package/dist/DialogContent-IQ8_BRrC.js +100 -0
- package/dist/{DialogFooter-ClrNEOVU.js → DialogFooter-Er0wA3K6.js} +2 -2
- package/dist/{DiscoGlyph-C3JfMnRV.js → DiscoGlyph-BaZ8OawK.js} +1 -1
- package/dist/{GlyphFace-BRS8vUb7.js → GlyphFace-B_7vOmYn.js} +1 -1
- package/dist/HoverPopover-DTSYkJtw.js +96 -0
- package/dist/{IconTooltip-BkaA7tZ2.js → IconTooltip-BTyYn4mr.js} +1 -1
- package/dist/Input-CU9CNKmo.js +52 -0
- package/dist/{MetricBadge-DmAihkXd.js → MetricBadge-BlrdbOGN.js} +2 -2
- package/dist/{Notification-OqIpADml.js → Notification-DP_ApJLo.js} +3 -3
- package/dist/{NumberFieldContent-DTH9gb_N.js → NumberFieldContent-iOTQ5rGO.js} +9 -5
- package/dist/{PopoverContent-EiklFrna.js → PopoverContent-B8WtJECb.js} +1 -1
- package/dist/Progress-DjM86vfb.js +254 -0
- package/dist/{ScrollingText-BFd0i2zJ.js → ScrollingText-P9o_DuMn.js} +2 -2
- package/dist/{SelectScrollDownButton-Dth8-wXQ.js → SelectScrollDownButton-BGn3rjs9.js} +12 -11
- package/dist/TabsIndicator-DA0x9gPr.js +97 -0
- package/dist/{Toaster-Bjlunvq4.js → Toaster-DdhMKfus.js} +1 -1
- package/dist/{ToggleGroupItem-OesUouE7.js → ToggleGroupItem-gyXj998A.js} +37 -40
- package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
- package/dist/animated-digit.js +3 -3
- package/dist/api/index.d.ts +2 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +471 -320
- package/dist/badge.js +1 -1
- package/dist/{button-C0aHmBbt.js → button-Ckn3eDfB.js} +27 -22
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +6 -6
- package/dist/{check-dwgetki8.js → check-CdkxGxXJ.js} +1 -1
- package/dist/{chevron-down-DILQA1t6.js → chevron-down-pBY8sYfV.js} +1 -1
- package/dist/{chevron-right-fS7fal2t.js → chevron-right-BjeKC22V.js} +1 -1
- package/dist/{chevron-up-BtYjYQOS.js → chevron-up-DBeNHUm1.js} +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-rkK4RMx2.js +33 -0
- package/dist/color.d.ts +1 -0
- package/dist/color.js +2 -0
- package/dist/command.js +1 -1
- package/dist/compile-DVgAxagk.js +106 -0
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
- package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
- package/dist/components/custom/aurora/composables/color.d.ts +42 -16
- package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
- package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
- package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +3 -6
- package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
- package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/index.d.ts +4 -3
- package/dist/components/custom/configurator/Configurator.vue.d.ts +26 -0
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
- package/dist/components/custom/configurator/density.d.ts +3 -8
- package/dist/components/custom/configurator/index.d.ts +1 -1
- package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +15 -4
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
- package/dist/components/custom/dock/GlassDock.vue.d.ts +34 -13
- package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
- package/dist/components/custom/dock/index.d.ts +1 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
- package/dist/components/custom/glyph-face/keys.d.ts +3 -29
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
- package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
- package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
- package/dist/components/custom/goo-blob/index.d.ts +7 -0
- package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
- package/dist/components/custom/goo-blob/types.d.ts +77 -0
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
- package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
- package/dist/components/custom/sortable-list/context.d.ts +2 -3
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
- package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
- package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
- package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
- package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
- package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
- package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
- package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
- package/dist/components/ui/avatar/index.d.ts +1 -1
- package/dist/components/ui/badge/index.d.ts +2 -2
- package/dist/components/ui/button/Button.vue.d.ts +3 -1
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
- package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -3
- package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
- package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
- package/dist/components/ui/input/Input.vue.d.ts +19 -1
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
- package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
- package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
- package/dist/components/ui/progress/index.d.ts +5 -2
- package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
- package/dist/components/ui/select/Select.vue.d.ts +2 -2
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/slider/index.d.ts +12 -11
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
- package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/toggle/index.d.ts +1 -1
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
- package/dist/composables/color/index.d.ts +49 -0
- package/dist/composables/context/createContext.d.ts +56 -0
- package/dist/composables/context/index.d.ts +1 -0
- package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
- package/dist/composables/dark/index.d.ts +3 -0
- package/dist/composables/dark/useGlobalDark.d.ts +19 -2
- package/dist/composables/dom/index.d.ts +1 -3
- package/dist/composables/dom/useClipboard.d.ts +35 -12
- package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
- package/dist/composables/dom/useTextHighlight.d.ts +40 -0
- package/dist/composables/glass/webgl/compile.d.ts +15 -0
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
- package/dist/composables/motion/core/index.d.ts +2 -1
- package/dist/composables/motion/index.d.ts +1 -1
- package/dist/composables/motion/useCountup.d.ts +29 -0
- package/dist/composables/motion/usePrioritizedTask.d.ts +41 -0
- package/dist/composables/motion/vReveal.d.ts +2 -0
- package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
- package/dist/composables/sortable/dragController.d.ts +44 -0
- package/dist/composables/sortable/dropResolver.d.ts +34 -0
- package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
- package/dist/composables/sortable/index.d.ts +1 -1
- package/dist/composables/sortable/touchGate.d.ts +26 -0
- package/dist/composables/sortable/transitionTiming.d.ts +50 -0
- package/dist/composables/sortable/types.d.ts +133 -0
- package/dist/composables/sortable/useSortable.d.ts +25 -140
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +3 -3
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +5 -5
- package/dist/createContext-DBMGRlx4.js +25 -0
- package/dist/dark.d.ts +2 -1
- package/dist/dark.js +9 -2
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/disco-glyph.js +1 -1
- package/dist/dock.js +410 -254
- package/dist/dockContext-spUj_-E5.js +9 -0
- package/dist/dom.js +6 -5
- package/dist/{dropdown-menu-BvRUamNs.js → dropdown-menu-EFjl5iKo.js} +4 -4
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +28 -22
- package/dist/fonts/README.md +21 -0
- package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/dist/forms.js +70 -61
- package/dist/glass-carousel.js +59 -52
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +159 -254
- package/dist/glyph-face.js +2 -2
- package/dist/goo-blob.d.ts +1 -0
- package/dist/goo-blob.js +538 -0
- package/dist/header-ribbon.js +3 -3
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/instrument-rail.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/keys-BFoma9vm.js +9 -0
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +57 -39
- package/dist/metric-badge.js +1 -1
- package/dist/metric-stack.js +1 -1
- package/dist/{minimize-2-LsCJ_eNt.js → minimize-2-BP27-qBY.js} +1 -1
- package/dist/motion-core.js +154 -135
- package/dist/motion.js +63 -15
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-a-D93K1S.js → presets-1OhFpaIC.js} +5 -5
- package/dist/prng-Bz_1Tydc.js +15 -0
- package/dist/progress.js +2 -2
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/responsive-tabs.js +38 -32
- package/dist/scrolling-text.js +1 -1
- package/dist/{search-DBAiUABx.js → search-DBG8qaRs.js} +1 -1
- package/dist/search.js +153 -149
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/{sheet-CukNDezz.js → sheet-CQYYrkr9.js} +3 -3
- package/dist/sheet.js +1 -1
- package/dist/{slider-DJvHkTRe.js → slider-BOh8ycfZ.js} +8 -12
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +37 -39
- package/dist/stacked-icons.js +2 -2
- package/dist/styles/animations.css +1 -1
- package/dist/styles/cards.css +1 -1
- package/dist/styles/components.css +45 -0
- package/dist/styles/dock-controls.css +486 -0
- package/dist/styles/dock.css +325 -431
- package/dist/styles/fonts.css +25 -0
- package/dist/styles/glass-specular-track.css +154 -0
- package/dist/styles/glass.css +74 -2
- package/dist/styles/index.css +25 -2
- package/dist/styles/instrument-chassis.css +11 -4
- package/dist/styles/theme.css +73 -21
- package/dist/styles/tokens.css +282 -140
- package/dist/styles/typography.css +14 -8
- package/dist/styles/utilities.css +92 -8
- package/dist/styles/view-transition.css +10 -4
- package/dist/switch.js +1 -1
- package/dist/tabs.js +148 -106
- package/dist/timeline.js +220 -159
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-DKQYVB7s.js → useAnimatedNumber-BF6r64lA.js} +1 -1
- package/dist/useClipboard-D8vFyRCa.js +97 -0
- package/dist/useConfiguratorState-DUtC1jxr.js +276 -0
- package/dist/useGlobalDark-CWiaCoEw.js +34 -0
- package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
- package/dist/useSortable-DnyGXKKY.js +246 -0
- package/dist/useTextHighlight-Dmtofpk2.js +72 -0
- package/dist/{useTouchGate-D9Zvrzyc.js → useTouchGate-CS5Csc2h.js} +1 -1
- package/dist/{useViewTransition-DYIK6Gzb.js → useViewTransition-D4ssvnXZ.js} +5 -3
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/platformSupport.d.ts +8 -0
- package/dist/utils/prng.d.ts +4 -0
- package/dist/vReveal-u2wSG2El.js +35 -0
- package/dist/watercolor-dot.d.ts +1 -0
- package/dist/watercolor-dot.js +129 -0
- package/dist/{x-q7pJa83X.js → x-C4pz9nbD.js} +1 -1
- package/package.json +110 -16
- package/src/fonts/README.md +21 -0
- package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/src/styles/animations.css +1 -1
- package/src/styles/cards.css +1 -1
- package/src/styles/dock-controls.css +486 -0
- package/src/styles/dock.css +325 -431
- package/src/styles/fonts.css +25 -0
- package/src/styles/glass-specular-track.css +154 -0
- package/src/styles/glass.css +74 -2
- package/src/styles/index.css +21 -2
- package/src/styles/instrument-chassis.css +11 -4
- package/src/styles/theme.css +73 -21
- package/src/styles/tokens.css +282 -140
- package/src/styles/typography.css +14 -8
- package/src/styles/utilities.css +92 -8
- package/src/styles/view-transition.css +10 -4
- package/dist/DataTable-R8-Zidms.js +0 -460
- package/dist/DialogContent-2fALDSvc.js +0 -93
- package/dist/HoverPopover-CWFCfLx3.js +0 -96
- package/dist/Input-DDpFn568.js +0 -30
- package/dist/Progress-FApA9fm_.js +0 -126
- package/dist/UnderlineTabs-DAWMLmJG.js +0 -37
- package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
- package/dist/composables/dom/useBreakpoint.d.ts +0 -38
- package/dist/composables/dom/useIdleReady.d.ts +0 -63
- package/dist/composables/dom/useViewportReady.d.ts +0 -87
- package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
- package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
- package/dist/composables/motion/useStagger.d.ts +0 -50
- package/dist/dockContext-D5NZCWJs.js +0 -16
- package/dist/keys-CaTQS-vx.js +0 -11
- package/dist/useConfiguratorState-CtRBE0m_.js +0 -268
- package/dist/useGlobalDark-B0WvLJE3.js +0 -24
- package/dist/useIdleReady-Cmkhm03v.js +0 -162
- package/dist/useIntersectionPause-IY2CwPQb.js +0 -39
- package/dist/useSortable-Cq2Y1JLO.js +0 -175
- /package/dist/{ContextMenuContent-otjFIu8v.js → ContextMenuContent-De01_83g.js} +0 -0
- /package/dist/{HoverCardContent-DaGrgJBO.js → HoverCardContent-ICfIMZX1.js} +0 -0
- /package/dist/{InstrumentChassis-CnHTMxds.js → InstrumentChassis-DaHIZCqy.js} +0 -0
- /package/dist/{InstrumentRail-C6dEbi8E.js → InstrumentRail-B0qqLFN0.js} +0 -0
- /package/dist/{Label-DJty89bp.js → Label-CZk-3nTc.js} +0 -0
- /package/dist/{ModalOverlay-iWiAgbYH.js → ModalOverlay-B_CBtqcE.js} +0 -0
- /package/dist/{PaperBackdrop-CeZ-w0R0.js → PaperBackdrop-D_YZW47j.js} +0 -0
- /package/dist/{SelectGroup-DdR4tdDY.js → SelectGroup-CMdoCjRE.js} +0 -0
- /package/dist/{SelectSeparator-CXm_hlqA.js → SelectSeparator-CaJnPF3_.js} +0 -0
- /package/dist/{Separator-D8AUMhxY.js → Separator-C2XtAXRp.js} +0 -0
- /package/dist/{Switch-Cr1t_F_U.js → Switch-x8n6husW.js} +0 -0
- /package/dist/{TooltipProvider-DE78vbEP.js → TooltipProvider-D-JrSqDu.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-Dq1MygBL.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{badge-x46my_Fo.js → badge-Cl6JZ1B7.js} +0 -0
- /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
- /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
- /package/dist/{constants-DwBwnG8N.js → constants-DsCdlK9I.js} +0 -0
- /package/dist/{createLucideIcon-Bn9a1b70.js → createLucideIcon-DuDoe_ra.js} +0 -0
- /package/dist/{menuItemVariants-BsbGNq9C.js → menuItemVariants-C2QlXqT3.js} +0 -0
- /package/dist/{useGlassRenderer-Ds-nmrGz.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
- /package/dist/{useInterval-DVgGUf_y.js → useInterval-CHVYFpXV.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Dpw_RUcB.js → useKeyboardShortcuts-BQfnAHHW.js} +0 -0
- /package/dist/{useResizeObserver-Cg9npuM3.js → useResizeObserver-DX-STszm.js} +0 -0
- /package/dist/{useSpringMount-Cfk1XK1R.js → useSpringMount-CnizvZGm.js} +0 -0
- /package/dist/{useTimer-NAaj9zNq.js → useTimer-DGgoxTXL.js} +0 -0
- /package/dist/{useUserInvalidAria-DVu1eTXG.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* typography.css —
|
|
3
|
-
*
|
|
2
|
+
* typography.css — Fraunces serif/display + Plus Jakarta Sans + Fira Code mono
|
|
3
|
+
* (all three OFL faces self-hosted via fonts.css)
|
|
4
4
|
*
|
|
5
|
-
* Golden-ratio scale (√φ ≈ 1.272).
|
|
6
|
-
* headings, prose, and math
|
|
7
|
-
* with WONK=1 / SOFT=0. Fira Code
|
|
5
|
+
* Golden-ratio scale (√φ ≈ 1.272). Fraunces carries the serif register —
|
|
6
|
+
* body, headings, prose, and math — and the ornamental display register
|
|
7
|
+
* with WONK=1 / SOFT=0. Plus Jakarta Sans is the brand sans; Fira Code is mono.
|
|
8
8
|
*
|
|
9
9
|
* Semantic type classes expose both Tailwind-friendly utility names
|
|
10
10
|
* (`.text-display-*`, `.text-body`, `.text-admin-label`) and feature
|
|
@@ -265,7 +265,7 @@ body {
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
/* ═══════════════════════════════════════════════
|
|
268
|
-
HEADINGS / BODY —
|
|
268
|
+
HEADINGS / BODY — Fraunces serif register
|
|
269
269
|
═══════════════════════════════════════════════ */
|
|
270
270
|
@utility text-title {
|
|
271
271
|
font-family: var(--font-serif);
|
|
@@ -358,7 +358,7 @@ body {
|
|
|
358
358
|
}
|
|
359
359
|
|
|
360
360
|
/* ═══════════════════════════════════════════════
|
|
361
|
-
MATH —
|
|
361
|
+
MATH — Fraunces serif italic
|
|
362
362
|
═══════════════════════════════════════════════ */
|
|
363
363
|
@utility text-math {
|
|
364
364
|
font-family: var(--font-serif);
|
|
@@ -444,7 +444,13 @@ body {
|
|
|
444
444
|
font-variation-settings: var(--font-display-variation-settings);
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
-
|
|
447
|
+
/* AV.W16 TW3 — the pane title scales off its PANE's box, not the viewport.
|
|
448
|
+
An unnamed @container query resolves to the nearest ancestor container,
|
|
449
|
+
so the title grows once its pane clears 40rem (≈ 640px) regardless of the
|
|
450
|
+
viewport. Contract: the consuming pane sets `container-type: inline-size`
|
|
451
|
+
(the dock/chassis pattern); without a container ancestor the compact base
|
|
452
|
+
holds. */
|
|
453
|
+
@container (min-width: 40rem) {
|
|
448
454
|
.text-pane-title {
|
|
449
455
|
font-size: var(--type-display-3);
|
|
450
456
|
}
|
|
@@ -189,9 +189,11 @@
|
|
|
189
189
|
canonical iOS `.regular` control rung) and the spring carries
|
|
190
190
|
the return via `--spring-snappy` (the §L3 release-spring
|
|
191
191
|
contract). I keep this as a single canonical rung — NOT a
|
|
192
|
-
3-rung ladder. The
|
|
193
|
-
|
|
194
|
-
directly.
|
|
192
|
+
3-rung ladder. The one outlier I leave alone is the button
|
|
193
|
+
`0.97` (`--scale-press-btn`), which consumes its own slightly-
|
|
194
|
+
softer token directly. The dock control now tracks the canonical
|
|
195
|
+
`--scale-press` (0.96) too (AT.W7-dock-b press canon — the prior
|
|
196
|
+
deeper `0.92` was retired to ONE source).
|
|
195
197
|
|
|
196
198
|
Under PRM I retire the press transform entirely and lean on the
|
|
197
199
|
consumer's own hover/active bg-tint cascade to acknowledge the
|
|
@@ -256,25 +258,28 @@
|
|
|
256
258
|
font-size: max(1rem, 1em);
|
|
257
259
|
}
|
|
258
260
|
|
|
259
|
-
/* ── Scroll fade masks ──
|
|
261
|
+
/* ── Scroll fade masks ──
|
|
262
|
+
Single-source `mask-image` (AV.W16 TW7): the `-webkit-` companion is
|
|
263
|
+
dropped — Tailwind v4's Lightning CSS build pipeline auto-prefixes per
|
|
264
|
+
the browserslist targets, mirroring the glass ladder's single-source
|
|
265
|
+
`backdrop-filter` (glass.css). NOTE: this is the consistency cut; it
|
|
266
|
+
does NOT conflict with W15's `@supports`-gated older-Safari mask
|
|
267
|
+
fallback (that fallback is the distinct case where the companion is
|
|
268
|
+
genuinely needed and W15 gates it). */
|
|
260
269
|
.scroll-fade-mask {
|
|
261
270
|
mask-image: linear-gradient(to right, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
|
|
262
|
-
-webkit-mask-image: linear-gradient(to right, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
|
|
263
271
|
}
|
|
264
272
|
|
|
265
273
|
.scroll-fade-top {
|
|
266
274
|
mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width));
|
|
267
|
-
-webkit-mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width));
|
|
268
275
|
}
|
|
269
276
|
|
|
270
277
|
.scroll-fade-bottom {
|
|
271
278
|
mask-image: linear-gradient(to bottom, black calc(100% - var(--mask-fade-width)), transparent);
|
|
272
|
-
-webkit-mask-image: linear-gradient(to bottom, black calc(100% - var(--mask-fade-width)), transparent);
|
|
273
279
|
}
|
|
274
280
|
|
|
275
281
|
.scroll-fade-y {
|
|
276
282
|
mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
|
|
277
|
-
-webkit-mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
|
|
278
283
|
}
|
|
279
284
|
|
|
280
285
|
/* ── Deferred section — render-skip an offscreen subtree (AQ.W3 §5) ──────
|
|
@@ -480,6 +485,40 @@
|
|
|
480
485
|
--metric-badge-padding-inline: 0.5rem;
|
|
481
486
|
}
|
|
482
487
|
|
|
488
|
+
/* AS.W4 — @container style(--density) companion. A pill nested under a host
|
|
489
|
+
that sets `--density: comfortable | spacious` on a wrapping element picks
|
|
490
|
+
up the matching padding register with no `data-density` markup contract;
|
|
491
|
+
the attribute rules above stay the SOLE fallback (inv 47).
|
|
492
|
+
The inner `.metric-pill.metric-badge--label-stacked` selector (0,2,0) sits
|
|
493
|
+
just BELOW the `.metric-pill[data-density]…` attribute rules (0,3,0) — so a
|
|
494
|
+
pill carrying BOTH the attribute and a `--density` ancestor lands on the
|
|
495
|
+
attribute rule (same tokens, identical paint), while a pill with only the
|
|
496
|
+
ancestor token still resolves the right register (no competing rule sets
|
|
497
|
+
these padding custom props at higher weight in that case).
|
|
498
|
+
|
|
499
|
+
No `@supports` wrapper: unlike the sibling scroll-state recipe (which
|
|
500
|
+
probes `@supports (container-type: scroll-state)` — a probeable
|
|
501
|
+
container-type VALUE), style queries introduce no new `container-type`
|
|
502
|
+
value (every element is a style container by default), so there is no
|
|
503
|
+
clean declaration test for style-query support. This relies on
|
|
504
|
+
`@container style()`'s own graceful degradation: an engine without
|
|
505
|
+
style-query support parses the unknown at-rule as invalid, drops the
|
|
506
|
+
block, and keeps the `[data-density]` attribute base. (The earlier
|
|
507
|
+
`@supports (container-type: inline-size)` wrapper was wrong — it probed
|
|
508
|
+
SIZE-query support, a distinct feature with a distinct support timeline.) */
|
|
509
|
+
@container style(--density: spacious) {
|
|
510
|
+
.metric-pill.metric-badge--label-stacked {
|
|
511
|
+
--metric-badge-padding-block-stacked: 0.5rem;
|
|
512
|
+
--metric-badge-padding-inline: 0.75rem;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
@container style(--density: comfortable) {
|
|
516
|
+
.metric-pill.metric-badge--label-stacked {
|
|
517
|
+
--metric-badge-padding-block-stacked: 0.25rem;
|
|
518
|
+
--metric-badge-padding-inline: 0.5rem;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
|
|
483
522
|
.metric-badge__label {
|
|
484
523
|
letter-spacing: 0.18em;
|
|
485
524
|
line-height: 1;
|
|
@@ -649,6 +688,29 @@
|
|
|
649
688
|
}
|
|
650
689
|
}
|
|
651
690
|
|
|
691
|
+
/* ── Control transition recipe (AU.W8b.4) ───────────────────────────────
|
|
692
|
+
Shared compound transition for interactive controls that animate their
|
|
693
|
+
surface (background-color/color/box-shadow/border-color) on the four-state
|
|
694
|
+
contract. Replaces the per-site
|
|
695
|
+
`transition-[background-color,color,box-shadow,border-color] duration-[var(--duration-fast)] ease-[var(--ease-standard)]`
|
|
696
|
+
arbitrary wraps at ≥2 sites (TabsTrigger, SelectTrigger, Toggle `card`
|
|
697
|
+
variant). Binds the canonical --duration-fast + --ease-standard tokens. */
|
|
698
|
+
@utility transition-control {
|
|
699
|
+
transition-property: background-color, color, box-shadow, border-color;
|
|
700
|
+
transition-duration: var(--duration-fast);
|
|
701
|
+
transition-timing-function: var(--ease-standard);
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
/* ── Collapse transition recipe (AU.W8b.4) ──────────────────────────────
|
|
705
|
+
Shared height+opacity transition for reka-ui collapse surfaces (Accordion
|
|
706
|
+
content, Collapsible content). Replaces the per-site `transition-[height,opacity]`
|
|
707
|
+
wrap at ≥2 sites. The duration/easing rides the data-state
|
|
708
|
+
`animate-accordion-*`/`animate-collapsible-*` keyframes (this only declares
|
|
709
|
+
WHICH properties transition; the keyframes own the timing). */
|
|
710
|
+
@utility transition-collapse {
|
|
711
|
+
transition-property: height, opacity;
|
|
712
|
+
}
|
|
713
|
+
|
|
652
714
|
/* ── Sheet/drawer slide-out animation grammar ──
|
|
653
715
|
Mirror of `.popover-animate` for sheet/drawer panels. Pairs with
|
|
654
716
|
`slide-in-from-{top,right,bottom,left}-N` to compose side-keyed entries.
|
|
@@ -894,6 +956,28 @@
|
|
|
894
956
|
);
|
|
895
957
|
}
|
|
896
958
|
|
|
959
|
+
/* ── Text-highlight paint (CSS Custom Highlight API) ─────────────────────
|
|
960
|
+
The default `::highlight()` paint for the `useTextHighlight` composable
|
|
961
|
+
(composables/dom). A named `Highlight` registered in `CSS.highlights`
|
|
962
|
+
under one of these keys paints its `Range` set without a `<mark>` wrapper.
|
|
963
|
+
Token-bridged: the search mark reads the canonical pastel-yellow rainbow
|
|
964
|
+
token at a soft alpha; the equation/variable mark reads `--primary`. Both
|
|
965
|
+
axes are overridable via the `--text-highlight-*` custom properties. */
|
|
966
|
+
::highlight(glass-search-mark) {
|
|
967
|
+
background-color: var(
|
|
968
|
+
--text-highlight-search-bg,
|
|
969
|
+
color-mix(in srgb, var(--rainbow-pastel-yellow) 55%, transparent)
|
|
970
|
+
);
|
|
971
|
+
color: var(--text-highlight-search-fg, inherit);
|
|
972
|
+
}
|
|
973
|
+
::highlight(glass-mark) {
|
|
974
|
+
background-color: var(
|
|
975
|
+
--text-highlight-bg,
|
|
976
|
+
color-mix(in srgb, var(--primary) 18%, transparent)
|
|
977
|
+
);
|
|
978
|
+
color: var(--text-highlight-fg, inherit);
|
|
979
|
+
}
|
|
980
|
+
|
|
897
981
|
/* ── Interactive-button four-state recipe ────────────────────────────────
|
|
898
982
|
`.btn-interactive` carries the canonical "Button-with-spring-hover"
|
|
899
983
|
four-state contract — transition + hover-scale (`--scale-hover`) +
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
* each tracked element plus a unique `view-transition-name` per element. */
|
|
37
37
|
::view-transition-group(.gl-list-item) {
|
|
38
38
|
animation-duration: var(--vt-duration, var(--duration-normal));
|
|
39
|
-
animation-timing-function: var(--vt-ease, var(--
|
|
39
|
+
animation-timing-function: var(--vt-ease, var(--spring-bouncy));
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/* Added / removed members — the `:only-child` trick from the group guide: a
|
|
@@ -48,11 +48,17 @@
|
|
|
48
48
|
* and `<DockLayerGroup>` (.dock-layer-stack) carry `view-transition-class:
|
|
49
49
|
* gl-dock-layer` + a page-unique `view-transition-name` on a View-Transitions
|
|
50
50
|
* engine, so the collapsed↔expanded width + the layer-pane swap morph as a VT
|
|
51
|
-
* group instead of the JS FLIP.
|
|
52
|
-
*
|
|
51
|
+
* group instead of the JS FLIP.
|
|
52
|
+
*
|
|
53
|
+
* AT.W6-dock-c / AU.W8 — VT/FLIP timing PARITY. The timing-function is
|
|
54
|
+
* `--dock-resize-spring` (= the `--spring-dock` linear(), AU.W8) — the SAME
|
|
55
|
+
* source the FLIP fallback consumes via `--dock-motion-resize` (`dock.css`), so
|
|
56
|
+
* the identical curve drives both engines. Retires the AQ.W6 fork (this group
|
|
57
|
+
* ran `--vt-ease`, the apple-spring overshoot). `--vt-ease` still governs the
|
|
58
|
+
* other recipes (`.gl-list-item`). PRM zeroes the animation above. */
|
|
53
59
|
::view-transition-group(.gl-dock-layer) {
|
|
54
60
|
animation-duration: var(--vt-duration, var(--duration-normal));
|
|
55
|
-
animation-timing-function: var(--
|
|
61
|
+
animation-timing-function: var(--dock-resize-spring, var(--spring-dock));
|
|
56
62
|
}
|
|
57
63
|
|
|
58
64
|
@keyframes gl-vt-slide-in { from { opacity: 0; translate: 0 var(--vt-rise, 8px); } }
|
package/dist/switch.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./Switch-
|
|
1
|
+
import { t as e } from "./Switch-x8n6husW.js";
|
|
2
2
|
export { e as Switch };
|
package/dist/tabs.js
CHANGED
|
@@ -1,22 +1,72 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./_plugin-vue_export-helper-
|
|
3
|
-
import { i as n, n as r, r as i, t as a } from "./TooltipProvider-
|
|
4
|
-
import { t as o } from "./UnderlineTabs-
|
|
5
|
-
import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as p, createVNode as m, defineComponent as h,
|
|
2
|
+
import { t } from "./_plugin-vue_export-helper-C1je1s0u.js";
|
|
3
|
+
import { i as n, n as r, r as i, t as a } from "./TooltipProvider-D-JrSqDu.js";
|
|
4
|
+
import { t as o } from "./UnderlineTabs-Cq_AD03t.js";
|
|
5
|
+
import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as p, createVNode as m, defineComponent as h, mergeModels as g, nextTick as _, normalizeClass as v, normalizeStyle as y, onMounted as b, onUnmounted as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, watch as k, withCtx as A } from "vue";
|
|
6
|
+
//#region src/components/custom/tabs/composables/useBouncySlider.ts
|
|
7
|
+
function j(e) {
|
|
8
|
+
let { containerRef: t, buttonRefs: n, options: r, model: i, multiSelect: a, anchorSupported: o, jsSliderActive: s, activeValues: c } = e, l = C({
|
|
9
|
+
width: "0px",
|
|
10
|
+
transform: "translateX(0px)",
|
|
11
|
+
opacity: "0"
|
|
12
|
+
});
|
|
13
|
+
function u() {
|
|
14
|
+
if (a.value || o) return;
|
|
15
|
+
let e = r.value.findIndex((e) => e.value === i.value);
|
|
16
|
+
if (e < 0 || !n.value[e]) return;
|
|
17
|
+
let t = n.value[e];
|
|
18
|
+
l.value = {
|
|
19
|
+
width: `${t.offsetWidth}px`,
|
|
20
|
+
transform: `translateX(${t.offsetLeft}px)`,
|
|
21
|
+
opacity: "1"
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
let d = C({});
|
|
25
|
+
function f() {
|
|
26
|
+
if (!a.value) return;
|
|
27
|
+
let e = {};
|
|
28
|
+
for (let t of c.value) {
|
|
29
|
+
let i = r.value.findIndex((e) => e.value === t), a = n.value[i];
|
|
30
|
+
a && (e[t] = {
|
|
31
|
+
width: `${a.offsetWidth}px`,
|
|
32
|
+
transform: `translateX(${a.offsetLeft}px)`,
|
|
33
|
+
opacity: "1"
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
d.value = e;
|
|
37
|
+
}
|
|
38
|
+
function p() {
|
|
39
|
+
a.value ? f() : u();
|
|
40
|
+
}
|
|
41
|
+
k(() => i.value, () => {
|
|
42
|
+
s.value && _(p);
|
|
43
|
+
}, { deep: !0 }), k(() => r.value, () => {
|
|
44
|
+
s.value && _(p);
|
|
45
|
+
}, { deep: !0 });
|
|
46
|
+
let m = null;
|
|
47
|
+
return b(() => {
|
|
48
|
+
s.value && (_(p), t.value && (m = new ResizeObserver(() => p()), m.observe(t.value)));
|
|
49
|
+
}), x(() => {
|
|
50
|
+
m?.disconnect();
|
|
51
|
+
}), {
|
|
52
|
+
singleSliderStyle: l,
|
|
53
|
+
multiSliderStyles: d
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
6
57
|
//#region src/components/custom/tabs/BouncyToggle.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
-
var
|
|
58
|
+
var M = [
|
|
8
59
|
"aria-pressed",
|
|
9
60
|
"disabled",
|
|
10
61
|
"onClick"
|
|
11
|
-
],
|
|
62
|
+
], N = [
|
|
12
63
|
"aria-pressed",
|
|
13
64
|
"disabled",
|
|
14
65
|
"onClick"
|
|
15
|
-
],
|
|
66
|
+
], P = /* @__PURE__ */ t(/* @__PURE__ */ h({
|
|
16
67
|
__name: "BouncyToggle",
|
|
17
|
-
props: {
|
|
68
|
+
props: /* @__PURE__ */ g({
|
|
18
69
|
options: {},
|
|
19
|
-
modelValue: {},
|
|
20
70
|
multiSelect: {
|
|
21
71
|
type: Boolean,
|
|
22
72
|
default: !1
|
|
@@ -30,49 +80,32 @@ var k = [
|
|
|
30
80
|
Object,
|
|
31
81
|
Array
|
|
32
82
|
] }
|
|
33
|
-
},
|
|
83
|
+
}, {
|
|
84
|
+
modelValue: { required: !0 },
|
|
85
|
+
modelModifiers: {}
|
|
86
|
+
}),
|
|
34
87
|
emits: ["update:modelValue"],
|
|
35
|
-
setup(t
|
|
36
|
-
function
|
|
88
|
+
setup(t) {
|
|
89
|
+
function o(e, t) {
|
|
37
90
|
return typeof document > "u" ? t : getComputedStyle(document.documentElement).getPropertyValue(e).trim() || t;
|
|
38
91
|
}
|
|
39
|
-
let
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
92
|
+
let h = t, g = O(t, "modelValue"), x = C(null), k = C([]), P = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("position-anchor", "--x"), F = c(() => h.variant === "pill"), I = c(() => h.overflow === "scroll"), L = c(() => h.overflow === "auto"), R = c(() => {
|
|
93
|
+
let e = g.value;
|
|
94
|
+
return h.multiSelect && Array.isArray(e) ? e : e == null ? [] : [e];
|
|
95
|
+
}), z = (e) => R.value.includes(e), B = c(() => !h.multiSelect && !P), V = c(() => h.multiSelect || !P), { singleSliderStyle: H, multiSliderStyles: U } = j({
|
|
96
|
+
containerRef: x,
|
|
97
|
+
buttonRefs: k,
|
|
98
|
+
options: c(() => h.options),
|
|
99
|
+
model: g,
|
|
100
|
+
multiSelect: c(() => h.multiSelect),
|
|
101
|
+
anchorSupported: P,
|
|
102
|
+
jsSliderActive: V,
|
|
103
|
+
activeValues: R
|
|
43
104
|
});
|
|
44
|
-
function W() {
|
|
45
|
-
if (j.multiSelect || F) return;
|
|
46
|
-
let e = j.options.findIndex((e) => e.value === j.modelValue);
|
|
47
|
-
if (e < 0 || !P.value[e]) return;
|
|
48
|
-
let t = P.value[e];
|
|
49
|
-
U.value = {
|
|
50
|
-
width: `${t.offsetWidth}px`,
|
|
51
|
-
transform: `translateX(${t.offsetLeft}px)`,
|
|
52
|
-
opacity: "1"
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
let G = S({});
|
|
56
|
-
function K() {
|
|
57
|
-
if (!j.multiSelect) return;
|
|
58
|
-
let e = {};
|
|
59
|
-
for (let t of z.value) {
|
|
60
|
-
let n = j.options.findIndex((e) => e.value === t), r = P.value[n];
|
|
61
|
-
r && (e[t] = {
|
|
62
|
-
width: `${r.offsetWidth}px`,
|
|
63
|
-
transform: `translateX(${r.offsetLeft}px)`,
|
|
64
|
-
opacity: "1"
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
G.value = e;
|
|
68
|
-
}
|
|
69
|
-
function q() {
|
|
70
|
-
j.multiSelect ? K() : W();
|
|
71
|
-
}
|
|
72
|
-
function J(e) {
|
|
105
|
+
function W(e) {
|
|
73
106
|
if (typeof window < "u" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
74
107
|
e.getAnimations().forEach((e) => e.cancel());
|
|
75
|
-
let t =
|
|
108
|
+
let t = o("--ease-apple-spring", "cubic-bezier(0.175, 0.885, 0.32, 1.275)"), n = o("--scale-press", "0.95"), r = o("--scale-hover", "1.08");
|
|
76
109
|
e.animate([
|
|
77
110
|
{ transform: "scale(1)" },
|
|
78
111
|
{
|
|
@@ -89,90 +122,96 @@ var k = [
|
|
|
89
122
|
easing: t
|
|
90
123
|
});
|
|
91
124
|
}
|
|
92
|
-
function
|
|
93
|
-
if (
|
|
94
|
-
let
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
125
|
+
function G(e) {
|
|
126
|
+
if (!I.value && !L.value) return;
|
|
127
|
+
let t = k.value[e];
|
|
128
|
+
if (!t) return;
|
|
129
|
+
let n = typeof window < "u" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
130
|
+
t.scrollIntoView({
|
|
131
|
+
inline: "nearest",
|
|
132
|
+
block: "nearest",
|
|
133
|
+
behavior: n ? "auto" : "smooth"
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
function K(e, t) {
|
|
137
|
+
if (h.options[t]?.disabled) return;
|
|
138
|
+
let n = k.value[t];
|
|
139
|
+
if (n && W(n), h.multiSelect) {
|
|
140
|
+
let t = [...R.value], n = t.indexOf(e);
|
|
141
|
+
n > -1 ? t.length > 1 && t.splice(n, 1) : t.push(e), g.value = t;
|
|
142
|
+
} else g.value = e;
|
|
143
|
+
G(t);
|
|
99
144
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return y(() => {
|
|
107
|
-
H.value && (g(q), N.value && (X = new ResizeObserver(() => q()), X.observe(N.value)));
|
|
108
|
-
}), b(() => {
|
|
109
|
-
X?.disconnect();
|
|
110
|
-
}), (o, c) => (x(), d("div", {
|
|
145
|
+
return b(() => {
|
|
146
|
+
_(() => {
|
|
147
|
+
let e = h.options.findIndex((e) => z(e.value));
|
|
148
|
+
e >= 0 && G(e);
|
|
149
|
+
});
|
|
150
|
+
}), (o, c) => (S(), d("div", {
|
|
111
151
|
ref_key: "containerRef",
|
|
112
|
-
ref:
|
|
113
|
-
class:
|
|
152
|
+
ref: x,
|
|
153
|
+
class: v(D(e)(F.value ? "bouncy-toggle bouncy-toggle--pill" : "bouncy-toggle", I.value && "bouncy-toggle--scroll scroll-fade-mask scrollbar-hidden", L.value && "bouncy-toggle--auto scrollbar-hidden", h.class))
|
|
114
154
|
}, [
|
|
115
|
-
t.multiSelect ? u("", !0) : (
|
|
155
|
+
t.multiSelect ? u("", !0) : (S(), d("div", {
|
|
116
156
|
key: 0,
|
|
117
|
-
class:
|
|
118
|
-
style:
|
|
157
|
+
class: v([F.value ? "bouncy-slider bouncy-slider--pill" : "bouncy-slider", B.value ? "bouncy-slider--js" : "bouncy-slider--anchor"]),
|
|
158
|
+
style: y(B.value ? D(H) : void 0)
|
|
119
159
|
}, null, 6)),
|
|
120
|
-
t.multiSelect ? (
|
|
160
|
+
t.multiSelect ? (S(!0), d(s, { key: 1 }, w(R.value, (e) => (S(), d("div", {
|
|
121
161
|
key: "slider-" + e,
|
|
122
|
-
class:
|
|
123
|
-
style:
|
|
162
|
+
class: v([F.value ? "bouncy-slider bouncy-slider--pill" : "bouncy-slider", "bouncy-slider--js"]),
|
|
163
|
+
style: y(D(U)[e] ?? { opacity: "0" })
|
|
124
164
|
}, null, 6))), 128)) : u("", !0),
|
|
125
|
-
(
|
|
165
|
+
(S(!0), d(s, null, w(t.options, (e, t) => (S(), d(s, { key: e.value }, [e.tooltip ? (S(), l(D(a), {
|
|
126
166
|
key: 0,
|
|
127
167
|
"delay-duration": 200
|
|
128
168
|
}, {
|
|
129
|
-
default:
|
|
130
|
-
default:
|
|
131
|
-
default:
|
|
169
|
+
default: A(() => [m(D(n), null, {
|
|
170
|
+
default: A(() => [m(D(r), { "as-child": "" }, {
|
|
171
|
+
default: A(() => [f("button", {
|
|
132
172
|
ref_for: !0,
|
|
133
173
|
ref: (e) => {
|
|
134
|
-
e && (
|
|
174
|
+
e && (k.value[t] = e);
|
|
135
175
|
},
|
|
136
|
-
class:
|
|
137
|
-
"aria-pressed":
|
|
176
|
+
class: v([F.value ? "bouncy-btn bouncy-btn--pill" : "bouncy-btn", e.disabled && "is-disabled"]),
|
|
177
|
+
"aria-pressed": z(e.value) ? "true" : "false",
|
|
138
178
|
disabled: e.disabled,
|
|
139
|
-
onClick: (n) =>
|
|
140
|
-
}, [
|
|
179
|
+
onClick: (n) => K(e.value, t)
|
|
180
|
+
}, [T(o.$slots, "option", {
|
|
141
181
|
option: e,
|
|
142
|
-
active:
|
|
143
|
-
}, () => [p(
|
|
182
|
+
active: z(e.value)
|
|
183
|
+
}, () => [p(E(e.label), 1)], !0)], 10, M)]),
|
|
144
184
|
_: 2
|
|
145
|
-
}, 1024), m(
|
|
185
|
+
}, 1024), m(D(i), {
|
|
146
186
|
side: "bottom",
|
|
147
187
|
"side-offset": 8
|
|
148
188
|
}, {
|
|
149
|
-
default:
|
|
189
|
+
default: A(() => [p(E(e.tooltip), 1)]),
|
|
150
190
|
_: 2
|
|
151
191
|
}, 1024)]),
|
|
152
192
|
_: 2
|
|
153
193
|
}, 1024)]),
|
|
154
194
|
_: 2
|
|
155
|
-
}, 1024)) : (
|
|
195
|
+
}, 1024)) : (S(), d("button", {
|
|
156
196
|
key: 1,
|
|
157
197
|
ref_for: !0,
|
|
158
198
|
ref: (e) => {
|
|
159
|
-
e && (
|
|
199
|
+
e && (k.value[t] = e);
|
|
160
200
|
},
|
|
161
|
-
class:
|
|
162
|
-
"aria-pressed":
|
|
201
|
+
class: v([F.value ? "bouncy-btn bouncy-btn--pill" : "bouncy-btn", e.disabled && "is-disabled"]),
|
|
202
|
+
"aria-pressed": z(e.value) ? "true" : "false",
|
|
163
203
|
disabled: e.disabled,
|
|
164
|
-
onClick: (n) =>
|
|
165
|
-
}, [
|
|
204
|
+
onClick: (n) => K(e.value, t)
|
|
205
|
+
}, [T(o.$slots, "option", {
|
|
166
206
|
option: e,
|
|
167
|
-
active:
|
|
168
|
-
}, () => [p(
|
|
207
|
+
active: z(e.value)
|
|
208
|
+
}, () => [p(E(e.label), 1)], !0)], 10, N))], 64))), 128))
|
|
169
209
|
], 2));
|
|
170
210
|
}
|
|
171
|
-
}), [["__scopeId", "data-v-
|
|
211
|
+
}), [["__scopeId", "data-v-9b5076ed"]]), F = /* @__PURE__ */ h({
|
|
172
212
|
__name: "BouncyTabs",
|
|
173
|
-
props: {
|
|
213
|
+
props: /* @__PURE__ */ g({
|
|
174
214
|
options: {},
|
|
175
|
-
modelValue: {},
|
|
176
215
|
variant: { default: "default" },
|
|
177
216
|
overflow: { default: "none" },
|
|
178
217
|
class: { type: [
|
|
@@ -182,21 +221,24 @@ var k = [
|
|
|
182
221
|
Object,
|
|
183
222
|
Array
|
|
184
223
|
] }
|
|
185
|
-
},
|
|
224
|
+
}, {
|
|
225
|
+
modelValue: { required: !0 },
|
|
226
|
+
modelModifiers: {}
|
|
227
|
+
}),
|
|
186
228
|
emits: ["update:modelValue"],
|
|
187
|
-
setup(e
|
|
188
|
-
let
|
|
189
|
-
function
|
|
190
|
-
|
|
229
|
+
setup(e) {
|
|
230
|
+
let t = e, n = O(e, "modelValue");
|
|
231
|
+
function r(e) {
|
|
232
|
+
n.value = e;
|
|
191
233
|
}
|
|
192
|
-
return (
|
|
234
|
+
return (i, a) => (S(), l(P, {
|
|
193
235
|
options: e.options,
|
|
194
|
-
"model-value":
|
|
236
|
+
"model-value": n.value,
|
|
195
237
|
variant: e.variant,
|
|
196
238
|
overflow: e.overflow,
|
|
197
|
-
class:
|
|
239
|
+
class: v(t.class),
|
|
198
240
|
"multi-select": !1,
|
|
199
|
-
"onUpdate:modelValue":
|
|
241
|
+
"onUpdate:modelValue": r
|
|
200
242
|
}, null, 8, [
|
|
201
243
|
"options",
|
|
202
244
|
"model-value",
|
|
@@ -207,4 +249,4 @@ var k = [
|
|
|
207
249
|
}
|
|
208
250
|
});
|
|
209
251
|
//#endregion
|
|
210
|
-
export {
|
|
252
|
+
export { F as BouncyTabs, P as BouncyToggle, o as UnderlineTabs };
|