@mkbabb/glass-ui 5.0.0 → 6.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/README.md +30 -27
- package/dist/DropdownMenuTrigger-BzQtd9lt.js +65 -0
- package/dist/{FadingScroll-BSRLqQCx.js → FadingScroll-C1ZWEjmG.js} +32 -25
- package/dist/{Input-DKf-XwUM.js → Input-B4WQ_CMc.js} +1 -1
- package/dist/{PagerDots-BP6jh7z4.js → PagerDots-BoTQ7g5l.js} +123 -95
- package/dist/{accent-tone-solve-CBw3L0cy.js → accent-tone-solve-Dii9ePhK.js} +1 -1
- package/dist/animated-digit.js +1 -1
- package/dist/aurora.js +324 -314
- package/dist/blob-config.d.ts +0 -4
- package/dist/blob-config.js +1 -1
- package/dist/blob.js +280 -261
- package/dist/{button-BXzhydVB.js → button-32mg6xA8.js} +63 -56
- package/dist/button.js +1 -1
- package/dist/canvas.js +1 -1
- package/dist/{CardAction-2uUvjMQK.js → card-16xmzIr3.js} +29 -11
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -2
- package/dist/carousel.js +26 -95
- package/dist/chip.d.ts +0 -9
- package/dist/chip.js +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-swatch.js +1 -0
- package/dist/color.js +87 -3
- package/dist/{CommandShortcut-fmdbsEJL.js → command-BjPjUU9z.js} +56 -51
- package/dist/command.js +1 -1
- package/dist/completion-seal.js +64 -55
- package/dist/components/_shared/ModalOverlay.vue.d.ts +5 -52
- package/dist/components/_shared/field-surfaces.css +1 -0
- package/dist/components/_shared/menuItemVariants.d.ts +2 -2
- package/dist/components/_shared/useMotionAxis.d.ts +2 -2
- package/dist/components/_shared/valueDomain.d.ts +6 -0
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +1 -1
- package/dist/components/aurora/Aurora.vue.d.ts +7 -1
- package/dist/components/aurora/composables/runtime.d.ts +5 -3
- package/dist/components/aurora/composables/useAurora.d.ts +4 -2
- package/dist/components/avatar/AvatarImage.vue.d.ts +3 -1
- package/dist/components/badge/index.d.ts +2 -2
- package/dist/components/blob/Blob.vue.d.ts +11 -0
- package/dist/components/blob/composables/useMetaballRenderer.d.ts +2 -0
- package/dist/components/button/Button.vue.d.ts +4 -2
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/card/Card.vue.d.ts +4 -4
- package/dist/components/card/ScrollCard.vue.d.ts +1 -1
- package/dist/components/card/styles.css +1 -0
- package/dist/components/carousel/Carousel.vue.d.ts +2 -2
- package/dist/components/carousel/CarouselNext.vue.d.ts +1 -1
- package/dist/components/carousel/CarouselPrevious.vue.d.ts +1 -1
- package/dist/components/carousel/index.d.ts +0 -1
- package/dist/components/carousel/useCarousel.d.ts +2 -2
- package/dist/components/combobox/ComboboxList.vue.d.ts +1 -1
- package/dist/components/combobox/index.d.ts +1 -3
- package/dist/components/command/Command.vue.d.ts +1 -1
- package/dist/components/command/CommandDialog.vue.d.ts +9 -6
- package/dist/components/completion-seal/styles.css +1 -0
- package/dist/components/constellation/Constellation.vue.d.ts +6 -1
- package/dist/components/constellation/composables/useConstellation.d.ts +3 -16
- package/dist/components/constellation/constants.d.ts +6 -16
- package/dist/components/constellation/constellationField.d.ts +3 -5
- package/dist/components/constellation/constellationInteraction.d.ts +1 -1
- package/dist/components/constellation/constellationRender.d.ts +11 -21
- package/dist/components/constellation/constellationTypes.d.ts +12 -9
- package/dist/components/constellation/index.d.ts +1 -1
- package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -2
- package/dist/components/data-table/DataTable.vue.d.ts +14 -2
- package/dist/components/data-table/index.d.ts +1 -2
- package/dist/components/data-table/types.d.ts +26 -1
- package/dist/components/deck/constants.d.ts +0 -10
- package/dist/components/deck/index.d.ts +0 -1
- package/dist/components/dialog/DialogContent.vue.d.ts +7 -1
- package/dist/components/dialog/index.d.ts +0 -1
- package/dist/components/dock/DockControl.vue.d.ts +4 -4
- package/dist/components/dock/DockStack.vue.d.ts +2 -2
- package/dist/components/dock/GlassDock.vue.d.ts +1 -0
- package/dist/components/dock/composables/dockMorphContext.d.ts +2 -0
- package/dist/components/dock/composables/dockMorphMeasure.d.ts +11 -1
- package/dist/components/dock/composables/useDockClickIntegrity.d.ts +4 -0
- package/dist/components/dock/composables/useDockOverflowFit.d.ts +3 -3
- package/dist/components/dock/composables/useDockPopover.d.ts +2 -0
- package/dist/components/dock/composables/useDockShellProps.d.ts +7 -0
- package/dist/components/dock/composables/useDockState.d.ts +2 -2
- package/dist/components/dock/constants.d.ts +0 -12
- package/dist/components/dock/index.d.ts +1 -0
- package/dist/components/dock/styles/adaptive-legibility.css +1 -0
- package/dist/components/dock/styles/controls/icon-button.css +1 -0
- package/dist/{styles/dock-controls → components/dock/styles/controls}/touch-floor.css +1 -1
- package/dist/components/dock/styles/controls.css +1 -0
- package/dist/{styles/dock → components/dock/styles}/density.css +1 -1
- package/dist/components/dock/styles/dock.css +1 -0
- package/dist/components/dock/styles/index.css +1 -0
- package/dist/components/dock/styles/layer-group.css +1 -0
- package/dist/components/dock/styles/layers.css +1 -0
- package/dist/components/dock/styles/overflow.css +1 -0
- package/dist/components/dock/styles/popover.css +1 -0
- package/dist/components/dock/styles/shape.css +1 -0
- package/dist/components/dock/styles/shell.css +1 -0
- package/dist/components/drawer/Drawer.vue.d.ts +3 -3
- package/dist/components/drawer/composables/drawerSnapContext.d.ts +3 -1
- package/dist/components/drawer/constants.d.ts +6 -6
- package/dist/components/drawer/index.d.ts +4 -6
- package/dist/components/drawer/styles.css +1 -0
- package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +9 -3
- package/dist/components/dropdown-menu/index.d.ts +0 -1
- package/dist/components/easing/EasingConfigurator.vue.d.ts +1 -1
- package/dist/components/easing/EasingPicker.vue.d.ts +2 -2
- package/dist/components/easing/composables/useEasingPicker.d.ts +4 -0
- package/dist/components/easing/constants.d.ts +2 -0
- package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +3 -3
- package/dist/components/fourier-field/FourierField.vue.d.ts +7 -1
- package/dist/components/fourier-field/composables/useFourierField.d.ts +2 -1
- package/dist/components/handmark/HandMark.vue.d.ts +1 -1
- package/dist/components/handmark/geometry.d.ts +1 -1
- package/dist/components/handmark/index.d.ts +4 -6
- package/dist/components/icon-chip/styles.css +1 -0
- package/dist/components/index.d.ts +0 -1
- package/dist/components/infinite-scroll/index.d.ts +1 -0
- package/dist/components/instrument-chassis/styles.css +1 -0
- package/dist/components/labeled-field/LabeledField.vue.d.ts +12 -2
- package/dist/components/labeled-field/LabeledInput.vue.d.ts +10 -3
- package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +4 -0
- package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +2 -1
- package/dist/components/metric-stack/MetricStack.vue.d.ts +1 -1
- package/dist/components/pager-dots/PagerDots.vue.d.ts +1 -1
- package/dist/components/popover/PopoverContent.vue.d.ts +1 -1
- package/dist/components/progress/Progress.vue.d.ts +5 -40
- package/dist/components/progress/ProgressDefault.vue.d.ts +1 -17
- package/dist/components/progress/ProgressGradient.vue.d.ts +1 -0
- package/dist/components/progress/ProgressLiquid.vue.d.ts +1 -0
- package/dist/components/progress/index.d.ts +0 -5
- package/dist/components/progress/valueMarks.css +1 -0
- package/dist/components/pulse/Pulse.vue.d.ts +2 -2
- package/dist/components/scroll-progress-rim/styles.css +1 -0
- package/dist/components/search/FuzzySearch.vue.d.ts +4 -2
- package/dist/components/search/SearchBar.vue.d.ts +2 -2
- package/dist/components/search/searchVariants.d.ts +1 -1
- package/dist/components/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/select/index.d.ts +0 -2
- package/dist/components/skeleton/Skeleton.vue.d.ts +1 -1
- package/dist/components/slider/Slider.vue.d.ts +2 -0
- package/dist/components/split-chars/SplitChars.vue.d.ts +1 -1
- package/dist/components/surface/Surface.vue.d.ts +1 -1
- package/dist/components/table/Table.vue.d.ts +4 -0
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +10 -0
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/styles/drag.css +1 -0
- package/dist/components/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/timeline/ContinuousTimeline.vue.d.ts +1 -1
- package/dist/components/timeline/GlassTimeline.vue.d.ts +4 -4
- package/dist/components/toast/Toast.vue.d.ts +3 -3
- package/dist/components/toast/use-toast.d.ts +4 -4
- package/dist/components/typewriter/TypewriterText.vue.d.ts +1 -4
- package/dist/components/typewriter/composables/useTypewriter.d.ts +0 -1
- package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
- package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +2 -2
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +31 -0
- package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +3 -0
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +2 -0
- package/dist/composables/motion/springProjection.d.ts +16 -0
- package/dist/composables/motion/useAnimatedNumber.d.ts +1 -6
- package/dist/composables/motion/useCountup.d.ts +1 -6
- package/dist/composables/motion/useDockCtaReceive.d.ts +55 -0
- package/dist/composables/motion/useElementMorph.d.ts +8 -0
- package/dist/composables/motion/useLiquidPress.d.ts +12 -4
- package/dist/composables/motion/useNumericTransition.d.ts +2 -0
- package/dist/composables/motion/useTextHighlight.d.ts +2 -1
- package/dist/configurator-CSENXXSy.js +311 -0
- package/dist/configurator.js +2 -3
- package/dist/constellation.js +235 -571
- package/dist/controls.js +55 -63
- package/dist/{createCanvasLifecycle-DlrcvWbb.js → createCanvasLifecycle-hsFkQVdl.js} +32 -32
- package/dist/dark-DIH-blY1.js +70 -0
- package/dist/dark.d.ts +1 -2
- package/dist/dark.js +2 -20
- package/dist/{DataTable-Bxya8nBn.js → data-table-DveMdgBM.js} +231 -120
- package/dist/data-table.js +2 -2
- package/dist/deck.js +10 -21
- package/dist/dialog-BzQxKrUr.js +281 -0
- package/dist/dialog.js +2 -3
- package/dist/dock.js +561 -428
- package/dist/{dockContext-d-WpJN2Z.js → dockContext-4S9qP0Z4.js} +1 -1
- package/dist/dom.js +196 -7
- package/dist/drawer.js +111 -66
- package/dist/dropdown-menu-DORIA52F.js +378 -0
- package/dist/dropdown-menu.js +3 -2
- package/dist/easing.d.ts +0 -9
- package/dist/easing.js +334 -187
- package/dist/expandable-container.js +12 -4
- package/dist/fading-scroll.js +1 -1
- package/dist/focus-scope.js +1 -1
- package/dist/forms.js +37 -78
- package/dist/fourier-field.js +273 -263
- package/dist/fourier-math.d.ts +0 -6
- package/dist/fourier-math.js +112 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +131 -195
- package/dist/handmark.d.ts +0 -2
- package/dist/handmark.js +82 -82
- package/dist/header-ribbon.js +41 -30
- package/dist/{IconChip-CwLmBJ_K.js → icon-chip-BWuxz1-u.js} +1 -1
- package/dist/icon-chip.js +1 -1
- package/dist/{IconTooltip-D9sbK-Mk.js → icon-tooltip-CO6rw0dZ.js} +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/infinite-scroll.d.ts +0 -1
- package/dist/infinite-scroll.js +17 -15
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +104 -2
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +95 -69
- package/dist/liquid-grid.js +173 -162
- package/dist/metric-badge.js +3 -3
- package/dist/metric-cell.js +2 -2
- package/dist/metric-stack.js +1 -1
- package/dist/motion-core.js +15 -16
- package/dist/motion-curves.d.ts +0 -20
- package/dist/motion.js +59 -58
- package/dist/{Notification-DQv2cOh9.js → notification-DVs7ODMg.js} +17 -8
- package/dist/notification.js +1 -1
- package/dist/{NumberFieldContent-BkE7xPS9.js → number-field-PvkGedHk.js} +2 -2
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +1 -1
- package/dist/paper-backdrop.js +31 -2
- package/dist/{PopoverContent-DOtszFWK.js → popover-WMgyRSyN.js} +7 -2
- package/dist/popover.js +1 -1
- package/dist/procedural-color.wgsl-B9mLK7v0.js +377 -0
- package/dist/progress-C-HHuFZy.js +192 -0
- package/dist/progress.js +2 -2
- package/dist/pulse.js +3 -1
- package/dist/reactive.js +19 -3
- package/dist/rendererStatus-C2-zC2Q-.js +40 -0
- package/dist/{resolveCanvasColor-B3L-akX0.js → resolveCanvasColor-yarP5bdk.js} +1 -1
- package/dist/scroll-progress-rim.js +1 -1
- package/dist/search.js +187 -146
- package/dist/{SelectScrollDownButton-CDtwaWkZ.js → select-BIv4R3Ir.js} +109 -44
- package/dist/select.js +2 -4
- package/dist/separator-CBU94kTM.js +62 -0
- package/dist/separator.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/slider-Cc_qw6GA.js +166 -0
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +43 -43
- package/dist/styles/accessibility.css +1 -0
- package/dist/styles/components.css +1 -1
- package/dist/styles/glass/control-surfaces.css +1 -1
- package/dist/styles/glass/glass-capsule.css +1 -1
- package/dist/styles/glass/ladder.css +1 -1
- package/dist/styles/glass/liquid-fill.css +1 -1
- package/dist/styles/glass/material-roles.css +1 -0
- package/dist/styles/glass/material.css +1 -1
- package/dist/styles/glass/surface-axis.css +1 -1
- package/dist/styles/glass/surfaces-pager.css +1 -1
- package/dist/styles/glass/surfaces.css +1 -1
- package/dist/styles/glass.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/theme/bridges.css +1 -1
- package/dist/styles/tokens/glass-fx.css +1 -1
- package/dist/styles/tokens/glass.css +1 -1
- package/dist/styles/tokens/offsets.css +1 -1
- package/dist/styles/tokens/scale-paper.css +1 -1
- package/dist/styles/tokens/scheme-spring.css +1 -1
- package/dist/styles/tokens/shadow.css +1 -1
- package/dist/styles/tokens.d.ts +53 -0
- package/dist/styles/tokens.ts +58 -0
- package/dist/styles/typography/scale.css +1 -1
- package/dist/styles/typography/semantic.css +1 -1
- package/dist/styles/typography/utilities.css +1 -1
- package/dist/styles/utilities/base.css +1 -1
- package/dist/styles/utilities/btn.css +1 -1
- package/dist/styles/utilities/components.css +1 -1
- package/dist/styles/utilities.css +1 -1
- package/dist/{Switch-BPBfhMU3.js → switch-Boj4Ucn5.js} +1 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +51 -45
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/{ToggleGroupItem-DNWx2aSW.js → toggle-group-BPchFsns.js} +10 -7
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -53
- package/dist/tokens.js +1 -1
- package/dist/{TooltipProvider-GtfYdSVf.js → tooltip-BmOQJzh0.js} +1 -0
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +151 -166
- package/dist/{useAccentTone-D25DxviG.js → useAccentTone-C-p6WdPe.js} +1 -1
- package/dist/{useAnimatedNumber-2XC4aRB6.js → useAnimatedNumber-BRVVaFFc.js} +1 -1
- package/dist/useDockCtaReceive-CK-RLASa.js +257 -0
- package/dist/{useGooMorph-CU1pwuC6.js → useGooMorph-D1F6QJlH.js} +140 -59
- package/dist/{useIntersectionPause-Cmt5Tnv9.js → useIntersectionPause-B-dbxl9w.js} +1 -1
- package/dist/useLiquidPress-BYcwwGQV.js +68 -0
- package/dist/{useRAFLoop-CvOo_kgb.js → useRAFLoop-BtwQ9DyY.js} +1 -1
- package/dist/{useScrollProgress-C-yImzhU.js → useScrollProgress-DZI4nf4v.js} +1 -1
- package/dist/{useSelectionGroup-Btpf24aY.js → useSelectionGroup-LDzBdR1Y.js} +3 -3
- package/dist/{useTabRovingFocus-CG1H1k1J.js → useTabRovingFocus-DkLYwo4L.js} +1 -1
- package/dist/{useTouchGate-BlegwvwL.js → useTouchGate-Cj5fOkTv.js} +1 -1
- package/dist/valueDomain-B8L04u3U.js +13 -0
- package/dist/watercolor-dot.js +5 -3
- package/package.json +5 -12
- package/src/styles/accessibility.css +48 -0
- package/src/styles/glass/glass-capsule.css +2 -2
- package/src/styles/glass/ladder.css +1 -1
- package/src/styles/glass/material-roles.css +18 -0
- package/src/styles/glass/material.css +18 -12
- package/src/styles/glass.css +5 -5
- package/src/styles/index.css +38 -30
- package/src/styles/theme/bridges.css +0 -6
- package/src/styles/tokens/glass-fx.css +1 -5
- package/src/styles/tokens/glass.css +1 -2
- package/src/styles/tokens/offsets.css +0 -1
- package/src/styles/tokens/property-regs.css +11 -10
- package/src/styles/tokens/scale-paper.css +0 -1
- package/src/styles/tokens/scheme-motion.css +3 -0
- package/src/styles/tokens/scheme-spring.css +0 -10
- package/src/styles/tokens/shadow.css +3 -29
- package/src/styles/tokens.ts +58 -0
- package/src/styles/typography/scale.css +5 -2
- package/src/styles/typography/semantic.css +5 -5
- package/src/styles/typography/utilities.css +5 -5
- package/src/styles/utilities/base.css +5 -5
- package/src/styles/utilities/btn.css +6 -27
- package/src/styles/utilities.css +4 -6
- package/dist/ConfiguratorRow-BV6zPjTM.js +0 -151
- package/dist/DialogContent-Bl4v10AC.js +0 -192
- package/dist/DialogFooter-C0v4Hz2F.js +0 -168
- package/dist/PaperBackdrop-BYwE8_kg.js +0 -31
- package/dist/Progress-uWLyXE7J.js +0 -308
- package/dist/SelectGroup-BuEptUsa.js +0 -31
- package/dist/SelectSeparator-4QGephvr.js +0 -49
- package/dist/Separator-DqJ6PfOd.js +0 -44
- package/dist/color-Bp5jmv4Z.js +0 -86
- package/dist/components/carousel/GlassCarouselPager.vue.d.ts +0 -50
- package/dist/components/combobox/ComboboxSeparator.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxViewport.vue.d.ts +0 -18
- package/dist/components/constellation/composables/constellationGLSetup.d.ts +0 -10
- package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +0 -19
- package/dist/components/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
- package/dist/components/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
- package/dist/components/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
- package/dist/components/constellation/shaders/constellation-points.glsl.d.ts +0 -2
- package/dist/components/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
- package/dist/components/deck/composables/useDeckSpring.d.ts +0 -22
- package/dist/components/dialog/DialogScrollContent.vue.d.ts +0 -33
- package/dist/components/progress/ProgressSectioned.vue.d.ts +0 -47
- package/dist/components/progress/useProgressGeometry.d.ts +0 -60
- package/dist/components/section/Section.vue.d.ts +0 -73
- package/dist/components/section/index.d.ts +0 -1
- package/dist/components/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
- package/dist/components/stacked-icons/index.d.ts +0 -2
- package/dist/components/stacked-icons/types.d.ts +0 -19
- package/dist/dropdown-menu-DaGlVdp9.js +0 -421
- package/dist/math-CIEcwsYi.js +0 -112
- package/dist/procedural-color.wgsl-ByduxnzV.js +0 -4
- package/dist/slider-Cxuj_W_H.js +0 -151
- package/dist/stacked-icons.d.ts +0 -1
- package/dist/stacked-icons.js +0 -98
- package/dist/styles/cards.css +0 -1
- package/dist/styles/completion-seal.css +0 -1
- package/dist/styles/dock/adaptive-legibility.css +0 -1
- package/dist/styles/dock/dock.css +0 -1
- package/dist/styles/dock/layer-group.css +0 -1
- package/dist/styles/dock/layers.css +0 -1
- package/dist/styles/dock/overflow.css +0 -1
- package/dist/styles/dock/popover.css +0 -1
- package/dist/styles/dock/shape.css +0 -1
- package/dist/styles/dock/shell.css +0 -1
- package/dist/styles/dock-controls/icon-button.css +0 -1
- package/dist/styles/dock-controls.css +0 -1
- package/dist/styles/dock.css +0 -1
- package/dist/styles/drawer.css +0 -1
- package/dist/styles/icon-chip.css +0 -1
- package/dist/styles/instrument-chassis.css +0 -1
- package/dist/styles/scroll-progress-rim.css +0 -1
- package/dist/styles/select.css +0 -1
- package/dist/styles/tabs/segmented-tabs-drag.css +0 -1
- package/dist/styles/utilities/animate.css +0 -0
- package/dist/useConfiguratorState-Dq35N_7t.js +0 -167
- package/dist/useDockCtaReceive-BgMmeINo.js +0 -161
- package/dist/useGlobalDark-DjKMEQE2.js +0 -53
- package/dist/useGpuSubstrate-DcY584kE.js +0 -347
- package/dist/useInterval-ZATRi-1T.js +0 -18
- package/dist/useKeyboardShortcuts-ynVmNFo3.js +0 -104
- package/dist/useLiquidPress-BXNHydZh.js +0 -40
- package/dist/useTextHighlight-C46Le9u_.js +0 -72
- package/dist/useViewportReady-c0isoKL8.js +0 -191
- package/src/styles/card-scroll.css +0 -189
- package/src/styles/cards.css +0 -485
- package/src/styles/completion-seal.css +0 -205
- package/src/styles/configurator.css +0 -359
- package/src/styles/dialog-placement.css +0 -68
- package/src/styles/dock/adaptive-legibility.css +0 -119
- package/src/styles/dock/crossfade.css +0 -139
- package/src/styles/dock/cta-seat.css +0 -87
- package/src/styles/dock/density.css +0 -458
- package/src/styles/dock/dock.css +0 -199
- package/src/styles/dock/fisheye.css +0 -81
- package/src/styles/dock/layer-group.css +0 -329
- package/src/styles/dock/layers.css +0 -438
- package/src/styles/dock/morph.css +0 -455
- package/src/styles/dock/overflow.css +0 -332
- package/src/styles/dock/popover.css +0 -249
- package/src/styles/dock/search.css +0 -68
- package/src/styles/dock/section.css +0 -59
- package/src/styles/dock/shape.css +0 -188
- package/src/styles/dock/shell-regions.css +0 -73
- package/src/styles/dock/shell.css +0 -500
- package/src/styles/dock-controls/dark-mode-toggle.css +0 -123
- package/src/styles/dock-controls/icon-button.css +0 -221
- package/src/styles/dock-controls/tab-button.css +0 -143
- package/src/styles/dock-controls/touch-floor.css +0 -119
- package/src/styles/dock-controls/triggers.css +0 -157
- package/src/styles/dock-controls.css +0 -92
- package/src/styles/dock.css +0 -219
- package/src/styles/drawer.css +0 -434
- package/src/styles/feedback-tone.css +0 -104
- package/src/styles/icon-chip.css +0 -256
- package/src/styles/instrument-chassis.css +0 -449
- package/src/styles/menu.css +0 -187
- package/src/styles/scroll-progress-rim.css +0 -87
- package/src/styles/segmented-tabs.css +0 -424
- package/src/styles/select.css +0 -201
- package/src/styles/tabs/segmented-tabs-drag.css +0 -200
- package/src/styles/utilities/animate.css +0 -29
- /package/dist/{coalesce-metric-B8o7zT9u.js → coalesce-metric-znAcLzkB.js} +0 -0
- /package/dist/{CollapsibleContent-DiHcB_HH.js → collapsible-bPzS1aQk.js} +0 -0
- /package/dist/{compile-C55K3P9g.js → compile-DK3Fri1B.js} +0 -0
- /package/dist/{styles → components/_shared}/feedback-tone.css +0 -0
- /package/dist/{styles → components/_shared}/menu.css +0 -0
- /package/dist/{styles → components/card}/card-scroll.css +0 -0
- /package/dist/{styles/configurator.css → components/configurator/styles.css} +0 -0
- /package/dist/{styles/dock-controls → components/controls}/dark-mode-toggle.css +0 -0
- /package/dist/{styles/dialog-placement.css → components/dialog/placement.css} +0 -0
- /package/dist/{styles/dock-controls → components/dock/styles/controls}/tab-button.css +0 -0
- /package/dist/{styles/dock-controls → components/dock/styles/controls}/triggers.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/crossfade.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/cta-seat.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/fisheye.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/morph.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/search.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/section.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/shell-regions.css +0 -0
- /package/dist/{styles/segmented-tabs.css → components/tabs/styles/segmented.css} +0 -0
- /package/dist/{constants-D8lSMkOz.js → constants-DRZmNIY-.js} +0 -0
- /package/dist/{createContext-BQ1Gy_LB.js → createContext-FU0n5MGK.js} +0 -0
- /package/dist/{flow.glsl-CVqPSj8_.js → flow.glsl-DEGFGE11.js} +0 -0
- /package/dist/{FocusScope-BzKwhsBn.js → focus-scope-DUTKveod.js} +0 -0
- /package/dist/{InstrumentChassis-Dss5Tjcm.js → instrument-chassis-Cvstg4_U.js} +0 -0
- /package/dist/{Label-C84TaQiw.js → label-Cj38tJKG.js} +0 -0
- /package/dist/{menuItemVariants-DbO-Fr74.js → menuItemVariants-D6AOzzND.js} +0 -0
- /package/dist/{pointerFieldMappings-4VtmkOWv.js → pointerFieldMappings-CZojkgKj.js} +0 -0
- /package/dist/{presets-B07HzyKd.js → presets-CxeNvxuO.js} +0 -0
- /package/dist/{prng-B0PLRmR6.js → prng-Dz2_9RJu.js} +0 -0
- /package/dist/{scrollReader-DzYqPQ6V.js → scrollReader-C2oK9Hb8.js} +0 -0
- /package/dist/{supportsCssTimeline-Ie4xJFbD.js → supportsCssTimeline-Dz-GVxXM.js} +0 -0
- /package/dist/{Toaster-C_-WeU9W.js → toast-kAbchIN2.js} +0 -0
- /package/dist/{useControlSize-DJwe-7ZQ.js → useControlSize-CFfOk8I-.js} +0 -0
- /package/dist/{useDocumentVisibility-CpJGUgcJ.js → useDocumentVisibility-YeBDGqtI.js} +0 -0
- /package/dist/{useDragMorph-65ihHePq.js → useDragMorph-7ygF9O0m.js} +0 -0
- /package/dist/{useDragVelocity-BWcNMCux.js → useDragVelocity-CbMZEBaC.js} +0 -0
- /package/dist/{useFuzzySearch-KslRxiJY.js → useFuzzySearch-BOgep7RE.js} +0 -0
- /package/dist/{useLeadTrail-DOH4XkL1.js → useLeadTrail-BYu8dq4G.js} +0 -0
- /package/dist/{usePointerVelocityField-CwXyeW0Z.js → usePointerVelocityField-BdvnO0py.js} +0 -0
- /package/dist/{useResizeObserver-DDuoBeBo.js → useResizeObserver-BcUTquV7.js} +0 -0
- /package/dist/{useResolveTokenColor-DVT5kwv6.js → useResolveTokenColor-C07e-qaT.js} +0 -0
- /package/dist/{useRoutePointer-DL7I0gY4.js → useRoutePointer-BDNMFN73.js} +0 -0
- /package/dist/{useSpringMount-CNvvgGiC.js → useSpringMount-C6-DBx4e.js} +0 -0
- /package/dist/{useTimer-CkDV8SC2.js → useTimer-D8koDvJS.js} +0 -0
- /package/dist/{useUserInvalidAria-Bkruei7M.js → useUserInvalidAria-Cr4nR3tu.js} +0 -0
- /package/dist/{vReveal-DUmiEkX_.js → vReveal-DZfWl9XI.js} +0 -0
- /package/dist/{vSpecular-DlYN0UZy.js → vSpecular-CQFmLNzA.js} +0 -0
- /package/dist/{writeVelocityWeight-D1rvdxJu.js → writeVelocityWeight-D_AcvTsE.js} +0 -0
package/src/styles/select.css
DELETED
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* select.css — the Select content collision-bound, pre-compiled (BA.W-EMISSION).
|
|
3
|
-
*
|
|
4
|
-
* THE DEFECT (BA-VJS-A2-WO1 / valuejs-fold A-2): SelectContent.vue authored its
|
|
5
|
-
* collision-bound as a Tailwind ARBITRARY-BRACKET utility
|
|
6
|
-
* [max-height:var(--reka-popper-available-height,60dvh)]
|
|
7
|
-
* which is correct in SOURCE but compiles ONLY into a `dist/*.js` render-function
|
|
8
|
-
* chunk no consumer content-scan reaches (and the P9 emitComponentUtilities
|
|
9
|
-
* safelist rejects fully-arbitrary bracket tokens by construction). So in every
|
|
10
|
-
* consumer the bound NEVER painted — `getComputedStyle(content).maxHeight === "none"`
|
|
11
|
-
* — and a 16-item dropdown rendered 745px tall, overflowing a 900px viewport by
|
|
12
|
-
* 125px (the value.js U-DROPDOWN capture, the binding RED evidence).
|
|
13
|
-
*
|
|
14
|
-
* THE FIX: move the bound to a PRECOMPILED rule that ships in `dist/glass-ui.css`
|
|
15
|
-
* regardless of consumer JIT reach — it is a plain attribute-selector rule, not a
|
|
16
|
-
* Tailwind utility, so it always emits. The cap is the kf donor's default
|
|
17
|
-
* `min(24rem, 60dvh)` (kf design-idioms.css `--easing-dropdown-max-h`; the U8
|
|
18
|
-
* bounded-scroll reference), TIGHTENED by reka's measured
|
|
19
|
-
* `--reka-popper-available-height` on a short viewport via the inner `min()`.
|
|
20
|
-
* `overflow-y: auto` (already on the content via the CVA base) gives the inner
|
|
21
|
-
* scroll. The behaviour is identical to the authored class — it now SHIPS.
|
|
22
|
-
*
|
|
23
|
-
* --select-content-max-h is the ONE retint knob (a consumer widens/narrows the cap
|
|
24
|
-
* by overriding it on any ancestor). The default folds reka's available-height in:
|
|
25
|
-
* when reka reports a height (popper measured), the bound is the MIN of that and
|
|
26
|
-
* the 24rem/60dvh ceiling, so the panel never exceeds the viewport AND never grows
|
|
27
|
-
* past the comfortable ceiling.
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
:root {
|
|
31
|
-
/* The comfortable ceiling — the kf donor default. */
|
|
32
|
-
--select-content-max-h: min(24rem, 60dvh);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
[data-slot="select-content"] {
|
|
36
|
-
/* The collision-bound: the comfortable ceiling, tightened by reka's measured
|
|
37
|
-
available height on a short viewport. `--reka-popper-available-height` is
|
|
38
|
-
written by reka-ui's popper-positioner; on a tall viewport it exceeds the
|
|
39
|
-
ceiling (so the ceiling wins) and on a short one it clamps the panel to the
|
|
40
|
-
space below the trigger (so the panel bottoms inside the viewport). When reka
|
|
41
|
-
has not yet measured, the fallback is the ceiling alone. */
|
|
42
|
-
max-height: min(
|
|
43
|
-
var(--select-content-max-h),
|
|
44
|
-
var(--reka-popper-available-height, var(--select-content-max-h))
|
|
45
|
-
);
|
|
46
|
-
/* The inner-scroll affordance ships with the bound (the CVA base also sets
|
|
47
|
-
overflow-y-auto; restated here so the bound + scroll travel together as one
|
|
48
|
-
precompiled contract). */
|
|
49
|
-
overflow-y: auto;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/* ════════════════════════════════════════════════════════════════════════
|
|
53
|
-
BD.W-SELECT-WELL (P4 select-forms) — the welling WARM-GLASS listbox + the
|
|
54
|
-
keyed warm control EDGE. The Select is the REFERENCE consumer of the shared
|
|
55
|
-
field + capsule + accent + reveal union — every leg COMPOSES a shipped/sibling
|
|
56
|
-
register, ZERO new component, ZERO fork.
|
|
57
|
-
|
|
58
|
-
The three legs that live HERE (the consumer side):
|
|
59
|
-
· .glass-control-edge — the keyed two-stop warm rim every form control reads
|
|
60
|
-
so it has a DEFINED edge over the field (fixes the trigger box-shadow:none
|
|
61
|
-
cream-on-cream melt). Composes the SHIPPED `--glass-rim-top`/`--glass-rim-
|
|
62
|
-
bottom` keyed pair (the `--glass-key` upper-right cel key) — NOT a select-
|
|
63
|
-
private border, NOT a re-minted rim.
|
|
64
|
-
· the menu plate WARM FLOOR + α-drop — the menu reads the SHIPPED warm-capsule
|
|
65
|
-
floor (`--glass-capsule-warm` at `--glass-capsule-warm-floor`, the proven
|
|
66
|
-
meanChroma ≥ 0.02 source) so it is warm-cream even over a flat page, AND the
|
|
67
|
-
plate α drops so the warmed source + the portal field TRANSMIT.
|
|
68
|
-
· the portal warm FIELD — a clipped menu-local layer carrying the route's
|
|
69
|
-
`--field-h` (re-emitted on the portal root) so the menu transmits its route
|
|
70
|
-
identity even where the page field is faint behind the body plate.
|
|
71
|
-
════════════════════════════════════════════════════════════════════════ */
|
|
72
|
-
@layer components {
|
|
73
|
-
/* ── .glass-control-edge — the keyed warm control rim (the cream-on-cream fix) ──
|
|
74
|
-
The form controls read `.control-surface` / `.input-pill` (control-surfaces.css)
|
|
75
|
-
which carry a border + fill but `box-shadow: none` — so over a warm cream field
|
|
76
|
-
the trigger's 1.5px border melts and the control reads as a flat cream smudge.
|
|
77
|
-
This register adds the SHIPPED keyed two-stop directional rim (the bright top/
|
|
78
|
-
right catch-light + the faint warm bottom/left under-shadow, `--glass-key` upper-
|
|
79
|
-
right) so the control reads as a lifted glass plate with a defined warm edge over
|
|
80
|
-
the field. ONE register, ≥8 consumers (Select trigger + Input/Textarea/NumberField
|
|
81
|
-
pill + Checkbox/Radio + Switch track + Combobox anchor) — the DRY bar cleared by
|
|
82
|
-
construction. Composed (not re-declared): the rim is the SAME `--glass-rim-top`/
|
|
83
|
-
`--glass-rim-bottom` pair `.glass-capsule` reads, so `--glass-key` re-points BOTH
|
|
84
|
-
the capsule and the control edge from ONE handle (cel coherence). */
|
|
85
|
-
.glass-control-edge {
|
|
86
|
-
box-shadow:
|
|
87
|
-
var(--glass-rim-top),
|
|
88
|
-
var(--glass-rim-bottom);
|
|
89
|
-
}
|
|
90
|
-
/* Compose the keyed edge UNDER any control-owned ring/shadow: a control with its
|
|
91
|
-
OWN box-shadow (the Switch thumb, the focus ring on the pill) layers its shadow
|
|
92
|
-
FIRST, then the rim — the rim is the resting silhouette, the ring is the focus
|
|
93
|
-
overlay (the pill's `:focus-visible` box-shadow wins by source order + its own
|
|
94
|
-
rule). The rim travels with the control on the SHARED bezier (the pill/control-
|
|
95
|
-
surface already transition box-shadow on `--ease-standard`). */
|
|
96
|
-
|
|
97
|
-
/* ── The menu plate WARM FLOOR + α-drop (the un-gray amplifier) ──
|
|
98
|
-
The floating recipe (`.glass-floating`, ladder.css) composes
|
|
99
|
-
`color-mix(--glass-bg-floating, --glass-tint-source --glass-tint-strength)`,
|
|
100
|
-
and `--glass-tint-strength` floors at 0% at calm rest — so the menu plate is
|
|
101
|
-
near-gray-flat. RE-POINT the menu fill to compose the SHIPPED warm-capsule floor
|
|
102
|
-
(`--glass-capsule-warm` at `--glass-capsule-warm-floor`, the proven meanChroma
|
|
103
|
-
≥ 0.02 source — the SAME token the tab capsule reads, DRY) ON TOP of the floating
|
|
104
|
-
tint, AND drop the plate α so the warmed source + the portal field TRANSMIT and
|
|
105
|
-
give real L-variance (the menu is warm GLASS, never an opaque cream slab). The
|
|
106
|
-
six-layer rim/blur/shadow composite is UNTOUCHED — only the FILL admit changes. */
|
|
107
|
-
[data-slot="select-content"],
|
|
108
|
-
[data-slot="combobox-list"] {
|
|
109
|
-
/* The α-drop seam: a consumer can re-solidify via `--select-plate-alpha: 1`.
|
|
110
|
-
Default 0.90 (light) drops the ~0.80α floating base to ~0.72 effective (the
|
|
111
|
-
amendment's transmit target) so the warmed source + the portal field show
|
|
112
|
-
through while the plate keeps body. The dark arm keeps more body (see .dark
|
|
113
|
-
below). The combobox list is the SAME overlay-family warm-glass plate
|
|
114
|
-
(DRY — one warm-floor register for both portalled pickers). */
|
|
115
|
-
--select-plate-alpha: 0.90;
|
|
116
|
-
background: color-mix(
|
|
117
|
-
in oklab,
|
|
118
|
-
color-mix(
|
|
119
|
-
in oklab,
|
|
120
|
-
var(--glass-bg-floating-tinted, var(--glass-bg-floating)),
|
|
121
|
-
var(--glass-capsule-warm) var(--glass-capsule-warm-floor)
|
|
122
|
-
),
|
|
123
|
-
transparent calc((1 - var(--select-plate-alpha)) * 100%)
|
|
124
|
-
);
|
|
125
|
-
/* the cartoon weight — the SHIPPED `--shadow-cartoon-lg` warm cel stamp UNDER
|
|
126
|
-
the floating elevation so the panel reads as a physical card lifted off the
|
|
127
|
-
page. Composed onto the floating box-shadow stack via the plate's own rule
|
|
128
|
-
(the floating tier's `--glass-material-rim` + shadows stay; this ADDS the
|
|
129
|
-
cartoon under-stamp). Static, PRM-immune. */
|
|
130
|
-
box-shadow:
|
|
131
|
-
var(--glass-material-rim),
|
|
132
|
-
var(--glass-under-shadow-vivid),
|
|
133
|
-
var(--glass-shadow-floating),
|
|
134
|
-
var(--shadow-cartoon-lg);
|
|
135
|
-
}
|
|
136
|
-
.dark [data-slot="select-content"],
|
|
137
|
-
.dark [data-slot="combobox-list"] {
|
|
138
|
-
/* dark glass needs more body — the warm field reads as a glow band, not a wash
|
|
139
|
-
lost in near-black; keep the fill nearly solid so the dark menu has presence.
|
|
140
|
-
PLAIN per-mode arm (not a light-dark() fragment — the inset-shadow trap, and
|
|
141
|
-
the box-shadow above carries no inset leg but the discipline holds). */
|
|
142
|
-
--select-plate-alpha: 0.94;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/* ── .glass-field-portal — the portal-local warm field (route identity) ──
|
|
146
|
-
The menu portals to <body>, OUTSIDE the route's field, so its `backdrop-filter`
|
|
147
|
-
has nothing warm to transmit. A clipped menu-local layer BEHIND the plate (z -1,
|
|
148
|
-
NO backdrop-filter on it — glass-cannot-sample-glass avoided by construction)
|
|
149
|
-
paints a 3-stop warm spine keyed to the route's `--field-h` (re-emitted on the
|
|
150
|
-
portal root via `data-field-palette` → `--field-h`). `inset: 0` (clipped INSIDE
|
|
151
|
-
— the blur bends it THROUGH the plate as real L-variance, NOT an `inset:-20%`
|
|
152
|
-
halo leaking around the box). Defaults to `--field-h: 48` (forms terracotta)
|
|
153
|
-
when the route does not re-emit, so a bare Select still reads warm. */
|
|
154
|
-
.glass-field-portal {
|
|
155
|
-
position: relative;
|
|
156
|
-
}
|
|
157
|
-
.glass-field-portal::before {
|
|
158
|
-
content: "";
|
|
159
|
-
position: absolute;
|
|
160
|
-
inset: 0;
|
|
161
|
-
z-index: -1;
|
|
162
|
-
pointer-events: none;
|
|
163
|
-
border-radius: inherit;
|
|
164
|
-
background:
|
|
165
|
-
radial-gradient(70% 60% at 24% 22%,
|
|
166
|
-
oklch(0.92 0.08 var(--field-h, 48) / 0.55), transparent 72%),
|
|
167
|
-
radial-gradient(64% 58% at 82% 80%,
|
|
168
|
-
oklch(0.88 0.07 calc(var(--field-h, 48) + 18) / 0.50), transparent 70%),
|
|
169
|
-
radial-gradient(60% 62% at 60% 40%,
|
|
170
|
-
oklch(0.90 0.06 calc(var(--field-h, 48) - 14) / 0.48), transparent 74%);
|
|
171
|
-
}
|
|
172
|
-
/* DARK arm (PLAIN per-mode, not :global()/light-dark()) — the dark field stops lift
|
|
173
|
-
to a real glow band (oklch L ~0.22–0.30, higher chroma) so the field-thesis is met
|
|
174
|
-
in dark, not a wash lost in near-black. */
|
|
175
|
-
.dark .glass-field-portal::before {
|
|
176
|
-
background:
|
|
177
|
-
radial-gradient(70% 60% at 24% 22%,
|
|
178
|
-
oklch(0.30 0.10 var(--field-h, 48) / 0.55), transparent 72%),
|
|
179
|
-
radial-gradient(64% 58% at 82% 80%,
|
|
180
|
-
oklch(0.26 0.09 calc(var(--field-h, 48) + 18) / 0.50), transparent 70%),
|
|
181
|
-
radial-gradient(60% 62% at 60% 40%,
|
|
182
|
-
oklch(0.28 0.08 calc(var(--field-h, 48) - 14) / 0.48), transparent 74%);
|
|
183
|
-
}
|
|
184
|
-
/* honest-degraded arm — engines without oklch() get an hsl warm spine, never gray. */
|
|
185
|
-
@supports not (color: oklch(0.9 0.08 48)) {
|
|
186
|
-
.glass-field-portal::before {
|
|
187
|
-
background: radial-gradient(70% 60% at 24% 22%,
|
|
188
|
-
hsl(var(--field-h, 48) 60% 88% / 0.5), transparent 72%);
|
|
189
|
-
}
|
|
190
|
-
.dark .glass-field-portal::before {
|
|
191
|
-
background: radial-gradient(70% 60% at 24% 22%,
|
|
192
|
-
hsl(var(--field-h, 48) 45% 26% / 0.55), transparent 72%);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/* ── PRM is colour-static here — the field + floor + edge + cartoon shadow are PAINT,
|
|
198
|
-
not motion, so they REMAIN under `prefers-reduced-motion: reduce` (un-gray and
|
|
199
|
-
selection-legibility need no motion). The reveal/pour/chevron motion legs are
|
|
200
|
-
carved in their own home recipes (reveal.css / menu.css) — this consumer file
|
|
201
|
-
introduces no motion to gate. */
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/* tabs/segmented-tabs-drag.css
|
|
2
|
-
The additive DECORATION tail of the SegmentedTabs grammar: the BB.W-DRAG-MORPH `.glass-drag-lift`/`.glass-drag-grabbable` pull affordance + the BG.W-EYEGLASS-TABS iOS-27 loupe register (data-eyeglass, pill-only).
|
|
3
|
-
Carved from segmented-tabs.css to hold the no-god-module 500-line bound (BI.W-STYLE-REDRAIN); @import-ed by styles/index.css IMMEDIATELY AFTER segmented-tabs.css. Unlayered (matches segmented-tabs.css) — the tail is additive decoration with unique selectors, so the relocation is byte-isomorphic. */
|
|
4
|
-
/* ════════════════════════════════════════════════════════════════════════
|
|
5
|
-
BB.W-DRAG-MORPH — the `.glass-drag-lift` decoration (the pull affordance).
|
|
6
|
-
|
|
7
|
-
The `useDragMorph` consumer adds this class to the morph element while
|
|
8
|
-
`dragging` is true (the SegmentedTabs `:draggable` indicator; the
|
|
9
|
-
DockLayerGroup pull rail). It is the visual "this is grabbable + grabbed"
|
|
10
|
-
affordance — the GRAB cursor + a sub-perceptual `--glass-specular` catch-light
|
|
11
|
-
lift + the `will-change: transform` compositor hint that promotes the lozenge
|
|
12
|
-
to its own layer for the 1:1 follow. It carries NO transform itself (the
|
|
13
|
-
translate + squish are the primitive's own `translate`/`--stretch` writes, the
|
|
14
|
-
§6 compositor channels); this class only paints the affordance + the hint.
|
|
15
|
-
|
|
16
|
-
The grab cursor sits on the morph element AT REST too (a draggable indicator
|
|
17
|
-
reads grabbable before the grab), so `.glass-drag-grabbable` marks the rest
|
|
18
|
-
affordance and `.glass-drag-lift` adds the grabbing state. PRM does not gate
|
|
19
|
-
the cursor/hint (they are not motion); the lift is a static specular nudge. */
|
|
20
|
-
.glass-drag-grabbable {
|
|
21
|
-
cursor: grab;
|
|
22
|
-
touch-action: none;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.glass-drag-lift {
|
|
26
|
-
cursor: grabbing;
|
|
27
|
-
/* Promote to its own compositor layer for the 1:1 follow (the translate write
|
|
28
|
-
is compositor-only; the hint keeps the plate off the main-thread paint). */
|
|
29
|
-
will-change: transform;
|
|
30
|
-
/* BD.W-TAB-IOS-CAPSULE C7 — the grabbed-state catch-light COMPOSES the SHARED
|
|
31
|
-
specular-lift step declared ONCE in glass/glass-capsule.css (the
|
|
32
|
-
`.glass-capsule-hover:hover, .glass-drag-lift { --glass-specular }` group), NOT
|
|
33
|
-
a parallel `--glass-specular` fork. This block carries only the grabbing-distinct
|
|
34
|
-
bits (the grab cursor + the `will-change` hint). */
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/* ════════════════════════════════════════════════════════════════════════
|
|
38
|
-
BI.W-DRAG-REATTACH — the tabs `:draggable` z-order double-repair (Kill B).
|
|
39
|
-
|
|
40
|
-
The SegmentedTabs pill indicator is a SIBLING behind the tab buttons: at rest
|
|
41
|
-
`.segmented-indicator` is `z-0` (segmented-tabs.css) UNDER `.segmented-tab`
|
|
42
|
-
`z-10`, so the LABEL paints crisp ON TOP of the glass plate (correct — the plate
|
|
43
|
-
is a backing surface, the glyph is the foreground). But that same stack makes the
|
|
44
|
-
indicator UNGRABBABLE two ways, and both must fall or the liquid tab stays dead:
|
|
45
|
-
|
|
46
|
-
· THE GRAB BOOTSTRAP — kf `Draggable` binds `pointerdown` on the INDICATOR node,
|
|
47
|
-
yet a press on the active pill hits the z-10 BUTTON (a sibling, not an
|
|
48
|
-
ancestor of the indicator), so the gesture never reaches the drag listener.
|
|
49
|
-
On a DRAGGABLE strip (the indicator carries `.glass-drag-grabbable`) the ACTIVE
|
|
50
|
-
button forwards the press THROUGH to the indicator beneath: `pointer-events:
|
|
51
|
-
none` drops it from hit-testing WITHOUT touching paint (the label stays
|
|
52
|
-
painted on top; `elementFromPoint(indicatorCenter)` + the initial `pointerdown`
|
|
53
|
-
now land on the indicator). NON-active buttons keep `pointer-events`
|
|
54
|
-
(click-to-select is byte-identical); the active pill is grab-to-drag (the
|
|
55
|
-
iOS-27 read — the selected segment is the physical lozenge). Keyboard is
|
|
56
|
-
untouched — `pointer-events` does not gate focus or `keydown`, so the roving
|
|
57
|
-
tabindex contract stays whole (WCAG 2.1.1 alternative intact).
|
|
58
|
-
|
|
59
|
-
· THE TRAVEL OCCLUSION — once grabbed, the pulled lozenge slides across the
|
|
60
|
-
OTHER buttons; while `.glass-drag-lift` is set (useDragMorph's `dragging`),
|
|
61
|
-
raise the indicator ABOVE the z-10 labels so the traveling pill renders on top
|
|
62
|
-
and `elementFromPoint(indicatorCenter)` keeps returning the indicator (pointer
|
|
63
|
-
capture already routes the events; the lift is the paint + reachability half).
|
|
64
|
-
|
|
65
|
-
Compositor-only (z-index + hit-testing, no layout). The REST z-order is UNTOUCHED
|
|
66
|
-
— `.segmented-indicator { z-index: 0 }` still paints behind the labels at rest. */
|
|
67
|
-
.segmented-tabs:not(.segmented-tabs--underline):has(
|
|
68
|
-
.segmented-indicator.glass-drag-grabbable
|
|
69
|
-
)
|
|
70
|
-
.segmented-tab[aria-pressed="true"] {
|
|
71
|
-
pointer-events: none;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.segmented-indicator.glass-drag-lift {
|
|
75
|
-
z-index: 30;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/* ════════════════════════════════════════════════════════════════════════
|
|
79
|
-
BG.W-EYEGLASS-TABS — the iOS-27 eye-glass loupe register (ADDITIVE, pill-ONLY).
|
|
80
|
-
|
|
81
|
-
The SFC flips `data-eyeglass` on the strip host (pill-only, default-off) + composes
|
|
82
|
-
`.glass-lens` onto the indicator. This block adds the three CSS legs the mode owns
|
|
83
|
-
(the whole genuinely-new delta is deliberately small — one boolean axis, one geometry
|
|
84
|
-
token, one stage-frost token, an opt-in glyph-ink seam):
|
|
85
|
-
|
|
86
|
-
(1) THE STAGE FROST (signature #7) — the track re-points to a STRONGER frost rung so
|
|
87
|
-
the pill's `backdrop-filter` lenses a LEGIBLE smooth field (a still-noisy near-
|
|
88
|
-
sharp aurora reads worse than the reference's clean frosted stage; the nested
|
|
89
|
-
backdrop-filter compose only reads right when the pill lenses an ALREADY-frosted
|
|
90
|
-
track output). The default pill track (`.glass-capsule-track`, --glass-blur-quiet)
|
|
91
|
-
is BYTE-UNTOUCHED off eyeglass; eyeglass re-points it to `--eyeglass-track-blur`
|
|
92
|
-
(the floating rung). The rule is UNLAYERED (segmented-tabs.css is not @layer'd) so
|
|
93
|
-
it wins `.glass-capsule-track`'s (@layer components) backdrop-filter by the
|
|
94
|
-
unlayered-over-@layer cascade rule (the AZ.W-DOCK-RAIL precedent, NOT specificity).
|
|
95
|
-
|
|
96
|
-
(2) THE TWO-REST-STATE LOUPE (signature #1/#2, BI.W-TABS-FACTOR) — the pill is a
|
|
97
|
-
TWO-REST-STATE machine (TABS-GLASS-LADDER §1), NOT a static proud: a SETTLED long
|
|
98
|
-
rest (an inset plate, 0.84× the slot) ⇄ a LIVE touched/travelling/just-arrived
|
|
99
|
-
state (a proud loupe, 1.12× — spilling PAST the track). The `.segmented-indicator__plate`
|
|
100
|
-
interpolates between them via `transform: scaleY(var(--eyeglass-y))` — a COMPOSITOR
|
|
101
|
-
scale (proof:no-layout-animation holds; NOT a layout inset), on the plate's OWN
|
|
102
|
-
channel (never the outer's squish `scale` / glide `transform`). `--eyeglass-y` is a
|
|
103
|
-
calc off `--eyeglass-live-t` (0 ⇄ 1), which `useEyeglassLive` writes per-frame off
|
|
104
|
-
`useLeadTrail` — so the §2/§8.3 EDGE-ASYMMETRY (fast energize / ~270ms slow deflate)
|
|
105
|
-
emerges from the two edges. `--eyeglass-settled` (0.84) + `--eyeglass-proud` (1.12,
|
|
106
|
-
the ratified retune knob) are bare `<number>` RATIOS — viewport-invariant (a ratio
|
|
107
|
-
holds across breakpoints by construction, the stadium-radius precedent; no @640
|
|
108
|
-
re-declaration), NEVER a border-radius (the stadium is untouched, T1-safe). PRM
|
|
109
|
-
pins `--eyeglass-y: 1` (the flat slot-fill capsule — the calm degrade floor). A
|
|
110
|
-
consumer sets both ratios to 1 for a flat pill (the token-first escape).
|
|
111
|
-
|
|
112
|
-
(3) THE SELECTED-GLYPH ACCENT INK (signature #6, the CONTRAST-SPLIT) — the selected
|
|
113
|
-
GLYPH (a graphic, WCAG-1.4.11 3:1) tints via `--tab-selected-ink` on a DESCENDANT
|
|
114
|
-
`svg` selector (AC4 — NEVER the tab's own `color`, which drives the LABEL and must
|
|
115
|
-
stay --foreground for the AA 4.5:1 floor / T5). Default no-op: `--tab-selected-ink`
|
|
116
|
-
unset → the glyph resolves --foreground (byte-identical to a non-eyeglass pill). A
|
|
117
|
-
consumer sets `--tab-selected-ink: <accent>` to reproduce the cyan-glyph read
|
|
118
|
-
(presets-in-consumers). The accent RIM + the commit FLOOD ride the shipped
|
|
119
|
-
`--glass-accent` + `--tab-flood-t` registers (consumer-set, no-op at their
|
|
120
|
-
transparent/0 defaults). The calm↔busy attenuation rides the STATIC
|
|
121
|
-
`--glass-backdrop: light|dark` bucket (the shipped floor); the LIVE
|
|
122
|
-
useGlassBackdropLuminance observer is BOOKED, its animated sample path DEAD on disk
|
|
123
|
-
(BG.W-GLASS-SIGNAL-TRUTH) — a bare wire would also be dead, so it stays booked
|
|
124
|
-
(NF-honest — no ≥2-consumer promotion of a dead mechanism).
|
|
125
|
-
|
|
126
|
-
HONEST DEGRADE (NO-MASKING-FALLBACK): off `backdrop-filter: url()` engines the whole
|
|
127
|
-
refraction fails the `.glass-lens` `@supports` gate → the un-gated blur+tint+rim+specular
|
|
128
|
-
`.glass-capsule` proud loupe paints — a real glass surface making NO loupe claim (the
|
|
129
|
-
reference itself uses this state over calm backdrops). NO pre-baked "magnified" image, NO
|
|
130
|
-
broken `url()`, NO drop-and-restore mid-travel. BOOKED successors: the T1 cross-engine
|
|
131
|
-
clone-loupe (a CSS-duplicable backdrop), the chromatic-aberration RGB-split rim
|
|
132
|
-
(W-LENSING color-split), the live ambient-observer wire (a fired writer-witness). The
|
|
133
|
-
spring/clock are FROZEN (`--tab-indicator-duration` = `--spring-snappy-duration`; the
|
|
134
|
-
size caps stay in their distinct bands — stretch ≤1.2, blob area ≤1.14); the dual-engine
|
|
135
|
-
60fps frame-series π judges both arms (Chromium refraction + Safari honest capsule) vs
|
|
136
|
-
the bar60/ kinematics+optics ladder.
|
|
137
|
-
════════════════════════════════════════════════════════════════════════ */
|
|
138
|
-
|
|
139
|
-
/* (1) + (2) declarations — the two-rest-state geometry ratios + the stronger STAGE frost. */
|
|
140
|
-
.segmented-tabs[data-eyeglass] {
|
|
141
|
-
/* (2) THE TWO-REST-STATE loupe geometry (§1/§8.1) — bare `<number>` RATIOS, driven
|
|
142
|
-
by `--eyeglass-live-t` on the plate `scaleY` (viewport-invariant; NO @640 re-declare,
|
|
143
|
-
NOT a length, NOT a border-radius — T1-safe). `--eyeglass-proud` is the single
|
|
144
|
-
ratified retune knob; a consumer sets both to `1` for the flat pill. */
|
|
145
|
-
--eyeglass-settled: 0.84; /* SETTLED — the inset long-rest plate (§1: 0.80–0.88×). */
|
|
146
|
-
--eyeglass-proud: 1.12; /* LIVE — the proud loupe (§1: 1.07–1.18×); the retune knob. */
|
|
147
|
-
/* Signature #7 — the STRONGER stage frost the loupe bends (the floating rung, deeper
|
|
148
|
-
than the calm quiet track the plain pill keeps). */
|
|
149
|
-
--eyeglass-track-blur: var(--glass-blur-floating);
|
|
150
|
-
backdrop-filter: var(--eyeglass-track-blur);
|
|
151
|
-
-webkit-backdrop-filter: var(--eyeglass-track-blur);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/* (2) THE PLATE MAGNIFY — the two-rest-state block-proud `scaleY`. The plate reads the
|
|
155
|
-
inherited `--eyeglass-live-t` (0 ⇄ 1) and interpolates SETTLED → LIVE. `--eyeglass-y`
|
|
156
|
-
is the ONE derived scale factor the plate transform (segmented-tabs.css) reads. NO
|
|
157
|
-
transition here — `useLeadTrail` (via `useEyeglassLive`) is the animator on the live
|
|
158
|
-
path; the `@property --eyeglass-live-t` covers the discrete/degrade path. */
|
|
159
|
-
.segmented-tabs[data-eyeglass] .segmented-indicator__plate {
|
|
160
|
-
--eyeglass-y: calc(
|
|
161
|
-
var(--eyeglass-settled) +
|
|
162
|
-
var(--eyeglass-live-t) * (var(--eyeglass-proud) - var(--eyeglass-settled))
|
|
163
|
-
);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/* PRM (motion-canon P6) — the loupe rests as a FLAT slot-fill capsule under reduced
|
|
167
|
-
motion (the calm degrade floor): the deform is off, the state confirms. `useLeadTrail`
|
|
168
|
-
also seats `--eyeglass-live-t` instantly under PRM (belt-and-suspenders). */
|
|
169
|
-
@media (prefers-reduced-motion: reduce) {
|
|
170
|
-
.segmented-tabs[data-eyeglass] .segmented-indicator__plate {
|
|
171
|
-
--eyeglass-y: 1;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/* (1) belt-and-suspenders (AC1) — re-assert the FLOATING blur rung on the eyeglass lens.
|
|
176
|
-
`.glass-lens` (glass-refract.css) paints `--glass-blur-resting url(#…)` inside its own
|
|
177
|
-
`@supports` gate; on Chromium that is a LIGHTER frost than the capsule floor, and on
|
|
178
|
-
Safari-26 (which historically returns TRUE for the @supports probe but renders the url()
|
|
179
|
-
as nothing — WebKit bug 245510) it would leave a wrong lighter rung with NO refraction
|
|
180
|
-
("tried and painted nothing"). Re-pointing to `--glass-blur-floating` keeps Chromium a
|
|
181
|
-
strong loupe AND lands Safari on the honest floating-frost floor. Stays INSIDE the same
|
|
182
|
-
`@supports` gate (no refraction sits outside it) and reads the shipped BAKED
|
|
183
|
-
`--glass-refract-filter` (no revived var()-scale-splice — DDR-LENS-BAKE). The lens now
|
|
184
|
-
lives on the nested `.segmented-indicator__plate` (BI.W-TABS-FACTOR — the magnify
|
|
185
|
-
channel), so the selector reaches it there. */
|
|
186
|
-
@supports (backdrop-filter: url("#glass-refract")) {
|
|
187
|
-
.segmented-tabs[data-eyeglass] .segmented-indicator__plate.glass-lens {
|
|
188
|
-
backdrop-filter: var(--glass-blur-floating) var(--glass-refract-filter);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
/* (3) THE SELECTED-GLYPH ACCENT INK (C7/AC4) — the CONTRAST-SPLIT: the selected GLYPH (a
|
|
193
|
-
graphic, 3:1) tints via `--tab-selected-ink` on a DESCENDANT svg selector, NEVER the
|
|
194
|
-
tab's own `color` (which drives the LABEL and must stay --foreground for AA 4.5:1 / T5).
|
|
195
|
-
Default no-op — `--tab-selected-ink` unset → the glyph resolves --foreground, the SAME
|
|
196
|
-
ink the tab already inherits. A consumer sets `--tab-selected-ink: var(--glass-accent)`
|
|
197
|
-
or a `<hue>` to reproduce the reference cyan-glyph read. */
|
|
198
|
-
.segmented-tabs[data-eyeglass] .segmented-tab[aria-pressed="true"] svg {
|
|
199
|
-
color: var(--tab-selected-ink, var(--foreground));
|
|
200
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/* utilities/animate.css
|
|
2
|
-
BB.W-LIQUID-REVEAL — the popover/dropdown shared enter recipe RETIRED.
|
|
3
|
-
@import-ed by utilities.css in cascade order. See
|
|
4
|
-
docs/precepts/design-idioms.md §cohesion-aware partials. */
|
|
5
|
-
|
|
6
|
-
/* ── RETIRED at BB.W-LIQUID-REVEAL (clean break, no alias — BB inv-7 no-legacy) ──
|
|
7
|
-
*
|
|
8
|
-
* `@utility popover-animate` (the tw-animate-css fixed-bezier zoom-95 + fade-0 enter)
|
|
9
|
-
* AND `@utility slide-in-from-side` (the data-side directional slide) are DELETED.
|
|
10
|
-
* They were the generic cubic-bezier zoom-95 over the same `--duration-normal` wall
|
|
11
|
-
* clock for every surface — "presses spring, reveals don't" (the §6/W-MOTION-CANON
|
|
12
|
-
* half-applied enter). The SPRING-CLOCKED LIQUID-ENTER recipe `.glass-reveal`
|
|
13
|
-
* (src/styles/glass/reveal.css) REPLACES both:
|
|
14
|
-
* - the scale+fade ride `--spring-snappy` + `--spring-snappy-duration` (the
|
|
15
|
-
* W-GLASS-CAL Unit 3 per-spring clock) with the coupled `filter: blur(4px)→0`
|
|
16
|
-
* light-bending decongest (the iOS-27 bloom);
|
|
17
|
-
* - the directional `slide-in-from-side` folds onto `.glass-reveal`'s `data-side`
|
|
18
|
-
* compositor `translate` leg (on the SAME spring clock).
|
|
19
|
-
*
|
|
20
|
-
* The ≥8 reka portaled overlays (Dialog/Popover/Tooltip/HoverCard/DropdownMenu/
|
|
21
|
-
* ContextMenu/Combobox/Select) compose `.glass-reveal` directly; the
|
|
22
|
-
* `useLiquidReveal` JS leaf (composables/motion/useLiquidReveal.ts) is the
|
|
23
|
-
* source-rect bloom REFINEMENT (the dialog-from-button / dock-from-pill case).
|
|
24
|
-
*
|
|
25
|
-
* Do NOT re-add an unlayered `@utility popover-animate`/`slide-in-from-side` — the
|
|
26
|
-
* recipe is `@layer components` `.glass-reveal`; an unlayered utility would win the
|
|
27
|
-
* cascade over it (the AZ dock-rail `@layer`-loses-to-utility trap). Machine-locked
|
|
28
|
-
* by proof:liquid-reveal R3 (the negative — no enrolled surface retains
|
|
29
|
-
* popover-animate). */
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|