@mkbabb/glass-ui 3.2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CardFooter-3-VGho1J.js → CardFooter-C390imy7.js} +2 -2
- package/dist/{CollapsibleContent-wlmlDujU.js → CollapsibleContent-cauTbZEM.js} +1 -1
- package/dist/{CommandShortcut-C6lsz3pG.js → CommandShortcut-BiVyqipe.js} +5 -4
- package/dist/DataTable-FfkaAg2z.js +465 -0
- package/dist/DialogContent-IQ8_BRrC.js +100 -0
- package/dist/{DiscoGlyph-B7YooI2-.js → DiscoGlyph-BaZ8OawK.js} +1 -1
- package/dist/{GlyphFace-Bvk6OIas.js → GlyphFace-B_7vOmYn.js} +1 -1
- package/dist/HoverPopover-DTSYkJtw.js +96 -0
- package/dist/{IconTooltip-DXveGjx7.js → IconTooltip-BTyYn4mr.js} +1 -1
- package/dist/Input-CU9CNKmo.js +52 -0
- package/dist/{MetricBadge-J_GBCb8e.js → MetricBadge-BlrdbOGN.js} +1 -1
- package/dist/{NumberFieldContent-B6L6YrQz.js → NumberFieldContent-iOTQ5rGO.js} +8 -4
- package/dist/{PopoverContent-CxEEUL7Y.js → PopoverContent-B8WtJECb.js} +1 -1
- package/dist/Progress-DjM86vfb.js +254 -0
- package/dist/{ScrollingText-1Qjnwz6H.js → ScrollingText-P9o_DuMn.js} +1 -1
- package/dist/{SelectScrollDownButton-BvvvAbuh.js → SelectScrollDownButton-BGn3rjs9.js} +9 -8
- package/dist/TabsIndicator-DA0x9gPr.js +97 -0
- package/dist/{ToggleGroupItem-Cy7xHFEo.js → ToggleGroupItem-gyXj998A.js} +37 -40
- package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +2 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +454 -271
- package/dist/{button-DS3ULf5i.js → button-Ckn3eDfB.js} +27 -22
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +2 -2
- package/dist/collapsible.js +1 -1
- package/dist/color-rkK4RMx2.js +33 -0
- package/dist/color.d.ts +1 -0
- package/dist/color.js +2 -0
- package/dist/command.js +1 -1
- package/dist/compile-DVgAxagk.js +106 -0
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
- package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
- package/dist/components/custom/aurora/composables/color.d.ts +3 -25
- package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
- package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
- package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +2 -5
- package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
- package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/index.d.ts +2 -2
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
- package/dist/components/custom/configurator/density.d.ts +3 -8
- package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +3 -3
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
- package/dist/components/custom/dock/GlassDock.vue.d.ts +22 -18
- package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
- package/dist/components/custom/dock/index.d.ts +1 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
- package/dist/components/custom/glyph-face/keys.d.ts +3 -29
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
- package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
- package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
- package/dist/components/custom/goo-blob/index.d.ts +7 -0
- package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
- package/dist/components/custom/goo-blob/types.d.ts +77 -0
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
- package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
- package/dist/components/custom/sortable-list/context.d.ts +2 -3
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
- package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
- package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
- package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
- package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
- package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
- package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
- package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
- package/dist/components/ui/avatar/index.d.ts +1 -1
- package/dist/components/ui/badge/index.d.ts +2 -2
- package/dist/components/ui/button/Button.vue.d.ts +3 -1
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
- package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -3
- package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
- package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
- package/dist/components/ui/input/Input.vue.d.ts +19 -1
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
- package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
- package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
- package/dist/components/ui/progress/index.d.ts +5 -2
- package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
- package/dist/components/ui/select/Select.vue.d.ts +2 -2
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/slider/index.d.ts +12 -11
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
- package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/toggle/index.d.ts +1 -1
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
- package/dist/composables/color/index.d.ts +49 -0
- package/dist/composables/context/createContext.d.ts +56 -0
- package/dist/composables/context/index.d.ts +1 -0
- package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
- package/dist/composables/dark/index.d.ts +3 -0
- package/dist/composables/dark/useGlobalDark.d.ts +19 -2
- package/dist/composables/dom/index.d.ts +0 -3
- package/dist/composables/dom/useClipboard.d.ts +35 -12
- package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
- package/dist/composables/glass/webgl/compile.d.ts +15 -0
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
- package/dist/composables/motion/core/index.d.ts +1 -1
- package/dist/composables/motion/index.d.ts +1 -1
- package/dist/composables/motion/useCountup.d.ts +29 -0
- package/dist/composables/motion/useNumericTransition.d.ts +14 -3
- package/dist/composables/motion/vReveal.d.ts +2 -0
- package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
- package/dist/composables/sortable/dragController.d.ts +44 -0
- package/dist/composables/sortable/dropResolver.d.ts +34 -0
- package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
- package/dist/composables/sortable/index.d.ts +1 -1
- package/dist/composables/sortable/touchGate.d.ts +26 -0
- package/dist/composables/sortable/transitionTiming.d.ts +50 -0
- package/dist/composables/sortable/types.d.ts +133 -0
- package/dist/composables/sortable/useSortable.d.ts +25 -153
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +1 -1
- package/dist/controls.js +4 -4
- package/dist/createContext-DBMGRlx4.js +25 -0
- package/dist/dark.d.ts +2 -1
- package/dist/dark.js +9 -2
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +1 -1
- package/dist/disco-glyph.js +1 -1
- package/dist/dock.js +400 -261
- package/dist/dockContext-spUj_-E5.js +9 -0
- package/dist/dom.js +6 -6
- package/dist/{dropdown-menu-naE0skDg.js → dropdown-menu-EFjl5iKo.js} +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +26 -20
- package/dist/fonts/README.md +21 -0
- package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/dist/forms.js +68 -59
- package/dist/glass-panel.js +1 -1
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +226 -328
- package/dist/glyph-face.js +2 -2
- package/dist/goo-blob.d.ts +1 -0
- package/dist/goo-blob.js +538 -0
- package/dist/header-ribbon.js +2 -2
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/instrument-rail.js +1 -1
- package/dist/keys-BFoma9vm.js +9 -0
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +57 -39
- package/dist/metric-badge.js +1 -1
- package/dist/motion-core.js +82 -123
- package/dist/motion.js +62 -14
- package/dist/number-field.js +1 -1
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-BpTf63Hp.js → presets-1OhFpaIC.js} +1 -1
- package/dist/prng-Bz_1Tydc.js +15 -0
- package/dist/progress.js +2 -2
- package/dist/reactive.js +2 -2
- package/dist/responsive-tabs.js +38 -32
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +8 -8
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-wx8ifVFB.js → slider-BOh8ycfZ.js} +7 -11
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +36 -38
- package/dist/stacked-icons.js +2 -2
- package/dist/styles/animations.css +1 -1
- package/dist/styles/cards.css +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/dock-controls.css +486 -0
- package/dist/styles/dock.css +284 -450
- package/dist/styles/fonts.css +25 -0
- package/dist/styles/glass-specular-track.css +154 -0
- package/dist/styles/glass.css +74 -2
- package/dist/styles/index.css +21 -2
- package/dist/styles/instrument-chassis.css +11 -4
- package/dist/styles/theme.css +73 -21
- package/dist/styles/tokens.css +271 -140
- package/dist/styles/typography.css +14 -8
- package/dist/styles/utilities.css +36 -8
- package/dist/styles/view-transition.css +10 -4
- package/dist/switch.js +1 -1
- package/dist/tabs.js +139 -112
- package/dist/timeline.js +219 -158
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{useAnimatedNumber-BOxrS3a6.js → useAnimatedNumber-BF6r64lA.js} +1 -1
- package/dist/useClipboard-D8vFyRCa.js +97 -0
- package/dist/{useConfiguratorState-Dq2gNv4A.js → useConfiguratorState-DUtC1jxr.js} +82 -86
- package/dist/useGlobalDark-CWiaCoEw.js +34 -0
- package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
- package/dist/useSortable-DnyGXKKY.js +246 -0
- package/dist/{useTouchGate-XX8gHfay.js → useTouchGate-CS5Csc2h.js} +1 -1
- package/dist/utils/prng.d.ts +4 -0
- package/dist/vReveal-u2wSG2El.js +35 -0
- package/dist/watercolor-dot.d.ts +1 -0
- package/dist/watercolor-dot.js +129 -0
- package/package.json +101 -16
- package/src/fonts/README.md +21 -0
- package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/src/styles/animations.css +1 -1
- package/src/styles/cards.css +1 -1
- package/src/styles/dock-controls.css +486 -0
- package/src/styles/dock.css +284 -450
- package/src/styles/fonts.css +25 -0
- package/src/styles/glass-specular-track.css +154 -0
- package/src/styles/glass.css +74 -2
- package/src/styles/index.css +21 -2
- package/src/styles/instrument-chassis.css +11 -4
- package/src/styles/theme.css +73 -21
- package/src/styles/tokens.css +271 -140
- package/src/styles/typography.css +14 -8
- package/src/styles/utilities.css +36 -8
- package/src/styles/view-transition.css +10 -4
- package/dist/DataTable-BsrDYdoE.js +0 -460
- package/dist/DialogContent-B61rP8lj.js +0 -93
- package/dist/HoverPopover-BlEwqG7S.js +0 -96
- package/dist/Input-IFsIzId2.js +0 -30
- package/dist/Progress-Bs44qWEM.js +0 -126
- package/dist/UnderlineTabs-B4FV2zi_.js +0 -37
- package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
- package/dist/composables/dom/useBreakpoint.d.ts +0 -38
- package/dist/composables/dom/useIdleReady.d.ts +0 -63
- package/dist/composables/dom/useViewportReady.d.ts +0 -87
- package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
- package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
- package/dist/composables/motion/useStagger.d.ts +0 -50
- package/dist/dockContext-DM58L1Jt.js +0 -16
- package/dist/keys-SIKQYNx1.js +0 -11
- package/dist/supportsCssTimeline-IQY3gfKD.js +0 -12
- package/dist/useGlobalDark-BUUTZvkU.js +0 -24
- package/dist/useIdleReady-sLhGo6CL.js +0 -162
- package/dist/useIntersectionPause-CUmANkoc.js +0 -39
- package/dist/useSortable-DLK9kwZp.js +0 -189
- /package/dist/{HoverCardContent-DGUhpRVt.js → HoverCardContent-ICfIMZX1.js} +0 -0
- /package/dist/{InstrumentChassis-CqKPBNqp.js → InstrumentChassis-DaHIZCqy.js} +0 -0
- /package/dist/{InstrumentRail-CCjvKkpB.js → InstrumentRail-B0qqLFN0.js} +0 -0
- /package/dist/{Label-D53EOwLE.js → Label-CZk-3nTc.js} +0 -0
- /package/dist/{PaperBackdrop-Ds-wDsKf.js → PaperBackdrop-D_YZW47j.js} +0 -0
- /package/dist/{SelectGroup-DAgcsfFw.js → SelectGroup-CMdoCjRE.js} +0 -0
- /package/dist/{SelectSeparator-DN1jzLaI.js → SelectSeparator-CaJnPF3_.js} +0 -0
- /package/dist/{Separator-DXxac0j8.js → Separator-C2XtAXRp.js} +0 -0
- /package/dist/{Switch-imA0Hdjs.js → Switch-x8n6husW.js} +0 -0
- /package/dist/{Toaster-Brs6QjBU.js → Toaster-DdhMKfus.js} +0 -0
- /package/dist/{TooltipProvider-MZFRxOvT.js → TooltipProvider-D-JrSqDu.js} +0 -0
- /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
- /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
- /package/dist/{constants-DfWPi8kh.js → constants-DsCdlK9I.js} +0 -0
- /package/dist/{sheet-BnvZRXPq.js → sheet-CQYYrkr9.js} +0 -0
- /package/dist/{useGlassRenderer-C98tZnJ7.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
- /package/dist/{useInterval-B58LmYth.js → useInterval-CHVYFpXV.js} +0 -0
- /package/dist/{useResizeObserver-C_7GjpRn.js → useResizeObserver-DX-STszm.js} +0 -0
- /package/dist/{useTextHighlight-CLST6an0.js → useTextHighlight-Dmtofpk2.js} +0 -0
- /package/dist/{useTimer-6FoosoDY.js → useTimer-DGgoxTXL.js} +0 -0
- /package/dist/{useUserInvalidAria-BW5iyqWR.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
- /package/dist/{useViewTransition-CUJM7fXT.js → useViewTransition-D4ssvnXZ.js} +0 -0
package/dist/styles/tokens.css
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
typography.css.
|
|
42
42
|
═══════════════════════════════════════════════ */
|
|
43
43
|
--font-stack-display: "Fraunces", Georgia, serif;
|
|
44
|
-
--font-stack-serif: "
|
|
44
|
+
--font-stack-serif: "Fraunces", Georgia, "Times New Roman", serif;
|
|
45
45
|
--font-stack-sans: "Helvetica Neue", "Arial Nova", Arial, system-ui, sans-serif;
|
|
46
46
|
/* AC.W6b (v1.5.0) — self-hosted Fira Code engages by default for
|
|
47
47
|
every glass-ui consumer. The calibrated "Fira Code Fallback"
|
|
@@ -143,9 +143,10 @@
|
|
|
143
143
|
|
|
144
144
|
iOS-canonical (response, dampingFraction) per AL-X4 §3:
|
|
145
145
|
smooth: (0.50s, ζ=0.86) — gentle settle, sub-perceptual overshoot ~0.5%
|
|
146
|
-
snappy: (0.35s, ζ=0.
|
|
147
|
-
bouncy: (0.50s, ζ=0.
|
|
146
|
+
snappy: (0.35s, ζ=0.65) — quick crisp, overshoot ~+6.8%
|
|
147
|
+
bouncy: (0.50s, ζ=0.45) — emphatic overshoot ~+20.5%
|
|
148
148
|
gentle: (0.70s, ζ=1.00) — patient critically-damped
|
|
149
|
+
dock: (0.50s, ζ=0.50) — dock expand/collapse morph, overshoot ~+18.5%
|
|
149
150
|
|
|
150
151
|
Note on `smooth`: at ζ=0.86 the analytic solver produces a peak
|
|
151
152
|
of 1.00498 (+0.5%) at the 24% slot — mathematically present but
|
|
@@ -159,6 +160,7 @@
|
|
|
159
160
|
--spring-snappy: linear(0, 0.10438 2.041%, 0.32622 4.082%, 0.56668 6.122%, 0.77153 8.163%, 0.91961 10.204%, 1.01073 12.245%, 1.05549 14.286%, 1.06804 16.327%, 1.06171 18.367%, 1.04686 20.408%, 1.03044 22.449%, 1.01629 24.490%, 1.00596 26.531%, 0.99954 28.571%, 0.99633 30.612%, 0.99537 32.653%, 0.99575 34.694%, 0.99674 36.735%, 0.99786 38.776%, 0.99884 40.816%, 0.99956 42.857%, 1.00001 44.898%, 1.00024 46.939%, 1.00000 48.980%, 1.00000 51.020%, 1.00000 53.061%, 1.00000 55.102%, 1.00000 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
160
161
|
--spring-bouncy: linear(0, 0.11105 2.041%, 0.36430 4.082%, 0.65496 6.122%, 0.90929 8.163%, 1.08828 10.204%, 1.18289 12.245%, 1.20482 14.286%, 1.17641 16.327%, 1.12214 18.367%, 1.06276 20.408%, 1.01239 22.449%, 0.97809 24.490%, 0.96099 26.531%, 0.95826 28.571%, 0.96514 30.612%, 0.97666 32.653%, 0.98873 34.694%, 0.99867 36.735%, 1.00520 38.776%, 1.00825 40.816%, 1.00847 42.857%, 1.00686 44.898%, 1.00443 46.939%, 1.00199 48.980%, 1.00004 51.020%, 0.99880 53.061%, 0.99827 55.102%, 0.99829 57.143%, 0.99866 59.184%, 0.99916 61.224%, 0.99966 63.265%, 1.00004 65.306%, 1.00027 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
161
162
|
--spring-gentle: linear(0, 0.09415 2.041%, 0.27374 4.082%, 0.45506 6.122%, 0.60779 8.163%, 0.72570 10.204%, 0.81213 12.245%, 0.87336 14.286%, 0.91570 16.327%, 0.94445 18.367%, 0.96371 20.408%, 0.97645 22.449%, 0.98481 24.490%, 0.99025 26.531%, 0.99377 28.571%, 0.99604 30.612%, 0.99749 32.653%, 0.99841 34.694%, 0.99900 36.735%, 0.99937 38.776%, 0.99961 40.816%, 0.99975 42.857%, 0.99985 44.898%, 1.00000 46.939%, 1.00000 48.980%, 1.00000 51.020%, 1.00000 53.061%, 1.00000 55.102%, 1.00000 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
163
|
+
--spring-dock: linear(0, 0.10932 2.041%, 0.35412 4.082%, 0.63074 6.122%, 0.87072 8.163%, 1.04044 10.204%, 1.13391 12.245%, 1.16292 14.286%, 1.14748 16.327%, 1.10854 18.367%, 1.06337 20.408%, 1.02357 22.449%, 0.99499 24.490%, 0.97889 26.531%, 0.97350 28.571%, 0.97561 30.612%, 0.98178 32.653%, 0.98915 34.694%, 0.99574 36.735%, 1.00055 38.776%, 1.00332 40.816%, 1.00431 42.857%, 1.00403 44.898%, 1.00305 46.939%, 1.00186 48.980%, 1.00076 51.020%, 0.99996 53.061%, 0.99948 55.102%, 0.99930 57.143%, 0.99933 59.184%, 0.99949 61.224%, 0.99968 63.265%, 0.99986 65.306%, 1.00000 67.347%, 1.00008 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
162
164
|
|
|
163
165
|
/* Core cubic-bezier (exits, fallbacks, non-spring uses) */
|
|
164
166
|
--motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -284,29 +286,12 @@
|
|
|
284
286
|
--z-max: 9999;
|
|
285
287
|
--z-debug: 99999;
|
|
286
288
|
|
|
287
|
-
/*
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
--radius-md: 6px;
|
|
294
|
-
--radius-lg: var(--radius);
|
|
295
|
-
--radius-xl: 12px;
|
|
296
|
-
--radius-2xl: 1rem;
|
|
297
|
-
--radius-pill: 9999px;
|
|
298
|
-
|
|
299
|
-
/* Semantic aliases */
|
|
300
|
-
--radius-card: var(--radius-2xl);
|
|
301
|
-
--radius-panel: var(--radius-xl);
|
|
302
|
-
--radius-dialog: var(--radius-2xl);
|
|
303
|
-
--radius-input: var(--radius);
|
|
304
|
-
--radius-button: var(--radius);
|
|
305
|
-
--radius-badge: var(--radius-pill);
|
|
306
|
-
--radius-dock: var(--radius-pill);
|
|
307
|
-
/* Tooltip alias — semantic handle for the lg rung; consumed by W2 ui/tooltip
|
|
308
|
-
migration (currently inline `rounded-lg`). R5 vocab.γ gap row 5. */
|
|
309
|
-
--radius-tooltip: var(--radius-lg);
|
|
289
|
+
/* §4 BORDER RADIUS — authored ONCE in theme.css's leading plain @theme
|
|
290
|
+
block (AV.W16 TW1). A plain @theme mints each `--radius-*` as a global
|
|
291
|
+
:root var, so the `var(--radius-card)` recipe reads across this file
|
|
292
|
+
resolve from that source. The prior §4 twin here doubled the override
|
|
293
|
+
surface (the anti-pattern the @theme-inline migration kills) — excised;
|
|
294
|
+
retune the scale at theme.css. */
|
|
310
295
|
|
|
311
296
|
/* ═══════════════════════════════════════════════
|
|
312
297
|
§5 COLOR PALETTE — Warm cream / muted black
|
|
@@ -436,42 +421,45 @@
|
|
|
436
421
|
/* ═══════════════════════════════════════════════
|
|
437
422
|
§6 SECTION PALETTE — 13-stop jewel tones (light)
|
|
438
423
|
═══════════════════════════════════════════════ */
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
--section-color-
|
|
443
|
-
--section-color-
|
|
444
|
-
--section-color-
|
|
445
|
-
--section-color-
|
|
446
|
-
--section-color-
|
|
447
|
-
--section-color-
|
|
448
|
-
--section-color-
|
|
449
|
-
--section-color-
|
|
450
|
-
--section-color-
|
|
451
|
-
--section-color-
|
|
424
|
+
/* AV.W16 TW2 — oklch ramp (perceptually-even L; hue preserved from the
|
|
425
|
+
prior hsl() cadence). Categorical jewel tones — distinct hues, not a
|
|
426
|
+
monotone scale. Authored as oklch pairs with the .dark mirror. */
|
|
427
|
+
--section-color-0: oklch(0.552 0.192 359.8); /* rose */
|
|
428
|
+
--section-color-1: oklch(0.502 0.165 305.9); /* purple */
|
|
429
|
+
--section-color-2: oklch(0.484 0.163 265.5); /* indigo */
|
|
430
|
+
--section-color-3: oklch(0.542 0.089 222.8); /* teal-cyan */
|
|
431
|
+
--section-color-4: oklch(0.551 0.088 171.1); /* forest */
|
|
432
|
+
--section-color-5: oklch(0.623 0.124 69.6); /* amber */
|
|
433
|
+
--section-color-6: oklch(0.579 0.201 30.4); /* tomato-red */
|
|
434
|
+
--section-color-7: oklch(0.532 0.180 317.5); /* violet */
|
|
435
|
+
--section-color-8: oklch(0.520 0.176 8.4); /* ruby */
|
|
436
|
+
--section-color-9: oklch(0.492 0.038 239.6); /* slate-blue */
|
|
437
|
+
--section-color-10: oklch(0.556 0.103 128.8); /* olive */
|
|
438
|
+
--section-color-11: oklch(0.601 0.092 208.0); /* ocean */
|
|
439
|
+
--section-color-12: oklch(0.513 0.163 291.9); /* periwinkle */
|
|
452
440
|
|
|
453
441
|
/* Accent colors */
|
|
454
|
-
--accent-pink:
|
|
455
|
-
--section-heading:
|
|
456
|
-
--accent-red:
|
|
442
|
+
--accent-pink: oklch(0.613 0.197 353.8);
|
|
443
|
+
--section-heading: oklch(0.545 0.189 352.8);
|
|
444
|
+
--accent-red: oklch(0.574 0.216 27.5);
|
|
457
445
|
|
|
458
446
|
/* ═══════════════════════════════════════════════
|
|
459
447
|
§6b VIZ BASIS — core brand hues
|
|
460
448
|
═══════════════════════════════════════════════ */
|
|
461
|
-
--viz-fourier:
|
|
462
|
-
--viz-chebyshev:
|
|
463
|
-
--viz-legendre:
|
|
449
|
+
--viz-fourier: oklch(0.579 0.201 30.4);
|
|
450
|
+
--viz-chebyshev: oklch(0.484 0.163 265.5);
|
|
451
|
+
--viz-legendre: oklch(0.532 0.180 317.5);
|
|
464
452
|
--viz-amber: var(--section-color-5);
|
|
465
453
|
--viz-green: var(--section-color-4);
|
|
466
454
|
|
|
467
455
|
/* Semantic UI accents */
|
|
468
|
-
--tier-featured:
|
|
469
|
-
--tier-saved:
|
|
470
|
-
--like:
|
|
471
|
-
--success:
|
|
472
|
-
--warning:
|
|
473
|
-
--info:
|
|
474
|
-
--delete:
|
|
456
|
+
--tier-featured: oklch(0.841 0.173 84.2);
|
|
457
|
+
--tier-saved: oklch(0.676 0.176 252.3);
|
|
458
|
+
--like: oklch(0.633 0.200 24.9);
|
|
459
|
+
--success: oklch(0.720 0.192 149.5);
|
|
460
|
+
--warning: oklch(0.770 0.165 70.6);
|
|
461
|
+
--info: oklch(0.626 0.186 259.6);
|
|
462
|
+
--delete: oklch(0.597 0.198 25.5);
|
|
475
463
|
|
|
476
464
|
/* Semantic foregrounds — text/glyph atop --success/--warning/--info plates.
|
|
477
465
|
Notification.vue currently hardcodes `text-white`/`text-foreground`
|
|
@@ -596,7 +584,14 @@
|
|
|
596
584
|
--glass-blur-quiet-radius: 10px;
|
|
597
585
|
--glass-blur-resting-radius: 12px;
|
|
598
586
|
--glass-blur-floating-radius: 16px;
|
|
599
|
-
|
|
587
|
+
/* AV.W7 F2 — clamped from 24px into the 8–15px budget band. A blur radius
|
|
588
|
+
past ~20px is exponentially costlier (`backdrop-filter` is glass-ui's most
|
|
589
|
+
expensive idiom — the radius is the dominant cost). 15px is the band
|
|
590
|
+
ceiling; the lower rungs (wash/quiet/resting 1/10/12) sit in-band and the
|
|
591
|
+
floating 16px is the design ceiling at the band edge (left as-is). A
|
|
592
|
+
high-resolution display restores the richer 24px wash via the @media arm
|
|
593
|
+
below — the cost is amortised by the extra device pixels. */
|
|
594
|
+
--glass-blur-overlay-radius: 15px;
|
|
600
595
|
/* Dock blur radius — 11px, paired with the 0.42 opacity below: a crisp
|
|
601
596
|
glass pill (the iOS Control Center register), not a feathered wash.
|
|
602
597
|
The dock composes `blur()` only (no saturate); the
|
|
@@ -605,7 +600,14 @@
|
|
|
605
600
|
--glass-blur-dock-radius: 11px;
|
|
606
601
|
|
|
607
602
|
--glass-blur-wash: blur(var(--glass-blur-wash-radius)) saturate(1.05);
|
|
608
|
-
|
|
603
|
+
/* AV.W15 M1 — the `quiet` rung gained `saturate(1.05) brightness(1.02)`
|
|
604
|
+
so the lower ladder reads with the same saturation life as `resting`+
|
|
605
|
+
(Apple: Liquid Glass concentrates light, it does not desaturate). The
|
|
606
|
+
`brightness(1.02)` is the small lift the spec names — it lands `quiet`
|
|
607
|
+
between bare `wash` and `resting` without over-brightening the rung.
|
|
608
|
+
The `prefers-reduced-transparency: reduce` bracket at glass.css maps
|
|
609
|
+
`--glass-blur-quiet: none`, so this whole chain drops with the blur. */
|
|
610
|
+
--glass-blur-quiet: blur(var(--glass-blur-quiet-radius)) saturate(1.05) brightness(1.02);
|
|
609
611
|
--glass-blur-resting: blur(var(--glass-blur-resting-radius)) saturate(1.05);
|
|
610
612
|
--glass-blur-floating: blur(var(--glass-blur-floating-radius)) saturate(1.4);
|
|
611
613
|
--glass-blur-overlay: blur(var(--glass-blur-overlay-radius)) saturate(1.5);
|
|
@@ -683,6 +685,21 @@
|
|
|
683
685
|
--glass-specular: inset 0 1.5px 0 0 hsl(0 0% 100% / 0.45);
|
|
684
686
|
--glass-specular-dark: inset 0 1.5px 0 0 hsl(0 0% 100% / 0.30);
|
|
685
687
|
|
|
688
|
+
/* AV.W15 M3 — Full-perimeter rim light (the "rim that defines the
|
|
689
|
+
silhouette", WWDC25 sess. 219). Distinct from the top-only
|
|
690
|
+
`--glass-highlight` (a 0.5px top-edge catch-light): this is a 0.75px
|
|
691
|
+
inset ring around the WHOLE silhouette, four edges, reading as the
|
|
692
|
+
catch-light that wraps the glass plate the way iOS-26 Liquid Glass
|
|
693
|
+
carries a rim, not just a top highlight. Composed as a SECOND inset
|
|
694
|
+
box-shadow layer alongside `--glass-highlight` on the floating/dock
|
|
695
|
+
tiers (glass.css wires it). The alpha is deliberately low (0.18 light
|
|
696
|
+
/ 0.10 dark) — the rim is decoration and must not eat AA legibility
|
|
697
|
+
over a busy backdrop; it sits below the perceptual reading threshold
|
|
698
|
+
on text. The `-dark` companion is overridden inside `.dark` mirroring
|
|
699
|
+
the `--glass-specular-dark` precedent. */
|
|
700
|
+
--glass-edge-light: inset 0 0 0 0.75px hsl(0 0% 100% / 0.18);
|
|
701
|
+
--glass-edge-light-dark: inset 0 0 0 0.75px hsl(0 0% 100% / 0.10);
|
|
702
|
+
|
|
686
703
|
/* Chassis curvature illusion — a subtle radial gradient at the chassis
|
|
687
704
|
top centre that lifts the surface without committing to literal 3D.
|
|
688
705
|
Composed into <InstrumentChassis>'s background stack. */
|
|
@@ -826,6 +843,15 @@
|
|
|
826
843
|
--dock-max-inline-size: min(80vw, 64rem);
|
|
827
844
|
--dock-max-block-size: min(80vh, 48rem);
|
|
828
845
|
|
|
846
|
+
/* AT.W7-dock-a — the `overflow="wrap"` desktop snap-back breakpoint, named
|
|
847
|
+
once. Below this viewport width a wrap-mode dock reads as a multi-row pill
|
|
848
|
+
that narrows to the viewport gutter; at/above it the pill snaps back to a
|
|
849
|
+
single nowrap row. The single source-of-record for the threshold the
|
|
850
|
+
`@media` in dock.css realizes (a `var()` cannot drive a media-query
|
|
851
|
+
feature in Baseline CSS, so the MQ carries the literal value of THIS
|
|
852
|
+
token; consumers reading the breakpoint do so through this name). */
|
|
853
|
+
--dock-overflow-bp: 640px;
|
|
854
|
+
|
|
829
855
|
/* AB.W1.T1 — chassis max-block-size guardrail.
|
|
830
856
|
Maximum block size a centred consumer-app card may consume while
|
|
831
857
|
preserving the inline dock footprint. The recipe subtracts the
|
|
@@ -857,6 +883,9 @@
|
|
|
857
883
|
--max-width-input: 24rem;
|
|
858
884
|
--input-min-width-sm: 5rem;
|
|
859
885
|
--min-width-input-sm: var(--input-min-width-sm);
|
|
886
|
+
/* AU.W8b.4 — canonical popover width (Combobox list + anchor). Lifts the
|
|
887
|
+
`w-[200px]` arbitrary-value wrap to the `w-popover` @theme utility. */
|
|
888
|
+
--popover-width: 200px;
|
|
860
889
|
--chart-height-compact: 15rem;
|
|
861
890
|
--chart-height-default: 22.5rem;
|
|
862
891
|
--chart-height-large: 25rem;
|
|
@@ -980,12 +1009,19 @@
|
|
|
980
1009
|
--scale-hover: 1.08;
|
|
981
1010
|
--scale-hover-dock: 1.1;
|
|
982
1011
|
--scale-press: 0.96;
|
|
983
|
-
--scale-press-dock: 0.92;
|
|
984
1012
|
|
|
985
1013
|
/* Press-scale rungs. `--scale-press` (0.96) is the canonical iOS Liquid
|
|
986
1014
|
Glass press value every primitive reaches for unless it has a documented
|
|
987
1015
|
reason (DESIGN.md §L3); `--scale-press-btn` aliases the slightly-softer
|
|
988
|
-
`--scale-press-sm` (0.97) the button + slider recipes consume.
|
|
1016
|
+
`--scale-press-sm` (0.97) the button + slider recipes consume.
|
|
1017
|
+
|
|
1018
|
+
AT.W7-dock-b — press canon. `--scale-press-dock` previously hard-coded a
|
|
1019
|
+
deeper 0.92 (a second magic press value with no documented rationale),
|
|
1020
|
+
so a dock control pressed visibly harder than every other primitive. It
|
|
1021
|
+
now references the canonical `--scale-press` (0.96) — ONE source for the
|
|
1022
|
+
press scale across the system. A consumer wanting the dock's old deeper
|
|
1023
|
+
press overrides `--scale-press-dock` on the dock instance. */
|
|
1024
|
+
--scale-press-dock: var(--scale-press);
|
|
989
1025
|
--scale-press-sm: 0.97;
|
|
990
1026
|
--scale-press-btn: var(--scale-press-sm);
|
|
991
1027
|
--opacity-disabled: 0.5;
|
|
@@ -1012,32 +1048,33 @@
|
|
|
1012
1048
|
/* ═══════════════════════════════════════════════
|
|
1013
1049
|
§13 GOLD (accent family kept for consumers using it)
|
|
1014
1050
|
═══════════════════════════════════════════════ */
|
|
1015
|
-
--gold:
|
|
1016
|
-
--gold-light:
|
|
1017
|
-
--gold-dark:
|
|
1051
|
+
--gold: oklch(0.751 0.147 84.2);
|
|
1052
|
+
--gold-light: oklch(0.890 0.183 96.1);
|
|
1053
|
+
--gold-dark: oklch(0.599 0.132 64.2);
|
|
1018
1054
|
|
|
1019
1055
|
--color-gold: var(--gold);
|
|
1020
1056
|
--color-gold-light: var(--gold-light);
|
|
1021
1057
|
--color-gold-dark: var(--gold-dark);
|
|
1022
1058
|
|
|
1023
1059
|
/* ═══════════════════════════════════════════════
|
|
1024
|
-
§14 RAINBOW PALETTE
|
|
1060
|
+
§14 RAINBOW PALETTE — oklch (AV.W16 TW2; mode-independent, no .dark
|
|
1061
|
+
mirror; hue preserved from the prior hsl() cadence)
|
|
1025
1062
|
═══════════════════════════════════════════════ */
|
|
1026
|
-
--rainbow-red:
|
|
1027
|
-
--rainbow-orange:
|
|
1028
|
-
--rainbow-yellow:
|
|
1029
|
-
--rainbow-green:
|
|
1030
|
-
--rainbow-blue:
|
|
1031
|
-
--rainbow-indigo:
|
|
1032
|
-
--rainbow-violet:
|
|
1033
|
-
|
|
1034
|
-
--rainbow-pastel-red:
|
|
1035
|
-
--rainbow-pastel-orange:
|
|
1036
|
-
--rainbow-pastel-yellow:
|
|
1037
|
-
--rainbow-pastel-green:
|
|
1038
|
-
--rainbow-pastel-blue:
|
|
1039
|
-
--rainbow-pastel-indigo:
|
|
1040
|
-
--rainbow-pastel-violet:
|
|
1063
|
+
--rainbow-red: oklch(0.636 0.210 25.5);
|
|
1064
|
+
--rainbow-orange: oklch(0.737 0.163 58.9);
|
|
1065
|
+
--rainbow-yellow: oklch(0.900 0.183 103.7);
|
|
1066
|
+
--rainbow-green: oklch(0.772 0.233 144.8);
|
|
1067
|
+
--rainbow-blue: oklch(0.633 0.162 252.1);
|
|
1068
|
+
--rainbow-indigo: oklch(0.566 0.206 294.1);
|
|
1069
|
+
--rainbow-violet: oklch(0.684 0.250 327.9);
|
|
1070
|
+
|
|
1071
|
+
--rainbow-pastel-red: oklch(0.793 0.066 18.7);
|
|
1072
|
+
--rainbow-pastel-orange: oklch(0.823 0.059 57.3);
|
|
1073
|
+
--rainbow-pastel-yellow: oklch(0.889 0.068 98.1);
|
|
1074
|
+
--rainbow-pastel-green: oklch(0.826 0.072 149.5);
|
|
1075
|
+
--rainbow-pastel-blue: oklch(0.783 0.056 264.2);
|
|
1076
|
+
--rainbow-pastel-indigo: oklch(0.772 0.062 300.2);
|
|
1077
|
+
--rainbow-pastel-violet: oklch(0.799 0.070 314.4);
|
|
1041
1078
|
|
|
1042
1079
|
/* ═══════════════════════════════════════════════
|
|
1043
1080
|
§16 TIMELINE
|
|
@@ -1237,8 +1274,52 @@
|
|
|
1237
1274
|
--top-layer-backdrop-dim: 0.5;
|
|
1238
1275
|
|
|
1239
1276
|
--vt-duration: var(--duration-normal);
|
|
1240
|
-
|
|
1277
|
+
/* AV.W3 C2 — the spring-coverage sweep: every spring-flavored transition
|
|
1278
|
+
reads a `--spring-*` token. `--ease-apple-spring`'s +27.5% overshoot maps
|
|
1279
|
+
to `--spring-bouncy` (the closest `linear()` overshoot stop-set), so the
|
|
1280
|
+
VT default and the cards/top-layer transitions share one spring primitive
|
|
1281
|
+
(CPU + GPU sample the same curve). The apple-spring cubic-bezier survives
|
|
1282
|
+
as a token DEFINITION only (a `@supports not (linear())` fallback seed). */
|
|
1283
|
+
--vt-ease: var(--spring-bouncy);
|
|
1241
1284
|
--vt-rise: 8px;
|
|
1285
|
+
|
|
1286
|
+
/* AT.W6-dock-c / AU.W8 — the dock layer-swap morph timing, minted ONCE so
|
|
1287
|
+
both engine paths are timing-IDENTICAL: the FLIP fallback (via
|
|
1288
|
+
`--dock-motion-resize`), the native View-Transition group (its
|
|
1289
|
+
`animation-timing-function`), AND the runtime SpringProgress driver
|
|
1290
|
+
(AU.W8.3) consume this same `(0.5, 0.5)` source curve. Retires the AQ.W6
|
|
1291
|
+
fork where the VT path ran `--vt-ease` (apple-spring, +27.5% overshoot)
|
|
1292
|
+
while the FLIP ran the snappy spring. `--vt-ease` still defaults the
|
|
1293
|
+
other VT recipes (`.gl-list-item`).
|
|
1294
|
+
|
|
1295
|
+
AU.W8 — RETARGET snappy → dock. `--spring-snappy` (ζ=0.65, +6.8%) read as
|
|
1296
|
+
mechanical: a stiff plateau at ~48% with too little overshoot to feel
|
|
1297
|
+
alive ("not iOS-smooth"). `--spring-dock` ((0.5, 0.5), ~+18.5%) sits in
|
|
1298
|
+
the springy 15-30% band — the user-felt iOS bounce. The runtime driver's
|
|
1299
|
+
DOCK_SPRING const MIRRORS the (0.5, 0.5) PRESETS row, so the CSS token and
|
|
1300
|
+
the JS-driven morph are bit-identical. */
|
|
1301
|
+
--dock-resize-spring: var(--spring-dock);
|
|
1302
|
+
|
|
1303
|
+
/* AT.W7-dock-b — dock-control press micro-feedback spring. A TRANSFORM-ONLY
|
|
1304
|
+
spring (`scale`/`rotate`) the dock controls apply to their hover/press
|
|
1305
|
+
activation so the squish reads with a touch of spring-back rather than a
|
|
1306
|
+
flat ease. STRICTLY transform-scoped: it must never touch the surface-tier
|
|
1307
|
+
`[data-held]` fades (background/border/box-shadow), which stay on
|
|
1308
|
+
`--duration-fast var(--ease-standard)`. The duration pairs with
|
|
1309
|
+
`--duration-fast`; consumers retune the whole feel via this one token. */
|
|
1310
|
+
--dock-press-spring: var(--duration-fast) var(--spring-bouncy);
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
/* AV.W7 F2 — high-resolution overlay-blur restore. On a 2dppx+ display the
|
|
1314
|
+
richer 24px overlay wash is amortised by the extra device pixels (the blur
|
|
1315
|
+
samples a denser backing store), so the design ceiling is restored where it
|
|
1316
|
+
is affordable. Standard-density displays keep the 15px budget radius set in
|
|
1317
|
+
§-1a `:root`. Token-only override — every overlay surface that reads
|
|
1318
|
+
`--glass-blur-overlay-radius` inherits the restored value automatically. */
|
|
1319
|
+
@media (min-resolution: 2dppx) {
|
|
1320
|
+
:root {
|
|
1321
|
+
--glass-blur-overlay-radius: 24px;
|
|
1322
|
+
}
|
|
1242
1323
|
}
|
|
1243
1324
|
|
|
1244
1325
|
/* ═══════════════════════════════════════════════
|
|
@@ -1302,29 +1383,30 @@
|
|
|
1302
1383
|
re-specified as `accent-color` inside `.dark` per §2b. */
|
|
1303
1384
|
--accent-color: light-dark(var(--primary), var(--ring));
|
|
1304
1385
|
|
|
1305
|
-
/* Section palette — jewel tones brightened
|
|
1306
|
-
|
|
1307
|
-
--section-color-
|
|
1308
|
-
--section-color-
|
|
1309
|
-
--section-color-
|
|
1310
|
-
--section-color-
|
|
1311
|
-
--section-color-
|
|
1312
|
-
--section-color-
|
|
1313
|
-
--section-color-
|
|
1314
|
-
--section-color-
|
|
1315
|
-
--section-color-
|
|
1316
|
-
--section-color-
|
|
1317
|
-
--section-color-
|
|
1318
|
-
--section-color-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
--
|
|
1322
|
-
--
|
|
1386
|
+
/* Section palette — jewel tones brightened L for dark (oklch pairs;
|
|
1387
|
+
AV.W16 TW2 — hue preserved, L evened) */
|
|
1388
|
+
--section-color-0: light-dark(oklch(0.552 0.192 359.8), oklch(0.721 0.145 354.0));
|
|
1389
|
+
--section-color-1: light-dark(oklch(0.502 0.165 305.9), oklch(0.733 0.113 308.2));
|
|
1390
|
+
--section-color-2: light-dark(oklch(0.484 0.163 265.5), oklch(0.718 0.107 268.4));
|
|
1391
|
+
--section-color-3: light-dark(oklch(0.542 0.089 222.8), oklch(0.767 0.091 219.9));
|
|
1392
|
+
--section-color-4: light-dark(oklch(0.551 0.088 171.1), oklch(0.776 0.105 172.6));
|
|
1393
|
+
--section-color-5: light-dark(oklch(0.623 0.124 69.6), oklch(0.813 0.109 78.2));
|
|
1394
|
+
--section-color-6: light-dark(oklch(0.579 0.201 30.4), oklch(0.693 0.151 28.1));
|
|
1395
|
+
--section-color-7: light-dark(oklch(0.532 0.180 317.5), oklch(0.739 0.134 318.1));
|
|
1396
|
+
--section-color-8: light-dark(oklch(0.520 0.176 8.4), oklch(0.709 0.142 2.3));
|
|
1397
|
+
--section-color-9: light-dark(oklch(0.492 0.038 239.6), oklch(0.763 0.032 239.0));
|
|
1398
|
+
--section-color-10: light-dark(oklch(0.556 0.103 128.8), oklch(0.794 0.116 127.9));
|
|
1399
|
+
--section-color-11: light-dark(oklch(0.601 0.092 208.0), oklch(0.805 0.095 206.7));
|
|
1400
|
+
--section-color-12: light-dark(oklch(0.513 0.163 291.9), oklch(0.719 0.115 295.6));
|
|
1401
|
+
|
|
1402
|
+
--accent-pink: light-dark(oklch(0.613 0.197 353.8), oklch(0.683 0.131 354.7));
|
|
1403
|
+
--section-heading: light-dark(oklch(0.545 0.189 352.8), oklch(0.711 0.123 349.3));
|
|
1404
|
+
--accent-red: light-dark(oklch(0.574 0.216 27.5), oklch(0.644 0.165 22.9));
|
|
1323
1405
|
|
|
1324
1406
|
/* Viz basis (amber/green stay var()-aliases → auto-track) */
|
|
1325
|
-
--viz-fourier: light-dark(
|
|
1326
|
-
--viz-chebyshev: light-dark(
|
|
1327
|
-
--viz-legendre: light-dark(
|
|
1407
|
+
--viz-fourier: light-dark(oklch(0.579 0.201 30.4), oklch(0.693 0.151 28.1));
|
|
1408
|
+
--viz-chebyshev: light-dark(oklch(0.484 0.163 265.5), oklch(0.718 0.107 268.4));
|
|
1409
|
+
--viz-legendre: light-dark(oklch(0.532 0.180 317.5), oklch(0.739 0.134 318.1));
|
|
1328
1410
|
|
|
1329
1411
|
/* WCAG companion chart labels */
|
|
1330
1412
|
--chart-ping-label: light-dark(oklch(0.40 0.18 230), oklch(0.85 0.12 230));
|
|
@@ -1333,13 +1415,13 @@
|
|
|
1333
1415
|
--chart-jitter-label: light-dark(oklch(0.40 0.20 305), oklch(0.85 0.14 305));
|
|
1334
1416
|
|
|
1335
1417
|
/* Semantic UI accents */
|
|
1336
|
-
--tier-featured: light-dark(
|
|
1337
|
-
--tier-saved: light-dark(
|
|
1338
|
-
--like: light-dark(
|
|
1339
|
-
--success: light-dark(
|
|
1340
|
-
--warning: light-dark(
|
|
1341
|
-
--info: light-dark(
|
|
1342
|
-
--delete: light-dark(
|
|
1418
|
+
--tier-featured: light-dark(oklch(0.841 0.173 84.2), oklch(0.867 0.165 88.7));
|
|
1419
|
+
--tier-saved: light-dark(oklch(0.676 0.176 252.3), oklch(0.748 0.135 250.1));
|
|
1420
|
+
--like: light-dark(oklch(0.633 0.200 24.9), oklch(0.690 0.162 22.2));
|
|
1421
|
+
--success: light-dark(oklch(0.720 0.192 149.5), oklch(0.805 0.186 151.6));
|
|
1422
|
+
--warning: light-dark(oklch(0.770 0.165 70.6), oklch(0.809 0.150 76.6));
|
|
1423
|
+
--info: light-dark(oklch(0.626 0.186 259.6), oklch(0.713 0.138 259.5));
|
|
1424
|
+
--delete: light-dark(oklch(0.597 0.198 25.5), oklch(0.644 0.170 23.1));
|
|
1343
1425
|
|
|
1344
1426
|
/* Semantic foregrounds (warning-foreground is identical both modes
|
|
1345
1427
|
→ stays a single light-mode declaration, no light-dark() needed) */
|
|
@@ -1351,9 +1433,9 @@
|
|
|
1351
1433
|
--shadow-cartoon-color-soft: light-dark(rgb(0 0 0 / 0.06), rgb(255 255 255 / 0.03));
|
|
1352
1434
|
|
|
1353
1435
|
/* Gold family */
|
|
1354
|
-
--gold: light-dark(
|
|
1355
|
-
--gold-light: light-dark(
|
|
1356
|
-
--gold-dark: light-dark(
|
|
1436
|
+
--gold: light-dark(oklch(0.751 0.147 84.2), oklch(0.784 0.143 86.0));
|
|
1437
|
+
--gold-light: light-dark(oklch(0.890 0.183 96.1), oklch(0.898 0.182 97.4));
|
|
1438
|
+
--gold-dark: light-dark(oklch(0.599 0.132 64.2), oklch(0.678 0.150 63.8));
|
|
1357
1439
|
}
|
|
1358
1440
|
}
|
|
1359
1441
|
|
|
@@ -1417,28 +1499,29 @@
|
|
|
1417
1499
|
--ring: hsl(48 10% 70%);
|
|
1418
1500
|
--shadow: hsl(0 0% 5%);
|
|
1419
1501
|
|
|
1420
|
-
/* Section palette — brightened for dark backgrounds
|
|
1421
|
-
|
|
1422
|
-
--section-color-
|
|
1423
|
-
--section-color-
|
|
1424
|
-
--section-color-
|
|
1425
|
-
--section-color-
|
|
1426
|
-
--section-color-
|
|
1427
|
-
--section-color-
|
|
1428
|
-
--section-color-
|
|
1429
|
-
--section-color-
|
|
1430
|
-
--section-color-
|
|
1431
|
-
--section-color-
|
|
1432
|
-
--section-color-
|
|
1433
|
-
--section-color-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
--
|
|
1437
|
-
--
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
--viz-
|
|
1441
|
-
--viz-
|
|
1502
|
+
/* Section palette — brightened for dark backgrounds (oklch; AV.W16 TW2 —
|
|
1503
|
+
mirrors the light-dark() dark halves above; hue preserved) */
|
|
1504
|
+
--section-color-0: oklch(0.721 0.145 354.0);
|
|
1505
|
+
--section-color-1: oklch(0.733 0.113 308.2);
|
|
1506
|
+
--section-color-2: oklch(0.718 0.107 268.4);
|
|
1507
|
+
--section-color-3: oklch(0.767 0.091 219.9);
|
|
1508
|
+
--section-color-4: oklch(0.776 0.105 172.6);
|
|
1509
|
+
--section-color-5: oklch(0.813 0.109 78.2);
|
|
1510
|
+
--section-color-6: oklch(0.693 0.151 28.1);
|
|
1511
|
+
--section-color-7: oklch(0.739 0.134 318.1);
|
|
1512
|
+
--section-color-8: oklch(0.709 0.142 2.3);
|
|
1513
|
+
--section-color-9: oklch(0.763 0.032 239.0);
|
|
1514
|
+
--section-color-10: oklch(0.794 0.116 127.9);
|
|
1515
|
+
--section-color-11: oklch(0.805 0.095 206.7);
|
|
1516
|
+
--section-color-12: oklch(0.719 0.115 295.6);
|
|
1517
|
+
|
|
1518
|
+
--accent-pink: oklch(0.683 0.131 354.7);
|
|
1519
|
+
--section-heading: oklch(0.711 0.123 349.3);
|
|
1520
|
+
--accent-red: oklch(0.644 0.165 22.9);
|
|
1521
|
+
|
|
1522
|
+
--viz-fourier: oklch(0.693 0.151 28.1);
|
|
1523
|
+
--viz-chebyshev: oklch(0.718 0.107 268.4);
|
|
1524
|
+
--viz-legendre: oklch(0.739 0.134 318.1);
|
|
1442
1525
|
/* --viz-amber / --viz-green / --meter-track-stroke are pure var()-aliases
|
|
1443
1526
|
(→ --section-color-5/-4 / --foreground) — DELETED (§2a); they auto-track
|
|
1444
1527
|
their sources, which convert via §-1b. */
|
|
@@ -1451,13 +1534,13 @@
|
|
|
1451
1534
|
--chart-upload-label: oklch(0.85 0.12 55);
|
|
1452
1535
|
--chart-jitter-label: oklch(0.85 0.14 305);
|
|
1453
1536
|
|
|
1454
|
-
--tier-featured:
|
|
1455
|
-
--tier-saved:
|
|
1456
|
-
--like:
|
|
1457
|
-
--success:
|
|
1458
|
-
--warning:
|
|
1459
|
-
--info:
|
|
1460
|
-
--delete:
|
|
1537
|
+
--tier-featured: oklch(0.867 0.165 88.7);
|
|
1538
|
+
--tier-saved: oklch(0.748 0.135 250.1);
|
|
1539
|
+
--like: oklch(0.690 0.162 22.2);
|
|
1540
|
+
--success: oklch(0.805 0.186 151.6);
|
|
1541
|
+
--warning: oklch(0.809 0.150 76.6);
|
|
1542
|
+
--info: oklch(0.713 0.138 259.5);
|
|
1543
|
+
--delete: oklch(0.644 0.170 23.1);
|
|
1461
1544
|
|
|
1462
1545
|
/* Semantic foregrounds — off-white over dark plates. Mirrors the
|
|
1463
1546
|
`--destructive-foreground` dark pattern (hsl 48 10% 90%). The warning
|
|
@@ -1497,16 +1580,20 @@
|
|
|
1497
1580
|
/* Specular + curvature — softened for dark backdrops. Disco-grain stays
|
|
1498
1581
|
at the same opacity ceiling; the dark grain blend already lifts it. */
|
|
1499
1582
|
--glass-specular: inset 0 1.5px 0 0 hsl(0 0% 100% / 0.30);
|
|
1583
|
+
/* AV.W15 M3 — the full-perimeter rim remaps to its dark weight inside
|
|
1584
|
+
`.dark` (mirroring the `--glass-specular` remap above). The lit token
|
|
1585
|
+
resolves to the `-dark` alpha on the deeper canvas. */
|
|
1586
|
+
--glass-edge-light: var(--glass-edge-light-dark);
|
|
1500
1587
|
--glass-curvature-overlay: radial-gradient(
|
|
1501
1588
|
ellipse at 50% -20%,
|
|
1502
1589
|
hsl(0 0% 100% / 0.06),
|
|
1503
1590
|
transparent 60%
|
|
1504
1591
|
);
|
|
1505
1592
|
|
|
1506
|
-
/* Gold — boosted for dark */
|
|
1507
|
-
--gold:
|
|
1508
|
-
--gold-light:
|
|
1509
|
-
--gold-dark:
|
|
1593
|
+
/* Gold — boosted for dark (oklch; AV.W16 TW2) */
|
|
1594
|
+
--gold: oklch(0.784 0.143 86.0);
|
|
1595
|
+
--gold-light: oklch(0.898 0.182 97.4);
|
|
1596
|
+
--gold-dark: oklch(0.678 0.150 63.8);
|
|
1510
1597
|
}
|
|
1511
1598
|
|
|
1512
1599
|
/* ═══════════════════════════════════════════════
|
|
@@ -1560,3 +1647,47 @@
|
|
|
1560
1647
|
inherits: false;
|
|
1561
1648
|
initial-value: 0px;
|
|
1562
1649
|
}
|
|
1650
|
+
|
|
1651
|
+
/* ═══════════════════════════════════════════════
|
|
1652
|
+
§11b POINTER-ANCHORED MOVING SPECULAR (AV.W15)
|
|
1653
|
+
|
|
1654
|
+
The iOS-26 Liquid Glass "light travels around the material /
|
|
1655
|
+
illuminate under your fingertip" behaviour. A masked radial-gradient
|
|
1656
|
+
catch-light rides the surface at (--specular-x, --specular-y), driven
|
|
1657
|
+
by the consumer's pointer-tracked --mouse-x/--mouse-y write. Registered
|
|
1658
|
+
as typed custom properties so the position INTERPOLATES smoothly between
|
|
1659
|
+
pointer samples (a bare unregistered var() snaps; the @property reg lets
|
|
1660
|
+
the engine animate the percentage stop).
|
|
1661
|
+
|
|
1662
|
+
• --specular-x / --specular-y (percentage) — the catch-light centre.
|
|
1663
|
+
`inherits: false` because each glass surface owns its own pointer
|
|
1664
|
+
position (a hovered parent must not push its specular onto a child —
|
|
1665
|
+
the no-glass-on-glass discipline made mechanical).
|
|
1666
|
+
|
|
1667
|
+
• --specular-intensity (number) — the catch-light alpha multiplier.
|
|
1668
|
+
`inherits: false` for the same per-surface-ownership reason; rises on
|
|
1669
|
+
hover/active, settles to its rest floor on leave.
|
|
1670
|
+
|
|
1671
|
+
@property crosses Baseline 2024-07-09. The consumption (the masked
|
|
1672
|
+
radial + the reduced-motion static bracket + the var() fallback) lives
|
|
1673
|
+
in glass-specular-track.css; the registrations live here alongside the
|
|
1674
|
+
other three regs so the typed-property tier has one home.
|
|
1675
|
+
═══════════════════════════════════════════════ */
|
|
1676
|
+
|
|
1677
|
+
@property --specular-x {
|
|
1678
|
+
syntax: "<percentage>";
|
|
1679
|
+
inherits: false;
|
|
1680
|
+
initial-value: 50%;
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
@property --specular-y {
|
|
1684
|
+
syntax: "<percentage>";
|
|
1685
|
+
inherits: false;
|
|
1686
|
+
initial-value: 50%;
|
|
1687
|
+
}
|
|
1688
|
+
|
|
1689
|
+
@property --specular-intensity {
|
|
1690
|
+
syntax: "<number>";
|
|
1691
|
+
inherits: false;
|
|
1692
|
+
initial-value: 0;
|
|
1693
|
+
}
|