@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
package/dist/badge.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./badge-
|
|
1
|
+
import { n as e, t } from "./badge-Cl6JZ1B7.js";
|
|
2
2
|
export { e as Badge, t as badgeVariants };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import {
|
|
3
|
-
import { Primitive as
|
|
4
|
-
import { cva as
|
|
2
|
+
import { computed as t, createBlock as n, defineComponent as r, mergeProps as i, openBlock as a, renderSlot as o, unref as s, withCtx as c } from "vue";
|
|
3
|
+
import { Primitive as l } from "reka-ui";
|
|
4
|
+
import { cva as u } from "class-variance-authority";
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/components/ui/button/Button.vue
|
|
7
|
-
var
|
|
7
|
+
var d = /* @__PURE__ */ r({
|
|
8
8
|
__name: "Button",
|
|
9
9
|
props: {
|
|
10
10
|
variant: {},
|
|
@@ -16,30 +16,34 @@ var u = /* @__PURE__ */ n({
|
|
|
16
16
|
Object,
|
|
17
17
|
Array
|
|
18
18
|
] },
|
|
19
|
+
type: {},
|
|
20
|
+
disabled: { type: [Boolean, String] },
|
|
19
21
|
asChild: { type: Boolean },
|
|
20
22
|
as: { default: "button" }
|
|
21
23
|
},
|
|
22
|
-
setup(
|
|
23
|
-
let
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
setup(r) {
|
|
25
|
+
let u = r, d = t(() => ({
|
|
26
|
+
type: u.type,
|
|
27
|
+
disabled: u.disabled
|
|
28
|
+
}));
|
|
29
|
+
return (t, p) => (a(), n(s(l), i({
|
|
30
|
+
as: r.as,
|
|
31
|
+
"as-child": r.asChild,
|
|
32
|
+
"data-size": r.size
|
|
33
|
+
}, d.value, { class: s(e)(s(f)({
|
|
34
|
+
variant: r.variant,
|
|
35
|
+
size: r.size
|
|
36
|
+
}), u.class) }), {
|
|
37
|
+
default: c(() => [o(t.$slots, "default")]),
|
|
34
38
|
_: 3
|
|
35
|
-
},
|
|
39
|
+
}, 16, [
|
|
36
40
|
"as",
|
|
37
41
|
"as-child",
|
|
38
42
|
"data-size",
|
|
39
43
|
"class"
|
|
40
44
|
]));
|
|
41
45
|
}
|
|
42
|
-
}),
|
|
46
|
+
}), f = u("btn-pill focus-ring whitespace-nowrap text-sm font-medium cursor-pointer active:scale-[var(--scale-press-btn)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-disabled", {
|
|
43
47
|
variants: {
|
|
44
48
|
variant: {
|
|
45
49
|
default: "bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80 aria-pressed:bg-primary/85",
|
|
@@ -50,8 +54,8 @@ var u = /* @__PURE__ */ n({
|
|
|
50
54
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70 aria-pressed:bg-secondary/60",
|
|
51
55
|
accent: "bg-accent text-accent-foreground border border-border/40 hover:bg-accent/80 active:bg-accent/70 aria-pressed:bg-accent/60",
|
|
52
56
|
ghost: "bg-transparent text-foreground/70 hover:bg-foreground/8 hover:text-foreground active:bg-foreground/12 aria-pressed:bg-foreground/10 aria-pressed:text-foreground",
|
|
53
|
-
glass: "glass-wash text-foreground hover:bg-[var(--glass-bg-resting)] hover:border-[var(--glass-border-resting)] active:bg-[var(--glass-bg-floating)] active:border-[var(--glass-border-floating)] aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
|
|
54
|
-
"glass-wash": "glass-wash text-foreground/70 hover:bg-foreground/[0.04] hover:border-[var(--surface-tint-22)] hover:text-foreground active:bg-foreground/[0.08] aria-pressed:bg-foreground/[0.1] aria-pressed:text-foreground",
|
|
57
|
+
glass: "glass-wash glass-specular-track text-foreground hover:bg-[var(--glass-bg-resting)] hover:border-[var(--glass-border-resting)] active:bg-[var(--glass-bg-floating)] active:border-[var(--glass-border-floating)] aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
|
|
58
|
+
"glass-wash": "glass-wash glass-specular-track text-foreground/70 hover:bg-foreground/[0.04] hover:border-[var(--surface-tint-22)] hover:text-foreground active:bg-foreground/[0.08] aria-pressed:bg-foreground/[0.1] aria-pressed:text-foreground",
|
|
55
59
|
ai: "bg-amber-500/15 text-amber-700 hover:bg-amber-500/25 active:bg-amber-500/35 dark:text-amber-400 aria-pressed:bg-amber-500/30",
|
|
56
60
|
link: "text-primary underline-offset-4 hover:underline active:opacity-80 active:scale-100"
|
|
57
61
|
},
|
|
@@ -60,7 +64,8 @@ var u = /* @__PURE__ */ n({
|
|
|
60
64
|
xs: "h-7 rounded-pill px-2 text-xs",
|
|
61
65
|
sm: "h-9 rounded-pill px-3",
|
|
62
66
|
lg: "h-11 rounded-pill px-8",
|
|
63
|
-
icon: "h-10 w-10 p-0"
|
|
67
|
+
icon: "h-10 w-10 p-0",
|
|
68
|
+
"icon-sm": "h-7 w-7 p-0"
|
|
64
69
|
}
|
|
65
70
|
},
|
|
66
71
|
defaultVariants: {
|
|
@@ -69,4 +74,4 @@ var u = /* @__PURE__ */ n({
|
|
|
69
74
|
}
|
|
70
75
|
});
|
|
71
76
|
//#endregion
|
|
72
|
-
export {
|
|
77
|
+
export { d as n, f as t };
|
package/dist/button.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./button-
|
|
1
|
+
import { n as e, t } from "./button-Ckn3eDfB.js";
|
|
2
2
|
export { e as Button, t as buttonVariants };
|
package/dist/card.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, o as r, r as i, t as a } from "./CardFooter-
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, t as a } from "./CardFooter-C390imy7.js";
|
|
2
2
|
export { r as Card, n as CardContent, i as CardDescription, a as CardFooter, e as CardHeader, t as CardTitle };
|
package/dist/carousel.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./createLucideIcon-
|
|
3
|
-
import { t as n } from "./chevron-down-
|
|
4
|
-
import { t as r } from "./chevron-right-
|
|
5
|
-
import { t as i } from "./chevron-up-
|
|
6
|
-
import { n as a } from "./button-
|
|
2
|
+
import { t } from "./createLucideIcon-DuDoe_ra.js";
|
|
3
|
+
import { t as n } from "./chevron-down-pBY8sYfV.js";
|
|
4
|
+
import { t as r } from "./chevron-right-BjeKC22V.js";
|
|
5
|
+
import { t as i } from "./chevron-up-DBeNHUm1.js";
|
|
6
|
+
import { n as a } from "./button-Ckn3eDfB.js";
|
|
7
7
|
import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, mergeProps as m, normalizeClass as h, onMounted as g, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, watch as w, withCtx as T } from "vue";
|
|
8
8
|
import { createInjectionState as E } from "@vueuse/core";
|
|
9
9
|
import D from "embla-carousel-vue";
|
|
@@ -165,7 +165,7 @@ var P = /* @__PURE__ */ p({
|
|
|
165
165
|
"aria-label": `Go to slide ${t}`,
|
|
166
166
|
"data-active": t - 1 === a.value ? "" : void 0,
|
|
167
167
|
"data-slot": "carousel-dot",
|
|
168
|
-
class: h(["focus-ring rounded-pill cursor-pointer transition-[background-color,transform,width,height,box-shadow] duration-
|
|
168
|
+
class: h(["focus-ring rounded-pill cursor-pointer transition-[background-color,transform,width,height,box-shadow] duration-fast", C(e)(C(i) === "vertical" ? "w-1.5" : "h-1.5", t - 1 === a.value ? C(i) === "vertical" ? "h-6 bg-foreground scale-[var(--scale-hover)]" : "w-6 bg-foreground scale-[var(--scale-hover)]" : C(i) === "vertical" ? "h-1.5 bg-muted-medium hover:bg-foreground/50" : "w-1.5 bg-muted-medium hover:bg-foreground/50")]),
|
|
169
169
|
onClick: (e) => d(t - 1)
|
|
170
170
|
}, null, 10, L))), 128))], 10, I)) : l("", !0);
|
|
171
171
|
}
|
package/dist/collapsible.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "./CollapsibleContent-
|
|
1
|
+
import { n as e, r as t, t as n } from "./CollapsibleContent-cauTbZEM.js";
|
|
2
2
|
export { t as Collapsible, n as CollapsibleContent, e as CollapsibleTrigger };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { colorUnit2 as e, oklabToLinearSRGB as t, oklabToRgb255 as n, parseCSSColor as r, rawOklabToOklch as i, rawOklchToOklab as a, srgbToOKLab as o } from "@mkbabb/value.js";
|
|
2
|
+
//#region src/composables/color/index.ts
|
|
3
|
+
function s(e) {
|
|
4
|
+
let [n, r, i] = a(e.L, e.C, e.h), [o, s, c] = t(n, r, i);
|
|
5
|
+
return [
|
|
6
|
+
Math.max(0, o),
|
|
7
|
+
Math.max(0, s),
|
|
8
|
+
Math.max(0, c)
|
|
9
|
+
];
|
|
10
|
+
}
|
|
11
|
+
function c(e) {
|
|
12
|
+
let [t, r, i] = a(e.L, e.C, e.h), [o, s, c] = n(t, r, i), l = (e) => Math.min(1, Math.max(0, e / 255));
|
|
13
|
+
return [
|
|
14
|
+
l(o),
|
|
15
|
+
l(s),
|
|
16
|
+
l(c)
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
function l(t) {
|
|
20
|
+
let n = e(r(t), "rgb").value, [a, s, c] = o(Number(n.r), Number(n.g), Number(n.b)), [l, u, d] = i(a, s, c);
|
|
21
|
+
return {
|
|
22
|
+
L: l,
|
|
23
|
+
C: u,
|
|
24
|
+
h: d
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function u(e) {
|
|
28
|
+
let [t, r, i] = a(e.L, e.C, e.h), [o, s, c] = n(t, r, i), l = (e) => Math.round(e).toString(16).padStart(2, "0");
|
|
29
|
+
return `#${l(o)}${l(s)}${l(c)}`;
|
|
30
|
+
}
|
|
31
|
+
var d = (e) => c(l(e));
|
|
32
|
+
//#endregion
|
|
33
|
+
export { s as a, c as i, d as n, u as r, l as t };
|
package/dist/color.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./composables/color";
|
package/dist/color.js
ADDED
package/dist/command.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./CommandShortcut-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./CommandShortcut-BiVyqipe.js";
|
|
2
2
|
export { r as Command, t as CommandDialog, s as CommandEmpty, a as CommandGroup, e as CommandInput, n as CommandItem, o as CommandList, i as CommandSeparator, c as CommandShortcut };
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
//#region src/composables/glass/webgl/shaders/procedural-color.glsl.ts
|
|
2
|
+
var e = "\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}", t = "const mat2 FBM_ROT = mat2(0.8, 0.6, -0.6, 0.8);", n = "\n// value.js LINEAR_SRGB_TO_LMS (constants.ts), row-major; written here as GLSL\n// columns (= the transpose) so mat3 * vec3 evaluates the row-major M·v.\nconst mat3 LINEAR_SRGB_TO_LMS = mat3(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS→OKLab coefficients (gamut.ts lines 295-297 —\n// these differ at the ~1e-9 digit from LMS_TO_OKLAB_MATRIX; use the inline ones to\n// mirror the exact value.js path), row-major → GLSL columns.\nconst mat3 LMS_TO_OKLAB = mat3(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF (constants.ts), row-major → GLSL columns. Rows:\n// l = [1, 0.3963377774, 0.2158037573], m = [1, -0.1055613458, -0.0638541728],\n// s = [1, -0.0894841775, -1.2914855480].\nconst mat3 OKLAB_TO_LMS = mat3(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB (constants.ts), row-major → GLSL columns.\nconst mat3 LMS_TO_LINEAR_SRGB = mat3(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\n// Gamma sRGB → raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nvec3 srgbToOklab(vec3 c) {\n vec3 lin = srgbToLinear(c);\n vec3 lms = LINEAR_SRGB_TO_LMS * lin;\n vec3 lmsCbrt = sign(lms) * pow(abs(lms), vec3(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\n\n// Raw OKLab (L, a, b) → linear sRGB. Mirrors value.js oklabToLinearSRGB.\nvec3 oklabToLinearSrgb(vec3 lab) {\n vec3 lms_ = OKLAB_TO_LMS * lab;\n vec3 lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab → OKLCh: H in RADIANS. Mirrors value.js rawOklabToOklch (which returns\n// degrees; we stay in radians and only fold to [0, 2pi)).\nvec3 oklabToOklch(vec3 lab) {\n float C = length(lab.yz);\n float H = atan(lab.z, lab.y);\n if (H < 0.0) H += 2.0 * PI;\n return vec3(lab.x, C, H);\n}\n\n// OKLCh (H radians) → OKLab. Mirrors value.js rawOklchToOklab.\nvec3 oklchToOklab(vec3 lch) {\n return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}";
|
|
3
|
+
function r() {
|
|
4
|
+
let e = typeof window < "u" && window.devicePixelRatio || 1;
|
|
5
|
+
return Math.min(e, 2);
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/composables/glass/webgl/useWebGLCanvas.ts
|
|
9
|
+
function i(e, t) {
|
|
10
|
+
let { setup: n, contextAttrs: r } = t, i = t.respectReducedMotion ?? t.mode !== "capture", a = /* @__PURE__ */ new Set();
|
|
11
|
+
t.mode === "capture" && a.add("manual");
|
|
12
|
+
let o = () => a.size === 0, s = 0, c = typeof performance < "u" ? performance.now() : 0, l = null, u = null, d = !1, f = !1, p = i && typeof window < "u" && window.matchMedia ? window.matchMedia("(prefers-reduced-motion: reduce)") : null, m = p?.matches ?? !1;
|
|
13
|
+
function h() {
|
|
14
|
+
if (!o() || !u) return;
|
|
15
|
+
let e = (performance.now() - c) / 1e3, t = u.time ? u.time(e) : e;
|
|
16
|
+
u.frame(t), s = !m && u.shouldContinue() ? requestAnimationFrame(h) : 0;
|
|
17
|
+
}
|
|
18
|
+
function g() {
|
|
19
|
+
d && o() && !s && u && (s = requestAnimationFrame(h));
|
|
20
|
+
}
|
|
21
|
+
function _() {
|
|
22
|
+
let e = p?.matches ?? !1;
|
|
23
|
+
e !== m && (m = e, e || (c = performance.now()), g());
|
|
24
|
+
}
|
|
25
|
+
p?.addEventListener("change", _);
|
|
26
|
+
function v(e = "manual") {
|
|
27
|
+
let t = o();
|
|
28
|
+
a.add(e), t && !o() && (cancelAnimationFrame(s), s = 0);
|
|
29
|
+
}
|
|
30
|
+
function y(e = "manual") {
|
|
31
|
+
let t = !o();
|
|
32
|
+
a.delete(e), t && o() && d && u && (c = performance.now() - 1e3, h());
|
|
33
|
+
}
|
|
34
|
+
let b = typeof document < "u";
|
|
35
|
+
function x() {
|
|
36
|
+
document.hidden ? v("tab-hidden") : y("tab-hidden");
|
|
37
|
+
}
|
|
38
|
+
b && document.addEventListener("visibilitychange", x), b && document.hidden && a.add("tab-hidden");
|
|
39
|
+
let S = null;
|
|
40
|
+
function C(e) {
|
|
41
|
+
e.skipped ? v("off-screen") : y("off-screen");
|
|
42
|
+
}
|
|
43
|
+
function w() {
|
|
44
|
+
if (S) return;
|
|
45
|
+
let t = e.parentElement;
|
|
46
|
+
t && (S = t, t.addEventListener("contentvisibilityautostatechange", C));
|
|
47
|
+
}
|
|
48
|
+
function T() {
|
|
49
|
+
S?.removeEventListener("contentvisibilityautostatechange", C), S = null;
|
|
50
|
+
}
|
|
51
|
+
let E = null;
|
|
52
|
+
function D(e) {
|
|
53
|
+
e.preventDefault(), cancelAnimationFrame(s), s = 0, u = null, l = null;
|
|
54
|
+
}
|
|
55
|
+
function O() {
|
|
56
|
+
f || (k(), o() && g());
|
|
57
|
+
}
|
|
58
|
+
function k() {
|
|
59
|
+
let t = e.getContext("webgl2", r ?? void 0);
|
|
60
|
+
if (!t) throw Error("[useWebGLCanvas] WebGL2 unavailable");
|
|
61
|
+
l = t, u = n(l), u.resize(), E || (E = new ResizeObserver(() => u?.resize()), E.observe(e));
|
|
62
|
+
}
|
|
63
|
+
function A() {
|
|
64
|
+
d || f || (e.addEventListener("webglcontextlost", D, !1), e.addEventListener("webglcontextrestored", O, !1), k(), w(), d = !0, c = performance.now(), o() && (s = requestAnimationFrame(h)));
|
|
65
|
+
}
|
|
66
|
+
function j(e) {
|
|
67
|
+
d || A(), u?.frame(e);
|
|
68
|
+
}
|
|
69
|
+
function M() {
|
|
70
|
+
f = !0, cancelAnimationFrame(s), s = 0, b && document.removeEventListener("visibilitychange", x), p?.removeEventListener("change", _), T(), e.removeEventListener("webglcontextlost", D, !1), e.removeEventListener("webglcontextrestored", O, !1), E?.disconnect(), E = null, u?.teardown?.(), u = null, l?.getExtension("WEBGL_lose_context")?.loseContext(), l = null, a.clear();
|
|
71
|
+
}
|
|
72
|
+
return t.mode === "capture" && A(), {
|
|
73
|
+
arm: A,
|
|
74
|
+
suspend: v,
|
|
75
|
+
resume: y,
|
|
76
|
+
wake: g,
|
|
77
|
+
renderAt: j,
|
|
78
|
+
dispose: M,
|
|
79
|
+
get gl() {
|
|
80
|
+
return l;
|
|
81
|
+
},
|
|
82
|
+
get reducedMotion() {
|
|
83
|
+
return m;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/composables/glass/webgl/compile.ts
|
|
89
|
+
function a(e, t, n, r = "[glass-ui:webgl]") {
|
|
90
|
+
let i = e.createShader(t);
|
|
91
|
+
if (e.shaderSource(i, n), e.compileShader(i), !e.getShaderParameter(i, e.COMPILE_STATUS)) {
|
|
92
|
+
let t = e.getShaderInfoLog(i) ?? "unknown";
|
|
93
|
+
throw e.deleteShader(i), Error(`${r} shader compile failed:\n${t}`);
|
|
94
|
+
}
|
|
95
|
+
return i;
|
|
96
|
+
}
|
|
97
|
+
function o(e, t, n, r = "[glass-ui:webgl]") {
|
|
98
|
+
let i = e.createProgram();
|
|
99
|
+
if (e.attachShader(i, t), e.attachShader(i, n), e.linkProgram(i), !e.getProgramParameter(i, e.LINK_STATUS)) {
|
|
100
|
+
let t = e.getProgramInfoLog(i) ?? "unknown";
|
|
101
|
+
throw e.deleteProgram(i), Error(`${r} program link failed:\n${t}`);
|
|
102
|
+
}
|
|
103
|
+
return i;
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
export { t as a, r as i, o as n, e as o, i as r, n as s, a as t };
|
|
@@ -16,10 +16,10 @@ import type { HTMLAttributes } from "vue";
|
|
|
16
16
|
* `String(Math.round(v))`.
|
|
17
17
|
* - `placeholder`: glyph for null/empty (default "—").
|
|
18
18
|
* - `digitCount`: optional knob exposed to the consumer via the
|
|
19
|
-
* `--digit-count` CSS custom property on the host.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
19
|
+
* `--digit-count` CSS custom property on the host. A consumer's
|
|
20
|
+
* width-clamp can read this so the value cell shrinks proportionally
|
|
21
|
+
* as the rendered digits widen. When omitted the primitive computes
|
|
22
|
+
* it from the formatted string length.
|
|
23
23
|
* - `mode`: `"absolute"` (default) or `"progress"` — passes through to
|
|
24
24
|
* `useAnimatedNumber`.
|
|
25
25
|
*/
|
|
@@ -30,8 +30,8 @@ export interface AnimatedDigitProps {
|
|
|
30
30
|
placeholder?: string;
|
|
31
31
|
/**
|
|
32
32
|
* Override the auto-derived digit-count. When unset the primitive
|
|
33
|
-
* publishes the formatted-string length to `--digit-count` so
|
|
34
|
-
*
|
|
33
|
+
* publishes the formatted-string length to `--digit-count` so a
|
|
34
|
+
* consumer's width-clamp reads from a single source of truth.
|
|
35
35
|
*/
|
|
36
36
|
digitCount?: number;
|
|
37
37
|
/** Tag forwarded to `useAnimatedNumber`. */
|
|
@@ -41,8 +41,8 @@ export interface AnimatedDigitProps {
|
|
|
41
41
|
class?: HTMLAttributes["class"];
|
|
42
42
|
}
|
|
43
43
|
declare const __VLS_export: import("vue").DefineComponent<AnimatedDigitProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AnimatedDigitProps> & Readonly<{}>, {
|
|
44
|
-
placeholder: string;
|
|
45
44
|
mode: AnimatedDigitMode;
|
|
45
|
+
placeholder: string;
|
|
46
46
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
47
47
|
declare const _default: typeof __VLS_export;
|
|
48
48
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AuroraRuntimeOptions } from "./composables/runtime";
|
|
2
|
-
import { type AuroraConfig } from "./presets";
|
|
3
|
-
import { type AuroraRenderMode } from "./renderMode";
|
|
2
|
+
import { type AuroraConfig } from "./constants/presets";
|
|
3
|
+
import { type AuroraRenderMode } from "./constants/renderMode";
|
|
4
4
|
/**
|
|
5
5
|
* Aurora — a painterly WebGL2 background.
|
|
6
6
|
*
|
|
@@ -37,7 +37,7 @@ type __VLS_Props = {
|
|
|
37
37
|
* Aurora field configuration (palette, nuclei, warp, media). Optional —
|
|
38
38
|
* omit it and the canonical `DEFAULT_AURORA_CONFIG` painterly look
|
|
39
39
|
* renders (gap 11, AM.W1). Pass a full config to author a custom field,
|
|
40
|
-
* or a preset object from `./presets`. The default is supplied via a
|
|
40
|
+
* or a preset object from `./constants/presets`. The default is supplied via a
|
|
41
41
|
* `withDefaults` factory so each mount gets its own (un-shared) object.
|
|
42
42
|
*/
|
|
43
43
|
config?: AuroraConfig;
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export declare function oklabToOklch(L: number, a: number, b: number): [number, number, number];
|
|
5
|
-
export declare function oklchToOklab(L: number, C: number, H: number): [number, number, number];
|
|
6
|
-
export declare function oklabToRgb255(L: number, a: number, b: number): [number, number, number];
|
|
7
|
-
export declare function rgbToOklch(r: number, g: number, b: number): [number, number, number];
|
|
8
|
-
export declare function oklchToRgb(L: number, C: number, H: number): [number, number, number];
|
|
9
|
-
/**
|
|
10
|
-
* OKLCh stop to linear-sRGB in [0, 1] — bundle-canonical bake target.
|
|
11
|
-
* The shader ACES-tonemaps in linear, so the LUT must stay linear.
|
|
12
|
-
*/
|
|
13
|
-
export declare function oklchToLinear(stop: OklchStop): [number, number, number];
|
|
1
|
+
import { type OklchStop } from "../../../../composables/color";
|
|
2
|
+
export { cssToOklch, oklchStopToHex, oklchToLinear, } from "../../../../composables/color";
|
|
3
|
+
export type { OklchStop } from "../../../../composables/color";
|
|
14
4
|
/**
|
|
15
5
|
* Pack up to `maxStops` OklchStops into linear-sRGB triples. When `out` is
|
|
16
6
|
* provided the buffer is filled in place (no allocation) — the runtime owns a
|
|
@@ -33,7 +23,43 @@ export declare function flattenPalette(stops: OklchStop[], maxStops?: number, ou
|
|
|
33
23
|
* fades in over it once armed).
|
|
34
24
|
*/
|
|
35
25
|
export declare function paletteToCssGradient(stops: OklchStop[]): string;
|
|
36
|
-
export declare function oklchStopToHex(s: OklchStop): string;
|
|
37
26
|
export declare function hexToOklchStop(hex: string): OklchStop;
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Harmony schemes for {@link deriveAurora}. Each maps the seed hue onto the
|
|
29
|
+
* derived stops differently:
|
|
30
|
+
* - `analogous` — the ramp walks the seed hue ± a small spread (neighbouring
|
|
31
|
+
* hues; the painterly default).
|
|
32
|
+
* - `complementary` — stops split between the seed hue and its opposite (+180°).
|
|
33
|
+
* - `triad` — stops distributed across the seed hue and its two 120° partners.
|
|
34
|
+
* - `monochrome` — every stop holds the seed hue; only L and C travel.
|
|
35
|
+
*/
|
|
36
|
+
export type AuroraHarmony = "analogous" | "complementary" | "triad" | "monochrome";
|
|
37
|
+
export interface DeriveAuroraOptions {
|
|
38
|
+
/** Number of stops to produce. Default 4; clamped to [2, MAX_STOPS]. */
|
|
39
|
+
stopCount?: number;
|
|
40
|
+
/** Hue scheme across the ramp. Default "analogous". */
|
|
41
|
+
harmony?: AuroraHarmony;
|
|
42
|
+
/** Total L travel across the ramp, in OKLCh L units. Default ~0.32. */
|
|
43
|
+
lightnessSpread?: number;
|
|
44
|
+
/** C multiplier at the pale apex (toward 1 = no falloff). Default ~0.85. */
|
|
45
|
+
chromaFalloff?: number;
|
|
46
|
+
/** Hue walk in degrees for analogous; ignored by monochrome. Default ~28. */
|
|
47
|
+
hueSpread?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Seed ONE color into a harmonious, gamut-safe N-stop aurora palette.
|
|
51
|
+
*
|
|
52
|
+
* A thin COMPOSING producer over the shipped value.js Ottosson core (inv J-10:
|
|
53
|
+
* no color math is re-implemented here). The seed's `{L,C,h}` is the anchor; the
|
|
54
|
+
* ramp spreads L across a painterly band, falls C off toward the pale apex, and
|
|
55
|
+
* walks the hue per `harmony`. EVERY derived stop is gamut-mapped through
|
|
56
|
+
* value.js's `gamutMapOKLab` so none falls outside sRGB.
|
|
57
|
+
*
|
|
58
|
+
* Deterministic and DOM-free (SSR / happy-dom safe — `cssToOklch` is the only
|
|
59
|
+
* string path and it parses via value.js, not a canvas). The returned length is
|
|
60
|
+
* clamped to `[2, MAX_STOPS]`; L is monotonic ascending across the ramp.
|
|
61
|
+
*
|
|
62
|
+
* @param seed any CSS color string OR an `OklchStop` anchor.
|
|
63
|
+
* @param options ramp shape — stop count, harmony, L/C/h spreads.
|
|
64
|
+
*/
|
|
65
|
+
export declare function deriveAurora(seed: string | OklchStop, options?: DeriveAuroraOptions): OklchStop[];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aurora cursor model — the eased pointer-attraction state.
|
|
3
|
+
*
|
|
4
|
+
* The cursor x/y in 0..1 ease toward their targets; `strength` ramps in while the
|
|
5
|
+
* pointer is active and decays per-frame once it lifts. Exported ONCE here so any
|
|
6
|
+
* CPU mirror (a consumer reproducing the cursor model) imports these constants
|
|
7
|
+
* rather than re-declaring them — the shader and the CPU side stay in lockstep.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Cursor easing constants. Authored to feel "snappy on entry, gentle decay";
|
|
11
|
+
* documented in DESIGN.md §4. Higher lerp = faster ramp; smaller decay = longer
|
|
12
|
+
* tail.
|
|
13
|
+
*/
|
|
14
|
+
export declare const CURSOR_POS_LERP = 0.22;
|
|
15
|
+
export declare const CURSOR_STRENGTH_LERP = 0.18;
|
|
16
|
+
export declare const CURSOR_DECAY_PER_FRAME = 0.992;
|
|
17
|
+
/**
|
|
18
|
+
* At-rest epsilon for the demand-driven loop. The cursor is "settled" once its
|
|
19
|
+
* eased position is within ε of its target AND its strength has decayed below ε —
|
|
20
|
+
* below this the next frame is visually identical, so the loop may park.
|
|
21
|
+
*/
|
|
22
|
+
export declare const CURSOR_REST_EPSILON = 0.001;
|
|
23
|
+
/** The mutable eased-cursor state. `strength` ramps in; `targetStrength` decays. */
|
|
24
|
+
export interface CursorState {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
targetX: number;
|
|
28
|
+
targetY: number;
|
|
29
|
+
strength: number;
|
|
30
|
+
targetStrength: number;
|
|
31
|
+
radius: number;
|
|
32
|
+
}
|
|
33
|
+
/** A fresh at-rest cursor (centred, no attraction, default radius). */
|
|
34
|
+
export declare function createCursorState(): CursorState;
|
|
35
|
+
/**
|
|
36
|
+
* Advance the cursor easing one frame — snappy approach toward the target
|
|
37
|
+
* position, gentle decay of the attraction strength when idle.
|
|
38
|
+
*/
|
|
39
|
+
export declare function advanceCursor(cursor: CursorState): void;
|
|
40
|
+
/**
|
|
41
|
+
* True while the cursor is still easing (position not yet at target, or strength
|
|
42
|
+
* not yet decayed below ε). The render-demand gate ORs this with the config drift
|
|
43
|
+
* check — when both are false the next frame is pixel-identical, so the loop parks.
|
|
44
|
+
*/
|
|
45
|
+
export declare function cursorIsLive(cursor: CursorState): boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aurora frame loop — the per-frame draw + the render-demand gate.
|
|
3
|
+
*
|
|
4
|
+
* `drawFrame` re-sends the per-frame cursor + time uniforms and issues the single
|
|
5
|
+
* full-screen-triangle draw. `needsAnimation` is the demand gate: it returns
|
|
6
|
+
* `false` under reduced-motion (the static frame draws once, then the loop parks),
|
|
7
|
+
* `false` at steady-state (all four drift uniforms 0 AND the cursor settled within
|
|
8
|
+
* ε — the next frame would be pixel-identical), and `true` while drift is live or
|
|
9
|
+
* the cursor is still easing.
|
|
10
|
+
*/
|
|
11
|
+
import type { UniformLocations } from "./glSetup";
|
|
12
|
+
import { type CursorState } from "./cursorModel";
|
|
13
|
+
import type { AuroraConfig } from "../constants/presets";
|
|
14
|
+
export interface FrameLoopDeps {
|
|
15
|
+
gl: WebGL2RenderingContext;
|
|
16
|
+
prog: WebGLProgram;
|
|
17
|
+
uniforms: UniformLocations;
|
|
18
|
+
cursor: CursorState;
|
|
19
|
+
/** The live config (drift uniforms gate the demand loop). */
|
|
20
|
+
getConfig: () => AuroraConfig;
|
|
21
|
+
/** Reduced-motion intent — parks the loop after one static frame. */
|
|
22
|
+
getReducedMotion: () => boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface FrameLoop {
|
|
25
|
+
/** Advance the cursor easing THEN draw — the per-frame step. */
|
|
26
|
+
frame: (timeSec: number) => void;
|
|
27
|
+
/** Demand gate — is there live motion to render on the next frame? */
|
|
28
|
+
needsAnimation: () => boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare function createFrameLoop(deps: FrameLoopDeps): FrameLoop;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aurora GL setup seam — shader compile/link + geometry + the uniform location
|
|
3
|
+
* cache. The GL-lifecycle orchestrator (`runtime.ts`) calls `createGlProgram` on a
|
|
4
|
+
* fresh context (on arm AND on every webglcontextrestored), so a GPU context loss
|
|
5
|
+
* self-heals: each call rebuilds the program + the full-screen triangle + the
|
|
6
|
+
* `UNIFORM_NAMES` location cache against the fresh `gl`.
|
|
7
|
+
*
|
|
8
|
+
* The `UNIFORM_NAMES` const-assertion is the single source of truth for the
|
|
9
|
+
* shader-uniform boundary: a NEW uniform name must be added here, and the cache is
|
|
10
|
+
* keyed off it, so a fresh uniform always gets a location slot.
|
|
11
|
+
*/
|
|
12
|
+
export declare const UNIFORM_NAMES: readonly ["uTime", "uPalette", "uStopCount", "uNucleiCount", "uNucleiPos", "uNucleiRadius", "uNucleiPaletteBias", "uNucleiValueBias", "uNucleiDriftRadius", "uNucleiDriftPhase", "uNucleiElong", "uNucleiAngle", "uSoftmaxBeta", "uValueVariance", "uWarpAmount", "uWarpScale", "uWarpDrift", "uWarpMode", "uNoiseOctaves", "uMedium", "uFlowPattern", "uFlowFocal", "uFlowAngle", "uFlowCurl", "uCursor", "uCursorStrength", "uCursorRadius", "uStrokeAmount", "uStrokeScale", "uStrokeAnisotropy", "uStrokeLayers", "uStrokeMode", "uWetEdge", "uGranulation", "uImpasto", "uBrokenColor", "uCanvasGrain", "uNucleiDrift", "uPaletteDrift", "uBreathDepth", "uBreathPeriod", "uSaturation", "uPaperGrain", "uAlpha"];
|
|
13
|
+
export type UniformName = (typeof UNIFORM_NAMES)[number];
|
|
14
|
+
export type UniformLocations = Record<UniformName, WebGLUniformLocation | null>;
|
|
15
|
+
export interface GlProgram {
|
|
16
|
+
program: WebGLProgram;
|
|
17
|
+
vs: WebGLShader;
|
|
18
|
+
fs: WebGLShader;
|
|
19
|
+
uniforms: UniformLocations;
|
|
20
|
+
geometry: {
|
|
21
|
+
vao: WebGLVertexArrayObject;
|
|
22
|
+
buf: WebGLBuffer;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Compile + link the shader pair, build the full-screen triangle (one draw covers
|
|
27
|
+
* the viewport), and resolve the uniform location cache. Leaves the program bound.
|
|
28
|
+
*/
|
|
29
|
+
export declare function createGlProgram(gl: WebGL2RenderingContext, vertexSrc: string, fragmentSrc: string): GlProgram;
|