@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/glyph-face.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "./keys-
|
|
2
|
-
import { t as r } from "./GlyphFace-
|
|
1
|
+
import { n as e, r as t, t as n } from "./keys-BFoma9vm.js";
|
|
2
|
+
import { t as r } from "./GlyphFace-B_7vOmYn.js";
|
|
3
3
|
export { n as GLYPH_FACE_SILHOUETTE_KEY, r as GlyphFace, e as provideGlyphFaceSilhouette, t as useOptionalGlyphFaceSilhouette };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./components/custom/goo-blob";
|
package/dist/goo-blob.js
ADDED
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
|
|
2
|
+
import { a as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./compile-DVgAxagk.js";
|
|
3
|
+
import { t as c } from "./useIntersectionPause-DAdVPVp4.js";
|
|
4
|
+
import { n as l, t as u } from "./prng-Bz_1Tydc.js";
|
|
5
|
+
import { createElementBlock as d, createElementVNode as f, defineComponent as p, inject as m, normalizeStyle as h, onUnmounted as g, openBlock as _, readonly as v, ref as y, toRef as b, useTemplateRef as x, watch as S } from "vue";
|
|
6
|
+
//#region src/components/custom/goo-blob/types.ts
|
|
7
|
+
var C = {
|
|
8
|
+
canvasSize: 200,
|
|
9
|
+
bodyRadius: .25,
|
|
10
|
+
satelliteCount: 3,
|
|
11
|
+
satelliteRadius: .13,
|
|
12
|
+
orbitRadius: .35,
|
|
13
|
+
smoothK: .22,
|
|
14
|
+
noiseAmp: .025,
|
|
15
|
+
noiseFreq: 3.5,
|
|
16
|
+
noiseSpeed: .08,
|
|
17
|
+
pulseFreq: .3,
|
|
18
|
+
pulseAmp: .008,
|
|
19
|
+
hueRange: 5,
|
|
20
|
+
satShift: 0,
|
|
21
|
+
brightnessShift: 0,
|
|
22
|
+
colorNoiseFreq: 2,
|
|
23
|
+
colorNoiseSpeed: .05,
|
|
24
|
+
pointerAttraction: 0,
|
|
25
|
+
pointerStrength: .08,
|
|
26
|
+
eccentricity: .25,
|
|
27
|
+
orbitSpeedScale: 1,
|
|
28
|
+
wobbleScale: 1,
|
|
29
|
+
mergeRate: 1,
|
|
30
|
+
mergeDuration: 1800,
|
|
31
|
+
absorbedDuration: [2e3, 4e3],
|
|
32
|
+
emergeDuration: 2200,
|
|
33
|
+
orbitDuration: [8e3, 14e3]
|
|
34
|
+
}, w = Symbol("blobConfig");
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/components/custom/goo-blob/composables/easing.ts
|
|
37
|
+
function T(e) {
|
|
38
|
+
return e < .5 ? 2 * e * e : 1 - 2 * (1 - e) * (1 - e);
|
|
39
|
+
}
|
|
40
|
+
function E(e) {
|
|
41
|
+
return e * e;
|
|
42
|
+
}
|
|
43
|
+
function ee(e) {
|
|
44
|
+
return 1 - (1 - e) * (1 - e);
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/components/custom/goo-blob/composables/useBlobMood.ts
|
|
48
|
+
var D = {
|
|
49
|
+
idle: {
|
|
50
|
+
orbitSpeedScale: 1,
|
|
51
|
+
wobbleScale: 1,
|
|
52
|
+
pulseFreq: .3,
|
|
53
|
+
pulseAmp: .015,
|
|
54
|
+
noiseAmp: .025,
|
|
55
|
+
hueRange: 5,
|
|
56
|
+
satShift: 0,
|
|
57
|
+
brightnessShift: 0,
|
|
58
|
+
smoothK: .22,
|
|
59
|
+
pointerAttraction: 0,
|
|
60
|
+
mergeRate: 1
|
|
61
|
+
},
|
|
62
|
+
happy: {
|
|
63
|
+
orbitSpeedScale: 1.4,
|
|
64
|
+
wobbleScale: 1.3,
|
|
65
|
+
pulseFreq: .8,
|
|
66
|
+
pulseAmp: .03,
|
|
67
|
+
noiseAmp: .035,
|
|
68
|
+
hueRange: 15,
|
|
69
|
+
satShift: .05,
|
|
70
|
+
brightnessShift: .05,
|
|
71
|
+
smoothK: .28,
|
|
72
|
+
pointerAttraction: .3,
|
|
73
|
+
mergeRate: .6
|
|
74
|
+
},
|
|
75
|
+
curious: {
|
|
76
|
+
orbitSpeedScale: .8,
|
|
77
|
+
wobbleScale: 1.5,
|
|
78
|
+
pulseFreq: .5,
|
|
79
|
+
pulseAmp: .02,
|
|
80
|
+
noiseAmp: .03,
|
|
81
|
+
hueRange: 10,
|
|
82
|
+
satShift: .03,
|
|
83
|
+
brightnessShift: .02,
|
|
84
|
+
smoothK: .25,
|
|
85
|
+
pointerAttraction: .6,
|
|
86
|
+
mergeRate: 1.2
|
|
87
|
+
},
|
|
88
|
+
sleepy: {
|
|
89
|
+
orbitSpeedScale: .4,
|
|
90
|
+
wobbleScale: .5,
|
|
91
|
+
pulseFreq: .15,
|
|
92
|
+
pulseAmp: .008,
|
|
93
|
+
noiseAmp: .015,
|
|
94
|
+
hueRange: 3,
|
|
95
|
+
satShift: -.05,
|
|
96
|
+
brightnessShift: -.03,
|
|
97
|
+
smoothK: .16,
|
|
98
|
+
pointerAttraction: -.2,
|
|
99
|
+
mergeRate: 2
|
|
100
|
+
},
|
|
101
|
+
excited: {
|
|
102
|
+
orbitSpeedScale: 2.2,
|
|
103
|
+
wobbleScale: 2,
|
|
104
|
+
pulseFreq: 1.5,
|
|
105
|
+
pulseAmp: .05,
|
|
106
|
+
noiseAmp: .045,
|
|
107
|
+
hueRange: 25,
|
|
108
|
+
satShift: .1,
|
|
109
|
+
brightnessShift: .08,
|
|
110
|
+
smoothK: .32,
|
|
111
|
+
pointerAttraction: .1,
|
|
112
|
+
mergeRate: .3
|
|
113
|
+
}
|
|
114
|
+
}, O = {
|
|
115
|
+
idle: 1500,
|
|
116
|
+
happy: 1200,
|
|
117
|
+
curious: 800,
|
|
118
|
+
sleepy: 2500,
|
|
119
|
+
excited: 600
|
|
120
|
+
};
|
|
121
|
+
function k(e, t, n) {
|
|
122
|
+
let r = (e, t) => e + (t - e) * n;
|
|
123
|
+
return {
|
|
124
|
+
orbitSpeedScale: r(e.orbitSpeedScale, t.orbitSpeedScale),
|
|
125
|
+
wobbleScale: r(e.wobbleScale, t.wobbleScale),
|
|
126
|
+
pulseFreq: r(e.pulseFreq, t.pulseFreq),
|
|
127
|
+
pulseAmp: r(e.pulseAmp, t.pulseAmp),
|
|
128
|
+
noiseAmp: r(e.noiseAmp, t.noiseAmp),
|
|
129
|
+
hueRange: r(e.hueRange, t.hueRange),
|
|
130
|
+
satShift: r(e.satShift, t.satShift),
|
|
131
|
+
brightnessShift: r(e.brightnessShift, t.brightnessShift),
|
|
132
|
+
smoothK: r(e.smoothK, t.smoothK),
|
|
133
|
+
pointerAttraction: r(e.pointerAttraction, t.pointerAttraction),
|
|
134
|
+
mergeRate: r(e.mergeRate, t.mergeRate)
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function A() {
|
|
138
|
+
let e = y("idle"), t = y({ ...D.idle }), n = { ...D.idle }, r = { ...D.idle }, i = 0, a = 0, o = !1;
|
|
139
|
+
function s(s) {
|
|
140
|
+
s === e.value && !o || (e.value = s, n = { ...t.value }, r = D[s], a = O[s], i = 0, o = !0);
|
|
141
|
+
}
|
|
142
|
+
function c(e) {
|
|
143
|
+
if (!o) return;
|
|
144
|
+
i += e;
|
|
145
|
+
let s = Math.min(i / a, 1), c = T(s);
|
|
146
|
+
t.value = k(n, r, c), s >= 1 && (o = !1);
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
currentMood: v(e),
|
|
150
|
+
params: v(t),
|
|
151
|
+
setMood: s,
|
|
152
|
+
tick: c
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
//#endregion
|
|
156
|
+
//#region src/components/custom/goo-blob/composables/useBlobPointer.ts
|
|
157
|
+
var j = .12;
|
|
158
|
+
function M(e) {
|
|
159
|
+
let t = y({
|
|
160
|
+
x: 0,
|
|
161
|
+
y: 0
|
|
162
|
+
}), n = y(!1), r = 0, i = 0, a = 0, o = 0;
|
|
163
|
+
function s(t) {
|
|
164
|
+
let a = e.value;
|
|
165
|
+
if (!a) return;
|
|
166
|
+
let o = a.getBoundingClientRect();
|
|
167
|
+
r = (t.clientX - o.left) / o.width * 2 - 1, i = (t.clientY - o.top) / o.height * 2 - 1, n.value = !0;
|
|
168
|
+
}
|
|
169
|
+
function c() {
|
|
170
|
+
n.value = !1;
|
|
171
|
+
}
|
|
172
|
+
let l = null;
|
|
173
|
+
S(e, (e) => {
|
|
174
|
+
l &&= (l(), null), e && (e.addEventListener("pointermove", s), e.addEventListener("pointerleave", c), l = () => {
|
|
175
|
+
e.removeEventListener("pointermove", s), e.removeEventListener("pointerleave", c);
|
|
176
|
+
});
|
|
177
|
+
}, { immediate: !0 }), g(() => l?.());
|
|
178
|
+
function u() {
|
|
179
|
+
n.value ? (a += (r - a) * j, o += (i - o) * j) : (a *= 1 - j, o *= 1 - j), t.value = {
|
|
180
|
+
x: a,
|
|
181
|
+
y: o
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
pointer: v(t),
|
|
186
|
+
active: v(n),
|
|
187
|
+
tick: u
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
191
|
+
//#region src/components/custom/goo-blob/composables/useBlobSatellites.ts
|
|
192
|
+
function N(e, t, n) {
|
|
193
|
+
return t + e() * (n - t);
|
|
194
|
+
}
|
|
195
|
+
function P(e) {
|
|
196
|
+
return e < 0 ? 0 : e > 1 ? 1 : e;
|
|
197
|
+
}
|
|
198
|
+
function F(e, t, n) {
|
|
199
|
+
return e + (t - e) * n;
|
|
200
|
+
}
|
|
201
|
+
function I(e, t, n, r) {
|
|
202
|
+
let i = performance.now(), a = t / 4 * Math.PI * 2 + (e() - .5) * Math.PI, o = n * (.8 + e() * .4), s = r * (.3 + e() * .7);
|
|
203
|
+
return {
|
|
204
|
+
phase: "orbiting",
|
|
205
|
+
phaseStart: i,
|
|
206
|
+
phaseDuration: 6e3 + e() * 1e4,
|
|
207
|
+
timeOrigin: i,
|
|
208
|
+
angularSpeed: .08 + e() * .16,
|
|
209
|
+
phaseOffset: a,
|
|
210
|
+
baseRadiusX: o * (1 - s),
|
|
211
|
+
baseRadiusY: o * (1 + s),
|
|
212
|
+
wobbleAmp1: .02 + e() * .06,
|
|
213
|
+
wobbleFreq1: .08 + e() * .22,
|
|
214
|
+
wobbleAmp2: .015 + e() * .04,
|
|
215
|
+
wobbleFreq2: .18 + e() * .32,
|
|
216
|
+
pertXAmp: .03 + e() * .05,
|
|
217
|
+
pertXFreq: .06 + e() * .18,
|
|
218
|
+
pertXPhase: e() * Math.PI * 2,
|
|
219
|
+
pertYAmp: .03 + e() * .05,
|
|
220
|
+
pertYFreq: .07 + e() * .17,
|
|
221
|
+
pertYPhase: e() * Math.PI * 2,
|
|
222
|
+
startX: 0,
|
|
223
|
+
startY: 0,
|
|
224
|
+
endX: 0,
|
|
225
|
+
endY: 0
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
function L(e, t, n, r) {
|
|
229
|
+
e.phase = t, e.phaseStart = n, e.phaseDuration = r;
|
|
230
|
+
}
|
|
231
|
+
function R(e, t) {
|
|
232
|
+
let n = (t - e.timeOrigin) / 1e3, r = e.angularSpeed * n + e.phaseOffset, i = e.wobbleAmp1 * Math.sin(e.wobbleFreq1 * n) + e.wobbleAmp2 * Math.sin(e.wobbleFreq2 * n + 1.3);
|
|
233
|
+
return {
|
|
234
|
+
x: (e.baseRadiusX + i) * Math.cos(r) + e.pertXAmp * Math.sin(e.pertXFreq * n + e.pertXPhase),
|
|
235
|
+
y: (e.baseRadiusY + i) * Math.sin(r) + e.pertYAmp * Math.cos(e.pertYFreq * n + e.pertYPhase)
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
function z(e, t, n, r, i) {
|
|
239
|
+
e.timeOrigin = i, e.angularSpeed = .08 + t() * .16, e.phaseOffset = t() * Math.PI * 2;
|
|
240
|
+
let a = n * (.8 + t() * .4), o = r * (.3 + t() * .7);
|
|
241
|
+
e.baseRadiusX = a * (1 - o), e.baseRadiusY = a * (1 + o), e.wobbleAmp1 = .02 + t() * .06, e.wobbleFreq1 = .08 + t() * .22, e.wobbleAmp2 = .015 + t() * .04, e.wobbleFreq2 = .18 + t() * .32, e.pertXAmp = .03 + t() * .05, e.pertXFreq = .06 + t() * .18, e.pertXPhase = t() * Math.PI * 2, e.pertYAmp = .03 + t() * .05, e.pertYFreq = .07 + t() * .17, e.pertYPhase = t() * Math.PI * 2;
|
|
242
|
+
}
|
|
243
|
+
var B = .75, V = 2e3;
|
|
244
|
+
function H(e, t) {
|
|
245
|
+
let n = l(u(t + "goo")), r = [], i = [], a = [], o = -Infinity, s = e.orbitRadius;
|
|
246
|
+
function c() {
|
|
247
|
+
let t = e.orbitRadius;
|
|
248
|
+
if (t !== s && s > 0) {
|
|
249
|
+
let e = t / s;
|
|
250
|
+
for (let t of r) t.baseRadiusX *= e, t.baseRadiusY *= e;
|
|
251
|
+
s = t;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
function d() {
|
|
255
|
+
let t = e.satelliteCount;
|
|
256
|
+
for (; r.length < t;) r.push(I(n, r.length, e.orbitRadius, e.eccentricity)), i.push({
|
|
257
|
+
x: 0,
|
|
258
|
+
y: 0,
|
|
259
|
+
radius: e.satelliteRadius,
|
|
260
|
+
opacity: 0
|
|
261
|
+
}), a.push({
|
|
262
|
+
x: 0,
|
|
263
|
+
y: 0,
|
|
264
|
+
start: 0
|
|
265
|
+
});
|
|
266
|
+
r.length > t && (r.length = t, i.length = t, a.length = t);
|
|
267
|
+
}
|
|
268
|
+
d();
|
|
269
|
+
function f(t, s) {
|
|
270
|
+
d(), c();
|
|
271
|
+
let l = r.length, u = s.mergeRate, f = e.satelliteRadius, p = e.mergeDuration, m = e.emergeDuration, h = e.orbitDuration, g = e.absorbedDuration;
|
|
272
|
+
for (let s = 0; s < l; s++) {
|
|
273
|
+
let c = r[s], l = t - c.phaseStart, d = P(c.phaseDuration > 0 ? l / c.phaseDuration : 1);
|
|
274
|
+
switch (c.phase) {
|
|
275
|
+
case "orbiting":
|
|
276
|
+
if (d >= 1) if (t - o < 3e3 * u) c.phaseStart = t, c.phaseDuration = N(n, h[0], h[1]);
|
|
277
|
+
else {
|
|
278
|
+
let e = R(c, t);
|
|
279
|
+
c.startX = e.x, c.startY = e.y;
|
|
280
|
+
let n = Math.hypot(e.x, e.y), r = n > .01 ? .08 / n : 0;
|
|
281
|
+
c.endX = e.x * r, c.endY = e.y * r, L(c, "merging", t, p), o = t;
|
|
282
|
+
}
|
|
283
|
+
break;
|
|
284
|
+
case "merging":
|
|
285
|
+
d >= 1 && L(c, "absorbed", t, N(n, g[0], g[1]));
|
|
286
|
+
break;
|
|
287
|
+
case "absorbed":
|
|
288
|
+
if (d >= 1) {
|
|
289
|
+
z(c, n, e.orbitRadius, e.eccentricity, t);
|
|
290
|
+
let r = R(c, t + 3e3);
|
|
291
|
+
c.endX = r.x, c.endY = r.y;
|
|
292
|
+
let i = Math.hypot(r.x, r.y), a = i > .01 ? .08 / i : 0;
|
|
293
|
+
c.startX = r.x * a, c.startY = r.y * a, L(c, "emerging", t, m);
|
|
294
|
+
}
|
|
295
|
+
break;
|
|
296
|
+
case "emerging":
|
|
297
|
+
if (d >= 1) {
|
|
298
|
+
let e = a[s];
|
|
299
|
+
e.x = c.endX, e.y = c.endY, e.start = t, c.timeOrigin = t, c.phaseOffset = Math.atan2(c.endY, c.endX), L(c, "orbiting", t, N(n, h[0], h[1]));
|
|
300
|
+
}
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
let _, v, y, b;
|
|
304
|
+
switch (c.phase) {
|
|
305
|
+
case "orbiting": {
|
|
306
|
+
let e = R(c, t), n = a[s], r = t - n.start;
|
|
307
|
+
if (n.start > 0 && r < V) {
|
|
308
|
+
let t = P(r / V), i = t * t * (3 - 2 * t);
|
|
309
|
+
_ = F(n.x, e.x, i), v = F(n.y, e.y, i);
|
|
310
|
+
} else _ = e.x, v = e.y;
|
|
311
|
+
y = B, b = 1;
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
case "merging": {
|
|
315
|
+
let e = E(P((t - c.phaseStart) / c.phaseDuration));
|
|
316
|
+
_ = F(c.startX, c.endX, e), v = F(c.startY, c.endY, e);
|
|
317
|
+
let n = P((t - c.phaseStart) / c.phaseDuration);
|
|
318
|
+
y = n > .85 ? F(B, 0, (n - .85) / .15) : B, b = F(1, .65, e);
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
case "absorbed":
|
|
322
|
+
_ = 0, v = 0, y = 0, b = .5;
|
|
323
|
+
break;
|
|
324
|
+
case "emerging": {
|
|
325
|
+
let e = ee(P((t - c.phaseStart) / c.phaseDuration));
|
|
326
|
+
_ = F(c.startX, c.endX, e), v = F(c.startY, c.endY, e);
|
|
327
|
+
let n = P((t - c.phaseStart) / c.phaseDuration);
|
|
328
|
+
y = n < .1 ? F(0, B, n / .1) : B, b = F(.65, 1, e);
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
let x = i[s];
|
|
333
|
+
x.x = _, x.y = v, x.radius = f * b, x.opacity = y;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
function p() {
|
|
337
|
+
for (let e of r) e.phaseOffset += (n() - .5) * .6, e.pertXPhase += n() * Math.PI, e.pertYPhase += n() * Math.PI;
|
|
338
|
+
}
|
|
339
|
+
function m(e) {
|
|
340
|
+
n = l(u(e + "goo"));
|
|
341
|
+
}
|
|
342
|
+
return {
|
|
343
|
+
sources: i,
|
|
344
|
+
tick: f,
|
|
345
|
+
nudge: p,
|
|
346
|
+
reseed: m
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
//#endregion
|
|
350
|
+
//#region src/components/custom/goo-blob/shaders/metaball.vert.ts
|
|
351
|
+
var U = "#version 300 es\n\nin vec2 aPosition;\nout vec2 vUv;\n\nvoid main() {\n vUv = 0.5 * (aPosition + 1.0);\n gl_Position = vec4(aPosition, 0.0, 1.0);\n}", W = "// --- SDF ---\n\nfloat sdCircle(vec2 p, vec2 center, float radius) {\n return length(p - center) - radius;\n}\n\n// Edit #2 — Inigo Quilez quadratic polynomial smin (same uSmoothK uniform). The\n// quadratic h*h*k*0.25 form has a cleaner C1 seam than the prior cubic smin.\nfloat smin(float a, float b, float k) {\n float h = max(k - abs(a - b), 0.0) / k;\n return min(a, b) - h * h * k * 0.25;\n}", G = "// --- Noise ---\n\nfloat hash21(vec2 p) {\n vec3 p3 = fract(vec3(p.xyx) * 0.1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\n\nfloat valueNoise(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n f = f * f * (3.0 - 2.0 * f);\n\n float a = hash21(i);\n float b = hash21(i + vec2(1.0, 0.0));\n float c = hash21(i + vec2(0.0, 1.0));\n float d = hash21(i + vec2(1.0, 1.0));\n\n return mix(mix(a, b, f.x), mix(c, d, f.x), f.y);\n}\n\n// Edit #3 — rotated-octave FBM: a fixed ~0.5 rad 2x2 rotation between octaves\n// breaks the axis-aligned banding the un-rotated lattice noise produces. The\n// rotation CONSTANT is spliced from the shared chunk (AV.W2 — the one FBM_ROT);\n// the loop below stays blob-local (param octaves + 2.0 lacunarity, per §3a).", K = "float fbm(vec2 p, int octaves) {\n float value = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n for (int i = 0; i < 4; i++) {\n if (i >= octaves) break;\n value += amp * valueNoise(p * freq);\n p = FBM_ROT * p;\n freq *= 2.0;\n amp *= 0.5;\n }\n return value;\n}\n", q = "// Edit #4's gamut step — hue-preserving inward chroma clamp. If the linear result\n// is out of [0,1], bisect chroma toward 0 (L + h fixed) until in gamut. Preserves\n// hue exactly (only C shrinks). 16 steps resolve C to < 2^-16 of its span.\nbool inGamut(vec3 lin) {\n return all(greaterThanEqual(lin, vec3(0.0))) && all(lessThanEqual(lin, vec3(1.0)));\n}\nvec3 gamutClampOklch(vec3 lch) {\n vec3 lin = oklabToLinearSrgb(oklchToOklab(lch));\n if (inGamut(lin)) return lch;\n float lo = 0.0;\n float hi = lch.y;\n for (int i = 0; i < 16; i++) {\n float mid = 0.5 * (lo + hi);\n vec3 test = vec3(lch.x, mid, lch.z);\n if (inGamut(oklabToLinearSrgb(oklchToOklab(test)))) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return vec3(lch.x, lo, lch.z);\n}", J = "\n", Y = "#version 300 es\nprecision highp float;\n\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform vec2 uResolution;\nuniform float uTime;\nuniform vec3 uBaseColor;\n\n// Pointer\nuniform vec2 uPointer;\nuniform float uPointerActive;\nuniform float uPointerAttraction;\nuniform float uPointerStrength;\n\n// Main body\nuniform float uBodyRadius;\n\n// Pulsation\nuniform float uPulsePhase;\nuniform float uPulseAmp;\n\n// Surface noise\nuniform float uNoiseAmp;\nuniform float uNoiseFreq;\nuniform float uNoiseSpeed;\n\n// Gooey\nuniform float uSmoothK;\n\n// Color perturbation (perceptually uniform — OKLCh L/C/h)\nuniform float uHueRange; // degrees of hue swing (converted to radians)\nuniform float uSatShift; // OKLCh chroma swing\nuniform float uBrightnessShift; // OKLCh lightness bias\nuniform float uColorNoiseFreq;\nuniform float uColorNoiseSpeed;\n\n// Satellites (max 4)\n#define MAX_SATS 4\nuniform int uSatCount;\nuniform vec2 uSatPos[MAX_SATS];\nuniform float uSatRadius[MAX_SATS];\nuniform float uSatOpacity[MAX_SATS];\n\nconst float PI = 3.141592653589793;\n\n" + G + J + `${t}
|
|
352
|
+
|
|
353
|
+
` + K + J + W + J + `
|
|
354
|
+
// --- Color (Ottosson OKLab/OKLCh — value.js EXACT constants, transposed) ---
|
|
355
|
+
//
|
|
356
|
+
// The OETF (srgbToLinear/linearToSrgb) + the four Ottosson matrices + their space
|
|
357
|
+
// conversions are SPLICED from the shared chunk (AV.W2 —
|
|
358
|
+
// src/composables/glass/webgl/shaders/procedural-color.glsl.ts). They live there
|
|
359
|
+
// ONCE so the OETF can never diverge from aurora's; the line-for-line TS port
|
|
360
|
+
// (__tests__/metaball-color.glsl-port.ts) mirrors that chunk. The gamut-clamp
|
|
361
|
+
// below stays blob-local (aurora has no in-shader OKLCh path).
|
|
362
|
+
${i}
|
|
363
|
+
${o}
|
|
364
|
+
|
|
365
|
+
` + q + J + "\nvoid main() {\n vec2 uv = vUv - 0.5;\n\n // Pointer deformation\n if (uPointerActive > 0.5) {\n vec2 pointerDir = uPointer - uv;\n float pointerDist = length(pointerDir);\n float influence = smoothstep(0.4, 0.0, pointerDist) * uPointerAttraction * uPointerStrength;\n uv -= normalize(pointerDir + 1e-6) * influence;\n }\n\n // Main body with pulsation\n float bodyR = uBodyRadius + sin(uPulsePhase) * uPulseAmp;\n\n // FBM displacement for organic watercolor edge\n float noiseVal = fbm(uv * uNoiseFreq + uTime * uNoiseSpeed, 3);\n float bodyDisplacement = (noiseVal - 0.5) * uNoiseAmp;\n\n float d = sdCircle(uv, vec2(0.0), bodyR + bodyDisplacement);\n\n // Satellites\n for (int i = 0; i < MAX_SATS; i++) {\n if (i >= uSatCount) break;\n float satD = sdCircle(uv, uSatPos[i], uSatRadius[i]);\n satD += (1.0 - uSatOpacity[i]) * 0.3;\n d = smin(d, satD, uSmoothK);\n }\n\n // Edit #1 — fwidth-based anti-aliased edge: derive the smoothstep half-width\n // from the SDF screen-space gradient so the edge stays ~1px regardless of zoom.\n float aa = max(fwidth(d), 1e-6);\n float alpha = 1.0 - smoothstep(-aa, aa, d);\n\n if (alpha < 0.001) {\n fragColor = vec4(0.0);\n return;\n }\n\n // Edit #4 — perceptually-uniform OKLCh variation. Gamma base → linear → OKLab\n // → OKLCh; perturb L/C/h; OKLCh → OKLab → linear; hue-preserving gamut clamp.\n vec3 oklch = oklabToOklch(srgbToOklab(uBaseColor));\n\n float colorNoise = fbm(uv * uColorNoiseFreq + uTime * uColorNoiseSpeed, 3);\n oklch.z += (colorNoise - 0.5) * uHueRange * (PI / 180.0); // hue swing, radians\n oklch.y = max(oklch.y + (colorNoise - 0.5) * uSatShift, 0.0); // chroma swing\n oklch.x = clamp(oklch.x + uBrightnessShift, 0.0, 1.0); // lightness bias\n\n // Subtle inner glow near the edge — lifts OKLCh lightness inward.\n float edgeGlow = smoothstep(0.0, -bodyR * 0.6, d);\n oklch.x = mix(oklch.x, min(oklch.x + 0.06, 1.0), 1.0 - edgeGlow);\n\n oklch = gamutClampOklch(oklch);\n\n vec3 lin = oklabToLinearSrgb(oklchToOklab(oklch));\n vec3 rgb = clamp(linearToSrgb(lin), 0.0, 1.0); // MANDATORY OETF — closes the seam\n\n // Edit #8 — premultiply AFTER the OETF: straight-alpha gamma → premultiplied.\n fragColor = vec4(rgb * alpha, alpha);\n}", X = 4, Z = "[GooBlob]", Q = 1 / 1.6, te = [
|
|
366
|
+
"uResolution",
|
|
367
|
+
"uTime",
|
|
368
|
+
"uBaseColor",
|
|
369
|
+
"uPointer",
|
|
370
|
+
"uPointerActive",
|
|
371
|
+
"uPointerAttraction",
|
|
372
|
+
"uPointerStrength",
|
|
373
|
+
"uBodyRadius",
|
|
374
|
+
"uPulsePhase",
|
|
375
|
+
"uPulseAmp",
|
|
376
|
+
"uNoiseAmp",
|
|
377
|
+
"uNoiseFreq",
|
|
378
|
+
"uNoiseSpeed",
|
|
379
|
+
"uSmoothK",
|
|
380
|
+
"uHueRange",
|
|
381
|
+
"uSatShift",
|
|
382
|
+
"uBrightnessShift",
|
|
383
|
+
"uColorNoiseFreq",
|
|
384
|
+
"uColorNoiseSpeed",
|
|
385
|
+
"uSatCount"
|
|
386
|
+
];
|
|
387
|
+
function $(e) {
|
|
388
|
+
let { canvasRef: t, color: i, mood: o, pointer: l, satellites: u, config: d, colorResolver: f } = e;
|
|
389
|
+
if (typeof f != "function") throw Error("[GooBlob] a `colorResolver` is required. Pass `defaultBlobColorResolver` from `@mkbabb/glass-ui/color` (or your own `ColorResolver`) — the blob resolves its base CSS color through this seam and will not paint without it.");
|
|
390
|
+
let p = 0, m = /* @__PURE__ */ new Map();
|
|
391
|
+
function h(e) {
|
|
392
|
+
let t = m.get(e);
|
|
393
|
+
if (t) return t;
|
|
394
|
+
let n = f(e);
|
|
395
|
+
return m.size > 256 && m.clear(), m.set(e, n), n;
|
|
396
|
+
}
|
|
397
|
+
let _ = null, v = !1;
|
|
398
|
+
c(t, {
|
|
399
|
+
pause: () => _?.suspend("off-screen"),
|
|
400
|
+
resume: () => _?.resume("off-screen")
|
|
401
|
+
}, {
|
|
402
|
+
rootMargin: "200px",
|
|
403
|
+
pauseWhenHidden: !1
|
|
404
|
+
});
|
|
405
|
+
function y(e) {
|
|
406
|
+
_ = a(e, {
|
|
407
|
+
contextAttrs: {
|
|
408
|
+
alpha: !0,
|
|
409
|
+
premultipliedAlpha: !0,
|
|
410
|
+
antialias: !1,
|
|
411
|
+
preserveDrawingBuffer: !1
|
|
412
|
+
},
|
|
413
|
+
setup: (t) => {
|
|
414
|
+
let a = s(t, t.VERTEX_SHADER, U, Z), c = s(t, t.FRAGMENT_SHADER, Y, Z), f = r(t, a, c, Z);
|
|
415
|
+
t.useProgram(f);
|
|
416
|
+
let m = t.createVertexArray();
|
|
417
|
+
t.bindVertexArray(m);
|
|
418
|
+
let g = t.createBuffer();
|
|
419
|
+
t.bindBuffer(t.ARRAY_BUFFER, g), t.bufferData(t.ARRAY_BUFFER, new Float32Array([
|
|
420
|
+
-1,
|
|
421
|
+
-1,
|
|
422
|
+
1,
|
|
423
|
+
-1,
|
|
424
|
+
-1,
|
|
425
|
+
1,
|
|
426
|
+
-1,
|
|
427
|
+
1,
|
|
428
|
+
1,
|
|
429
|
+
-1,
|
|
430
|
+
1,
|
|
431
|
+
1
|
|
432
|
+
]), t.STATIC_DRAW);
|
|
433
|
+
let _ = t.getAttribLocation(f, "aPosition");
|
|
434
|
+
t.enableVertexAttribArray(_), t.vertexAttribPointer(_, 2, t.FLOAT, !1, 0, 0);
|
|
435
|
+
let y = {};
|
|
436
|
+
for (let e of te) y[e] = t.getUniformLocation(f, e);
|
|
437
|
+
let b = [], x = [], S = [];
|
|
438
|
+
for (let e = 0; e < X; e++) b.push(t.getUniformLocation(f, `uSatPos[${e}]`)), x.push(t.getUniformLocation(f, `uSatRadius[${e}]`)), S.push(t.getUniformLocation(f, `uSatOpacity[${e}]`));
|
|
439
|
+
t.enable(t.BLEND), t.blendFunc(t.ONE, t.ONE_MINUS_SRC_ALPHA);
|
|
440
|
+
function C() {
|
|
441
|
+
let r = n(), i = e.clientWidth || d.canvasSize, a = e.clientHeight || d.canvasSize, o = Math.round(i * r), s = Math.round(a * r);
|
|
442
|
+
(e.width !== o || e.height !== s) && (e.width = o, e.height = s), t.viewport(0, 0, o, s);
|
|
443
|
+
}
|
|
444
|
+
function w(n) {
|
|
445
|
+
let r = performance.now(), a = p ? (n - p) * 1e3 : 16;
|
|
446
|
+
p = n, o.tick(a), l.tick(), u.tick(r, o.params.value);
|
|
447
|
+
let s = o.params.value, c = h(i.value);
|
|
448
|
+
t.useProgram(f), t.bindVertexArray(m), t.uniform2f(y.uResolution, e.width, e.height), t.uniform1f(y.uTime, n), t.uniform3f(y.uBaseColor, c[0], c[1], c[2]);
|
|
449
|
+
let g = l.pointer.value;
|
|
450
|
+
t.uniform2f(y.uPointer, g.x * .5 * Q, g.y * .5 * Q), t.uniform1f(y.uPointerActive, +!!l.active.value), t.uniform1f(y.uPointerAttraction, d.pointerAttraction + s.pointerAttraction), t.uniform1f(y.uPointerStrength, d.pointerStrength * Q), t.uniform1f(y.uBodyRadius, d.bodyRadius * Q), t.uniform1f(y.uPulsePhase, n * d.pulseFreq * s.pulseFreq * Math.PI * 2), t.uniform1f(y.uPulseAmp, d.pulseAmp * s.pulseAmp / .015 * Q), t.uniform1f(y.uNoiseAmp, d.noiseAmp * s.noiseAmp / .025 * Q), t.uniform1f(y.uNoiseFreq, d.noiseFreq), t.uniform1f(y.uNoiseSpeed, d.noiseSpeed), t.uniform1f(y.uSmoothK, d.smoothK * s.smoothK / .22 * Q), t.uniform1f(y.uHueRange, d.hueRange + s.hueRange), t.uniform1f(y.uSatShift, d.satShift + s.satShift), t.uniform1f(y.uBrightnessShift, d.brightnessShift + s.brightnessShift), t.uniform1f(y.uColorNoiseFreq, d.colorNoiseFreq), t.uniform1f(y.uColorNoiseSpeed, d.colorNoiseSpeed);
|
|
451
|
+
let _ = u.sources;
|
|
452
|
+
t.uniform1i(y.uSatCount, _.length);
|
|
453
|
+
for (let e = 0; e < X; e++) {
|
|
454
|
+
let n = b[e] ?? null, r = x[e] ?? null, i = S[e] ?? null, a = _[e];
|
|
455
|
+
a ? (t.uniform2f(n, a.x * Q, a.y * Q), t.uniform1f(r, a.radius * Q), t.uniform1f(i, a.opacity)) : (t.uniform2f(n, 0, 0), t.uniform1f(r, 0), t.uniform1f(i, 0));
|
|
456
|
+
}
|
|
457
|
+
t.clearColor(0, 0, 0, 0), t.clear(t.COLOR_BUFFER_BIT), t.drawArrays(t.TRIANGLES, 0, 6), t.bindVertexArray(null);
|
|
458
|
+
}
|
|
459
|
+
function T() {
|
|
460
|
+
return !v;
|
|
461
|
+
}
|
|
462
|
+
return {
|
|
463
|
+
frame: w,
|
|
464
|
+
shouldContinue: T,
|
|
465
|
+
resize: C,
|
|
466
|
+
teardown: () => {
|
|
467
|
+
t.deleteProgram(f), t.deleteShader(a), t.deleteShader(c), t.deleteBuffer(g), t.deleteVertexArray(m);
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
}), _.arm();
|
|
472
|
+
}
|
|
473
|
+
return S(t, (e) => {
|
|
474
|
+
e && !_ && y(e);
|
|
475
|
+
}, { immediate: !0 }), S(i, () => _?.wake()), g(() => {
|
|
476
|
+
_?.dispose(), _ = null;
|
|
477
|
+
}), {
|
|
478
|
+
pause: () => {
|
|
479
|
+
v = !0, _?.suspend("manual");
|
|
480
|
+
},
|
|
481
|
+
resume: () => {
|
|
482
|
+
v = !1, _?.resume("manual");
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
//#endregion
|
|
487
|
+
//#region src/components/custom/goo-blob/GooBlob.vue
|
|
488
|
+
var ne = /* @__PURE__ */ e(/* @__PURE__ */ p({
|
|
489
|
+
__name: "GooBlob",
|
|
490
|
+
props: {
|
|
491
|
+
color: {},
|
|
492
|
+
colorResolver: { type: Function },
|
|
493
|
+
config: {},
|
|
494
|
+
seed: { default: "" }
|
|
495
|
+
},
|
|
496
|
+
emits: ["click"],
|
|
497
|
+
setup(e, { expose: t, emit: n }) {
|
|
498
|
+
let r = n, i = m(w, null), a = e.config ?? i;
|
|
499
|
+
if (!a) throw Error("[glass-ui] GooBlob: no blob config. Pass an explicit `config` prop (e.g. BLOB_CONFIG_DEFAULTS) or provide(BLOB_CONFIG_KEY, cfg) from an ancestor. There is no silent defaults synthesis.");
|
|
500
|
+
let o = x("canvasRef"), s = x("wrapperRef"), c = A(), l = M(s), u = H(a, e.color + e.seed), p = b(() => e.color);
|
|
501
|
+
$({
|
|
502
|
+
canvasRef: o,
|
|
503
|
+
color: p,
|
|
504
|
+
mood: c,
|
|
505
|
+
pointer: l,
|
|
506
|
+
satellites: u,
|
|
507
|
+
config: a,
|
|
508
|
+
colorResolver: e.colorResolver
|
|
509
|
+
}), S(p, (t) => {
|
|
510
|
+
u.reseed(t + e.seed);
|
|
511
|
+
});
|
|
512
|
+
function g() {
|
|
513
|
+
u.nudge();
|
|
514
|
+
}
|
|
515
|
+
function v(e) {
|
|
516
|
+
c.setMood(e);
|
|
517
|
+
}
|
|
518
|
+
return t({
|
|
519
|
+
nudge: g,
|
|
520
|
+
setMood: v,
|
|
521
|
+
currentMood: c.currentMood
|
|
522
|
+
}), (t, n) => (_(), d("div", {
|
|
523
|
+
ref_key: "wrapperRef",
|
|
524
|
+
ref: s,
|
|
525
|
+
class: "goo-blob-wrapper",
|
|
526
|
+
style: h({ "--blob-color": e.color }),
|
|
527
|
+
onClick: n[0] ||= (e) => r("click")
|
|
528
|
+
}, [f("canvas", {
|
|
529
|
+
ref_key: "canvasRef",
|
|
530
|
+
ref: o,
|
|
531
|
+
class: "goo-blob-canvas",
|
|
532
|
+
"aria-hidden": "true",
|
|
533
|
+
"data-testid": "goo-blob-canvas"
|
|
534
|
+
}, null, 512)], 4));
|
|
535
|
+
}
|
|
536
|
+
}), [["__scopeId", "data-v-ff366d67"]]);
|
|
537
|
+
//#endregion
|
|
538
|
+
export { C as BLOB_CONFIG_DEFAULTS, w as BLOB_CONFIG_KEY, ne as GooBlob, A as useBlobMood, M as useBlobPointer, H as useBlobSatellites, $ as useMetaballRenderer };
|
package/dist/header-ribbon.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./_plugin-vue_export-helper-
|
|
1
|
+
import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
|
|
2
2
|
import { computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, normalizeClass as o, onBeforeUnmount as s, openBlock as c, ref as l, renderSlot as u } from "vue";
|
|
3
3
|
//#region src/components/custom/header-ribbon/HeaderRibbon.vue?vue&type=script&setup=true&lang.ts
|
|
4
4
|
var d = {
|
|
@@ -35,7 +35,7 @@ var d = {
|
|
|
35
35
|
isVisible: v,
|
|
36
36
|
isToggled: h
|
|
37
37
|
}), (t, a) => (c(), r("div", {
|
|
38
|
-
class: o(["fixed z-
|
|
38
|
+
class: o(["fixed z-dock pointer-events-none w-fit flex items-center px-4 pt-4 pb-2", e.position === "left" ? "top-0 left-0" : "top-0 right-0"]),
|
|
39
39
|
onMouseleave: S
|
|
40
40
|
}, [t.$slots.left ? (c(), r("div", d, [u(t.$slots, "left", {}, void 0, !0)])) : n("", !0), i("div", {
|
|
41
41
|
class: "pointer-events-auto flex items-center h-6",
|
|
@@ -58,6 +58,6 @@ var d = {
|
|
|
58
58
|
}, [u(t.$slots, "items", {}, void 0, !0)], 2)) : n("", !0)
|
|
59
59
|
], 32)], 34));
|
|
60
60
|
}
|
|
61
|
-
}), [["__scopeId", "data-v-
|
|
61
|
+
}), [["__scopeId", "data-v-7f77154a"]]);
|
|
62
62
|
//#endregion
|
|
63
63
|
export { f as HeaderRibbon };
|
package/dist/hover-card.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "./HoverCardContent-
|
|
1
|
+
import { n as e, r as t, t as n } from "./HoverCardContent-ICfIMZX1.js";
|
|
2
2
|
export { t as HoverCard, n as HoverCardContent, e as HoverCardTrigger };
|
package/dist/hover-popover.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./HoverPopover-
|
|
1
|
+
import { t as e } from "./HoverPopover-DTSYkJtw.js";
|
|
2
2
|
export { e as HoverPopover };
|
package/dist/icon-tooltip.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./IconTooltip-
|
|
1
|
+
import { t as e } from "./IconTooltip-BTyYn4mr.js";
|
|
2
2
|
export { e as IconTooltip };
|
package/dist/index.d.ts
CHANGED
|
@@ -47,4 +47,5 @@ export * from "./composables/dom";
|
|
|
47
47
|
export * from "./composables/glass";
|
|
48
48
|
export * from "./composables/sortable";
|
|
49
49
|
export { startViewTransition, supportsViewTransitions, type ViewTransitionResult, } from "./composables/motion/useViewTransition";
|
|
50
|
+
export { vReveal } from "./composables/motion/vReveal";
|
|
50
51
|
export * from "./utils";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./InstrumentChassis-
|
|
1
|
+
import { n as e, t } from "./InstrumentChassis-DaHIZCqy.js";
|
|
2
2
|
export { e as ChassisDivider, t as InstrumentChassis };
|
package/dist/instrument-rail.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./InstrumentRail-
|
|
1
|
+
import { t as e } from "./InstrumentRail-B0qqLFN0.js";
|
|
2
2
|
export { e as InstrumentRail };
|
package/dist/keyboard.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, r, t as i } from "./useKeyboardShortcuts-
|
|
1
|
+
import { a as e, i as t, n, r, t as i } from "./useKeyboardShortcuts-BQfnAHHW.js";
|
|
2
2
|
export { i as formatCombo, n as formatComboParts, r as isMac, t as registerShortcut, e as useRegisteredShortcuts };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { t as e } from "./createContext-DBMGRlx4.js";
|
|
2
|
+
//#region src/components/custom/glyph-face/keys.ts
|
|
3
|
+
var t = e("glass-ui:glyph-face-silhouette"), n = t.KEY;
|
|
4
|
+
function r(e) {
|
|
5
|
+
t.provide(e);
|
|
6
|
+
}
|
|
7
|
+
var i = t.use;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { r as n, i as r, n as t };
|
package/dist/label.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./Label-
|
|
1
|
+
import { t as e } from "./Label-CZk-3nTc.js";
|
|
2
2
|
export { e as Label };
|