@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
|
@@ -15,6 +15,16 @@
|
|
|
15
15
|
so it sits at the perceptual floor. Dark companion drops 0.06 →
|
|
16
16
|
0.045 below to keep the soft-light blend alive without stippling. */
|
|
17
17
|
--glass-grain-opacity: 0.025;
|
|
18
|
+
/* BD.W-PAPER-MORPHISM — the PAPER grain is its OWN register (~3× the glass grain):
|
|
19
|
+
paper texture is MEANT to READ (the user: "I don't see any paper grain or grit
|
|
20
|
+
anywhere"), not sit at the glass perceptual floor. ONE token retunes paper grit
|
|
21
|
+
library-wide WITHOUT coarsening the subtle glass-material grain (the split keeps
|
|
22
|
+
glass calm + paper tactile). The dark arm (dark-arm.css) lifts it for soft-light. */
|
|
23
|
+
/* BD.W-PAPER-MORPHISM — re-calibrated to the JND floor for the CORRECTED coarse
|
|
24
|
+
tooth + multiply blend (std ≥ 4.5 light, the no-squint floor): multiply on the
|
|
25
|
+
cream pole is GENTLE so it needs MORE alpha. The prior 0.08 rode a blend
|
|
26
|
+
(overlay) that was mathematically incapable of moving a near-white pixel. */
|
|
27
|
+
--paper-grain-opacity: 0.22;
|
|
18
28
|
/* BB.W-LIQUIDHOVER — the grain ENGAGE clock: a hover/active grain lift cross-fades
|
|
19
29
|
the grain `::after` OPACITY on this thin ~120ms linear write while the
|
|
20
30
|
`background-image` stays ALWAYS PRESENT (never a none→image swap — the one-frame
|
|
@@ -33,6 +43,20 @@
|
|
|
33
43
|
--hairline-under-shadow: 0 0.5px 0 0 rgb(0 0 0 / 0.04);
|
|
34
44
|
--border-hairline: var(--hairline-catch-light), var(--hairline-under-shadow);
|
|
35
45
|
|
|
46
|
+
/* BC.W-AX-METAL-GLOW — the brand-metal catch-light DEFAULTS (the consumer
|
|
47
|
+
retune seam). The metal-shimmer family (`.metal-{gold,silver,bronze}`,
|
|
48
|
+
metal.css) halos the text-clip with a `drop-shadow` of the metal's OWN base
|
|
49
|
+
hue at this radius + strength — the gold reads as LIT metal, not a flat fill.
|
|
50
|
+
Shared by the loop sweep AND the one-shot headline (the W-AX-COMPLETION-SEAL
|
|
51
|
+
seal glint reads `--metal-glow-blur`/`--metal-glow-opacity` — the ≥2-consumer
|
|
52
|
+
register). The defaults are a soft warm WHISPER bounded by the warm-cream
|
|
53
|
+
identity — a halo radius proportional to the text (0.5em) at a low strength
|
|
54
|
+
(0.35), NOT a neon bloom (the §6 calm register; the disco family stays gone).
|
|
55
|
+
A garish high-opacity glow is the consumer's preset choice, never the default;
|
|
56
|
+
a consumer who wants NO glow sets `--metal-glow-opacity: 0`. */
|
|
57
|
+
--metal-glow-blur-default: 0.5em;
|
|
58
|
+
--metal-glow-opacity-default: 0.35;
|
|
59
|
+
|
|
36
60
|
/* Specular catch-light — 1.5px-tall top-edge highlight that swaps in for
|
|
37
61
|
--glass-highlight on interactive moments (e.g. primary-action hover).
|
|
38
62
|
Reads as a real catch-light on a curved surface. The `-dark` companion
|
|
@@ -54,6 +78,56 @@
|
|
|
54
78
|
on text. The `-dark` companion is overridden inside `.dark` mirroring
|
|
55
79
|
the `--glass-specular-dark` precedent. */
|
|
56
80
|
--glass-edge-light: inset 0 0 0 0.75px hsl(0 0% 100% / 0.18);
|
|
81
|
+
|
|
82
|
+
/* BC.W-BLACK-BAR D2 — the DIRECTIONAL rim register (the iOS-27 glass-thickness
|
|
83
|
+
physics: light catch-light rims the TOP, a faint warm shadow grounds the
|
|
84
|
+
BOTTOM, so the plate reads as a physical pane lifted off the page — NEVER a
|
|
85
|
+
dark full-perimeter ink hairline). This RETIRES the load-bearing dark-rim role
|
|
86
|
+
of the per-rung `--glass-border-*` (now ≤5% α, glass.css): the silhouette is
|
|
87
|
+
carved by these two stops, not by the perimeter ink.
|
|
88
|
+
--glass-rim-top: the BRIGHT catch-light on the top edge (the kevinbism
|
|
89
|
+
`inset 0 1px white` motif; 0.30 α = apple-ios27.md §1.3 community value
|
|
90
|
+
rgba(255,255,255,0.3)). Subsumes the old omnidirectional white rim RING.
|
|
91
|
+
--glass-rim-bottom: the FAINT warm under-shadow grounding the plate (the
|
|
92
|
+
warm-ink that used to ring the whole perimeter, now only the bottom, at a
|
|
93
|
+
whisper 6% — riding --foreground so it stays warm-not-grey, BA.W-NO-GRAY).
|
|
94
|
+
Plain per-mode arms — NEVER an inset fragment inside light-dark() (the dark arm
|
|
95
|
+
re-declares both in dark-arm.css; light-dark() round an inset computes the WHOLE
|
|
96
|
+
box-shadow to none). The dark arm lifts the top to 0.40 (dark glass glows where
|
|
97
|
+
light passes) + keeps the bottom under-shadow at 6%. */
|
|
98
|
+
/* BD.W-GLASS-KEY-EDGE — the cel KEYSTONE. ONE light vector (the 1940s cel
|
|
99
|
+
upper-right key) drives WHICH edge of the existing two-stop directional rim
|
|
100
|
+
reads LIT vs SHADE, in lockstep with the shipped `.shadow-cartoon-*` down-LEFT
|
|
101
|
+
cast (shadow.css `-Npx Npx` → key upper-right). The key is expressed NOT as a
|
|
102
|
+
`-58deg` angle with sign-inverted cos()/sin() trig (the glass-material sign
|
|
103
|
+
trap — banned here), but as two PLAIN per-axis sign tokens the rim stops read
|
|
104
|
+
directly: the LIT catch wraps the key-facing edges (top + right), the SHADE
|
|
105
|
+
under-shadow grounds the opposite edges (bottom + left). A consumer re-points
|
|
106
|
+
`--glass-key-lit-x`/`--glass-key-lit-y` to move the key (e.g. upper-LEFT →
|
|
107
|
+
`1px`/`1px`) and the rim re-reads off it with ZERO new layer, ZERO new conic,
|
|
108
|
+
ZERO new DOM node. The key's SIGN tokens below are the wired form (the
|
|
109
|
+
upper-right keystone). */
|
|
110
|
+
--glass-key-lit-x: -1px; /* the lit catch sits on the RIGHT edge (key-facing) */
|
|
111
|
+
--glass-key-lit-y: 1px; /* …and the TOP edge — the upper-right key */
|
|
112
|
+
--glass-key-shade-x: 1px; /* the under-shadow grounds the LEFT edge */
|
|
113
|
+
--glass-key-shade-y: -1px; /* …and the BOTTOM edge — opposite the key */
|
|
114
|
+
/* BC.W-BLACK-BAR D2 + BD.W-GLASS-KEY-EDGE — the two-stop directional rim, now
|
|
115
|
+
KEY-DRIVEN: the bright catch-light `--glass-rim-top` rides the lit (key-facing)
|
|
116
|
+
edges, the faint warm under-shadow `--glass-rim-bottom` rides the shade edges.
|
|
117
|
+
Which edge each lands on is `--glass-key-{lit,shade}-{x,y}` so the rim and the
|
|
118
|
+
cartoon cast AGREE on one light source (the cel coherence). At the default
|
|
119
|
+
upper-right key these resolve byte-compatibly to the shipped top-lit/bottom-shade
|
|
120
|
+
silhouette (top catch + bottom under-shadow) PLUS the key-facing side stops, so
|
|
121
|
+
the lit edge reads as a real lit pane corner, not a flat omnidirectional halo.
|
|
122
|
+
The accent (BB.W-GLASS-ACCENT) still mixes onto the lit ink in rim.css — at 0%
|
|
123
|
+
strength byte-identical. Plain per-mode arms — NEVER an inset fragment inside
|
|
124
|
+
light-dark() (the dark arm re-declares both in dark-arm.css). */
|
|
125
|
+
--glass-rim-top:
|
|
126
|
+
inset 0 var(--glass-key-lit-y) 0 hsl(0 0% 100% / 0.30),
|
|
127
|
+
inset var(--glass-key-lit-x) 0 0 hsl(0 0% 100% / 0.18);
|
|
128
|
+
--glass-rim-bottom:
|
|
129
|
+
inset 0 var(--glass-key-shade-y) 0 color-mix(in srgb, var(--foreground) 6%, transparent),
|
|
130
|
+
inset var(--glass-key-shade-x) 0 0 color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
57
131
|
/* BA.W-DARK-MATERIAL scope 2 — the dark edge/rim is the PRIMARY silhouette device in
|
|
58
132
|
dark. The light register's fill+shadow carry the plate; in dark the fill barely
|
|
59
133
|
separates (the deep page is near-black), so the EDGE + the transmitted glow carry the
|
|
@@ -83,6 +157,29 @@
|
|
|
83
157
|
--glass-tint-source: var(--card);
|
|
84
158
|
--glass-tint-strength: 0%;
|
|
85
159
|
|
|
160
|
+
/* BD.W-TAB-IOS-CAPSULE — the `.glass-capsule` warm-floor (C6). `--card` itself
|
|
161
|
+
is too pale to clear the meanChroma ≥ 0.02 floor (its own OKLab chroma is
|
|
162
|
+
~0.015), so the capsule composes a SMALL fixed floor toward an explicitly
|
|
163
|
+
WARM oklch source — a warm cream/amber that carries real chroma. This is the
|
|
164
|
+
build-trap-(d) safe form (a warm color, never bare `transparent`). At the 16%
|
|
165
|
+
floor the painted capsule fill clears chroma ≥ 0.02 with negligible L lift
|
|
166
|
+
(stays near-white). Mode-invariant warm (the oklch reads warm on both the
|
|
167
|
+
light cream page and the dark canvas — the warm-floor is a property of the
|
|
168
|
+
LOZENGE, not the page); the floor is INDEPENDENT of the `--glass-tint-strength:
|
|
169
|
+
0%` adaptive default (which is zero-delta at rest, lifting only under the
|
|
170
|
+
bright bucket). Both are composed in `.glass-capsule`'s fill. */
|
|
171
|
+
--glass-capsule-warm: oklch(0.88 0.1 75);
|
|
172
|
+
--glass-capsule-warm-floor: 16%;
|
|
173
|
+
|
|
174
|
+
/* BD.W-TAB-IOS-CAPSULE — the `.glass-capsule-track` recess ink (the iOS-27
|
|
175
|
+
sunken-well inner-top edge). A PLAIN per-mode pair — this light arm + the dark
|
|
176
|
+
arm in `tokens/dark-arm.css`. NEVER a `light-dark()` fragment: an inset-shadow
|
|
177
|
+
leg inside `light-dark()` computes the WHOLE `box-shadow` to `none` (the
|
|
178
|
+
binding MEMORY lesson) and the recess would silently vanish. Bounded warm ink
|
|
179
|
+
so it darkens the inner-top edge without re-coloring the warm fill (no gray
|
|
180
|
+
well). */
|
|
181
|
+
--tab-track-recess-ink: color-mix(in srgb, var(--foreground) 7%, transparent);
|
|
182
|
+
|
|
86
183
|
/* AX.W55 — adaptive glass legibility (the iOS-26/27 "locally darken the glass
|
|
87
184
|
over light content" move; G2). There is NO web API that reads the pixels
|
|
88
185
|
painted BEHIND a `backdrop-filter` element, so the backdrop-luminance signal
|
|
@@ -120,8 +217,32 @@
|
|
|
120
217
|
bucket blocks drive to; the live 4.5:1 readback (proof:adaptive-glass π arm)
|
|
121
218
|
ratifies the exact value. */
|
|
122
219
|
--glass-backdrop: dark;
|
|
123
|
-
--glass-backdrop-luma: ;
|
|
124
220
|
--glass-tint-ink: var(--foreground);
|
|
221
|
+
|
|
222
|
+
/* BD.W-DOCK-CORE (D1) — the warm-CHROMATIC dock tint ink (the keystone, RESEARCH-3).
|
|
223
|
+
The dock self-engage (dock/morph.css) mixes its thin ~0.42-alpha plate toward the
|
|
224
|
+
near-black `--foreground` (chroma ≈ 0.0062) → it darkens L with chroma DEAD-FLAT (the
|
|
225
|
+
gray dock the user reports). This dock-SCOPED ink extracts the foreground's warm
|
|
226
|
+
hue/chroma via `oklch(from …)` (the BB.W-DARK-INK-WARM idiom — NOT a new mechanism),
|
|
227
|
+
LIFTS the chroma to 0.05 (well above foreground's 0.0062), and DROPS L to 0.42 (the
|
|
228
|
+
darken anchor). At the bright-bucket AA engage the composited plate yields a WARM
|
|
229
|
+
material darken (C ≈ 0.016, ~2× HEAD, H ≈ 62°) — never gray. The OUTER mix stays
|
|
230
|
+
`color-mix(in oklab)` (the glass-tint family, AW.W26 in-srgb fence untouched); this
|
|
231
|
+
`oklch(from)` is only the INK SOURCE. The GLOBAL `--glass-tint-ink` above is FROZEN
|
|
232
|
+
(W-DARK-MATERIAL's whole-system register) — this is a NEW dock-scoped token read ONLY
|
|
233
|
+
by the dock self-engage (file-line-disjoint, no-dual-path). */
|
|
234
|
+
--glass-tint-ink-dock: oklch(from var(--foreground) 0.42 0.05 h);
|
|
235
|
+
|
|
236
|
+
/* BC.W-ADAPTIVE-RECONCILE — the ONE retune knob for the continuous observer
|
|
237
|
+
driver. `--glass-backdrop-luma` (the measured sampled relative-luminance the
|
|
238
|
+
useGlassBackdropLuminance observer WRITES, registered typed in property-regs.css)
|
|
239
|
+
is now READ on the RHS of the `--glass-tint-strength` clamp (glass/ladder.css +
|
|
240
|
+
dock/morph.css): below this knee the plate holds the calm warm-cream floor; above
|
|
241
|
+
it the strength ramps CONTINUOUSLY toward the ≤24% AA ceiling (the iOS-27 dynamic-
|
|
242
|
+
range shift, apple-ios27.md §1.5 ~0.6 light threshold). The dead-knob is closed —
|
|
243
|
+
the loop READS. A consumer raising the knee darkens LATER (a brighter backdrop is
|
|
244
|
+
tolerated before the lift); the ONE override point for the whole adaptive axis. */
|
|
245
|
+
--glass-backdrop-luma-knee: 0.6;
|
|
125
246
|
/* AZ.W-ADAPTIVE-AUTO Arm 1 — recalibrated 18% → 20%. The bump strengthens the
|
|
126
247
|
G2 surface-SILHOUETTE darken (ΔL ≈ 0.40 over synthetic white, the plate is
|
|
127
248
|
distinguishable from a bright page behind) while staying bounded ≤ 24% (the
|
|
@@ -91,12 +91,45 @@
|
|
|
91
91
|
opacity-only register. */
|
|
92
92
|
--glass-blur-dock-radius: 9px;
|
|
93
93
|
|
|
94
|
+
/* ── Per-rung SATURATE — the CANONICAL named saturate register (BC.W-GLASS-
|
|
95
|
+
LEGIBILITY-MEASURED, the speedtest-AX BC-W10 fold) ───────────────────────
|
|
96
|
+
The saturate term is the LOAD-BEARING glass knob (research/apple-glass.md §4:
|
|
97
|
+
the apple.com nav rides `saturate(1.8)` — the highest term, blur moderate).
|
|
98
|
+
Each `--glass-saturate-{tier}` is the library's canonical saturation for that
|
|
99
|
+
rung — a NAMED, `:root`-overridable input the composed `--glass-blur-{tier}`
|
|
100
|
+
reads THROUGH, the SAME substitution-vs-redeclaration discipline as the
|
|
101
|
+
`--glass-opacity-{tier}` alpha register above. A `:root { --glass-saturate-
|
|
102
|
+
quiet: … }` override re-resolves the rung's saturation with ZERO recipe edit
|
|
103
|
+
(the speedtest "dark cards" chronic + the apple-glass saturate-as-load-bearing
|
|
104
|
+
lever). The values here ARE the W52-D19 bake (wash/quiet/resting 1.05,
|
|
105
|
+
floating 1.18, overlay 1.2) become the token defaults — so the composed blur
|
|
106
|
+
is BYTE-IDENTICAL to the old baked literal (proof:glass-cal / proof:card-tier-
|
|
107
|
+
alpha stay GREEN by construction). The deep-tier `--glass-saturate-deep` 1.8
|
|
108
|
+
ceiling (glass-deep.css) is the upper bound; no rung saturate exceeds it. The
|
|
109
|
+
dark arm (tokens/dark-arm.css) re-declares this register with the W-DARK-
|
|
110
|
+
MATERIAL luminosity lift — the SAME named tokens, per-mode (the plain per-mode
|
|
111
|
+
pair idiom). The brightness() companions stay baked (this fold mints ONLY the
|
|
112
|
+
saturate knob). Machine-locked by `proof:glass-legibility` L7. */
|
|
113
|
+
--glass-saturate-wash: 1.4;
|
|
114
|
+
--glass-saturate-quiet: 1.4;
|
|
115
|
+
--glass-saturate-resting: 1.4;
|
|
116
|
+
--glass-saturate-floating: 1.6;
|
|
117
|
+
--glass-saturate-overlay: 1.6;
|
|
118
|
+
/* W-NAV-DOCK-FIX — the dock's named light-concentration saturate. The dock is a
|
|
119
|
+
calm chrome strip (the wash/quiet/resting register 1.4, NOT the floating 1.6).
|
|
120
|
+
Mirrors the dark arm's dock saturate; the single retune knob in both modes. The
|
|
121
|
+
light dock was the ONLY light surface with no saturate companion — over the flat
|
|
122
|
+
warm-cream page the un-saturated backdrop-filter pulled the cream toward neutral
|
|
123
|
+
(the flat-slab gray read). */
|
|
124
|
+
--glass-saturate-dock: 1.4;
|
|
125
|
+
|
|
94
126
|
/* AX.W54 — each blur radius is scaled by the ONE `--glass-level` scalar (in
|
|
95
127
|
lockstep with the opacity seam above): level=1 byte-identical; level=0 →
|
|
96
128
|
blur(0) (the clean solid floor with the opacity); level>1 → more diffusion.
|
|
97
|
-
The per-rung `saturate()
|
|
129
|
+
The per-rung `saturate()` companion reads the named `--glass-saturate-{tier}`
|
|
130
|
+
knob (BC.W-GLASS-LEGIBILITY-MEASURED); `brightness()` stays baked (the level
|
|
98
131
|
scales the RADIUS, not the saturation — W52's calm light-concentration). */
|
|
99
|
-
--glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(
|
|
132
|
+
--glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(var(--glass-saturate-wash));
|
|
100
133
|
/* AV.W15 M1 — the `quiet` rung gained `saturate(1.05) brightness(1.02)`
|
|
101
134
|
so the lower ladder reads with the same saturation life as `resting`+
|
|
102
135
|
(Apple: Liquid Glass concentrates light, it does not desaturate). The
|
|
@@ -104,34 +137,93 @@
|
|
|
104
137
|
between bare `wash` and `resting` without over-brightening the rung.
|
|
105
138
|
The `prefers-reduced-transparency: reduce` bracket at glass.css maps
|
|
106
139
|
`--glass-blur-quiet: none`, so this whole chain drops with the blur. */
|
|
107
|
-
--glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(
|
|
108
|
-
--glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(
|
|
140
|
+
--glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(var(--glass-saturate-quiet)) brightness(1.02);
|
|
141
|
+
--glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(var(--glass-saturate-resting));
|
|
109
142
|
/* AX.W52 D19 — the floating/overlay backdrop saturate tamed from 1.4/1.5 to a
|
|
110
143
|
gentle ~1.18/1.2 (real liquid glass concentrates light ~1.1–1.2×; the prior
|
|
111
144
|
1.4–1.5× over-juiced the bleed-through into a garish smear over a colored
|
|
112
145
|
substrate). wash/quiet/resting already sit at 1.05 — untouched. */
|
|
113
|
-
--glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(
|
|
114
|
-
--glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(
|
|
146
|
+
--glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(var(--glass-saturate-floating));
|
|
147
|
+
--glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(var(--glass-saturate-overlay));
|
|
115
148
|
/* Dock blur composes blur() only — no saturate. */
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
149
|
+
/* W-NAV-DOCK-FIX — the dock concentrates light like every other tier (apple-glass
|
|
150
|
+
§4): the saturate lifts the warm-cream chroma THROUGH the plate, the small
|
|
151
|
+
brightness is the light-concentration the quiet rung carries. The blur RADIUS is
|
|
152
|
+
untouched (the W-GLASS-CAL dial). Compositor-only (backdrop-filter is a paint op);
|
|
153
|
+
the prefers-reduced-transparency bracket maps --glass-blur-dock: none, so the
|
|
154
|
+
saturate drops with the blur (no separate carve owed). */
|
|
155
|
+
--glass-blur-dock:
|
|
156
|
+
blur(calc(var(--glass-blur-dock-radius) * var(--glass-level)))
|
|
157
|
+
saturate(var(--glass-saturate-dock))
|
|
158
|
+
brightness(1.02);
|
|
159
|
+
|
|
160
|
+
/* AX.W52 → BC.W-GLASS-LEGIBILITY-MEASURED — the GLASS BUTTON blur, lifted to
|
|
161
|
+
the FLOATING-tier "more glass" register. The `glass`/`glass-wash` button
|
|
162
|
+
variants compose the `.glass-wash` tier (`--glass-blur-wash` = blur(1px)) — a
|
|
163
|
+
sub-perceptual diffusion authored for a small detail TILE, not a button the
|
|
164
|
+
user reads as "glass." A button is a hero control: it wants a real glass blur.
|
|
165
|
+
The AX.W52 landing sat at the quiet-tier 8px/saturate(1.05) — "quieter than
|
|
166
|
+
even the calm floating tier" (apple-ios27.md §4.2). This wave lifts it to the
|
|
167
|
+
FLOATING-tier register (apple-ios27.md §5 bake-table "button blur lift to
|
|
168
|
+
10-13 / 1.18"): the floating radius (13px, in the 10-13 band) + the named
|
|
169
|
+
`--glass-saturate-floating` knob (1.18) — a genuinely MORE-glass transmissive
|
|
170
|
+
capsule revealing the craft beneath (the apple-glass SUPERSET: apple.com's web
|
|
171
|
+
CTA is a SOLID blue capsule, zero blur — research/apple-glass.md §1.4). The
|
|
172
|
+
`brightness(1.02)` light-concentration the quiet rung carried is KEPT (no
|
|
173
|
+
colour-juice). Clean break — the old 8px/quiet value is GONE, no alias. The
|
|
174
|
+
wash TILE tier (MetricCell et al.) keeps its 1px — only the glass BUTTON
|
|
175
|
+
variants reach for this. Machine-locked by `proof:glass-legibility` L3. */
|
|
176
|
+
--glass-blur-btn: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(var(--glass-saturate-floating)) brightness(1.02);
|
|
128
177
|
|
|
129
178
|
/* Dock-specific opacity (0.42) — lighter than `resting` (0.65) so the dock
|
|
130
179
|
reads as a translucent overlay rather than a panel, backdrop bleed
|
|
131
180
|
visible through it. Consumed by `.glass-dock` via `--glass-bg-dock`. The
|
|
132
181
|
value holds the surface register against the tightened 11px blur so the
|
|
133
182
|
dock reads as painted chrome, not a frosted ghost. */
|
|
134
|
-
|
|
183
|
+
/* BD.W-DOCK-CORE (D3) — the dock base alpha lifts 0.42 → 0.50 (margin-insurance for
|
|
184
|
+
the warm-chromatic darken: the base composite chroma closes a notch before any tint
|
|
185
|
+
engages). Stays the lightest chrome tier (below resting 0.65), mode-invariant. */
|
|
186
|
+
--glass-opacity-dock: 0.50;
|
|
187
|
+
|
|
188
|
+
/* Dialog-specific opacity (0.68) — BC.W-DIALOG-GLASS. The iOS-27 control-
|
|
189
|
+
center modal register: SEE-THROUGH frosted glass that reveals the page
|
|
190
|
+
beneath, NOT the floating-tier near-opaque slab (0.80 read as "NOT glassy
|
|
191
|
+
at all"). 0.68 sits between `resting` (0.65 — transparent enough to read
|
|
192
|
+
through) and `floating` (0.80 — opaque enough for AA legibility against
|
|
193
|
+
the bright bucket), so the modal floats with the FLOATING-tier lift (edge/
|
|
194
|
+
rim/under-shadow) while reading at the RESTING-tier transparency. The
|
|
195
|
+
LIBRARY iOS-modal identity (presets-in-consumers — a consumer retunes
|
|
196
|
+
`--glass-bg-dialog` via :root). Consumed by DialogContent.vue, which re-
|
|
197
|
+
declares `--glass-bg-floating: var(--glass-bg-dialog)` on the dialog scope
|
|
198
|
+
(the self-re-point recipe, the dock precedent — NOT a raw rung override
|
|
199
|
+
that won't re-compose). */
|
|
200
|
+
--glass-opacity-dialog: 0.68;
|
|
201
|
+
|
|
202
|
+
/* Sheet-specific opacity (0.74) — BE.W-SHEET-TRANSLUCENT. The iOS-27 bottom-
|
|
203
|
+
sheet register: SEE-THROUGH frosted glass whose lifted crown reveals the
|
|
204
|
+
page/album grid beneath, NOT the near-opaque overlay slab (0.95 read as "not
|
|
205
|
+
glassy"). 0.74 sits BETWEEN the dialog 0.68 (transparent enough that the
|
|
206
|
+
backdrop reads through) and the overlay 0.95 (opaque enough for AA body text
|
|
207
|
+
against a busy grid) — a sheet is content-bearing, so it sits a hair above the
|
|
208
|
+
dialog. The composed `--glass-bg-sheet` rides the SAME oklab-tint-wrapped
|
|
209
|
+
recipe `--glass-bg-dialog` speaks, so the W55 bright-bucket darken + the
|
|
210
|
+
`--glass-level` opaque escape + the dark-arm saturate companions reach the
|
|
211
|
+
sheet with ZERO new compositing seam. Drawer + Sheet self-re-point onto it.
|
|
212
|
+
Presets-in-consumers — a consumer retunes `--glass-opacity-sheet` via :root. */
|
|
213
|
+
--glass-opacity-sheet: 0.74;
|
|
214
|
+
|
|
215
|
+
/* Clear-specific opacity (0.58) — BE.W-CLEAR-VARIANT. The Apple-Clear MAXIMALLY
|
|
216
|
+
translucent register — the clearest rung the library ships, BELOW the dialog
|
|
217
|
+
0.68 (the now-playing pill, the Control-Center clear tile: the album grid
|
|
218
|
+
bleeds genuinely through). It is STRUCTURALLY coupled to a MANDATORY legibility
|
|
219
|
+
scrim (the `surface="clear"` decoration carries a `::before` backdrop-dim whose
|
|
220
|
+
strength derives from the sampled `--glass-backdrop-luma`) — a scrim-less clear
|
|
221
|
+
plate is FORBIDDEN by construction (the Apple Clear contract: near-transparent →
|
|
222
|
+
the text needs a scrim floor). 0.58 sits in the Apple-Clear band (clearer than
|
|
223
|
+
the modal 0.68, still a plate not a ghost — > 0.45). The composed
|
|
224
|
+
`--glass-bg-clear` rides the SAME oklab-tint-wrapped recipe so the W55 darken +
|
|
225
|
+
the `--glass-level` escape reach it. Presets-in-consumers — retune via :root. */
|
|
226
|
+
--glass-opacity-clear: 0.58;
|
|
135
227
|
|
|
136
228
|
/* Dock foreground over an animated backdrop. A dock floating over an
|
|
137
229
|
aurora/animated surface (`value.js` dock-over-aurora, a slides routed
|
|
@@ -178,22 +270,73 @@
|
|
|
178
270
|
second hand-rolled recipe. */
|
|
179
271
|
--glass-bg-dock: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-dock)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
|
|
180
272
|
--glass-bg-chassis: color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-chassis)) * var(--glass-level)) * 100%), transparent);
|
|
273
|
+
/* BC.W-DIALOG-GLASS — the dialog plate bg, composed the SAME oklab-tint-wrapped
|
|
274
|
+
way the dock self-re-points (so the BC.W-ADAPTIVE-RECONCILE darken reaches the
|
|
275
|
+
modal over a bright backdrop without a second hand-rolled recipe). The 0.68
|
|
276
|
+
opacity is the iOS-27 control-center register (see `--glass-opacity-dialog`).
|
|
277
|
+
DialogContent.vue re-declares `--glass-bg-floating: var(--glass-bg-dialog)` on
|
|
278
|
+
the dialog scope (the documented retune path — the self-re-point, NOT a raw
|
|
279
|
+
rung override) so the floating edge/rim/under-shadow LIFT survives the
|
|
280
|
+
transparency drop. */
|
|
281
|
+
--glass-bg-dialog: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-dialog)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
|
|
282
|
+
/* BE.W-SHEET-TRANSLUCENT — the bottom-sheet plate bg, composed the SAME oklab-
|
|
283
|
+
tint-wrapped way the dialog self-re-points (so the W55 darken + the dark-arm
|
|
284
|
+
saturate companion reach the see-through sheet without a second hand-rolled
|
|
285
|
+
recipe — byte-isomorphic to `--glass-bg-dialog`, only the opacity token
|
|
286
|
+
differs). Drawer + SheetContent re-declare `--glass-bg-floating:
|
|
287
|
+
var(--glass-bg-sheet)` on their scope (the self-re-point recipe — NOT a raw
|
|
288
|
+
rung override that won't re-compose) so the floating edge/rim/under-shadow LIFT
|
|
289
|
+
survives the transparency drop. */
|
|
290
|
+
--glass-bg-sheet: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-sheet)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
|
|
291
|
+
/* BE.W-CLEAR-VARIANT — the maximally-translucent Apple-Clear plate bg, composed
|
|
292
|
+
the SAME oklab-tint-wrapped way (so the W55 darken reaches the clear plate).
|
|
293
|
+
The `surface="clear"` decoration reads this fill AND couples its MANDATORY
|
|
294
|
+
`::before` legibility scrim (the scrim dims the BACKDROP — distinct from this
|
|
295
|
+
PLATE tint; the two axes stay disjoint). Byte-isomorphic to `--glass-bg-dialog`,
|
|
296
|
+
only the (lower) clear opacity differs. */
|
|
297
|
+
--glass-bg-clear: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-clear)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
|
|
298
|
+
|
|
299
|
+
/* ── BE.W-TINTED-CHIP — the per-INSTANCE PLATE-FILL tint axis (`--glass-fill-tint`
|
|
300
|
+
/ `--glass-fill-strength`) ──────────────────────────────────────────────────
|
|
301
|
+
The THIRD per-instance chromatic axis (BESIDE the rim `--glass-accent` and the
|
|
302
|
+
whole-plate legibility `--glass-tint-source`): `--glass-fill-tint` tints the
|
|
303
|
+
plate BACKGROUND BODY toward a consumer DATA hue, so a glass surface reads as
|
|
304
|
+
COLORED GLASS (a green chip, a violet facet) without re-declaring the composed
|
|
305
|
+
`--glass-bg-*` token. DISTINCT-not-fork of `--glass-accent` (which tints only the
|
|
306
|
+
RIM + the `::before` specular CORE — file-line-disjoint): the fill writes the
|
|
307
|
+
plate body, the accent writes the rim; a chip may carry BOTH. The mix is `in
|
|
308
|
+
oklab` (the perceptual glass-tint family — NOT the in-srgb `--surface-tint-*`
|
|
309
|
+
brand-overlay fence, AW.W26). It rides ON TOP of the W55 legibility composite
|
|
310
|
+
(the plate still darkens-over-light for AA AND carries the data hue — additive,
|
|
311
|
+
never a replacement). At the `@property` defaults (transparent + 0%) the body is
|
|
312
|
+
byte-identical to today (`color-mix(in oklab, X, transparent 0%)` ≡ X — the no-op
|
|
313
|
+
floor). `<GlassChip :tone>` is the first-class consumer (BE.W-TINTED-CHIP
|
|
314
|
+
component) — the fill is read on the surface, never written into a `--glass-bg-*`
|
|
315
|
+
token here. The `@property` registration is below (the typed no-op floor). */
|
|
181
316
|
|
|
182
|
-
/* Composed borders — foreground-tinted.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
--glass-border-
|
|
196
|
-
--glass-border-
|
|
317
|
+
/* Composed borders — foreground-tinted. BC.W-BLACK-BAR D2 — the perimeter
|
|
318
|
+
hairline is RETIRED as the silhouette device. The old 11-22% warm-ink rung
|
|
319
|
+
borders rode --foreground (oklab L 0.216, near-black warm ink); over a
|
|
320
|
+
near-white cream plate the full-perimeter hairline read as the user's "wtf
|
|
321
|
+
is this black bar" — worst on the TOP edge where the bright white catch-light
|
|
322
|
+
ring sat just inside a dark border (a bright rim and a dark line at war on the
|
|
323
|
+
SAME edge). The silhouette is now carved by the directional rim
|
|
324
|
+
(--glass-rim-top catch-light + --glass-rim-bottom under-shadow, glass-fx.css),
|
|
325
|
+
NOT by this perimeter ink. So each rung drops to ≤5% α — the warm hue stays
|
|
326
|
+
--foreground (the warm-not-tinted identity, BA.W-NO-GRAY), only the PRESENCE
|
|
327
|
+
falls below the read-threshold so the hairline can never read as a bar. The
|
|
328
|
+
+1% on the two heaviest rungs (floating/overlay) holds a faint tier-presence
|
|
329
|
+
ordering without crossing the threshold (apple-ios27.md §5 "top ≤4%" target). */
|
|
330
|
+
--glass-border-wash: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
331
|
+
--glass-border-quiet: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
332
|
+
--glass-border-resting: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
333
|
+
--glass-border-floating: color-mix(in srgb, var(--foreground) 5%, transparent);
|
|
334
|
+
--glass-border-overlay: color-mix(in srgb, var(--foreground) 5%, transparent);
|
|
335
|
+
/* W-NAV-DOCK-FIX — the dock is FLOATING chrome over an UNKNOWN backdrop (unlike a
|
|
336
|
+
content card on the page), so it earns a readable warm-INK hairline (the iOS-27
|
|
337
|
+
edge-rim layer). 8% warm-ink is still a whisper, never a black bar (--foreground
|
|
338
|
+
H≈56° → a WARM rim, never a gray line). */
|
|
339
|
+
--glass-border-dock: color-mix(in srgb, var(--foreground) 8%, transparent);
|
|
197
340
|
--glass-border: var(--glass-border-quiet);
|
|
198
341
|
|
|
199
342
|
/* ── The control REST register (BA.W-SURFACE-AXIS scope 7) ────────────────
|
|
@@ -218,3 +361,52 @@
|
|
|
218
361
|
under-shadow/overlay-scrim) lives in tokens/glass-fx.css (carved at BB.W-CARVE4
|
|
219
362
|
— the next adjacent :root{} block in the cascade). */
|
|
220
363
|
}
|
|
364
|
+
|
|
365
|
+
/* ── BE.W5 foundation — the typed per-instance axes (the @property no-op floors) ──
|
|
366
|
+
Registered HERE beside the §8 glass tokens (the canonical @property idiom home is
|
|
367
|
+
tokens/property-regs.css; these foundation axes live with the §8 ladder they
|
|
368
|
+
compose so the BE Tier-0 foundation is one self-contained partial). Each mirrors the
|
|
369
|
+
`--glass-accent`/`--glass-accent-strength` registration shape: a `<color>` HUE +
|
|
370
|
+
a `<percentage>` STRENGTH, both `inherits: true` (a host sets them on any ancestor
|
|
371
|
+
to retune the sub-tree) with the NEUTRAL no-op identity (`transparent` / `0%`) so
|
|
372
|
+
an unset surface is byte-identical to today — `color-mix(in oklab, X, <hue> 0%)` ≡ X.
|
|
373
|
+
A malformed override CLAMPS to the initial-value (the typed fail-safe). */
|
|
374
|
+
|
|
375
|
+
/* BE.W-AMBIENT-TINT — the backdrop hue the glass absorbs. `useGlassBackdropLuminance`
|
|
376
|
+
writes a sampled `oklch()` modal hue here (at a FIXED sub-perceptual chroma — a HUE
|
|
377
|
+
event, never the backdrop's saturation); a gray backdrop writes `transparent` (the
|
|
378
|
+
room tints nothing). The `transparent` initial-value is the neutral identity. */
|
|
379
|
+
@property --glass-ambient-hue {
|
|
380
|
+
syntax: "<color>";
|
|
381
|
+
inherits: true;
|
|
382
|
+
initial-value: transparent;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/* The opt-in ambient bias knob — the EXISTING `--glass-tint-source` self-engage
|
|
386
|
+
re-point biases toward `--glass-ambient-hue` at this strength (bounded ≤ 8% in the
|
|
387
|
+
cascade — sub-perceptual under the W55 `--glass-tint-strength-aa` bound). `0%`
|
|
388
|
+
default is the no-op floor (the un-biased `--glass-tint-ink`); the dock wires it on. */
|
|
389
|
+
@property --glass-ambient-strength {
|
|
390
|
+
syntax: "<percentage>";
|
|
391
|
+
inherits: true;
|
|
392
|
+
initial-value: 0%;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/* BE.W-TINTED-CHIP — the per-INSTANCE PLATE-FILL tint. A complete `<color>` data hue
|
|
396
|
+
the plate BODY mixes toward (`in oklab`, ON TOP of the W55 legibility composite —
|
|
397
|
+
DISTINCT from the rim `--glass-accent`). `transparent` is the neutral identity (the
|
|
398
|
+
no-op floor: `color-mix(in oklab, X, transparent 0%)` ≡ X). */
|
|
399
|
+
@property --glass-fill-tint {
|
|
400
|
+
syntax: "<color>";
|
|
401
|
+
inherits: true;
|
|
402
|
+
initial-value: transparent;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/* The fill-tint bounded strength — `0%` default (an unset surface carries no fill
|
|
406
|
+
tint, byte-identical to today). A consumer (`<GlassChip :strength>`) dials it for a
|
|
407
|
+
louder colored-glass chip; the body ink stays legible (the W-ON-GLASS-FG floor). */
|
|
408
|
+
@property --glass-fill-strength {
|
|
409
|
+
syntax: "<percentage>";
|
|
410
|
+
inherits: true;
|
|
411
|
+
initial-value: 0%;
|
|
412
|
+
}
|
|
@@ -98,8 +98,8 @@
|
|
|
98
98
|
BA.W-NO-GRAY L1 — the LIGHT arm DECOUPLES off the near-achromatic page onto the
|
|
99
99
|
warm-cream plate hsl(36 48% 97%) (LOCKSTEP color-radius.css --card) so the light
|
|
100
100
|
glass plate reads warm-not-gray; the dark arm is UNCHANGED (W-DARK-MATERIAL's). */
|
|
101
|
-
--card: light-dark(hsl(
|
|
102
|
-
--popover: light-dark(hsl(
|
|
101
|
+
--card: light-dark(hsl(30 85% 96%), hsl(26 22% 17%));
|
|
102
|
+
--popover: light-dark(hsl(30 85% 96%), hsl(26 22% 17%));
|
|
103
103
|
--surface-public-data-panel: light-dark(hsl(44 16% 96%), hsl(36 9% 18%));
|
|
104
104
|
|
|
105
105
|
/* BA.W-DARK-MATERIAL scope 4 — the chromatic dark --primary (legendre-violet house
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
--section-color-2: light-dark(oklch(0.484 0.163 265.5), oklch(0.718 0.107 268.4));
|
|
132
132
|
--section-color-3: light-dark(oklch(0.542 0.089 222.8), oklch(0.767 0.091 219.9));
|
|
133
133
|
--section-color-4: light-dark(oklch(0.551 0.088 171.1), oklch(0.776 0.105 172.6));
|
|
134
|
-
--section-color-5: light-dark(oklch(0.
|
|
134
|
+
--section-color-5: light-dark(oklch(0.530 0.124 69.6), oklch(0.813 0.109 78.2));
|
|
135
135
|
--section-color-6: light-dark(oklch(0.579 0.201 30.4), oklch(0.693 0.151 28.1));
|
|
136
136
|
--section-color-7: light-dark(oklch(0.532 0.180 317.5), oklch(0.739 0.134 318.1));
|
|
137
137
|
--section-color-8: light-dark(oklch(0.520 0.176 8.4), oklch(0.709 0.142 2.3));
|
|
@@ -108,6 +108,33 @@
|
|
|
108
108
|
it claimed to back never read it — PopoverContent paints `p-4` directly), so
|
|
109
109
|
it was an orphan declaration the golden-padding cut prunes. */
|
|
110
110
|
--panel-padding: 0.375rem;
|
|
111
|
+
|
|
112
|
+
/* BC.W-OVERLAY-UNIFORM — the token-BACKING of the raw floating-overlay
|
|
113
|
+
literals (the token-beats-prop seam). Each defaults to the byte-identical
|
|
114
|
+
HEAD magnitude so a bare overlay is pixel-unchanged; a consumer retunes
|
|
115
|
+
EVERY overlay's min-width / max-block / tooltip type / select chevron from
|
|
116
|
+
ONE `:root` override (the uniformity payoff). These are token-backings of
|
|
117
|
+
EXISTING raw literals (`min-w-32` / `max-h-[60vh]` / tooltip `text-sm` /
|
|
118
|
+
chevron `opacity-50`) — NOT a new compositing register (the `surface` axis
|
|
119
|
+
+ the φ `--overlay-pad-*` ladder are THREADED, not re-minted). */
|
|
120
|
+
/* `min-w-32` = 32 × 0.25rem = 8rem — the dropdown/select/context-menu min-width. */
|
|
121
|
+
--overlay-min-width: 8rem;
|
|
122
|
+
/* The collision-bounded max-block ceiling the dropdown (`max-h-[60vh]`) +
|
|
123
|
+
command list (`max-h-[300px]`) read. Defaults to 60vh — the viewport-
|
|
124
|
+
relative ceiling so a long menu scrolls inside the overlay rather than
|
|
125
|
+
running off-screen. (The Select precompiled `[data-slot="select-content"]`
|
|
126
|
+
max-height in select.css is the BA.W-EMISSION consumer-reach floor — KEPT,
|
|
127
|
+
not threaded here; see the census on-the-line row.) */
|
|
128
|
+
--overlay-max-block: 60vh;
|
|
129
|
+
/* The tooltip type rung — the golden quiet caption register (√φ ladder), the
|
|
130
|
+
token-backing of the bare `text-sm` on TooltipContent (the overlay share of
|
|
131
|
+
class 3). Defaults to `--type-caption` so the compact tooltip chip reads the
|
|
132
|
+
house caption scale; a consumer retunes the tooltip type from `:root`. */
|
|
133
|
+
--tooltip-text: var(--type-caption);
|
|
134
|
+
/* The Select trigger chevron opacity — the token-backing of the bare
|
|
135
|
+
`opacity-50` so a consumer retunes the affordance prominence from `:root`. */
|
|
136
|
+
--select-chevron-opacity: 0.5;
|
|
137
|
+
|
|
111
138
|
--chart-height-compact: 15rem;
|
|
112
139
|
--chart-height-default: 22.5rem;
|
|
113
140
|
--chart-height-large: 25rem;
|