@mkbabb/glass-ui 3.12.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-CefCj5mt.js → CommandShortcut-DdtWXxOK.js} +58 -53
- package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-B0Vs6atR.js} +4 -4
- package/dist/{DataTable-CUHMukiQ.js → DataTable-C464Zbqd.js} +99 -97
- package/dist/DialogContent-DDE6pQBU.js +103 -0
- package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-8eZbdmPc.js} +2 -2
- package/dist/FadingScroll-DwNnvKMs.js +76 -0
- package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-Dpzwvc4t.js} +1 -1
- package/dist/IconChip-BDw1j5mu.js +54 -0
- package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DSjasZIt.js} +1 -1
- package/dist/MetricBadge-BpC0R_Ec.js +79 -0
- package/dist/{Notification-DLMhblXR.js → Notification-DKjKsQq8.js} +10 -10
- package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-1VtwDSgf.js} +3 -3
- package/dist/PopoverContent-BTorlp--.js +127 -0
- package/dist/{Progress-iEuD9pxG.js → Progress-hAT4gqGH.js} +97 -77
- package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-CUVFTWk2.js} +2 -2
- package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-C1jb3b3K.js} +24 -8
- package/dist/{Switch-Ch-k3Rv-.js → Switch-Dr--uLGH.js} +2 -2
- package/dist/{Toaster-1rYWrmAm.js → Toaster-Bm_HQSpc.js} +55 -52
- package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-Dzk9hWsF.js} +18 -22
- package/dist/animated-digit.js +3 -3
- package/dist/api/index.d.ts +10 -4
- package/dist/api.js +1 -1
- package/dist/aurora.js +113 -98
- package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
- package/dist/badge.js +1 -1
- package/dist/{button-DN39cGqL.js → button-BNDWhAZb.js} +12 -12
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +101 -145
- package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
- package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
- package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
- package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
- package/dist/coalesceMetric-5qIeZnTx.js +13 -0
- package/dist/collapsible.js +1 -1
- package/dist/{color-C5ls_QF7.js → color-DweYl7pE.js} +9 -7
- 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/animated-digit/AnimatedDigit.vue.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +16 -45
- package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
- package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -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/configurator/Configurator.vue.d.ts +19 -8
- package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
- package/dist/components/custom/constellation/Constellation.vue.d.ts +23 -143
- package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
- package/dist/components/custom/constellation/constants.d.ts +61 -0
- package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
- package/dist/components/custom/constellation/constellationField.d.ts +3 -403
- package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
- package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
- package/dist/components/custom/constellation/index.d.ts +5 -2
- package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
- package/dist/components/custom/dock/DockRail.vue.d.ts +89 -0
- 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 -6
- package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
- package/dist/components/custom/dock/composables/index.d.ts +1 -0
- package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
- package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
- package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
- package/dist/components/custom/dock/constants.d.ts +83 -0
- package/dist/components/custom/dock/index.d.ts +5 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +15 -37
- 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 +34 -0
- package/dist/components/custom/fourier-field/presets.d.ts +54 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -0
- package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +21 -8
- package/dist/components/custom/goo-blob/constants.d.ts +57 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
- package/dist/components/custom/handmark/brush.d.ts +33 -6
- package/dist/components/custom/handmark/{useHandMark.d.ts → composables/useHandMark.d.ts} +6 -4
- package/dist/components/custom/handmark/constants.d.ts +39 -0
- package/dist/components/custom/handmark/geometry.d.ts +14 -12
- package/dist/components/custom/handmark/index.d.ts +8 -2
- package/dist/components/custom/handmark/types.d.ts +9 -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 +17 -4
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
- package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
- package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
- package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
- package/dist/components/custom/metric-badge/index.d.ts +1 -0
- package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
- 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 +18 -0
- 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 +16 -4
- 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/Drawer.vue.d.ts +1 -0
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
- 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/components/ui/slider/index.d.ts +22 -19
- package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
- package/dist/components/ui/toast/use-toast.d.ts +2 -2
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/toggle/index.d.ts +1 -1
- package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
- package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
- package/dist/composables/color/index.d.ts +12 -0
- package/dist/composables/dark/useGlobalDark.d.ts +14 -12
- package/dist/composables/glass/index.d.ts +0 -1
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
- package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
- package/dist/composables/motion/core/index.d.ts +1 -1
- package/dist/composables/motion/curves.d.ts +48 -0
- package/dist/composables/motion/index.d.ts +2 -0
- package/dist/composables/motion/springPresets.d.ts +33 -0
- package/dist/composables/motion/suite.d.ts +2 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
- package/dist/composables/motion/useSpringMount.d.ts +1 -1
- package/dist/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +3 -3
- package/dist/constellation.js +373 -261
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +48 -14
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +901 -372
- package/dist/dockContext-Bu1Avy-a.js +17 -0
- package/dist/dom.js +5 -5
- package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-BJ7E9js_.js} +11 -8
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +44 -81
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/forms.js +5 -5
- package/dist/fourier-field.js +140 -104
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +90 -21
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +230 -236
- package/dist/goo-blob.js +264 -228
- package/dist/handmark.js +203 -159
- 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 -5
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +28 -18
- package/dist/{math-DTpRVC0e.js → math-DeuJwLFx.js} +26 -2
- package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DWRQXBxJ.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +29 -22
- package/dist/metric-stack.js +35 -34
- package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
- package/dist/motion-core.js +32 -136
- package/dist/motion-curves.d.ts +1 -0
- package/dist/motion-curves.js +130 -0
- package/dist/motion.js +38 -37
- 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/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-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
- package/dist/search.js +10 -10
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet-CquRYOAw.js +218 -0
- package/dist/sheet.js +1 -1
- package/dist/{slider-ClgpP7EB.js → slider-DQ95MET2.js} +8 -8
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/springPresets-WXaLbu8u.js +40 -0
- package/dist/stacked-icons.js +6 -6
- package/dist/styles/animations.css +25 -125
- package/dist/styles/cards.css +55 -0
- package/dist/styles/components.css +4 -1
- package/dist/styles/configurator.css +77 -0
- package/dist/styles/dock/density.css +19 -0
- package/dist/styles/dock/layer-group.css +83 -25
- package/dist/styles/dock/layers.css +23 -1
- package/dist/styles/dock/morph-bridge.css +123 -0
- package/dist/styles/dock/morph.css +175 -45
- package/dist/styles/dock/overflow.css +66 -1
- package/dist/styles/dock/rail-extend.css +397 -0
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +97 -110
- package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/dist/styles/dock-controls/icon-button.css +143 -0
- package/dist/styles/dock-controls/tab-button.css +143 -0
- package/dist/styles/dock-controls/touch-floor.css +94 -0
- package/dist/styles/dock-controls/triggers.css +135 -0
- package/dist/styles/dock-controls.css +30 -595
- package/dist/styles/dock.css +8 -3
- package/dist/styles/drawer.css +48 -0
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/floating-panel.css +17 -0
- package/dist/styles/glass/a11y-fallback.css +245 -0
- package/dist/styles/glass/ladder.css +383 -0
- package/dist/styles/glass/material.css +238 -0
- package/dist/styles/glass/progress-rail.css +78 -0
- package/dist/styles/glass/squircle.css +66 -0
- package/dist/styles/glass/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +382 -0
- package/dist/styles/glass-refract.css +2 -0
- package/dist/styles/glass.css +34 -1188
- package/dist/styles/hover-popover.css +2 -0
- package/dist/styles/icon-chip.css +149 -0
- package/dist/styles/index.css +94 -18
- package/dist/styles/instrument-chassis.css +46 -0
- package/dist/styles/menu.css +127 -0
- package/dist/styles/paper.css +2 -68
- package/dist/styles/segmented-tabs.css +346 -0
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +347 -0
- package/dist/styles/theme/dark.css +7 -0
- package/dist/styles/theme/literals.css +94 -0
- package/dist/styles/theme/radius.css +95 -0
- package/dist/styles/theme.css +26 -529
- package/dist/styles/tokens/color-radius.css +287 -0
- package/dist/styles/tokens/dark-arm.css +308 -0
- package/dist/styles/tokens/glass.css +500 -0
- package/dist/styles/tokens/light-dark.css +187 -0
- package/dist/styles/tokens/offsets-sizing.css +562 -0
- package/dist/styles/tokens/property-regs.css +162 -0
- package/dist/styles/tokens/scale-paper.css +409 -0
- package/dist/styles/tokens/scheme-motion.css +352 -0
- package/dist/styles/tokens/shadow.css +166 -0
- package/dist/styles/tokens.css +22 -2360
- 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 -453
- package/dist/styles/utilities/a11y-overrides.css +169 -0
- package/dist/styles/utilities/animate.css +26 -0
- package/dist/styles/utilities/base.css +541 -0
- package/dist/styles/utilities/btn.css +218 -0
- package/dist/styles/utilities/components.css +317 -0
- package/dist/styles/utilities.css +19 -1318
- package/dist/styles/view-transition.css +4 -52
- package/dist/switch.js +1 -1
- package/dist/tabs.js +161 -181
- 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-Bcpy5Etf.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
- package/dist/useConfiguratorState-kiIlun8I.js +303 -0
- package/dist/useLiquidFlex-C12hXwOZ.js +30 -0
- package/dist/useRAFLoop-CdwJ7284.js +109 -0
- package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-D7bYU2RK.js} +1 -1
- package/dist/useSpecularTracking-Bo5su68i.js +32 -0
- package/dist/useSpringMount-CvopqiFr.js +108 -0
- package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
- package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-28Tk2-t2.js} +1 -1
- package/dist/useViewTransition-COsPjQVZ.js +47 -0
- package/dist/utils/coalesceMetric.d.ts +29 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/vReveal-D9k0jADx.js +10 -0
- package/dist/watercolor-dot.js +22 -13
- package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
- package/package.json +134 -50
- package/src/styles/animations.css +25 -125
- package/src/styles/cards.css +53 -0
- package/src/styles/configurator.css +77 -0
- package/src/styles/dock/density.css +19 -0
- package/src/styles/dock/layer-group.css +83 -25
- package/src/styles/dock/layers.css +23 -1
- package/src/styles/dock/morph-bridge.css +123 -0
- package/src/styles/dock/morph.css +175 -45
- package/src/styles/dock/overflow.css +66 -1
- package/src/styles/dock/rail-extend.css +397 -0
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +97 -110
- package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/src/styles/dock-controls/icon-button.css +143 -0
- package/src/styles/dock-controls/tab-button.css +143 -0
- package/src/styles/dock-controls/touch-floor.css +94 -0
- package/src/styles/dock-controls/triggers.css +135 -0
- package/src/styles/dock-controls.css +30 -595
- package/src/styles/dock.css +8 -3
- package/src/styles/drawer.css +42 -0
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/floating-panel.css +15 -0
- package/src/styles/glass/a11y-fallback.css +245 -0
- package/src/styles/glass/ladder.css +383 -0
- package/src/styles/glass/material.css +238 -0
- package/src/styles/glass/progress-rail.css +78 -0
- package/src/styles/glass/squircle.css +66 -0
- package/src/styles/glass/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +382 -0
- package/src/styles/glass.css +34 -1188
- package/src/styles/icon-chip.css +149 -0
- package/src/styles/index.css +93 -17
- package/src/styles/instrument-chassis.css +42 -0
- package/src/styles/menu.css +127 -0
- package/src/styles/paper.css +2 -68
- package/src/styles/segmented-tabs.css +340 -0
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +347 -0
- package/src/styles/theme/dark.css +7 -0
- package/src/styles/theme/literals.css +94 -0
- package/src/styles/theme/radius.css +95 -0
- package/src/styles/theme.css +26 -529
- package/src/styles/tokens/color-radius.css +287 -0
- package/src/styles/tokens/dark-arm.css +308 -0
- package/src/styles/tokens/glass.css +500 -0
- package/src/styles/tokens/light-dark.css +187 -0
- package/src/styles/tokens/offsets-sizing.css +562 -0
- package/src/styles/tokens/property-regs.css +162 -0
- package/src/styles/tokens/scale-paper.css +409 -0
- package/src/styles/tokens/scheme-motion.css +352 -0
- package/src/styles/tokens/shadow.css +166 -0
- package/src/styles/tokens.css +22 -2360
- 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 -453
- package/src/styles/utilities/a11y-overrides.css +169 -0
- package/src/styles/utilities/animate.css +26 -0
- package/src/styles/utilities/base.css +541 -0
- package/src/styles/utilities/btn.css +218 -0
- package/src/styles/utilities/components.css +317 -0
- package/src/styles/utilities.css +19 -1318
- package/src/styles/view-transition.css +4 -52
- package/dist/CardAction-DuArVky-.js +0 -157
- package/dist/DeckProgress-Dmk4_AKN.js +0 -23
- package/dist/DialogContent-BRkT1cjP.js +0 -100
- package/dist/InstrumentRail-CUJ05YVG.js +0 -44
- package/dist/MetricBadge-BZVWIxNy.js +0 -80
- package/dist/PopoverContent-BId6ggf_.js +0 -121
- package/dist/TabsList-B8CVOQPC.js +0 -101
- package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
- package/dist/components/custom/deck-progress/index.d.ts +0 -2
- package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
- package/dist/components/custom/dialog-native/index.d.ts +0 -1
- package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
- package/dist/components/custom/instrument-rail/index.d.ts +0 -2
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
- package/dist/composables/motion/useRouteTransition.d.ts +0 -42
- package/dist/deck-progress.d.ts +0 -1
- package/dist/deck-progress.js +0 -2
- package/dist/dockContext-BKeIMmNk.js +0 -9
- package/dist/instrument-rail.d.ts +0 -1
- package/dist/instrument-rail.js +0 -2
- package/dist/sheet-VZEtNFvO.js +0 -214
- package/dist/styles/instrument-rail.css +0 -127
- package/dist/useConfiguratorState-DxAqksK6.js +0 -287
- package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
- package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
- package/dist/useSpringMount-BJSHcLl3.js +0 -113
- package/dist/useViewTransition-DaN5Zrox.js +0 -21
- package/dist/vReveal-zUIQk-rJ.js +0 -53
- package/src/styles/instrument-rail.css +0 -127
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
- /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-ON3x7cuk.js} +0 -0
- /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-DkMaQzH5.js} +0 -0
- /package/dist/{Input-xuDwALQR.js → Input-DVG_J0ne.js} +0 -0
- /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
- /package/dist/{Label-zRfbQdCn.js → Label-Ck9SWEKM.js} +0 -0
- /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-CkPRRgl_.js} +0 -0
- /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-nBKe0vkB.js} +0 -0
- /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-DK2y1Bun.js} +0 -0
- /package/dist/{Separator-D7sD7RKj.js → Separator-BArl4OaB.js} +0 -0
- /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
- /package/dist/{compile-BOXjLUxu.js → compile-EXXzEr1q.js} +0 -0
- /package/dist/{constants-yKeKnE84.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-B44Sah_H.js → createContext-B2RaZ-b8.js} +0 -0
- /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
- /package/dist/{presets-BP_ALM0m.js → presets-BW2b-fr1.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
- /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
- /package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-C28t0VWJ.js} +0 -0
- /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-Dsmqwi03.js → useInterval-CNdua40W.js} +0 -0
- /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-V6nq5gJb.js} +0 -0
- /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
- /package/dist/{useSortable-C8ReQ50P.js → useSortable-BVqlJRBR.js} +0 -0
- /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-NmBM5V_4.js} +0 -0
- /package/dist/{useTimer-3xqf_54b.js → useTimer-B_PAasDL.js} +0 -0
- /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-CDfJuakL.js} +0 -0
- /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-CvBcCYDf.js} +0 -0
|
@@ -1,112 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
fitContent?: boolean;
|
|
4
|
-
position?: "fixed" | "inline" | "sticky";
|
|
5
|
-
alwaysExpanded?: boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Corner treatment.
|
|
8
|
-
* `"pill"` — the stadium silhouette (default).
|
|
9
|
-
* `"rounded"` — a finite rounded radius (`--radius-xl`).
|
|
10
|
-
* `"card"` — the AW.W3b big-dock card shell: a finite concentric
|
|
11
|
-
* radius (`--dock-card-radius`, default `--radius-3xl`)
|
|
12
|
-
* ABOVE 2xl, below pill — does NOT collapse to a stadium.
|
|
13
|
-
* Collapsed it returns to a pill; the pill↔card swap
|
|
14
|
-
* morphs on the `--dock-motion-resize` spring. AX.W56's
|
|
15
|
-
* squircle policy applies `corner-shape:
|
|
16
|
-
* var(--corner-shape-bigdock)` here under `@supports
|
|
17
|
-
* (corner-shape: superellipse(2))` — the big-dock is the ONE
|
|
18
|
-
* surface where the superellipse reads (cards/pills stay
|
|
19
|
-
* round); the border-radius arc is the cross-engine contract.
|
|
20
|
-
*
|
|
21
|
-
* `"pill"`/`"rounded"` previously bound ONLY under the vertical rail
|
|
22
|
-
* variant — on a horizontal dock the prop silently no-op'd. AW.W3b adds
|
|
23
|
-
* the horizontal-root shape rules (closing that documented-but-dead prop),
|
|
24
|
-
* so `shape` now paints on a horizontal dock too.
|
|
25
|
-
*/
|
|
26
|
-
shape?: "pill" | "rounded" | "card";
|
|
27
|
-
/**
|
|
28
|
-
* Layout axis of the dock. `"horizontal"` (default) lays items out
|
|
29
|
-
* left-to-right and animates `width`; `"vertical"` lays items out
|
|
30
|
-
* top-to-bottom and animates `height`. IGNORED under `variant="rail"` /
|
|
31
|
-
* `"instrument-strip"` (those force vertical by construction).
|
|
32
|
-
*/
|
|
33
|
-
orientation?: "horizontal" | "vertical";
|
|
34
|
-
/**
|
|
35
|
-
* Density controls dock padding, gaps, layer height, and inherited
|
|
36
|
-
* dock control sizing. Root CSS variables can override each density.
|
|
37
|
-
*/
|
|
38
|
-
density?: DockDensity;
|
|
39
|
-
/**
|
|
40
|
-
* Overflow strategy when the expanded content exceeds the dock's
|
|
41
|
-
* axis cap (`--dock-max-inline-size` horizontally,
|
|
42
|
-
* `--dock-max-block-size` vertically). The ONE knob governing every
|
|
43
|
-
* overflow behaviour (AT.W7-dock-a clean break — collapsed from the
|
|
44
|
-
* prior `wrap` boolean + `overflow` pair + `containerName` clip-lift,
|
|
45
|
-
* which all touched overflow divergently).
|
|
46
|
-
* `"grow"` — content grows to fit then overflows visibly past
|
|
47
|
-
* the cap (the default; nothing clips or scrolls).
|
|
48
|
-
* `"wrap"` — expanded content wraps to multiple rows via CONTENT-DRIVEN
|
|
49
|
-
* intrinsic flex-wrap (the `.dock-overflow-wrap` recipe). The
|
|
50
|
-
* dock shrink-wraps to content and caps that intrinsic width
|
|
51
|
-
* at `max-inline-size: var(--dock-max-inline-size)`, so the row
|
|
52
|
-
* reflows to N rows EXACTLY when its intrinsic width exceeds
|
|
53
|
-
* the cap — at ANY viewport width — and collapses to one row
|
|
54
|
-
* when it fits (no viewport breakpoint). The wrapped multi-row silhouette lifts
|
|
55
|
-
* onto the card/floating shadow tier as the dock expands.
|
|
56
|
-
* HORIZONTAL-ONLY: a vertical rail grows-to-fit + clamps via
|
|
57
|
-
* `--dock-max-block-size` (its own overflow story), so the
|
|
58
|
-
* `.dock-overflow-wrap` class is not emitted for a vertical
|
|
59
|
-
* orientation.
|
|
60
|
-
* `"scroll"` — the dock becomes the scroll port. Horizontal docks
|
|
61
|
-
* scroll the active layer on the inline axis
|
|
62
|
-
* (`.dock-scroll-x`); vertical rails scroll on the
|
|
63
|
-
* block axis (`.dock-scroll-y`), keeping the
|
|
64
|
-
* `max-block-size` cap. The rounded pill masks the
|
|
65
|
-
* scroll edge; the scrollbar is hidden. The axis is
|
|
66
|
-
* chosen automatically from `orientation`.
|
|
67
|
-
*/
|
|
68
|
-
overflow?: "grow" | "wrap" | "scroll";
|
|
69
|
-
/**
|
|
70
|
-
* When set, the dock root establishes an inline-size container query
|
|
71
|
-
* subject (`container-type: inline-size; container-name: <value>`) so
|
|
72
|
-
* descendants can query the named container via `@container <value>
|
|
73
|
-
* (...)` rules. ORTHOGONAL to the `overflow` clip: opting into a
|
|
74
|
-
* container subject does NOT silently change the dock's clip shell
|
|
75
|
-
* (AT.W7-dock-a — the prior clip-lift was folded out; use
|
|
76
|
-
* `overflow="wrap"` to allow multi-line content).
|
|
77
|
-
*
|
|
78
|
-
* T.B audit §1.3 cornerstone: the cluster's container subject must
|
|
79
|
-
* live on the dock primitive, never on a descendant whose intrinsic
|
|
80
|
-
* size the dock relies on.
|
|
81
|
-
*/
|
|
82
|
-
containerName?: string;
|
|
83
|
-
}
|
|
84
|
-
interface DockVariantProps extends DockCommonProps {
|
|
85
|
-
variant?: "dock";
|
|
86
|
-
/** Idle-collapse delay in ms (default 2000). DOCK-ONLY — a rail never collapses. */
|
|
87
|
-
collapseDelay?: number;
|
|
88
|
-
/** Start in the collapsed state (default true). DOCK-ONLY — a rail is always expanded. */
|
|
89
|
-
startCollapsed?: boolean;
|
|
90
|
-
/**
|
|
91
|
-
* In-cap arrangement. `"linear"` (default) lays the active layer out as a
|
|
92
|
-
* linear row/column. `"grid"` makes the active layer a self-wrapping tile
|
|
93
|
-
* grid (Launchpad/Stage-Manager track symmetry — `auto-fill` columns of
|
|
94
|
-
* `--dock-tile-min`). ORTHOGONAL to `overflow` (the OVER-cap strategy):
|
|
95
|
-
* `layout` is the IN-cap arrangement.
|
|
96
|
-
*
|
|
97
|
-
* Hard contract: a `layout="grid"` dock is `alwaysExpanded` (a 2D panel
|
|
98
|
-
* does not read as a collapsible pill, and no width morph means no
|
|
99
|
-
* per-frame grid reflow). The canonical pairing is
|
|
100
|
-
* `shape="card" layout="grid"` (the props stay independent — no
|
|
101
|
-
* auto-implication of `shape`). DOCK-ONLY — the grid is a horizontal big-dock
|
|
102
|
-
* arrangement, never a rail's.
|
|
103
|
-
*/
|
|
104
|
-
layout?: "linear" | "grid";
|
|
105
|
-
}
|
|
106
|
-
interface DockRailProps extends DockCommonProps {
|
|
107
|
-
variant: "rail" | "instrument-strip";
|
|
108
|
-
}
|
|
109
|
-
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {}, __VLS_14: {}, __VLS_16: {}, __VLS_18: {};
|
|
1
|
+
import { type DockProps } from "./composables/useDockShellProps";
|
|
2
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {};
|
|
110
3
|
type __VLS_Slots = {} & {
|
|
111
4
|
persistent?: (props: typeof __VLS_1) => any;
|
|
112
5
|
} & {
|
|
@@ -114,15 +7,9 @@ type __VLS_Slots = {} & {
|
|
|
114
7
|
} & {
|
|
115
8
|
collapsed?: (props: typeof __VLS_5) => any;
|
|
116
9
|
} & {
|
|
117
|
-
|
|
118
|
-
} & {
|
|
119
|
-
collapsed?: (props: typeof __VLS_14) => any;
|
|
120
|
-
} & {
|
|
121
|
-
default?: (props: typeof __VLS_16) => any;
|
|
122
|
-
} & {
|
|
123
|
-
collapsed?: (props: typeof __VLS_18) => any;
|
|
10
|
+
rail?: (props: typeof __VLS_7) => any;
|
|
124
11
|
};
|
|
125
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
12
|
+
declare const __VLS_base: import("vue").DefineComponent<DockProps, {
|
|
126
13
|
expanded: import("vue").Ref<boolean, boolean>;
|
|
127
14
|
isPinned: import("vue").Ref<boolean, boolean>;
|
|
128
15
|
isHeld: import("vue").ComputedRef<boolean>;
|
|
@@ -131,7 +18,7 @@ declare const __VLS_base: import("vue").DefineComponent<DockVariantProps | DockR
|
|
|
131
18
|
collapse: () => void;
|
|
132
19
|
keepOpen: () => void;
|
|
133
20
|
release: () => void;
|
|
134
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<
|
|
21
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DockProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
135
22
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
136
23
|
declare const _default: typeof __VLS_export;
|
|
137
24
|
export default _default;
|
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
import type { Ref } from "vue";
|
|
2
|
+
/**
|
|
3
|
+
* AX.W02 — ONE morph orchestrator per dock. The dock is a single morph stack
|
|
4
|
+
* whose active "layer" is `(expandedState × activePane)`: the outer
|
|
5
|
+
* collapse↔expand swap and the inner `<DockLayerGroup>` pane swaps are
|
|
6
|
+
* transitions in the SAME group — ONE spring, ONE scalar (`--dock-morph-t`,
|
|
7
|
+
* established by W01), ONE clock. No second engine.
|
|
8
|
+
*
|
|
9
|
+
* Re-derived from first principles on W01's settled single-scalar substrate:
|
|
10
|
+
* - `--dock-morph-t` is written to the `.glass-dock` root and INHERITS to every
|
|
11
|
+
* descendant (dock.css `@property … inherits:true`), so ONE spring writing
|
|
12
|
+
* that one scalar drives EVERY registered container's size calc at once.
|
|
13
|
+
* - Each morphing container carries its OWN `--dock-morph-from`/`--dock-morph-to`
|
|
14
|
+
* px span (the allowed one-time FLIP measurement) and interpolates it against
|
|
15
|
+
* the shared scalar — `from + (to − from) · t`. So a simultaneous
|
|
16
|
+
* collapse + pane-swap reads as one continuous spring: the box, the nested
|
|
17
|
+
* stack, and every child stagger ramp on the same `t`.
|
|
18
|
+
*
|
|
19
|
+
* The orchestrator OWNS one `SpringProgress`. The OUTER collapse↔expand pair
|
|
20
|
+
* registers as a target; a NESTED `<DockLayerGroup>` registers a SECOND target
|
|
21
|
+
* instead of minting its own `useLayerTransition` engine. A re-toggle mid-flight
|
|
22
|
+
* re-bases the live solver onto the new span from its current velocity (the iOS
|
|
23
|
+
* interruptible-physics contract W01 keeps), so even an interrupted morph stays
|
|
24
|
+
* one continuous trajectory.
|
|
25
|
+
*
|
|
26
|
+
* This is the dock-flavored first instance of the general `MorphGroup` /
|
|
27
|
+
* `GlassEffectContainer` facility (the iOS-26 Liquid-Glass corpus, facet 26 —
|
|
28
|
+
* the `provideMorphGroup` two-part seam: a per-element driver + a provide/inject
|
|
29
|
+
* orchestrator). AX.W42 generalizes it; W02 establishes the seam it builds on.
|
|
30
|
+
*
|
|
31
|
+
* LIGHT-surface only: `SpringProgress` owns its own rAF via `.play(onFrame)` and
|
|
32
|
+
* carries no static value.js edge — never import `AnimationGroup` / `./engine`
|
|
33
|
+
* (that pulls value.js into the dock bundle).
|
|
34
|
+
*
|
|
35
|
+
* The `DOCK_SPRING` tuning this orchestrator drives is the ONE authority shared with
|
|
36
|
+
* `useLayerTransition` — it lives in `../constants` (the feature-dir constants home).
|
|
37
|
+
*/
|
|
2
38
|
export interface DockMorphGroupRegistration {
|
|
3
39
|
/** The container element owning this group's grid-stacked panes. */
|
|
4
40
|
containerEl: Ref<HTMLElement | null>;
|
|
@@ -8,3 +8,4 @@ export { isTeleportedTarget } from "./isTeleportedTarget";
|
|
|
8
8
|
export { provideDockContext, useDockContext, useOptionalDockContext, DOCK_CONTEXT_KEY, type DockContext, type DockOrientation, } from "./dockContext";
|
|
9
9
|
export { provideDockLayerGroupContext, useDockLayerGroupContext, useOptionalDockLayerGroupContext, DOCK_LAYER_GROUP_KEY, type DockLayerDescriptor, type DockLayerGroupContext, } from "./dockLayerContext";
|
|
10
10
|
export { useDockMorphOrchestrator, provideDockMorphContext, useOptionalDockMorphContext, DOCK_MORPH_KEY, type DockMorphContext, type DockMorphGroupRegistration, type DockMorphGroupHandle, type UseDockMorphOrchestratorOptions, type UseDockMorphOrchestratorReturn, } from "./dockMorphContext";
|
|
11
|
+
export { useDockOrientationMorph, type DockMorphOrientation, type UseDockOrientationMorphOptions, type UseDockOrientationMorphReturn, } from "./useDockOrientationMorph";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
export interface DockClickIntegrity {
|
|
3
|
+
/** Capture-phase `pointerdown` handler — records the press-time element + state. */
|
|
4
|
+
onPointerDownCapture: (event: PointerEvent) => void;
|
|
5
|
+
/** Capture-phase `click` handler — swallows an identity-changed post-swap click. */
|
|
6
|
+
onClickCapture: (event: MouseEvent) => void;
|
|
7
|
+
/** Mark the collapsed→expanded flip so the settle window opens (call on expand). */
|
|
8
|
+
markExpandFlip: () => void;
|
|
9
|
+
}
|
|
10
|
+
export interface UseDockClickIntegrityOptions {
|
|
11
|
+
/** The dock root element ref — the morph-state owner (`[data-morphing]`). */
|
|
12
|
+
rootEl: Ref<HTMLElement | null>;
|
|
13
|
+
/** `true` whenever the dock is visually expanded (collapsed = !this). */
|
|
14
|
+
visualExpanded: Ref<boolean>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The dock click-integrity guard (R5-3). Returns the three capture-phase handlers
|
|
18
|
+
* the GlassDock SFC wires onto its root. The guard is a pure DOM-timing concern: it
|
|
19
|
+
* holds the press-time element identity + the settle-window deadline and decides, on
|
|
20
|
+
* the click, whether the click landed on the SAME control it was aimed at. Owns its
|
|
21
|
+
* own unmount cleanup.
|
|
22
|
+
*/
|
|
23
|
+
export declare function useDockClickIntegrity(options: UseDockClickIntegrityOptions): DockClickIntegrity;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
/** The morph-window handlers the GlassDock SFC wires. */
|
|
3
|
+
export interface DockMorphWindow {
|
|
4
|
+
markTransitioning: () => void;
|
|
5
|
+
onDockTransitionDone: (event: TransitionEvent) => void;
|
|
6
|
+
clearTransitionTimer: () => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Own the `isTransitioning` flag's morph-window lifecycle. `markTransitioning`
|
|
10
|
+
* (every `visualExpanded` flip) bumps a private generation so any in-flight
|
|
11
|
+
* morph's pending timer / `transitionend` self-cancels (the A→B→A no-skip /
|
|
12
|
+
* no-queue invariant); `onDockTransitionDone` resolves the flag on a resize-morph
|
|
13
|
+
* property finishing. Clears its timer on unmount.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useDockMorphWindow(dockEl: Ref<HTMLElement | null>, isTransitioning: Ref<boolean>): DockMorphWindow;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ComputedRef, type Ref } from "vue";
|
|
2
|
+
export type DockMorphOrientation = "vertical" | "horizontal";
|
|
3
|
+
export interface UseDockOrientationMorphOptions {
|
|
4
|
+
/**
|
|
5
|
+
* The host root the scalar is written to (`--dock-morph-t`). Both docks + the
|
|
6
|
+
* bridge live under it and read the inheriting scalar.
|
|
7
|
+
*/
|
|
8
|
+
rootEl: Ref<HTMLElement | null>;
|
|
9
|
+
/** The vertical dock's full (expanded) block size in px — the `t=0` height. */
|
|
10
|
+
verticalSize: number | (() => number);
|
|
11
|
+
/** The horizontal dock's full (expanded) inline size in px — the `t=1` width. */
|
|
12
|
+
horizontalSize: number | (() => number);
|
|
13
|
+
}
|
|
14
|
+
export interface UseDockOrientationMorphReturn {
|
|
15
|
+
/** The current target orientation. Set via `toggle()`/`morphTo()`. */
|
|
16
|
+
orientation: Readonly<Ref<DockMorphOrientation>>;
|
|
17
|
+
/** The live normalized scalar (0 = vertical, 1 = horizontal). */
|
|
18
|
+
t: Readonly<Ref<number>>;
|
|
19
|
+
/** True while the spring is in flight (the host arms `data-morphing`). */
|
|
20
|
+
morphing: Readonly<Ref<boolean>>;
|
|
21
|
+
/** The vertical dock's live height style (`{ height: "Npx" }`), collapsing 0. */
|
|
22
|
+
verticalStyle: ComputedRef<Record<string, string>>;
|
|
23
|
+
/** The horizontal dock's live width style (`{ width: "Npx" }`), growing 0→full. */
|
|
24
|
+
horizontalStyle: ComputedRef<Record<string, string>>;
|
|
25
|
+
/** The vertical dock's crossfade opacity (`{ opacity: "…" }`), 1→0 over the morph. */
|
|
26
|
+
verticalOpacity: ComputedRef<Record<string, string>>;
|
|
27
|
+
/** The horizontal dock's crossfade opacity (`{ opacity: "…" }`), 0→1 over the morph. */
|
|
28
|
+
horizontalOpacity: ComputedRef<Record<string, string>>;
|
|
29
|
+
/** The teardrop squish scalar (the bridge reads it for the liquid swell). */
|
|
30
|
+
stretch: ComputedRef<number>;
|
|
31
|
+
/** Morph to the explicit orientation (a no-op if already there). */
|
|
32
|
+
morphTo(next: DockMorphOrientation): void;
|
|
33
|
+
/** Toggle V↔H. The bidirectional driver — the SAME scalar both ways. */
|
|
34
|
+
toggle(): void;
|
|
35
|
+
/**
|
|
36
|
+
* PIN the morph to an EXACT scalar value (0→1) with NO spring — the deterministic
|
|
37
|
+
* capture seam (HG1). Disposes any live spring, writes the scalar + both flex
|
|
38
|
+
* spans + the crossfade to exactly `value`, so a frame captured at a given `t` is
|
|
39
|
+
* byte-reproducible (no wall-clock, no spring asynchrony). The orientation is set
|
|
40
|
+
* to the side `value` lands on for the inert/a11y contract.
|
|
41
|
+
*/
|
|
42
|
+
pin(value: number): void;
|
|
43
|
+
}
|
|
44
|
+
export declare function useDockOrientationMorph(options: UseDockOrientationMorphOptions): UseDockOrientationMorphReturn;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { type ComputedRef } from "vue";
|
|
2
|
+
export type DockDensity = "compact" | "comfortable" | "spacious" | "audacious";
|
|
3
|
+
/**
|
|
4
|
+
* The ONE GlassDock prop shape (AZ.W-DOCK-TAXONOMY — the discriminated union is
|
|
5
|
+
* gone). Every dock — horizontal or vertical — reads the SAME surface; orientation
|
|
6
|
+
* is the single layout axis and the collapse surface applies on both.
|
|
7
|
+
*/
|
|
8
|
+
export interface DockProps {
|
|
9
|
+
fitContent?: boolean;
|
|
10
|
+
position?: "fixed" | "inline" | "sticky";
|
|
11
|
+
/**
|
|
12
|
+
* Never collapse — render permanently expanded; the single opt-OUT of the
|
|
13
|
+
* collapse↔expand machinery. Default `false` (every dock is collapsible).
|
|
14
|
+
* AZ.W-DOCK-TAXONOMY — vertical docks are NO LONGER force-pinned here (a
|
|
15
|
+
* vertical dock morphs its height too; the prior `variant="rail"`
|
|
16
|
+
* always-expanded-by-construction is removed). A `layout="grid"` dock is
|
|
17
|
+
* `alwaysExpanded` BY CONTRACT (a 2D tile panel does not read as a collapsible
|
|
18
|
+
* pill). A vertical nav column that wants the static always-expanded look opts
|
|
19
|
+
* in via this prop. (A positive `collapsible` boolean was considered and
|
|
20
|
+
* rejected: Vue coerces an absent boolean prop to `false`, so a `collapsible`
|
|
21
|
+
* defaulting to `true` would need a `withDefaults` second default-path; the
|
|
22
|
+
* existing `alwaysExpanded` opt-out — which correctly defaults `false` — is the
|
|
23
|
+
* one knob, no Vue boolean-trap.)
|
|
24
|
+
*/
|
|
25
|
+
alwaysExpanded?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Corner treatment.
|
|
28
|
+
* `"pill"` — the stadium silhouette (default).
|
|
29
|
+
* `"rounded"` — a finite rounded radius (`--radius-xl`).
|
|
30
|
+
* `"card"` — the AW.W3b big-dock card shell: a finite concentric
|
|
31
|
+
* radius (`--dock-card-radius`, default `--radius-3xl`)
|
|
32
|
+
* ABOVE 2xl, below pill — does NOT collapse to a stadium.
|
|
33
|
+
* Collapsed it returns to a pill; the pill↔card swap
|
|
34
|
+
* morphs on the `--dock-motion-resize` spring. AX.W56's
|
|
35
|
+
* squircle policy applies `corner-shape:
|
|
36
|
+
* var(--corner-shape-bigdock)` here under `@supports
|
|
37
|
+
* (corner-shape: superellipse(2))` — the big-dock is the ONE
|
|
38
|
+
* surface where the superellipse reads (cards/pills stay
|
|
39
|
+
* round); the border-radius arc is the cross-engine contract.
|
|
40
|
+
*
|
|
41
|
+
* Paints on BOTH orientations (AZ.W-DOCK-TAXONOMY — `shape` is no longer
|
|
42
|
+
* variant-gated; a vertical dock reads `shape="rounded"` for the tool-palette
|
|
43
|
+
* look, a horizontal dock reads `shape="card"` for the big-dock shell).
|
|
44
|
+
*/
|
|
45
|
+
shape?: "pill" | "rounded" | "card";
|
|
46
|
+
/**
|
|
47
|
+
* Layout axis of the dock. `"horizontal"` (default) lays items out
|
|
48
|
+
* left-to-right and animates `width`; `"vertical"` lays items out
|
|
49
|
+
* top-to-bottom and animates `height`. This is the SINGLE layout axis — there
|
|
50
|
+
* is no `variant` second-way to express "vertical" (AZ.W-DOCK-TAXONOMY).
|
|
51
|
+
*/
|
|
52
|
+
orientation?: "horizontal" | "vertical";
|
|
53
|
+
/**
|
|
54
|
+
* Density controls dock padding, gaps, layer height, and inherited
|
|
55
|
+
* dock control sizing. Root CSS variables can override each density.
|
|
56
|
+
*/
|
|
57
|
+
density?: DockDensity;
|
|
58
|
+
/**
|
|
59
|
+
* Overflow strategy when the expanded content exceeds the dock's
|
|
60
|
+
* axis cap (`--dock-max-inline-size` horizontally,
|
|
61
|
+
* `--dock-max-block-size` vertically). The ONE knob governing every
|
|
62
|
+
* overflow behaviour (AT.W7-dock-a clean break — collapsed from the
|
|
63
|
+
* prior `wrap` boolean + `overflow` pair + `containerName` clip-lift,
|
|
64
|
+
* which all touched overflow divergently).
|
|
65
|
+
* `"grow"` — content grows to fit then overflows visibly past
|
|
66
|
+
* the cap (the default; nothing clips or scrolls).
|
|
67
|
+
* `"wrap"` — expanded content wraps to multiple rows via CONTENT-DRIVEN
|
|
68
|
+
* intrinsic flex-wrap (the `.dock-overflow-wrap` recipe). The
|
|
69
|
+
* dock shrink-wraps to content and caps that intrinsic width
|
|
70
|
+
* at `max-inline-size: var(--dock-max-inline-size)`, so the row
|
|
71
|
+
* reflows to N rows EXACTLY when its intrinsic width exceeds
|
|
72
|
+
* the cap — at ANY viewport width — and collapses to one row
|
|
73
|
+
* when it fits (no viewport breakpoint). The wrapped multi-row silhouette lifts
|
|
74
|
+
* onto the card/floating shadow tier as the dock expands.
|
|
75
|
+
* HORIZONTAL-ONLY: a vertical dock grows-to-fit + clamps via
|
|
76
|
+
* `--dock-max-block-size` (its own overflow story), so the
|
|
77
|
+
* `.dock-overflow-wrap` class is not emitted for a vertical
|
|
78
|
+
* orientation.
|
|
79
|
+
* `"scroll"` — the dock becomes the scroll port. Horizontal docks
|
|
80
|
+
* scroll the active layer on the inline axis
|
|
81
|
+
* (`.dock-scroll-x`); vertical docks scroll on the
|
|
82
|
+
* block axis (`.dock-scroll-y`), keeping the
|
|
83
|
+
* `max-block-size` cap. The rounded pill masks the
|
|
84
|
+
* scroll edge; the scrollbar is hidden. The axis is
|
|
85
|
+
* chosen automatically from `orientation`.
|
|
86
|
+
*/
|
|
87
|
+
overflow?: "grow" | "wrap" | "scroll";
|
|
88
|
+
/**
|
|
89
|
+
* When set, the dock root establishes an inline-size container query
|
|
90
|
+
* subject (`container-type: inline-size; container-name: <value>`) so
|
|
91
|
+
* descendants can query the named container via `@container <value>
|
|
92
|
+
* (...)` rules. ORTHOGONAL to the `overflow` clip: opting into a
|
|
93
|
+
* container subject does NOT silently change the dock's clip shell
|
|
94
|
+
* (AT.W7-dock-a — the prior clip-lift was folded out; use
|
|
95
|
+
* `overflow="wrap"` to allow multi-line content).
|
|
96
|
+
*
|
|
97
|
+
* ALWAYS-EXPANDED-ONLY (AY.W-DOCK2 §F1): `container-type: inline-size`
|
|
98
|
+
* clamps the box to its contained intrinsic size, so on a COLLAPSIBLE
|
|
99
|
+
* dock the collapse↔expand FLIP measures collapsed→collapsed and the
|
|
100
|
+
* morph FREEZES. A collapsible dock that needs deterministic targeting
|
|
101
|
+
* uses a plain `data-testid` (no layout side-effect).
|
|
102
|
+
*/
|
|
103
|
+
containerName?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Idle-collapse delay in ms (default 2000). Inert on an always-expanded dock.
|
|
106
|
+
*/
|
|
107
|
+
collapseDelay?: number;
|
|
108
|
+
/**
|
|
109
|
+
* Start in the collapsed state (default true). Applies on BOTH orientations
|
|
110
|
+
* (AZ.W-DOCK-TAXONOMY — a vertical dock starts collapsed and morphs its block
|
|
111
|
+
* axis open too). Inert on an always-expanded dock.
|
|
112
|
+
*/
|
|
113
|
+
startCollapsed?: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* In-cap arrangement. `"linear"` (default) lays the active layer out as a
|
|
116
|
+
* linear row/column. `"grid"` makes the active layer a self-wrapping tile
|
|
117
|
+
* grid (Launchpad/Stage-Manager track symmetry — `auto-fill` columns of
|
|
118
|
+
* `--dock-tile-min`). ORTHOGONAL to `overflow` (the OVER-cap strategy):
|
|
119
|
+
* `layout` is the IN-cap arrangement.
|
|
120
|
+
*
|
|
121
|
+
* Hard contract: a `layout="grid"` dock is `alwaysExpanded` (a 2D panel
|
|
122
|
+
* does not read as a collapsible pill, and no width morph means no
|
|
123
|
+
* per-frame grid reflow). The canonical pairing is
|
|
124
|
+
* `shape="card" layout="grid"` (the props stay independent — no
|
|
125
|
+
* auto-implication of `shape`).
|
|
126
|
+
*/
|
|
127
|
+
layout?: "linear" | "grid";
|
|
128
|
+
/**
|
|
129
|
+
* AZ.W-ADAPTIVE-AUTO Arm 2 (H3 arm a) — the sampled-luminance observer that
|
|
130
|
+
* DYNAMICALLY refines the W55 declarative bright-bucket darken (the iOS-27
|
|
131
|
+
* "darken dynamically" register). Default `true` (default-ON for the dock — the
|
|
132
|
+
* surface most often over a live/bright backdrop). It REFINES the floor (the
|
|
133
|
+
* unconditional self-engage + the declarative bucket stay the guarantee); a
|
|
134
|
+
* dark-substrate consumer opts out with `:auto-luminance="false"` (or
|
|
135
|
+
* `--glass-tint-strength: 0%` on the dock). The observer is rAF-throttled ≤ 4 Hz,
|
|
136
|
+
* IntersectionObserver-gated, and parks under `prefers-reduced-motion: reduce`.
|
|
137
|
+
*/
|
|
138
|
+
autoLuminance?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* The KNOWN background-layer canvas the dock floats over (an aurora/blob
|
|
141
|
+
* `<canvas>`) — an element, a getter, or a CSS selector. When present, the
|
|
142
|
+
* observer downsamples it under the dock's box each settle (the ANIMATED-backdrop
|
|
143
|
+
* case); absent, it stack-walks the painted page background (the static case).
|
|
144
|
+
*/
|
|
145
|
+
backgroundCanvas?: HTMLCanvasElement | (() => HTMLCanvasElement | null) | string | null;
|
|
146
|
+
}
|
|
147
|
+
/** The resolved shell-prop computeds the GlassDock SFC binds. */
|
|
148
|
+
export interface DockShellProps {
|
|
149
|
+
containerStyle: ComputedRef<Record<string, string> | undefined>;
|
|
150
|
+
collapseDelay: ComputedRef<number>;
|
|
151
|
+
startCollapsed: ComputedRef<boolean>;
|
|
152
|
+
layoutValue: ComputedRef<"linear" | "grid">;
|
|
153
|
+
shape: ComputedRef<"pill" | "rounded" | "card">;
|
|
154
|
+
orientation: ComputedRef<"horizontal" | "vertical">;
|
|
155
|
+
density: ComputedRef<DockDensity>;
|
|
156
|
+
scrollClass: ComputedRef<string | null>;
|
|
157
|
+
alwaysExpanded: ComputedRef<boolean>;
|
|
158
|
+
fitContent: ComputedRef<boolean>;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Derive the dock's resolved shell props off the raw `props`. The defaults are
|
|
162
|
+
* applied at each read site via `?? default` (every shared default has exactly one
|
|
163
|
+
* resolution point — the one-path precept).
|
|
164
|
+
*/
|
|
165
|
+
export declare function useDockShellProps(props: DockProps): DockShellProps;
|
|
@@ -1,4 +1,48 @@
|
|
|
1
1
|
import type { Ref } from "vue";
|
|
2
|
+
/**
|
|
3
|
+
* AX.W01 — the dock single-scalar morph: ONE spring, ONE clock, the whole box.
|
|
4
|
+
*
|
|
5
|
+
* Re-derived from first principles (the e8380d7 single-clock high-water; the
|
|
6
|
+
* 479-line VT-fork accretion is gone). The collapse↔expand (and inner pane-swap)
|
|
7
|
+
* morph runs off ONE normalized analytic spring whose progress scalar (0→1) is
|
|
8
|
+
* written once per frame to `--dock-morph-t` on the `.glass-dock` root. EVERY
|
|
9
|
+
* animated axis — inline-size, padding, border-radius, scale, background / border
|
|
10
|
+
* color, AND the child stagger — is a pure `calc()` read off that one scalar in
|
|
11
|
+
* `dock.css`. NO CSS `transition` on the root morph props; NO View-Transitions
|
|
12
|
+
* fork: the live `SpringProgress` ODE is the single authority on every engine, so
|
|
13
|
+
* iOS interruptible-physics + velocity-continuity retarget are universal, not
|
|
14
|
+
* capability-gated.
|
|
15
|
+
*
|
|
16
|
+
* The morph is a FLIP — the from→to size is measured ONCE per swap (the allowed
|
|
17
|
+
* one-time measurement primitive, never a co-driver), written as `--dock-morph-from`
|
|
18
|
+
* / `--dock-morph-to` px vars on the morphing element, and the live scalar
|
|
19
|
+
* interpolates between them in CSS. Content lays out once at natural size;
|
|
20
|
+
* `overflow:clip` on the morph axis (dock.css, gated on `data-morphing`) makes the
|
|
21
|
+
* box the reveal aperture; the spring-keyed stagger fades the children in-step.
|
|
22
|
+
*
|
|
23
|
+
* Velocity-continuity (the ONE load-bearing iOS piece): a re-toggle mid-flight
|
|
24
|
+
* re-bases the live solver onto the new span from its current velocity (the
|
|
25
|
+
* analytic re-seat keyframes.js owns) — inertia carries, no snap-from-rest. The
|
|
26
|
+
* spring constant is the published `--spring-dock` (response 0.32, ζ 0.7, ~+4.6%
|
|
27
|
+
* overshoot), the SAME analytic ODE the build-time linear() token samples.
|
|
28
|
+
*
|
|
29
|
+
* LIGHT-surface only: `SpringProgress` owns its own rAF via `.play(onFrame)` and
|
|
30
|
+
* carries no static value.js edge. NEVER import `AnimationGroup` / the `./engine`
|
|
31
|
+
* boundary — that pulls value.js into the dock bundle.
|
|
32
|
+
*
|
|
33
|
+
* BOOKED: AY.W-GOD1 — the FLIP-engine FOLD. This standalone engine is a
|
|
34
|
+
* near-duplicate of the orchestrator's FLIP-pin-measure-arm dance
|
|
35
|
+
* (`dockMorphContext.ts:onSwap`), which is the SUPERSET (it carries sibling-rebase
|
|
36
|
+
* this copy lacks). W-DOCK2 found the duplication (H-dock §D3) and BOOKED the fold
|
|
37
|
+
* to W-GOD1 (the GlassDock.vue carve touches the same FLIP code, so the carve is
|
|
38
|
+
* cleaner over ONE engine; folding now would also break the `/dock` `useLayerTransition`
|
|
39
|
+
* public re-export an external consumer reads). Until W-GOD1 lands, `proof:dock-orchestrator-single`'s
|
|
40
|
+
* FLIP DRIFT-GUARD asserts this engine and the orchestrator stay byte-faithful on
|
|
41
|
+
* the load-bearing pin-measure-arm markers, so a divergence in the shared dance REDs.
|
|
42
|
+
* The CANONICAL `DOCK_SPRING` authority is `dock/constants.ts` (the colocation home
|
|
43
|
+
* BOTH this engine and the orchestrator import); `proof:spring-tokens-synced` reads
|
|
44
|
+
* it there, NOT a per-composable copy (W-COLOCATE — the dead-witness fix, continued).
|
|
45
|
+
*/
|
|
2
46
|
export interface UseLayerTransitionOptions {
|
|
3
47
|
/** The container element that owns the stacked layer panes. */
|
|
4
48
|
containerEl: Ref<HTMLElement | null>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Component } from "vue";
|
|
2
|
+
/**
|
|
3
|
+
* AZ.W-RAIL3 — one `<DockRail>` chip descriptor: the visible facet the floating
|
|
4
|
+
* carousel strip renders (id + label + glyph). A `<script setup>` SFC cannot
|
|
5
|
+
* re-export a named type through the `export { default }` barrel, so the chip
|
|
6
|
+
* descriptor lives here (the colocated types home) and the SFC imports it; the
|
|
7
|
+
* barrel re-exports it for consumers typing their `items` array.
|
|
8
|
+
*/
|
|
9
|
+
export interface DockRailItem {
|
|
10
|
+
/** The context id this chip selects (written to `v-model:context`). */
|
|
11
|
+
id: string;
|
|
12
|
+
/** The chip label. */
|
|
13
|
+
label: string;
|
|
14
|
+
/** The chip glyph (a `@lucide/vue` icon or any component). */
|
|
15
|
+
icon?: Component;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* BA.W-DOCK-SECTIONS — the three named zone kinds the declarative `<DockSection>`
|
|
19
|
+
* descriptor renders (the R8-9 "rail core + sections + nav" three-zone gestalt):
|
|
20
|
+
* - `"rail-core"` — the leading home/brand region (the ℱ wordmark / category trigger).
|
|
21
|
+
* - `"section"` — a named, divider-demarcated group of controls; a section
|
|
22
|
+
* carrying `layers` composes the existing `DockLayerGroup`/`DockLayer`
|
|
23
|
+
* registry (NOT a parallel layer machine).
|
|
24
|
+
* - `"nav"` — the trailing nav arrows / utility group.
|
|
25
|
+
*/
|
|
26
|
+
export type DockSectionKind = "rail-core" | "section" | "nav";
|
|
27
|
+
/**
|
|
28
|
+
* BA.W-DOCK-SECTIONS — one declarative section descriptor. A consumer passes
|
|
29
|
+
* `sections: readonly DockSectionDescriptor[]` to `<DockSection>` and the dock body
|
|
30
|
+
* renders the tripartite silhouette (rail-core | divided named sections | nav)
|
|
31
|
+
* demarcated by `<DockSeparator>` — the IG-A3 / R8-9 "abstract this into a re-usable
|
|
32
|
+
* component for layering" library gap. A `<script setup>` SFC cannot re-export a named
|
|
33
|
+
* type through its default barrel, so the descriptor lives here (the colocated types
|
|
34
|
+
* home, beside `DockRailItem`) and `DockSection.vue` imports it; the barrel re-exports
|
|
35
|
+
* it for consumers typing their `sections` array.
|
|
36
|
+
*/
|
|
37
|
+
export interface DockSectionDescriptor {
|
|
38
|
+
/** Which of the three zone kinds this descriptor renders. */
|
|
39
|
+
kind: DockSectionKind;
|
|
40
|
+
/** Stable identifier — the `v-for` key + the layer-context id for a `section`. */
|
|
41
|
+
id: string;
|
|
42
|
+
/** Optional accessible label for the grouped zone. */
|
|
43
|
+
label?: string;
|
|
44
|
+
/**
|
|
45
|
+
* For a `section` kind: the contextual facets this section carries. When present
|
|
46
|
+
* (length > 1) the section's facets are the rail's chips (the W-RAIL3 move OUT of
|
|
47
|
+
* the dock body — the facets ride the seam rail, never re-inflate the box). The
|
|
48
|
+
* descriptor names them; `<DockRail :items>` renders them.
|
|
49
|
+
*/
|
|
50
|
+
layers?: readonly DockRailItem[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The ONE dock-morph spring authority — the iOS-26 interruptible-physics tuning the
|
|
54
|
+
* dock's single `SpringProgress` orchestrator (`dockMorphContext.ts`) AND the
|
|
55
|
+
* `useLayerTransition` engine both read. Co-located here so the `response`/`damping`
|
|
56
|
+
* pair is defined ONCE rather than duplicated at the top of each composable (the two
|
|
57
|
+
* prior copies were a DRY hazard — a re-tune had to touch both).
|
|
58
|
+
*/
|
|
59
|
+
export declare const DOCK_SPRING: {
|
|
60
|
+
readonly response: 0.32;
|
|
61
|
+
readonly dampingFraction: 0.7;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* The CSS properties whose `transitionend` the dock-morph window watches to know a
|
|
65
|
+
* resize-morph has settled (`useDockMorphWindow.ts`). A `transitionend` on any other
|
|
66
|
+
* property is ignored.
|
|
67
|
+
*/
|
|
68
|
+
export declare const RESIZE_MORPH_PROPS: Set<string>;
|
|
69
|
+
/** `Symbol()` label for the `DockContext` injection key (`dockContext.ts`). */
|
|
70
|
+
export declare const DOCK_CONTEXT_LABEL = "glass-ui:dock-context";
|
|
71
|
+
/** `Symbol()` label for the `DockLayerGroupContext` injection key (`dockLayerContext.ts`). */
|
|
72
|
+
export declare const DOCK_LAYER_GROUP_LABEL = "glass-ui:dock-layer-group";
|
|
73
|
+
/** `Symbol()` label for the `DockMorphContext` injection key (`dockMorphContext.ts`). */
|
|
74
|
+
export declare const DOCK_MORPH_LABEL = "glass-ui:dock-morph-context";
|
|
75
|
+
/** AZ.W-DOCK-FLICKER — the hover-hysteresis tuning pair (useDockState).
|
|
76
|
+
* HOVER_INTENT_MS: the intent-dwell before a collapsed→hover expand commits
|
|
77
|
+
* (a sweeping-edge enter is canceled by the chasing leave inside this window).
|
|
78
|
+
* EDGE_BAND_PX: the morphing-edge-sweep recheck band — a mid-morph leave with
|
|
79
|
+
* the pointer still inside (within this band of the moving edge) is the box
|
|
80
|
+
* edge sweeping past the cursor, not a real exit. */
|
|
81
|
+
export declare const HOVER_INTENT_MS = 60;
|
|
82
|
+
export declare const EDGE_BAND_PX = 24;
|
|
83
|
+
export declare const MORPH_SETTLE_MS = 320;
|
|
@@ -7,7 +7,12 @@ export { default as DockTabButton } from "./DockTabButton.vue";
|
|
|
7
7
|
export { default as DockSelectTrigger } from "./DockSelectTrigger.vue";
|
|
8
8
|
export { default as DockDropdownTrigger } from "./DockDropdownTrigger.vue";
|
|
9
9
|
export { default as DockSeparator } from "./DockSeparator.vue";
|
|
10
|
+
export { default as DockRail } from "./DockRail.vue";
|
|
11
|
+
export type { DockRailItem } from "./constants";
|
|
12
|
+
export { default as DockSection } from "./DockSection.vue";
|
|
13
|
+
export type { DockSectionDescriptor, DockSectionKind } from "./constants";
|
|
10
14
|
export type { UseDockStateOptions, UseDockStateReturn, DockState } from "./composables";
|
|
11
15
|
export { useLayerTransition } from "./composables";
|
|
12
16
|
export type { UseLayerTransitionOptions, UseLayerTransitionReturn, } from "./composables";
|
|
13
17
|
export { DOCK_CONTEXT_KEY, useDockContext, useOptionalDockContext, provideDockContext, type DockContext, type DockOrientation, type DockLayout, } from "./composables/dockContext";
|
|
18
|
+
export { useDockOrientationMorph, type DockMorphOrientation, type UseDockOrientationMorphOptions, type UseDockOrientationMorphReturn, } from "./composables/useDockOrientationMorph";
|