@mkbabb/glass-ui 3.9.0 → 3.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CardAction-DuArVky-.js → CardAction-DrAcAV4d.js} +2 -2
- package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-mV2e1aG6.js} +2 -2
- package/dist/{DataTable-CUHMukiQ.js → DataTable-C3E6jZ5B.js} +2 -2
- package/dist/{DialogContent-BRkT1cjP.js → DialogContent-BxaaafFi.js} +1 -1
- package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CDA_SaCe.js} +1 -1
- package/dist/{MetricBadge-lTc002u2.js → MetricBadge-idgrkqoP.js} +1 -1
- package/dist/{Notification-BxK8LZMw.js → Notification-Cu0nN17_.js} +3 -3
- package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CHEWghnY.js} +2 -2
- package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-DpUvdYY-.js} +1 -1
- package/dist/{Progress-iEuD9pxG.js → Progress-BW-StFw2.js} +1 -1
- package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DruYCni_.js} +1 -1
- package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-pirzjm--.js} +3 -3
- package/dist/{Switch-LDKLmmgx.js → Switch-DeAqg6pi.js} +1 -1
- package/dist/{TabsList-B8CVOQPC.js → TabsList-BAVzOZpg.js} +2 -2
- package/dist/{Toaster-1rYWrmAm.js → Toaster-CvuuW_y9.js} +49 -46
- package/dist/{ToggleGroupItem-Cev4pOVK.js → ToggleGroupItem-DtD37b4G.js} +4 -4
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +4 -4
- package/dist/api.js +1 -1
- package/dist/aurora.js +238 -547
- package/dist/{badge-BvwvT50i.js → badge-NdCQMvvB.js} +2 -2
- package/dist/badge.js +1 -1
- package/dist/{button-DN39cGqL.js → button-DyiWFAOE.js} +12 -12
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -2
- package/dist/card.js +1 -1
- package/dist/carousel.js +5 -5
- package/dist/collapsible.js +1 -1
- package/dist/{color-8jBjWiJ6.js → color-B65wWyQz.js} +9 -7
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/{compile-DAjIoEy2.js → compile-Ce_V55zi.js} +23 -23
- 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/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/constellation/Constellation.vue.d.ts +85 -1
- package/dist/components/custom/constellation/composables/createConstellationField.d.ts +35 -0
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
- package/dist/components/custom/constellation/constants.d.ts +36 -0
- package/dist/components/custom/constellation/constellationDraw.d.ts +18 -0
- package/dist/components/custom/constellation/constellationField.d.ts +174 -63
- package/dist/components/custom/constellation/constellationInteraction.d.ts +102 -0
- package/dist/components/custom/constellation/index.d.ts +4 -2
- package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +2 -110
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
- package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +131 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
- package/dist/components/custom/dock/constants.d.ts +23 -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 +20 -8
- package/dist/components/custom/fourier-field/presets.d.ts +54 -0
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +8 -10
- package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +16 -21
- package/dist/components/custom/goo-blob/constants.d.ts +52 -0
- package/dist/components/custom/goo-blob/index.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/types.d.ts +59 -25
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
- package/dist/components/custom/tabs/constants.d.ts +12 -0
- package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
- package/dist/components/custom/underline/index.d.ts +2 -0
- package/dist/components/custom/underline/types.d.ts +56 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
- package/dist/components/ui/slider/index.d.ts +25 -18
- package/dist/components/ui/toast/use-toast.d.ts +2 -2
- package/dist/composables/color/index.d.ts +24 -7
- package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +1 -6
- package/dist/composables/motion/curves.d.ts +48 -0
- package/dist/composables/motion/index.d.ts +2 -0
- package/dist/composables/motion/springPresets.d.ts +33 -0
- package/dist/composables/motion/suite.d.ts +2 -0
- package/dist/composables/motion/useSpringMount.d.ts +1 -1
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +2 -2
- package/dist/constellation.js +322 -147
- package/dist/controls.js +48 -14
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +340 -327
- package/dist/dockContext-bho8B1A4.js +17 -0
- package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DVnQcA0E.js} +7 -4
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +1 -1
- package/dist/forms.js +2 -2
- package/dist/fourier-field.js +147 -120
- package/dist/fourier-math.d.ts +1 -0
- package/dist/fourier-math.js +2 -0
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +286 -207
- package/dist/goo-blob.js +368 -322
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/keyboard.js +1 -1
- package/dist/labeled-field.js +5 -5
- package/dist/math-BUU9hHID.js +43 -0
- package/dist/metric-badge.js +1 -1
- package/dist/metric-stack.js +2 -2
- package/dist/motion-core.js +4 -4
- package/dist/motion-curves.d.ts +1 -0
- package/dist/motion-curves.js +130 -0
- package/dist/motion.js +38 -37
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/progress.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 +6 -6
- package/dist/select.js +1 -1
- package/dist/{sheet-VZEtNFvO.js → sheet-ChSXcJpU.js} +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DC2mwuoe.js → slider-sfl8gFDD.js} +8 -8
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +2 -2
- package/dist/springPresets-aRSm-4_k.js +40 -0
- package/dist/stacked-icons.js +6 -6
- package/dist/styles/cards.css +2 -2
- package/dist/styles/components.css +1 -1
- package/dist/styles/dock/layer-group.css +38 -4
- package/dist/styles/dock/layers.css +11 -1
- package/dist/styles/dock/morph.css +95 -19
- package/dist/styles/dock/shell.css +12 -0
- package/dist/styles/dock-controls.css +25 -12
- package/dist/styles/drawer.css +14 -4
- package/dist/styles/floating-panel.css +2 -0
- package/dist/styles/glass/a11y-fallback.css +245 -0
- package/dist/styles/glass/ladder.css +304 -0
- package/dist/styles/glass/material.css +238 -0
- package/dist/styles/glass/progress-rail.css +78 -0
- package/dist/styles/glass/squircle.css +66 -0
- package/dist/styles/glass/surfaces.css +306 -0
- package/dist/styles/glass-refract.css +2 -0
- package/dist/styles/glass.css +31 -1052
- package/dist/styles/hover-popover.css +2 -0
- package/dist/styles/index.css +24 -6
- package/dist/styles/instrument-chassis.css +4 -0
- package/dist/styles/theme.css +14 -14
- package/dist/styles/tokens/color-radius.css +250 -0
- package/dist/styles/tokens/dark-arm.css +194 -0
- package/dist/styles/tokens/glass.css +413 -0
- package/dist/styles/tokens/light-dark.css +158 -0
- package/dist/styles/tokens/offsets-sizing.css +406 -0
- package/dist/styles/tokens/property-regs.css +169 -0
- package/dist/styles/tokens/scale-paper.css +361 -0
- package/dist/styles/tokens/scheme-motion.css +334 -0
- package/dist/styles/tokens/shadow.css +132 -0
- package/dist/styles/tokens.css +22 -2269
- package/dist/styles/transitions.css +20 -2
- package/dist/styles/typography.css +18 -6
- package/dist/styles/utilities/a11y-overrides.css +140 -0
- package/dist/styles/utilities/animate.css +26 -0
- package/dist/styles/utilities/base.css +365 -0
- package/dist/styles/utilities/btn.css +399 -0
- package/dist/styles/utilities/components.css +317 -0
- package/dist/styles/utilities.css +19 -1170
- package/dist/switch.js +1 -1
- package/dist/tabs.js +98 -98
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/underline.d.ts +1 -0
- package/dist/underline.js +85 -0
- package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-DfVgP4te.js} +1 -1
- package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-BdQXh9ie.js} +1 -1
- package/dist/useSpecularTracking-DFK_fhpG.js +32 -0
- package/dist/useSpringMount-DXUzxBjV.js +108 -0
- package/dist/watercolor-dot.js +2 -2
- package/package.json +62 -38
- package/src/styles/cards.css +2 -2
- package/src/styles/dock/layer-group.css +38 -4
- package/src/styles/dock/layers.css +11 -1
- package/src/styles/dock/morph.css +95 -19
- package/src/styles/dock/shell.css +12 -0
- package/src/styles/dock-controls.css +25 -12
- package/src/styles/drawer.css +12 -4
- package/src/styles/glass/a11y-fallback.css +245 -0
- package/src/styles/glass/ladder.css +304 -0
- package/src/styles/glass/material.css +238 -0
- package/src/styles/glass/progress-rail.css +78 -0
- package/src/styles/glass/squircle.css +66 -0
- package/src/styles/glass/surfaces.css +306 -0
- package/src/styles/glass.css +31 -1052
- package/src/styles/index.css +24 -6
- package/src/styles/theme.css +14 -14
- package/src/styles/tokens/color-radius.css +250 -0
- package/src/styles/tokens/dark-arm.css +194 -0
- package/src/styles/tokens/glass.css +413 -0
- package/src/styles/tokens/light-dark.css +158 -0
- package/src/styles/tokens/offsets-sizing.css +406 -0
- package/src/styles/tokens/property-regs.css +169 -0
- package/src/styles/tokens/scale-paper.css +361 -0
- package/src/styles/tokens/scheme-motion.css +334 -0
- package/src/styles/tokens/shadow.css +132 -0
- package/src/styles/tokens.css +22 -2269
- package/src/styles/transitions.css +20 -2
- package/src/styles/typography.css +18 -6
- package/src/styles/utilities/a11y-overrides.css +140 -0
- package/src/styles/utilities/animate.css +26 -0
- package/src/styles/utilities/base.css +365 -0
- package/src/styles/utilities/btn.css +399 -0
- package/src/styles/utilities/components.css +317 -0
- package/src/styles/utilities.css +19 -1170
- package/dist/DeckProgress-Dmk4_AKN.js +0 -23
- package/dist/InstrumentRail-CUJ05YVG.js +0 -44
- 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/deck-progress/DeckProgress.vue.d.ts +0 -27
- package/dist/components/custom/deck-progress/index.d.ts +0 -2
- package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
- package/dist/components/custom/dialog-native/index.d.ts +0 -1
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +0 -41
- package/dist/components/custom/glass-panel/index.d.ts +0 -2
- package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
- package/dist/components/custom/header-ribbon/index.d.ts +0 -2
- package/dist/components/custom/header-ribbon/types.d.ts +0 -7
- package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
- package/dist/components/custom/instrument-rail/index.d.ts +0 -2
- package/dist/composables/glass/createGPUCanvas.d.ts +0 -40
- package/dist/deck-progress.d.ts +0 -1
- package/dist/deck-progress.js +0 -2
- package/dist/dockContext-BKeIMmNk.js +0 -9
- package/dist/glass-panel.d.ts +0 -1
- package/dist/glass-panel.js +0 -44
- package/dist/header-ribbon.d.ts +0 -1
- package/dist/header-ribbon.js +0 -63
- package/dist/instrument-rail.d.ts +0 -1
- package/dist/instrument-rail.js +0 -2
- package/dist/useGlassRenderer-5I0YkI4t.js +0 -69
- package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
- package/dist/useSpringMount-BJSHcLl3.js +0 -113
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-Drow5WkV.js} +0 -0
- /package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-DufLHi0y.js} +0 -0
- /package/dist/{IconTooltip-yefK7cJc.js → IconTooltip-BrQ5p181.js} +0 -0
- /package/dist/{Input-DWQQIOC4.js → Input-B-F818RU.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-DWghtRt7.js} +0 -0
- /package/dist/{constants-CS75AWHG.js → constants-C8NMonuo.js} +0 -0
- /package/dist/{presets-BKVyQfbt.js → presets-1OhFpaIC.js} +0 -0
- /package/dist/{prng-wHuHlNHE.js → prng-CjVgzjQT.js} +0 -0
- /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CRvVzOvP.js} +0 -0
- /package/dist/{useCanvas2D-ClrQuZtp.js → useCanvas2D-CSeH8h16.js} +0 -0
- /package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-D7R9OypB.js} +0 -0
- /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-DAdVPVp4.js} +0 -0
- /package/dist/{useInterval-Dsmqwi03.js → useInterval-D3USn0yc.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-i8tHd5WO.js} +0 -0
- /package/dist/{useScrollProgress-CAH8Ofwt.js → useScrollProgress-CcgmgMQt.js} +0 -0
- /package/dist/{useSortable-C8ReQ50P.js → useSortable-DnyGXKKY.js} +0 -0
- /package/dist/{useTextHighlight-DON84L8w.js → useTextHighlight-B3b10W6r.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mkbabb/glass-ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.10.1",
|
|
4
4
|
"description": "Glassmorphic design system — Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -58,6 +58,9 @@
|
|
|
58
58
|
"fourier-field": [
|
|
59
59
|
"dist/fourier-field.d.ts"
|
|
60
60
|
],
|
|
61
|
+
"fourier-math": [
|
|
62
|
+
"dist/fourier-math.d.ts"
|
|
63
|
+
],
|
|
61
64
|
"goo-blob": [
|
|
62
65
|
"dist/goo-blob.d.ts"
|
|
63
66
|
],
|
|
@@ -76,9 +79,6 @@
|
|
|
76
79
|
"status-dot": [
|
|
77
80
|
"dist/status-dot.d.ts"
|
|
78
81
|
],
|
|
79
|
-
"deck-progress": [
|
|
80
|
-
"dist/deck-progress.d.ts"
|
|
81
|
-
],
|
|
82
82
|
"pulse": [
|
|
83
83
|
"dist/pulse.d.ts"
|
|
84
84
|
],
|
|
@@ -88,9 +88,6 @@
|
|
|
88
88
|
"toggle-chip": [
|
|
89
89
|
"dist/toggle-chip.d.ts"
|
|
90
90
|
],
|
|
91
|
-
"glass-panel": [
|
|
92
|
-
"dist/glass-panel.d.ts"
|
|
93
|
-
],
|
|
94
91
|
"sortable-list": [
|
|
95
92
|
"dist/sortable-list.d.ts"
|
|
96
93
|
],
|
|
@@ -109,24 +106,21 @@
|
|
|
109
106
|
"instrument-chassis": [
|
|
110
107
|
"dist/instrument-chassis.d.ts"
|
|
111
108
|
],
|
|
112
|
-
"instrument-rail": [
|
|
113
|
-
"dist/instrument-rail.d.ts"
|
|
114
|
-
],
|
|
115
109
|
"hover-popover": [
|
|
116
110
|
"dist/hover-popover.d.ts"
|
|
117
111
|
],
|
|
118
112
|
"configurator": [
|
|
119
113
|
"dist/configurator.d.ts"
|
|
120
114
|
],
|
|
121
|
-
"header-ribbon": [
|
|
122
|
-
"dist/header-ribbon.d.ts"
|
|
123
|
-
],
|
|
124
115
|
"constellation": [
|
|
125
116
|
"dist/constellation.d.ts"
|
|
126
117
|
],
|
|
127
118
|
"scrolling-text": [
|
|
128
119
|
"dist/scrolling-text.d.ts"
|
|
129
120
|
],
|
|
121
|
+
"underline": [
|
|
122
|
+
"dist/underline.d.ts"
|
|
123
|
+
],
|
|
130
124
|
"forms": [
|
|
131
125
|
"dist/forms.d.ts"
|
|
132
126
|
],
|
|
@@ -151,6 +145,9 @@
|
|
|
151
145
|
"motion-core": [
|
|
152
146
|
"dist/motion-core.d.ts"
|
|
153
147
|
],
|
|
148
|
+
"motion-curves": [
|
|
149
|
+
"dist/motion-curves.d.ts"
|
|
150
|
+
],
|
|
154
151
|
"button": [
|
|
155
152
|
"dist/button.d.ts"
|
|
156
153
|
],
|
|
@@ -297,6 +294,10 @@
|
|
|
297
294
|
"types": "./dist/fourier-field.d.ts",
|
|
298
295
|
"import": "./dist/fourier-field.js"
|
|
299
296
|
},
|
|
297
|
+
"./fourier-math": {
|
|
298
|
+
"types": "./dist/fourier-math.d.ts",
|
|
299
|
+
"import": "./dist/fourier-math.js"
|
|
300
|
+
},
|
|
300
301
|
"./goo-blob": {
|
|
301
302
|
"types": "./dist/goo-blob.d.ts",
|
|
302
303
|
"import": "./dist/goo-blob.js"
|
|
@@ -309,10 +310,6 @@
|
|
|
309
310
|
"types": "./dist/configurator.d.ts",
|
|
310
311
|
"import": "./dist/configurator.js"
|
|
311
312
|
},
|
|
312
|
-
"./header-ribbon": {
|
|
313
|
-
"types": "./dist/header-ribbon.d.ts",
|
|
314
|
-
"import": "./dist/header-ribbon.js"
|
|
315
|
-
},
|
|
316
313
|
"./constellation": {
|
|
317
314
|
"types": "./dist/constellation.d.ts",
|
|
318
315
|
"import": "./dist/constellation.js"
|
|
@@ -337,10 +334,6 @@
|
|
|
337
334
|
"types": "./dist/status-dot.d.ts",
|
|
338
335
|
"import": "./dist/status-dot.js"
|
|
339
336
|
},
|
|
340
|
-
"./deck-progress": {
|
|
341
|
-
"types": "./dist/deck-progress.d.ts",
|
|
342
|
-
"import": "./dist/deck-progress.js"
|
|
343
|
-
},
|
|
344
337
|
"./pulse": {
|
|
345
338
|
"types": "./dist/pulse.d.ts",
|
|
346
339
|
"import": "./dist/pulse.js"
|
|
@@ -353,10 +346,6 @@
|
|
|
353
346
|
"types": "./dist/toggle-chip.d.ts",
|
|
354
347
|
"import": "./dist/toggle-chip.js"
|
|
355
348
|
},
|
|
356
|
-
"./glass-panel": {
|
|
357
|
-
"types": "./dist/glass-panel.d.ts",
|
|
358
|
-
"import": "./dist/glass-panel.js"
|
|
359
|
-
},
|
|
360
349
|
"./sortable-list": {
|
|
361
350
|
"types": "./dist/sortable-list.d.ts",
|
|
362
351
|
"import": "./dist/sortable-list.js"
|
|
@@ -381,10 +370,6 @@
|
|
|
381
370
|
"types": "./dist/instrument-chassis.d.ts",
|
|
382
371
|
"import": "./dist/instrument-chassis.js"
|
|
383
372
|
},
|
|
384
|
-
"./instrument-rail": {
|
|
385
|
-
"types": "./dist/instrument-rail.d.ts",
|
|
386
|
-
"import": "./dist/instrument-rail.js"
|
|
387
|
-
},
|
|
388
373
|
"./hover-popover": {
|
|
389
374
|
"types": "./dist/hover-popover.d.ts",
|
|
390
375
|
"import": "./dist/hover-popover.js"
|
|
@@ -393,6 +378,10 @@
|
|
|
393
378
|
"types": "./dist/scrolling-text.d.ts",
|
|
394
379
|
"import": "./dist/scrolling-text.js"
|
|
395
380
|
},
|
|
381
|
+
"./underline": {
|
|
382
|
+
"types": "./dist/underline.d.ts",
|
|
383
|
+
"import": "./dist/underline.js"
|
|
384
|
+
},
|
|
396
385
|
"./forms": {
|
|
397
386
|
"types": "./dist/forms.d.ts",
|
|
398
387
|
"import": "./dist/forms.js"
|
|
@@ -421,6 +410,10 @@
|
|
|
421
410
|
"types": "./dist/motion-core.d.ts",
|
|
422
411
|
"import": "./dist/motion-core.js"
|
|
423
412
|
},
|
|
413
|
+
"./motion-curves": {
|
|
414
|
+
"types": "./dist/motion-curves.d.ts",
|
|
415
|
+
"import": "./dist/motion-curves.js"
|
|
416
|
+
},
|
|
424
417
|
"./button": {
|
|
425
418
|
"types": "./dist/button.d.ts",
|
|
426
419
|
"import": "./dist/button.js"
|
|
@@ -554,6 +547,9 @@
|
|
|
554
547
|
"proof:phantom-classes": "node scripts/proof-phantom-classes.mjs",
|
|
555
548
|
"proof:vt-names": "node scripts/proof-vt-names.mjs",
|
|
556
549
|
"proof:dock-animation-live": "node scripts/proof-dock-animation-live.mjs",
|
|
550
|
+
"proof:dock-rail-cohesion": "node scripts/proof-dock-rail-cohesion.mjs",
|
|
551
|
+
"proof:dock-lockstep-bornred": "node scripts/proof-dock-lockstep-bornred.mjs",
|
|
552
|
+
"proof:dock-items-lag-capture": "node scripts/proof-dock-items-lag-capture.mjs",
|
|
557
553
|
"proof:dock-orchestrator-single": "node scripts/proof-dock-orchestrator-single.mjs",
|
|
558
554
|
"proof:dock-clip-reveal": "node scripts/proof-dock-clip-reveal.mjs",
|
|
559
555
|
"proof:dock-layering-polish": "node scripts/proof-dock-layering-polish.mjs",
|
|
@@ -568,6 +564,7 @@
|
|
|
568
564
|
"proof:dock-css-carve": "node scripts/proof-dock-css-carve.mjs",
|
|
569
565
|
"proof:dock-css-split": "node scripts/proof-dock-controls-split.mjs",
|
|
570
566
|
"proof:design-idiom-localization": "node scripts/proof-design-idiom-localization.mjs",
|
|
567
|
+
"proof:colocation": "node scripts/proof-colocation.mjs",
|
|
571
568
|
"proof:tailwind-v4-idiom": "node scripts/proof-tailwind-v4-idiom.mjs",
|
|
572
569
|
"proof:au-w9-consumers": "node scripts/proof-au-w9-consumers.mjs",
|
|
573
570
|
"proof:shadow-contract": "node scripts/proof-shadow-contract.mjs",
|
|
@@ -575,8 +572,10 @@
|
|
|
575
572
|
"proof:card-cartoon-consumers": "node scripts/proof-card-cartoon-consumers.mjs",
|
|
576
573
|
"proof:doc-consistency": "node scripts/proof-doc-consistency.mjs",
|
|
577
574
|
"proof:au-w0-reground": "node scripts/proof-au-w0-reground.mjs",
|
|
575
|
+
"proof:ay-w0-reground": "node scripts/proof-ay-w0-reground.mjs",
|
|
578
576
|
"proof:au-w1-design": "node scripts/proof-au-w1-design.mjs",
|
|
579
577
|
"proof:au-final": "node scripts/proof-au-final.mjs",
|
|
578
|
+
"proof:ay-final": "node scripts/proof-ay-final.mjs",
|
|
580
579
|
"proof:strict-templates": "node scripts/proof-strict-templates.mjs",
|
|
581
580
|
"proof:peer-optional": "node scripts/proof-peer-optional.mjs",
|
|
582
581
|
"proof:vueuse-free-root": "node scripts/proof-vueuse-free-root.mjs",
|
|
@@ -598,7 +597,7 @@
|
|
|
598
597
|
"proof:blob-value-free": "node scripts/proof-blob-value-free.mjs",
|
|
599
598
|
"proof:motion-composables-consumer": "node scripts/proof-motion-composables-consumer.mjs",
|
|
600
599
|
"proof:motion-value-free": "node scripts/proof-motion-value-free.mjs",
|
|
601
|
-
"proof:
|
|
600
|
+
"proof:motion-suite": "node scripts/proof-motion-suite.mjs",
|
|
602
601
|
"proof:blob-space-gamma": "node scripts/proof-blob-space-gamma.mjs",
|
|
603
602
|
"proof:blob-smin-normalized": "node scripts/proof-blob-smin-normalized.mjs",
|
|
604
603
|
"proof:blob-gradient-unit-length": "node scripts/proof-blob-gradient-unit-length.mjs",
|
|
@@ -616,18 +615,22 @@
|
|
|
616
615
|
"proof:aurora-oilpastel-medium": "node scripts/proof-aurora-oilpastel-medium.mjs",
|
|
617
616
|
"proof:aurora-stroke-composite": "node scripts/proof-aurora-stroke-composite.mjs",
|
|
618
617
|
"proof:aurora-painterly-statistics": "node scripts/proof-aurora-painterly-statistics.mjs",
|
|
618
|
+
"proof:aurora-arresting-ref": "node scripts/aurora-arresting-metric.mjs tests-visual/fixtures/starry-night-crop.png",
|
|
619
619
|
"proof:aurora-atoms-roundtrip": "node scripts/proof-aurora-atoms-roundtrip.mjs",
|
|
620
|
-
"proof:
|
|
621
|
-
"proof:aurora-
|
|
622
|
-
"proof:aurora-
|
|
623
|
-
"proof:
|
|
624
|
-
"proof:aurora-webgpu-render": "node scripts/proof-aurora-webgpu-render.mjs",
|
|
620
|
+
"proof:aur2-residue": "node scripts/proof-aur2-residue.mjs",
|
|
621
|
+
"proof:aurora-arresting": "node scripts/proof-aurora-arresting.mjs",
|
|
622
|
+
"proof:aurora-atoms-render": "node scripts/proof-aurora-atoms-render.mjs",
|
|
623
|
+
"proof:aurora-studio": "node scripts/proof-aurora-studio.mjs",
|
|
625
624
|
"proof:aurora-interaction-prm": "node scripts/proof-aurora-interaction-prm.mjs",
|
|
626
625
|
"proof:shader-shared-source": "node scripts/proof-shader-shared-source.mjs",
|
|
627
626
|
"proof:blob-color-equivalence": "vitest run tests/components/custom/goo-blob/blob-color-equivalence.test.ts",
|
|
628
627
|
"proof:fail-explicit": "node scripts/proof-fail-explicit.mjs",
|
|
629
628
|
"proof:no-god-module": "node scripts/proof-no-god-module.mjs",
|
|
629
|
+
"proof:composable-return-types": "node scripts/proof-composable-return-types.mjs",
|
|
630
630
|
"proof:no-legacy-commentary": "node scripts/proof-no-legacy-commentary.mjs",
|
|
631
|
+
"proof:no-retired-survivor": "node scripts/proof-no-retired-survivor.mjs",
|
|
632
|
+
"proof:tag-parity": "node scripts/proof-tag-parity.mjs",
|
|
633
|
+
"proof:var-in-arbitrary-guard": "node scripts/proof-var-in-arbitrary-guard.mjs",
|
|
631
634
|
"proof:story-language": "node scripts/proof-story-language.mjs",
|
|
632
635
|
"proof:gate-detrap": "node scripts/proof-gate-detrap.mjs",
|
|
633
636
|
"proof:liquid-glass-tokens": "node scripts/proof-liquid-glass-tokens.mjs",
|
|
@@ -640,6 +643,11 @@
|
|
|
640
643
|
"proof:constellation-substrate-single": "node scripts/proof-constellation-substrate-single.mjs",
|
|
641
644
|
"proof:constellation-tokens": "node scripts/proof-constellation-tokens.mjs",
|
|
642
645
|
"proof:constellation-warp-live": "node scripts/proof-constellation-warp-live.mjs",
|
|
646
|
+
"proof:constellation-egg-live": "node scripts/proof-constellation-egg-live.mjs",
|
|
647
|
+
"proof:constellation-freeze-live": "node scripts/proof-constellation-freeze-live.mjs",
|
|
648
|
+
"proof:fourier-field-intensity": "node scripts/proof-fourier-field-intensity.mjs",
|
|
649
|
+
"proof:fourier-field-visibility-live": "node scripts/proof-fourier-field-visibility-live.mjs",
|
|
650
|
+
"proof:constellation-refit-live": "node scripts/proof-constellation-refit-live.mjs",
|
|
643
651
|
"proof:canvas2d-substrate": "vitest run tests/composables/glass/canvas2d/useCanvas2D.test.ts",
|
|
644
652
|
"proof:resolve-canvas-color": "vitest run tests/composables/glass/canvas2d/resolveCanvasColor.test.ts",
|
|
645
653
|
"proof:text-highlight": "vitest run tests/composables/motion/text-highlight-home.test.ts tests/composables/motion/useTextHighlight.test.ts",
|
|
@@ -656,13 +664,26 @@
|
|
|
656
664
|
"proof:aurora-chrome-idiomatic": "node scripts/proof-aurora-chrome-idiomatic.mjs",
|
|
657
665
|
"proof:aurora-preset-roster": "node scripts/proof-aurora-preset-roster.mjs",
|
|
658
666
|
"proof:ui-scale": "node scripts/proof-ui-scale.mjs",
|
|
667
|
+
"proof:touch-target": "node scripts/proof-touch-target.mjs",
|
|
668
|
+
"proof:webkit-backdrop": "node scripts/proof-webkit-backdrop.mjs",
|
|
669
|
+
"proof:nested-backdrop-budget": "node scripts/proof-nested-backdrop-budget.mjs",
|
|
659
670
|
"proof:dropdown-type-scale": "node scripts/proof-dropdown-type-scale.mjs",
|
|
660
671
|
"proof:forced-colors-skin": "node scripts/proof-forced-colors-skin.mjs",
|
|
661
|
-
"proof:glass-
|
|
672
|
+
"proof:glass-cohesion": "node scripts/proof-glass-cohesion.mjs",
|
|
673
|
+
"proof:substrate-cohesion": "node scripts/proof-substrate-cohesion.mjs",
|
|
674
|
+
"proof:component-orphan": "node scripts/proof-component-orphan.mjs",
|
|
675
|
+
"proof:substrate-staging": "node scripts/proof-substrate-staging.mjs",
|
|
676
|
+
"proof:easter-eggs": "node scripts/proof-easter-eggs.mjs",
|
|
677
|
+
"proof:instrument-scope": "node scripts/proof-instrument-scope.mjs",
|
|
678
|
+
"proof:readme-meta-clean": "node scripts/proof-readme-meta-clean.mjs",
|
|
679
|
+
"proof:convergence-fit-coherent": "node scripts/proof-convergence-fit-coherent.mjs",
|
|
662
680
|
"proof:adaptive-glass": "node scripts/proof-adaptive-glass.mjs",
|
|
663
681
|
"proof:dark-semantic-contrast": "node scripts/proof-dark-semantic-contrast.mjs",
|
|
664
682
|
"proof:glass-material-demo": "node scripts/proof-glass-material-demo.mjs",
|
|
665
683
|
"proof:blob-live-truth": "node scripts/proof-blob-live-truth.mjs",
|
|
684
|
+
"proof:blob-config-atoms": "node scripts/proof-blob-config-atoms.mjs",
|
|
685
|
+
"proof:blob3-strip": "node scripts/proof-blob3-strip.mjs",
|
|
686
|
+
"proof:blob-config": "node scripts/proof-blob-config.mjs",
|
|
666
687
|
"proof:tabs-unified": "node scripts/proof-tabs-unified.mjs",
|
|
667
688
|
"proof:glass-material-sota": "node scripts/proof-glass-material-sota.mjs",
|
|
668
689
|
"proof:primitive-affordance": "node scripts/proof-primitive-affordance.mjs",
|
|
@@ -673,10 +694,13 @@
|
|
|
673
694
|
"proof:substrate-paints-color": "node scripts/proof-substrate-paints-color.mjs",
|
|
674
695
|
"proof:deck-progress-rail": "node scripts/proof-deck-progress-rail.mjs",
|
|
675
696
|
"proof:blob-render": "node scripts/proof-blob-render.mjs",
|
|
697
|
+
"proof:blob-warm-default": "node scripts/proof-blob-warm-default.mjs",
|
|
676
698
|
"proof:blob-integration": "node scripts/proof-blob-integration.mjs",
|
|
677
699
|
"proof:gate-script-parity": "node scripts/proof-gate-script-parity.mjs",
|
|
678
700
|
"proof:all": "node scripts/gates.mjs --run local",
|
|
679
|
-
"proof:live-verified-ledger": "node scripts/proof-live-verified-ledger.mjs",
|
|
701
|
+
"proof:live-verified-ledger": "node scripts/proof-live-verified-ledger.mjs --tranche=AY",
|
|
702
|
+
"proof:live-verified-ledger:ay": "node scripts/proof-live-verified-ledger.mjs --tranche=AY",
|
|
703
|
+
"proof:live-verified-ledger:ax": "node scripts/proof-live-verified-ledger.mjs --tranche=AX",
|
|
680
704
|
"proof:disposition-live": "node scripts/proof-disposition-live.mjs",
|
|
681
705
|
"proof:gen-ci-fresh": "node scripts/proof-gen-ci-fresh.mjs",
|
|
682
706
|
"gates:verify-ci": "node scripts/gates.mjs --verify-ci",
|
|
@@ -724,7 +748,7 @@
|
|
|
724
748
|
},
|
|
725
749
|
"devDependencies": {
|
|
726
750
|
"@lucide/vue": "^1.16.0",
|
|
727
|
-
"@mkbabb/keyframes.js": "^
|
|
751
|
+
"@mkbabb/keyframes.js": "^4.1.0",
|
|
728
752
|
"@mkbabb/value.js": "^0.10.0",
|
|
729
753
|
"@tailwindcss/postcss": "^4.3.0",
|
|
730
754
|
"@tailwindcss/vite": "^4.3.0",
|
package/src/styles/cards.css
CHANGED
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
mints the stacking context once. Longhand maps `translate(x, y)` 1:1. */
|
|
39
39
|
translate: 0;
|
|
40
40
|
transition:
|
|
41
|
-
translate var(--duration-normal) var(--spring-
|
|
42
|
-
box-shadow var(--duration-normal) var(--ease-
|
|
41
|
+
translate var(--duration-normal) var(--spring-smooth),
|
|
42
|
+
box-shadow var(--duration-normal) var(--ease-standard);
|
|
43
43
|
|
|
44
44
|
&:hover:not(:disabled) {
|
|
45
45
|
translate: var(--lift-sm) var(--lift-sm);
|
|
@@ -98,6 +98,22 @@
|
|
|
98
98
|
display: flex;
|
|
99
99
|
flex-direction: column;
|
|
100
100
|
flex-shrink: 0;
|
|
101
|
+
/* AY.W-DOCK-NAV B6 — `align-self: start` (not the group's `stretch`
|
|
102
|
+
default) so the column rail reports its OWN intrinsic content height
|
|
103
|
+
(the stacked tabs) to the group's cross-axis sizing rather than being
|
|
104
|
+
stretched to the group's content-row height. Under `stretch` the rail's
|
|
105
|
+
height resolved to the group height, which was the single content-row
|
|
106
|
+
height — circular: the rail's 3 tall tabs overflowed a 40px rail and the
|
|
107
|
+
lower tabs + the indicator fell below the dock floor (the B6 break). With
|
|
108
|
+
`align-self: start` the rail demands its natural column height, the group
|
|
109
|
+
grows to it, and the dock grows to contain the whole rail. The
|
|
110
|
+
`min-height: max-content` belt makes the demand explicit — a row-flex
|
|
111
|
+
child's cross-size can otherwise resolve to the (smaller) container row
|
|
112
|
+
height even under `align-self: start`; `max-content` floors the rail at
|
|
113
|
+
its stacked-tab content height so the chain (group → pane → dock) grows
|
|
114
|
+
to fit. */
|
|
115
|
+
align-self: start;
|
|
116
|
+
min-height: max-content;
|
|
101
117
|
gap: var(--dock-layer-rail-gap, 0.125rem);
|
|
102
118
|
padding: var(--dock-layer-rail-padding, 0.125rem);
|
|
103
119
|
background: var(--dock-layer-rail-bg, var(--surface-tint-8));
|
|
@@ -134,6 +150,12 @@
|
|
|
134
150
|
display: inline-flex;
|
|
135
151
|
align-items: center;
|
|
136
152
|
justify-content: center;
|
|
153
|
+
/* AY.W-DOCK-NAV B6 — `flex-shrink: 0` so the stacked tabs in the column rail
|
|
154
|
+
hold their full size and the rail demands its natural content height (no
|
|
155
|
+
tab squish). With the rail's `align-self: start` this makes the rail report
|
|
156
|
+
its true column height to the group's cross-axis sizing, growing the dock
|
|
157
|
+
to contain all the tabs + the travelling indicator (the B6 un-clip). */
|
|
158
|
+
flex-shrink: 0;
|
|
137
159
|
width: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem));
|
|
138
160
|
height: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem));
|
|
139
161
|
border: 0;
|
|
@@ -183,7 +205,19 @@
|
|
|
183
205
|
it at the top tab and it NEVER reached the active tab below (the mis-alignment
|
|
184
206
|
the user screenshotted). The default rule below travels Y; the `.vertical`
|
|
185
207
|
group's ROW rail overrides back to X. The active-tab plate reads the tunable
|
|
186
|
-
`--dock-layer-rail-active` rung.
|
|
208
|
+
`--dock-layer-rail-active` rung.
|
|
209
|
+
|
|
210
|
+
AY.W-DOCK2 (D5 one-clock) — the rail indicator travel moves OFF the fixed-
|
|
211
|
+
linear `--dock-motion-resize` SECOND clock (DK7 killed exactly this pattern
|
|
212
|
+
for the leaving-pane opacity but left it alive on the rail; H-dock §D7 L2) onto
|
|
213
|
+
the `--spring-snappy` register. DECISION: a rail tab switch is a DISCRETE
|
|
214
|
+
selection (the user picks a pane), NOT the box collapse↔expand morph — so it
|
|
215
|
+
does NOT fold onto `--dock-morph-t` (the morph scalar). It uses the iOS
|
|
216
|
+
segmented-control register (`--spring-snappy`, the SAME curve `SegmentedTabs`'
|
|
217
|
+
indicator rides — the confirmed discrete-selection register), so the rail
|
|
218
|
+
indicator glides between tabs on the house spring, never a fixed-linear timer.
|
|
219
|
+
The binding outcome: NO `--dock-motion-resize` survives on the rail (recorded
|
|
220
|
+
in W-DOCK2-DELTA.md). */
|
|
187
221
|
.dock-layer-rail .dock-layer-tab-indicator {
|
|
188
222
|
position: absolute;
|
|
189
223
|
left: 0;
|
|
@@ -197,9 +231,9 @@
|
|
|
197
231
|
color-mix(in srgb, var(--primary) 15%, transparent)
|
|
198
232
|
);
|
|
199
233
|
transition:
|
|
200
|
-
width var(--
|
|
201
|
-
height var(--
|
|
202
|
-
transform var(--
|
|
234
|
+
width var(--duration-fast) var(--spring-snappy),
|
|
235
|
+
height var(--duration-fast) var(--spring-snappy),
|
|
236
|
+
transform var(--duration-fast) var(--spring-snappy);
|
|
203
237
|
pointer-events: none;
|
|
204
238
|
}
|
|
205
239
|
|
|
@@ -196,9 +196,19 @@
|
|
|
196
196
|
block-axis morph reveals a column) is NOT forced onto one nowrap row — the
|
|
197
197
|
vertical group's active host block-sizes to `height: max-content` below
|
|
198
198
|
(the AP.W3 column treatment, KEPT). */
|
|
199
|
+
/* AY.W-DOCK-NAV B6 — the height is a FLOOR (`min-height`), not a fixed lock. A
|
|
200
|
+
single-row content pane's intrinsic height already equals
|
|
201
|
+
`--dock-layer-height` (the controls + line-height sum to it), so `min-height`
|
|
202
|
+
is byte-identical for the common case. But a horizontal dock hosting a COLUMN
|
|
203
|
+
switcher-rail (`<DockLayerGroup>` with `show-rail`) lays the rail out as a
|
|
204
|
+
stack of tabs taller than one row — the prior fixed `height` clipped the
|
|
205
|
+
rail's lower tabs + the active indicator BELOW the dock floor (the B6 "no rail
|
|
206
|
+
line / broken" read, measured: 2 of 3 tabs clipped). The floor lets the pane
|
|
207
|
+
block-size to the rail's natural column height so the dock grows to contain
|
|
208
|
+
the whole rail. The cross axis keeps `nowrap`. */
|
|
199
209
|
.glass-dock:not(.vertical) .dock-layer {
|
|
200
210
|
white-space: nowrap;
|
|
201
|
-
height: var(--dock-layer-height, 2.5rem);
|
|
211
|
+
min-height: var(--dock-layer-height, 2.5rem);
|
|
202
212
|
}
|
|
203
213
|
|
|
204
214
|
.dock-layer.is-active {
|
|
@@ -61,9 +61,22 @@
|
|
|
61
61
|
authority, and at rest `--dock-expand-t` resolves to the class endpoint (0
|
|
62
62
|
collapsed / 1 expanded) so the resting look is exact. */
|
|
63
63
|
.glass-dock.variant-dock:not(.vertical) {
|
|
64
|
+
/* AY.W-A11Y-PERF O-1 — the resting-endpoint dock bg composes the W55 oklab
|
|
65
|
+
adaptive tint so the bright bucket (engaged when a consumer/page marks
|
|
66
|
+
`--glass-backdrop: light` on the dock's ancestor — the @container block
|
|
67
|
+
below + the page-redesign W60 wiring) reaches the LIVE `.variant-dock`
|
|
68
|
+
surface (this 0,3,0 morph interp OVERRIDES the 0,1,0 shell.css bg, so the
|
|
69
|
+
tint must be applied HERE too). The srgb transition mix is preserved between
|
|
70
|
+
the two color endpoints; the adaptive darken rides the resting endpoint
|
|
71
|
+
(`--glass-bg-dock` wrapped in the oklab tint) — at the `0%` rest default the
|
|
72
|
+
inner oklab mix is a no-op so this is byte-identical to today. */
|
|
64
73
|
background: color-mix(
|
|
65
74
|
in srgb,
|
|
66
|
-
|
|
75
|
+
color-mix(
|
|
76
|
+
in oklab,
|
|
77
|
+
var(--glass-bg-dock, var(--glass-bg-resting)),
|
|
78
|
+
var(--glass-tint-source) var(--glass-tint-strength)
|
|
79
|
+
)
|
|
67
80
|
calc(var(--dock-expand-t, 1) * 100%),
|
|
68
81
|
var(--glass-bg-wash)
|
|
69
82
|
);
|
|
@@ -78,18 +91,40 @@
|
|
|
78
91
|
/* The padding morph is split out + scoped `:not(.dock-overflow-wrap)` so the
|
|
79
92
|
wrap variant's own padding rules (W04 territory — `.dock-overflow-wrap` +
|
|
80
93
|
its `@media` snap-back) are NOT clobbered by this higher-specificity longhand.
|
|
81
|
-
|
|
82
|
-
|
|
94
|
+
|
|
95
|
+
AY.W-DOCK-CHROME §1 — the LAYOUT-ISOLATION fix: the collapse↔expand morph is
|
|
96
|
+
an INLINE-WIDTH aperture by contract ("horizontal docks animate width"), so
|
|
97
|
+
the BLOCK axis MUST be invariant across the morph — otherwise the dock's
|
|
98
|
+
outer height shrinks ~4px on collapse (the collapsed-pad 0.25rem vs the
|
|
99
|
+
expanded pad-block 0.375rem, ×2) and, because a free-floating / inline dock
|
|
100
|
+
sits in normal flow (`display:inline-flex`), that height delta REFLOWS its
|
|
101
|
+
siblings — the page content jumped as the dock animated (the user's 13:27
|
|
102
|
+
audit item 1). The fix holds `padding-block` PINNED at the expanded value in
|
|
103
|
+
BOTH states (no `--dock-expand-t` interpolation on the block axis) so the
|
|
104
|
+
outer block-size is constant; ONLY `padding-inline` morphs to tighten the
|
|
105
|
+
collapsed pill inline. The collapsed circle is unaffected — its diameter is
|
|
106
|
+
owned by the summary pane's own symmetric `block-size` + `aspect-ratio:1`
|
|
107
|
+
(the `.collapsed .dock-layer--summary` rule below), CENTRED on the dock's
|
|
108
|
+
stable-height plate by the root `align-items:center`, not by the root pad. So
|
|
109
|
+
the morph reflows NOTHING vertically: 0px container-height delta. */
|
|
83
110
|
.glass-dock.variant-dock:not(.vertical):not(.dock-overflow-wrap) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
111
|
+
/* The collapsed inline-pad endpoint is the EXPANDED block pad (max'd with the
|
|
112
|
+
consumer `--dock-collapsed-padding` handle) so the height-pinned collapsed
|
|
113
|
+
pill is SYMMETRIC → a clean circle at the `--radius-dock` 9999px. The block
|
|
114
|
+
axis is pinned to the expanded pad (below), so matching the inline collapsed
|
|
115
|
+
endpoint to it keeps the box square (the B4 "symmetric collapsed padding
|
|
116
|
+
keeps the pill a circle" intent, preserved through the §1 height-pin). The
|
|
117
|
+
`max()` lets a consumer set `--dock-collapsed-padding` LARGER for a looser
|
|
118
|
+
pill but never SMALLER than the block pad (which would re-introduce the
|
|
119
|
+
narrower-than-tall oval the height-pin would otherwise leave). */
|
|
120
|
+
--dock-pad-collapsed: max(
|
|
121
|
+
var(--dock-padding-block, 0.375rem),
|
|
122
|
+
var(--dock-collapsed-padding, 0px)
|
|
92
123
|
);
|
|
124
|
+
/* block padding is INVARIANT — the expanded value, both states (the
|
|
125
|
+
layout-isolation contract above): the inline aperture morphs, the block
|
|
126
|
+
axis is pinned so the outer height never changes → 0px container reflow. */
|
|
127
|
+
padding-block: var(--dock-padding-block, 0.375rem);
|
|
93
128
|
padding-inline: calc(
|
|
94
129
|
var(--dock-pad-collapsed) +
|
|
95
130
|
(var(--dock-padding-inline, 0.5rem) - var(--dock-pad-collapsed)) *
|
|
@@ -110,14 +145,17 @@
|
|
|
110
145
|
box-shadow: var(--shadow-dock-override, var(--shadow-dock-collapsed));
|
|
111
146
|
}
|
|
112
147
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
148
|
+
|
|
149
|
+
/* AY.W-DOCK-NAV B4 — the collapsed summary is a PERFECT CIRCLE. The `.dock-layer`
|
|
150
|
+
base rule (`.glass-dock:not(.vertical) .dock-layer`) locks `height:
|
|
151
|
+
var(--dock-layer-height)` (40px) on EVERY layer including the summary; against
|
|
152
|
+
the 0.85× `--dock-collapsed-summary-min-size` min-width that made the pane
|
|
153
|
+
40h × 30w — an oval (the user's "circle, not oval"). This rule (1) LIFTS the
|
|
154
|
+
height-lock so the summary block-sizes to the SAME token its width floors at,
|
|
155
|
+
and (2) floors both axes to that ONE token, so the collapsed pane is a square
|
|
156
|
+
and the root's symmetric collapsed padding keeps the pill a circle. The glyph
|
|
157
|
+
sits centred on both axes. The `aspect-ratio: 1` belt-and-braces guarantees
|
|
158
|
+
1:1 even if a consumer's collapsed-slot content is wider than the floor. */
|
|
121
159
|
.glass-dock.collapsed .dock-layer--summary {
|
|
122
160
|
min-width: var(
|
|
123
161
|
--dock-collapsed-summary-min-size,
|
|
@@ -127,6 +165,15 @@
|
|
|
127
165
|
--dock-collapsed-summary-min-size,
|
|
128
166
|
var(--dock-layer-height, 2.5rem)
|
|
129
167
|
);
|
|
168
|
+
block-size: var(
|
|
169
|
+
--dock-collapsed-summary-min-size,
|
|
170
|
+
var(--dock-layer-height, 2.5rem)
|
|
171
|
+
);
|
|
172
|
+
height: var(
|
|
173
|
+
--dock-collapsed-summary-min-size,
|
|
174
|
+
var(--dock-layer-height, 2.5rem)
|
|
175
|
+
);
|
|
176
|
+
aspect-ratio: 1;
|
|
130
177
|
justify-content: center;
|
|
131
178
|
}
|
|
132
179
|
|
|
@@ -146,6 +193,35 @@
|
|
|
146
193
|
--dock-expand-t: var(--dock-morph-t);
|
|
147
194
|
}
|
|
148
195
|
|
|
196
|
+
/* AY.W-DOCK-NAV B15 — the EMPTY-collapsed-summary trap. A dock with a
|
|
197
|
+
`#persistent` control but NO `#collapsed` slot (the overview first-section
|
|
198
|
+
dock) still renders a `.dock-layer--summary` pane that floors to the circle
|
|
199
|
+
min-width — so collapsed it read as a WIDE pill: the persistent Home glyph on
|
|
200
|
+
the LEFT + an empty circle of dead space on the RIGHT (the measured 84×50
|
|
201
|
+
oval). Expanding then grew the content INTO that right-side void, so the
|
|
202
|
+
morph read "from the right" not center-out (the user's B15). When the summary
|
|
203
|
+
slot is EMPTY (`:not(:has(*))`), collapse it to zero width + no floor so the
|
|
204
|
+
persistent control stands alone as the collapsed circle, and the morph grows
|
|
205
|
+
symmetrically about the persistent. An empty Vue `#collapsed` slot renders
|
|
206
|
+
ZERO child nodes (no whitespace text node either), so `:empty` matches it
|
|
207
|
+
exactly — and a flat `:empty` avoids the nested-`:has()` form Lightning CSS
|
|
208
|
+
drops. An authored `#collapsed` slot (non-empty summary) keeps its circle
|
|
209
|
+
pill. */
|
|
210
|
+
.glass-dock.collapsed .dock-layer--summary:empty {
|
|
211
|
+
min-width: 0;
|
|
212
|
+
inline-size: 0;
|
|
213
|
+
padding: 0;
|
|
214
|
+
margin: 0;
|
|
215
|
+
border: 0;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* The persistent control IS the collapsed pill in the empty-summary case — drop
|
|
219
|
+
the inter-region gap so the collapsed circle is exactly the persistent box. */
|
|
220
|
+
.glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent
|
|
221
|
+
+ .dock-layers {
|
|
222
|
+
margin-inline-start: 0;
|
|
223
|
+
}
|
|
224
|
+
|
|
149
225
|
/* AW.W3 — the collapsed-hover scale rides the unified dock spring vocabulary.
|
|
150
226
|
The `scale var(--dock-motion-resize)` arm was added to the `.glass-dock`
|
|
151
227
|
root transition above, so this hover scale settles on the SAME spring curve
|
|
@@ -64,6 +64,18 @@
|
|
|
64
64
|
stacking-context guarantee). Covers every dock scale site. */
|
|
65
65
|
scale: 1;
|
|
66
66
|
position: relative;
|
|
67
|
+
/* AY.W-A11Y-PERF O-1 — engage the W55 bright-backdrop bucket BY DEFAULT on
|
|
68
|
+
the dock (the surface the user reported unreadable over light content). The
|
|
69
|
+
SELF-engage rule in dock/morph.css darkens the dock's OWN plate toward ink
|
|
70
|
+
unconditionally (a dock floats over arbitrary — frequently light — page
|
|
71
|
+
content). `dark` (the :root default) stays the inherited value a consumer
|
|
72
|
+
re-reads; the descendant/nested-glass reach uses the @container block. */
|
|
73
|
+
--glass-backdrop: light;
|
|
74
|
+
/* AY.W-A11Y-PERF O-4 — paint containment so the maximal-glass nested
|
|
75
|
+
backdrop-filter sample does not escape the dock box (the standard nested-
|
|
76
|
+
backdrop-cost mitigation; the Button-in-glass-in-dock stack re-samples the
|
|
77
|
+
already-blurred buffer at each level without it). */
|
|
78
|
+
contain: paint;
|
|
67
79
|
display: inline-flex;
|
|
68
80
|
align-items: center;
|
|
69
81
|
/* AW.W1 — the dock does NOT establish a default inline-size container.
|
|
@@ -24,23 +24,21 @@
|
|
|
24
24
|
toward `--scale-press-dock` settles on a NO-OVERSHOOT spring (Apple,
|
|
25
25
|
"Designing Fluid Interfaces": default 100% damping — no bounce — for a tap;
|
|
26
26
|
reserve bounce for surfaces driven by gesture MOMENTUM). The dock controls
|
|
27
|
-
are tap surfaces (no momentum)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
consumer override of `--dock-press-spring` still wins. */
|
|
27
|
+
are tap surfaces (no momentum).
|
|
28
|
+
|
|
29
|
+
AY.W-DOCK2 (D6) — the per-surface re-point of `--dock-press-spring` to
|
|
30
|
+
`--spring-smooth` is DELETED here: the ROOT token (`tokens.css`) IS the §6
|
|
31
|
+
doctrine register now (`--spring-smooth`), so the re-point was a dead
|
|
32
|
+
byte-identical redeclaration — the exact per-surface fork the §6 doctrine
|
|
33
|
+
claims to have killed. The dock controls inherit the correct smooth
|
|
34
|
+
transform-press register straight from the ROOT token; this `:where()` group
|
|
35
|
+
keeps ONLY the small-tile specular sizing below. */
|
|
37
36
|
:where(
|
|
38
37
|
.dock-icon-button,
|
|
39
38
|
.dock-tab-button,
|
|
40
39
|
.dock-select-trigger,
|
|
41
40
|
.dock-dropdown-trigger
|
|
42
41
|
) {
|
|
43
|
-
--dock-press-spring: var(--duration-fast) var(--spring-smooth);
|
|
44
42
|
/* AX.W45-TUNE C4/C5 — the small-tile specular sizing. The dock controls are
|
|
45
43
|
~40px tiles, a fraction of a card's plate, so the global 36% specular
|
|
46
44
|
radius blooms a tile-filling disc (the I.W6 finding). The family re-points
|
|
@@ -227,7 +225,22 @@
|
|
|
227
225
|
[data-size="control"]
|
|
228
226
|
) {
|
|
229
227
|
--dark-mode-toggle-size: var(--dock-control-size, var(--size-icon-btn));
|
|
230
|
-
|
|
228
|
+
/* AY.W-DOCK-CHROME §2 — the in-dock toggle GLYPH insets to the nav-glyph
|
|
229
|
+
register. The toggle SVG carries `h-full w-full` (the utility layer, which
|
|
230
|
+
BEATS the component-layer `> svg { width: --dock-control-glyph-size }` rule
|
|
231
|
+
below), so the glyph fills whatever the PADDED box leaves. Prior the in-dock
|
|
232
|
+
padding fell to `var(--dock-icon-padding, 0)` (the token is never defined →
|
|
233
|
+
0 pad → the glyph filled the whole 40px box edge-to-edge, ~2.5× the 16-20px
|
|
234
|
+
nav glyphs — the user's "too large" read). Pad the box by HALF the box↔glyph
|
|
235
|
+
difference so the `h-full` SVG lands at exactly `--dock-icon-glyph` (the
|
|
236
|
+
`--dock-scale`-keyed size the nav icons paint) — optically UNIFORM with the
|
|
237
|
+
nav glyphs through the utility-win path, not fighting it. */
|
|
238
|
+
--dark-mode-toggle-padding: calc(
|
|
239
|
+
(
|
|
240
|
+
var(--dock-control-size, var(--size-icon-btn)) -
|
|
241
|
+
var(--dock-icon-glyph, 1.25rem)
|
|
242
|
+
) / 2
|
|
243
|
+
);
|
|
231
244
|
}
|
|
232
245
|
|
|
233
246
|
/* AX.W06 USF-2 — the dock-control optical-size contract. The
|