@mkbabb/glass-ui 3.13.0 → 4.0.1
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/README.md +3 -1
- package/dist/CardAction-CW7a0m8M.js +253 -0
- package/dist/{CommandShortcut-RowNEO6i.js → CommandShortcut-DvZNQ_HF.js} +58 -53
- package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
- package/dist/{ContextMenuContent-CT3AS1WX.js → ContextMenuContent-uWnVxDab.js} +1 -1
- package/dist/{ContextMenuSubContent-BQmxTAdw.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
- package/dist/{DataTable-BCddn3T3.js → DataTable-CuKwF7wr.js} +99 -97
- package/dist/DialogContent-DcKK8k9i.js +103 -0
- package/dist/{DialogFooter-Blu4t7tJ.js → DialogFooter-BZNX5aVr.js} +3 -3
- package/dist/FadingScroll-DI6hQhT9.js +76 -0
- package/dist/{HoverCardContent-Csywg3YF.js → HoverCardContent-b2uaAMRR.js} +1 -1
- package/dist/{HoverPopover-CISOJQuZ.js → HoverPopover-CbqbNwgU.js} +2 -2
- package/dist/IconChip-BTD-nay5.js +55 -0
- package/dist/{IconTooltip-DPzE09X9.js → IconTooltip-Bl8gFZ8d.js} +1 -1
- package/dist/{Input-DWQQIOC4.js → Input-h9v5LeXf.js} +1 -1
- package/dist/{MetricBadge-C9QMz1KT.js → MetricBadge-RHdBP72w.js} +1 -1
- package/dist/Notification-VUwexFUf.js +43 -0
- package/dist/NumberFieldContent-Cq7EzX-U.js +138 -0
- package/dist/PopoverContent-DL7E6vJP.js +127 -0
- package/dist/{Progress-DwlUKGbr.js → Progress-DctG61iZ.js} +98 -78
- package/dist/{ScrollingText-DfFrwSph.js → ScrollingText-yOpBzFYq.js} +2 -2
- package/dist/{SelectScrollDownButton-CiDUxfEj.js → SelectScrollDownButton-CrA8F0iV.js} +35 -20
- package/dist/{Switch-CsIuYP_e.js → Switch-CwYNf8bo.js} +1 -1
- package/dist/Toaster-Bw4xR8xV.js +274 -0
- package/dist/{ToggleGroupItem-D_AHlRw9.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
- package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +16 -8
- package/dist/api/types-extra.d.ts +6 -0
- package/dist/api.js +2 -2
- package/dist/aurora.js +888 -230
- package/dist/badge.js +1 -1
- package/dist/border-progress.d.ts +1 -0
- package/dist/border-progress.js +106 -0
- package/dist/button-DYCUa-tH.js +126 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -2
- package/dist/card.js +2 -2
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +90 -151
- 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/compile-CQEFRTmx.js +19 -0
- package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
- package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
- package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +30 -2
- package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -10
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
- package/dist/components/custom/aurora/index.d.ts +3 -2
- package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
- package/dist/components/custom/border-progress/constants.d.ts +59 -0
- package/dist/components/custom/border-progress/index.d.ts +4 -0
- 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/concentric/Concentric.vue.d.ts +39 -0
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
- package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
- package/dist/components/custom/concentric/constants.d.ts +43 -0
- package/dist/components/custom/concentric/index.d.ts +5 -0
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
- package/dist/components/custom/concentric/shaders/concentric.wgsl.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/DockIconButton.vue.d.ts +13 -4
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
- 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/composables/dockMorphMeasure.d.ts +75 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
- package/dist/components/custom/dock/constants.d.ts +35 -0
- package/dist/components/custom/dock/index.d.ts +2 -0
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
- package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
- package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
- package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
- package/dist/components/custom/easing/constants.d.ts +28 -0
- package/dist/components/custom/easing/index.d.ts +3 -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 +19 -2
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
- package/dist/components/custom/fourier-field/constants.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 +9 -1
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
- package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +29 -12
- package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
- package/dist/components/custom/goo-blob/constants.d.ts +6 -1
- package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
- 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 +82 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -2
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
- 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/spa-view/SpaView.vue.d.ts +50 -0
- package/dist/components/custom/spa-view/index.d.ts +2 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +29 -24
- package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
- 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 +15 -1
- 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/badge/index.d.ts +1 -1
- package/dist/components/ui/button/Button.vue.d.ts +5 -2
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/card/Card.vue.d.ts +34 -4
- package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
- package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
- package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
- package/dist/components/ui/card/index.d.ts +2 -0
- 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/carousel/GlassCarouselPager.vue.d.ts +2 -2
- package/dist/components/ui/carousel/index.d.ts +0 -1
- package/dist/components/ui/command/Command.vue.d.ts +4 -1
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
- package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +12 -8
- package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
- package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
- package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
- package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
- package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
- package/dist/components/ui/drawer/constants.d.ts +45 -0
- package/dist/components/ui/drawer/index.d.ts +23 -15
- package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
- package/dist/components/ui/focus-scope/index.d.ts +2 -0
- package/dist/components/ui/index.d.ts +1 -1
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- 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/sheet/index.d.ts +1 -1
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
- package/dist/components/ui/toast/use-toast.d.ts +14 -0
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/composables/dark/index.d.ts +1 -1
- package/dist/composables/dark/useGlobalDark.d.ts +23 -1
- package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
- package/dist/composables/glass/index.d.ts +5 -2
- package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
- package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
- package/dist/composables/glass/vSpecular.d.ts +2 -0
- package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
- package/dist/composables/glass/webgpu/index.d.ts +2 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
- package/dist/composables/motion/core/index.d.ts +1 -0
- package/dist/composables/motion/index.d.ts +4 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
- package/dist/composables/motion/useDragMorph.d.ts +77 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
- package/dist/composables/motion/useLiquidPress.d.ts +71 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
- package/dist/composables/motion/useNumericTransition.d.ts +3 -3
- package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
- package/dist/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/concentric.d.ts +1 -0
- package/dist/concentric.js +562 -0
- package/dist/configurator.js +3 -2
- package/dist/confirm-dialog.js +22 -24
- package/dist/constellation.js +93 -95
- package/dist/context-menu.js +3 -3
- package/dist/controls.js +10 -4
- package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
- 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 +738 -442
- package/dist/{dockContext-BegmJVmx.js → dockContext-BNfyPLe9.js} +1 -1
- package/dist/dom.js +5 -5
- package/dist/dot-flow-field.d.ts +1 -0
- package/dist/dot-flow-field.js +604 -0
- package/dist/drawer.d.ts +1 -0
- package/dist/drawer.js +380 -0
- package/dist/{dropdown-menu-DzkkyBwX.js → dropdown-menu-CofSZuk8.js} +14 -15
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.d.ts +1 -0
- package/dist/easing.js +463 -0
- package/dist/expandable-container.js +45 -38
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/focus-scope.d.ts +1 -0
- package/dist/focus-scope.js +23 -0
- package/dist/forms.js +7 -7
- package/dist/fourier-field.js +135 -122
- 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 +154 -362
- package/dist/goo-blob.js +838 -227
- 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 +3 -3
- package/dist/instrument-chassis.js +1 -1
- 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-BINYmg5z.js} +11 -3
- package/dist/{menuItemVariants-DPiEarb0.js → menuItemVariants-D8VNHq22.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +25 -22
- package/dist/metric-stack.js +4 -8
- package/dist/motion-core.js +36 -35
- package/dist/motion-curves.js +1 -1
- package/dist/motion.js +157 -55
- 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/{compile-B7NGOBcP.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
- package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
- 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 +10 -12
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet-tZMg0E0w.js +218 -0
- package/dist/sheet.js +1 -1
- package/dist/{slider-B-JP2JlI.js → slider-DVb4HXU-.js} +7 -7
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/spa-view.d.ts +1 -0
- package/dist/spa-view.js +46 -0
- package/dist/styles/animations.css +40 -31
- package/dist/styles/border-progress.css +109 -0
- package/dist/styles/cards.css +76 -0
- package/dist/styles/components.css +1 -1
- package/dist/styles/configurator.css +35 -0
- package/dist/styles/critical-partition.mjs +140 -0
- package/dist/styles/critical.css +12 -0
- package/dist/styles/deferred.css +31 -0
- package/dist/styles/dock/density.css +64 -0
- package/dist/styles/dock/layers.css +54 -30
- package/dist/styles/dock/morph.css +124 -7
- package/dist/styles/dock/overflow.css +31 -2
- package/dist/styles/dock/rail-extend.css +168 -71
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +83 -16
- 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 +38 -3
- package/dist/styles/drawer.css +127 -35
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/glass/deep.css +44 -0
- package/dist/styles/glass/ladder.css +154 -52
- package/dist/styles/glass/material.css +78 -15
- package/dist/styles/glass/reveal.css +136 -0
- package/dist/styles/glass/rim.css +100 -0
- package/dist/styles/glass/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +189 -15
- package/dist/styles/glass-refract.css +96 -44
- package/dist/styles/glass-specular-track.css +7 -0
- package/dist/styles/glass.css +8 -2
- package/dist/styles/hover-popover.css +7 -6
- package/dist/styles/icon-chip.css +211 -0
- package/dist/styles/index.css +78 -4
- package/dist/styles/instrument-chassis.css +107 -2
- package/dist/styles/menu.css +127 -0
- package/dist/styles/scroll-choreography.css +300 -0
- package/dist/styles/segmented-tabs.css +188 -86
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +22 -1
- package/dist/styles/theme/literals.css +11 -2
- package/dist/styles/theme/radius.css +6 -1
- package/dist/styles/tokens/color-radius.css +40 -13
- package/dist/styles/tokens/dark-arm.css +200 -20
- package/dist/styles/tokens/glass-deep.css +75 -0
- package/dist/styles/tokens/glass-fx.css +333 -0
- package/dist/styles/tokens/glass.css +95 -315
- package/dist/styles/tokens/light-dark.css +64 -22
- package/dist/styles/tokens/offsets.css +116 -0
- package/dist/styles/tokens/on-glass-fg.css +39 -0
- package/dist/styles/tokens/property-regs.css +130 -10
- package/dist/styles/tokens/scale-paper.css +155 -84
- package/dist/styles/tokens/scheme-motion.css +102 -46
- package/dist/styles/tokens/scroll-tokens.css +123 -0
- package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
- package/dist/styles/tokens.css +9 -3
- 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 +174 -0
- package/dist/styles/typography.css +23 -507
- package/dist/styles/utilities/a11y-overrides.css +33 -4
- package/dist/styles/utilities/animate.css +27 -24
- package/dist/styles/utilities/base-misc.css +255 -0
- package/dist/styles/utilities/base.css +100 -138
- package/dist/styles/utilities/btn.css +21 -202
- package/dist/styles/utilities/metal.css +189 -0
- package/dist/styles/utilities.css +14 -7
- package/dist/styles/view-transition.css +4 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +275 -191
- 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/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-BfUq2bUM.js} +1 -1
- package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
- package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
- package/dist/useDragMorph-DgxnsVJz.js +102 -0
- package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-C28t0VWJ.js} +22 -3
- package/dist/useLiquidPress-kfb4KX79.js +39 -0
- package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
- package/dist/{useRAFLoop-Bxv0o6L5.js → useRAFLoop-UYa4zoiN.js} +1 -1
- package/dist/useSpring-C0jyvEJB.js +40 -0
- package/dist/useSpringMount-q1amq1SJ.js +71 -0
- package/dist/useSpringPress-BsqPr7FJ.js +34 -0
- package/dist/useSurfaceAxis-g0NloYEF.js +7 -0
- package/dist/{useTouchGate-Dg7MQI1G.js → useTouchGate-CBZTD4SD.js} +1 -1
- package/dist/vReveal-Czsb7zQC.js +10 -0
- package/dist/vSpecular-CQFmLNzA.js +68 -0
- package/dist/vendor-CKmzio-i.js +226 -0
- package/dist/watercolor-dot.js +12 -5
- package/package.json +193 -25
- package/src/styles/animations.css +40 -31
- package/src/styles/border-progress.css +109 -0
- package/src/styles/cards.css +76 -0
- package/src/styles/configurator.css +35 -0
- package/src/styles/critical-partition.mjs +140 -0
- package/src/styles/dock/density.css +64 -0
- package/src/styles/dock/layers.css +54 -30
- package/src/styles/dock/morph.css +124 -7
- package/src/styles/dock/overflow.css +31 -2
- package/src/styles/dock/rail-extend.css +168 -71
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +83 -16
- 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 +38 -3
- package/src/styles/drawer.css +123 -35
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/glass/deep.css +44 -0
- package/src/styles/glass/ladder.css +154 -52
- package/src/styles/glass/material.css +78 -15
- package/src/styles/glass/reveal.css +136 -0
- package/src/styles/glass/rim.css +100 -0
- package/src/styles/glass/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +189 -15
- package/src/styles/glass-refract.css +96 -44
- package/src/styles/glass-specular-track.css +7 -0
- package/src/styles/glass.css +8 -2
- package/src/styles/hover-popover.css +7 -6
- package/src/styles/icon-chip.css +211 -0
- package/src/styles/index.css +78 -4
- package/src/styles/instrument-chassis.css +107 -2
- package/src/styles/menu.css +127 -0
- package/src/styles/scroll-choreography.css +300 -0
- package/src/styles/segmented-tabs.css +184 -84
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +22 -1
- package/src/styles/theme/literals.css +11 -2
- package/src/styles/theme/radius.css +6 -1
- package/src/styles/tokens/color-radius.css +40 -13
- package/src/styles/tokens/dark-arm.css +200 -20
- package/src/styles/tokens/glass-deep.css +75 -0
- package/src/styles/tokens/glass-fx.css +333 -0
- package/src/styles/tokens/glass.css +95 -315
- package/src/styles/tokens/light-dark.css +64 -22
- package/src/styles/tokens/offsets.css +116 -0
- package/src/styles/tokens/on-glass-fg.css +39 -0
- package/src/styles/tokens/property-regs.css +130 -10
- package/src/styles/tokens/scale-paper.css +155 -84
- package/src/styles/tokens/scheme-motion.css +102 -46
- package/src/styles/tokens/scroll-tokens.css +123 -0
- package/src/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
- package/src/styles/tokens.css +9 -3
- 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 +174 -0
- package/src/styles/typography.css +23 -507
- package/src/styles/utilities/a11y-overrides.css +33 -4
- package/src/styles/utilities/animate.css +27 -24
- package/src/styles/utilities/base-misc.css +255 -0
- package/src/styles/utilities/base.css +100 -138
- package/src/styles/utilities/btn.css +21 -202
- package/src/styles/utilities/metal.css +189 -0
- package/src/styles/utilities.css +14 -7
- package/src/styles/view-transition.css +4 -1
- package/dist/CardAction-Cj2eycQ2.js +0 -157
- package/dist/DialogContent-Dl9WkAoS.js +0 -100
- package/dist/Notification-DdwNxIrI.js +0 -100
- package/dist/NumberFieldContent-CqaN-SvN.js +0 -145
- package/dist/PopoverContent-BYwt2-4x.js +0 -121
- package/dist/TabsList-Dttss653.js +0 -105
- package/dist/Toaster-D6q4HtXu.js +0 -263
- package/dist/button-ChXMfsud.js +0 -81
- package/dist/check-njhk-vfu.js +0 -7
- package/dist/chevron-down-DKkxb4VV.js +0 -7
- package/dist/chevron-right-CPXbqQQz.js +0 -7
- package/dist/chevron-up-n_24SqI-.js +0 -7
- 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/createLucideIcon-DydS2qgk.js +0 -43
- package/dist/minimize-2-BV31Ob_h.js +0 -38
- package/dist/search-BSGrf2Sk.js +0 -12
- package/dist/sheet-1fChZjtw.js +0 -214
- package/dist/underline.d.ts +0 -1
- package/dist/underline.js +0 -85
- package/dist/useCanvas2D-ClrQuZtp.js +0 -96
- package/dist/useConfiguratorState-DAoeHVue.js +0 -287
- package/dist/useSpecularTracking-Bo5su68i.js +0 -32
- package/dist/useSpringMount-CI2jOstM.js +0 -108
- package/dist/vReveal-CqaCz_mC.js +0 -44
- package/dist/x-BUwTKe50.js +0 -10
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-68dEXIAl.js} +0 -0
- /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
- /package/dist/{Label-r3WzWrsj.js → Label-C2ejNWeC.js} +0 -0
- /package/dist/{ModalOverlay-DVLI2VRr.js → ModalOverlay-D1VrWyoi.js} +0 -0
- /package/dist/{PaperBackdrop-DIXTtVq6.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
- /package/dist/{SelectGroup-aumMgWLs.js → SelectGroup-DwwjicPY.js} +0 -0
- /package/dist/{SelectSeparator-BQ_1Fcbp.js → SelectSeparator-DXswVdRz.js} +0 -0
- /package/dist/{Separator-0JE6LtNu.js → Separator-pKF0oA4M.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
- /package/dist/{color-CUYeFbgd.js → color-DweYl7pE.js} +0 -0
- /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-BM46COQ-.js → createContext-CpBNTRMI.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Za0Rmgag.js} +0 -0
- /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
- /package/dist/{springPresets--YdWTHtm.js → springPresets-CFQGQfdl.js} +0 -0
- /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-iHludrxk.js → useInterval-CvK1mL92.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useLiquidFlex-BL0lLLN2.js → useLiquidFlex-mZPMiNXh.js} +0 -0
- /package/dist/{useResizeObserver-BhgdhOIj.js → useResizeObserver-Bpoi7tRE.js} +0 -0
- /package/dist/{useResolveTokenColor-Dvn2RZJW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
- /package/dist/{useScrollProgress-Dlvx-L3v.js → useScrollProgress-D7bYU2RK.js} +0 -0
- /package/dist/{useSortable-muI29agz.js → useSortable-DHjtZSEd.js} +0 -0
- /package/dist/{useTextHighlight-DmRYkOBx.js → useTextHighlight-CWEi25hf.js} +0 -0
- /package/dist/{useTimer-Dzarvzuk.js → useTimer-BHJOKr35.js} +0 -0
- /package/dist/{useUserInvalidAria-B2h6jAM_.js → useUserInvalidAria-y5namzeE.js} +0 -0
- /package/dist/{useViewportReady-B40FK4Pa.js → useViewportReady-anbac3m6.js} +0 -0
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
export interface ConstellationNode {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
vx: number;
|
|
5
|
+
vy: number;
|
|
6
|
+
r: number;
|
|
7
|
+
dim: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ConstellationRipple {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
/** `performance.now()` at first draw; -1 until stamped. */
|
|
13
|
+
start: number;
|
|
14
|
+
}
|
|
15
|
+
/** The pointer position in canvas-local CSS px (`-1` = inactive). */
|
|
16
|
+
export interface ConstellationPointer {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The neutral palette + legibility weights resolved off the canvas custom
|
|
22
|
+
* properties (the FULL `--constellation-*` set — AX.W17). `node`/`nodeDim`/
|
|
23
|
+
* `line` are the colors; `edgeAlpha`/`edgeFocusAlpha`/`alpha` are the per-mode
|
|
24
|
+
* legibility multipliers (replacing the `0.17`/`0.24` magic literals).
|
|
25
|
+
*/
|
|
26
|
+
export interface ConstellationPalette {
|
|
27
|
+
node: string;
|
|
28
|
+
nodeDim: string;
|
|
29
|
+
line: string;
|
|
30
|
+
/** The hairline-edge alpha multiplier (was the `0.17` literal). */
|
|
31
|
+
edgeAlpha: number;
|
|
32
|
+
/** The focus-proximity edge multiplier (consumer skins may read it). */
|
|
33
|
+
edgeFocusAlpha: number;
|
|
34
|
+
/** The field-yields-to-type translucency knob (the global field dimmer). */
|
|
35
|
+
alpha: number;
|
|
36
|
+
/**
|
|
37
|
+
* The ACCENT-edge skin tint (AZ.W-CON-GEN G3) — the flagged-node EDGE color the
|
|
38
|
+
* optional `drawEdges(…, accentIndex)` pass strokes for edges incident on the
|
|
39
|
+
* accented node. Reads `--constellation-accent` (the consumer-preset boundary —
|
|
40
|
+
* the library ships a neutral default; a consumer aliases it to its brand hue).
|
|
41
|
+
*/
|
|
42
|
+
accent: string;
|
|
43
|
+
/**
|
|
44
|
+
* The neutral-edge alpha FLOOR (AZ.W-CON-GEN G3) — added to a distance-faded
|
|
45
|
+
* neutral hairline's alpha so it clears the perceptual/sampling floor across its
|
|
46
|
+
* full length on a bright ground (the "web doesn't read in light mode" fix).
|
|
47
|
+
* Default `0` is byte-identical (no floor). Reads `--constellation-edge-floor`.
|
|
48
|
+
*/
|
|
49
|
+
edgeFloor: number;
|
|
50
|
+
/**
|
|
51
|
+
* The ACCENT-incident edge alpha multiplier (AZ.W-CON-GEN G3) — the per-mode
|
|
52
|
+
* weight for an edge touching the accented node. Reads
|
|
53
|
+
* `--constellation-edge-accent-alpha`; the accented edges read a touch louder
|
|
54
|
+
* than the neutral lattice (the flagged-node tether).
|
|
55
|
+
*/
|
|
56
|
+
edgeAccentAlpha: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The per-axis critically-damped warp spring on the focal node (AX.W17). The
|
|
60
|
+
* focal mark's position is `(x, y)`; `vx`/`vy` its velocity; `targetIdx` the
|
|
61
|
+
* LIVE node index it chases (re-read each frame so it tracks a DRIFTING target,
|
|
62
|
+
* not a frozen click-time snapshot). `-1` = no active warp (the focal mark
|
|
63
|
+
* rides its node's drift directly — the identity-ride at settle).
|
|
64
|
+
*/
|
|
65
|
+
export interface ConstellationWarp {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
vx: number;
|
|
69
|
+
vy: number;
|
|
70
|
+
/** The chased node's INDEX (live target), or -1 when inactive. */
|
|
71
|
+
targetIdx: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The auto-DRIFT target-source (AY.W-CON1 — the 2nd half of the AX.W17 "drift +
|
|
75
|
+
* warp are ONE mechanic" thesis). The warp re-points its focal node to a
|
|
76
|
+
* periodically-chosen RANDOM node on a jittered cadence: the SAME warp spring,
|
|
77
|
+
* a different target-PICKER (a click for warp, this cadence for drift). No new
|
|
78
|
+
* rAF, no second mechanic — `stepField` steps this cadence inline, re-pointing
|
|
79
|
+
* `setWarpTarget` to a picked node only when the spring has SETTLED (so a
|
|
80
|
+
* click-warp in flight always pre-empts the cadence). PRM is enforced by the
|
|
81
|
+
* CALLER (the component does not advance the cadence under reduced-motion — the
|
|
82
|
+
* `stepField` call lives inside the `!reducedMotion` block — so the focal mark
|
|
83
|
+
* stays at its seed: the WARP precedent, NOT fire-but-freeze).
|
|
84
|
+
*/
|
|
85
|
+
export interface ConstellationWander {
|
|
86
|
+
/** ms timestamp of the next auto re-target; -1 until armed on the first stepped frame. */
|
|
87
|
+
nextAt: number;
|
|
88
|
+
/** the minimum idle (ms) between auto re-targets. */
|
|
89
|
+
minIdle: number;
|
|
90
|
+
/** the random extra idle (ms) added per cadence (so the rhythm is not metronomic). */
|
|
91
|
+
jitter: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The autonomous PINNED-ANCHOR drift state (AZ.W-CON-GEN G5) — the gentle wander of
|
|
95
|
+
* the PINNED node (`field.pinnedIndex`) around its seeded ANCHOR. DISTINCT from
|
|
96
|
+
* `wander` (which re-targets the WARP spring among random nodes): this eases ONE
|
|
97
|
+
* designated node a small fraction around its rest position on a jittered cadence,
|
|
98
|
+
* so a flagged point breathes its neighborhood without leaving the dead-space it was
|
|
99
|
+
* anchored in. Stepped inside `stepField` (no second rAF) via a closed-form
|
|
100
|
+
* easeInOutQuad over `now` — no integrator. Absent (`undefined`) → `stepField` skips
|
|
101
|
+
* the block (byte-identical to HEAD).
|
|
102
|
+
*/
|
|
103
|
+
export interface ConstellationPinnedDrift {
|
|
104
|
+
/** The anchor (the pinned node's rest position) the drift eases around (px). */
|
|
105
|
+
anchorX: number;
|
|
106
|
+
anchorY: number;
|
|
107
|
+
/** ms timestamp of the next leg; -1 until armed on the first stepped frame. */
|
|
108
|
+
nextAt: number;
|
|
109
|
+
/** ms timestamp the current leg started; -1 between legs (resting at the anchor). */
|
|
110
|
+
legStart: number;
|
|
111
|
+
/** the current leg's from/to (px) — the eased segment endpoints. */
|
|
112
|
+
fromX: number;
|
|
113
|
+
fromY: number;
|
|
114
|
+
toX: number;
|
|
115
|
+
toY: number;
|
|
116
|
+
/** the ± fraction of the canvas the drift wanders around the anchor. */
|
|
117
|
+
wanderFrac: number;
|
|
118
|
+
/** the per-leg easeInOutQuad duration (ms). */
|
|
119
|
+
durMs: number;
|
|
120
|
+
/** the minimum rest (ms) between legs. */
|
|
121
|
+
minIdle: number;
|
|
122
|
+
/** the random extra rest (ms) per leg (so the rhythm is not metronomic). */
|
|
123
|
+
jitter: number;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* The warp-spring tuning the integrator reads (AY.W-CON2). Tokenised numeric (the
|
|
127
|
+
* `--constellation-warp-*` cohort) so a consumer retunes the warp WITHOUT editing
|
|
128
|
+
* src — read ONCE on mount via `parseFloat`, threaded onto the field.
|
|
129
|
+
*
|
|
130
|
+
* `response` is the keyframes.js `(response, dampingFraction)` model's ANGULAR
|
|
131
|
+
* PERIOD (the SwiftUI `.spring(response:)` axis): `ω₀ = 2π/response`. It is NOT a
|
|
132
|
+
* settle-duration — at ζ=1 the 2%-settle lands at `t₂ ≈ 5.83/ω₀ ≈ 0.93·response`
|
|
133
|
+
* (the `(1 + ω₀t)e^(−ω₀t)` critically-damped envelope). Documented here + in the
|
|
134
|
+
* `--constellation-warp-response` token comment so the token semantics are honest
|
|
135
|
+
* at ANY ζ (the AY.W-CON2 ω-reconcile; the engine keeps the keyframes.js convention,
|
|
136
|
+
* mints NO second ω formula).
|
|
137
|
+
*/
|
|
138
|
+
export interface ConstellationWarpConfig {
|
|
139
|
+
/** keyframes.js angular period (s) — `ω₀ = 2π/response`, NOT a settle-duration. */
|
|
140
|
+
response: number;
|
|
141
|
+
/** damping ratio ζ — 1 critically damped (a focal mark must NOT ring). */
|
|
142
|
+
zeta: number;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* The gravity-well tuning (AY.W-CON2). The held-pointer pull is an inverse-square
|
|
146
|
+
* force composed into `stepField` (no new rAF). Tokenised numeric (the
|
|
147
|
+
* `--constellation-well-*` cohort) so a consumer retunes the well WITHOUT editing
|
|
148
|
+
* src. All distances are base-width px (`k`-scaled at step time).
|
|
149
|
+
*/
|
|
150
|
+
export interface ConstellationWellConfig {
|
|
151
|
+
/** the inverse-square pull gain (the force scale at unit distance). */
|
|
152
|
+
gain: number;
|
|
153
|
+
/** the reach (base-width px) — nodes beyond it are untouched (the O(within-reach) cost floor). */
|
|
154
|
+
reach: number;
|
|
155
|
+
/**
|
|
156
|
+
* the ARM ramp rate (1/s) — `strength` eases toward `target = 1` at this rate
|
|
157
|
+
* while HELD (the gentle bloom the token tunes). The RELEASE is NOT this rate:
|
|
158
|
+
* it is the fixed brisk {@link WELL_RELEASE_RAMP} (the field-cools invariant —
|
|
159
|
+
* not consumer-tunable, F8.2). A consumer slowing this token slows the ARM
|
|
160
|
+
* bloom only; the release stays brisk so the cool gate holds.
|
|
161
|
+
*/
|
|
162
|
+
ramp: number;
|
|
163
|
+
/** the per-node speed cap (base-width px/frame) — the no-slingshot clamp. */
|
|
164
|
+
maxSpeed: number;
|
|
165
|
+
/** the singularity floor (px) — a node AT the cursor gets a bounded pull, never `∞`. */
|
|
166
|
+
soften: number;
|
|
167
|
+
/** ms the pointer is held before the well arms. */
|
|
168
|
+
holdMs: number;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The gravity-well live STATE (AY.W-CON2). `(x, y)` is the held pointer in
|
|
172
|
+
* canvas-local px (`-1` = inactive); `strength` is the eased pull 0→1 (ramps to
|
|
173
|
+
* `target` at `cfg.ramp`/s); `target` is the strength the ramp eases toward (1
|
|
174
|
+
* while held, 0 on release). A transient force — the field renormalises back to
|
|
175
|
+
* `speed` after release (the field-cools invariant).
|
|
176
|
+
*/
|
|
177
|
+
export interface ConstellationWell {
|
|
178
|
+
/** canvas-local px of the held pointer; `-1` = inactive. */
|
|
179
|
+
x: number;
|
|
180
|
+
y: number;
|
|
181
|
+
/** the eased pull strength 0→1 (ramps to `target` at `cfg.ramp`/s). */
|
|
182
|
+
strength: number;
|
|
183
|
+
/** the strength the ramp is easing toward: 1 while held, 0 on release. */
|
|
184
|
+
target: number;
|
|
185
|
+
/** the well tuning (gain/reach/ramp/maxSpeed/soften). */
|
|
186
|
+
cfg: ConstellationWellConfig;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* The field state the component exposes to its `drawOverlay` consumer so a
|
|
190
|
+
* skin can pin itself to a real field node. `k` is the `width / BASE_WIDTH`
|
|
191
|
+
* scale, `dpr` the device-pixel ratio applied by the substrate.
|
|
192
|
+
*
|
|
193
|
+
* The focal node (AX.W17) is a FIRST-CLASS library concept: `focalIndex` names
|
|
194
|
+
* which node is focal (consumer-owned via `warpTo`), and the engine OWNS its
|
|
195
|
+
* position via the `warp` spring stepped inside `stepField`. A `drawOverlay`
|
|
196
|
+
* paints the focal mark at `field.warp.{x,y}` (the spring-eased position) —
|
|
197
|
+
* node-position mutation `drawOverlay` structurally cannot express, resolved by
|
|
198
|
+
* ONE first-class concept (warp + drift unify; no second parallel hook).
|
|
199
|
+
*/
|
|
200
|
+
export interface ConstellationField {
|
|
201
|
+
nodes: ConstellationNode[];
|
|
202
|
+
/** The host canvas — for `getComputedStyle` token reads in an overlay. */
|
|
203
|
+
canvas: HTMLCanvasElement | null;
|
|
204
|
+
w: number;
|
|
205
|
+
h: number;
|
|
206
|
+
k: number;
|
|
207
|
+
dpr: number;
|
|
208
|
+
/** R5-8 — SIZES draw at `kVisOf(field)`; TRUE `k` keeps positions/reach. */
|
|
209
|
+
kFloor?: number;
|
|
210
|
+
/**
|
|
211
|
+
* The designated focal node's INDEX, or `-1` when none is pinned. Re-points
|
|
212
|
+
* on each `warpTo`; node count is conserved (it is a designation, not a new
|
|
213
|
+
* node). A `drawOverlay` reads `field.warp.{x,y}` for the spring-eased mark.
|
|
214
|
+
*/
|
|
215
|
+
focalIndex: number;
|
|
216
|
+
/** The per-axis warp spring the engine steps inside `stepField` (AX.W17). */
|
|
217
|
+
warp: ConstellationWarp;
|
|
218
|
+
/**
|
|
219
|
+
* The warp-spring tuning `warpStep` reads (AY.W-CON2). Optional — absent
|
|
220
|
+
* falls back to the shipped `{ response: 0.55, zeta: 1.0 }` defaults (the
|
|
221
|
+
* byte-identical HEAD spring). A tokenised override (read on mount) reaches
|
|
222
|
+
* the integrator through this member.
|
|
223
|
+
*/
|
|
224
|
+
warpCfg?: ConstellationWarpConfig;
|
|
225
|
+
/**
|
|
226
|
+
* The optional auto-DRIFT cadence (AY.W-CON1). When set, `stepField`
|
|
227
|
+
* periodically re-points the warp to a random node (the wander source on the
|
|
228
|
+
* SAME spring). Absent (`undefined`) leaves the field BYTE-IDENTICAL to the
|
|
229
|
+
* pre-wander HEAD — `stepField` skips the cadence block entirely.
|
|
230
|
+
*/
|
|
231
|
+
wander?: ConstellationWander;
|
|
232
|
+
/**
|
|
233
|
+
* The optional gravity-well (AY.W-CON2). When set, `stepField` composes a
|
|
234
|
+
* held-pointer inverse-square pull force (no new rAF) — `well.target → 1`
|
|
235
|
+
* while held, `→ 0` on release, the field renormalising back to `speed` once
|
|
236
|
+
* the well cools. Absent (`undefined`) leaves the field BYTE-IDENTICAL to the
|
|
237
|
+
* pre-well HEAD — `stepField` skips the force pass entirely.
|
|
238
|
+
*/
|
|
239
|
+
well?: ConstellationWell;
|
|
240
|
+
/**
|
|
241
|
+
* The PINNED node designation (AZ.W-CON-GEN G1) — the index of a node `stepField`
|
|
242
|
+
* does NOT drift/bounce/steer/pull, so it HOLDS its seeded position (the flagged
|
|
243
|
+
* flagged node the consumer pins). `-1` (the default) = no pin → every node drifts
|
|
244
|
+
* (byte-identical to HEAD). A designation, NOT a new node — node count is
|
|
245
|
+
* conserved. The optional `pinnedDrift` gently wanders it around its anchor; the
|
|
246
|
+
* optional `drawEdges(…, accentIndex)` tints its incident edges.
|
|
247
|
+
*/
|
|
248
|
+
pinnedIndex: number;
|
|
249
|
+
/**
|
|
250
|
+
* The optional autonomous PINNED-ANCHOR drift (AZ.W-CON-GEN G5). When set AND a
|
|
251
|
+
* node is pinned, `stepField` gently eases the pinned node around its anchor on a
|
|
252
|
+
* jittered cadence (a closed-form easeInOutQuad — no second rAF). Absent
|
|
253
|
+
* (`undefined`) → the pinned node holds dead-still at its anchor (byte-identical).
|
|
254
|
+
*/
|
|
255
|
+
pinnedDrift?: ConstellationPinnedDrift;
|
|
256
|
+
/**
|
|
257
|
+
* Warp AUTO-RELEASE (AZ.W-CON-GEN G6). When `true`, `stepField` clears the warp's
|
|
258
|
+
* `targetIdx` (→ -1) once the spring has SETTLED on its target — the focal node
|
|
259
|
+
* releases the spring and rides its node's RAW drift (the identity-ride), freeing
|
|
260
|
+
* the spring for the next warp. Default `false`/undefined keeps the held-target
|
|
261
|
+
* behaviour (the warp chases its node forever — byte-identical to HEAD).
|
|
262
|
+
*/
|
|
263
|
+
warpAutoRelease?: boolean;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* The `<Constellation>` consumer prop surface (the public type a consumer types
|
|
267
|
+
* a wrapper against). The `drawOverlay` seam is the branded-skin injection — it
|
|
268
|
+
* runs AFTER the neutral passes with the live field.
|
|
269
|
+
*/
|
|
270
|
+
export interface ConstellationProps {
|
|
271
|
+
/** Node count. Default 64. */
|
|
272
|
+
count?: number;
|
|
273
|
+
/** Link distance in px (the falloff reach). Default 132. */
|
|
274
|
+
link?: number;
|
|
275
|
+
/** Drift speed. Default 0.16. */
|
|
276
|
+
speed?: number;
|
|
277
|
+
/**
|
|
278
|
+
* AY.W-COHERE E3 — the per-instance outer-envelope RECESSION knob (the aurora
|
|
279
|
+
* `opacityCeiling` / fourier `intensity` sibling — ONE recession vocabulary
|
|
280
|
+
* across the four live substrates). Scales the painted edge/node/web/ripple
|
|
281
|
+
* alpha OVER the mode-tuned `--constellation-alpha` base so the lattice can
|
|
282
|
+
* RECEDE behind content (0.4–0.6 in a hero). Default `1` is byte-identical to
|
|
283
|
+
* HEAD.
|
|
284
|
+
*/
|
|
285
|
+
opacityCeiling?: number;
|
|
286
|
+
/** Seed for a reproducible field (number or hashed string); omit for `Math.random`. */
|
|
287
|
+
seed?: number | string;
|
|
288
|
+
/** Steer-toward-cursor + tap ripples. Default true; auto-off under reduced-motion. */
|
|
289
|
+
pointerReactive?: boolean;
|
|
290
|
+
/**
|
|
291
|
+
* Click-to-warp (AX.W17): a click warps the focal node to the nearest
|
|
292
|
+
* drifting node + springs it there. INDEPENDENT of `pointerReactive` (warp
|
|
293
|
+
* works on a non-ripple lattice). Default false; auto-off under
|
|
294
|
+
* reduced-motion (the focal mark stays put — the stated PRM policy).
|
|
295
|
+
*/
|
|
296
|
+
warpOnClick?: boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Auto-DRIFT (AY.W-CON1): a periodic auto-pick re-points the focal node to a
|
|
299
|
+
* random node on a jittered cadence — the wander source on the SAME warp
|
|
300
|
+
* spring (no second mechanic). `true` uses the default cadence (8–16s, the
|
|
301
|
+
* slides rhythm); `{ minIdle, jitter }` tunes it. Default OFF (absent →
|
|
302
|
+
* byte-identical to HEAD). PRM-gated by the WARP precedent (the cadence never
|
|
303
|
+
* advances under reduced-motion — the focal stays at its seed).
|
|
304
|
+
*/
|
|
305
|
+
wander?: boolean | {
|
|
306
|
+
minIdle?: number;
|
|
307
|
+
jitter?: number;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Pointer-held GRAVITY-WELL (AY.W-CON2): hold the pointer and the lattice is
|
|
311
|
+
* pulled toward it (an inverse-square force on the same engine, no new rAF);
|
|
312
|
+
* release and the field cools back to `speed`. INDEPENDENT of `warpOnClick`
|
|
313
|
+
* and `pointerReactive` (a consumer can hold-to-pull on a non-ripple,
|
|
314
|
+
* non-warp lattice). `true` uses the tokenised defaults; an object tunes the
|
|
315
|
+
* gains. Default OFF (absent → byte-identical to HEAD). PRM-gated by the WARP
|
|
316
|
+
* precedent (the held-timer is not registered under reduced-motion).
|
|
317
|
+
*/
|
|
318
|
+
gravityWell?: boolean | {
|
|
319
|
+
holdMs?: number;
|
|
320
|
+
gain?: number;
|
|
321
|
+
reach?: number;
|
|
322
|
+
ramp?: number;
|
|
323
|
+
maxSpeed?: number;
|
|
324
|
+
soften?: number;
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* PINNED node designation (AZ.W-CON-GEN G1): a node held by every step pass (it
|
|
328
|
+
* does not drift / bounce / steer / feel the well). `false`/absent → no pin;
|
|
329
|
+
* `true` → node 0; a number → that index. The flagged-node pin the consumer holds.
|
|
330
|
+
*/
|
|
331
|
+
pinned?: boolean | number;
|
|
332
|
+
/**
|
|
333
|
+
* ACCENT-edge skin (AZ.W-CON-GEN G2): edges incident on the pinned (else focal)
|
|
334
|
+
* node stroke the `--constellation-accent` tint — the flagged-node tether. Default
|
|
335
|
+
* OFF (the neutral single-color pass).
|
|
336
|
+
*/
|
|
337
|
+
accentEdges?: boolean;
|
|
338
|
+
/**
|
|
339
|
+
* Autonomous PINNED-ANCHOR drift (AZ.W-CON-GEN G5): the pinned node gently wanders
|
|
340
|
+
* its seeded anchor on a jittered cadence (DISTINCT from `wander`, which re-targets
|
|
341
|
+
* the warp). Default OFF (the pin holds dead-still). PRM-gated.
|
|
342
|
+
*/
|
|
343
|
+
pinnedDrift?: boolean | {
|
|
344
|
+
wanderFrac?: number;
|
|
345
|
+
durMs?: number;
|
|
346
|
+
minIdle?: number;
|
|
347
|
+
jitter?: number;
|
|
348
|
+
};
|
|
349
|
+
/**
|
|
350
|
+
* Warp AUTO-RELEASE (AZ.W-CON-GEN G6): a settled warp clears its target so the
|
|
351
|
+
* focal rides its node's raw drift (the identity-ride). Default OFF (the warp holds
|
|
352
|
+
* its target forever). Read the settled signal via the `warpSettled()` expose.
|
|
353
|
+
*/
|
|
354
|
+
warpAutoRelease?: boolean;
|
|
355
|
+
/**
|
|
356
|
+
* Deterministic-capture freeze (AY.W-CON3): when `true`, lays out ONE
|
|
357
|
+
* reproducible STATIC frame (no `stepField`, no ripple / warp / wander / well
|
|
358
|
+
* advance) and hands `drawOverlay` a FROZEN `now` so a phase-driven skin
|
|
359
|
+
* resolves to a fixed value. Omit to AUTO-DERIVE from `location.search`
|
|
360
|
+
* matching `export | print | freeze` (the deploy-pipeline contract); an
|
|
361
|
+
* explicit `false` forces live even under a capture URL. Set `seed` for a
|
|
362
|
+
* field stable ACROSS runs. Unifies with the reduced-motion one-static-frame
|
|
363
|
+
* path (`freeze || reducedMotion` is the single static-frame predicate).
|
|
364
|
+
*/
|
|
365
|
+
freeze?: boolean;
|
|
366
|
+
class?: string;
|
|
367
|
+
/** The skin seam — paints the consumer's focal mark on the live field. */
|
|
368
|
+
drawOverlay?: (ctx: CanvasRenderingContext2D, field: ConstellationField, now: number) => void;
|
|
369
|
+
}
|
|
@@ -3,4 +3,4 @@ export { seedField, stepField, refitField, BASE_WIDTH, } from "./constellationFi
|
|
|
3
3
|
export { DEFAULT_K_FLOOR } from "./constants";
|
|
4
4
|
export { stepWell, nearestNode, readInteractionConfig, warpStep, warpTo, setWarpTarget, warpSettled, pickWanderTarget, stepPinnedDrift, makePinnedDrift, DEFAULT_WELL_CONFIG, DEFAULT_WANDER_IDLE, DEFAULT_WANDER_JITTER, DEFAULT_PINNED_DRIFT_FRAC, DEFAULT_PINNED_DRIFT_DUR, DEFAULT_PINNED_DRIFT_IDLE, DEFAULT_PINNED_DRIFT_JITTER, WARP_RESPONSE, WARP_ZETA, } from "./constellationInteraction";
|
|
5
5
|
export { kVisOf, readPalette, drawEdges, drawNodes, drawPointerWeb, drawRipples, DEFAULT_PALETTE, } from "./constellationDraw";
|
|
6
|
-
export type { ConstellationNode, ConstellationRipple, ConstellationPointer, ConstellationPalette, ConstellationField, ConstellationWarp, ConstellationWarpConfig, ConstellationWander, ConstellationWell, ConstellationWellConfig, ConstellationPinnedDrift, ConstellationProps, } from "./
|
|
6
|
+
export type { ConstellationNode, ConstellationRipple, ConstellationPointer, ConstellationPalette, ConstellationField, ConstellationWarp, ConstellationWarpConfig, ConstellationWander, ConstellationWell, ConstellationWellConfig, ConstellationPinnedDrift, ConstellationProps, } from "./constellationTypes";
|
|
@@ -9,6 +9,15 @@ import { type ButtonHTMLAttributes, type Component, type HTMLAttributes } from "
|
|
|
9
9
|
* `as="a"` swaps the host tag, `as-child` merges the dock class onto a slotted
|
|
10
10
|
* child (the reka-ui Primitive idiom). `type` is emitted only on a <button>
|
|
11
11
|
* host (an anchor/RouterLink carries no `type`).
|
|
12
|
+
*
|
|
13
|
+
* BB.W-LIQUIDHOVER — the pointer-anchored moving-specular gleam AUTO-ARMS via the
|
|
14
|
+
* `v-specular` directive (the tier-root delivery wrapping the ONE position-write
|
|
15
|
+
* core, `createSpecularWriter`). The prior hand-composed `useSpecularTracking` +
|
|
16
|
+
* `:style="specularStyle"` + `@pointermove="onPointerMove"` triplet RETIRED onto it:
|
|
17
|
+
* the dock control gleams pointer-following with ZERO call-site wiring. The
|
|
18
|
+
* `.dock-icon-button` `::before` (material.css) paints + lifts intensity on hover/
|
|
19
|
+
* active; the directive supplies the position. PRM-aware by construction (the wrapped
|
|
20
|
+
* core skips the write under reduce; the CSS bracket pins the catch-light static).
|
|
12
21
|
*/
|
|
13
22
|
type __VLS_Props = {
|
|
14
23
|
/** Compact variant: auto-sized instead of fixed 2.5rem square. */
|
|
@@ -21,15 +30,15 @@ type __VLS_Props = {
|
|
|
21
30
|
asChild?: boolean;
|
|
22
31
|
class?: HTMLAttributes["class"];
|
|
23
32
|
};
|
|
24
|
-
declare var
|
|
33
|
+
declare var __VLS_8: {};
|
|
25
34
|
type __VLS_Slots = {} & {
|
|
26
|
-
default?: (props: typeof
|
|
35
|
+
default?: (props: typeof __VLS_8) => any;
|
|
27
36
|
};
|
|
28
37
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
29
|
-
type: "button" | "
|
|
38
|
+
type: "button" | "reset" | "submit";
|
|
39
|
+
compact: boolean;
|
|
30
40
|
asChild: boolean;
|
|
31
41
|
as: string | Component;
|
|
32
|
-
compact: boolean;
|
|
33
42
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
34
43
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
35
44
|
declare const _default: typeof __VLS_export;
|
|
@@ -16,20 +16,28 @@ type __VLS_Props = {
|
|
|
16
16
|
showRail?: boolean;
|
|
17
17
|
/** Rail placement relative to the layer stack. */
|
|
18
18
|
railPosition?: "start" | "end";
|
|
19
|
+
/**
|
|
20
|
+
* BB.W-DRAG-MORPH — pull-to-switch. When `true` (ADDITIVE, default `false`),
|
|
21
|
+
* the switcher-rail indicator becomes draggable: pull along the rail axis to
|
|
22
|
+
* the next layer chip, fling-to-nearest on release writes `activeLayer`
|
|
23
|
+
* (`useDragMorph`, consumer #2). The reka roving tabindex / Arrow keys stay.
|
|
24
|
+
*/
|
|
25
|
+
draggable?: boolean;
|
|
19
26
|
};
|
|
20
27
|
type __VLS_ModelProps = {
|
|
21
28
|
"active": string;
|
|
22
29
|
};
|
|
23
30
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
24
|
-
declare var
|
|
31
|
+
declare var __VLS_34: {};
|
|
25
32
|
type __VLS_Slots = {} & {
|
|
26
|
-
default?: (props: typeof
|
|
33
|
+
default?: (props: typeof __VLS_34) => any;
|
|
27
34
|
};
|
|
28
35
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
29
36
|
"update:active": (value: string) => any;
|
|
30
37
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
31
38
|
"onUpdate:active"?: ((value: string) => any) | undefined;
|
|
32
39
|
}>, {
|
|
40
|
+
draggable: boolean;
|
|
33
41
|
showRail: boolean;
|
|
34
42
|
railPosition: "start" | "end";
|
|
35
43
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -10,25 +10,26 @@ import type { DockRailItem } from "./constants";
|
|
|
10
10
|
* dock box is INVIOLATE (R6 §"design REDIRECT" item 1) — and it PERSISTS when the
|
|
11
11
|
* dock collapses (the in-pane switcher rail vanishes on collapse; this one does not).
|
|
12
12
|
*
|
|
13
|
-
* W-
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
13
|
+
* BA.W-DOCK-SECTIONS — THE DIVIDER-SEAM RE-SEAT (the 4th-rail re-conception). The
|
|
14
|
+
* facets ride the rail as visible chips (the W-RAIL3 move OUT of the dock body, kept),
|
|
15
|
+
* but the rail line now co-locates with a NAMED `<DockSeparator anchor>` seam — NOT the
|
|
16
|
+
* dock edge, NOT the midline (the workaround #4 the brief forbids). The seam line crosses
|
|
17
|
+
* THROUGH the dock and overruns BOTH edges by `--dock-rail-extend-length` each side (the
|
|
18
|
+
* SYMMETRIC dual-side overrun); the chips fan FLUSH against the line (the macOS fan-out,
|
|
19
|
+
* rectilinear), and on collapse they retract INTO the rail leaving a slight protrusion
|
|
20
|
+
* stub. GlassDock measures the anchored separator's offset (`--dock-rail-seam-offset`)
|
|
21
|
+
* and the rail's CSS seats the line at it. The chips ARE the facets (id + label + icon);
|
|
22
|
+
* the active one is highlighted. Overflow routes through `<FadingScroll>` (the Batch-2
|
|
23
|
+
* primitive — the single scroll-fade port; the bespoke parallel scroll-fade is retired):
|
|
24
|
+
* the common 2-4-facet set fans flush with no scroll; a larger set scrolls under the
|
|
25
|
+
* edge fade + the embla-on-overflow momentum (the >budget arm).
|
|
21
26
|
*
|
|
22
|
-
* Axis-aware (the `<DockSeparator>` idiom, read via `useOptionalDockContext()`):
|
|
23
|
-
* - column dock (vertical) → the strip hangs BELOW the dock as a horizontal row
|
|
24
|
-
* of chips on a horizontal hairline (the dock is a narrow column; a horizontal
|
|
25
|
-
* chip row reads as the carousel below it).
|
|
26
|
-
* - row dock (horizontal) → the strip runs BELOW the dock's bottom edge as a
|
|
27
|
-
* horizontal row of chips on the connective hairline.
|
|
28
27
|
* The hairline is composed from the `--border-hairline` token pair (the 0.5px
|
|
29
28
|
* catch-light + under-shadow the dock + instrument-chassis already speak) — a
|
|
30
|
-
* whisper, NEVER a hard `1px solid` rule (R3). The
|
|
31
|
-
* `--dock-rail-extend-length` (a dock-scoped geometry knob, consumer-overridable)
|
|
29
|
+
* whisper, NEVER a hard `1px solid` rule (R3). The dual-side overrun is
|
|
30
|
+
* `--dock-rail-extend-length` (a dock-scoped geometry knob, consumer-overridable);
|
|
31
|
+
* the seam axis keys off the dock `orientation` (a vertical dock's rail is a
|
|
32
|
+
* horizontal line, a horizontal dock's is vertical).
|
|
32
33
|
*
|
|
33
34
|
* The layer-context binding (R2 — one registry, NOT a parallel state path):
|
|
34
35
|
* The chips write the consumer-owned `v-model:context` — the SAME ref the consumer
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { DockSectionDescriptor } from "./constants";
|
|
2
|
+
/**
|
|
3
|
+
* <DockSection> — BA.W-DOCK-SECTIONS. The declarative tripartite section-descriptor
|
|
4
|
+
* chassis the R8-9 mandate names ("the docks COMPLETELY lack sections" + "abstract
|
|
5
|
+
* this into a re-usable component for layering"). A consumer passes ONE
|
|
6
|
+
* `sections: readonly DockSectionDescriptor[]` array and the dock body renders the
|
|
7
|
+
* three-zone gestalt — a leading `rail-core` home/brand region, named `section`
|
|
8
|
+
* groups demarcated by `<DockSeparator>`, and a trailing `nav` group — by COMPOSING
|
|
9
|
+
* the existing `<DockSeparator>` (the divider seam) over the dock's already-in-flow
|
|
10
|
+
* controls, NOT a parallel layer machine and NOT a re-mounted column-rail layer
|
|
11
|
+
* group (the W-RAIL3 inflation source).
|
|
12
|
+
*
|
|
13
|
+
* THE NO-INFLATION CONTRACT (the spec's Scope item 2). The section model returns
|
|
14
|
+
* WITHOUT the box-inflation that motivated W-RAIL3's deletion: `<DockSection>` GROUPS
|
|
15
|
+
* the controls a consumer already places (via the per-kind slots) and adds only
|
|
16
|
+
* `<DockSeparator>` seams between them. It does NOT mount a `<DockLayerGroup>` switcher
|
|
17
|
+
* rail (the prior inflator that demanded column height). A section's contextual facets
|
|
18
|
+
* (`descriptor.layers`) are surfaced to the consumer to feed the seam `<DockRail>` —
|
|
19
|
+
* the facets ride the rail OUTSIDE the dock box, never re-inflate it.
|
|
20
|
+
*
|
|
21
|
+
* DESCRIPTOR-DRIVEN (the gate's S1 bite). The render is a `v-for` over `sections`,
|
|
22
|
+
* the `kind` switching the zone — a 5-section dock renders from the array, never a
|
|
23
|
+
* hardcoded three-element literal. Each descriptor's content is the consumer's slot
|
|
24
|
+
* keyed by the descriptor `id` (so the consumer keeps authoring its real controls);
|
|
25
|
+
* the chassis owns ONLY the zone grouping + the divider rhythm + the `data-kind`
|
|
26
|
+
* marker the section.css recipe reads.
|
|
27
|
+
*
|
|
28
|
+
* The seam ANCHOR (direction (b)). The descriptor carrying `anchor: true` (or, by
|
|
29
|
+
* convention, the boundary BEFORE the trailing `nav` group / the rail-core tail) marks
|
|
30
|
+
* its leading `<DockSeparator anchor>` so the dock's `#rail` line co-locates with that
|
|
31
|
+
* divider. The chassis stamps `anchor` on the separator that precedes the FIRST
|
|
32
|
+
* post-rail-core / pre-nav boundary by default; a consumer overrides via the
|
|
33
|
+
* `anchorId` prop.
|
|
34
|
+
*/
|
|
35
|
+
type __VLS_Props = {
|
|
36
|
+
/**
|
|
37
|
+
* The declarative section descriptors. Rendered in order: `rail-core` leads,
|
|
38
|
+
* `section` groups follow (each preceded by a `<DockSeparator>`), `nav` trails.
|
|
39
|
+
*/
|
|
40
|
+
sections: readonly DockSectionDescriptor[];
|
|
41
|
+
/**
|
|
42
|
+
* Which descriptor's LEADING `<DockSeparator>` is the rail's anchor seam
|
|
43
|
+
* (direction (b)). Defaults to the first `nav` descriptor (the user's "the nav
|
|
44
|
+
* separator on the bottom dock"); on a dock with no `nav` the first boundary
|
|
45
|
+
* after `rail-core` anchors. Pass an explicit `id` to override (the ℱ-home
|
|
46
|
+
* separator on the sidebar is the `rail-core`'s trailing seam — pass its id).
|
|
47
|
+
*/
|
|
48
|
+
anchorId?: string;
|
|
49
|
+
/** Accessible label for the section group landmark. */
|
|
50
|
+
ariaLabel?: string;
|
|
51
|
+
};
|
|
52
|
+
declare var __VLS_7: string, __VLS_8: {
|
|
53
|
+
section: DockSectionDescriptor;
|
|
54
|
+
kind: import("./constants").DockSectionKind;
|
|
55
|
+
};
|
|
56
|
+
type __VLS_Slots = {} & {
|
|
57
|
+
[K in NonNullable<typeof __VLS_7>]?: (props: typeof __VLS_8) => any;
|
|
58
|
+
};
|
|
59
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
60
|
+
ariaLabel: string;
|
|
61
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
62
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
63
|
+
declare const _default: typeof __VLS_export;
|
|
64
|
+
export default _default;
|
|
65
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
66
|
+
new (): {
|
|
67
|
+
$slots: S;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
@@ -1,3 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* <DockSeparator> — AX.W45 D13-c / DK5.
|
|
3
|
+
*
|
|
4
|
+
* An orientation-aware divider that demarcates dock item GROUPS (transport |
|
|
5
|
+
* navigation | settings) for affordance hierarchy. The raw `.dock-separator`
|
|
6
|
+
* class was axis-blind — a fixed VERTICAL 1px hairline that paints a useless
|
|
7
|
+
* 1px-wide sliver in a column (vertical) dock and a single cell-sliver in a grid
|
|
8
|
+
* dock. This primitive bundles the orientation contract the bare class could not:
|
|
9
|
+
* it reads the dock `orientation`/`layout` via `useOptionalDockContext()` and the
|
|
10
|
+
* dock-root ancestor class (`.glass-dock.vertical` / `.layout-grid`) drives the
|
|
11
|
+
* PERPENDICULAR paint (dock.css) —
|
|
12
|
+
* - row dock (horizontal, default) → a vertical 1px hairline
|
|
13
|
+
* - column dock (vertical / rail) → a horizontal 1px rule (cross-extent)
|
|
14
|
+
* - grid dock (`layout="grid"`) → a full-row section break (grid-column: 1 / -1)
|
|
15
|
+
*
|
|
16
|
+
* It is a thin oriented `<div>` (KISS); `data-orientation` is the explicit axis
|
|
17
|
+
* marker (so the perpendicular paint resolves even when used inside a
|
|
18
|
+
* `<DockLayerGroup>` that is not directly under a `.glass-dock.vertical`). It
|
|
19
|
+
* renders outside a dock too (the optional context defaults to horizontal) — a
|
|
20
|
+
* befitting-silent standalone render, not a violation.
|
|
21
|
+
*
|
|
22
|
+
* Decorative by role: `role="separator"` + `aria-orientation` give it a semantic
|
|
23
|
+
* landmark without it being interactive (it has no four-state contract — a flex
|
|
24
|
+
* gap rule, not a control).
|
|
25
|
+
*
|
|
26
|
+
* BA.W-DOCK-SECTIONS — the `anchor` prop is the seam-locator (direction (b)): an
|
|
27
|
+
* anchored separator stamps `data-rail-anchor`, which the enclosing `<GlassDock>`
|
|
28
|
+
* reads to seat the `#rail` line AT this divider's measured offset (the divider IS
|
|
29
|
+
* the rail's anchor seam — one primitive folds R8-9's section-divider model and
|
|
30
|
+
* R8-1's anchor-at-the-divider). The exposed measurable seam offset is the painted
|
|
31
|
+
* position of this element within the dock-frame; GlassDock's seam read consumes it.
|
|
32
|
+
*/
|
|
33
|
+
type __VLS_Props = {
|
|
34
|
+
/**
|
|
35
|
+
* BA.W-DOCK-SECTIONS — the seam-locator affordance (direction (b): the
|
|
36
|
+
* separator IS the rail's anchor). When `anchor` is set the separator stamps a
|
|
37
|
+
* `data-rail-anchor` marker so the enclosing `<GlassDock>` can read THIS
|
|
38
|
+
* divider's measured offset within the dock-frame and seat the `#rail` line at
|
|
39
|
+
* it (the divider and the rail unify into one primitive — the user's "where the
|
|
40
|
+
* dividing line is"). NO geometry side-effect on the separator itself; it is the
|
|
41
|
+
* SAME thin oriented hairline either way, just flagged as the rail's seam. A
|
|
42
|
+
* dock with at most one anchored separator is the contract (the first marked
|
|
43
|
+
* wins; the rail reads one seam offset).
|
|
44
|
+
*/
|
|
45
|
+
anchor?: boolean;
|
|
46
|
+
};
|
|
47
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
48
|
+
anchor: boolean;
|
|
49
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
2
50
|
declare const _default: typeof __VLS_export;
|
|
3
51
|
export default _default;
|
|
@@ -10,11 +10,11 @@ import { type HTMLAttributes } from "vue";
|
|
|
10
10
|
* automatically activates when the rendered element carries
|
|
11
11
|
* aria-current="page" (which RouterLink sets).
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* `
|
|
17
|
-
*
|
|
13
|
+
* BA.W-GLASS-CAL (H2a) — the `data-tier="primary"` auto-attach of the
|
|
14
|
+
* `btn-audacious` disco utility is REMOVED (the recipe is retired). The primary
|
|
15
|
+
* tier now reads ONLY its dock-local structural shell + the plain de-red'd glass
|
|
16
|
+
* hover register (`dock-controls/tab-button.css`); `data-tier` is still the styling
|
|
17
|
+
* hook the CSS keys off, the component no longer composes a utility class.
|
|
18
18
|
*/
|
|
19
19
|
type __VLS_Props = {
|
|
20
20
|
as?: string;
|