@mkbabb/glass-ui 6.0.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -34
- package/dist/DropdownMenuTrigger-ClIq8RJE.js +93 -0
- package/dist/FeedbackMark-DZq5001h.js +23 -0
- package/dist/Input-9BlLluik.js +77 -0
- package/dist/{PagerDots-BoTQ7g5l.js → PagerDots-BEq0MgtH.js} +85 -81
- package/dist/Surface-kFQeYrYv.js +82 -0
- package/dist/accent-tone-solve-Cw7WkRD9.js +14 -0
- package/dist/animated-digit.js +5 -5
- package/dist/asElement-CRnm6A2v.js +9 -0
- package/dist/aurora.js +831 -776
- package/dist/axes.js +25 -14
- package/dist/badge-u65NClWn.js +62 -0
- package/dist/badge.js +1 -1
- package/dist/blob-config.js +1 -1
- package/dist/blob.js +442 -395
- package/dist/button-Bu9F4uU6.js +98 -0
- package/dist/button.js +2 -2
- package/dist/canvas.js +1 -1
- package/dist/card-Bk96VI2R.js +234 -0
- package/dist/card.js +2 -2
- package/dist/carousel.js +109 -169
- package/dist/chip-DFZQr6rV.js +129 -0
- package/dist/chip.js +2 -81
- package/dist/{class-names-5jotTFzp.js → class-names-Cpy5eaBk.js} +11 -4
- package/dist/collapsible-BAP95XTt.js +154 -0
- package/dist/collapsible.js +1 -1
- package/dist/color.js +46 -50
- package/dist/{procedural-color.wgsl-B9mLK7v0.js → color.wgsl-Ct5o9dpf.js} +155 -121
- package/dist/command-SFqDQ65h.js +320 -0
- package/dist/command.js +1 -1
- package/dist/completion-seal.js +54 -54
- package/dist/components/_shared/FeedbackMark.vue.d.ts +11 -0
- package/dist/components/_shared/axes.d.ts +9 -3
- package/dist/components/_shared/class-names.d.ts +9 -8
- package/dist/components/_shared/control-size.d.ts +2 -0
- package/dist/components/_shared/disclosure-context.d.ts +7 -0
- package/dist/components/_shared/disclosure.css +1 -0
- package/dist/components/_shared/feedback.d.ts +7 -0
- package/dist/components/_shared/field-control.css +1 -0
- package/dist/components/_shared/field-surfaces.css +1 -1
- package/dist/components/_shared/fieldControl.d.ts +13 -0
- package/dist/components/_shared/floating.d.ts +14 -0
- package/dist/components/_shared/index.d.ts +2 -6
- package/dist/components/_shared/interaction.d.ts +23 -0
- package/dist/components/_shared/menu.css +1 -1
- package/dist/components/_shared/menuRowClass.d.ts +2 -0
- package/dist/components/_shared/primitive.d.ts +19 -0
- package/dist/components/_shared/resolveSurfaceClass.d.ts +3 -0
- package/dist/components/_shared/selection.d.ts +7 -0
- package/dist/components/_shared/useMotionAxis.d.ts +3 -2
- package/dist/components/accordion/Accordion.vue.d.ts +41 -16
- package/dist/components/accordion/AccordionContent.vue.d.ts +11 -9
- package/dist/components/accordion/AccordionItem.vue.d.ts +12 -9
- package/dist/components/accordion/AccordionTrigger.vue.d.ts +8 -11
- package/dist/components/accordion/index.d.ts +4 -4
- package/dist/components/alert/Alert.vue.d.ts +9 -5
- package/dist/components/alert/index.d.ts +17 -8
- package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +2 -3
- package/dist/components/aurora/Aurora.vue.d.ts +37 -42
- package/dist/components/aurora/composables/atoms-fields.d.ts +13 -2
- package/dist/components/aurora/composables/atoms.d.ts +52 -50
- package/dist/components/aurora/composables/auroraFallbackGround.d.ts +13 -13
- package/dist/components/aurora/composables/auroraImageSource.d.ts +4 -5
- package/dist/components/aurora/composables/color.d.ts +15 -20
- package/dist/components/aurora/composables/frameLoop.d.ts +14 -11
- package/dist/components/aurora/composables/glSetup.d.ts +19 -2
- package/dist/components/aurora/composables/runtime.d.ts +56 -60
- package/dist/components/aurora/composables/uniformBridge.d.ts +9 -14
- package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +21 -22
- package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +13 -13
- package/dist/components/aurora/composables/useAurora.d.ts +19 -30
- package/dist/components/aurora/composables/wgpuSetup.d.ts +10 -8
- package/dist/components/aurora/constants/budget.d.ts +12 -25
- package/dist/components/aurora/constants/presets.d.ts +47 -58
- package/dist/components/aurora/constants/renderMode.d.ts +21 -36
- package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/composition.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -2
- package/dist/components/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -1
- package/dist/components/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -1
- package/dist/components/aurora/index.d.ts +2 -1
- package/dist/components/avatar/Avatar.vue.d.ts +72 -11
- package/dist/components/avatar/AvatarFallback.vue.d.ts +1 -2
- package/dist/components/avatar/AvatarImage.vue.d.ts +12 -8
- package/dist/components/avatar/index.d.ts +3 -9
- package/dist/components/avatar/styles.css +1 -0
- package/dist/components/badge/Badge.vue.d.ts +2 -9
- package/dist/components/badge/index.d.ts +32 -9
- package/dist/components/blob/Blob.vue.d.ts +5 -12
- package/dist/components/blob/composables/blobSimulation.d.ts +80 -0
- package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
- package/dist/components/blob/composables/resolveBlobSurface.d.ts +6 -0
- package/dist/components/blob/composables/satelliteKinematics.d.ts +3 -3
- package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +1 -1
- package/dist/components/blob/composables/uploadBlobUniforms.d.ts +4 -31
- package/dist/components/blob/composables/useBlobMood.d.ts +5 -5
- package/dist/components/blob/composables/useBlobPointer.d.ts +11 -12
- package/dist/components/blob/composables/useMetaballRenderer.d.ts +27 -24
- package/dist/components/blob/composables/wgpuSetup.d.ts +7 -5
- package/dist/components/blob/config.d.ts +1 -1
- package/dist/components/blob/index.d.ts +2 -2
- package/dist/components/blob/presets.d.ts +2 -2
- package/dist/components/blob/shaders/metaball-palette.wgsl.d.ts +1 -1
- package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
- package/dist/components/blob/shaders/metaball.wgsl.d.ts +1 -1
- package/dist/components/blob/shaders/sdf-body.glsl.d.ts +1 -1
- package/dist/components/blob/shaders/watercolor-edges.glsl.d.ts +1 -1
- package/dist/components/blob/types.d.ts +28 -60
- package/dist/components/button/Button.vue.d.ts +26 -20
- package/dist/components/button/index.d.ts +1 -9
- package/dist/components/button/styles.css +1 -0
- package/dist/components/card/Card.vue.d.ts +20 -155
- package/dist/components/card/CardAction.vue.d.ts +0 -7
- package/dist/components/card/CardContent.vue.d.ts +2 -2
- package/dist/components/card/CardDescription.vue.d.ts +2 -2
- package/dist/components/card/CardFooter.vue.d.ts +2 -2
- package/dist/components/card/CardHeader.vue.d.ts +3 -42
- package/dist/components/card/CardTitle.vue.d.ts +6 -3
- package/dist/components/card/card-scroll.css +1 -1
- package/dist/components/card/index.d.ts +1 -3
- package/dist/components/card/styles.css +1 -1
- package/dist/components/carousel/index.d.ts +0 -2
- package/dist/components/carousel/interface.d.ts +2 -0
- package/dist/components/checkbox/Checkbox.vue.d.ts +17 -9
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/checkbox/styles.css +1 -0
- package/dist/components/chip/Chip.vue.d.ts +12 -7
- package/dist/components/chip/chipVariants.d.ts +20 -43
- package/dist/components/chip/index.d.ts +1 -1
- package/dist/components/chip/types.d.ts +45 -30
- package/dist/components/collapsible/Collapsible.vue.d.ts +22 -9
- package/dist/components/collapsible/CollapsibleContent.vue.d.ts +11 -5
- package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +12 -9
- package/dist/components/collapsible/index.d.ts +3 -3
- package/dist/components/combobox/Combobox.vue.d.ts +10 -20
- package/dist/components/combobox/ComboboxAnchor.vue.d.ts +2 -6
- package/dist/components/combobox/ComboboxEmpty.vue.d.ts +2 -6
- package/dist/components/combobox/ComboboxGroup.vue.d.ts +2 -7
- package/dist/components/combobox/ComboboxInput.vue.d.ts +7 -12
- package/dist/components/combobox/ComboboxItem.vue.d.ts +7 -11
- package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +2 -6
- package/dist/components/combobox/ComboboxList.vue.d.ts +14 -17
- package/dist/components/combobox/ComboboxTrigger.vue.d.ts +16 -0
- package/dist/components/combobox/index.d.ts +2 -1
- package/dist/components/combobox/types.d.ts +87 -0
- package/dist/components/command/Command.vue.d.ts +9 -23
- package/dist/components/command/CommandDialog.vue.d.ts +4 -9
- package/dist/components/command/CommandEmpty.vue.d.ts +2 -6
- package/dist/components/command/CommandGroup.vue.d.ts +2 -7
- package/dist/components/command/CommandInput.vue.d.ts +6 -7
- package/dist/components/command/CommandItem.vue.d.ts +7 -11
- package/dist/components/command/CommandList.vue.d.ts +12 -19
- package/dist/components/command/CommandSeparator.vue.d.ts +2 -6
- package/dist/components/command/CommandShortcut.vue.d.ts +2 -2
- package/dist/components/command/dialogContext.d.ts +6 -0
- package/dist/components/command/index.d.ts +10 -10
- package/dist/components/command/styles.css +1 -0
- package/dist/components/command/types.d.ts +27 -0
- package/dist/components/completion-seal/CompletionSeal.vue.d.ts +2 -2
- package/dist/components/completion-seal/constants.d.ts +2 -2
- package/dist/components/configurator/Configurator.vue.d.ts +6 -6
- package/dist/components/configurator/ConfiguratorLayer.vue.d.ts +14 -18
- package/dist/components/configurator/ConfiguratorRow.vue.d.ts +14 -17
- package/dist/components/configurator/size.d.ts +5 -7
- package/dist/components/configurator/styles.css +1 -1
- package/dist/components/constellation/Constellation.vue.d.ts +1 -1
- package/dist/components/constellation/composables/createConstellationField.d.ts +2 -2
- package/dist/components/constellation/constants.d.ts +8 -8
- package/dist/components/constellation/constellationField.d.ts +5 -6
- package/dist/components/constellation/constellationInteraction.d.ts +8 -8
- package/dist/components/constellation/constellationTypes.d.ts +53 -54
- package/dist/components/constellation/constellationWell.d.ts +2 -2
- package/dist/components/dark-mode-toggle/DarkModeToggle.vue.d.ts +12 -0
- package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -0
- package/dist/components/dark-mode-toggle/index.d.ts +2 -0
- package/dist/components/data-table/DataTable.vue.d.ts +11 -59
- package/dist/components/data-table/composables/useDataTableRowIdentity.d.ts +5 -23
- package/dist/components/data-table/index.d.ts +1 -1
- package/dist/components/data-table/styles.css +1 -0
- package/dist/components/data-table/types.d.ts +10 -12
- package/dist/components/deck/index.d.ts +0 -1
- package/dist/components/dialog/Dialog.vue.d.ts +8 -3
- package/dist/components/dialog/DialogClose.vue.d.ts +3 -1
- package/dist/components/dialog/DialogContent.vue.d.ts +27 -90
- package/dist/components/dialog/DialogDescription.vue.d.ts +5 -6
- package/dist/components/dialog/DialogTitle.vue.d.ts +5 -6
- package/dist/components/dialog/DialogTrigger.vue.d.ts +3 -1
- package/dist/components/{_shared → dialog}/ModalOverlay.vue.d.ts +18 -16
- package/dist/components/dialog/dialogStageContext.d.ts +7 -0
- package/dist/components/dialog/index.d.ts +8 -8
- package/dist/components/dialog/placement.css +1 -1
- package/dist/components/dialog/sheet-motion.d.ts +17 -0
- package/dist/components/dock/DockControl.vue.d.ts +9 -12
- package/dist/components/dock/DockCrossfade.vue.d.ts +4 -8
- package/dist/components/dock/DockLayer.vue.d.ts +2 -3
- package/dist/components/dock/DockLayerGroup.vue.d.ts +6 -6
- package/dist/components/dock/DockSeparator.vue.d.ts +8 -8
- package/dist/components/dock/composables/dockContext.d.ts +4 -14
- package/dist/components/dock/composables/dockCrossfadeContext.d.ts +6 -7
- package/dist/components/dock/composables/dockMorphMeasure.d.ts +7 -86
- package/dist/components/dock/composables/index.d.ts +1 -1
- package/dist/components/dock/composables/useDockClickIntegrity.d.ts +1 -1
- package/dist/components/dock/composables/useDockHold.d.ts +4 -5
- package/dist/components/dock/composables/useDockMorph.d.ts +26 -0
- package/dist/components/dock/composables/useDockOverflowFit.d.ts +4 -6
- package/dist/components/dock/composables/useDockSearch.d.ts +8 -8
- package/dist/components/dock/composables/useDockShellProps.d.ts +46 -43
- package/dist/components/dock/composables/useDockSpring.d.ts +7 -11
- package/dist/components/dock/composables/useDockState.d.ts +12 -3
- package/dist/components/dock/composables/useDockTouchGate.d.ts +14 -23
- package/dist/components/dock/constants.d.ts +5 -78
- package/dist/components/dock/index.d.ts +2 -7
- package/dist/components/dock/styles/controls.css +1 -1
- package/dist/components/dock/styles/crossfade.css +1 -1
- package/dist/components/dock/styles/density.css +1 -1
- package/dist/components/dock/styles/index.css +1 -1
- package/dist/components/dock/styles/layer-group.css +1 -1
- package/dist/components/dock/styles/layers.css +1 -1
- package/dist/components/dock/styles/morph.css +1 -1
- package/dist/components/dock/styles/shape.css +1 -1
- package/dist/components/dock/styles/shell.css +1 -1
- package/dist/components/drawer/Drawer.vue.d.ts +17 -20
- package/dist/components/drawer/DrawerContent.vue.d.ts +15 -16
- package/dist/components/drawer/DrawerDescription.vue.d.ts +5 -6
- package/dist/components/drawer/DrawerOverlay.vue.d.ts +6 -6
- package/dist/components/drawer/DrawerTitle.vue.d.ts +5 -6
- package/dist/components/drawer/composables/drawerSnapContext.d.ts +7 -1
- package/dist/components/drawer/composables/useDrawerSnap.d.ts +3 -1
- package/dist/components/drawer/constants.d.ts +7 -25
- package/dist/components/drawer/index.d.ts +10 -10
- package/dist/components/drawer/styles.css +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +43 -16
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +22 -13
- package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +28 -19
- package/dist/components/dropdown-menu/DropdownMenuGroup.vue.d.ts +6 -4
- package/dist/components/dropdown-menu/DropdownMenuItem.vue.d.ts +21 -9
- package/dist/components/dropdown-menu/DropdownMenuLabel.vue.d.ts +9 -9
- package/dist/components/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +13 -6
- package/dist/components/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +18 -11
- package/dist/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts +5 -6
- package/dist/components/dropdown-menu/DropdownMenuShortcut.vue.d.ts +7 -8
- package/dist/components/dropdown-menu/DropdownMenuSub.vue.d.ts +15 -7
- package/dist/components/dropdown-menu/DropdownMenuSubContent.vue.d.ts +24 -17
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +11 -9
- package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +15 -8
- package/dist/components/dropdown-menu/index.d.ts +15 -15
- package/dist/components/dropdown-menu/styles.css +1 -0
- package/dist/components/dropdown-menu/useMenuTrigger.d.ts +2 -9
- package/dist/components/easing/composables/useEasingPicker.d.ts +5 -8
- package/dist/components/easing/constants.d.ts +1 -1
- package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -25
- package/dist/components/expandable-container/styles.css +1 -0
- package/dist/components/fading-scroll/FadingScroll.vue.d.ts +4 -0
- package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +4 -0
- package/dist/components/fading-scroll/constants.d.ts +1 -2
- package/dist/components/fourier-field/FourierField.vue.d.ts +3 -5
- package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +1 -1
- package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +1 -1
- package/dist/components/fourier-field/composables/useFourierField.d.ts +4 -4
- package/dist/components/fourier-field/constants.d.ts +10 -10
- package/dist/components/fourier-field/index.d.ts +3 -3
- package/dist/components/fourier-field/presets.d.ts +3 -3
- package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +2 -2
- package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -1
- package/dist/components/handmark/HandMark.vue.d.ts +1 -1
- package/dist/components/handmark/brush.d.ts +1 -1
- package/dist/components/handmark/composables/useHandMark.d.ts +4 -4
- package/dist/components/handmark/constants.d.ts +10 -10
- package/dist/components/handmark/geometry.d.ts +8 -8
- package/dist/components/handmark/index.d.ts +7 -8
- package/dist/components/handmark/noise.d.ts +3 -3
- package/dist/components/handmark/types.d.ts +2 -2
- package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +3 -21
- package/dist/components/header-ribbon/styles.css +1 -0
- package/dist/components/header-ribbon/types.d.ts +5 -2
- package/dist/components/index.d.ts +0 -3
- package/dist/components/infinite-scroll/composables/types.d.ts +1 -1
- package/dist/components/input/Input.vue.d.ts +10 -35
- package/dist/components/input/index.d.ts +2 -1
- package/dist/components/input/types.d.ts +22 -0
- package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +10 -84
- package/dist/components/instrument-chassis/index.d.ts +1 -2
- package/dist/components/instrument-chassis/styles.css +1 -1
- package/dist/components/instrument-chassis/types.d.ts +13 -0
- package/dist/components/label/Label.vue.d.ts +9 -14
- package/dist/components/label/index.d.ts +1 -1
- package/dist/components/labeled-field/LabeledField.vue.d.ts +10 -108
- package/dist/components/labeled-field/LabeledInput.vue.d.ts +3 -23
- package/dist/components/labeled-field/LabeledSelect.vue.d.ts +12 -18
- package/dist/components/labeled-field/LabeledSlider.vue.d.ts +12 -18
- package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +14 -17
- package/dist/components/labeled-field/index.d.ts +1 -0
- package/dist/components/labeled-field/types.d.ts +50 -0
- package/dist/components/liquid-grid/composables/liquidGrid.d.ts +5 -5
- package/dist/components/liquid-grid/constants.d.ts +6 -7
- package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +1 -1
- package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -1
- package/dist/components/metric/Metric.vue.d.ts +24 -0
- package/dist/components/metric/MetricCell.vue.d.ts +26 -0
- package/dist/components/metric/MetricRow.vue.d.ts +22 -0
- package/dist/components/metric/MetricStack.vue.d.ts +16 -0
- package/dist/components/metric/coalesce-metric.d.ts +7 -28
- package/dist/components/metric/index.d.ts +5 -0
- package/dist/components/metric/styles.css +1 -0
- package/dist/components/metric/types.d.ts +32 -0
- package/dist/components/number-field/NumberField.vue.d.ts +21 -9
- package/dist/components/number-field/NumberFieldContent.vue.d.ts +2 -2
- package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +6 -6
- package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +6 -6
- package/dist/components/number-field/NumberFieldInput.vue.d.ts +1 -6
- package/dist/components/number-field/context.d.ts +6 -0
- package/dist/components/number-field/index.d.ts +5 -5
- package/dist/components/number-field/styles.css +1 -0
- package/dist/components/pager-dots/constants.d.ts +1 -2
- package/dist/components/pager-dots/index.d.ts +0 -2
- package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +1 -14
- package/dist/components/paper-backdrop/index.d.ts +1 -1
- package/dist/components/popover/Popover.vue.d.ts +24 -36
- package/dist/components/popover/PopoverContent.vue.d.ts +23 -29
- package/dist/components/popover/PopoverTrigger.vue.d.ts +12 -7
- package/dist/components/popover/index.d.ts +3 -3
- package/dist/components/popover/popoverContext.d.ts +3 -4
- package/dist/components/progress/Progress.vue.d.ts +5 -13
- package/dist/components/progress/index.d.ts +1 -0
- package/dist/components/progress/types.d.ts +19 -0
- package/dist/components/pulse/Pulse.vue.d.ts +8 -47
- package/dist/components/pulse/index.d.ts +1 -0
- package/dist/components/radio-group/RadioGroup.vue.d.ts +27 -15
- package/dist/components/radio-group/RadioGroupItem.vue.d.ts +9 -6
- package/dist/components/radio-group/index.d.ts +2 -0
- package/dist/components/radio-group/styles.css +1 -0
- package/dist/components/scroll-progress-rim/styles.css +1 -1
- package/dist/components/search/FuzzySearch.vue.d.ts +2 -2
- package/dist/components/search/SearchBar.vue.d.ts +2 -2
- package/dist/components/search/searchVariants.d.ts +15 -17
- package/dist/components/select/Select.vue.d.ts +25 -14
- package/dist/components/select/SelectContent.vue.d.ts +26 -29
- package/dist/components/select/SelectGroup.vue.d.ts +7 -11
- package/dist/components/select/SelectItem.vue.d.ts +24 -13
- package/dist/components/select/SelectLabel.vue.d.ts +7 -11
- package/dist/components/select/SelectScrollDownButton.vue.d.ts +3 -4
- package/dist/components/select/SelectScrollUpButton.vue.d.ts +3 -4
- package/dist/components/select/SelectSeparator.vue.d.ts +5 -6
- package/dist/components/select/SelectTrigger.vue.d.ts +15 -41
- package/dist/components/select/SelectValue.vue.d.ts +13 -7
- package/dist/components/select/index.d.ts +16 -8
- package/dist/components/separator/Separator.vue.d.ts +11 -6
- package/dist/components/separator/index.d.ts +1 -1
- package/dist/components/skeleton/Skeleton.vue.d.ts +3 -31
- package/dist/components/slider/Slider.vue.d.ts +10 -37
- package/dist/components/slider/index.d.ts +1 -45
- package/dist/components/slider/types.d.ts +25 -0
- package/dist/components/sortable-list/SortableList.vue.d.ts +1 -1
- package/dist/components/sortable-list/composables/ghostRenderer.d.ts +1 -1
- package/dist/components/sortable-list/composables/touchGate.d.ts +1 -1
- package/dist/components/sortable-list/composables/transitionTiming.d.ts +1 -1
- package/dist/components/status-dot/StatusDot.vue.d.ts +7 -10
- package/dist/components/status-dot/index.d.ts +1 -0
- package/dist/components/surface/Surface.vue.d.ts +13 -21
- package/dist/components/surface/index.d.ts +2 -2
- package/dist/components/switch/Switch.vue.d.ts +20 -11
- package/dist/components/switch/index.d.ts +2 -1
- package/dist/components/switch/styles.css +1 -0
- package/dist/components/table/Table.vue.d.ts +1 -1
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +21 -13
- package/dist/components/tabs/composables/useTabDragMorph.d.ts +6 -6
- package/dist/components/tabs/composables/useTabResponsive.d.ts +5 -6
- package/dist/components/tabs/composables/useTabRovingFocus.d.ts +16 -16
- package/dist/components/tabs/constants.d.ts +1 -1
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/styles/drag.css +1 -1
- package/dist/components/tabs/styles/segmented.css +1 -1
- package/dist/components/tags-input/TagsInput.vue.d.ts +28 -15
- package/dist/components/tags-input/TagsInputInput.vue.d.ts +8 -6
- package/dist/components/tags-input/TagsInputItem.vue.d.ts +9 -8
- package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +5 -6
- package/dist/components/tags-input/TagsInputItemText.vue.d.ts +5 -6
- package/dist/components/tags-input/context.d.ts +5 -0
- package/dist/components/tags-input/index.d.ts +5 -5
- package/dist/components/tags-input/styles.css +1 -0
- package/dist/components/textarea/Textarea.vue.d.ts +10 -55
- package/dist/components/textarea/index.d.ts +2 -1
- package/dist/components/textarea/types.d.ts +22 -0
- package/dist/components/timeline/ContinuousMarkers.vue.d.ts +2 -4
- package/dist/components/timeline/ContinuousRail.vue.d.ts +3 -6
- package/dist/components/timeline/ContinuousTimeline.vue.d.ts +12 -13
- package/dist/components/timeline/GlassTimeline.vue.d.ts +7 -8
- package/dist/components/timeline/ScrubberTimeline.vue.d.ts +4 -4
- package/dist/components/timeline/SegmentedTimeline.vue.d.ts +2 -3
- package/dist/components/timeline/geometry.d.ts +3 -4
- package/dist/components/timeline/types.d.ts +3 -3
- package/dist/components/toast/Toast.vue.d.ts +37 -79
- package/dist/components/toast/ToastAction.vue.d.ts +5 -5
- package/dist/components/toast/ToastClose.vue.d.ts +4 -5
- package/dist/components/toast/ToastDescription.vue.d.ts +4 -5
- package/dist/components/toast/ToastTitle.vue.d.ts +4 -5
- package/dist/components/toast/Toaster.vue.d.ts +1 -1
- package/dist/components/toast/index.d.ts +8 -9
- package/dist/components/toast/use-toast.d.ts +20 -163
- package/dist/components/toggle-group/ToggleGroup.vue.d.ts +44 -22
- package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +11 -9
- package/dist/components/toggle-group/index.d.ts +3 -2
- package/dist/components/toggle-group/styles.css +1 -0
- package/dist/components/toggle-group/toggleGroupContext.d.ts +4 -15
- package/dist/components/tooltip/Tooltip.vue.d.ts +20 -7
- package/dist/components/tooltip/TooltipContent.vue.d.ts +20 -12
- package/dist/components/tooltip/TooltipProvider.vue.d.ts +12 -5
- package/dist/components/tooltip/TooltipTrigger.vue.d.ts +12 -5
- package/dist/components/tooltip/index.d.ts +4 -4
- package/dist/components/typewriter/composables/useTypewriter.d.ts +1 -0
- package/dist/components/typewriter/utils/timing.d.ts +0 -2
- package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +5 -18
- package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +1 -4
- package/dist/composables/color/accent-tone-solve.d.ts +2 -5
- package/dist/composables/color/index.d.ts +31 -38
- package/dist/composables/color/useAccentTone.d.ts +0 -3
- package/dist/composables/color/value.d.ts +21 -0
- package/dist/composables/context/createContext.d.ts +2 -2
- package/dist/composables/dark/index.d.ts +1 -1
- package/dist/composables/dark/useGlobalDark.d.ts +7 -6
- package/dist/composables/dom/useBreakpoint.d.ts +2 -2
- package/dist/composables/dom/useClipboard.d.ts +28 -52
- package/dist/composables/dom/useDocumentVisibility.d.ts +3 -1
- package/dist/composables/dom/useIdleReady.d.ts +5 -6
- package/dist/composables/dom/useTokenColor.d.ts +2 -2
- package/dist/composables/dom/useUserInvalidAria.d.ts +2 -3
- package/dist/composables/dom/useViewportReady.d.ts +4 -4
- package/dist/composables/glass/backdropLuminanceSample.d.ts +7 -6
- package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +7 -1
- package/dist/composables/glass/textureUpload.d.ts +8 -10
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +11 -19
- package/dist/composables/glass/useSpecularPointer.d.ts +6 -6
- package/dist/composables/glass/useSpecularTracking.d.ts +12 -15
- package/dist/composables/glass/wave/waveField.d.ts +2 -2
- package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -1
- package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -1
- package/dist/composables/glass/webgl/backingSize.d.ts +5 -8
- package/dist/composables/glass/webgl/compile.d.ts +1 -1
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +20 -20
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -28
- package/dist/composables/glass/webgl/visibility.d.ts +3 -4
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +10 -10
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +1 -1
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +12 -10
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +15 -16
- package/dist/composables/motion/core/asElement.d.ts +2 -0
- package/dist/composables/motion/{constants.d.ts → core/constants.d.ts} +2 -3
- package/dist/composables/motion/core/index.d.ts +20 -23
- package/dist/composables/motion/core/useReducedMotion.d.ts +5 -0
- package/dist/composables/motion/core/useViewTransition.d.ts +44 -0
- package/dist/composables/motion/index.d.ts +14 -16
- package/dist/composables/motion/{useDockCtaReceive.d.ts → morph/useDockCtaReceive.d.ts} +2 -3
- package/dist/composables/motion/{useDragMorph.d.ts → morph/useDragMorph.d.ts} +7 -7
- package/dist/composables/motion/morph/useElementMorph.d.ts +50 -0
- package/dist/composables/motion/{useLeadTrail.d.ts → morph/useLeadTrail.d.ts} +6 -6
- package/dist/composables/motion/{useSelectionGroup.d.ts → morph/useSelectionGroup.d.ts} +7 -5
- package/dist/composables/motion/{useSelectionIndicator.d.ts → morph/useSelectionIndicator.d.ts} +9 -16
- package/dist/composables/motion/{useNumericTransition.d.ts → number/useNumericTransition.d.ts} +2 -2
- package/dist/composables/motion/{pointerFieldMappings.d.ts → pointer/pointerFieldMappings.d.ts} +7 -10
- package/dist/composables/motion/{usePointerVelocityField.d.ts → pointer/usePointerVelocityField.d.ts} +1 -1
- package/dist/composables/motion/{bloomUpField.d.ts → reveal/bloomUpField.d.ts} +1 -1
- package/dist/composables/motion/reveal/useBloomUp.d.ts +33 -0
- package/dist/composables/motion/{useLiquidReveal.d.ts → reveal/useLiquidReveal.d.ts} +5 -5
- package/dist/composables/motion/{useStagger.d.ts → reveal/useStagger.d.ts} +3 -3
- package/dist/composables/motion/reveal/useStaggerReveal.d.ts +28 -0
- package/dist/composables/motion/{useScrollChrome.d.ts → scroll/useScrollChrome.d.ts} +2 -2
- package/dist/composables/motion/{useScrollProgress.d.ts → scroll/useScrollProgress.d.ts} +12 -2
- package/dist/composables/motion/{springPresets.d.ts → spring/springPresets.d.ts} +8 -7
- package/dist/composables/motion/{springProjection.d.ts → spring/springProjection.d.ts} +3 -0
- package/dist/composables/motion/{useLiquidFlex.d.ts → spring/useLiquidFlex.d.ts} +11 -12
- package/dist/composables/motion/{useLiquidPress.d.ts → spring/useLiquidPress.d.ts} +3 -3
- package/dist/composables/motion/{useSpring.d.ts → spring/useSpring.d.ts} +5 -2
- package/dist/composables/motion/{useSpringMount.d.ts → spring/useSpringMount.d.ts} +8 -1
- package/dist/composables/sidebar/types.d.ts +3 -3
- package/dist/{configurator-CSENXXSy.js → configurator-M5OaIlJd.js} +11 -11
- package/dist/configurator.js +1 -1
- package/dist/{constants-DRZmNIY-.js → constants-nBz23tJE.js} +1 -1
- package/dist/constellation.js +125 -124
- package/dist/{createCanvasLifecycle-hsFkQVdl.js → createCanvasLifecycle-DbXRwjU_.js} +87 -82
- package/dist/dark-mode-toggle.d.ts +1 -0
- package/dist/dark-mode-toggle.js +43 -0
- package/dist/dark.js +1 -1
- package/dist/data-table-BygKg6ZA.js +491 -0
- package/dist/data-table.js +1 -1
- package/dist/deck.js +3 -3
- package/dist/dialog-TNRDkcE4.js +385 -0
- package/dist/dialog.js +1 -1
- package/dist/dock.js +523 -940
- package/dist/dockContext-BUTlGRNJ.js +13 -0
- package/dist/dom.js +52 -114
- package/dist/drawer.js +262 -209
- package/dist/dropdown-menu-BlbnvMaZ.js +507 -0
- package/dist/dropdown-menu.js +2 -2
- package/dist/easing.js +294 -278
- package/dist/expandable-container.js +107 -93
- package/dist/fading-scroll-DhxXIhm2.js +96 -0
- package/dist/fading-scroll.js +1 -1
- package/dist/field-control.css_vue_type_style_index_0_src_true_lang-CeLay9Tk.js +21 -0
- package/dist/floating-dB5TD88k.js +7 -0
- package/dist/{flow.glsl-DEGFGE11.js → flow.wgsl-Cd2GUkPx.js} +2 -2
- package/dist/fonts/README.md +14 -18
- package/dist/forms.js +279 -174
- package/dist/fourier-field.js +148 -148
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +512 -373
- package/dist/handmark.js +4 -4
- package/dist/header-ribbon.js +37 -68
- package/dist/index.d.ts +9 -18
- package/dist/infinite-scroll.js +31 -28
- package/dist/instrument-chassis.js +54 -2
- package/dist/label-DnMqH7jr.js +55 -0
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +291 -214
- package/dist/liquid-grid.js +141 -151
- package/dist/menuRowClass-Nh7CtMON.js +12 -0
- package/dist/metric.d.ts +1 -0
- package/dist/metric.js +192 -0
- package/dist/motion-core.js +73 -165
- package/dist/motion.js +104 -161
- package/dist/number-field-Boe09SvX.js +154 -0
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +2 -2
- package/dist/paper-backdrop.js +16 -24
- package/dist/{pointerFieldMappings-CZojkgKj.js → pointerFieldMappings-DP5tla5z.js} +4 -7
- package/dist/popover-BQGYXZyO.js +244 -0
- package/dist/popover.js +1 -1
- package/dist/{presets-CxeNvxuO.js → presets-5myqNv59.js} +1 -1
- package/dist/primitive-B2t2jdqM.js +11 -0
- package/dist/progress-DClbhRAT.js +88 -0
- package/dist/progress.js +1 -1
- package/dist/pulse.js +29 -43
- package/dist/reactive.js +1 -1
- package/dist/resolveCanvasColor-DS_6DBxA.js +82 -0
- package/dist/resolveSurfaceClass-DCZ4PZcy.js +6 -0
- package/dist/{scrollReader-C2oK9Hb8.js → scrollReader-Brf5cQNo.js} +1 -1
- package/dist/search.js +241 -213
- package/dist/select-BcBAyLXA.js +336 -0
- package/dist/select.js +1 -1
- package/dist/selection-DqIULxRG.js +6 -0
- package/dist/separator-CgZInrX-.js +75 -0
- package/dist/separator.js +1 -1
- package/dist/sidebar.js +53 -42
- package/dist/slider-DzqeQmMu.js +162 -0
- package/dist/slider.js +2 -2
- package/dist/sortable-list.js +9 -8
- package/dist/springPresets-rCii5KqX.js +52 -0
- package/dist/status-dot.js +26 -43
- package/dist/styles/accessibility.css +1 -1
- package/dist/styles/animations.css +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/glass/a11y-fallback.css +1 -1
- package/dist/styles/glass/accent-tone.css +1 -1
- package/dist/styles/glass/control-surfaces.css +1 -1
- package/dist/styles/glass/defined.css +1 -1
- package/dist/styles/glass/glass-atom.css +1 -1
- package/dist/styles/glass/glass-capsule.css +1 -1
- package/dist/styles/glass/glass-chip.css +1 -1
- package/dist/styles/glass/ladder.css +1 -1
- package/dist/styles/glass/liquid-fill.css +1 -1
- package/dist/styles/glass/material-roles.css +1 -1
- package/dist/styles/glass/material.css +1 -1
- package/dist/styles/glass/reveal.css +1 -1
- package/dist/styles/glass/squircle.css +1 -1
- package/dist/styles/glass/surface-axis.css +1 -1
- package/dist/styles/glass/surfaces-pager.css +1 -1
- package/dist/styles/glass/surfaces.css +1 -1
- package/dist/styles/glass-refract.css +1 -1
- package/dist/styles/glass.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/paper.css +1 -1
- package/dist/styles/scroll-driven.css +1 -1
- package/dist/styles/theme/bridges.css +1 -1
- package/dist/styles/theme/radius.css +1 -1
- package/dist/styles/tokens/color-radius.css +1 -1
- package/dist/styles/tokens/dark-arm.css +1 -1
- package/dist/styles/tokens/glass-deep.css +1 -1
- package/dist/styles/tokens/glass-fx.css +1 -1
- package/dist/styles/tokens/glass.css +1 -1
- package/dist/styles/tokens/light-dark.css +1 -1
- package/dist/styles/tokens/manifest.d.ts +14 -0
- package/dist/styles/tokens/manifest.ts +56 -0
- package/dist/styles/tokens/motion-registers.css +1 -1
- package/dist/styles/tokens/offsets.css +1 -1
- package/dist/styles/tokens/property-regs-specular.css +1 -1
- package/dist/styles/tokens/property-regs.css +1 -1
- package/dist/styles/tokens/scale-paper.css +1 -1
- package/dist/styles/tokens/scheme-motion.css +1 -1
- package/dist/styles/tokens/scheme-spring.css +1 -1
- package/dist/styles/tokens/scroll-tokens.css +1 -1
- package/dist/styles/tokens/shadow.css +1 -1
- package/dist/styles/tokens/sizing-config.css +1 -1
- package/dist/styles/tokens/sizing.css +1 -1
- package/dist/styles/tokens.d.ts +4 -9
- package/dist/styles/tokens.ts +5 -9
- package/dist/styles/transitions.css +1 -1
- package/dist/styles/typography/scale.css +1 -1
- package/dist/styles/typography/semantic.css +1 -1
- package/dist/styles/typography/utilities.css +1 -1
- package/dist/styles/utilities/a11y-overrides.css +1 -1
- package/dist/styles/utilities/base-misc.css +1 -1
- package/dist/styles/utilities/base.css +1 -1
- package/dist/styles/utilities/btn.css +1 -1
- package/dist/styles/utilities/components.css +1 -1
- package/dist/styles/utilities/metal.css +1 -1
- package/dist/styles/utilities/responsive.css +1 -0
- package/dist/styles/view-transition.css +1 -1
- package/dist/{supportsCssTimeline-Dz-GVxXM.js → supportsCssTimeline-C2zyWpl8.js} +1 -1
- package/dist/surface.js +2 -3
- package/dist/switch-DZjQuFLa.js +54 -0
- package/dist/switch.js +1 -1
- package/dist/tabs.js +141 -169
- package/dist/timeline.js +86 -87
- package/dist/toast-CH5mnsYT.js +267 -0
- package/dist/toast.js +1 -1
- package/dist/toggle-group-O6jBo7AE.js +150 -0
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.js +96 -5
- package/dist/tooltip-Drx5qnw_.js +148 -0
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +222 -193
- package/dist/{useAccentTone-C-p6WdPe.js → useAccentTone-DyInfHXE.js} +2 -2
- package/dist/{useAnimatedNumber-BRVVaFFc.js → useAnimatedNumber-WPtMz0AN.js} +2 -2
- package/dist/useClipboard-D36OTaeT.js +53 -0
- package/dist/useDockCtaReceive-DkrOTM0q.js +146 -0
- package/dist/useDocumentVisibility-Dh_TGXsU.js +21 -0
- package/dist/useDragMorph-BogSV_nv.js +293 -0
- package/dist/{useIntersectionPause-B-dbxl9w.js → useIntersectionPause-B5mAU6XY.js} +15 -15
- package/dist/useLeadTrail-AW1-zZcd.js +74 -0
- package/dist/{useLiquidFlex-Ch4exNvN.js → useLiquidFlex-TJZmRqyY.js} +1 -1
- package/dist/useLiquidPress-BOxuDkKa.js +101 -0
- package/dist/useMotionAxis-D-rtIhca.js +19 -0
- package/dist/usePointerVelocityField-DsIf7yyq.js +121 -0
- package/dist/useRAFLoop-B3YlWK4M.js +98 -0
- package/dist/useReducedMotion-vCXA_vyM.js +27 -0
- package/dist/useRoutePointer-B8itM7Ka.js +53 -0
- package/dist/useScrollProgress-CSFYXIZT.js +43 -0
- package/dist/useScrollTrigger-BDdqptlc.js +87 -0
- package/dist/useSelectionGroup-B5XplBbo.js +132 -0
- package/dist/{useSpring-BBSKFx_0.js → useSpring-9u2_shxV.js} +2 -2
- package/dist/useSpringMount-uQ8QL9Ff.js +74 -0
- package/dist/useTabRovingFocus-YnWh-Ytr.js +169 -0
- package/dist/useTextHighlight-mfwNIC1f.js +112 -0
- package/dist/{useTouchGate-Cj5fOkTv.js → useTouchGate-B4mzQcHJ.js} +1 -1
- package/dist/vSpecular-DMJo8pfD.js +68 -0
- package/dist/value-DMhh2R94.js +33 -0
- package/dist/watercolor-dot.js +77 -103
- package/package.json +163 -232
- package/dist/DropdownMenuTrigger-BzQtd9lt.js +0 -65
- package/dist/FadingScroll-C1ZWEjmG.js +0 -83
- package/dist/Input-B4WQ_CMc.js +0 -57
- package/dist/Surface-BWRfwyn8.js +0 -59
- package/dist/accent-tone-solve-Dii9ePhK.js +0 -20
- package/dist/badge-C0C-rTBu.js +0 -80
- package/dist/button-32mg6xA8.js +0 -194
- package/dist/card-16xmzIr3.js +0 -303
- package/dist/coalesce-metric-znAcLzkB.js +0 -13
- package/dist/collapsible-bPzS1aQk.js +0 -63
- package/dist/color-swatch.d.ts +0 -1
- package/dist/color-swatch.js +0 -48
- package/dist/command-BjPjUU9z.js +0 -307
- package/dist/components/_shared/menuItemVariants.d.ts +0 -51
- package/dist/components/_shared/useControlSize.d.ts +0 -46
- package/dist/components/_shared/useStalePropWarning.d.ts +0 -27
- package/dist/components/_shared/useSurfaceAxis.d.ts +0 -64
- package/dist/components/card/ScrollCard.vue.d.ts +0 -33
- package/dist/components/card/ScrollCardHeader.vue.d.ts +0 -17
- package/dist/components/carousel/CarouselNext.vue.d.ts +0 -21
- package/dist/components/carousel/CarouselPrevious.vue.d.ts +0 -21
- package/dist/components/color-swatch/ColorSwatch.vue.d.ts +0 -22
- package/dist/components/color-swatch/index.d.ts +0 -1
- package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -32
- package/dist/components/controls/dark-mode-toggle.css +0 -1
- package/dist/components/controls/index.d.ts +0 -1
- package/dist/components/data-table/DataTablePagination.vue.d.ts +0 -13
- package/dist/components/dock/DockSection.vue.d.ts +0 -69
- package/dist/components/dock/DockStack.vue.d.ts +0 -73
- package/dist/components/dock/composables/dockMorphContext.d.ts +0 -91
- package/dist/components/dock/composables/useDockFisheye.d.ts +0 -24
- package/dist/components/dock/composables/useDockPopover.d.ts +0 -70
- package/dist/components/dock/styles/fisheye.css +0 -1
- package/dist/components/dock/styles/popover.css +0 -1
- package/dist/components/dock/styles/section.css +0 -1
- package/dist/components/focus-scope/FocusScope.vue.d.ts +0 -20
- package/dist/components/focus-scope/index.d.ts +0 -2
- package/dist/components/goo-filter/GooFilter.vue.d.ts +0 -22
- package/dist/components/goo-filter/index.d.ts +0 -1
- package/dist/components/icon-chip/IconChip.vue.d.ts +0 -4
- package/dist/components/icon-chip/index.d.ts +0 -2
- package/dist/components/icon-chip/styles.css +0 -1
- package/dist/components/icon-chip/types.d.ts +0 -92
- package/dist/components/icon-tooltip/IconTooltip.vue.d.ts +0 -16
- package/dist/components/icon-tooltip/index.d.ts +0 -1
- package/dist/components/instrument-chassis/ChassisDivider.vue.d.ts +0 -30
- package/dist/components/metric-badge/MetricBadge.vue.d.ts +0 -40
- package/dist/components/metric-badge/index.d.ts +0 -2
- package/dist/components/metric-cell/MetricCell.vue.d.ts +0 -108
- package/dist/components/metric-cell/index.d.ts +0 -2
- package/dist/components/metric-stack/MetricRow.vue.d.ts +0 -120
- package/dist/components/metric-stack/MetricStack.vue.d.ts +0 -92
- package/dist/components/metric-stack/index.d.ts +0 -4
- package/dist/components/notification/Notification.vue.d.ts +0 -16
- package/dist/components/notification/index.d.ts +0 -1
- package/dist/components/progress/ProgressDefault.vue.d.ts +0 -9
- package/dist/components/progress/ProgressGradient.vue.d.ts +0 -26
- package/dist/components/progress/ProgressLiquid.vue.d.ts +0 -22
- package/dist/components/progress/valueMarks.css +0 -1
- package/dist/components/spa-view/SpaView.vue.d.ts +0 -50
- package/dist/components/spa-view/index.d.ts +0 -2
- package/dist/components/split-chars/SplitChars.vue.d.ts +0 -53
- package/dist/components/split-chars/index.d.ts +0 -1
- package/dist/components/tabs/composables/useEyeglassLive.d.ts +0 -17
- package/dist/components/toggle/Toggle.vue.d.ts +0 -29
- package/dist/components/toggle/index.d.ts +0 -26
- package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +0 -36
- package/dist/composables/motion/curves.d.ts +0 -48
- package/dist/composables/motion/gooBarbellGeometry.d.ts +0 -79
- package/dist/composables/motion/morphSignatures.d.ts +0 -88
- package/dist/composables/motion/suite.d.ts +0 -2
- package/dist/composables/motion/useBloomUp.d.ts +0 -97
- package/dist/composables/motion/useCharStagger.d.ts +0 -44
- package/dist/composables/motion/useElementMorph.d.ts +0 -107
- package/dist/composables/motion/useGooMorph.d.ts +0 -72
- package/dist/composables/motion/usePrioritizedTask.d.ts +0 -41
- package/dist/composables/motion/useStaggerReveal.d.ts +0 -52
- package/dist/composables/motion/useViewTransition.d.ts +0 -81
- package/dist/composables/virtual/index.d.ts +0 -4
- package/dist/composables/virtual/useVirtualSectionWindow.d.ts +0 -72
- package/dist/composables/virtual/useWindowedStore.d.ts +0 -43
- package/dist/composables/virtual/virtualSectionLayout.d.ts +0 -103
- package/dist/controls.d.ts +0 -1
- package/dist/controls.js +0 -83
- package/dist/data-table-DveMdgBM.js +0 -629
- package/dist/dialog-BzQxKrUr.js +0 -281
- package/dist/dockContext-4S9qP0Z4.js +0 -13
- package/dist/dropdown-menu-DORIA52F.js +0 -378
- package/dist/focus-scope-DUTKveod.js +0 -23
- package/dist/focus-scope.d.ts +0 -1
- package/dist/focus-scope.js +0 -2
- package/dist/icon-chip-BWuxz1-u.js +0 -57
- package/dist/icon-chip.d.ts +0 -1
- package/dist/icon-chip.js +0 -2
- package/dist/icon-tooltip-CO6rw0dZ.js +0 -25
- package/dist/icon-tooltip.d.ts +0 -1
- package/dist/icon-tooltip.js +0 -2
- package/dist/instrument-chassis-Cvstg4_U.js +0 -65
- package/dist/label-Cj38tJKG.js +0 -36
- package/dist/menuItemVariants-D6AOzzND.js +0 -36
- package/dist/metric-badge.d.ts +0 -1
- package/dist/metric-badge.js +0 -79
- package/dist/metric-cell.d.ts +0 -1
- package/dist/metric-cell.js +0 -61
- package/dist/metric-stack.d.ts +0 -1
- package/dist/metric-stack.js +0 -113
- package/dist/motion-curves.d.ts +0 -1
- package/dist/motion-curves.js +0 -146
- package/dist/notification-DVs7ODMg.js +0 -52
- package/dist/notification.d.ts +0 -1
- package/dist/notification.js +0 -2
- package/dist/number-field-PvkGedHk.js +0 -140
- package/dist/popover-WMgyRSyN.js +0 -256
- package/dist/progress-C-HHuFZy.js +0 -192
- package/dist/resolveCanvasColor-yarP5bdk.js +0 -93
- package/dist/select-BIv4R3Ir.js +0 -326
- package/dist/separator-CBU94kTM.js +0 -62
- package/dist/slider-Cc_qw6GA.js +0 -166
- package/dist/spa-view.d.ts +0 -1
- package/dist/spa-view.js +0 -46
- package/dist/springPresets-h5VKJQqG.js +0 -58
- package/dist/styles/glass/progress-rail.css +0 -1
- package/dist/switch-Boj4Ucn5.js +0 -49
- package/dist/toast-kAbchIN2.js +0 -281
- package/dist/toggle-group-BPchFsns.js +0 -178
- package/dist/tooltip-BmOQJzh0.js +0 -111
- package/dist/useControlSize-CFfOk8I-.js +0 -9
- package/dist/useDockCtaReceive-CK-RLASa.js +0 -257
- package/dist/useDocumentVisibility-YeBDGqtI.js +0 -17
- package/dist/useDragMorph-7ygF9O0m.js +0 -93
- package/dist/useGooMorph-D1F6QJlH.js +0 -349
- package/dist/useLeadTrail-BYu8dq4G.js +0 -74
- package/dist/useLiquidPress-BYcwwGQV.js +0 -68
- package/dist/useMotionAxis-DCCXMC-i.js +0 -20
- package/dist/usePointerVelocityField-BdvnO0py.js +0 -122
- package/dist/useRAFLoop-BtwQ9DyY.js +0 -109
- package/dist/useRoutePointer-BDNMFN73.js +0 -52
- package/dist/useScrollProgress-DZI4nf4v.js +0 -35
- package/dist/useSelectionGroup-LDzBdR1Y.js +0 -215
- package/dist/useSpringMount-C6-DBx4e.js +0 -71
- package/dist/useSpringPress-BypV_KO-.js +0 -36
- package/dist/useSurfaceAxis-DudiZVOR.js +0 -10
- package/dist/useTabRovingFocus-DkLYwo4L.js +0 -143
- package/dist/vReveal-DZfWl9XI.js +0 -10
- package/dist/vSpecular-CQFmLNzA.js +0 -68
- package/src/fonts/README.md +0 -124
- package/src/fonts/fira-code/OFL.txt +0 -93
- package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
- package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/OFL.txt +0 -93
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
- package/src/styles/accessibility.css +0 -48
- package/src/styles/animations.css +0 -468
- package/src/styles/draw-in.css +0 -89
- package/src/styles/fonts.css +0 -143
- package/src/styles/glass/a11y-fallback.css +0 -188
- package/src/styles/glass/accent-tone.css +0 -66
- package/src/styles/glass/control-surfaces.css +0 -171
- package/src/styles/glass/deep.css +0 -114
- package/src/styles/glass/defined.css +0 -88
- package/src/styles/glass/glass-atom.css +0 -247
- package/src/styles/glass/glass-capsule.css +0 -175
- package/src/styles/glass/glass-chip.css +0 -211
- package/src/styles/glass/grain-overlay.css +0 -79
- package/src/styles/glass/ladder-undershadow.css +0 -61
- package/src/styles/glass/ladder.css +0 -452
- package/src/styles/glass/liquid-enter.css +0 -240
- package/src/styles/glass/liquid-fill.css +0 -65
- package/src/styles/glass/material-roles.css +0 -18
- package/src/styles/glass/material.css +0 -500
- package/src/styles/glass/progress-rail.css +0 -78
- package/src/styles/glass/reveal.css +0 -333
- package/src/styles/glass/rim.css +0 -122
- package/src/styles/glass/squircle.css +0 -58
- package/src/styles/glass/surface-axis.css +0 -136
- package/src/styles/glass/surfaces-pager.css +0 -79
- package/src/styles/glass/surfaces.css +0 -434
- package/src/styles/glass-refract.css +0 -112
- package/src/styles/glass-specular-track.css +0 -74
- package/src/styles/glass.css +0 -110
- package/src/styles/index.css +0 -288
- package/src/styles/paper.css +0 -187
- package/src/styles/scroll-choreography.css +0 -294
- package/src/styles/scroll-chrome.css +0 -123
- package/src/styles/scroll-driven.css +0 -123
- package/src/styles/theme/bridges.css +0 -380
- package/src/styles/theme/dark.css +0 -7
- package/src/styles/theme/literals.css +0 -104
- package/src/styles/theme/radius.css +0 -148
- package/src/styles/theme.css +0 -33
- package/src/styles/tokens/color-radius.css +0 -308
- package/src/styles/tokens/dark-arm-glass.css +0 -55
- package/src/styles/tokens/dark-arm.css +0 -455
- package/src/styles/tokens/glass-deep.css +0 -126
- package/src/styles/tokens/glass-fx.css +0 -480
- package/src/styles/tokens/glass.css +0 -477
- package/src/styles/tokens/light-dark.css +0 -216
- package/src/styles/tokens/motion-registers.css +0 -93
- package/src/styles/tokens/offsets.css +0 -142
- package/src/styles/tokens/on-glass-fg.css +0 -39
- package/src/styles/tokens/property-regs-specular.css +0 -160
- package/src/styles/tokens/property-regs.css +0 -448
- package/src/styles/tokens/scale-paper.css +0 -495
- package/src/styles/tokens/scheme-motion.css +0 -425
- package/src/styles/tokens/scheme-spring.css +0 -282
- package/src/styles/tokens/scroll-tokens.css +0 -137
- package/src/styles/tokens/shadow.css +0 -206
- package/src/styles/tokens/sizing-config.css +0 -110
- package/src/styles/tokens/sizing.css +0 -505
- package/src/styles/tokens.css +0 -68
- package/src/styles/tokens.ts +0 -58
- package/src/styles/transitions.css +0 -228
- package/src/styles/typography/scale.css +0 -166
- package/src/styles/typography/semantic.css +0 -233
- package/src/styles/typography/utilities.css +0 -197
- package/src/styles/typography.css +0 -46
- package/src/styles/utilities/a11y-overrides.css +0 -184
- package/src/styles/utilities/base-misc.css +0 -307
- package/src/styles/utilities/base.css +0 -337
- package/src/styles/utilities/btn.css +0 -306
- package/src/styles/utilities/components.css +0 -337
- package/src/styles/utilities/metal.css +0 -272
- package/src/styles/utilities.css +0 -24
- package/src/styles/view-transition.css +0 -67
- package/src/styles/viz-reveal.css +0 -63
- /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-B3ysoDQm.js} +0 -0
- /package/dist/{compile-DK3Fri1B.js → compile-D7VYG3gi.js} +0 -0
- /package/dist/composables/glass/{webgl/shaders/procedural-color.glsl.d.ts → procedural/color.glsl.d.ts} +0 -0
- /package/dist/{components/aurora/constants/shaders/procedural-color.wgsl.d.ts → composables/glass/procedural/color.wgsl.d.ts} +0 -0
- /package/dist/composables/motion/{motionTempo.d.ts → core/motionTempo.d.ts} +0 -0
- /package/dist/composables/motion/{useIntersectionPause.d.ts → core/useIntersectionPause.d.ts} +0 -0
- /package/dist/composables/motion/{useRAFLoop.d.ts → core/useRAFLoop.d.ts} +0 -0
- /package/dist/composables/motion/{useYieldToMain.d.ts → core/useYieldToMain.d.ts} +0 -0
- /package/dist/composables/motion/{useAnimatedNumber.d.ts → number/useAnimatedNumber.d.ts} +0 -0
- /package/dist/composables/motion/{useAnimatedNumberMap.d.ts → number/useAnimatedNumberMap.d.ts} +0 -0
- /package/dist/composables/motion/{useCountup.d.ts → number/useCountup.d.ts} +0 -0
- /package/dist/composables/motion/{useRoutePointer.d.ts → pointer/useRoutePointer.d.ts} +0 -0
- /package/dist/composables/motion/{useTextHighlight.d.ts → reveal/useTextHighlight.d.ts} +0 -0
- /package/dist/composables/motion/{vReveal.d.ts → reveal/vReveal.d.ts} +0 -0
- /package/dist/composables/motion/{scrollReader.d.ts → scroll/scrollReader.d.ts} +0 -0
- /package/dist/composables/motion/{supportsCssTimeline.d.ts → scroll/supportsCssTimeline.d.ts} +0 -0
- /package/dist/composables/motion/{useScrollPin.d.ts → scroll/useScrollPin.d.ts} +0 -0
- /package/dist/composables/motion/{useScrollScene.d.ts → scroll/useScrollScene.d.ts} +0 -0
- /package/dist/composables/motion/{useScrollTrigger.d.ts → scroll/useScrollTrigger.d.ts} +0 -0
- /package/dist/composables/motion/{useSpringPress.d.ts → spring/useSpringPress.d.ts} +0 -0
- /package/dist/{createContext-FU0n5MGK.js → createContext-BhkE9mLH.js} +0 -0
- /package/dist/{dark-DIH-blY1.js → dark-z_P5QwqI.js} +0 -0
- /package/dist/{motionTempo-CMS5b0Vu.js → motionTempo-tscp92Nm.js} +0 -0
- /package/dist/{prng-Dz2_9RJu.js → prng-2uS6J_A1.js} +0 -0
- /package/dist/{rendererStatus-C2-zC2Q-.js → rendererStatus-BxUlBLVy.js} +0 -0
- /package/dist/{useDragVelocity-CbMZEBaC.js → useDragVelocity-6ONX0sr0.js} +0 -0
- /package/dist/{useFuzzySearch-BOgep7RE.js → useFuzzySearch-CUnZknpm.js} +0 -0
- /package/dist/{useResizeObserver-BcUTquV7.js → useResizeObserver-CdUlm2QZ.js} +0 -0
- /package/dist/{useResolveTokenColor-C07e-qaT.js → useResolveTokenColor-B2FfJnd9.js} +0 -0
- /package/dist/{useTimer-D8koDvJS.js → useTimer-C3yfti4C.js} +0 -0
- /package/dist/{useUserInvalidAria-Cr4nR3tu.js → useUserInvalidAria-0GNrddMX.js} +0 -0
- /package/dist/{valueDomain-B8L04u3U.js → valueDomain-SbVzoHMH.js} +0 -0
- /package/dist/{writeVelocityWeight-D_AcvTsE.js → writeVelocityWeight-DoGOCW3e.js} +0 -0
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/* glass/surfaces-pager.css
|
|
2
|
-
The surfaces tail: the BA.W-PAGER glass pager-pill chassis (.glass-pager-ring + its .dark box-shadow arm) + the AW.W23 chromatic edge-dispersion rim fringe (.glass-chromatic).
|
|
3
|
-
Carved from glass/surfaces.css to hold the no-god-module 500-line bound (BI.W-STYLE-REDRAIN); its own @layer components block @import-ed by glass.css IMMEDIATELY AFTER surfaces.css (the tail of the surfaces @layer, unique selectors, source-order-after — byte-isomorphic). */
|
|
4
|
-
@layer components {
|
|
5
|
-
/* ── BA.W-PAGER — the glass pager pill chassis (.glass-pager-ring) ──────────
|
|
6
|
-
The ONE pager-CHASSIS ring register: a `--radius-pill` glass-floating pill
|
|
7
|
-
(the DockRail-chip recipe — `--glass-bg-floating` + `--glass-blur-floating`
|
|
8
|
-
+ `--glass-edge-light`/`--glass-specular` + the soft drop + the `.dark`
|
|
9
|
-
box-shadow arm). It encapsulates BOTH the `<PagerDots ring>` dot rail AND
|
|
10
|
-
the `<CarouselPager>` counter (the counter re-registers OFF the opaque
|
|
11
|
-
`bg-card` slab onto this — the R9/R10-5 dark-slab class dies in the same
|
|
12
|
-
edit). NEVER an opaque `bg-card` plate: this is the house "controls in a
|
|
13
|
-
glass pill" idiom, translucent (reads the substrate through it), already
|
|
14
|
-
dark/light-safe, already specular-rimmed (≥2-consumer-proven on the dock
|
|
15
|
-
rail-extend chips + the dock collapsed pill). The legibility floor over the
|
|
16
|
-
carousel's image content rides the SAME rebuilt registers
|
|
17
|
-
(W-DARK-MATERIAL/W-NO-GRAY) — no local opaque fallback. */
|
|
18
|
-
.glass-pager-ring {
|
|
19
|
-
display: inline-flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
gap: 0.375rem;
|
|
22
|
-
padding-inline: 0.625rem;
|
|
23
|
-
padding-block: 0.3125rem;
|
|
24
|
-
border-radius: var(--radius-pill);
|
|
25
|
-
/* BD.W-GOO-CAROUSEL-DECK — the element-level oklab TINT seam (NOT the raw
|
|
26
|
-
pre-substituted `--glass-bg-floating` :root token — the gray-hole
|
|
27
|
-
substitution-trap). At the `--glass-tint-strength: 0%` default this is the
|
|
28
|
-
no-op floor (`color-mix(in oklab, X, src 0%) ≡ X` — byte-identical pager pixels
|
|
29
|
-
over a flat page); over a declared/sampled BRIGHT carousel image
|
|
30
|
-
(`@container style(--glass-backdrop: light)`) the pill darkens-toward-ink for a
|
|
31
|
-
real silhouette (the W55 ≤24% clamp keeps it translucent); under `.dark` the
|
|
32
|
-
W-DARK-MATERIAL tint arm LIFTS it toward luminous warm-dark, never a charcoal
|
|
33
|
-
slab. `in oklab` is the glass-tint perceptual family (the in-srgb
|
|
34
|
-
`--surface-tint-*` brand fence is untouched). The dock `--glass-bg-dock`
|
|
35
|
-
self-re-point precedent applied to the pager chassis. */
|
|
36
|
-
background: color-mix(
|
|
37
|
-
in oklab,
|
|
38
|
-
var(--glass-bg-floating),
|
|
39
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
40
|
-
);
|
|
41
|
-
backdrop-filter: var(--glass-blur-floating);
|
|
42
|
-
-webkit-backdrop-filter: var(--glass-blur-floating);
|
|
43
|
-
box-shadow:
|
|
44
|
-
var(--glass-edge-light),
|
|
45
|
-
var(--glass-specular),
|
|
46
|
-
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 22%, transparent);
|
|
47
|
-
/* §6 EASING DOCTRINE — the surface channel cross-fades on the bezier
|
|
48
|
-
`--ease-standard` (NEVER a spring; a surface prop on a spring is the
|
|
49
|
-
violation). */
|
|
50
|
-
transition:
|
|
51
|
-
background-color var(--duration-fast) var(--ease-standard),
|
|
52
|
-
box-shadow var(--duration-fast) var(--ease-standard),
|
|
53
|
-
border-color var(--duration-fast) var(--ease-standard);
|
|
54
|
-
}
|
|
55
|
-
/* SHADOWS stay `.dark {}` (BG.W-GLASS-BASIS-CONSOLIDATE idiom-reversal). This
|
|
56
|
-
dark box-shadow arm is a PLAIN per-mode arm, NEVER a `light-dark()` — a
|
|
57
|
-
`light-dark()` wrapping shadow fragments computes the whole box-shadow to
|
|
58
|
-
`none` (the inset-shadow trap). Colors go the other way (light-dark()
|
|
59
|
-
canonical); shadows/insets stay here. proof:glass DA4 asserts this arm survives. */
|
|
60
|
-
.dark .glass-pager-ring {
|
|
61
|
-
box-shadow:
|
|
62
|
-
var(--glass-edge-light-dark),
|
|
63
|
-
var(--glass-specular-dark),
|
|
64
|
-
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 30%, transparent);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/* ── AW.W23 — chromatic edge dispersion (the polished-glass rim fringe) ──
|
|
68
|
-
An opt-in `.glass-chromatic` composes the warm/cool oklab fringe OVER the
|
|
69
|
-
W22 uniform rim (it does NOT replace it — the rim still rides each rung's
|
|
70
|
-
box-shadow). The fringe is a transparency garnish, so it composes ONLY
|
|
71
|
-
under `prefers-reduced-transparency: no-preference` and drops under
|
|
72
|
-
`reduce` (handled by the bracket below). The fringe lands as a dedicated
|
|
73
|
-
inset box-shadow pair on the material surface so it adds onto the rim. */
|
|
74
|
-
@media (prefers-reduced-transparency: no-preference) {
|
|
75
|
-
.glass-chromatic {
|
|
76
|
-
box-shadow: var(--glass-edge-dispersion), var(--glass-material-rim);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
@@ -1,434 +0,0 @@
|
|
|
1
|
-
/* glass/surfaces.css
|
|
2
|
-
The convenience-shorthand surfaces — .glass-card / .glass-pill / .glass-btn + the glass pill-input + the chromatic edge-dispersion rim fringe.
|
|
3
|
-
Carved from the glass.css cascade root; @import-ed by glass.css in cascade
|
|
4
|
-
order, each in its own @layer components (isomorphic to the monolith).
|
|
5
|
-
See docs/precepts/design-idioms.md §cohesion-aware partials. */
|
|
6
|
-
|
|
7
|
-
/* ── @utility glass-fill — the tint-recipe HOME, applied AT the element (BG.W-GLASS-
|
|
8
|
-
REGISTER-UNIFY · R9) ──────────────────────────────────────────────────────────
|
|
9
|
-
The ONE element-level tint compose. A surface composes `glass-fill` + sets its own
|
|
10
|
-
`--glass-fill-rung` (the rung bg to tint), and the W55 adaptive-legibility seam —
|
|
11
|
-
`color-mix(in oklab, <rung bg>, var(--glass-tint-source) var(--glass-tint-strength))`
|
|
12
|
-
— resolves AT THE ELEMENT (never pre-baked at a `:root`/ancestor scope). This kills
|
|
13
|
-
the substitution trap STRUCTURALLY: an ancestor that re-points --glass-tint-source /
|
|
14
|
-
-strength (the W55 @container bright bucket) reaches every descendant `glass-fill`
|
|
15
|
-
surface, because the mix is composed where the surface paints — the exact failure the
|
|
16
|
-
pre-baked `--glass-bg-dock` :root token hits (composed once, read at a descendant,
|
|
17
|
-
blind to the descendant's tint override).
|
|
18
|
-
|
|
19
|
-
It is the applied twin of the ladder-rung recipe `--glass-plate-tinted` (ladder.css,
|
|
20
|
-
BG.W-GLASS-IDIOM-FACTOR — the SAME oklab seam, reading `--glass-bg-rung`): the ladder
|
|
21
|
-
rungs read the token, the NON-ladder surfaces (Card / the button/tab/select/capsule
|
|
22
|
-
consumer band) APPLY this utility. ONE recipe, two delivery seams.
|
|
23
|
-
|
|
24
|
-
`@utility` (not `@layer components`) so a single-class application lands in
|
|
25
|
-
@layer utilities and out-ranks a base surface utility — the `glass-progress-rail` /
|
|
26
|
-
`veil-surface` pattern. It sets the nestable `--glass-fill` VALUE token too, so a
|
|
27
|
-
consumer that composes the tinted plate INSIDE a bigger mix (a warm-floor, an α-drop)
|
|
28
|
-
reads `var(--glass-fill)` without re-spelling the seam. ZERO-delta at the 0%/floor
|
|
29
|
-
rest default — `color-mix(…, X, transparent 0%) ≡ X`, byte-identical to the raw rung
|
|
30
|
-
bg (the field-independent token-collapse; the WS1-gated bias-hue outer leg is the
|
|
31
|
-
later W-GLASS-TINT-UNIFY atomic step, added in this ONE home, never N pastes). */
|
|
32
|
-
@utility glass-fill {
|
|
33
|
-
--glass-fill: color-mix(
|
|
34
|
-
in oklab,
|
|
35
|
-
var(--glass-fill-rung, var(--glass-bg-resting)),
|
|
36
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
37
|
-
);
|
|
38
|
-
background: var(--glass-fill);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* ── The gesture-coupled backdrop-blur ENGAGE — the shared engage primitive, minted
|
|
42
|
-
ONCE here (the glass-surface home; BG.W-BACKDROP-BLUR-ENGAGE · F5.4) ─────────────────
|
|
43
|
-
iOS-27's backdrop blur ENGAGES with the gesture: the material's blur builds AS the
|
|
44
|
-
finger pulls a surface in (≤33ms on a flick, ~0.77s on a slow pull), NEVER a fixed
|
|
45
|
-
tween. The LEVER (the finding's own): a gesture surface writes this normalized engage
|
|
46
|
-
scalar off its OWN LIVE gesture scalar and reads it in a `blur(calc(<rung radius> *
|
|
47
|
-
var(--glass-blur-engage-t)))` — so the blur's CLOCK IS the gesture's clock (finger-
|
|
48
|
-
driven on the way in; the settle SPRING on the way out — the ONE sanctioned fixed-clock
|
|
49
|
-
blur, the trailing dismiss, which the drag scalar's OWN SpringProgress settle delivers
|
|
50
|
-
for free; one read, both legs correct). There is NEVER a `transition: backdrop-filter
|
|
51
|
-
<duration>` on an engaging surface — a wall-clock duration would DECOUPLE the blur from
|
|
52
|
-
the finger (the exact anti-pattern F5.4 excises; the composed `--glass-blur-*` fixed
|
|
53
|
-
surfaces keep their static blur, this register is the DRAG-DRIVEN one).
|
|
54
|
-
|
|
55
|
-
`--glass-blur-engage-t` (the drawer sheet writes it off `--glass-drawer-t`; the dock
|
|
56
|
-
expand plate off `--dock-expand-t` is the booked 2nd consumer). Registered typed so it
|
|
57
|
-
is a first-class engage input; `inherits: false` + `initial-value: 0` is the
|
|
58
|
-
NO-MASKING-FALLBACK floor (USER 07-03): an UNWIRED surface reads 0 → NO blur (an
|
|
59
|
-
un-blurred plate fails LOUD), NEVER a masking full blur that would hide a dead writer
|
|
60
|
-
(the `--glass-drawer-t: 0` closed-state precedent). `--glass-blur-engage-knee` is the
|
|
61
|
-
shared engage-curve constant — the pull fraction by which the material reaches full
|
|
62
|
-
blur (the iOS quick-coalesce: a see-through peek/half already reads as glass). The
|
|
63
|
-
recipe is inlined at each surface (drawer.css) — NOT wrapped in a `@utility`, because
|
|
64
|
-
the per-file `/styles` partial ships Lightning-autoprefixed but NOT `@apply`-resolved
|
|
65
|
-
(a raw `@apply` would ship dead); the shared home is the registered scalar + the knee. */
|
|
66
|
-
@property --glass-blur-engage-t {
|
|
67
|
-
syntax: "<number>";
|
|
68
|
-
inherits: false;
|
|
69
|
-
initial-value: 0;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
:root {
|
|
73
|
-
/* the pull fraction by which the engaged material reaches full blur (see above). */
|
|
74
|
-
--glass-blur-engage-knee: 0.35;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
@layer components {
|
|
78
|
-
/* ── Convenience shorthands (tier + shape) ── */
|
|
79
|
-
|
|
80
|
-
/* Static surface utility — no hover lift, no transition.
|
|
81
|
-
Interactive cards live in <Card> (which owns its own hover composition)
|
|
82
|
-
or in components that explicitly opt into a hover variant. */
|
|
83
|
-
.glass-card {
|
|
84
|
-
/* Focus-elevation rungs (AQ.W3 §W3.1a) — identity = at-rest paint; the
|
|
85
|
-
`:has(:focus-visible)` rule redefines them (one source, shared with
|
|
86
|
-
the fallback). */
|
|
87
|
-
--card-focus-shadow: var(--shadow-card);
|
|
88
|
-
--card-focus-border: var(--glass-border-quiet);
|
|
89
|
-
position: relative;
|
|
90
|
-
/* BG.W-GLASS-REGISTER-UNIFY — the glass-card plate reads the ONE tint-recipe
|
|
91
|
-
HOME (`@utility glass-fill`) instead of an inline `color-mix` re-spell. Byte-
|
|
92
|
-
identical at rest: `@apply` inlines `--glass-fill: color-mix(in oklab,
|
|
93
|
-
var(--glass-fill-rung), --glass-tint-source --glass-tint-strength); background:
|
|
94
|
-
var(--glass-fill)`, and `--glass-fill-rung: var(--glass-bg-quiet)` maps the
|
|
95
|
-
card's quiet rung. */
|
|
96
|
-
--glass-fill-rung: var(--glass-bg-quiet);
|
|
97
|
-
@apply glass-fill;
|
|
98
|
-
backdrop-filter: var(--glass-blur-quiet);
|
|
99
|
-
/* BB.W-GLASS-ACCENT — the card border feeds its focus-elevation ink into the
|
|
100
|
-
accent-composed `--glass-border-accent` (ladder.css rim group); byte-
|
|
101
|
-
identical at 0% strength. The focus rung still re-points `--card-focus-
|
|
102
|
-
border`, which flows through `--glass-border-rung`. */
|
|
103
|
-
--glass-border-rung: var(--card-focus-border);
|
|
104
|
-
border: 1px solid var(--glass-border-accent);
|
|
105
|
-
border-radius: var(--radius-card);
|
|
106
|
-
box-shadow: var(--glass-material-rim), var(--card-focus-shadow);
|
|
107
|
-
/* AY.W-A11Y-PERF O-4 — the nested-backdrop-cost `contain: paint` clip (a
|
|
108
|
-
glass Button in this card must not escape the card box) is RETIRED off
|
|
109
|
-
this per-class dialect onto the ONE narrowed clip register in
|
|
110
|
-
material.css (BG.W-GLASS-CLIP-DISCIPLINE — `.glass-card` is in the
|
|
111
|
-
INCLUDED set). The prior `contain: layout style paint` narrowed to
|
|
112
|
-
PAINT-only there (the `layout`/`style` axes dropped — paint is what
|
|
113
|
-
clips the descendant backdrop sample; `layout` would make the card a
|
|
114
|
-
containing block for abs/fixed descendants). Do NOT re-declare `contain`
|
|
115
|
-
here — the single register is the clip home. */
|
|
116
|
-
transition:
|
|
117
|
-
box-shadow var(--duration-fast) var(--ease-standard),
|
|
118
|
-
border-color var(--duration-fast) var(--ease-standard);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/* Elevate one rung on descendant KEYBOARD focus (`:focus-visible`, not
|
|
122
|
-
pointer). Scoped to `.glass-card`. `:has()` is Baseline on the target set
|
|
123
|
-
(Chrome 105+/Safari 15.4+) so this is the SOLE focus-elevation mechanism —
|
|
124
|
-
the legacy `@supports not selector(:has(*))` `.is-focus-within` class
|
|
125
|
-
fallback was COLLAPSED at BG.NF.2 (its toggler never existed on disk). */
|
|
126
|
-
.glass-card:has(:focus-visible) {
|
|
127
|
-
--card-focus-shadow: var(--shadow-md);
|
|
128
|
-
--card-focus-border: var(--glass-border-floating);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/* ── Glassmorphic circular icon button ── */
|
|
132
|
-
|
|
133
|
-
/* BA.W-DEMO-AFFORDANCES (IG-A4) — the two size registers below are
|
|
134
|
-
MUTUALLY EXCLUSIVE; never stack `.glass-btn` and `.btn-pill` on one
|
|
135
|
-
element. `.glass-btn` is the FIXED-square icon primitive (width/height:
|
|
136
|
-
var(--size-icon-btn) + contain:paint) — `.btn-pill` is the CONTENT-WIDTH
|
|
137
|
-
text pill. Stacked, the fixed square wins and contain:paint clips the
|
|
138
|
-
wrapped label into a ~40px blob (the R8-17 "play button" defect). A
|
|
139
|
-
text-bearing `.glass-btn` collapses the same way even without `.btn-pill`.
|
|
140
|
-
For a play/replay affordance reach for <StoryPlayButton> (demo) or a real
|
|
141
|
-
<Button> with a leading Lucide glyph, never an icon-button carrying text.
|
|
142
|
-
Machine-locked by proof:demo-affordances (W1 — no class co-occurrence,
|
|
143
|
-
no text-bearing icon button). */
|
|
144
|
-
.glass-btn {
|
|
145
|
-
@apply flex items-center justify-center cursor-pointer;
|
|
146
|
-
|
|
147
|
-
/* Individual-transform identity base (AQ.W3 §W3.2) — `scale: 1` at rest
|
|
148
|
-
mints the stacking context once so the hover/press scale below does
|
|
149
|
-
not flicker it into being (the z-index/anchor hazard). */
|
|
150
|
-
scale: 1;
|
|
151
|
-
width: var(--size-icon-btn);
|
|
152
|
-
height: var(--size-icon-btn);
|
|
153
|
-
border-radius: var(--radius-pill);
|
|
154
|
-
border: 1.5px solid var(--glass-border-wash);
|
|
155
|
-
background: var(--glass-bg-wash);
|
|
156
|
-
backdrop-filter: var(--glass-blur-wash);
|
|
157
|
-
/* AY.W-A11Y-PERF O-4 — the glass button's paint containment (its own
|
|
158
|
-
backdrop-filter sample stays inside the box when it nests in a glass
|
|
159
|
-
card / dialog / dock) is RETIRED off this per-class dialect onto the ONE
|
|
160
|
-
narrowed clip register in material.css (BG.W-GLASS-CLIP-DISCIPLINE —
|
|
161
|
-
`.glass-btn` is in the INCLUDED set beside `.glass-card`). Do NOT
|
|
162
|
-
re-declare `contain` here — the single register is the clip home. */
|
|
163
|
-
color: var(--muted-foreground);
|
|
164
|
-
/* AX.W52 §6 doctrine — the surface legs ride the bezier `--ease-standard`;
|
|
165
|
-
the `scale` leg is reconciled onto `--spring-smooth` (was `--spring-snappy`)
|
|
166
|
-
so the icon-button hover settles on the SAME ONE register as `.btn-pill` /
|
|
167
|
-
`.tap-squish` / `btn-interactive` (the gate asserts one scale register
|
|
168
|
-
across all four). The press still reads crisp — `--spring-smooth` ζ=0.86
|
|
169
|
-
settles fast without a visible bounce. */
|
|
170
|
-
transition:
|
|
171
|
-
background var(--duration-fast) var(--ease-standard),
|
|
172
|
-
border-color var(--duration-fast) var(--ease-standard),
|
|
173
|
-
color var(--duration-fast) var(--ease-standard),
|
|
174
|
-
scale var(--spring-smooth-duration) var(--spring-smooth);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.glass-btn:hover:not(:disabled) {
|
|
178
|
-
background: color-mix(in srgb, var(--background) 85%, transparent);
|
|
179
|
-
border-color: var(--surface-tint-22);
|
|
180
|
-
color: var(--foreground);
|
|
181
|
-
scale: var(--scale-hover);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
.glass-btn:active:not(:disabled) {
|
|
185
|
-
scale: var(--scale-press);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
.glass-btn:focus-visible {
|
|
189
|
-
outline: none;
|
|
190
|
-
box-shadow: var(--focus-ring-shadow);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
.glass-btn:disabled {
|
|
194
|
-
opacity: 0.35;
|
|
195
|
-
cursor: not-allowed;
|
|
196
|
-
pointer-events: none;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
.glass-btn.is-active,
|
|
200
|
-
.glass-btn[aria-pressed="true"] {
|
|
201
|
-
background: var(--surface-tint-10);
|
|
202
|
-
border-color: var(--surface-tint-25);
|
|
203
|
-
color: var(--foreground);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/* ── Pill button base ─────────────────────────── */
|
|
207
|
-
.btn-pill {
|
|
208
|
-
@apply inline-flex items-center justify-center cursor-pointer font-medium border-none;
|
|
209
|
-
|
|
210
|
-
/* AX.W52 §6 identity base — `scale: 1` at rest so the hover/press scale
|
|
211
|
-
below animates the `scale` longhand (not `transform`) coherently and
|
|
212
|
-
does not flicker the stacking context into being (AQ.W3 §W3.2). */
|
|
213
|
-
scale: 1;
|
|
214
|
-
/* AX.W51 D18 — the pill GEOMETRY rides the ONE `--ui-scale` comfort axis.
|
|
215
|
-
gap / padding scale by the master scalar; the font reads the
|
|
216
|
-
`--control-text` register (`calc(--type-small * --ui-scale)`, the same
|
|
217
|
-
`text-sm` register the Button CVA paints), so a bare `.btn-pill` consumer
|
|
218
|
-
and a `<Button>` agree on the control font, and ONE `--ui-scale` override
|
|
219
|
-
grows the pill's height (via padding) + gap + font in lockstep. Desktop
|
|
220
|
-
default is the identity (scale 1 → the prior proportion). */
|
|
221
|
-
gap: calc(0.375rem * var(--ui-scale));
|
|
222
|
-
border-radius: var(--radius-pill);
|
|
223
|
-
padding: calc(0.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale));
|
|
224
|
-
font-size: var(--control-text);
|
|
225
|
-
/* AX.W52 — the ONE coherent button transition (RED witness 5/6). The
|
|
226
|
-
SURFACE legs (bg/border/box-shadow/color/opacity) ride the bezier
|
|
227
|
-
`--ease-standard` (a colour cross-fade reads as a wobble on a spring);
|
|
228
|
-
the TRANSFORM leg (`scale`) rides `--spring-smooth` (the sub-perceptual
|
|
229
|
-
settle), so the hover lift + the surface cross-fade read as ONE glide.
|
|
230
|
-
The DEAD `transform` leg is retired — the variants animate the `scale`
|
|
231
|
-
longhand. CRITICAL: `.tap-squish` (composed alongside on the button
|
|
232
|
-
base, utilities.css) ALSO lists this full coherent set, so neither
|
|
233
|
-
class's `transition` shorthand can clobber the other down to a
|
|
234
|
-
scale-only animation — the cascade bug that left every button
|
|
235
|
-
transitioning ONLY `scale` (the live-readback RED, RED witness 5). The
|
|
236
|
-
doctrine: surface-props→bezier, transform→spring (tokens.css §2). */
|
|
237
|
-
transition:
|
|
238
|
-
background-color var(--duration-fast) var(--ease-standard),
|
|
239
|
-
border-color var(--duration-fast) var(--ease-standard),
|
|
240
|
-
box-shadow var(--duration-fast) var(--ease-standard),
|
|
241
|
-
color var(--duration-fast) var(--ease-standard),
|
|
242
|
-
opacity var(--duration-fast) var(--ease-standard),
|
|
243
|
-
scale var(--spring-smooth-duration) var(--spring-smooth);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
.btn-pill > * {
|
|
247
|
-
@apply flex-shrink-0;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
.btn-pill:disabled {
|
|
252
|
-
opacity: var(--opacity-disabled);
|
|
253
|
-
cursor: not-allowed;
|
|
254
|
-
pointer-events: none;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
/* ── Glass-button backdrop ─────────────────────────────────────────────
|
|
258
|
-
AX.W52 — the `glass`/`glass-wash` Button variants compose `.glass-wash`,
|
|
259
|
-
which resolves `--glass-blur-wash` = `blur(1px)` — a sub-perceptual
|
|
260
|
-
diffusion authored for a small detail TILE, not a button the user reads
|
|
261
|
-
as "glass" (the live readback found the glass variants at a negligible
|
|
262
|
-
1px). A hero control wants a real glass blur. `.btn-glass` re-points the
|
|
263
|
-
backdrop at `--glass-blur-btn`, which the token reads through.
|
|
264
|
-
BG.W-GLASS-BLUR-PEER — `--glass-blur-btn` is now an ALIAS of
|
|
265
|
-
`--glass-blur-resting` (the unified 8px material), so the calm glass button
|
|
266
|
-
reads the SAME `blur(8px)` RADIUS LEG the dock, the default-Card, and the
|
|
267
|
-
menu-row read (ONE liquid-glass material, the resolved-radius peer lock).
|
|
268
|
-
The `.btn-glass.glass-deep` arm below re-points the SAME `--glass-blur-btn`
|
|
269
|
-
to `--glass-blur-deep` for the HERO CTA — so reading the alias keeps the
|
|
270
|
-
hero deep register working unchanged (the more-glass register lives on the
|
|
271
|
-
deep tier only, no calm-button floating-tier slab). Declares the UNPREFIXED
|
|
272
|
-
`backdrop-filter` ONLY — Lightning CSS emits the `-webkit-` companion per
|
|
273
|
-
the single-source authorship discipline above (hand-authoring both forms
|
|
274
|
-
makes Lightning dedup-and-keep-prefixed, which modern Chromium then drops). */
|
|
275
|
-
.btn-glass {
|
|
276
|
-
backdrop-filter: var(--glass-blur-btn);
|
|
277
|
-
|
|
278
|
-
/* BB.W-BUTTON-GLASS (d) — the button-scoped DEPTH stack + the hover-specular
|
|
279
|
-
bump. The glass button was the flattest wash rung (a bare backdrop-filter,
|
|
280
|
-
no rim, no under-shadow) — it read as a tinted rectangle, not a lifted
|
|
281
|
-
glass lozenge. The `--glass-btn-*` knobs compose ALREADY-MINTED tokens (the
|
|
282
|
-
`--glass-edge-light` rim + the `quiet`/`resting`-tier `--glass-under-shadow-*`
|
|
283
|
-
drop) so a consumer retints the whole button depth from ONE override; NO new
|
|
284
|
-
compositing axis. The rim+under-shadow lifts the lozenge; the box-shadow is
|
|
285
|
-
additive over the variant's own focus/press shadow legs (the `.btn-pill`
|
|
286
|
-
transition carries box-shadow on the §6 bezier, so the depth cross-fades
|
|
287
|
-
coherently). */
|
|
288
|
-
--glass-btn-rim: var(--glass-edge-light);
|
|
289
|
-
--glass-btn-under-shadow: var(--glass-under-shadow-quiet);
|
|
290
|
-
--glass-btn-under-shadow-hover: var(--glass-under-shadow-default);
|
|
291
|
-
box-shadow: var(--glass-btn-rim), var(--glass-btn-under-shadow);
|
|
292
|
-
/* The button-scoped hover gleam bump (0.10 → ~0.14): a hovered glass button
|
|
293
|
-
reads a notch brighter at the grazing edge than the global hover whisper.
|
|
294
|
-
Token-scoped to `.btn-glass` (NOT the global `:root` cohort property-regs.css
|
|
295
|
-
owns) so only the button lifts. The active/rest rungs ride the global cohort
|
|
296
|
-
(the press whisper + the dormant rest). */
|
|
297
|
-
--glass-specular-intensity-hover: var(--glass-specular-btn-hover);
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
/* BC.W-BUTTON-GLASS-IOS (move 2 / BG-IOS-2) — the hero CTA reaches DEEP glass.
|
|
301
|
-
`.btn-glass` reads `--glass-blur-btn` (not `--glass-blur-floating`), so the bare
|
|
302
|
-
`.glass-deep` axis (which re-points `--glass-blur-floating`) does not deepen a
|
|
303
|
-
button. This arm re-points `--glass-blur-btn` onto the deep family — the SAME
|
|
304
|
-
token-substitution model `.glass-deep` uses (glass/deep.css), composing the ONE
|
|
305
|
-
deep axis, NOT a new blur recipe.
|
|
306
|
-
BG.W-GLASS-BLUR-PEER — the bare `default` button is DEMOTED off `glass-deep`
|
|
307
|
-
(button/index.ts), so ONLY the explicit hero opt-ins reach this arm:
|
|
308
|
-
`primary-audacious`, a `<Button :liquid>`, or a host-applied `.glass-deep`. The
|
|
309
|
-
hero CTA reads the apple.com-nav-grade thick refractive liquid glass
|
|
310
|
-
(`--glass-blur-deep`, 16px / saturate 1.5 family), while the calm glass button
|
|
311
|
-
(`default`/`glass`/`outline`/`secondary`/`accent`/`ai`) stays the unified 8px
|
|
312
|
-
resting peer (`--glass-blur-btn` → `--glass-blur-resting`). The deep BLUR is
|
|
313
|
-
budget-FREE (the W-LENSING budget binds the `:liquid` SVG lens, not the deep-blur
|
|
314
|
-
tier). The a11y `--glass-level:0` brackets reach it for free (the deep blur
|
|
315
|
-
composes `--glass-level`, the opaque-escape path). */
|
|
316
|
-
.btn-glass.glass-deep {
|
|
317
|
-
--glass-blur-btn: var(--glass-blur-deep);
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
/* The depth deepens one rung on hover (the lifted-lozenge read) — additive over
|
|
321
|
-
the variant's own hover surface legs. The variants paint the bg/border on
|
|
322
|
-
hover; this adds the deeper drop. */
|
|
323
|
-
.btn-glass:hover:not(:disabled, [data-disabled]) {
|
|
324
|
-
box-shadow: var(--glass-btn-rim), var(--glass-btn-under-shadow-hover);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
/* BC.W-BUTTON-GLASS-IOS (move 3 / BG-IOS-4) — the press is COUPLED (W-MOTION-CANON
|
|
328
|
-
P3): the ONE `--glass-btn-press-t` 0..1 spring drive (Button.vue writes it off
|
|
329
|
-
`useSpringPress`) feeds BOTH the squish (the `useLiquidFlex` reciprocal X/Y deform,
|
|
330
|
-
Button.vue) AND a SPECULAR brightness leg here — the touch-ILLUMINATION (apple-
|
|
331
|
-
ios27.md §2.5 ".interactive() → scale + bounce + shimmer + touch-illumination").
|
|
332
|
-
During the press the button's specular tracks the SPRING (not the binary `:active`
|
|
333
|
-
toggle material.css sets): `--specular-intensity` LERPs from the hover gleam toward
|
|
334
|
-
the active gleam as `--glass-btn-press-t` travels, so the gleam ILLUMINATES on the
|
|
335
|
-
SAME spring scalar as the squish (the glass reads as DEFORMING-AND-BRIGHTENING with
|
|
336
|
-
the spring's alive overshoot, not a uniform shrink). It reads the EXISTING
|
|
337
|
-
`--glass-specular-intensity-{hover,active}` cohort (property-regs.css) — no new
|
|
338
|
-
token, ONE drive two legs. Specificity ties material's `.glass-wash:active::before`
|
|
339
|
-
(0,2,1) and wins by source-order-after (surfaces.css @import-s after material.css),
|
|
340
|
-
so the button press follows the spring; the hover gleam + the no-JS `:active` floor
|
|
341
|
-
are untouched. */
|
|
342
|
-
.btn-glass:active::before {
|
|
343
|
-
--specular-intensity: calc(
|
|
344
|
-
var(--glass-specular-intensity-hover) +
|
|
345
|
-
(var(--glass-specular-intensity-active) - var(--glass-specular-intensity-hover)) *
|
|
346
|
-
var(--glass-btn-press-t)
|
|
347
|
-
);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/* BB.W-BUTTON-GLASS (a) — the ELEMENT-LEVEL oklab-tinted hover/active fill pair
|
|
351
|
-
(the substitution-vs-inheritance trap fixed on the button register). The glass
|
|
352
|
-
button variants painted `hover:bg-(--glass-bg-resting) active:bg-(--glass-bg-
|
|
353
|
-
floating)` — the RAW `:root` rung tokens, which carry NO `color-mix(in oklab, …,
|
|
354
|
-
--glass-tint-source --glass-tint-strength)` wrapper. So the W55 adaptive darken
|
|
355
|
-
+ the `contrast-color()` ink flip + the content-tier floor (all of which the REST
|
|
356
|
-
bg `.glass-wash` composes via the element-level oklab seam) DROPPED the moment the
|
|
357
|
-
pointer landed — "more glass would cost legibility" exactly inverted from the
|
|
358
|
-
iOS-27 ask. These two tokens wrap the raw rungs in the SAME element-level oklab
|
|
359
|
-
seam `ladder.css` composes for the rest bg + `--glass-bg-dock` for the dock — ZERO
|
|
360
|
-
new compositing axis, the literal darken-over-light recipe reached at the lit
|
|
361
|
-
fill. ZERO-delta at the `--glass-tint-strength: 0%`/floor default (the mix toward
|
|
362
|
-
the source is 0%); under the declared/sampled bright bucket the lit fill darkens
|
|
363
|
-
to AA in lockstep with the rest bg. The `:root` raw `--glass-bg-*` tokens are
|
|
364
|
-
UNTOUCHED (other surfaces compose them at the element correctly — the raw token +
|
|
365
|
-
the element-level oklab wrapper is the correct ladder shape). */
|
|
366
|
-
/* BC.W-TABS-IOS — the tinted-FLOATING seam lifted off the `.btn-glass`-only scope
|
|
367
|
-
onto a SHARED `:where()` so the iOS-27 segmented-control active pill reads the
|
|
368
|
-
SAME element-level oklab-tint floating fill the glass button reads (the
|
|
369
|
-
substitution-over-redeclaration discipline: ONE tinted-floating source, NOT a
|
|
370
|
-
tab-local fork). The pill's active plate now reaches the W55 darken-over-bright
|
|
371
|
-
seam — over a bright field the pill darkens-to-legible, over a calm field it
|
|
372
|
-
stays warm-cream/near-white (the iOS adaptive register reaching the pill).
|
|
373
|
-
ZERO-delta at the `--glass-tint-strength: 0%`/floor default. */
|
|
374
|
-
:where(.btn-glass, .segmented-indicator, .glass-capsule) {
|
|
375
|
-
--glass-bg-floating-tinted: color-mix(
|
|
376
|
-
in oklab,
|
|
377
|
-
var(--glass-bg-floating),
|
|
378
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
379
|
-
);
|
|
380
|
-
}
|
|
381
|
-
.btn-glass {
|
|
382
|
-
/* BC.W-BUTTON-GLASS-IOS (BG-IOS-6) — the `quiet` rung gains the SAME element-
|
|
383
|
-
level oklab-tint wrapper so the de-shadcn `outline`/`secondary` reskin (the
|
|
384
|
-
QUIETER glass register, prominence-by-tint) reaches the W55 darken on its lit
|
|
385
|
-
fill too — ZERO new compositing axis, the SAME seam the resting/floating pair
|
|
386
|
-
composes. The floating rung is minted on the shared `:where()` seam ABOVE
|
|
387
|
-
(the tab pill reads it too); the quiet rung stays button-scoped (the
|
|
388
|
-
hover/active fill register the segmented pill does not engage). */
|
|
389
|
-
--glass-bg-quiet-tinted: color-mix(
|
|
390
|
-
in oklab,
|
|
391
|
-
var(--glass-bg-quiet),
|
|
392
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
393
|
-
);
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
/* BB.W-BUTTON-GLASS (e) — the optional refraction-edge opt-in. CONSUMES the
|
|
397
|
-
EXISTING refraction axis (glass-refract.css, the `#glass-refract` SVG-filter
|
|
398
|
-
lens, `@supports (backdrop-filter: url(#…))`-gated with the un-gated blur base
|
|
399
|
-
as the off-Chromium floor) — NEVER a button-local lens fork. BB.W-LENSING landed
|
|
400
|
-
the squircle bevel-profile + the typed `--glass-refract` axis + the `.glass-lens`
|
|
401
|
-
opt-in class (renamed off `.glass-refract`, clean break); the button COMPOSES
|
|
402
|
-
`.glass-lens`.
|
|
403
|
-
|
|
404
|
-
A `<Button :liquid>` adds `.glass-lens` to the host; on a supporting engine the
|
|
405
|
-
button reads the edge-bend over its blur base. The base recipe (the
|
|
406
|
-
`@supports`-gated `.glass-lens` rule in glass-refract.css) already paints the
|
|
407
|
-
displacement filter over `--glass-blur-resting`; this block adds NOTHING to the
|
|
408
|
-
filter graph (it would fork the axis) — the button merely COMPOSES `.glass-lens`.
|
|
409
|
-
|
|
410
|
-
The `:active` LENS-SWELL is the CHEAP coupled read, NOT a per-frame displacement-
|
|
411
|
-
map re-rasterize (the §Triumvirate / R2 budget: `feDisplacementMap` is resize-
|
|
412
|
-
expensive — only the `scale` attr animates without rebuilding the map, and even
|
|
413
|
-
that re-rasterizes; the one-refractive-element-per-route budget forbids the per-
|
|
414
|
-
frame cost). The swell is the press SQUISH (Button.vue, the `useLiquidFlex`
|
|
415
|
-
reciprocal X/Y deform) + the coupled `--glass-specular-intensity-active` gleam
|
|
416
|
-
lift on the SAME `--glass-btn-press-t` drive — the glass reads as DEFORMING under
|
|
417
|
-
the press without re-rasterizing the lens map. Off-Chromium the whole arm degrades
|
|
418
|
-
to the un-gated `.btn-glass` blur+tint base (the no-workaround floor). The
|
|
419
|
-
`--glass-btn-press-t` typed drive (property-regs.css) is the ONE press scalar the
|
|
420
|
-
squish + the gleam coupling both read. */
|
|
421
|
-
.btn-glass.glass-lens {
|
|
422
|
-
/* The press drive scalar (0 rest → 1 pressed) Button.vue writes off the spring;
|
|
423
|
-
the resting default is 0 so an unwired refraction button is the static lens.
|
|
424
|
-
The `:active` LENS-SWELL on this drive lives in material.css's `.glass-lens`
|
|
425
|
-
block (`--glass-refract` bumps on press); this block only floors the drive. */
|
|
426
|
-
--glass-btn-press-t: 0;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
/* The .input-pill / .control-surface form-control REST register is carved into
|
|
430
|
-
glass/control-surfaces.css (a cohesive sub-concern, the no-god-module re-drain)
|
|
431
|
-
— @import-ed by glass.css IMMEDIATELY AFTER surfaces.css, same @layer components,
|
|
432
|
-
same source order (byte-isomorphic). */
|
|
433
|
-
|
|
434
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/* BB.W-LENSING — the #glass-refract edge-lensing SVG filter, EVOLVED off the
|
|
2
|
-
* AW.W23 crude-radial garnish onto the real squircle bevel-profile + the typed
|
|
3
|
-
* `--glass-refract` axis driving the animatable displacement `scale` (the press
|
|
4
|
-
* lens-swell). Shipped as a library asset so `.glass-lens` works OUT OF THE BOX
|
|
5
|
-
* (no consumer hand-mounts a filter node).
|
|
6
|
-
*
|
|
7
|
-
* The refraction recipe is the canonical 3-primitive graph (kube.io / ekino /
|
|
8
|
-
* LogRocket, 2025):
|
|
9
|
-
*
|
|
10
|
-
* feImage — the displacement map computed from the convex-squircle
|
|
11
|
-
* surface profile f(x) = ⁴√(1 − (1 − x)⁴) (Apple's preferred
|
|
12
|
-
* corner curve) via Snell's law (n₁ = 1 air, n₂ = 1.5 glass).
|
|
13
|
-
* The map's R channel carries the x-shift and G the y-shift
|
|
14
|
-
* (neutral 128 = no shift). The squircle slope is near-flat past
|
|
15
|
-
* the outer ~14% band and STEEP at the rim, so the bend
|
|
16
|
-
* CONCENTRATES at the edge (thin interior) — the iOS edge-lensing
|
|
17
|
-
* read, NOT a uniform radial bulge (the retired AW.W23 placeholder).
|
|
18
|
-
* Encoding: TWO crossed linear gradients — a HORIZONTAL gradient
|
|
19
|
-
* drives the R channel (255 @0% → 128 across the flat interior →
|
|
20
|
-
* 0 @100%, the squircle ramp held in the bevel band) and a VERTICAL
|
|
21
|
-
* gradient drives the G channel the same way — SCREEN-composited
|
|
22
|
-
* over a black base so each channel carries its own axis EXACTLY
|
|
23
|
-
* (`screen(C, 0) = C`; the displacement map reads only R/G, B unused).
|
|
24
|
-
* The map carries ZERO color (the warm-cream identity HOLDS —
|
|
25
|
-
* refraction is DEPTH not hue). The asset is baked ONCE (the
|
|
26
|
-
* squircle CURVE is fixed, the Apple-preferred profile); only the
|
|
27
|
-
* `scale` param animates the magnitude (scope 2 — no map re-bake).
|
|
28
|
-
* feDisplacementMap— displaces the backdrop by the baked map (R = x-shift,
|
|
29
|
-
* G = y-shift, `scale` = max px the `--glass-refract` axis drives).
|
|
30
|
-
* feImage specular — a soft warm top-left specular highlight (PRESERVED from HEAD —
|
|
31
|
-
* the polished-glass catch).
|
|
32
|
-
* feBlend screen — blended `screen` over the displaced backdrop.
|
|
33
|
-
*
|
|
34
|
-
* DDR-LENS-BAKE — the displacement `scale` is a BAKED LITERAL (`scale='28'`, the §10
|
|
35
|
-
* default depth), NOT a var()-driven axis. WHY (the reversal of BB.W-LENSING scope 2):
|
|
36
|
-
* the scope-2 design split the filter across `var(--…head) var(--glass-refract) var(--…tail)`
|
|
37
|
-
* to splice the typed `@property --glass-refract` value between a head ending `…scale='`
|
|
38
|
-
* and a tail beginning `'…`. That construction is doubly broken, proven on the real edge
|
|
39
|
-
* (Chromium, playwright):
|
|
40
|
-
* (1) PARSE — head/tail each carry a COMPLETE `url(…)`, so the composite is the three
|
|
41
|
-
* tokens `url("…") 28 url("…")`, which a `backdrop-filter` REJECTS. The lens
|
|
42
|
-
* computed-`backdrop-filter: none` — it never rendered. (A var() inside a single
|
|
43
|
-
* url() STRING token is not re-tokenised by the engine either — tested — so there
|
|
44
|
-
* is no CSS-legal path to a dynamic `scale` inside one self-contained data-URI.)
|
|
45
|
-
* (2) BUNDLER — the tail `url("'…")` starts with a bare quote, so a consumer's CSS
|
|
46
|
-
* url()-rewriter (vite/postcss) reads it as a relative asset path and fails
|
|
47
|
-
* `ENOENT: open ''`, breaking EVERY bundler-based consumer.
|
|
48
|
-
* The fix: ONE complete, valid `url("data:…scale='28'…")` token. A `data:` URI is the
|
|
49
|
-
* single form that both PARSES as a filter value AND is skipped by the url()-rewriter
|
|
50
|
-
* (the rewriter only resolves non-data/non-#/non-http content as a file). RE-LITIGATE-IF
|
|
51
|
-
* the platform ships a way to substitute a value into a url() string token (then the
|
|
52
|
-
* press-swell `scale` animation could return). TRADEOFF: the per-instance `:active`
|
|
53
|
-
* lens-swell (28→44 `scale` on press) is dropped — but it was already inert (it animated
|
|
54
|
-
* a value that reached no rendering filter), so the lived read is UNCHANGED (and the lens
|
|
55
|
-
* now actually renders). The `@property --glass-refract` reg + `--glass-refract-swell`
|
|
56
|
-
* knob are retired with it. The bevel-band width is the `--glass-refract-bevel` knob
|
|
57
|
-
* (default 14% — the iOS edge band); the baked stops fix the squircle CURVE, the knob
|
|
58
|
-
* documents the rim concentration the map encodes.
|
|
59
|
-
*
|
|
60
|
-
* The filter ships INLINE as a data-URI in the `backdrop-filter` declaration, so the
|
|
61
|
-
* consumer gets it with zero markup. `backdrop-filter: url(#…)` is Chromium-only (WebKit
|
|
62
|
-
* bug 245510 open, Firefox not shipping), so the whole decl sits behind
|
|
63
|
-
* `@supports (backdrop-filter: url(#…))`; a non-supporting engine paints the un-gated blur
|
|
64
|
-
* base alone (no broken `url()` reference — the no-workaround degrade floor, PRESERVED).
|
|
65
|
-
*
|
|
66
|
-
* CLASS RENAME (BB.W-LENSING scope 5 — clean break, no alias, BB inv-7). The AW.W23
|
|
67
|
-
* `.glass-refract` opt-in class is RENAMED to `.glass-lens` (the §2 vocabulary); the
|
|
68
|
-
* `--glass-refract*` AXIS/token names are KEPT (the lens magnitude is the refraction
|
|
69
|
-
* axis). Consumers (`<Button :liquid>`, the demo witness) compose `.glass-lens`. The
|
|
70
|
-
* rename is the only public-surface delta (MIGRATION.md row). The garnish stays PE-only
|
|
71
|
-
* over the blur base; it is NEVER promoted to the card/primitive substrate
|
|
72
|
-
* (feDisplacementMap is resize-expensive — only the `scale` param animates without
|
|
73
|
-
* rebuilding the map).
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
@layer components {
|
|
77
|
-
/* The shipped filter graph as ONE self-contained data-URI SVG (`scale='28'` baked,
|
|
78
|
-
DDR-LENS-BAKE). A single `url("data:…")` token is the only form that PARSES as a
|
|
79
|
-
`backdrop-filter` value AND survives a consumer bundler's url()-rewrite (a `data:`
|
|
80
|
-
URI is skipped; any other `url("…")` content is mis-resolved as a file). The
|
|
81
|
-
`#glass-refract` id is resolvable in-document (the data-URI is self-contained). */
|
|
82
|
-
.glass-lens {
|
|
83
|
-
/* The bevel-band width the squircle map encodes (the iOS edge concentration).
|
|
84
|
-
Documents the rim thickness the baked stops fix; a consumer reads it to tune
|
|
85
|
-
the perceived rim band on a successor re-bake. */
|
|
86
|
-
--glass-refract-bevel: 14%;
|
|
87
|
-
|
|
88
|
-
/* The shipped filter — ONE complete, valid `url("data:…")` token carrying the
|
|
89
|
-
whole 3-primitive graph with the `scale='28'` baked in (the §10 default depth,
|
|
90
|
-
DDR-LENS-BAKE). A single self-contained `data:` URI is (a) the ONLY form that
|
|
91
|
-
PARSES as a `backdrop-filter` value — the prior var()-spliced head/tail emitted
|
|
92
|
-
`url("…") <n> url("…")`, three tokens a `backdrop-filter` rejects, so the lens
|
|
93
|
-
silently rendered `none`; and (b) bundler-SAFE — a consumer's CSS url()-rewriter
|
|
94
|
-
skips a `data:` URI but mis-resolves any `url("…")` whose content starts with a
|
|
95
|
-
bare char (the old tail began `'…` → ENOENT, breaking every bundler consumer).
|
|
96
|
-
See the DDR-LENS-BAKE note in the header for the lost-tunability tradeoff. */
|
|
97
|
-
--glass-refract-filter: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27glass-refract%27 x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27%3E%3CfeImage href=%27data:image/svg+xml,%253Csvg xmlns=%2522http://www.w3.org/2000/svg%2522 width=%2522100%2522 height=%2522100%2522%253E%253ClinearGradient id=%2522hx%2522 x1=%25220%2522 y1=%25220%2522 x2=%2522100%2525%2522 y2=%25220%2522%253E%253Cstop offset=%25220%2525%2522 stop-color=%2522rgb(255,0,0)%2522/%253E%253Cstop offset=%252214%2525%2522 stop-color=%2522rgb(128,0,0)%2522/%253E%253Cstop offset=%252286%2525%2522 stop-color=%2522rgb(128,0,0)%2522/%253E%253Cstop offset=%2522100%2525%2522 stop-color=%2522rgb(0,0,0)%2522/%253E%253C/linearGradient%253E%253ClinearGradient id=%2522vy%2522 x1=%25220%2522 y1=%25220%2522 x2=%25220%2522 y2=%2522100%2525%2522%253E%253Cstop offset=%25220%2525%2522 stop-color=%2522rgb(0,255,0)%2522/%253E%253Cstop offset=%252214%2525%2522 stop-color=%2522rgb(0,128,0)%2522/%253E%253Cstop offset=%252286%2525%2522 stop-color=%2522rgb(0,128,0)%2522/%253E%253Cstop offset=%2522100%2525%2522 stop-color=%2522rgb(0,0,0)%2522/%253E%253C/linearGradient%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522black%2522/%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522url(%2523hx)%2522/%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522url(%2523vy)%2522 style=%2522mix-blend-mode:screen%2522/%253E%253C/svg%253E%27 result=%27map%27/%3E%3CfeDisplacementMap in=%27SourceGraphic%27 in2=%27map%27 scale=%2728%27 xChannelSelector=%27R%27 yChannelSelector=%27G%27 result=%27disp%27/%3E%3CfeImage href=%27data:image/svg+xml,%253Csvg xmlns=%2522http://www.w3.org/2000/svg%2522 width=%2522100%2522 height=%2522100%2522%253E%253CradialGradient id=%2522s%2522 cx=%252230%2525%2522 cy=%252225%2525%2522 r=%252260%2525%2522%253E%253Cstop offset=%25220%2525%2522 stop-color=%2522rgba(255,255,255,0.5)%2522/%253E%253Cstop offset=%2522100%2525%2522 stop-color=%2522rgba(255,255,255,0)%2522/%253E%253C/radialGradient%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522url(%2523s)%2522/%253E%253C/svg%253E%27 result=%27spec%27/%3E%3CfeBlend in=%27disp%27 in2=%27spec%27 mode=%27screen%27/%3E%3C/filter%3E%3C/svg%3E%23glass-refract");
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/* The gated consuming selector. The squircle map + the baked `scale='28'` ride
|
|
101
|
-
INSIDE the `@supports (backdrop-filter: url(#…))` block;
|
|
102
|
-
the refraction composes the shipped `#glass-refract` filter OVER the host's existing
|
|
103
|
-
blur — additive (the blur already painted, this bends + concentrates the refraction
|
|
104
|
-
at the rim where the engine supports it). A non-supporting engine never reaches this
|
|
105
|
-
block and paints the un-gated `--glass-blur-*` + `--glass-tint-*` base ALONE. */
|
|
106
|
-
@supports (backdrop-filter: url("#glass-refract")) {
|
|
107
|
-
.glass-material.glass-lens,
|
|
108
|
-
.glass-lens {
|
|
109
|
-
backdrop-filter: var(--glass-blur-resting) var(--glass-refract-filter);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|