@mkbabb/glass-ui 4.0.1 → 4.2.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-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
- package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
- package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
- package/dist/ContextMenuContent-CMWn6huB.js +90 -0
- package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
- package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
- package/dist/DialogContent-D8U9ZfWS.js +121 -0
- package/dist/DialogFooter-DoLy0ewI.js +80 -0
- package/dist/DialogScrollContent-BMekN7gq.js +93 -0
- package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
- package/dist/HoverCardContent-DAmGYglo.js +88 -0
- package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
- package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
- package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
- package/dist/Input-CyU4_hIC.js +57 -0
- package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
- package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
- package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
- package/dist/PagerDots-CYlqVFd4.js +196 -0
- package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
- package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
- package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
- package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
- package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
- package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
- package/dist/Separator-Cf9-JFgi.js +44 -0
- package/dist/Switch-uf-UKPA2.js +49 -0
- package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
- package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
- package/dist/TooltipProvider-QQVM_80r.js +109 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +16 -32
- package/dist/api/types-extra.d.ts +33 -0
- package/dist/api.js +2 -2
- package/dist/aurora.js +629 -269
- package/dist/badge-Bt14yURi.js +72 -0
- package/dist/badge.js +1 -1
- package/dist/border-progress.js +49 -57
- package/dist/button-D1W9PrzI.js +130 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -3
- package/dist/card.js +1 -1
- package/dist/carousel.js +235 -106
- package/dist/chipVariants-BJQ0I2kB.js +18 -0
- package/dist/collapsible.js +1 -1
- package/dist/color-B9jZdhJX.js +116 -0
- package/dist/color.js +2 -2
- package/dist/command.js +1 -1
- package/dist/completion-seal.d.ts +1 -0
- package/dist/completion-seal.js +89 -0
- package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
- package/dist/components/custom/aurora/composables/color.d.ts +13 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
- package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
- package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
- package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
- package/dist/components/custom/border-progress/index.d.ts +1 -1
- package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
- package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
- package/dist/components/custom/completion-seal/constants.d.ts +46 -0
- package/dist/components/custom/completion-seal/index.d.ts +4 -0
- package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
- package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
- package/dist/components/custom/concentric/constants.d.ts +69 -24
- package/dist/components/custom/concentric/index.d.ts +2 -2
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
- package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
- package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
- package/dist/components/custom/configurator/index.d.ts +1 -1
- package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
- package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
- package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
- package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
- package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
- package/dist/components/custom/constellation/constants.d.ts +33 -0
- package/dist/components/custom/constellation/constellationField.d.ts +31 -1
- package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
- package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
- package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
- package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
- package/dist/components/custom/constellation/index.d.ts +5 -5
- package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
- package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
- package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
- package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
- package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
- package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
- package/dist/components/custom/deck/constants.d.ts +14 -0
- package/dist/components/custom/deck/index.d.ts +8 -0
- package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
- package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
- package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
- package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
- package/dist/components/custom/dock/composables/index.d.ts +3 -0
- package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
- package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
- package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
- package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
- package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
- package/dist/components/custom/dock/constants.d.ts +32 -17
- package/dist/components/custom/dock/index.d.ts +8 -2
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
- package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
- package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
- package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
- package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
- package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
- package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +61 -0
- package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
- package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
- package/dist/components/custom/dot-matrix/constants.d.ts +72 -0
- package/dist/components/custom/dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
- package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
- package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
- package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
- package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
- package/dist/components/custom/fourier-field/constants.d.ts +114 -4
- package/dist/components/custom/fourier-field/index.d.ts +23 -18
- package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
- package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
- package/dist/components/custom/goo-blob/constants.d.ts +26 -1
- package/dist/components/custom/goo-blob/index.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
- package/dist/components/custom/goo-blob/types.d.ts +86 -1
- package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +79 -0
- package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
- package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
- package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -0
- package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +13 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
- package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
- package/dist/components/custom/goo-filter/index.d.ts +1 -0
- package/dist/components/custom/handmark/brush.d.ts +17 -17
- package/dist/components/custom/handmark/constants.d.ts +28 -8
- package/dist/components/custom/handmark/geometry.d.ts +34 -1
- package/dist/components/custom/handmark/index.d.ts +1 -1
- package/dist/components/custom/icon-chip/types.d.ts +10 -0
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
- package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
- package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
- package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
- package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
- package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -0
- package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
- package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
- package/dist/components/custom/paper-grid/constants.d.ts +95 -0
- package/dist/components/custom/paper-grid/index.d.ts +5 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
- package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
- package/dist/components/custom/search/index.d.ts +2 -0
- package/dist/components/custom/search/searchVariants.d.ts +19 -0
- package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
- package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
- package/dist/components/custom/selectable-chip/index.d.ts +2 -0
- package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -0
- package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
- package/dist/components/custom/split-chars/index.d.ts +1 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
- package/dist/components/custom/tabs/constants.d.ts +28 -2
- package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
- package/dist/components/custom/timeline/geometry.d.ts +0 -8
- package/dist/components/custom/toggle-chip/index.d.ts +15 -4
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -17
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
- package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
- package/dist/components/ui/badge/index.d.ts +1 -0
- package/dist/components/ui/button/Button.vue.d.ts +1 -0
- package/dist/components/ui/button/index.d.ts +1 -1
- package/dist/components/ui/card/Card.vue.d.ts +46 -1
- package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
- package/dist/components/ui/card/index.d.ts +1 -1
- package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
- package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
- package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
- package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
- package/dist/components/ui/drawer/constants.d.ts +8 -6
- package/dist/components/ui/drawer/index.d.ts +12 -2
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
- package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
- package/dist/components/ui/input/Input.vue.d.ts +3 -0
- package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
- package/dist/components/ui/select/SelectContent.vue.d.ts +12 -0
- package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
- package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
- package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
- package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
- package/dist/composables/color/index.d.ts +2 -0
- package/dist/composables/color/useAccentTone.d.ts +34 -0
- package/dist/composables/dom/index.d.ts +1 -0
- package/dist/composables/dom/useDragVelocity.d.ts +46 -0
- package/dist/composables/glass/useVizChoreography.d.ts +123 -0
- package/dist/composables/glass/wave/index.d.ts +4 -0
- package/dist/composables/glass/wave/waveField.d.ts +115 -0
- package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
- package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
- package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
- package/dist/composables/glass/webgpu/index.d.ts +2 -1
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
- package/dist/composables/motion/core/index.d.ts +7 -0
- package/dist/composables/motion/core/useHaptic.d.ts +48 -0
- package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
- package/dist/composables/motion/index.d.ts +2 -0
- package/dist/composables/motion/scrollReader.d.ts +25 -0
- package/dist/composables/motion/springPresets.d.ts +19 -1
- package/dist/composables/motion/suite.d.ts +2 -2
- package/dist/composables/motion/useBloomUp.d.ts +97 -0
- package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
- package/dist/composables/motion/useCharStagger.d.ts +44 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
- package/dist/composables/motion/useGooMorph.d.ts +72 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
- package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
- package/dist/composables/motion/useLiquidPress.d.ts +12 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
- package/dist/composables/motion/useMorphField.d.ts +157 -0
- package/dist/composables/motion/useScrollChrome.d.ts +58 -0
- package/dist/composables/motion/useScrollPin.d.ts +49 -0
- package/dist/composables/motion/useScrollScene.d.ts +67 -0
- package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
- package/dist/composables/motion/useSpringPress.d.ts +5 -5
- package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
- package/dist/composables/sidebar/index.d.ts +4 -1
- package/dist/composables/sidebar/types.d.ts +68 -3
- package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
- package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
- package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
- package/dist/composables/virtual/index.d.ts +4 -0
- package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
- package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
- package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
- package/dist/concentric.js +552 -309
- package/dist/configurator.js +2 -2
- package/dist/confirm-dialog.js +62 -47
- package/dist/constellation.js +635 -235
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +2 -2
- package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck.d.ts +1 -0
- package/dist/deck.js +105 -0
- package/dist/dialog.js +4 -3
- package/dist/dock.js +1320 -631
- package/dist/dockContext-gFVS2gMg.js +18 -0
- package/dist/dom.js +7 -6
- package/dist/dot-flow-field.js +1268 -387
- package/dist/dot-matrix.d.ts +1 -0
- package/dist/dot-matrix.js +774 -0
- package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
- package/dist/drawer.js +106 -96
- package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.js +188 -176
- package/dist/expandable-container.js +43 -21
- package/dist/fading-scroll.js +1 -1
- package/dist/flow.glsl-DqEGRpl4.js +4 -0
- package/dist/forms.js +64 -62
- package/dist/fourier-field.js +1069 -178
- package/dist/fourier-math.js +1 -1
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +164 -119
- package/dist/goo-blob.js +175 -1230
- package/dist/goo-dot-matrix.d.ts +1 -0
- package/dist/goo-dot-matrix.js +811 -0
- package/dist/handmark.js +137 -94
- 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.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +70 -60
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +1 -1
- package/dist/metric-stack.js +12 -3
- package/dist/motion-core.js +59 -34
- package/dist/motion-curves.js +30 -14
- package/dist/motion.js +231 -96
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +2 -91
- package/dist/paper-backdrop.js +1 -1
- package/dist/paper-grid.d.ts +1 -0
- package/dist/paper-grid.js +761 -0
- package/dist/paperGrid-CXCSMbZ1.js +191 -0
- package/dist/popover.js +1 -1
- package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
- package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
- package/dist/progress.js +1 -1
- package/dist/pulse.js +2 -2
- package/dist/reactive.js +2 -2
- package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
- package/dist/scrollReader-rc3Ns_NM.js +42 -0
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +162 -306
- package/dist/select.js +3 -3
- package/dist/selectable-chip.d.ts +1 -0
- package/dist/selectable-chip.js +48 -0
- package/dist/separator.js +1 -1
- package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
- package/dist/sheet.js +1 -1
- package/dist/sidebar.js +216 -114
- package/dist/slider-CcICPe3u.js +149 -0
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/spectrum-walk-cBNSx_zm.js +33 -0
- package/dist/springPresets-DfoQ6XRY.js +64 -0
- package/dist/stacked-icons.js +54 -39
- package/dist/styles/animations.css +13 -3
- package/dist/styles/cards.css +271 -2
- package/dist/styles/completion-seal.css +131 -0
- package/dist/styles/components.css +1 -4
- package/dist/styles/configurator.css +221 -1
- package/dist/styles/critical-partition.mjs +66 -11
- package/dist/styles/deferred.css +4 -0
- package/dist/styles/dock/adaptive-legibility.css +119 -0
- package/dist/styles/dock/cta-seat.css +87 -0
- package/dist/styles/dock/density.css +167 -6
- package/dist/styles/dock/fission-bridge.css +552 -0
- package/dist/styles/dock/layers.css +90 -78
- package/dist/styles/dock/morph-bridge.css +67 -18
- package/dist/styles/dock/morph.css +57 -118
- package/dist/styles/dock/overflow.css +12 -0
- package/dist/styles/dock/search.css +68 -0
- package/dist/styles/dock/shape.css +250 -0
- package/dist/styles/dock/shell.css +24 -8
- package/dist/styles/dock/stack-rail.css +352 -0
- package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/dist/styles/dock-controls/icon-button.css +46 -0
- package/dist/styles/dock-controls/triggers.css +23 -1
- package/dist/styles/dock-controls.css +18 -0
- package/dist/styles/dock.css +27 -2
- package/dist/styles/drawer.css +166 -0
- package/dist/styles/glass/accent-tone.css +66 -0
- package/dist/styles/glass/control-surfaces.css +167 -0
- package/dist/styles/glass/glass-atom.css +244 -0
- package/dist/styles/glass/glass-capsule.css +143 -0
- package/dist/styles/glass/glass-chip.css +215 -0
- package/dist/styles/glass/ladder.css +67 -17
- package/dist/styles/glass/liquid-enter.css +252 -0
- package/dist/styles/glass/liquid-morph.css +850 -0
- package/dist/styles/glass/material.css +70 -1
- package/dist/styles/glass/reveal.css +22 -2
- package/dist/styles/glass/rim.css +31 -9
- package/dist/styles/glass/surfaces.css +81 -150
- package/dist/styles/glass.css +21 -0
- package/dist/styles/icon-chip.css +45 -0
- package/dist/styles/index.css +26 -0
- package/dist/styles/jubilance.css +65 -0
- package/dist/styles/motion/morph-field.css +229 -0
- package/dist/styles/paper.css +230 -14
- package/dist/styles/scroll-choreography.css +135 -78
- package/dist/styles/scroll-chrome.css +123 -0
- package/dist/styles/scroll-driven.css +38 -0
- package/dist/styles/segmented-tabs.css +110 -40
- package/dist/styles/select.css +151 -0
- package/dist/styles/theme/bridges.css +22 -0
- package/dist/styles/theme/radius.css +18 -1
- package/dist/styles/tokens/color-radius.css +14 -4
- package/dist/styles/tokens/dark-arm.css +94 -12
- package/dist/styles/tokens/glass-deep.css +33 -4
- package/dist/styles/tokens/glass-fx.css +122 -1
- package/dist/styles/tokens/glass.css +226 -34
- package/dist/styles/tokens/light-dark.css +3 -3
- package/dist/styles/tokens/offsets.css +27 -0
- package/dist/styles/tokens/property-regs.css +277 -0
- package/dist/styles/tokens/scale-paper.css +86 -30
- package/dist/styles/tokens/scheme-motion.css +106 -133
- package/dist/styles/tokens/scheme-spring.css +239 -0
- package/dist/styles/tokens/scroll-tokens.css +15 -15
- package/dist/styles/tokens/shadow.css +73 -13
- package/dist/styles/tokens/sizing-config.css +110 -0
- package/dist/styles/tokens/sizing.css +55 -104
- package/dist/styles/tokens.css +14 -2
- package/dist/styles/typography/semantic.css +18 -5
- package/dist/styles/utilities/a11y-overrides.css +20 -5
- package/dist/styles/utilities/base-misc.css +52 -0
- package/dist/styles/utilities/btn.css +84 -3
- package/dist/styles/utilities/components.css +31 -6
- package/dist/styles/utilities/metal.css +26 -0
- package/dist/switch.js +1 -1
- package/dist/tabs.js +199 -182
- package/dist/timeline.js +241 -206
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +14 -41
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +2 -2
- package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
- package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
- package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
- package/dist/useControlSize-DAZ062x7.js +9 -0
- package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
- package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
- package/dist/useDragVelocity-CjcfX3dA.js +57 -0
- package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
- package/dist/useGooMorph-Cs13NgYL.js +104 -0
- package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
- package/dist/useHaptic-CPz5BT9I.js +134 -0
- package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
- package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
- package/dist/useMorphField-ogBM7ubT.js +141 -0
- package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
- package/dist/useScrollChrome-JuImi1DM.js +258 -0
- package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
- package/dist/useSpringPress-VM9RgVq3.js +36 -0
- package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
- package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
- package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
- package/dist/virtual.d.ts +1 -0
- package/dist/virtual.js +225 -0
- package/dist/watercolor-dot.js +107 -74
- package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
- package/package.json +140 -9
- package/src/styles/animations.css +13 -3
- package/src/styles/cards.css +271 -2
- package/src/styles/completion-seal.css +131 -0
- package/src/styles/configurator.css +221 -1
- package/src/styles/critical-partition.mjs +66 -11
- package/src/styles/dock/adaptive-legibility.css +119 -0
- package/src/styles/dock/cta-seat.css +87 -0
- package/src/styles/dock/density.css +167 -6
- package/src/styles/dock/fission-bridge.css +552 -0
- package/src/styles/dock/layers.css +90 -78
- package/src/styles/dock/morph-bridge.css +67 -18
- package/src/styles/dock/morph.css +57 -118
- package/src/styles/dock/overflow.css +12 -0
- package/src/styles/dock/search.css +68 -0
- package/src/styles/dock/shape.css +250 -0
- package/src/styles/dock/shell.css +24 -8
- package/src/styles/dock/stack-rail.css +352 -0
- package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/src/styles/dock-controls/icon-button.css +46 -0
- package/src/styles/dock-controls/triggers.css +23 -1
- package/src/styles/dock-controls.css +18 -0
- package/src/styles/dock.css +27 -2
- package/src/styles/drawer.css +164 -0
- package/src/styles/glass/accent-tone.css +66 -0
- package/src/styles/glass/control-surfaces.css +167 -0
- package/src/styles/glass/glass-atom.css +244 -0
- package/src/styles/glass/glass-capsule.css +143 -0
- package/src/styles/glass/glass-chip.css +215 -0
- package/src/styles/glass/ladder.css +67 -17
- package/src/styles/glass/liquid-enter.css +252 -0
- package/src/styles/glass/liquid-morph.css +850 -0
- package/src/styles/glass/material.css +70 -1
- package/src/styles/glass/reveal.css +22 -2
- package/src/styles/glass/rim.css +31 -9
- package/src/styles/glass/surfaces.css +81 -150
- package/src/styles/glass.css +21 -0
- package/src/styles/icon-chip.css +45 -0
- package/src/styles/index.css +26 -0
- package/src/styles/jubilance.css +65 -0
- package/src/styles/motion/morph-field.css +229 -0
- package/src/styles/paper.css +230 -14
- package/src/styles/scroll-choreography.css +135 -78
- package/src/styles/scroll-chrome.css +123 -0
- package/src/styles/scroll-driven.css +38 -0
- package/src/styles/segmented-tabs.css +110 -36
- package/src/styles/select.css +151 -0
- package/src/styles/theme/bridges.css +22 -0
- package/src/styles/theme/radius.css +18 -1
- package/src/styles/tokens/color-radius.css +14 -4
- package/src/styles/tokens/dark-arm.css +94 -12
- package/src/styles/tokens/glass-deep.css +33 -4
- package/src/styles/tokens/glass-fx.css +122 -1
- package/src/styles/tokens/glass.css +226 -34
- package/src/styles/tokens/light-dark.css +3 -3
- package/src/styles/tokens/offsets.css +27 -0
- package/src/styles/tokens/property-regs.css +277 -0
- package/src/styles/tokens/scale-paper.css +86 -30
- package/src/styles/tokens/scheme-motion.css +106 -133
- package/src/styles/tokens/scheme-spring.css +239 -0
- package/src/styles/tokens/scroll-tokens.css +15 -15
- package/src/styles/tokens/shadow.css +73 -13
- package/src/styles/tokens/sizing-config.css +110 -0
- package/src/styles/tokens/sizing.css +55 -104
- package/src/styles/tokens.css +14 -2
- package/src/styles/typography/semantic.css +18 -5
- package/src/styles/utilities/a11y-overrides.css +20 -5
- package/src/styles/utilities/base-misc.css +52 -0
- package/src/styles/utilities/btn.css +84 -3
- package/src/styles/utilities/components.css +31 -6
- package/src/styles/utilities/metal.css +26 -0
- package/dist/ContextMenuContent-uWnVxDab.js +0 -85
- package/dist/DialogContent-DcKK8k9i.js +0 -103
- package/dist/DialogFooter-BZNX5aVr.js +0 -165
- package/dist/HoverCardContent-b2uaAMRR.js +0 -83
- package/dist/Input-h9v5LeXf.js +0 -55
- package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
- package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
- package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
- package/dist/Separator-pKF0oA4M.js +0 -37
- package/dist/Switch-CwYNf8bo.js +0 -47
- package/dist/TooltipProvider-rzvnXz60.js +0 -104
- package/dist/badge-D9XWW4GT.js +0 -53
- package/dist/button-DYCUa-tH.js +0 -126
- package/dist/color-DweYl7pE.js +0 -86
- package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
- package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
- package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
- package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
- package/dist/dockContext-BNfyPLe9.js +0 -17
- package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
- package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
- package/dist/slider-DVb4HXU-.js +0 -142
- package/dist/springPresets-CFQGQfdl.js +0 -40
- package/dist/styles/dock/rail-extend.css +0 -397
- package/dist/useLiquidPress-kfb4KX79.js +0 -39
- package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
- package/dist/useRAFLoop-UYa4zoiN.js +0 -109
- package/dist/useSpringPress-BsqPr7FJ.js +0 -34
- package/src/styles/dock/rail-extend.css +0 -397
- /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
- /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
- /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
- /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
- /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
- /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
- /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
- /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
- /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
- /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
- /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
- /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
- /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
- /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
- /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
- /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
- /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
- /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
- /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
- /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
- /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
- /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
- /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
- /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
- /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
|
@@ -55,7 +55,22 @@
|
|
|
55
55
|
tier's own shadow recipe. The `::after` grain overlay already claims the
|
|
56
56
|
five rungs' `::after`; the rim is folded INTO that same overlay's
|
|
57
57
|
box-shadow below (the grain `::after` gets the rim inset ring) so no
|
|
58
|
-
pseudo-element collides.
|
|
58
|
+
pseudo-element collides.
|
|
59
|
+
|
|
60
|
+
── BE.W5 — `--glass-edge-light` IS A WHOLE BOX-SHADOW LAYER, NEVER A COLOR ──
|
|
61
|
+
`--glass-edge-light` resolves to a COMPLETE box-shadow layer (the token is
|
|
62
|
+
`inset 0 0 0 0.75px hsl(0 0% 100% / 0.18)` — geometry + color, glass-fx.css:70;
|
|
63
|
+
the `.dark` arm re-points it to `--glass-edge-light-dark`). It is consumed as a
|
|
64
|
+
WHOLE LAYER inside a `box-shadow:` list — `box-shadow: var(--glass-edge-light),
|
|
65
|
+
<other layers>` (surfaces.css:203/371, stack-rail.css:176). The MISUSE is
|
|
66
|
+
NESTING it as a COLOR inside another shadow — `inset 0 0 0 1px
|
|
67
|
+
var(--glass-edge-light)` — which expands to `inset 0 0 0 1px inset 0 0 0 0.75px
|
|
68
|
+
hsl(…)`: an INVALID shadow value → the WHOLE `box-shadow` declaration DROPS →
|
|
69
|
+
NO rim, NO drop-shadow (worst in dark, where the rim is the silhouette device).
|
|
70
|
+
THE RULE: read `--glass-edge-light` as a whole `box-shadow` layer, NEVER nested
|
|
71
|
+
inside another shadow's geometry. To compose the rim's COLOR (e.g. accent-tint
|
|
72
|
+
it) use `--glass-rim-ink`/`--glass-material-rim` (rim.css — the COLOR seam),
|
|
73
|
+
NOT `--glass-edge-light` (the LAYER token). */
|
|
59
74
|
|
|
60
75
|
/* (a)+(c) The moving-specular `::before` catch-light — the iOS-26
|
|
61
76
|
illuminate-from-within behaviour. A masked radial-gradient glow rides the
|
|
@@ -298,4 +313,58 @@
|
|
|
298
313
|
press-depth animation is the deliberate tradeoff. The press squish + gleam lift on
|
|
299
314
|
the SAME `--glass-btn-press-t` drive (material gleam, above) carry the press read. */
|
|
300
315
|
|
|
316
|
+
/* ── BE.W-CLEAR-VARIANT — the Apple-Clear `surface="clear"` decoration + the
|
|
317
|
+
MANDATORY legibility scrim ──────────────────────────────────────────────────
|
|
318
|
+
The 4th surface-axis member (`useSurfaceAxis.ts` maps `clear → glass-clear`).
|
|
319
|
+
A `surface="clear"` surface paints the maximally-translucent `--glass-bg-clear`
|
|
320
|
+
(0.58 — the clearest rung the library ships, the album grid bleeds through) AND
|
|
321
|
+
a MANDATORY legibility scrim IN THE SAME SEAM — a `.glass-clear` cannot exist
|
|
322
|
+
without it (the Apple Clear contract: near-transparent → the text needs a scrim
|
|
323
|
+
floor). The scrim DIMS THE BACKDROP (`color-mix(in srgb, var(--background) N%,
|
|
324
|
+
transparent)` — the A5-1 modal-scrim idiom, painted BEHIND the translucent fill
|
|
325
|
+
within the box, see the two-layer-background note below), DISTINCT from the W55
|
|
326
|
+
`--glass-tint-*` PLATE-darken axis (the two legibility axes stay disjoint: the
|
|
327
|
+
scrim dims the backdrop, the W55 tint darkens the plate). The scrim strength
|
|
328
|
+
DERIVES from the sampled
|
|
329
|
+
`--glass-backdrop-luma` (useGlassBackdropLuminance's existing write) so it dims
|
|
330
|
+
MORE over a bright album grid (luma→1) and relaxes over a dark one (luma→0) —
|
|
331
|
+
the dynamic legibility that betters Apple's fixed scrim. The `0.5` fallback is
|
|
332
|
+
the safe mid-scrim when no observer is wired. The plate fill rides the SAME
|
|
333
|
+
oklab-tint seam so the W55 darken reaches it; the see-through frost is the
|
|
334
|
+
cross-engine FLOOR (pure opacity + backdrop-filter, no `url()` — Safari paints
|
|
335
|
+
it via the build-time -webkit- prefix pass). The scrim is a STATIC paint (no
|
|
336
|
+
layout, no animation — `proof:no-layout-animation` GREEN by construction).
|
|
337
|
+
|
|
338
|
+
THE SCRIM IS A SECOND BACKGROUND LAYER, NOT A PSEUDO. The glass family already
|
|
339
|
+
claims BOTH pseudos on every base rung — `::before` (the moving specular core)
|
|
340
|
+
AND `::after` (the grain overlay, ladder.css). `surface="clear"` composes ON a
|
|
341
|
+
base tier (`glass-floating glass-clear`), so its `::before`/`::after` are taken;
|
|
342
|
+
a scrim pseudo would CLOBBER the specular or grain. The mandatory scrim is
|
|
343
|
+
therefore the FIRST of two comma-separated `background` LAYERS — painted FRONT
|
|
344
|
+
(the translucent glass fill) over BACK (the `--background` dim) within the box,
|
|
345
|
+
so the dim sits between the backdrop-filtered backdrop and the content (a child
|
|
346
|
+
paints above both). The fill stays translucent so the backdrop still reads
|
|
347
|
+
THROUGH the dim — see-through AND legible, one element, no pseudo collision. */
|
|
348
|
+
[data-surface="clear"],
|
|
349
|
+
.glass-clear {
|
|
350
|
+
/* The dynamic scrim strength — DERIVED from the sampled backdrop luma
|
|
351
|
+
(dims MORE over a bright grid). `0.5` is the safe mid-scrim fallback. */
|
|
352
|
+
--glass-clear-scrim-strength: calc(
|
|
353
|
+
var(--glass-backdrop-luma, 0.5) * 40%
|
|
354
|
+
);
|
|
355
|
+
background:
|
|
356
|
+
color-mix(
|
|
357
|
+
in oklab,
|
|
358
|
+
var(--glass-bg-clear),
|
|
359
|
+
var(--glass-tint-source) var(--glass-tint-strength)
|
|
360
|
+
),
|
|
361
|
+
color-mix(
|
|
362
|
+
in srgb,
|
|
363
|
+
var(--background) var(--glass-clear-scrim-strength),
|
|
364
|
+
transparent
|
|
365
|
+
);
|
|
366
|
+
backdrop-filter: var(--glass-blur-floating);
|
|
367
|
+
position: relative;
|
|
368
|
+
}
|
|
369
|
+
|
|
301
370
|
}
|
|
@@ -45,6 +45,19 @@
|
|
|
45
45
|
clocks read the shared spring tokens (read-only — the W-GLASS-CAL fence). */
|
|
46
46
|
--glass-reveal-blur: 4px;
|
|
47
47
|
--glass-reveal-slide: 0.5rem;
|
|
48
|
+
/* The materialize squish — the surface blooms FROM 0.88 (a clear squish-grow,
|
|
49
|
+
the Control-Center round-toggle reference), not the near-no-op 0.95. The
|
|
50
|
+
authority lives here; the closed/exit leg reads it with a 0.88 fallback.
|
|
51
|
+
BD.W-ANIM-IOS27-TUNE */
|
|
52
|
+
--glass-reveal-enter-scale: 0.88;
|
|
53
|
+
/* The SQUISH channel — the same volume-preserving born-wide+flat squish the
|
|
54
|
+
universal `.liquid-enter` mount recipe speaks (ONE grammar, no fork). The
|
|
55
|
+
closed leg rides it on the `scale:` LONGHAND (vol-preserving sx·sy ≈ 1),
|
|
56
|
+
settling to `1 1` at open; the bloom-from-small grace is the coupled
|
|
57
|
+
scale-down (--glass-reveal-enter-scale) × this squish, never a separate
|
|
58
|
+
transform: shorthand (which would clobber a centering transform). */
|
|
59
|
+
--lq-stretch-x: 1.06;
|
|
60
|
+
--lq-stretch-y: 0.945;
|
|
48
61
|
transform-origin: var(--reka-popper-transform-origin, center);
|
|
49
62
|
/* The coupled transition list — the SPATIAL legs (scale/translate) on the
|
|
50
63
|
snappy spring's OWN settle clock, the EFFECTS legs (opacity/filter blur-
|
|
@@ -67,7 +80,7 @@
|
|
|
67
80
|
from its edge) — the BASE never writes `translate`, so a center-anchored Dialog
|
|
68
81
|
keeping its `-translate-x-1/2 -translate-y-1/2` centering is NEVER clobbered. */
|
|
69
82
|
.glass-reveal[data-state="open"] {
|
|
70
|
-
scale: 1;
|
|
83
|
+
scale: 1 1;
|
|
71
84
|
opacity: 1;
|
|
72
85
|
filter: blur(0);
|
|
73
86
|
}
|
|
@@ -77,7 +90,14 @@
|
|
|
77
90
|
past gone, the §6/W-MOTION-CANON P2 doctrine); NO `--spring-*` token on the
|
|
78
91
|
exit. The exit is faster + un-sprung — the surface recedes cleanly. */
|
|
79
92
|
.glass-reveal[data-state="closed"] {
|
|
80
|
-
|
|
93
|
+
/* Born wide+flat AND bloom-from-small: the SQUISH (--lq-stretch-x/-y,
|
|
94
|
+
vol-preserving) couples with the bloom-from-0.88 on the SAME `scale:`
|
|
95
|
+
LONGHAND (two factors, ONE longhand — never a second transform: shorthand
|
|
96
|
+
that would clobber a Dialog's centering translate). The deform stays
|
|
97
|
+
anisotropic (the long axis swells AS it blooms, the short pinches);
|
|
98
|
+
it settles to `1 1` at open. */
|
|
99
|
+
scale: calc(var(--glass-reveal-enter-scale, 0.88) * var(--lq-stretch-x, 1.06))
|
|
100
|
+
calc(var(--glass-reveal-enter-scale, 0.88) * var(--lq-stretch-y, 0.945));
|
|
81
101
|
opacity: 0;
|
|
82
102
|
filter: blur(var(--glass-reveal-blur));
|
|
83
103
|
transition-timing-function: var(--ease-out);
|
|
@@ -67,12 +67,32 @@
|
|
|
67
67
|
.glass-card,
|
|
68
68
|
.glass-specular-track,
|
|
69
69
|
.dock-icon-button {
|
|
70
|
-
/* the
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
/* BC.W-BLACK-BAR D2 — the rim ring is now DIRECTIONAL: the top catch-light
|
|
71
|
+
(`--glass-rim-top`, glass-fx.css) carries the white-α ink the old
|
|
72
|
+
omnidirectional ring carried (0.30 light / 0.40 dark — the dark arm
|
|
73
|
+
re-points it via dark-arm.css), and the bottom under-shadow
|
|
74
|
+
(`--glass-rim-bottom`) grounds the plate. The accent (BB.W-GLASS-ACCENT)
|
|
75
|
+
still mixes ONTO the top catch-light ink so the chromatic rim reads on the
|
|
76
|
+
lit edge; at 0% strength the mix resolves byte-identical to the bare
|
|
77
|
+
`--glass-rim-top`. `--glass-rim-ink` is the resolved top-ink stop (kept as
|
|
78
|
+
the accent-compose seam — the `.dark` arm below re-points it). */
|
|
79
|
+
--glass-rim-ink: hsl(0 0% 100% / 0.30);
|
|
80
|
+
/* BD.W-GLASS-KEY-EDGE — the LIT catch is now KEY-DRIVEN: the accent-mixed
|
|
81
|
+
catch-light rides the key-facing edges (`--glass-key-lit-y` top +
|
|
82
|
+
`--glass-key-lit-x` side, the upper-right cel key) so the accent reads on
|
|
83
|
+
the LIT edge that agrees with the cartoon cast's light source — not a flat
|
|
84
|
+
top-only halo. The side stop carries the same accent-mixed ink at the rim's
|
|
85
|
+
own 0.18-class weight (via `--glass-rim-ink`-derived mix). The SHADE half is
|
|
86
|
+
the key-driven `--glass-rim-bottom` two-stop under-shadow. At 0% accent
|
|
87
|
+
strength the mix resolves byte-compatible to the bare key-driven rim (the W2
|
|
88
|
+
no-op floor). The moving-specular `::before` catch-light + the grain
|
|
89
|
+
`::after` are UNTOUCHED (both occupied). */
|
|
90
|
+
--glass-material-rim:
|
|
91
|
+
inset 0 var(--glass-key-lit-y) 0
|
|
92
|
+
color-mix(in oklab, var(--glass-rim-ink), var(--glass-accent) var(--glass-accent-strength)),
|
|
93
|
+
inset var(--glass-key-lit-x) 0 0
|
|
94
|
+
color-mix(in oklab, hsl(0 0% 100% / 0.18), var(--glass-accent) var(--glass-accent-strength)),
|
|
95
|
+
var(--glass-rim-bottom);
|
|
76
96
|
/* the per-rung border ink, accent-composed. `--glass-border-rung` is set by
|
|
77
97
|
each rung at its own declaration (it reads the rung's `--glass-border-*`
|
|
78
98
|
token); the accent mixes onto it so the BORDER half of the rim carries the
|
|
@@ -92,9 +112,11 @@
|
|
|
92
112
|
.dark .glass-card,
|
|
93
113
|
.dark .glass-specular-track,
|
|
94
114
|
.dark .dock-icon-button {
|
|
95
|
-
/* the dark
|
|
96
|
-
|
|
97
|
-
|
|
115
|
+
/* BC.W-BLACK-BAR D2 — the dark top catch-light ink is the lifted 0.40 stop
|
|
116
|
+
(mirroring the dark `--glass-rim-top`, dark-arm.css) so the accent composes
|
|
117
|
+
off the dark silhouette device (W-DARK-MATERIAL): dark glass needs a
|
|
118
|
+
brighter rim to read over the deep canvas. */
|
|
119
|
+
--glass-rim-ink: hsl(0 0% 100% / 0.40);
|
|
98
120
|
}
|
|
99
121
|
|
|
100
122
|
}
|
|
@@ -209,6 +209,22 @@
|
|
|
209
209
|
--glass-specular-intensity-hover: var(--glass-specular-btn-hover);
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
/* BC.W-BUTTON-GLASS-IOS (move 2 / BG-IOS-2) — the hero CTA reaches DEEP glass.
|
|
213
|
+
`.btn-glass` reads `--glass-blur-btn` (not `--glass-blur-floating`), so the bare
|
|
214
|
+
`.glass-deep` axis (which re-points `--glass-blur-floating`) does not deepen a
|
|
215
|
+
button. This arm re-points `--glass-blur-btn` onto the deep family — the SAME
|
|
216
|
+
token-substitution model `.glass-deep` uses (glass/deep.css), composing the ONE
|
|
217
|
+
deep axis, NOT a new blur recipe. So a `default`/`primary-audacious` hero CTA
|
|
218
|
+
reads the apple.com-nav-grade thick refractive liquid glass (16px / saturate 1.5
|
|
219
|
+
family, `--glass-blur-deep`), while the plain content tiers + the quieter
|
|
220
|
+
`outline`/`secondary`/`accent` glass buttons stay calm at the floating-tier
|
|
221
|
+
`--glass-blur-btn`. The deep BLUR is budget-FREE (the W-LENSING budget binds the
|
|
222
|
+
`:liquid` SVG lens, not the deep-blur tier). The a11y `--glass-level:0` brackets
|
|
223
|
+
reach it for free (the deep blur composes `--glass-level`, the opaque-escape path). */
|
|
224
|
+
.btn-glass.glass-deep {
|
|
225
|
+
--glass-blur-btn: var(--glass-blur-deep);
|
|
226
|
+
}
|
|
227
|
+
|
|
212
228
|
/* The depth deepens one rung on hover (the lifted-lozenge read) — additive over
|
|
213
229
|
the variant's own hover surface legs. The variants paint the bg/border on
|
|
214
230
|
hover; this adds the deeper drop. */
|
|
@@ -216,6 +232,29 @@
|
|
|
216
232
|
box-shadow: var(--glass-btn-rim), var(--glass-btn-under-shadow-hover);
|
|
217
233
|
}
|
|
218
234
|
|
|
235
|
+
/* BC.W-BUTTON-GLASS-IOS (move 3 / BG-IOS-4) — the press is COUPLED (W-MOTION-CANON
|
|
236
|
+
P3): the ONE `--glass-btn-press-t` 0..1 spring drive (Button.vue writes it off
|
|
237
|
+
`useSpringPress`) feeds BOTH the squish (the `useLiquidFlex` reciprocal X/Y deform,
|
|
238
|
+
Button.vue) AND a SPECULAR brightness leg here — the touch-ILLUMINATION (apple-
|
|
239
|
+
ios27.md §2.5 ".interactive() → scale + bounce + shimmer + touch-illumination").
|
|
240
|
+
During the press the button's specular tracks the SPRING (not the binary `:active`
|
|
241
|
+
toggle material.css sets): `--specular-intensity` LERPs from the hover gleam toward
|
|
242
|
+
the active gleam as `--glass-btn-press-t` travels, so the gleam ILLUMINATES on the
|
|
243
|
+
SAME spring scalar as the squish (the glass reads as DEFORMING-AND-BRIGHTENING with
|
|
244
|
+
the spring's alive overshoot, not a uniform shrink). It reads the EXISTING
|
|
245
|
+
`--glass-specular-intensity-{hover,active}` cohort (property-regs.css) — no new
|
|
246
|
+
token, ONE drive two legs. Specificity ties material's `.glass-wash:active::before`
|
|
247
|
+
(0,2,1) and wins by source-order-after (surfaces.css @import-s after material.css),
|
|
248
|
+
so the button press follows the spring; the hover gleam + the no-JS `:active` floor
|
|
249
|
+
are untouched. */
|
|
250
|
+
.btn-glass:active::before {
|
|
251
|
+
--specular-intensity: calc(
|
|
252
|
+
var(--glass-specular-intensity-hover) +
|
|
253
|
+
(var(--glass-specular-intensity-active) - var(--glass-specular-intensity-hover)) *
|
|
254
|
+
var(--glass-btn-press-t)
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
|
|
219
258
|
/* BB.W-BUTTON-GLASS (a) — the ELEMENT-LEVEL oklab-tinted hover/active fill pair
|
|
220
259
|
(the substitution-vs-inheritance trap fixed on the button register). The glass
|
|
221
260
|
button variants painted `hover:bg-(--glass-bg-resting) active:bg-(--glass-bg-
|
|
@@ -232,15 +271,32 @@
|
|
|
232
271
|
to AA in lockstep with the rest bg. The `:root` raw `--glass-bg-*` tokens are
|
|
233
272
|
UNTOUCHED (other surfaces compose them at the element correctly — the raw token +
|
|
234
273
|
the element-level oklab wrapper is the correct ladder shape). */
|
|
235
|
-
.btn-glass
|
|
236
|
-
|
|
274
|
+
/* BC.W-TABS-IOS — the tinted-FLOATING seam lifted off the `.btn-glass`-only scope
|
|
275
|
+
onto a SHARED `:where()` so the iOS-27 segmented-control active pill reads the
|
|
276
|
+
SAME element-level oklab-tint floating fill the glass button reads (the
|
|
277
|
+
substitution-over-redeclaration discipline: ONE tinted-floating source, NOT a
|
|
278
|
+
tab-local fork). The pill's active plate now reaches the W55 darken-over-bright
|
|
279
|
+
seam — over a bright field the pill darkens-to-legible, over a calm field it
|
|
280
|
+
stays warm-cream/near-white (the iOS adaptive register reaching the pill).
|
|
281
|
+
ZERO-delta at the `--glass-tint-strength: 0%`/floor default. */
|
|
282
|
+
:where(.btn-glass, .segmented-indicator, .glass-capsule) {
|
|
283
|
+
--glass-bg-floating-tinted: color-mix(
|
|
237
284
|
in oklab,
|
|
238
|
-
var(--glass-bg-
|
|
285
|
+
var(--glass-bg-floating),
|
|
239
286
|
var(--glass-tint-source) var(--glass-tint-strength)
|
|
240
287
|
);
|
|
241
|
-
|
|
288
|
+
}
|
|
289
|
+
.btn-glass {
|
|
290
|
+
/* BC.W-BUTTON-GLASS-IOS (BG-IOS-6) — the `quiet` rung gains the SAME element-
|
|
291
|
+
level oklab-tint wrapper so the de-shadcn `outline`/`secondary` reskin (the
|
|
292
|
+
QUIETER glass register, prominence-by-tint) reaches the W55 darken on its lit
|
|
293
|
+
fill too — ZERO new compositing axis, the SAME seam the resting/floating pair
|
|
294
|
+
composes. The floating rung is minted on the shared `:where()` seam ABOVE
|
|
295
|
+
(the tab pill reads it too); the quiet rung stays button-scoped (the
|
|
296
|
+
hover/active fill register the segmented pill does not engage). */
|
|
297
|
+
--glass-bg-quiet-tinted: color-mix(
|
|
242
298
|
in oklab,
|
|
243
|
-
var(--glass-bg-
|
|
299
|
+
var(--glass-bg-quiet),
|
|
244
300
|
var(--glass-tint-source) var(--glass-tint-strength)
|
|
245
301
|
);
|
|
246
302
|
}
|
|
@@ -278,150 +334,10 @@
|
|
|
278
334
|
--glass-btn-press-t: 0;
|
|
279
335
|
}
|
|
280
336
|
|
|
281
|
-
/*
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
/* AX.W51 D18 — the input pill rides the ONE `--ui-scale` comfort axis: the
|
|
286
|
-
height reads the `--control-h-md` cohort (`max(calc(2.5rem * --ui-scale),
|
|
287
|
-
--control-floor)`, the h-10 register with the WCAG-44px coarse clamp), the
|
|
288
|
-
font reads `--control-text`, the inline padding scales — so ONE override
|
|
289
|
-
grows the field's height + padding + font in lockstep. Desktop default is
|
|
290
|
-
the identity. */
|
|
291
|
-
height: var(--control-h-md);
|
|
292
|
-
border-radius: var(--radius-pill);
|
|
293
|
-
/* AW.W13 — the resting field edge reads as an enclosed control at rest
|
|
294
|
-
(~15%α — ~2× the prior 8% glass-wash floor that vanished on cream). The
|
|
295
|
-
`:focus-visible` accent ring + the `:user-invalid`/`[aria-invalid]`
|
|
296
|
-
destructive ring below still win by order + specificity.
|
|
297
|
-
AX.W54 — moved off the srgb `--surface-tint-15` fork onto the glass
|
|
298
|
-
border seam so the pill is ONE glass model with the rest of the ladder.
|
|
299
|
-
BA.W-SURFACE-AXIS scope 7 — re-pointed onto the SHARED `--control-surface-*`
|
|
300
|
-
REST register so Input/Textarea/NumberField/Select/Combobox/TagsInput are
|
|
301
|
-
ONE material at rest (the input rung was the warmer of the two; Select rode
|
|
302
|
-
the `glass-wash` gray — the no-gray control-family seam). The register reads
|
|
303
|
-
the same `--glass-*` ladder, so `--glass-level`/the W55 bright bucket retune
|
|
304
|
-
the whole form family in lockstep (--control-surface-border defaults to the
|
|
305
|
-
`--glass-border-floating` 15%α rung, --control-surface-bg to `--glass-bg-quiet`,
|
|
306
|
-
--control-surface-blur to `--glass-blur-quiet`). */
|
|
307
|
-
border: 1.5px solid var(--control-surface-border);
|
|
308
|
-
background: var(--control-surface-bg);
|
|
309
|
-
/* The control's REAL glass blur — the shared register's quiet-tier radius
|
|
310
|
-
(the same `--control-surface-blur` pairs with `--control-surface-bg`); the
|
|
311
|
-
`--glass-level` knob clarifies it in lockstep with every surface. */
|
|
312
|
-
backdrop-filter: var(--control-surface-blur);
|
|
313
|
-
padding: 0 calc(1rem * var(--ui-scale));
|
|
314
|
-
font-size: var(--control-text);
|
|
315
|
-
color: var(--foreground);
|
|
316
|
-
transition:
|
|
317
|
-
background-color var(--duration-fast) var(--ease-standard),
|
|
318
|
-
border-color var(--duration-fast) var(--ease-standard),
|
|
319
|
-
box-shadow var(--duration-fast) var(--ease-standard),
|
|
320
|
-
color var(--duration-fast) var(--ease-standard),
|
|
321
|
-
opacity var(--duration-fast) var(--ease-standard);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
.input-pill::placeholder {
|
|
325
|
-
color: var(--surface-tint-35);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
/* BA.W-SURFACE-AXIS scope 7 — the shared control REST surface class. The
|
|
329
|
-
NON-pill control families (the Select trigger, the TagsInput root) that do
|
|
330
|
-
NOT compose `.input-pill` but want the SAME resting material read this — so
|
|
331
|
-
the whole form band is ONE register at rest (the Select default rode the
|
|
332
|
-
lighter `glass-wash` gray before; this is the no-gray control-family seam).
|
|
333
|
-
It carries the bg/border/blur ONLY (each control owns its own height/radius/
|
|
334
|
-
padding/font), so a non-pill control composes `.control-surface` + its own
|
|
335
|
-
geometry. The hover lift brightens the fill one step toward the resting rung. */
|
|
336
|
-
.control-surface {
|
|
337
|
-
background: var(--control-surface-bg);
|
|
338
|
-
border: 1px solid var(--control-surface-border);
|
|
339
|
-
backdrop-filter: var(--control-surface-blur);
|
|
340
|
-
-webkit-backdrop-filter: var(--control-surface-blur);
|
|
341
|
-
}
|
|
342
|
-
.control-surface:hover:not(:disabled, [data-disabled]) {
|
|
343
|
-
background: var(--control-surface-bg-hover);
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
/* AQ.W4 §W4.6 — keyboard-focus ring only. Was bare `:focus` (showed the
|
|
347
|
-
accent ring on a mouse click); `:focus-visible` matches the
|
|
348
|
-
`.focus-ring` / `.glass-btn` / dock-control discipline. Ordered BEFORE
|
|
349
|
-
the `:user-invalid` rungs so an invalid focused field shows destructive,
|
|
350
|
-
not accent (the `:user-invalid:focus-visible` rule below wins by order +
|
|
351
|
-
specificity). `:focus-visible` Baseline Widely — no fallback. */
|
|
352
|
-
.input-pill:focus-visible {
|
|
353
|
-
outline: none;
|
|
354
|
-
border-color: var(--color-accent-opaque, var(--ring));
|
|
355
|
-
box-shadow: 0 0 0 2px var(--color-accent, color-mix(in srgb, var(--ring) 30%, transparent));
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
/* AQ.W4 §W4.1 — validity vocabulary on `.input-pill` (Input + Textarea).
|
|
359
|
-
The forgiving `:where(:user-invalid, .user-invalid-fallback,
|
|
360
|
-
[aria-invalid="true"])` group is ONE rule covering THREE trigger surfaces:
|
|
361
|
-
native constraint-validation (`:user-invalid`), the `useUserInvalidAria`
|
|
362
|
-
fallback class for engines without `:user-invalid` (css §3.2; NOT a
|
|
363
|
-
live+dead alias — the class is the SOLE fallback), AND (AW.W18) the
|
|
364
|
-
imperative `[aria-invalid="true"]` attribute. The `[aria-invalid]` arm
|
|
365
|
-
serves APP-DRIVEN validity — a custom key match, an async server check —
|
|
366
|
-
where there is no native constraint to trip `:user-invalid`, so the app
|
|
367
|
-
sets the ARIA attribute and the library's own ring paints with no
|
|
368
|
-
`:deep()` re-paint at the consumer. The destructive/success tints reuse
|
|
369
|
-
the semantic tokens via `color-mix` per the house pattern (W2). Non-color
|
|
370
|
-
reinforcement is the error TEXT (W4.5 `error` slot) + the `required`
|
|
371
|
-
asterisk — the border/bg shift is the supplementary cue, never the sole
|
|
372
|
-
one. `:user-valid` is intentionally subtle (border only, no bg fill) so
|
|
373
|
-
a long valid form is not a wall of green. */
|
|
374
|
-
.input-pill:where(:user-invalid, .user-invalid-fallback, [aria-invalid="true"]) {
|
|
375
|
-
border-color: var(--destructive);
|
|
376
|
-
background: color-mix(in srgb, var(--destructive) 8%, var(--glass-bg-quiet));
|
|
377
|
-
}
|
|
378
|
-
.input-pill:where(:user-valid, .user-valid-fallback) {
|
|
379
|
-
border-color: var(--success);
|
|
380
|
-
}
|
|
381
|
-
/* Invalid + keyboard-focused → destructive ring (overrides the accent
|
|
382
|
-
`:focus-visible` ring above by order + the extra invalid compound). The
|
|
383
|
-
`[aria-invalid]` arm rides the same widened group so an app-driven
|
|
384
|
-
invalid field shows the destructive ring on focus too. */
|
|
385
|
-
.input-pill:where(:user-invalid, .user-invalid-fallback, [aria-invalid="true"]):focus-visible {
|
|
386
|
-
border-color: var(--destructive);
|
|
387
|
-
/* BB.W-INVALID-RING — the shared destructive ring register (the
|
|
388
|
-
--focus-ring-shadow sibling). The byte-identical recipe is now ONE
|
|
389
|
-
token; the `8%` at-rest bg arm above stays `.input-pill`-local (a
|
|
390
|
-
glass-tint substrate the bare-ring surfaces do not carry). */
|
|
391
|
-
box-shadow: var(--invalid-ring);
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
/* AQ.W4 §W4.3 — `field-sizing: content` autosize (opt-in via the Textarea
|
|
395
|
-
`autosize` prop → `[data-autosize]`). The textarea grows vertically with
|
|
396
|
-
content between a 3-line floor and a token-driven ceiling, then scrolls.
|
|
397
|
-
`field-sizing` Baseline Newly (Chromium 2024) — on a non-supporting
|
|
398
|
-
engine the declaration is ignored and the element keeps the
|
|
399
|
-
`min/max-block-size` bounds + standard scroll (no JS, no `@supports`,
|
|
400
|
-
no grid-mirror polyfill). The fixed-size path (default, `min-h-20`) is
|
|
401
|
-
the unchanged no-op fallback. */
|
|
402
|
-
.input-pill[data-autosize] {
|
|
403
|
-
field-sizing: content;
|
|
404
|
-
width: 100%;
|
|
405
|
-
min-block-size: 3lh;
|
|
406
|
-
max-block-size: var(--textarea-autosize-max, 12lh);
|
|
407
|
-
resize: vertical;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
.input-pill:disabled {
|
|
411
|
-
opacity: 0.5;
|
|
412
|
-
cursor: not-allowed;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
/* AW.W13 — the Select trigger mirrors the input pill's resting border lift.
|
|
416
|
-
The reka-ui SelectTrigger renders `role="combobox"` over the `.glass-wash`
|
|
417
|
-
surface; its 8%α `--glass-border-wash` field edge vanished on cream just
|
|
418
|
-
like the input pill, so the same `--surface-tint-15` lift makes the
|
|
419
|
-
trigger read as an enclosed control at rest. Scoped to the combobox role
|
|
420
|
-
so the lift reaches ONLY the Select trigger, not every `.glass-wash`
|
|
421
|
-
surface. */
|
|
422
|
-
.glass-wash[role="combobox"] {
|
|
423
|
-
border-color: var(--surface-tint-15);
|
|
424
|
-
}
|
|
337
|
+
/* The .input-pill / .control-surface form-control REST register is carved into
|
|
338
|
+
glass/control-surfaces.css (a cohesive sub-concern, the no-god-module re-drain)
|
|
339
|
+
— @import-ed by glass.css IMMEDIATELY AFTER surfaces.css, same @layer components,
|
|
340
|
+
same source order (byte-isomorphic). */
|
|
425
341
|
|
|
426
342
|
/* ── BA.W-PAGER — the glass pager pill chassis (.glass-pager-ring) ──────────
|
|
427
343
|
The ONE pager-CHASSIS ring register: a `--radius-pill` glass-floating pill
|
|
@@ -443,7 +359,22 @@
|
|
|
443
359
|
padding-inline: 0.625rem;
|
|
444
360
|
padding-block: 0.3125rem;
|
|
445
361
|
border-radius: var(--radius-pill);
|
|
446
|
-
|
|
362
|
+
/* BD.W-GOO-CAROUSEL-DECK — the element-level oklab TINT seam (NOT the raw
|
|
363
|
+
pre-substituted `--glass-bg-floating` :root token — the gray-hole
|
|
364
|
+
substitution-trap). At the `--glass-tint-strength: 0%` default this is the
|
|
365
|
+
no-op floor (`color-mix(in oklab, X, src 0%) ≡ X` — byte-identical pager pixels
|
|
366
|
+
over a flat page); over a declared/sampled BRIGHT carousel image
|
|
367
|
+
(`@container style(--glass-backdrop: light)`) the pill darkens-toward-ink for a
|
|
368
|
+
real silhouette (the W55 ≤24% clamp keeps it translucent); under `.dark` the
|
|
369
|
+
W-DARK-MATERIAL tint arm LIFTS it toward luminous warm-dark, never a charcoal
|
|
370
|
+
slab. `in oklab` is the glass-tint perceptual family (the in-srgb
|
|
371
|
+
`--surface-tint-*` brand fence is untouched). The dock `--glass-bg-dock`
|
|
372
|
+
self-re-point precedent applied to the pager chassis. */
|
|
373
|
+
background: color-mix(
|
|
374
|
+
in oklab,
|
|
375
|
+
var(--glass-bg-floating),
|
|
376
|
+
var(--glass-tint-source) var(--glass-tint-strength)
|
|
377
|
+
);
|
|
447
378
|
backdrop-filter: var(--glass-blur-floating);
|
|
448
379
|
-webkit-backdrop-filter: var(--glass-blur-floating);
|
|
449
380
|
box-shadow:
|
package/dist/styles/glass.css
CHANGED
|
@@ -46,10 +46,31 @@
|
|
|
46
46
|
squircle + a11y @supports overrides, which must stay last): */
|
|
47
47
|
@import "./glass/material.css";
|
|
48
48
|
@import "./glass/ladder.css";
|
|
49
|
+
/* BC.W-ACCENT-TONE — the contrast-floored 3-channel tonal-accent register
|
|
50
|
+
(.accent-tone: one --tone → idle/active/edge/ink). AFTER ladder.css (reads the
|
|
51
|
+
warm-cream --card surface the ladder mints); the SOLE writer of the --accent-*
|
|
52
|
+
channels, so the placement is cascade-order-invariant. */
|
|
53
|
+
@import "./glass/accent-tone.css";
|
|
49
54
|
@import "./glass/rim.css";
|
|
50
55
|
@import "./glass/surfaces.css";
|
|
56
|
+
/* BC.W-CARVE6 — the .input-pill / .control-surface form-control REST register
|
|
57
|
+
carved out of surfaces.css to hold the 500-line bound, @import-ed IMMEDIATELY
|
|
58
|
+
AFTER surfaces.css and BEFORE surface-axis.css (same @layer components, same
|
|
59
|
+
source order — the dist is byte-isomorphic). */
|
|
60
|
+
@import "./glass/control-surfaces.css";
|
|
61
|
+
/* BD.W-TAB-IOS-CAPSULE — the ONE shared glassy register (`.glass-capsule` +
|
|
62
|
+
`.glass-capsule-track` + `.glass-capsule-hover`) the tabs/dock-tab/buttons/chips/
|
|
63
|
+
cards consumers compose. @import-ed AFTER surfaces.css (so the `--glass-bg-floating-
|
|
64
|
+
tinted` seam + the `--glass-rim-*`/`--glass-shadow-floating` tokens resolve) and
|
|
65
|
+
BEFORE the consuming recipes (segmented-tabs.css et al, imported by index.css). */
|
|
66
|
+
@import "./glass/glass-capsule.css";
|
|
51
67
|
@import "./glass/surface-axis.css";
|
|
52
68
|
@import "./glass/reveal.css";
|
|
69
|
+
/* BD.W-LIQUID-ENTRANCE-GENERAL — the UNIVERSAL `.liquid-enter` mount recipe
|
|
70
|
+
(the four coupled channels as @keyframes-on-mount + the `.is-cel` cel-slam + the
|
|
71
|
+
lagging cartoon cast). @import-ed AFTER reveal.css (it extends the same
|
|
72
|
+
`--lq-enter-*` channel substrate the `.glass-reveal` TRANSITION floor speaks). */
|
|
73
|
+
@import "./glass/liquid-enter.css";
|
|
53
74
|
@import "./glass/deep.css";
|
|
54
75
|
@import "./glass/progress-rail.css";
|
|
55
76
|
@import "./glass/squircle.css";
|
|
@@ -27,6 +27,22 @@
|
|
|
27
27
|
* --spring-snappy/--spring-smooth registers), no longer the fixed bezier.
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
+
/* BD.W-GLASS-ATOM-REGISTER — the shared `.glass-atom` warm-glass register the
|
|
31
|
+
small atoms (Badge-glass / metric-badge / slider fill / the `+N` chip) consume.
|
|
32
|
+
@import-ed HERE (icon-chip.css loads in index.css AFTER glass.css, so
|
|
33
|
+
`.glass-capsule` + the `--glass-*` axes are defined) — a consume-only recipe,
|
|
34
|
+
not a second material. CSS `@import` must precede every rule, so it leads the
|
|
35
|
+
file (the comment above is not a rule). */
|
|
36
|
+
@import "./glass/glass-atom.css";
|
|
37
|
+
/* BD.W-CHIP-CONGRUENT-GLASS — the chip family's warm-glass toggle register
|
|
38
|
+
(.glass-chip: the stadium-pill lens + the de-frauded colour-flood punch the
|
|
39
|
+
ToggleChip/SelectableChip/toggle-group children compose). @import-ed HERE
|
|
40
|
+
alongside glass-atom.css (icon-chip.css loads in index.css AFTER glass.css, so
|
|
41
|
+
`.glass-capsule` + `.accent-tone` + the `--glass-*` axes resolve) — a consume-
|
|
42
|
+
only recipe, not a second material. CSS `@import` must precede every rule, so it
|
|
43
|
+
leads with the atom import. */
|
|
44
|
+
@import "./glass/glass-chip.css";
|
|
45
|
+
|
|
30
46
|
:root {
|
|
31
47
|
/* The chip≤glyph proportion (d2, structural). The diameter floors at
|
|
32
48
|
`glyph × ratio` so the plate can NEVER paint under the glyph — a
|
|
@@ -110,6 +126,35 @@
|
|
|
110
126
|
--icon-chip-plate-strength: 40%;
|
|
111
127
|
}
|
|
112
128
|
|
|
129
|
+
/* ── The QUIET GLASS register (BD.W-GLASS-ATOM-REGISTER cross-link) ─────────────
|
|
130
|
+
The chip's SECOND register: the transmissive `.glass-atom` warm-glass capsule
|
|
131
|
+
tinted toward the event hue via `--glass-fill-tint`, NOT the loud `in srgb`
|
|
132
|
+
brand plate (the default, kept — AW.W26 fence). The component applies
|
|
133
|
+
`.glass-capsule .glass-atom` alongside `.icon-chip--glass`, so the body (warm
|
|
134
|
+
floor + `--glass-blur-quiet` backdrop + the keyed rim) comes from the SHARED
|
|
135
|
+
register — this rule only RETIRES the chip's own `in srgb` plate-color fill so
|
|
136
|
+
the two backgrounds don't double-paint (the capsule's translucent fill +
|
|
137
|
+
`.glass-atom`'s tinted `background-image` are the body). The glyph event color
|
|
138
|
+
is untouched (the one color event still reads). A flat capsule lens — the
|
|
139
|
+
backdrop-filter rides the shared `--glass-blur-quiet` (Safari-native, no
|
|
140
|
+
`backdrop-filter:url`, Fence 8). */
|
|
141
|
+
.icon-chip--glass {
|
|
142
|
+
/* Retire the brand plate fill — the `.glass-capsule` body + the `.glass-atom`
|
|
143
|
+
tinted `background-image` paint the surface (no double-fill). The capsule's
|
|
144
|
+
`background:` shorthand + the atom's later `background-image` layer win the
|
|
145
|
+
cascade over this `background-color: transparent` reset by source order. */
|
|
146
|
+
background-color: transparent;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* The glass chip's hover-bloom (when BOTH `--glass` + `--bloom`) routes the glow
|
|
150
|
+
ring through the SAME event color, over the glass body — the bloom GROW (the
|
|
151
|
+
base `.icon-chip--bloom:hover` transform/spring) is inherited unchanged. */
|
|
152
|
+
@media (hover: hover) {
|
|
153
|
+
.icon-chip--glass.icon-chip--bloom:hover {
|
|
154
|
+
background-color: transparent;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
113
158
|
/* ── The duotone axis — a low-alpha fill of the same hue UNDER the stroke ──── */
|
|
114
159
|
/* Lucide glyphs bake `fill: none` on the SVG root; CSS wins over the
|
|
115
160
|
presentation attribute, so the `[data-duotone] svg` rule reaches the inner
|
package/dist/styles/index.css
CHANGED
|
@@ -120,6 +120,12 @@
|
|
|
120
120
|
* native .smooth-scroll opt-in) on the native
|
|
121
121
|
* scroll()/view()/timeline-scope substrate; NO
|
|
122
122
|
* Lenis/GSAP dep (BB.W-SCROLL-MOTION).
|
|
123
|
+
* 10a''. scroll-chrome.css — BC.W-SCROLL-CHROME the scroll-driven floating-
|
|
124
|
+
* CHROME collapse recipe (.scroll-chrome reads
|
|
125
|
+
* --chrome-collapse-t for the compositor shrink/
|
|
126
|
+
* quiet/shadow-lift; PERSISTENT-by-default, crisp
|
|
127
|
+
* blur, never-invisible quiet, PRM-discrete). The
|
|
128
|
+
* useScrollChrome JS machine owns the snap + ramp.
|
|
123
129
|
* 10b. view-transition.css — the `.gl-list-item` View-Transitions group
|
|
124
130
|
* recipe + `--vt-*` axes (AQ.W5; the
|
|
125
131
|
* `useViewTransition` substrate's CSS half).
|
|
@@ -166,8 +172,20 @@
|
|
|
166
172
|
@import "./floating-panel.css";
|
|
167
173
|
@import "./transitions.css";
|
|
168
174
|
@import "./animations.css";
|
|
175
|
+
/* BD.W-MORPH-FIELD-WELD — the ONE morph-field recipe (the body/neck/waist silhouette + the
|
|
176
|
+
dedicated @property --morph-squish channel + the welling concave waist clip-path + the
|
|
177
|
+
1940s ink-cast). The `useMorphField` weld writes the drive-derived channels once/frame;
|
|
178
|
+
this sheet paints them. The cross-engine clip-path waist FLOOR + the [data-morphing] goo
|
|
179
|
+
gate live here. */
|
|
180
|
+
@import "./motion/morph-field.css";
|
|
181
|
+
/* BE.W-CELEBRATE-BURST — the earned glass-petal radial-bloom recipe (the
|
|
182
|
+
.glass-celebration-petal warm-cream frosted-glass material + the overlay anchor).
|
|
183
|
+
@import-ed after animations.css per the wave spec (the petal motion is the JS rAF
|
|
184
|
+
step's compositor writes; this recipe is the static frosted material the petals wear). */
|
|
185
|
+
@import "./jubilance.css";
|
|
169
186
|
@import "./scroll-driven.css";
|
|
170
187
|
@import "./scroll-choreography.css";
|
|
188
|
+
@import "./scroll-chrome.css";
|
|
171
189
|
@import "./view-transition.css";
|
|
172
190
|
@import "./utilities.css";
|
|
173
191
|
/* BA.W-MENU-GLASS — the glass menu-row + menu-section register. @import-ed AFTER
|
|
@@ -193,6 +211,14 @@
|
|
|
193
211
|
masks + the PRM milestone-pulse bracket. */
|
|
194
212
|
@import "./border-progress.css";
|
|
195
213
|
|
|
214
|
+
/* BC.W-AX-COMPLETION-SEAL — the hero-scale earned-GOLD completion seal: a one-shot
|
|
215
|
+
gold-draw mark (a `stroke-dashoffset` wipe on the 4 `@property` motion tokens
|
|
216
|
+
`--seal-draw`/`--seal-scale`/`--seal-glint`/`--seal-ink`, registered in
|
|
217
|
+
tokens/property-regs.css §18). The ink reads the W-PHASE-PALETTE earned-gold
|
|
218
|
+
register; the glint composes the W-AX-METAL-GLOW catch-light. One-shot, PRM-gated,
|
|
219
|
+
compositor-only — the feedback-surface partial. */
|
|
220
|
+
@import "./completion-seal.css";
|
|
221
|
+
|
|
196
222
|
/* Ensure Tailwind scans glass-ui's compiled component templates for the utility
|
|
197
223
|
classes they emit (CVA variant classes like text-destructive-foreground,
|
|
198
224
|
layout utilities like h-full/shrink-0).
|