@mkbabb/glass-ui 3.13.0 → 4.0.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/CardAction-XH4YBVEK.js +158 -0
- package/dist/{CommandShortcut-RowNEO6i.js → CommandShortcut-DdtWXxOK.js} +57 -52
- package/dist/{ContextMenuSubContent-BQmxTAdw.js → ContextMenuSubContent-B0Vs6atR.js} +1 -1
- package/dist/{DataTable-BCddn3T3.js → DataTable-C464Zbqd.js} +99 -97
- package/dist/DialogContent-DDE6pQBU.js +103 -0
- package/dist/{DialogFooter-Blu4t7tJ.js → DialogFooter-8eZbdmPc.js} +1 -1
- package/dist/FadingScroll-DwNnvKMs.js +76 -0
- package/dist/{HoverPopover-CISOJQuZ.js → HoverPopover-Dpzwvc4t.js} +1 -1
- package/dist/IconChip-BDw1j5mu.js +54 -0
- package/dist/{MetricBadge-C9QMz1KT.js → MetricBadge-BpC0R_Ec.js} +1 -1
- package/dist/{Notification-DdwNxIrI.js → Notification-DKjKsQq8.js} +8 -8
- package/dist/{NumberFieldContent-CqaN-SvN.js → NumberFieldContent-1VtwDSgf.js} +1 -1
- package/dist/PopoverContent-BTorlp--.js +127 -0
- package/dist/{Progress-DwlUKGbr.js → Progress-hAT4gqGH.js} +97 -77
- package/dist/{ScrollingText-DfFrwSph.js → ScrollingText-CUVFTWk2.js} +2 -2
- package/dist/{SelectScrollDownButton-CiDUxfEj.js → SelectScrollDownButton-C1jb3b3K.js} +22 -6
- package/dist/{Switch-CsIuYP_e.js → Switch-Dr--uLGH.js} +1 -1
- package/dist/{Toaster-D6q4HtXu.js → Toaster-Bm_HQSpc.js} +6 -6
- package/dist/{ToggleGroupItem-D_AHlRw9.js → ToggleGroupItem-Dzk9hWsF.js} +1 -1
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +8 -5
- package/dist/api.js +2 -2
- package/dist/aurora.js +132 -117
- package/dist/{button-ChXMfsud.js → button-BNDWhAZb.js} +2 -2
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +97 -141
- package/dist/collapsible.js +1 -1
- package/dist/color-swatch.d.ts +1 -0
- package/dist/color-swatch.js +47 -0
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/components/custom/aurora/constants/presets.d.ts +28 -0
- package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
- package/dist/components/custom/color-swatch/index.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
- package/dist/components/custom/constellation/Constellation.vue.d.ts +18 -206
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
- package/dist/components/custom/constellation/constellationField.d.ts +2 -369
- package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
- package/dist/components/custom/constellation/index.d.ts +1 -1
- package/dist/components/custom/dock/DockRail.vue.d.ts +17 -16
- package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
- package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -5
- package/dist/components/custom/dock/constants.d.ts +35 -0
- package/dist/components/custom/dock/index.d.ts +2 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
- package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
- package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
- package/dist/components/custom/fading-scroll/index.d.ts +2 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +7 -0
- package/dist/components/custom/fourier-field/index.d.ts +1 -1
- package/dist/components/custom/fourier-field/math.d.ts +17 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -1
- package/dist/components/custom/goo-blob/constants.d.ts +6 -1
- package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
- package/dist/components/custom/handmark/brush.d.ts +269 -0
- package/dist/components/custom/handmark/composables/useHandMark.d.ts +89 -0
- package/dist/components/custom/handmark/constants.d.ts +39 -0
- package/dist/components/custom/handmark/freehand.d.ts +69 -0
- package/dist/components/custom/handmark/geometry.d.ts +52 -0
- package/dist/components/custom/handmark/index.d.ts +27 -0
- package/dist/components/custom/handmark/ink.d.ts +11 -0
- package/dist/components/custom/handmark/texture.d.ts +39 -0
- package/dist/components/custom/handmark/types.d.ts +62 -0
- package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
- package/dist/components/custom/icon-chip/index.d.ts +2 -0
- package/dist/components/custom/icon-chip/types.d.ts +72 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +15 -2
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +20 -25
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
- package/dist/components/custom/tabs/constants.d.ts +9 -3
- package/dist/components/custom/tabs/index.d.ts +1 -1
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +14 -0
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
- package/dist/components/ui/card/Card.vue.d.ts +1 -1
- package/dist/components/ui/carousel/index.d.ts +0 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -0
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
- package/dist/composables/dark/index.d.ts +1 -1
- package/dist/composables/dark/useGlobalDark.d.ts +23 -1
- package/dist/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +2 -2
- package/dist/constellation.js +92 -94
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +10 -4
- package/dist/dark.d.ts +1 -1
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +510 -321
- package/dist/{dockContext-BegmJVmx.js → dockContext-Bu1Avy-a.js} +1 -1
- package/dist/dom.js +5 -5
- package/dist/{dropdown-menu-DzkkyBwX.js → dropdown-menu-BJ7E9js_.js} +2 -2
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +42 -38
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/forms.js +3 -3
- package/dist/fourier-field.js +38 -37
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +39 -36
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +129 -145
- package/dist/goo-blob.js +86 -81
- package/dist/handmark.d.ts +1 -0
- package/dist/handmark.js +707 -0
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-chip.d.ts +1 -0
- package/dist/icon-chip.js +2 -0
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +6 -6
- package/dist/{math-U6-RrLmV.js → math-DeuJwLFx.js} +11 -3
- package/dist/{menuItemVariants-DPiEarb0.js → menuItemVariants-DWRQXBxJ.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +25 -22
- package/dist/metric-stack.js +1 -1
- package/dist/motion-core.js +33 -32
- package/dist/motion-curves.js +1 -1
- package/dist/motion.js +4 -4
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.d.ts +1 -0
- package/dist/pager-dots.js +91 -0
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-BKVyQfbt.js → presets-BW2b-fr1.js} +14 -1
- package/dist/progress.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +5 -5
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/{sheet-1fChZjtw.js → sheet-CquRYOAw.js} +59 -55
- package/dist/sheet.js +1 -1
- package/dist/{slider-B-JP2JlI.js → slider-DQ95MET2.js} +7 -7
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/styles/animations.css +11 -26
- package/dist/styles/components.css +1 -1
- package/dist/styles/configurator.css +35 -0
- package/dist/styles/dock/density.css +19 -0
- package/dist/styles/dock/overflow.css +15 -0
- package/dist/styles/dock/rail-extend.css +168 -71
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +34 -5
- package/dist/styles/dock-controls/icon-button.css +11 -1
- package/dist/styles/dock-controls/tab-button.css +24 -83
- package/dist/styles/dock-controls/triggers.css +7 -0
- package/dist/styles/dock.css +6 -3
- package/dist/styles/drawer.css +46 -0
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/glass/ladder.css +68 -22
- package/dist/styles/glass/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +88 -12
- package/dist/styles/glass.css +5 -2
- package/dist/styles/icon-chip.css +149 -0
- package/dist/styles/index.css +67 -5
- package/dist/styles/instrument-chassis.css +42 -0
- package/dist/styles/menu.css +127 -0
- package/dist/styles/segmented-tabs.css +160 -89
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +11 -1
- package/dist/styles/tokens/color-radius.css +40 -13
- package/dist/styles/tokens/dark-arm.css +124 -16
- package/dist/styles/tokens/glass.css +83 -23
- package/dist/styles/tokens/light-dark.css +48 -19
- package/dist/styles/tokens/offsets-sizing.css +62 -0
- package/dist/styles/tokens/property-regs.css +3 -10
- package/dist/styles/tokens/scale-paper.css +45 -2
- package/dist/styles/tokens/scheme-motion.css +32 -14
- package/dist/styles/transitions.css +7 -7
- package/dist/styles/typography/scale.css +153 -0
- package/dist/styles/typography/semantic.css +220 -0
- package/dist/styles/typography/utilities.css +159 -0
- package/dist/styles/typography.css +23 -507
- package/dist/styles/utilities/a11y-overrides.css +33 -4
- package/dist/styles/utilities/base.css +177 -1
- package/dist/styles/utilities/btn.css +18 -201
- package/dist/styles/view-transition.css +4 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +154 -183
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +3 -1
- package/dist/toggle-group.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
- package/dist/useConfiguratorState-kiIlun8I.js +303 -0
- package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-C28t0VWJ.js} +22 -3
- package/dist/{useRAFLoop-Bxv0o6L5.js → useRAFLoop-CdwJ7284.js} +1 -1
- package/dist/{useSpringMount-CI2jOstM.js → useSpringMount-CvopqiFr.js} +1 -1
- package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
- package/dist/{useTouchGate-Dg7MQI1G.js → useTouchGate-28Tk2-t2.js} +1 -1
- package/dist/{vReveal-CqaCz_mC.js → useViewTransition-COsPjQVZ.js} +15 -12
- package/dist/vReveal-D9k0jADx.js +10 -0
- package/dist/watercolor-dot.js +12 -5
- package/package.json +71 -7
- package/src/styles/animations.css +11 -26
- package/src/styles/configurator.css +35 -0
- package/src/styles/dock/density.css +19 -0
- package/src/styles/dock/overflow.css +15 -0
- package/src/styles/dock/rail-extend.css +168 -71
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +34 -5
- package/src/styles/dock-controls/icon-button.css +11 -1
- package/src/styles/dock-controls/tab-button.css +24 -83
- package/src/styles/dock-controls/triggers.css +7 -0
- package/src/styles/dock.css +6 -3
- package/src/styles/drawer.css +42 -0
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/glass/ladder.css +68 -22
- package/src/styles/glass/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +88 -12
- package/src/styles/glass.css +5 -2
- package/src/styles/icon-chip.css +149 -0
- package/src/styles/index.css +66 -4
- package/src/styles/instrument-chassis.css +42 -0
- package/src/styles/menu.css +127 -0
- package/src/styles/segmented-tabs.css +156 -87
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +11 -1
- package/src/styles/tokens/color-radius.css +40 -13
- package/src/styles/tokens/dark-arm.css +124 -16
- package/src/styles/tokens/glass.css +83 -23
- package/src/styles/tokens/light-dark.css +48 -19
- package/src/styles/tokens/offsets-sizing.css +62 -0
- package/src/styles/tokens/property-regs.css +3 -10
- package/src/styles/tokens/scale-paper.css +45 -2
- package/src/styles/tokens/scheme-motion.css +32 -14
- package/src/styles/transitions.css +7 -7
- package/src/styles/typography/scale.css +153 -0
- package/src/styles/typography/semantic.css +220 -0
- package/src/styles/typography/utilities.css +159 -0
- package/src/styles/typography.css +23 -507
- package/src/styles/utilities/a11y-overrides.css +33 -4
- package/src/styles/utilities/base.css +177 -1
- package/src/styles/utilities/btn.css +18 -201
- package/src/styles/view-transition.css +4 -1
- package/dist/CardAction-Cj2eycQ2.js +0 -157
- package/dist/DialogContent-Dl9WkAoS.js +0 -100
- package/dist/PopoverContent-BYwt2-4x.js +0 -121
- package/dist/TabsList-Dttss653.js +0 -105
- package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
- package/dist/components/custom/underline/index.d.ts +0 -2
- package/dist/components/custom/underline/types.d.ts +0 -56
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
- package/dist/underline.d.ts +0 -1
- package/dist/underline.js +0 -85
- package/dist/useConfiguratorState-DAoeHVue.js +0 -287
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
- /package/dist/{ContextMenuContent-CT3AS1WX.js → ContextMenuContent-ON3x7cuk.js} +0 -0
- /package/dist/{HoverCardContent-Csywg3YF.js → HoverCardContent-DkMaQzH5.js} +0 -0
- /package/dist/{IconTooltip-DPzE09X9.js → IconTooltip-DSjasZIt.js} +0 -0
- /package/dist/{Input-DWQQIOC4.js → Input-DVG_J0ne.js} +0 -0
- /package/dist/{Label-r3WzWrsj.js → Label-Ck9SWEKM.js} +0 -0
- /package/dist/{ModalOverlay-DVLI2VRr.js → ModalOverlay-CkPRRgl_.js} +0 -0
- /package/dist/{PaperBackdrop-DIXTtVq6.js → PaperBackdrop-nBKe0vkB.js} +0 -0
- /package/dist/{SelectGroup-aumMgWLs.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{SelectSeparator-BQ_1Fcbp.js → SelectSeparator-DK2y1Bun.js} +0 -0
- /package/dist/{Separator-0JE6LtNu.js → Separator-BArl4OaB.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
- /package/dist/{color-CUYeFbgd.js → color-DweYl7pE.js} +0 -0
- /package/dist/{compile-B7NGOBcP.js → compile-EXXzEr1q.js} +0 -0
- /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-BM46COQ-.js → createContext-B2RaZ-b8.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
- /package/dist/{springPresets--YdWTHtm.js → springPresets-WXaLbu8u.js} +0 -0
- /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-iHludrxk.js → useInterval-CNdua40W.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useLiquidFlex-BL0lLLN2.js → useLiquidFlex-C12hXwOZ.js} +0 -0
- /package/dist/{useResizeObserver-BhgdhOIj.js → useResizeObserver-V6nq5gJb.js} +0 -0
- /package/dist/{useResolveTokenColor-Dvn2RZJW.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
- /package/dist/{useScrollProgress-Dlvx-L3v.js → useScrollProgress-D7bYU2RK.js} +0 -0
- /package/dist/{useSortable-muI29agz.js → useSortable-BVqlJRBR.js} +0 -0
- /package/dist/{useTextHighlight-DmRYkOBx.js → useTextHighlight-NmBM5V_4.js} +0 -0
- /package/dist/{useTimer-Dzarvzuk.js → useTimer-B_PAasDL.js} +0 -0
- /package/dist/{useUserInvalidAria-B2h6jAM_.js → useUserInvalidAria-CDfJuakL.js} +0 -0
- /package/dist/{useViewportReady-B40FK4Pa.js → useViewportReady-CvBcCYDf.js} +0 -0
|
@@ -3,14 +3,14 @@ import { type ConfiguratorDensity } from "./density";
|
|
|
3
3
|
/**
|
|
4
4
|
* Scroll behavior for the controls column.
|
|
5
5
|
*
|
|
6
|
-
* - `auto` —
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* regardless of content.
|
|
11
|
-
* - `never` — controls do not scroll; host grows to content height.
|
|
12
|
-
* for popover/sheet hosts that
|
|
13
|
-
* overflow.
|
|
6
|
+
* - `auto` — the controls column renders a <FadingScroll axis="y"> scroll-port
|
|
7
|
+
* (sharp at rest, feathered while overflowing); controls scroll when
|
|
8
|
+
* their intrinsic height exceeds the host. Default.
|
|
9
|
+
* - `always` — same <FadingScroll> scroll-port + thin scrollbar. Use when
|
|
10
|
+
* authors want a fixed-height studio regardless of content.
|
|
11
|
+
* - `never` — controls do not scroll; host grows to content height. Renders a
|
|
12
|
+
* plain div (no FadingScroll). Use for popover/sheet hosts that
|
|
13
|
+
* already manage their own overflow.
|
|
14
14
|
*/
|
|
15
15
|
export type ConfiguratorScrollMode = "auto" | "always" | "never";
|
|
16
16
|
/**
|
|
@@ -106,6 +106,17 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
|
|
|
106
106
|
}) => any;
|
|
107
107
|
} & {
|
|
108
108
|
default?: (props: {}) => any;
|
|
109
|
+
} & {
|
|
110
|
+
controls?: (props: {
|
|
111
|
+
layers: readonly {
|
|
112
|
+
id: string;
|
|
113
|
+
label: string;
|
|
114
|
+
}[] | undefined;
|
|
115
|
+
activeLayer: string | undefined;
|
|
116
|
+
selectLayer: (id: string) => void;
|
|
117
|
+
}) => any;
|
|
118
|
+
} & {
|
|
119
|
+
default?: (props: {}) => any;
|
|
109
120
|
} & {
|
|
110
121
|
footer?: (props: {
|
|
111
122
|
reset: () => void;
|
|
@@ -1,90 +1,12 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* The lattice ships NEUTRAL. A branded skin (a focal ring, a callout label) is
|
|
11
|
-
* the consumer's `drawOverlay(ctx, field, now)` pass — it runs AFTER the four
|
|
12
|
-
* neutral passes and receives the live field so it can pin itself to a real
|
|
13
|
-
* node. Zero deck-domain content lives in the component.
|
|
14
|
-
*
|
|
15
|
-
* Palette reads the FULL `--constellation-*` legibility set off the canvas (the
|
|
16
|
-
* node/node-dim/line colors + the edge-alpha multipliers + the field-yields-to-
|
|
17
|
-
* type `--constellation-alpha` knob; neutral fallbacks), so a consumer override
|
|
18
|
-
* or a dark-mode flip re-tints AND re-weights the lattice (AX.W17).
|
|
19
|
-
*
|
|
20
|
-
* The focal node + click-to-warp (AX.W17) is a first-class engine concept: with
|
|
21
|
-
* `warpOnClick`, a click warps the focal node to the nearest drifting node via a
|
|
22
|
-
* critically-damped spring stepped INSIDE the substrate's single rAF (no
|
|
23
|
-
* `useSpring`, no second rAF). The consumer paints the focal mark at
|
|
24
|
-
* `field.warp.{x,y}` in its `drawOverlay`.
|
|
25
|
-
*/
|
|
26
|
-
type __VLS_Props = {
|
|
27
|
-
/** Node count. Default 64. */
|
|
28
|
-
count?: number;
|
|
29
|
-
/** Link distance in px (the falloff reach). Default 132. */
|
|
30
|
-
link?: number;
|
|
31
|
-
/** Drift speed. Default 0.16. */
|
|
32
|
-
speed?: number;
|
|
33
|
-
/**
|
|
34
|
-
* AY.W-COHERE E3 — the per-instance outer-envelope RECESSION knob (the
|
|
35
|
-
* aurora `opacityCeiling` / fourier `intensity` sibling — the SAME prop NAME
|
|
36
|
-
* the other live substrates carry, so the four-substrate recession contract is
|
|
37
|
-
* ONE vocabulary). The painted edge/node/web/ripple alpha scales by this value
|
|
38
|
-
* OVER the mode-tuned `--constellation-alpha` base, so a constellation hero can
|
|
39
|
-
* RECEDE behind content (StoryHero sets 0.4–0.6) exactly as its aurora + fourier
|
|
40
|
-
* siblings do. Default `1` is byte-identical to HEAD (the draw-alpha trace is
|
|
41
|
-
* unchanged — the default-OFF canary). NOT a second token: `--constellation-alpha`
|
|
42
|
-
* stays the mode recession base, this is the per-instance loudness envelope.
|
|
43
|
-
*/
|
|
44
|
-
opacityCeiling?: number;
|
|
45
|
-
/**
|
|
46
|
-
* Seed for a REPRODUCIBLE field. A `number` or `string` (hashed) seeds the
|
|
47
|
-
* shared `mulberry32`; omit for a fresh `Math.random` field each mount.
|
|
48
|
-
*/
|
|
49
|
-
seed?: number | string;
|
|
50
|
-
/** Steer-toward-cursor + tap ripples. Default true; auto-off under reduced-motion. */
|
|
51
|
-
pointerReactive?: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Click-to-warp (AX.W17). A click warps the focal node to the nearest
|
|
54
|
-
* drifting node and SPRINGS it there (critically damped, chasing the LIVE
|
|
55
|
-
* target). INDEPENDENT of `pointerReactive`. Default false; auto-off under
|
|
56
|
-
* reduced-motion (the focal mark stays put). Sugars the exposed `warpTo(...)`.
|
|
57
|
-
*/
|
|
58
|
-
warpOnClick?: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Auto-DRIFT (AY.W-CON1). A periodic auto-pick re-points the focal node to a
|
|
61
|
-
* RANDOM node on a jittered cadence — the wander source on the SAME warp
|
|
62
|
-
* spring (the 2nd half of the AX.W17 "drift + warp are ONE mechanic" thesis;
|
|
63
|
-
* no second rAF, no second mechanic). `true` uses the default cadence
|
|
64
|
-
* (8–16s, the slides rhythm); `{ minIdle?, jitter? }` tunes it (ms). Default
|
|
65
|
-
* OFF — `wander` absent leaves `field.wander` undefined, byte-identical to
|
|
66
|
-
* HEAD. PRM-gated by the WARP precedent: the cadence lives inside the
|
|
67
|
-
* `!reducedMotion` step block, so under reduced-motion it never advances and
|
|
68
|
-
* the focal mark stays at its seed (NOT fire-but-freeze).
|
|
69
|
-
*/
|
|
70
|
-
wander?: boolean | {
|
|
71
|
-
minIdle?: number;
|
|
72
|
-
jitter?: number;
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* Pointer-held GRAVITY-WELL (AY.W-CON2). Hold the pointer over the lattice and
|
|
76
|
-
* the nodes within reach are PULLED toward it (an inverse-square force on the
|
|
77
|
-
* SAME engine, no second rAF); release and the field cools back to `speed`.
|
|
78
|
-
* INDEPENDENT of `warpOnClick` and `pointerReactive` (a consumer can
|
|
79
|
-
* hold-to-pull on a non-ripple, non-warp lattice). `true` uses the tokenised
|
|
80
|
-
* `--constellation-well-*` defaults; an object overrides the gains. Default
|
|
81
|
-
* OFF — `gravityWell` absent leaves `field.well` undefined (byte-identical to
|
|
82
|
-
* HEAD; `stepField` skips the force pass). PRM-gated by the WARP precedent: the
|
|
83
|
-
* held-timer block lives inside `!reducedMotion`, so under reduced-motion the
|
|
84
|
-
* well never arms; AND the well STATE resets to neutral on the PRM-true edge
|
|
85
|
-
* (no half-ramped force frozen on).
|
|
86
|
-
*/
|
|
87
|
-
gravityWell?: boolean | {
|
|
1
|
+
import { type ConstellationProps } from "./constellationField";
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<ConstellationProps, import("./composables/useConstellation").ConstellationExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ConstellationProps> & Readonly<{}>, {
|
|
3
|
+
link: number;
|
|
4
|
+
speed: number;
|
|
5
|
+
count: number;
|
|
6
|
+
opacityCeiling: number;
|
|
7
|
+
pointerReactive: boolean;
|
|
8
|
+
warpOnClick: boolean;
|
|
9
|
+
gravityWell: boolean | {
|
|
88
10
|
holdMs?: number;
|
|
89
11
|
gain?: number;
|
|
90
12
|
reach?: number;
|
|
@@ -92,129 +14,19 @@ type __VLS_Props = {
|
|
|
92
14
|
maxSpeed?: number;
|
|
93
15
|
soften?: number;
|
|
94
16
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
* wanders it around its anchor. The `pinNode(idx)` expose re-points it imperatively.
|
|
103
|
-
*/
|
|
104
|
-
pinned?: boolean | number;
|
|
105
|
-
/**
|
|
106
|
-
* ACCENT-edge skin (AZ.W-CON-GEN G2). When `true`, edges incident on the PINNED
|
|
107
|
-
* (else the FOCAL) node stroke the `--constellation-accent` tint at the
|
|
108
|
-
* `--constellation-edge-accent-alpha` weight — the flagged-node tether — while
|
|
109
|
-
* every other edge keeps the neutral register. Default OFF (the single-color
|
|
110
|
-
* neutral pass, byte-identical to HEAD). Reads the accent off the resolved palette.
|
|
111
|
-
*/
|
|
112
|
-
accentEdges?: boolean;
|
|
113
|
-
/**
|
|
114
|
-
* Autonomous PINNED-ANCHOR drift (AZ.W-CON-GEN G5). When set AND a node is pinned,
|
|
115
|
-
* the pinned node gently eases around its seeded anchor within `wanderFrac`
|
|
116
|
-
* (default ±0.14 of the canvas) on a jittered cadence (a closed-form easeInOutQuad
|
|
117
|
-
* stepped inside the substrate's single rAF — no second rAF). DISTINCT from
|
|
118
|
-
* `wander` (which re-targets the warp among random nodes): this breathes the ONE
|
|
119
|
-
* pinned node around its rest. `true` uses the default cadence; an object tunes it.
|
|
120
|
-
* Default OFF — the pinned node holds dead-still (byte-identical). PRM-gated by the
|
|
121
|
-
* WARP precedent (the drift lives inside `!isStatic`; under reduce the pin holds).
|
|
122
|
-
*/
|
|
123
|
-
pinnedDrift?: boolean | {
|
|
17
|
+
wander: boolean | {
|
|
18
|
+
minIdle?: number;
|
|
19
|
+
jitter?: number;
|
|
20
|
+
};
|
|
21
|
+
pinned: boolean | number;
|
|
22
|
+
accentEdges: boolean;
|
|
23
|
+
pinnedDrift: boolean | {
|
|
124
24
|
wanderFrac?: number;
|
|
125
25
|
durMs?: number;
|
|
126
26
|
minIdle?: number;
|
|
127
27
|
jitter?: number;
|
|
128
28
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
* target clears its `targetIdx` — the focal node releases the spring and rides its
|
|
132
|
-
* node's RAW drift (the identity-ride), freeing the spring for the next warp.
|
|
133
|
-
* Default `false` keeps the held-target behaviour (the warp chases its node
|
|
134
|
-
* forever — byte-identical to HEAD). Read the settled signal via the
|
|
135
|
-
* `warpSettled()` expose.
|
|
136
|
-
*/
|
|
137
|
-
warpAutoRelease?: boolean;
|
|
138
|
-
/**
|
|
139
|
-
* Deterministic-capture freeze (AY.W-CON3). When `true`, the lattice lays
|
|
140
|
-
* out ONE reproducible STATIC frame and does NOT advance — seeded layout
|
|
141
|
-
* (set `seed` for a stable field ACROSS runs; an unseeded freeze still
|
|
142
|
-
* freezes but lays out a one-shot `Math.random` frame), no `stepField`, no
|
|
143
|
-
* ripple / warp / wander / well advance, and a FROZEN `now` handed to
|
|
144
|
-
* `drawOverlay` so a phase-driven skin (`(now % T) / T`) resolves to a fixed
|
|
145
|
-
* value (the pulse-ring radius is identical frame-over-frame). Omit to
|
|
146
|
-
* AUTO-DERIVE from `location.search` matching `export | print | freeze` (the
|
|
147
|
-
* deploy-pipeline contract — a consumer's pptx / print / screenshot capture
|
|
148
|
-
* gets a stable frame with zero per-consumer wiring). An explicit
|
|
149
|
-
* `:freeze="false"` forces live even under a capture URL. Unifies with the
|
|
150
|
-
* reduced-motion one-static-frame path — `freeze || reducedMotion` is the
|
|
151
|
-
* single static-frame predicate; the capture takes no input (the pointer /
|
|
152
|
-
* warp / well listeners are NOT registered under freeze).
|
|
153
|
-
*/
|
|
154
|
-
freeze?: boolean;
|
|
155
|
-
class?: HTMLAttributes["class"];
|
|
156
|
-
/**
|
|
157
|
-
* The skin seam. Runs after the neutral passes with the live field, so a
|
|
158
|
-
* consumer paints its own focal mark pinned to a real node — read
|
|
159
|
-
* `field.warp.{x,y}` for the spring-eased focal position when `warpOnClick`
|
|
160
|
-
* is on. The branded content (a domain accent, a callout label) lives HERE,
|
|
161
|
-
* in the consumer. Under `freeze` it receives a FROZEN `now`, so a phase-
|
|
162
|
-
* driven mark resolves to a fixed value.
|
|
163
|
-
*/
|
|
164
|
-
drawOverlay?: (ctx: CanvasRenderingContext2D, field: ConstellationField, now: number) => void;
|
|
165
|
-
};
|
|
166
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
167
|
-
/** The live field (the low-level imperative seam — for a custom overlay). */
|
|
168
|
-
field: ConstellationField;
|
|
169
|
-
/**
|
|
170
|
-
* The resolved deterministic-capture predicate (AY.W-CON3) — `true` when the
|
|
171
|
-
* lattice is laying out a frozen static frame (`freeze` prop OR a
|
|
172
|
-
* `?export|print|freeze` URL OR reduced-motion via the substrate). A read-only
|
|
173
|
-
* test/debug seam (the π freeze-live spec reads it to confirm the auto-derive
|
|
174
|
-
* fired without inferring from drift).
|
|
175
|
-
*/
|
|
176
|
-
isFrozen: import("vue").ComputedRef<boolean>;
|
|
177
|
-
/**
|
|
178
|
-
* Imperative warp (AX.W17). Two call shapes:
|
|
179
|
-
* `warpTo(localPoint)` — `{x, y}` already in canvas-local px
|
|
180
|
-
* (the lower primitive).
|
|
181
|
-
* `warpTo(clientX, clientY)` — client coords, mapped via the
|
|
182
|
-
* deck-scale `toLocal` (the sugar
|
|
183
|
-
* `warpOnClick` calls internally).
|
|
184
|
-
* The focal node re-points to the nearest drifting node + springs there.
|
|
185
|
-
* Returns the chosen node index, or -1 on a degenerate no-op. No-op under
|
|
186
|
-
* reduced-motion (the spring does not advance while the substrate is frozen).
|
|
187
|
-
*/
|
|
188
|
-
warpTo(a: {
|
|
189
|
-
x: number;
|
|
190
|
-
y: number;
|
|
191
|
-
} | number, b?: number): number;
|
|
192
|
-
/**
|
|
193
|
-
* Imperatively ARM the gravity-well at a canvas-LOCAL point (AY.W-CON2) — the
|
|
194
|
-
* π-lane test seam that drives the well WITHOUT racing a real held-pointer
|
|
195
|
-
* gesture + the held-timer. Sets the well position + `target = 1` directly (the
|
|
196
|
-
* timer is bypassed; the ramp still eases `strength` over the next frames). No-op
|
|
197
|
-
* when `gravityWell` is off (no `field.well`). Returns true when the well armed.
|
|
198
|
-
*/
|
|
199
|
-
holdWellAt(x: number, y: number): boolean;
|
|
200
|
-
/** Imperatively RELEASE the well (AY.W-CON2) — `target → 0`, the field cools. */
|
|
201
|
-
releaseWell(): void;
|
|
202
|
-
/**
|
|
203
|
-
* The warp settled signal (AZ.W-CON-GEN G6) — `true` when the warp spring has
|
|
204
|
-
* ARRIVED on its target (no active warp, OR the focal's gap to its live target is
|
|
205
|
-
* within the settle band). A consumer polls this to know if a click-warp / wander
|
|
206
|
-
* re-target is still in flight (the `isSettled` read). A read-only seam over the
|
|
207
|
-
* engine `warpSettled`.
|
|
208
|
-
*/
|
|
209
|
-
warpSettled(): boolean;
|
|
210
|
-
/**
|
|
211
|
-
* Imperatively PIN a node (AZ.W-CON-GEN G1) — re-points `field.pinnedIndex` to
|
|
212
|
-
* `idx` so that node is HELD by every step pass (it stops drifting and holds its
|
|
213
|
-
* current position). `idx < 0` clears the pin (every node drifts again). The
|
|
214
|
-
* pinned node's incident edges tint accent under `accentEdges`; it wanders its
|
|
215
|
-
* anchor under `pinnedDrift` (the cadence re-anchors on its next armed leg).
|
|
216
|
-
*/
|
|
217
|
-
pinNode(idx: number): void;
|
|
218
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
|
+
warpAutoRelease: boolean;
|
|
30
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
219
31
|
declare const _default: typeof __VLS_export;
|
|
220
32
|
export default _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type ConstellationField, type ConstellationProps } from "../constellationField";
|
|
3
|
+
/** The imperative seam the SFC re-exposes via `defineExpose`. */
|
|
4
|
+
export interface ConstellationExpose {
|
|
5
|
+
field: ConstellationField;
|
|
6
|
+
isFrozen: Ref<boolean>;
|
|
7
|
+
warpTo(a: {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
} | number, b?: number): number;
|
|
11
|
+
holdWellAt(x: number, y: number): boolean;
|
|
12
|
+
releaseWell(): void;
|
|
13
|
+
warpSettled(): boolean;
|
|
14
|
+
pinNode(idx: number): void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Drive a `<Constellation>` instance. `props` is the REACTIVE (defaulted) prop
|
|
18
|
+
* surface — the per-frame live-read props (`pointerReactive`/`opacityCeiling`/
|
|
19
|
+
* `accentEdges`/`drawOverlay`) are read off `props.x` INSIDE the render loop so a
|
|
20
|
+
* bound `:opacity-ceiling` updates without a remount (the Vue 3.5 reactive-prop
|
|
21
|
+
* read; the SFC `defineProps` destructure transform does not reach a composable
|
|
22
|
+
* argument, so the live reads stay on `props`). `hostRef`/`canvasRef` are the SFC
|
|
23
|
+
* template refs. Returns the imperative expose object the SFC spreads into
|
|
24
|
+
* `defineExpose`.
|
|
25
|
+
*/
|
|
26
|
+
export declare function useConstellation(props: ConstellationProps, hostRef: Ref<HTMLElement | null>, canvasRef: Ref<HTMLCanvasElement | null>): ConstellationExpose;
|