@mkbabb/glass-ui 3.8.0 → 3.10.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 +1 -6
- package/dist/{CardAction-q2qHCJFG.js → CardAction-DuArVky-.js} +4 -4
- package/dist/{CommandShortcut-SzWRhROC.js → CommandShortcut-CefCj5mt.js} +7 -7
- package/dist/{ContextMenuSubContent-Do977Cbf.js → ContextMenuSubContent-Bhg4f5jX.js} +3 -3
- package/dist/{DataTable-CvlWXz65.js → DataTable-CUHMukiQ.js} +1 -1
- package/dist/{DialogContent-DjZWT3lK.js → DialogContent-BRkT1cjP.js} +1 -1
- package/dist/{MetricBadge-lTc002u2.js → MetricBadge-BZVWIxNy.js} +6 -4
- package/dist/{Notification-BxK8LZMw.js → Notification-DLMhblXR.js} +2 -2
- package/dist/{NumberFieldContent-CLNVR1iY.js → NumberFieldContent-BbLOh8RU.js} +2 -2
- package/dist/{SelectScrollDownButton-C7TRe-ep.js → SelectScrollDownButton-T32cVFeM.js} +3 -3
- package/dist/{SelectSeparator-L8pPEn4L.js → SelectSeparator-C4Ql0gzV.js} +1 -1
- package/dist/{Switch-LDKLmmgx.js → Switch-Ch-k3Rv-.js} +1 -1
- package/dist/{TabsList-qyHZ2lKY.js → TabsList-B8CVOQPC.js} +2 -2
- package/dist/{Toaster-CabYEEF_.js → Toaster-1rYWrmAm.js} +1 -1
- package/dist/{ToggleGroupItem-CkXUcBlt.js → ToggleGroupItem-Cev4pOVK.js} +4 -4
- package/dist/animated-digit.js +1 -1
- package/dist/api/index.d.ts +2 -1
- package/dist/api.js +1 -1
- package/dist/aurora.js +236 -545
- package/dist/{badge-DHQrc_GQ.js → badge-CaoFJzRb.js} +5 -5
- package/dist/badge.js +1 -1
- package/dist/{button-CAywcrhO.js → button-DN39cGqL.js} +13 -12
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +1 -1
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/{compile-BBTRjvQS.js → compile-BOXjLUxu.js} +24 -24
- package/dist/components/custom/aurora/composables/atoms.d.ts +21 -4
- package/dist/components/custom/aurora/composables/runtime.d.ts +0 -9
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +0 -11
- package/dist/components/custom/aurora/constants/renderMode.d.ts +0 -32
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -1
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -2
- package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -1
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +1 -1
- package/dist/components/custom/constellation/Constellation.vue.d.ts +73 -1
- package/dist/components/custom/constellation/constellationField.d.ts +255 -3
- package/dist/components/custom/constellation/index.d.ts +2 -2
- package/dist/components/custom/dock/DockSeparator.vue.d.ts +3 -0
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +4 -3
- package/dist/components/custom/dock/GlassDock.vue.d.ts +45 -63
- package/dist/components/custom/dock/composables/dockContext.d.ts +7 -0
- package/dist/components/custom/dock/index.d.ts +2 -1
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +29 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +6 -0
- package/dist/components/custom/fourier-field/index.d.ts +25 -1
- package/dist/components/custom/fourier-field/math.d.ts +3 -8
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +8 -10
- package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +19 -5
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +6 -14
- package/dist/components/custom/goo-blob/index.d.ts +1 -1
- package/dist/components/custom/goo-blob/types.d.ts +59 -25
- package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
- package/dist/components/custom/handmark/brush.d.ts +219 -0
- package/dist/components/custom/handmark/freehand.d.ts +69 -0
- package/dist/components/custom/handmark/geometry.d.ts +32 -0
- package/dist/components/custom/handmark/index.d.ts +21 -0
- package/dist/components/custom/handmark/ink.d.ts +11 -0
- package/dist/components/custom/handmark/texture.d.ts +39 -0
- package/dist/components/custom/handmark/types.d.ts +53 -0
- package/dist/components/custom/handmark/useHandMark.d.ts +66 -0
- package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +8 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +92 -0
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +49 -0
- package/dist/components/custom/tabs/index.d.ts +2 -5
- package/dist/components/ui/button/index.d.ts +1 -1
- package/dist/components/ui/card/Card.vue.d.ts +5 -3
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
- package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +3 -4
- package/dist/components/ui/slider/index.d.ts +22 -11
- package/dist/components/ui/tabs/TabsList.vue.d.ts +1 -1
- package/dist/composables/color/index.d.ts +12 -7
- package/dist/composables/context/createContext.d.ts +1 -1
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +1 -6
- package/dist/composables/motion/core/index.d.ts +1 -0
- package/dist/composables/motion/useRouteTransition.d.ts +42 -0
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +1 -1
- package/dist/constellation.js +212 -72
- package/dist/context-menu.js +1 -1
- package/dist/controls.js +1 -1
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck-progress.js +1 -1
- package/dist/dialog.js +1 -1
- package/dist/dock.js +257 -243
- package/dist/{dropdown-menu-B_4bWyyG.js → dropdown-menu-D77jX6Df.js} +3 -3
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +61 -38
- package/dist/forms.js +5 -5
- package/dist/fourier-field.js +89 -97
- package/dist/fourier-math.d.ts +1 -0
- package/dist/fourier-math.js +2 -0
- package/dist/glass-panel.js +1 -1
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +107 -109
- package/dist/goo-blob.js +316 -297
- package/dist/handmark.d.ts +1 -0
- package/dist/handmark.js +609 -0
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/keyboard.js +1 -1
- package/dist/labeled-field.js +5 -5
- package/dist/math-DTpRVC0e.js +27 -0
- package/dist/{menuItemVariants-DKM85SNE.js → menuItemVariants-CCoBNkU5.js} +1 -1
- package/dist/metric-badge.js +1 -1
- package/dist/metric-stack.js +1 -1
- package/dist/motion-core.js +70 -69
- package/dist/motion.js +2 -2
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +1 -1
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +4 -4
- package/dist/select.js +2 -2
- package/dist/{slider-D9puf-Ko.js → slider-CyzcxBoh.js} +6 -6
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +1 -1
- package/dist/status-dot.js +17 -16
- package/dist/styles/animations.css +80 -20
- package/dist/styles/cards.css +2 -2
- package/dist/styles/components.css +1 -1
- package/dist/styles/dock/density.css +230 -0
- package/dist/styles/dock/layer-group.css +275 -0
- package/dist/styles/dock/layers.css +355 -0
- package/dist/styles/dock/morph.css +244 -0
- package/dist/styles/dock/overflow.css +201 -0
- package/dist/styles/dock/shell.css +457 -0
- package/dist/styles/dock-controls.css +205 -55
- package/dist/styles/dock.css +42 -1349
- package/dist/styles/drawer.css +12 -4
- package/dist/styles/glass.css +535 -78
- package/dist/styles/index.css +12 -11
- package/dist/styles/paper.css +68 -2
- package/dist/styles/theme.css +58 -0
- package/dist/styles/tokens.css +601 -69
- package/dist/styles/transitions.css +20 -2
- package/dist/styles/utilities.css +218 -78
- package/dist/styles/view-transition.css +51 -0
- package/dist/switch.js +1 -1
- package/dist/tabs.js +182 -151
- package/dist/timeline.js +1 -1
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-Bcpy5Etf.js} +1 -1
- package/dist/{useConfiguratorState-CMff4GzH.js → useConfiguratorState-DxAqksK6.js} +21 -10
- package/dist/{useGlassRenderer-5I0YkI4t.js → useGlassRenderer-D7YGOYiM.js} +1 -1
- package/dist/useViewTransition-DaN5Zrox.js +21 -0
- package/dist/vReveal-zUIQk-rJ.js +53 -0
- package/dist/watercolor-dot.js +1 -1
- package/package.json +80 -39
- package/src/styles/animations.css +80 -20
- package/src/styles/cards.css +2 -2
- package/src/styles/dock/density.css +230 -0
- package/src/styles/dock/layer-group.css +275 -0
- package/src/styles/dock/layers.css +355 -0
- package/src/styles/dock/morph.css +244 -0
- package/src/styles/dock/overflow.css +201 -0
- package/src/styles/dock/shell.css +457 -0
- package/src/styles/dock-controls.css +205 -55
- package/src/styles/dock.css +42 -1349
- package/src/styles/drawer.css +12 -4
- package/src/styles/glass.css +535 -78
- package/src/styles/index.css +12 -11
- package/src/styles/paper.css +68 -2
- package/src/styles/theme.css +58 -0
- package/src/styles/tokens.css +601 -69
- package/src/styles/transitions.css +20 -2
- package/src/styles/utilities.css +218 -78
- package/src/styles/view-transition.css +51 -0
- package/dist/DiscoGlyph-CG0F410s.js +0 -132
- package/dist/GlyphFace-DRjDkB0s.js +0 -51
- package/dist/UnderlineTabs-Uxn-R3MT.js +0 -39
- package/dist/components/custom/aurora/composables/gpuRuntime.d.ts +0 -16
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +0 -7
- package/dist/components/custom/aurora/constants/shaders/painterly.wgsl.d.ts +0 -7
- package/dist/components/custom/aurora/constants/shaders/wake.wgsl.d.ts +0 -4
- package/dist/components/custom/disco-glyph/DiscoGlyph.vue.d.ts +0 -58
- package/dist/components/custom/disco-glyph/index.d.ts +0 -1
- package/dist/components/custom/glass-carousel/GlassCarousel.vue.d.ts +0 -36
- package/dist/components/custom/glass-carousel/GlassCarouselItem.vue.d.ts +0 -28
- package/dist/components/custom/glass-carousel/index.d.ts +0 -4
- package/dist/components/custom/glass-carousel/useGlassCarousel.d.ts +0 -30
- package/dist/components/custom/glyph-face/GlyphFace.vue.d.ts +0 -64
- package/dist/components/custom/glyph-face/index.d.ts +0 -2
- package/dist/components/custom/glyph-face/keys.d.ts +0 -9
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +0 -73
- package/dist/components/custom/responsive-tabs/index.d.ts +0 -2
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +0 -27
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +0 -60
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +0 -20
- package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +0 -39
- package/dist/composables/glass/createGPUCanvas.d.ts +0 -40
- package/dist/disco-glyph.d.ts +0 -1
- package/dist/disco-glyph.js +0 -2
- package/dist/glass-carousel.d.ts +0 -1
- package/dist/glass-carousel.js +0 -219
- package/dist/glyph-face.d.ts +0 -1
- package/dist/glyph-face.js +0 -3
- package/dist/keys-BsYjEFOW.js +0 -9
- package/dist/responsive-tabs.d.ts +0 -1
- package/dist/responsive-tabs.js +0 -95
- package/dist/styles/disco-glyph.css +0 -26
- package/dist/styles/glyph-face.css +0 -92
- package/dist/vReveal-CqaCz_mC.js +0 -44
- package/src/styles/disco-glyph.css +0 -26
- package/src/styles/glyph-face.css +0 -92
- /package/dist/{DeckProgress-AVgbIULY.js → DeckProgress-Dmk4_AKN.js} +0 -0
- /package/dist/{HoverPopover-D56O6Ylp.js → HoverPopover-2LOIW34a.js} +0 -0
- /package/dist/{IconTooltip-D2T5nYOM.js → IconTooltip-Cus0fvK0.js} +0 -0
- /package/dist/{Input-DVG_J0ne.js → Input-xuDwALQR.js} +0 -0
- /package/dist/{ScrollingText-CVyqxvfv.js → ScrollingText-BPP84wKo.js} +0 -0
- /package/dist/{color-DMLTunJK.js → color-C5ls_QF7.js} +0 -0
- /package/dist/{constants-BPOqYJAm.js → constants-yKeKnE84.js} +0 -0
- /package/dist/{presets-D1XPuTj-.js → presets-Dkdv55Gt.js} +0 -0
- /package/dist/{prng-COGhh02-.js → prng-D27-B3tK.js} +0 -0
- /package/dist/{useGlobalDark-D3EBWzXK.js → useGlobalDark-d6waty-X.js} +0 -0
- /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-Cck5Uxk8.js} +0 -0
- /package/dist/{useInterval-CcLfq2WU.js → useInterval-Dsmqwi03.js} +0 -0
- /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-CyIYrndH.js} +0 -0
- /package/dist/{useScrollProgress-C9ysDic5.js → useScrollProgress-CffFGLa5.js} +0 -0
- /package/dist/{useSortable-MGAbCGVJ.js → useSortable-C8ReQ50P.js} +0 -0
- /package/dist/{useTextHighlight-9nMW23Qb.js → useTextHighlight-CWEi25hf.js} +0 -0
package/src/styles/index.css
CHANGED
|
@@ -60,10 +60,15 @@
|
|
|
60
60
|
* over the glass tiers.
|
|
61
61
|
* 5. paper.css — paper underpaint + grain overlay utilities.
|
|
62
62
|
* Pairs with (4) for paper-on-glass compositions.
|
|
63
|
-
* 6. dock.css — dock
|
|
64
|
-
*
|
|
65
|
-
* comma-groups
|
|
66
|
-
* (
|
|
63
|
+
* 6. dock.css — the dock CORE: the `@property --dock-morph-t`
|
|
64
|
+
* registration, the shared cross-control four-state
|
|
65
|
+
* comma-groups, and the `@import`s of the cohesive
|
|
66
|
+
* `dock/*.css` partials (shell · morph · density ·
|
|
67
|
+
* layers · layer-group · overflow — AX.W06 carved
|
|
68
|
+
* the 1762-line god-module into single-axis partials,
|
|
69
|
+
* each < 500 lines, all in the SAME @layer components
|
|
70
|
+
* so the cascade is isomorphic). Component utility
|
|
71
|
+
* layer; consumes (1) + (3).
|
|
67
72
|
* 6b. dock-controls.css — the five dock CONTROL families carved out of
|
|
68
73
|
* dock.css (AU.W8b.3): .dock-icon-button,
|
|
69
74
|
* .dark-mode-toggle-button, .dock-tab-button + tiers,
|
|
@@ -99,13 +104,11 @@
|
|
|
99
104
|
* binding + bezel hairlines + sibling divider
|
|
100
105
|
* rule). Composes alongside instrument-chassis;
|
|
101
106
|
* shares the bezel-line twin-pixel idiom.
|
|
102
|
-
* 14.
|
|
103
|
-
* 15.
|
|
104
|
-
* 16. hover-popover.css — V.W3 popover-animation grammar.
|
|
105
|
-
* 17. drawer.css — AN.W3 detented bottom-sheet grammar (glass
|
|
107
|
+
* 14. hover-popover.css — V.W3 popover-animation grammar.
|
|
108
|
+
* 15. drawer.css — AN.W3 detented bottom-sheet grammar (glass
|
|
106
109
|
* sheet surface + peek handle + snap-stop rules).
|
|
107
110
|
*
|
|
108
|
-
* Per-package component CSS lives at (12)-(
|
|
111
|
+
* Per-package component CSS lives at (12)-(15) (loaded after utilities so
|
|
109
112
|
* component-local recipes can override). New per-package CSS files append
|
|
110
113
|
* to that tail.
|
|
111
114
|
*/
|
|
@@ -127,8 +130,6 @@
|
|
|
127
130
|
@import "./utilities.css";
|
|
128
131
|
@import "./instrument-chassis.css";
|
|
129
132
|
@import "./instrument-rail.css";
|
|
130
|
-
@import "./glyph-face.css";
|
|
131
|
-
@import "./disco-glyph.css";
|
|
132
133
|
@import "./hover-popover.css";
|
|
133
134
|
@import "./drawer.css";
|
|
134
135
|
|
package/src/styles/paper.css
CHANGED
|
@@ -7,8 +7,54 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Texture: feTurbulence baseFrequency 0.65, 4 octaves, desaturated via
|
|
9
9
|
* feColorMatrix, blended multiply (light) / soft-light (dark). Tiles ~60px.
|
|
10
|
+
*
|
|
11
|
+
* ── THE GRAIN RUNGS (D6.c M5 — the printed-paper tooth, FELT not seen) ─────────
|
|
12
|
+
* The warm-paper grain must be FELT at rest — a premium editorial stock has a
|
|
13
|
+
* felt depth, and the measured finding (ds2-medium M5 / fd-usf-gallery §F) is
|
|
14
|
+
* that the shipped `--glass-grain-opacity: 0.025` floor reads as NOTHING. This
|
|
15
|
+
* file lifts the grain off that floor and mints a SECOND rung for chart plates:
|
|
16
|
+
*
|
|
17
|
+
* --glass-grain-opacity — the PAGE grain. Lifted here to a perceptible-
|
|
18
|
+
* but-deft 0.038 default (the local floor below).
|
|
19
|
+
* Numeric justification: the kitsch line is
|
|
20
|
+
* ~0.05 (above it the grain reads as screen-noise
|
|
21
|
+
* / a dirty monitor, ds2-medium M5); 0.025 is
|
|
22
|
+
* sub-perceptual ("felt as nothing"). 0.038 is
|
|
23
|
+
* the calibrated MIDPOINT — ~1.5× the dead floor,
|
|
24
|
+
* ~0.76× the kitsch ceiling — felt at rest, never
|
|
25
|
+
* seen AS grain. (The canonical token still lives
|
|
26
|
+
* in tokens.css; this utility reads it with the
|
|
27
|
+
* lifted fallback so a no-override mount is felt.)
|
|
28
|
+
* --glass-grain-opacity-plate — the PLATE grain (NEW rung). A chart plate is
|
|
29
|
+
* the FIGURE's "paper", so it wants slightly more
|
|
30
|
+
* tooth than the page (M5): 0.045 — still below
|
|
31
|
+
* the 0.05 kitsch ceiling, distinctly felt so the
|
|
32
|
+
* plate reads as PRINTED on the same stock as the
|
|
33
|
+
* page, not pasted onto it.
|
|
34
|
+
*
|
|
35
|
+
* THE DATA-REGION MASK CONTRACT (M5, non-negotiable). Grain on the FRAME, never
|
|
36
|
+
* under the FIGURE — a fleck over a choropleth reads as a data artifact; on the
|
|
37
|
+
* plate margin it reads as paper. `paper-grain-overlay` exposes a custom-property
|
|
38
|
+
* MASK SLOT (`--paper-grain-mask`) so a consumer can carve the data viewport out
|
|
39
|
+
* of the grain ::after: set it to a gradient/`url()` that is transparent over the
|
|
40
|
+
* data region and opaque over the frame, and the grain is masked off the figure.
|
|
41
|
+
* Default `none` (the whole surface is grained — the page/card case, no data to
|
|
42
|
+
* fence). The plate rung is opt-in via `[data-grain="plate"]`.
|
|
10
43
|
*/
|
|
11
44
|
|
|
45
|
+
/* The grain rung DEFAULTS — lifted off the tokens.css floor (D6.c M5). These are
|
|
46
|
+
plain custom-property fallbacks the utilities read; a consumer/tokens.css value
|
|
47
|
+
still wins (`var(--glass-grain-opacity, <floor>)`), so this only sets the floor
|
|
48
|
+
a no-override mount inherits. The plate rung is minted here (no canonical
|
|
49
|
+
tokens.css home is touched in this lane — D6.b owns tokens.css). */
|
|
50
|
+
@layer components {
|
|
51
|
+
:root {
|
|
52
|
+
/* The PLATE grain rung — distinct from the page rung; the figure's paper
|
|
53
|
+
wants more tooth. Minted in this lane; a consumer overrides at :root. */
|
|
54
|
+
--glass-grain-opacity-plate: 0.045;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
12
58
|
@utility paper-underpaint {
|
|
13
59
|
position: fixed;
|
|
14
60
|
inset: 0;
|
|
@@ -17,7 +63,8 @@
|
|
|
17
63
|
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeBlend mode='multiply' in2='SourceGraphic'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
|
|
18
64
|
background-repeat: repeat;
|
|
19
65
|
background-size: 60px 60px;
|
|
20
|
-
|
|
66
|
+
/* Lifted floor — the page grain is FELT at rest (0.038), not the dead 0.025. */
|
|
67
|
+
opacity: var(--glass-grain-opacity, 0.038);
|
|
21
68
|
mix-blend-mode: multiply;
|
|
22
69
|
}
|
|
23
70
|
|
|
@@ -39,8 +86,27 @@
|
|
|
39
86
|
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeBlend mode='multiply' in2='SourceGraphic'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
|
|
40
87
|
background-repeat: repeat;
|
|
41
88
|
background-size: 60px 60px;
|
|
42
|
-
|
|
89
|
+
/* Lifted floor — felt on the frame at rest (0.038). */
|
|
90
|
+
opacity: var(--glass-grain-opacity, 0.038);
|
|
43
91
|
mix-blend-mode: overlay;
|
|
92
|
+
/* THE DATA-REGION MASK SLOT (M5). Default `none` = the whole surface is
|
|
93
|
+
grained (page/card — no data to fence). A consumer that grains a chart
|
|
94
|
+
plate sets `--paper-grain-mask` to a gradient/url() transparent over the
|
|
95
|
+
data viewport + opaque over the frame, carving the figure out of the
|
|
96
|
+
grain so no fleck lands on a tier fill. `mask` is Baseline; a
|
|
97
|
+
non-supporting engine ignores it and keeps the full-surface grain (the
|
|
98
|
+
page case is unaffected — the mask only matters when a consumer fences
|
|
99
|
+
the data region). */
|
|
100
|
+
mask: var(--paper-grain-mask, none);
|
|
101
|
+
-webkit-mask: var(--paper-grain-mask, none);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* The PLATE rung — a chart plate opts in via `[data-grain="plate"]` to the
|
|
105
|
+
higher-tooth `--glass-grain-opacity-plate` (the figure's paper reads as the
|
|
106
|
+
same stock as the page, with a touch more tooth). Pair with the mask slot to
|
|
107
|
+
fence the data viewport. */
|
|
108
|
+
&[data-grain="plate"]::after {
|
|
109
|
+
opacity: var(--glass-grain-opacity-plate, 0.045);
|
|
44
110
|
}
|
|
45
111
|
}
|
|
46
112
|
|
package/src/styles/theme.css
CHANGED
|
@@ -62,6 +62,50 @@
|
|
|
62
62
|
The density-scaled --dock-card-radius (dock.css) resolves through this. */
|
|
63
63
|
--radius-dock-card: var(--radius-3xl);
|
|
64
64
|
--radius-tooltip: var(--radius-lg);
|
|
65
|
+
|
|
66
|
+
/* ── AX.W56 — the corner-SHAPE axis (parallel to the corner-RADIUS ladder above).
|
|
67
|
+
`corner-shape` only changes the CURVE within the `border-radius` box; the
|
|
68
|
+
region is still the `--radius-*` token. These are plain @theme (the radius
|
|
69
|
+
siblings' rationale applies — each alias is its own override point, and the
|
|
70
|
+
semantic shapes are value-identical keywords that must not collapse under
|
|
71
|
+
inline). Chrome 139+ only (~65% global May 2026); the un-gated `border-radius`
|
|
72
|
+
round stays the cross-engine CONTRACT and the `@supports (corner-shape:
|
|
73
|
+
superellipse(2))` gate (glass.css/dock.css) is the PE tier. NEVER make
|
|
74
|
+
corner-shape the contract — Safari/Firefox have no positive signal through 2026.
|
|
75
|
+
|
|
76
|
+
Superellipse exponent (MDN authoritative): `superellipse(K)` paints
|
|
77
|
+
|x|^(2K) + |y|^(2K) = 1, so the curve exponent n = 2K. The CSS `squircle`
|
|
78
|
+
keyword == `superellipse(2)` == n=4 — the iOS-idiomatic web squircle. The
|
|
79
|
+
k-PRIMITIVE band (a consumer dials 1.7–2.4 to taste; W42's dock-morph calc()s
|
|
80
|
+
its animated k against this ONE vocabulary — do not re-define a second k). */
|
|
81
|
+
--corner-k-squircle: 2; /* the squircle — superellipse(2), n=4 */
|
|
82
|
+
--corner-k-soft: 1.7; /* gentler, between round and squircle — n≈3.4 */
|
|
83
|
+
--corner-k-sharp: 2.4; /* crisper square-bias for large surfaces — n≈4.8 */
|
|
84
|
+
|
|
85
|
+
/* Semantic per-surface SHAPE aliases — the rounded-vs-squircle POLICY.
|
|
86
|
+
Cards, pills/buttons, small docks, and panels stay ROUND (the superellipse is
|
|
87
|
+
imperceptible at a 16px card radius or a stadium pill — dropping it there is
|
|
88
|
+
visually free). The big-dock card shell (the large --radius-dock-card / 24px
|
|
89
|
+
surface) is the one site where the squircle READS — the iOS-26 idiom the dock
|
|
90
|
+
wants. A consumer opts an additional large-radius surface in by re-pointing its
|
|
91
|
+
`--corner-shape-<surface>` at `superellipse(var(--corner-k-squircle))`. */
|
|
92
|
+
--corner-shape-card: round;
|
|
93
|
+
--corner-shape-pill: round;
|
|
94
|
+
--corner-shape-panel: round;
|
|
95
|
+
--corner-shape-bigdock: superellipse(var(--corner-k-squircle));
|
|
96
|
+
/* AX.W56(R1) — the overlay-band glass surfaces W54 makes glass-default
|
|
97
|
+
(Dialog + Sheet content) ride the squircle alongside the big-dock. They
|
|
98
|
+
sit at the large `--radius-dialog` (16px) modal radius where the
|
|
99
|
+
superellipse READS — the same iOS-26 idiom. @supports-gated in glass.css
|
|
100
|
+
over the `border-radius` round CONTRACT; a consumer dials either back to
|
|
101
|
+
round by re-pointing the alias. */
|
|
102
|
+
--corner-shape-dialog: superellipse(var(--corner-k-squircle));
|
|
103
|
+
--corner-shape-sheet: superellipse(var(--corner-k-squircle));
|
|
104
|
+
/* AX.W59 — the spectrum slider's track-height thumb reads as a SQUIRCLE
|
|
105
|
+
(the iOS color-picker idiom). It rides the same --corner-k-squircle
|
|
106
|
+
vocabulary; @supports-gated in Slider.vue over a --radius-* round
|
|
107
|
+
fallback. A consumer dials it to round (a circular knob) or to soft. */
|
|
108
|
+
--corner-shape-thumb: superellipse(var(--corner-k-squircle));
|
|
65
109
|
}
|
|
66
110
|
|
|
67
111
|
@theme inline {
|
|
@@ -77,6 +121,13 @@
|
|
|
77
121
|
--text-subheading: var(--type-subheading);
|
|
78
122
|
--text-heading: var(--type-heading);
|
|
79
123
|
--text-title: var(--type-title);
|
|
124
|
+
/* AX.W50 D17 — the picker-family type-scale → `text-dropdown` /
|
|
125
|
+
`text-dropdown-secondary` utilities, bridging the `--dropdown-text` token pair
|
|
126
|
+
(tokens.css §10, a specialization of W51's `--control-text` comfort register)
|
|
127
|
+
so a Tailwind `text-dropdown` utility resolves the family scale. Mirrors the
|
|
128
|
+
`--text-small: var(--type-small)` ladder-bridge idiom above. */
|
|
129
|
+
--text-dropdown: var(--dropdown-text);
|
|
130
|
+
--text-dropdown-secondary: var(--dropdown-text-secondary);
|
|
80
131
|
--text-display: var(--type-display-1);
|
|
81
132
|
--text-display-1: var(--type-display-1);
|
|
82
133
|
--text-display-2: var(--type-display-2);
|
|
@@ -257,6 +308,13 @@
|
|
|
257
308
|
--color-gold: var(--gold);
|
|
258
309
|
--color-gold-light: var(--gold-light);
|
|
259
310
|
--color-gold-dark: var(--gold-dark);
|
|
311
|
+
--color-gold-deep: var(--gold-deep);
|
|
312
|
+
/* D6.b — the gilt family: the rim (gilt edge) + the legible gold ink. The
|
|
313
|
+
`@theme` bridge surfaces `text-gold-ink` / `border-gold-rim` utilities
|
|
314
|
+
beside the existing gold quad. `--gold-ink` clears cream-law ② on `--card`
|
|
315
|
+
in both arms (proof:gold-ink-contrast). */
|
|
316
|
+
--color-gold-rim: var(--gold-rim);
|
|
317
|
+
--color-gold-ink: var(--gold-ink);
|
|
260
318
|
|
|
261
319
|
--color-rainbow-red: var(--rainbow-red);
|
|
262
320
|
--color-rainbow-orange: var(--rainbow-orange);
|