@mkbabb/glass-ui 3.13.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CardAction-XH4YBVEK.js +158 -0
- package/dist/{CommandShortcut-RowNEO6i.js → CommandShortcut-DdtWXxOK.js} +57 -52
- package/dist/{ContextMenuSubContent-BQmxTAdw.js → ContextMenuSubContent-B0Vs6atR.js} +1 -1
- package/dist/{DataTable-BCddn3T3.js → DataTable-C464Zbqd.js} +99 -97
- package/dist/DialogContent-DDE6pQBU.js +103 -0
- package/dist/{DialogFooter-Blu4t7tJ.js → DialogFooter-8eZbdmPc.js} +1 -1
- package/dist/FadingScroll-DwNnvKMs.js +76 -0
- package/dist/{HoverPopover-CISOJQuZ.js → HoverPopover-Dpzwvc4t.js} +1 -1
- package/dist/IconChip-BDw1j5mu.js +54 -0
- package/dist/{MetricBadge-C9QMz1KT.js → MetricBadge-BpC0R_Ec.js} +1 -1
- package/dist/{Notification-DdwNxIrI.js → Notification-DKjKsQq8.js} +8 -8
- package/dist/{NumberFieldContent-CqaN-SvN.js → NumberFieldContent-1VtwDSgf.js} +1 -1
- package/dist/PopoverContent-BTorlp--.js +127 -0
- package/dist/{Progress-DwlUKGbr.js → Progress-hAT4gqGH.js} +97 -77
- package/dist/{ScrollingText-DfFrwSph.js → ScrollingText-CUVFTWk2.js} +2 -2
- package/dist/{SelectScrollDownButton-CiDUxfEj.js → SelectScrollDownButton-C1jb3b3K.js} +22 -6
- package/dist/{Switch-CsIuYP_e.js → Switch-Dr--uLGH.js} +1 -1
- package/dist/{Toaster-D6q4HtXu.js → Toaster-Bm_HQSpc.js} +6 -6
- package/dist/{ToggleGroupItem-D_AHlRw9.js → ToggleGroupItem-Dzk9hWsF.js} +1 -1
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +8 -5
- package/dist/api.js +2 -2
- package/dist/aurora.js +132 -117
- package/dist/{button-ChXMfsud.js → button-BNDWhAZb.js} +2 -2
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +97 -141
- package/dist/collapsible.js +1 -1
- package/dist/color-swatch.d.ts +1 -0
- package/dist/color-swatch.js +47 -0
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/components/custom/aurora/constants/presets.d.ts +28 -0
- package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
- package/dist/components/custom/color-swatch/index.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
- package/dist/components/custom/constellation/Constellation.vue.d.ts +18 -206
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
- package/dist/components/custom/constellation/constellationField.d.ts +2 -369
- package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
- package/dist/components/custom/constellation/index.d.ts +1 -1
- package/dist/components/custom/dock/DockRail.vue.d.ts +17 -16
- package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
- package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -5
- package/dist/components/custom/dock/constants.d.ts +35 -0
- package/dist/components/custom/dock/index.d.ts +2 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
- package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
- package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
- package/dist/components/custom/fading-scroll/index.d.ts +2 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +7 -0
- package/dist/components/custom/fourier-field/index.d.ts +1 -1
- package/dist/components/custom/fourier-field/math.d.ts +17 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -1
- package/dist/components/custom/goo-blob/constants.d.ts +6 -1
- package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
- package/dist/components/custom/handmark/brush.d.ts +269 -0
- package/dist/components/custom/handmark/composables/useHandMark.d.ts +89 -0
- package/dist/components/custom/handmark/constants.d.ts +39 -0
- package/dist/components/custom/handmark/freehand.d.ts +69 -0
- package/dist/components/custom/handmark/geometry.d.ts +52 -0
- package/dist/components/custom/handmark/index.d.ts +27 -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 +62 -0
- package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
- package/dist/components/custom/icon-chip/index.d.ts +2 -0
- package/dist/components/custom/icon-chip/types.d.ts +72 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +15 -2
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +20 -25
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
- package/dist/components/custom/tabs/constants.d.ts +9 -3
- package/dist/components/custom/tabs/index.d.ts +1 -1
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +14 -0
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
- package/dist/components/ui/card/Card.vue.d.ts +1 -1
- package/dist/components/ui/carousel/index.d.ts +0 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -0
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
- package/dist/composables/dark/index.d.ts +1 -1
- package/dist/composables/dark/useGlobalDark.d.ts +23 -1
- package/dist/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +2 -2
- package/dist/constellation.js +92 -94
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +10 -4
- package/dist/dark.d.ts +1 -1
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +510 -321
- package/dist/{dockContext-BegmJVmx.js → dockContext-Bu1Avy-a.js} +1 -1
- package/dist/dom.js +5 -5
- package/dist/{dropdown-menu-DzkkyBwX.js → dropdown-menu-BJ7E9js_.js} +2 -2
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +42 -38
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/forms.js +3 -3
- package/dist/fourier-field.js +38 -37
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +39 -36
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +129 -145
- package/dist/goo-blob.js +86 -81
- package/dist/handmark.d.ts +1 -0
- package/dist/handmark.js +707 -0
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-chip.d.ts +1 -0
- package/dist/icon-chip.js +2 -0
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +6 -6
- package/dist/{math-U6-RrLmV.js → math-DeuJwLFx.js} +11 -3
- package/dist/{menuItemVariants-DPiEarb0.js → menuItemVariants-DWRQXBxJ.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +25 -22
- package/dist/metric-stack.js +1 -1
- package/dist/motion-core.js +33 -32
- package/dist/motion-curves.js +1 -1
- package/dist/motion.js +4 -4
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.d.ts +1 -0
- package/dist/pager-dots.js +91 -0
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-BKVyQfbt.js → presets-BW2b-fr1.js} +14 -1
- package/dist/progress.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +5 -5
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/{sheet-1fChZjtw.js → sheet-CquRYOAw.js} +59 -55
- package/dist/sheet.js +1 -1
- package/dist/{slider-B-JP2JlI.js → slider-DQ95MET2.js} +7 -7
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/styles/animations.css +11 -26
- package/dist/styles/components.css +1 -1
- package/dist/styles/configurator.css +35 -0
- package/dist/styles/dock/density.css +19 -0
- package/dist/styles/dock/overflow.css +15 -0
- package/dist/styles/dock/rail-extend.css +168 -71
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +34 -5
- package/dist/styles/dock-controls/icon-button.css +11 -1
- package/dist/styles/dock-controls/tab-button.css +24 -83
- package/dist/styles/dock-controls/triggers.css +7 -0
- package/dist/styles/dock.css +6 -3
- package/dist/styles/drawer.css +46 -0
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/glass/ladder.css +68 -22
- package/dist/styles/glass/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +88 -12
- package/dist/styles/glass.css +5 -2
- package/dist/styles/icon-chip.css +149 -0
- package/dist/styles/index.css +67 -5
- package/dist/styles/instrument-chassis.css +42 -0
- package/dist/styles/menu.css +127 -0
- package/dist/styles/segmented-tabs.css +160 -89
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +11 -1
- package/dist/styles/tokens/color-radius.css +40 -13
- package/dist/styles/tokens/dark-arm.css +124 -16
- package/dist/styles/tokens/glass.css +83 -23
- package/dist/styles/tokens/light-dark.css +48 -19
- package/dist/styles/tokens/offsets-sizing.css +62 -0
- package/dist/styles/tokens/property-regs.css +3 -10
- package/dist/styles/tokens/scale-paper.css +45 -2
- package/dist/styles/tokens/scheme-motion.css +32 -14
- package/dist/styles/transitions.css +7 -7
- package/dist/styles/typography/scale.css +153 -0
- package/dist/styles/typography/semantic.css +220 -0
- package/dist/styles/typography/utilities.css +159 -0
- package/dist/styles/typography.css +23 -507
- package/dist/styles/utilities/a11y-overrides.css +33 -4
- package/dist/styles/utilities/base.css +177 -1
- package/dist/styles/utilities/btn.css +18 -201
- package/dist/styles/view-transition.css +4 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +154 -183
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +3 -1
- package/dist/toggle-group.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
- package/dist/useConfiguratorState-kiIlun8I.js +303 -0
- package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-C28t0VWJ.js} +22 -3
- package/dist/{useRAFLoop-Bxv0o6L5.js → useRAFLoop-CdwJ7284.js} +1 -1
- package/dist/{useSpringMount-CI2jOstM.js → useSpringMount-CvopqiFr.js} +1 -1
- package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
- package/dist/{useTouchGate-Dg7MQI1G.js → useTouchGate-28Tk2-t2.js} +1 -1
- package/dist/{vReveal-CqaCz_mC.js → useViewTransition-COsPjQVZ.js} +15 -12
- package/dist/vReveal-D9k0jADx.js +10 -0
- package/dist/watercolor-dot.js +12 -5
- package/package.json +71 -7
- package/src/styles/animations.css +11 -26
- package/src/styles/configurator.css +35 -0
- package/src/styles/dock/density.css +19 -0
- package/src/styles/dock/overflow.css +15 -0
- package/src/styles/dock/rail-extend.css +168 -71
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +34 -5
- package/src/styles/dock-controls/icon-button.css +11 -1
- package/src/styles/dock-controls/tab-button.css +24 -83
- package/src/styles/dock-controls/triggers.css +7 -0
- package/src/styles/dock.css +6 -3
- package/src/styles/drawer.css +42 -0
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/glass/ladder.css +68 -22
- package/src/styles/glass/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +88 -12
- package/src/styles/glass.css +5 -2
- package/src/styles/icon-chip.css +149 -0
- package/src/styles/index.css +66 -4
- package/src/styles/instrument-chassis.css +42 -0
- package/src/styles/menu.css +127 -0
- package/src/styles/segmented-tabs.css +156 -87
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +11 -1
- package/src/styles/tokens/color-radius.css +40 -13
- package/src/styles/tokens/dark-arm.css +124 -16
- package/src/styles/tokens/glass.css +83 -23
- package/src/styles/tokens/light-dark.css +48 -19
- package/src/styles/tokens/offsets-sizing.css +62 -0
- package/src/styles/tokens/property-regs.css +3 -10
- package/src/styles/tokens/scale-paper.css +45 -2
- package/src/styles/tokens/scheme-motion.css +32 -14
- package/src/styles/transitions.css +7 -7
- package/src/styles/typography/scale.css +153 -0
- package/src/styles/typography/semantic.css +220 -0
- package/src/styles/typography/utilities.css +159 -0
- package/src/styles/typography.css +23 -507
- package/src/styles/utilities/a11y-overrides.css +33 -4
- package/src/styles/utilities/base.css +177 -1
- package/src/styles/utilities/btn.css +18 -201
- package/src/styles/view-transition.css +4 -1
- package/dist/CardAction-Cj2eycQ2.js +0 -157
- package/dist/DialogContent-Dl9WkAoS.js +0 -100
- package/dist/PopoverContent-BYwt2-4x.js +0 -121
- package/dist/TabsList-Dttss653.js +0 -105
- package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
- package/dist/components/custom/underline/index.d.ts +0 -2
- package/dist/components/custom/underline/types.d.ts +0 -56
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
- package/dist/underline.d.ts +0 -1
- package/dist/underline.js +0 -85
- package/dist/useConfiguratorState-DAoeHVue.js +0 -287
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
- /package/dist/{ContextMenuContent-CT3AS1WX.js → ContextMenuContent-ON3x7cuk.js} +0 -0
- /package/dist/{HoverCardContent-Csywg3YF.js → HoverCardContent-DkMaQzH5.js} +0 -0
- /package/dist/{IconTooltip-DPzE09X9.js → IconTooltip-DSjasZIt.js} +0 -0
- /package/dist/{Input-DWQQIOC4.js → Input-DVG_J0ne.js} +0 -0
- /package/dist/{Label-r3WzWrsj.js → Label-Ck9SWEKM.js} +0 -0
- /package/dist/{ModalOverlay-DVLI2VRr.js → ModalOverlay-CkPRRgl_.js} +0 -0
- /package/dist/{PaperBackdrop-DIXTtVq6.js → PaperBackdrop-nBKe0vkB.js} +0 -0
- /package/dist/{SelectGroup-aumMgWLs.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{SelectSeparator-BQ_1Fcbp.js → SelectSeparator-DK2y1Bun.js} +0 -0
- /package/dist/{Separator-0JE6LtNu.js → Separator-BArl4OaB.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
- /package/dist/{color-CUYeFbgd.js → color-DweYl7pE.js} +0 -0
- /package/dist/{compile-B7NGOBcP.js → compile-EXXzEr1q.js} +0 -0
- /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-BM46COQ-.js → createContext-B2RaZ-b8.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
- /package/dist/{springPresets--YdWTHtm.js → springPresets-WXaLbu8u.js} +0 -0
- /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-iHludrxk.js → useInterval-CNdua40W.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useLiquidFlex-BL0lLLN2.js → useLiquidFlex-C12hXwOZ.js} +0 -0
- /package/dist/{useResizeObserver-BhgdhOIj.js → useResizeObserver-V6nq5gJb.js} +0 -0
- /package/dist/{useResolveTokenColor-Dvn2RZJW.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
- /package/dist/{useScrollProgress-Dlvx-L3v.js → useScrollProgress-D7bYU2RK.js} +0 -0
- /package/dist/{useSortable-muI29agz.js → useSortable-BVqlJRBR.js} +0 -0
- /package/dist/{useTextHighlight-DmRYkOBx.js → useTextHighlight-NmBM5V_4.js} +0 -0
- /package/dist/{useTimer-Dzarvzuk.js → useTimer-B_PAasDL.js} +0 -0
- /package/dist/{useUserInvalidAria-B2h6jAM_.js → useUserInvalidAria-CDfJuakL.js} +0 -0
- /package/dist/{useViewportReady-B40FK4Pa.js → useViewportReady-CvBcCYDf.js} +0 -0
|
@@ -1,7 +1,45 @@
|
|
|
1
1
|
/* utilities/base.css
|
|
2
|
-
The @layer components base half — section-description, labeled-field, popover-content, scrollbar, focus-ring, hairline-accent, interactive-item, tap-squish, status-dot, depth-text, preserve-3d, ios input fix, scroll-fade masks, deferred-section, scroll-timeline host, shimmer text, keyboard key.
|
|
2
|
+
The @layer components base half — section-description, labeled-field, popover-content, scrollbar, focus-ring, hairline-accent, interactive-item, tap-squish, status-dot, depth-text, preserve-3d, ios input fix, scroll-fade masks, fading-scroll (scroll-state-driven edge fade), deferred-section, scroll-timeline host, shimmer text, keyboard key.
|
|
3
3
|
Carved from the utilities.css cascade root; @import-ed by utilities.css in
|
|
4
4
|
cascade order. See docs/precepts/design-idioms.md §cohesion-aware partials. */
|
|
5
|
+
|
|
6
|
+
/* ═══════════════════════════════════════════════
|
|
7
|
+
§FADING-SCROLL — the per-edge mask-width interpolation customs (BA.W-FADING-SCROLL)
|
|
8
|
+
|
|
9
|
+
`<FadingScroll>`'s scroll-state-driven edge fade is a `mask-image` whose two
|
|
10
|
+
per-edge ramp widths are these registered `@property <length-percentage>`
|
|
11
|
+
customs. Registered (not bare custom props) so they INTERPOLATE smoothly off
|
|
12
|
+
the `scroll(self)` timeline below — an unregistered custom would jump between
|
|
13
|
+
the textual `0px` / `var(--fade-scroll-width)` endpoints rather than feathering.
|
|
14
|
+
`inherits: false`: each scroll port owns its own edge state (an ancestor must
|
|
15
|
+
never push a fade-width onto an unrelated descendant strip — mirrors the
|
|
16
|
+
`--progress-crescendo` / `--ripple-radius` non-inheriting registrations).
|
|
17
|
+
`initial-value: 0px` = the SHARP floor: an at-rest, no-overflow edge has NO
|
|
18
|
+
feather (the R8-08 "Shy" defect — the static `.scroll-fade-*` mask half-erased
|
|
19
|
+
the first card's chrome at rest — is structurally impossible because the
|
|
20
|
+
default is sharp and the timeline OPENS the feather only on real scroll).
|
|
21
|
+
|
|
22
|
+
These customs are INTERNAL (not a public token). The public knob is
|
|
23
|
+
`--fade-scroll-width` (offsets-sizing.css). Co-registered HERE (the consuming
|
|
24
|
+
CSS file) per the `@property --dock-morph-t` in dock.css precedent — a
|
|
25
|
+
component's typed property rides its own recipe file.
|
|
26
|
+
|
|
27
|
+
Co-written by the `useFadingScroll` JS fallback (the dual-path single writer):
|
|
28
|
+
the native `scroll(self)` timeline below owns these customs on a supporting
|
|
29
|
+
engine, the composable writes the SAME two customs when it is absent. Never
|
|
30
|
+
both — the composable feature-detect-gates OFF under timeline support.
|
|
31
|
+
═══════════════════════════════════════════════ */
|
|
32
|
+
@property --fade-start {
|
|
33
|
+
syntax: "<length-percentage>";
|
|
34
|
+
inherits: false;
|
|
35
|
+
initial-value: 0px;
|
|
36
|
+
}
|
|
37
|
+
@property --fade-end {
|
|
38
|
+
syntax: "<length-percentage>";
|
|
39
|
+
inherits: false;
|
|
40
|
+
initial-value: 0px;
|
|
41
|
+
}
|
|
42
|
+
|
|
5
43
|
@layer components {
|
|
6
44
|
/* ── Section description (V.W3.T7) ──────────────────────────────
|
|
7
45
|
Canonical recipe for the `<Section>` primitive's description
|
|
@@ -40,6 +78,23 @@
|
|
|
40
78
|
without `:has()`/`:user-invalid` (not a live+dead alias). */
|
|
41
79
|
.labeled-field {
|
|
42
80
|
--field-label-color: var(--muted-foreground);
|
|
81
|
+
/* THE WIDTH CONTRACT (BA.W-CONFIG-CHASSIS.1, S1 / CFG-1). The
|
|
82
|
+
labeled-field root claims FULL inline width + lays its label/control
|
|
83
|
+
stack out as a column, so a slotted control (a Slider whose inner
|
|
84
|
+
`.glass-slider` resolves `width: 100%`) has a DEFINITE width to
|
|
85
|
+
resolve against — never the content-sized 0 the bare `display:block`
|
|
86
|
+
default produced inside the configurator row's flex slot. This is the
|
|
87
|
+
half that survives the `hide-label` register: with the visible label
|
|
88
|
+
rendered `sr-only`, the label was the only intrinsic width
|
|
89
|
+
contributor, so the field collapsed; `width:100%` makes the field own
|
|
90
|
+
its inline axis regardless of label visibility. `min-width:0` lets it
|
|
91
|
+
shrink below content min inside a constrained row. Standalone use is
|
|
92
|
+
unaffected (a `<LabeledField>` outside a flex parent fills its block
|
|
93
|
+
container exactly as the prior `display:block` did). */
|
|
94
|
+
display: flex;
|
|
95
|
+
flex-direction: column;
|
|
96
|
+
inline-size: 100%;
|
|
97
|
+
min-inline-size: 0;
|
|
43
98
|
}
|
|
44
99
|
.labeled-field:has(:user-invalid),
|
|
45
100
|
.labeled-field.has-error {
|
|
@@ -284,6 +339,127 @@
|
|
|
284
339
|
mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
|
|
285
340
|
}
|
|
286
341
|
|
|
342
|
+
/* ── Fading scroll — the scroll-STATE-driven edge fade (BA.W-FADING-SCROLL) ──
|
|
343
|
+
`<FadingScroll>`'s recipe. SUPERSEDES the scroll-BLIND `.scroll-fade-*`
|
|
344
|
+
masks above (which feathered both edges unconditionally — the R8-08 "Shy"
|
|
345
|
+
defect). Here each edge's ramp width is a registered `--fade-start` /
|
|
346
|
+
`--fade-end` custom (above, default 0px = SHARP), driven by the
|
|
347
|
+
`scroll(self)` timeline so the start edge feathers only past `scroll > 0`
|
|
348
|
+
and the end edge only while trailing overflow remains.
|
|
349
|
+
|
|
350
|
+
The root IS the scroll port (the component sets overflow via the consumer's
|
|
351
|
+
utilities — `overflow-x-auto` / `overflow-y-auto` come from the class the
|
|
352
|
+
consumer passes; the axis floor below sets the OTHER axis). The 4-stop
|
|
353
|
+
mask reads the two customs; at rest both are 0px so the gradient is a flat
|
|
354
|
+
opaque pass-through (no feather). */
|
|
355
|
+
.fading-scroll {
|
|
356
|
+
/* The base mask is axis-specialized by the modifier classes below. The
|
|
357
|
+
default-x case uses the inline ramp; the y case the block ramp. */
|
|
358
|
+
mask-image: linear-gradient(
|
|
359
|
+
to right,
|
|
360
|
+
transparent 0,
|
|
361
|
+
black var(--fade-start),
|
|
362
|
+
black calc(100% - var(--fade-end)),
|
|
363
|
+
transparent 100%
|
|
364
|
+
);
|
|
365
|
+
}
|
|
366
|
+
.fading-scroll--x {
|
|
367
|
+
overflow-x: auto;
|
|
368
|
+
mask-image: linear-gradient(
|
|
369
|
+
to right,
|
|
370
|
+
transparent 0,
|
|
371
|
+
black var(--fade-start),
|
|
372
|
+
black calc(100% - var(--fade-end)),
|
|
373
|
+
transparent 100%
|
|
374
|
+
);
|
|
375
|
+
}
|
|
376
|
+
.fading-scroll--y {
|
|
377
|
+
overflow-y: auto;
|
|
378
|
+
mask-image: linear-gradient(
|
|
379
|
+
to bottom,
|
|
380
|
+
transparent 0,
|
|
381
|
+
black var(--fade-start),
|
|
382
|
+
black calc(100% - var(--fade-end)),
|
|
383
|
+
transparent 100%
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/* The NATIVE primary path: drive the per-edge customs off a `scroll(self)`
|
|
388
|
+
timeline — ZERO JS on a supporting engine (the `scroll-driven.css` /
|
|
389
|
+
Baseline-Newly-Available bar). UNLIKE `scroll-driven.css` this is NOT
|
|
390
|
+
wrapped in `prefers-reduced-motion: no-preference` — the fade is a
|
|
391
|
+
LEGIBILITY cue, not motion, so it stays present under PRM (it merely stops
|
|
392
|
+
interpolating; the discrete overflow-edge presence stays correct, and the
|
|
393
|
+
registered customs make even the static endpoints land right). */
|
|
394
|
+
@supports (animation-timeline: scroll()) {
|
|
395
|
+
/* The start edge: from sharp (0) to feathered, completing within the
|
|
396
|
+
first `--fade-scroll-width` of scroll — so at `scroll = 0` the start is
|
|
397
|
+
SHARP and it ramps in only once the user genuinely scrolls past. */
|
|
398
|
+
@keyframes gl-fade-start-in {
|
|
399
|
+
from {
|
|
400
|
+
--fade-start: 0px;
|
|
401
|
+
}
|
|
402
|
+
to {
|
|
403
|
+
--fade-start: var(--fade-scroll-width);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
/* The end edge: feathered while trailing overflow remains, ramping OUT to
|
|
407
|
+
sharp over the last `--fade-scroll-width` of scroll — so at the scroll
|
|
408
|
+
end (no trailing overflow) the end is SHARP. */
|
|
409
|
+
@keyframes gl-fade-end-out {
|
|
410
|
+
from {
|
|
411
|
+
--fade-end: var(--fade-scroll-width);
|
|
412
|
+
}
|
|
413
|
+
to {
|
|
414
|
+
--fade-end: 0px;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
/* x axis — `scroll(self inline)`; two animations on the ONE element, each
|
|
418
|
+
gated by `animation-range` to the start / end sliver of the scroll
|
|
419
|
+
distance. `fadeStart`/`fadeEnd` props toggle their respective
|
|
420
|
+
animation off via the `[data-fade-*]` presence attrs. */
|
|
421
|
+
.fading-scroll--x[data-fade-start] {
|
|
422
|
+
animation: gl-fade-start-in linear both;
|
|
423
|
+
animation-timeline: scroll(self inline);
|
|
424
|
+
animation-range: 0 var(--fade-scroll-width);
|
|
425
|
+
}
|
|
426
|
+
.fading-scroll--x[data-fade-end] {
|
|
427
|
+
animation: gl-fade-end-out linear both;
|
|
428
|
+
animation-timeline: scroll(self inline);
|
|
429
|
+
animation-range: calc(100% - var(--fade-scroll-width)) 100%;
|
|
430
|
+
}
|
|
431
|
+
/* BOTH edges on one element compose as two named animations. */
|
|
432
|
+
.fading-scroll--x[data-fade-start][data-fade-end] {
|
|
433
|
+
animation:
|
|
434
|
+
gl-fade-start-in linear both,
|
|
435
|
+
gl-fade-end-out linear both;
|
|
436
|
+
animation-timeline: scroll(self inline), scroll(self inline);
|
|
437
|
+
animation-range:
|
|
438
|
+
0 var(--fade-scroll-width),
|
|
439
|
+
calc(100% - var(--fade-scroll-width)) 100%;
|
|
440
|
+
}
|
|
441
|
+
/* y axis — `scroll(self block)`. */
|
|
442
|
+
.fading-scroll--y[data-fade-start] {
|
|
443
|
+
animation: gl-fade-start-in linear both;
|
|
444
|
+
animation-timeline: scroll(self block);
|
|
445
|
+
animation-range: 0 var(--fade-scroll-width);
|
|
446
|
+
}
|
|
447
|
+
.fading-scroll--y[data-fade-end] {
|
|
448
|
+
animation: gl-fade-end-out linear both;
|
|
449
|
+
animation-timeline: scroll(self block);
|
|
450
|
+
animation-range: calc(100% - var(--fade-scroll-width)) 100%;
|
|
451
|
+
}
|
|
452
|
+
.fading-scroll--y[data-fade-start][data-fade-end] {
|
|
453
|
+
animation:
|
|
454
|
+
gl-fade-start-in linear both,
|
|
455
|
+
gl-fade-end-out linear both;
|
|
456
|
+
animation-timeline: scroll(self block), scroll(self block);
|
|
457
|
+
animation-range:
|
|
458
|
+
0 var(--fade-scroll-width),
|
|
459
|
+
calc(100% - var(--fade-scroll-width)) 100%;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
287
463
|
/* ── Deferred section — render-skip an offscreen subtree (AQ.W3 §5) ──────
|
|
288
464
|
`content-visibility: auto` skips layout/paint/style of an offscreen
|
|
289
465
|
subtree — the INP-under-load lever (fourier γ, muster, speedtest, words).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* utilities/btn.css
|
|
2
|
-
The interactive/button @utility cluster — scale-on-hover, twin-line-divider, transition-control/collapse, sheet-animate,
|
|
2
|
+
The interactive/button @utility cluster — scale-on-hover, twin-line-divider, transition-control/collapse, sheet-animate, table-cell/head density, rainbow-vivid/pastel, the text-highlight paint, and btn-interactive. (The btn-audacious/btn-audacious-gold disco recipes + the btn-gold-bg-sweep keyframes were RETIRED at BA.W-GLASS-CAL.)
|
|
3
3
|
Carved from the utilities.css cascade root; @import-ed by utilities.css in
|
|
4
4
|
cascade order. See docs/precepts/design-idioms.md §cohesion-aware partials. */
|
|
5
5
|
/* ── Hover scale (O.W6 Lane C) ──
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
(the settle register), NOT the bezier `--ease-standard` (a transform on a
|
|
19
19
|
bezier reads mechanical; springs read alive on transform). */
|
|
20
20
|
scale: 1;
|
|
21
|
-
transition: scale var(--duration
|
|
21
|
+
transition: scale var(--spring-smooth-duration) var(--spring-smooth);
|
|
22
22
|
|
|
23
23
|
&:hover {
|
|
24
24
|
scale: var(--scale-hover);
|
|
@@ -81,203 +81,20 @@
|
|
|
81
81
|
data-[state=closed]:duration-[var(--duration-fast)];
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
/* ──
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var(--border-hairline),
|
|
99
|
-
var(--glass-highlight);
|
|
100
|
-
transition:
|
|
101
|
-
background var(--duration-fast) var(--ease-standard),
|
|
102
|
-
color var(--duration-fast) var(--ease-standard),
|
|
103
|
-
transform var(--duration-fast) var(--ease-standard),
|
|
104
|
-
box-shadow var(--duration-fast) var(--ease-standard),
|
|
105
|
-
--ripple-radius var(--motion-duration-ripple, 340ms) var(--ease-out-expo);
|
|
106
|
-
|
|
107
|
-
/* Hover composition: paper-grain texture overlaid on a soft
|
|
108
|
-
--primary radial, with the specular catch-light replacing the
|
|
109
|
-
resting hairline highlight. The radial uses --primary at 18%
|
|
110
|
-
— same alpha rung the dock primary tier consumes for phase
|
|
111
|
-
tinting, just bound to the canonical CTA color instead. */
|
|
112
|
-
&:hover:not(:disabled) {
|
|
113
|
-
background-image:
|
|
114
|
-
var(--paper-clean-texture),
|
|
115
|
-
radial-gradient(
|
|
116
|
-
ellipse at 30% 30%,
|
|
117
|
-
color-mix(in srgb, var(--primary) 18%, transparent),
|
|
118
|
-
transparent 70%
|
|
119
|
-
);
|
|
120
|
-
background-blend-mode: overlay, normal;
|
|
121
|
-
background-size: var(--paper-texture-size), auto;
|
|
122
|
-
box-shadow:
|
|
123
|
-
var(--glass-specular),
|
|
124
|
-
0 0.5px 0 0 rgb(0 0 0 / 0.06);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/* AI.W4-M.2 (Q5 — G-AI-D27 ratified) — press-ripple via a typed
|
|
128
|
-
`--ripple-radius` length custom property. The `::before`
|
|
129
|
-
element paints a radial gradient whose stop radius equals the
|
|
130
|
-
typed length; the `:active` rule sets the length to the cap
|
|
131
|
-
(`--ripple-radius-max`, 12rem), and the host's transition
|
|
132
|
-
(above) interpolates the radius via the @property registration
|
|
133
|
-
(tokens.css §18). Release returns the length to its 0px initial
|
|
134
|
-
value and the ripple retires. The ripple paints at z-index 0
|
|
135
|
-
(above the host's background, below the slot content which sits
|
|
136
|
-
in the default 0 stacking context but with text inheriting the
|
|
137
|
-
slot's foreground colour). */
|
|
138
|
-
&::before {
|
|
139
|
-
content: "";
|
|
140
|
-
position: absolute;
|
|
141
|
-
inset: 0;
|
|
142
|
-
pointer-events: none;
|
|
143
|
-
z-index: 0;
|
|
144
|
-
border-radius: inherit;
|
|
145
|
-
background: radial-gradient(
|
|
146
|
-
circle at center,
|
|
147
|
-
color-mix(in srgb, var(--primary-foreground, hsl(0 0% 100%)) 35%, transparent) 0,
|
|
148
|
-
color-mix(in srgb, var(--primary-foreground, hsl(0 0% 100%)) 18%, transparent)
|
|
149
|
-
calc(var(--ripple-radius, 0px) * 0.55),
|
|
150
|
-
transparent var(--ripple-radius, 0px)
|
|
151
|
-
);
|
|
152
|
-
transition: inherit;
|
|
153
|
-
will-change: background;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
&:active:not(:disabled) {
|
|
157
|
-
--ripple-radius: var(--ripple-radius-max, 12rem);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/* Sparkle glyph — hidden at rest, animated on hover. The star
|
|
161
|
-
sweeps diagonally from top-left to bottom-right per the canonical
|
|
162
|
-
sparkle-sweep keyframe (animations.css). */
|
|
163
|
-
&::after {
|
|
164
|
-
content: "✦";
|
|
165
|
-
position: absolute;
|
|
166
|
-
top: 0.25rem;
|
|
167
|
-
left: 0.5rem;
|
|
168
|
-
color: hsl(0 0% 100% / 0.7);
|
|
169
|
-
font-size: 0.75rem;
|
|
170
|
-
line-height: 1;
|
|
171
|
-
pointer-events: none;
|
|
172
|
-
opacity: 0;
|
|
173
|
-
will-change: transform, opacity;
|
|
174
|
-
z-index: 1;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
178
|
-
&:hover::after {
|
|
179
|
-
animation: sparkle-sweep var(--duration-sparkle) var(--ease-out-expo);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/* PRM bracket — the press-ripple retires; the press still reads
|
|
184
|
-
via the audacious recipe's transform/scale beat (the ripple is
|
|
185
|
-
affirmation atop affirmation). */
|
|
186
|
-
@media (prefers-reduced-motion: reduce) {
|
|
187
|
-
transition:
|
|
188
|
-
background var(--duration-fast) var(--ease-standard),
|
|
189
|
-
color var(--duration-fast) var(--ease-standard),
|
|
190
|
-
transform var(--duration-fast) var(--ease-standard),
|
|
191
|
-
box-shadow var(--duration-fast) var(--ease-standard);
|
|
192
|
-
|
|
193
|
-
&:active:not(:disabled) {
|
|
194
|
-
--ripple-radius: 0px;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/* ── Gold CTA shimmer modifier — AN.R0 D9 ───────────────────────────────
|
|
200
|
-
`btn-audacious-gold` extends `btn-audacious` with a gold sweep shimmer
|
|
201
|
-
on hover. Pair as `btn-audacious btn-audacious-gold` (or use the Button
|
|
202
|
-
`variant="gold-audacious"` which composes both). The hover shimmer is a
|
|
203
|
-
translucent linear-gradient sweep (low alpha — tasteful, not garish)
|
|
204
|
-
that slides left-to-right via the existing `gold-shimmer-slide` keyframe
|
|
205
|
-
(animations.css). The gold gradient uses the canonical `--color-gold-*`
|
|
206
|
-
token triad (tokens.css §13).
|
|
207
|
-
|
|
208
|
-
Design register:
|
|
209
|
-
• PRM no-preference: shimmer sweeps continuously at `--duration-shimmer`
|
|
210
|
-
rate; the sparkle-sweep (from btn-audacious) coexists on hover.
|
|
211
|
-
• PRM reduce: static gold tint shows on hover; no animation.
|
|
212
|
-
• The gold shimmer is a background-image layer ABOVE the existing
|
|
213
|
-
btn-audacious paper-grain + primary-radial layers, blended with
|
|
214
|
-
`overlay` so the glass substrate reads through at partial opacity.
|
|
215
|
-
• The `::before` ripple and `::after` sparkle from btn-audacious are
|
|
216
|
-
unchanged; this modifier only retunes the hover background layers.
|
|
217
|
-
• Consumer applies: `<Button variant="gold-audacious">Next →</Button>` */
|
|
218
|
-
@utility btn-audacious-gold {
|
|
219
|
-
/* At rest: a faint warm gold tint over the glass surface reads as "warm
|
|
220
|
-
glass" without announcing the hover state prematurely. */
|
|
221
|
-
background-image:
|
|
222
|
-
linear-gradient(
|
|
223
|
-
135deg,
|
|
224
|
-
color-mix(in srgb, var(--color-gold) 8%, transparent),
|
|
225
|
-
color-mix(in srgb, var(--color-gold-light) 5%, transparent) 50%,
|
|
226
|
-
color-mix(in srgb, var(--color-gold) 8%, transparent)
|
|
227
|
-
);
|
|
228
|
-
|
|
229
|
-
/* Hover: deepen the plate to a SATURATED gold the white label clears (AW.W13
|
|
230
|
-
names a "saturated gold backplate"; the D1 fix). The bottom layer is the
|
|
231
|
-
OPAQUE fixed deep gold (`--color-gold-deep`, mode-INVARIANT) — a solid plate
|
|
232
|
-
at ~6.5:1 (light) / ~5.5:1 (dark) against white, well below the ~0.18
|
|
233
|
-
luminance floor white text needs for ≥4.5:1 (was a translucent 22-30% wash
|
|
234
|
-
over near-cream glass → 1.29:1 white-on-pale-gold). The plate is FIXED-dark
|
|
235
|
-
in both modes — deepening toward the mode-flipping `--foreground` brightened
|
|
236
|
-
the dark plate to a cream-gold; `--color-gold-deep` does not flip. The
|
|
237
|
-
shimmer sweep rides ABOVE as a LOW-alpha gold gradient (normal blend, ≤18% —
|
|
238
|
-
it textures the plate without brightening it past the floor), and the
|
|
239
|
-
paper-grain overlays for the disco facet. */
|
|
240
|
-
&:hover:not(:disabled) {
|
|
241
|
-
background-image:
|
|
242
|
-
var(--paper-clean-texture),
|
|
243
|
-
linear-gradient(
|
|
244
|
-
90deg,
|
|
245
|
-
transparent 0%,
|
|
246
|
-
color-mix(in srgb, var(--color-gold) 14%, transparent) 25%,
|
|
247
|
-
color-mix(in srgb, var(--color-gold) 18%, transparent) 50%,
|
|
248
|
-
color-mix(in srgb, var(--color-gold) 14%, transparent) 75%,
|
|
249
|
-
transparent 100%
|
|
250
|
-
),
|
|
251
|
-
linear-gradient(
|
|
252
|
-
135deg,
|
|
253
|
-
var(--color-gold-deep),
|
|
254
|
-
color-mix(in srgb, var(--color-gold-deep), var(--color-gold-dark) 18%) 50%,
|
|
255
|
-
var(--color-gold-deep)
|
|
256
|
-
);
|
|
257
|
-
background-blend-mode: overlay, normal, normal;
|
|
258
|
-
background-size: var(--paper-texture-size), 250% 100%, 100% 100%;
|
|
259
|
-
background-position: 0 0, 100% 0, 0 0;
|
|
260
|
-
box-shadow:
|
|
261
|
-
var(--glass-specular),
|
|
262
|
-
0 0 0 1px color-mix(in srgb, var(--color-gold-dark) 40%, transparent),
|
|
263
|
-
0 0.5px 0 0 rgb(0 0 0 / 0.06);
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
267
|
-
&:hover:not(:disabled) {
|
|
268
|
-
animation: btn-gold-bg-sweep var(--duration-shimmer) linear infinite;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
/* Background-position sweep for the gold CTA hover shimmer.
|
|
274
|
-
Distinct from `gold-shimmer-slide` (which animates background-position for
|
|
275
|
-
a text-clip gradient). This variant sweeps the `background-position` of the
|
|
276
|
-
250% wide gradient across the button's bounding box. */
|
|
277
|
-
@keyframes btn-gold-bg-sweep {
|
|
278
|
-
0% { background-position: 0 0, 100% 0, 0 0; }
|
|
279
|
-
100% { background-position: 0 0, -100% 0, 0 0; }
|
|
280
|
-
}
|
|
84
|
+
/* ── Calm CTA register (BA.W-GLASS-CAL, H2a — the disco retired) ──────────
|
|
85
|
+
The `@utility btn-audacious` + `@utility btn-audacious-gold` recipes + the
|
|
86
|
+
`@keyframes btn-gold-bg-sweep` are RETIRED (clean break, no alias). The user
|
|
87
|
+
removed the "disco effect" wholesale: the sparkle `::after` glyph, the
|
|
88
|
+
disco-grain hover (`--paper-clean-texture` + `--primary`/gold radial), the
|
|
89
|
+
gold-sweep shimmer, and the typed `--ripple-radius` press-ripple are GONE.
|
|
90
|
+
|
|
91
|
+
The `primary-audacious`/`gold-audacious` Button variants (button/index.ts)
|
|
92
|
+
now collapse onto the calm glass-first register — the `glass-wash`/`btn-glass`
|
|
93
|
+
surface + the `--glass-specular` edge catch-light, hover/press on the §6
|
|
94
|
+
doctrine (surface→`--ease-standard`, scale→`--spring-smooth`). `gold-audacious`
|
|
95
|
+
keeps a STATIC warm-gold tint (no animated sweep). The fenced-out GOOD pops
|
|
96
|
+
(`.gold-shimmer` static text gradient, the specular gleam, the press-scale)
|
|
97
|
+
STAY — they were never disco. */
|
|
281
98
|
|
|
282
99
|
/* ── Table density utilities — AN.R0 ─────────────────────────────────────
|
|
283
100
|
`table-cell` and `table-head` replace the former Tailwind `p-4` / `h-12`
|
|
@@ -370,7 +187,7 @@
|
|
|
370
187
|
transition:
|
|
371
188
|
background-color var(--duration-fast) var(--ease-standard),
|
|
372
189
|
color var(--duration-fast) var(--ease-standard),
|
|
373
|
-
scale var(--duration
|
|
190
|
+
scale var(--spring-smooth-duration) var(--spring-smooth),
|
|
374
191
|
opacity var(--duration-fast) var(--ease-standard);
|
|
375
192
|
|
|
376
193
|
&:hover {
|
|
@@ -394,7 +211,7 @@
|
|
|
394
211
|
transition:
|
|
395
212
|
background-color var(--duration-fast) var(--ease-standard),
|
|
396
213
|
color var(--duration-fast) var(--ease-standard),
|
|
397
|
-
scale var(--duration
|
|
214
|
+
scale var(--spring-smooth-duration) var(--spring-smooth),
|
|
398
215
|
opacity var(--duration-fast) var(--ease-standard),
|
|
399
216
|
box-shadow var(--duration-fast) var(--ease-standard);
|
|
400
217
|
}
|
|
@@ -35,7 +35,10 @@
|
|
|
35
35
|
/* Shared group class — consumers add `view-transition-class: gl-list-item` on
|
|
36
36
|
* each tracked element plus a unique `view-transition-name` per element. */
|
|
37
37
|
::view-transition-group(.gl-list-item) {
|
|
38
|
-
|
|
38
|
+
/* BA.W-GLASS-CAL Unit 3 — the duration fallback rides the bouncy spring's
|
|
39
|
+
OWN settle clock (`--spring-bouncy-duration`) so the default VT bounce
|
|
40
|
+
plays at its physical settle; a consumer still overrides via `--vt-duration`. */
|
|
41
|
+
animation-duration: var(--vt-duration, var(--spring-bouncy-duration));
|
|
39
42
|
animation-timing-function: var(--vt-ease, var(--spring-bouncy));
|
|
40
43
|
}
|
|
41
44
|
|
package/dist/switch.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./Switch-
|
|
1
|
+
import { t as e } from "./Switch-Dr--uLGH.js";
|
|
2
2
|
export { e as Switch };
|