diff --git a/src/uix/eidos/components/combobox/combobox-content.svelte b/src/uix/eidos/components/combobox/combobox-content.svelte index 1843dea43..233bd6da2 100644 --- a/src/uix/eidos/components/combobox/combobox-content.svelte +++ b/src/uix/eidos/components/combobox/combobox-content.svelte @@ -39,6 +39,7 @@ customAnchor={anchorEl} style={composedStyle} data-list-surface="" + data-depth="overlay" data-size={resolvedSize} data-variant={resolvedVariant} data-color={resolvedColor} diff --git a/src/uix/eidos/components/combobox/combobox.css b/src/uix/eidos/components/combobox/combobox.css index f19176549..c8932761b 100644 --- a/src/uix/eidos/components/combobox/combobox.css +++ b/src/uix/eidos/components/combobox/combobox.css @@ -275,10 +275,10 @@ max-block-size: min(22rem, var(--floating-available-height, 100dvh)); padding: var(--_combobox-content-py) var(--_combobox-content-px); overflow: hidden; - border: var(--border-width) solid var(--color-border-default); + /* Elevation — surface · border · shadow — from the `overlay` plane via + `data-depth` (A1). Constant across variants (the variant tints only the + control). Radius / color stay the panel's own. */ border-radius: var(--radius-lg); - background: var(--color-surface-overlay); - box-shadow: var(--depth-overlay-shadow), var(--depth-overlay-halo); color: var(--color-content-primary); font-family: var(--font-ui); font-size: var(--_combobox-font-size); @@ -311,14 +311,8 @@ --_combobox-font-size: var(--font-size-xl); } -[data-combobox-content][data-variant='outline'] { - box-shadow: var(--depth-raised-shadow), var(--depth-raised-halo); -} - -[data-combobox-content][data-variant='ghost'] { - border-color: transparent; - box-shadow: var(--depth-raised-shadow), var(--depth-raised-halo); -} +/* Variant no longer changes the popup elevation — it is plane-constant (A1). + `surface` / `outline` / `ghost` tint only the control. */ [data-combobox-content][data-state='open'] { animation: combobox-content-in var(--duration-normal) var(--ease-out) both; @@ -464,12 +458,12 @@ } [data-combobox-arrow] polygon { - fill: var(--color-surface-overlay); + fill: var(--depth-overlay-surface); stroke: none; } [data-combobox-arrow] path { - stroke: var(--color-border-default); + stroke: var(--depth-overlay-border); stroke-width: var(--border-width); stroke-linecap: round; stroke-linejoin: round; diff --git a/src/uix/eidos/components/select/select-content.svelte b/src/uix/eidos/components/select/select-content.svelte index f80593ce7..2a72b1856 100644 --- a/src/uix/eidos/components/select/select-content.svelte +++ b/src/uix/eidos/components/select/select-content.svelte @@ -34,6 +34,7 @@ {...rest} style={composedStyle} data-list-surface="" + data-depth="overlay" data-size={resolvedSize} data-variant={resolvedVariant} data-color={resolvedColor} diff --git a/src/uix/eidos/components/select/select.css b/src/uix/eidos/components/select/select.css index fea4fd773..65819eeda 100644 --- a/src/uix/eidos/components/select/select.css +++ b/src/uix/eidos/components/select/select.css @@ -177,10 +177,10 @@ max-block-size: min(var(--select-content-max-height), var(--floating-available-height, 100dvh)); padding: var(--_select-content-py) var(--_select-content-px); overflow: hidden; - border: var(--select-content-border-width) solid var(--select-content-border); + /* Elevation — surface · border · shadow — from the `overlay` plane via + `data-depth` (A1). Constant across variants (the variant tints only the + trigger). Radius / color stay the panel's own. */ border-radius: var(--select-content-radius); - background: var(--select-content-bg); - box-shadow: var(--select-content-shadow); color: var(--select-content-color); font-family: var(--select-font-family); font-size: var(--_select-font-size); @@ -213,14 +213,8 @@ --_select-font-size: var(--select-font-size-xl); } -[data-select-content][data-variant='outline'] { - box-shadow: var(--select-content-outline-shadow); -} - -[data-select-content][data-variant='ghost'] { - border-color: transparent; - box-shadow: var(--select-content-ghost-shadow); -} +/* Variant no longer changes the popup elevation — it is plane-constant (A1). + `surface` / `outline` / `ghost` tint only the trigger. */ [data-select-content][data-state='open'] { animation: select-content-in var(--select-open-duration) var(--ease-out) both; @@ -365,13 +359,13 @@ } [data-select-arrow] polygon { - fill: var(--select-content-bg); + fill: var(--depth-overlay-surface); stroke: none; } [data-select-arrow] path { - stroke: var(--select-content-border); - stroke-width: var(--select-content-border-width); + stroke: var(--depth-overlay-border); + stroke-width: var(--border-width); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; diff --git a/src/uix/eidos/generated/base.css b/src/uix/eidos/generated/base.css index 84fa56905..750dd66cb 100644 --- a/src/uix/eidos/generated/base.css +++ b/src/uix/eidos/generated/base.css @@ -2189,14 +2189,8 @@ --select-content-min-width: 12rem; --select-content-max-width: 24rem; --select-content-max-height: min(20rem, calc(100dvh - var(--space-6))); - --select-content-border-width: var(--border-width); - --select-content-border: var(--color-border-default); --select-content-radius: var(--radius-lg); - --select-content-bg: var(--color-surface-overlay); --select-content-color: var(--color-content-primary); - --select-content-shadow: var(--depth-overlay-shadow), var(--depth-overlay-halo); - --select-content-outline-shadow: var(--depth-raised-shadow), var(--depth-raised-halo); - --select-content-ghost-shadow: var(--depth-raised-shadow), var(--depth-raised-halo); --select-open-duration: var(--duration-normal); --select-close-duration: var(--duration-fast); --select-viewport-gap: var(--space-0-5); diff --git a/src/uix/eidos/lib/recipes/base.ts b/src/uix/eidos/lib/recipes/base.ts index ee72f41ff..9a6c54002 100644 --- a/src/uix/eidos/lib/recipes/base.ts +++ b/src/uix/eidos/lib/recipes/base.ts @@ -2254,14 +2254,8 @@ export const THEME_BASE_RECIPE_TOKENS = { 'content-min-width': '12rem', 'content-max-width': '24rem', 'content-max-height': 'min(20rem, calc(100dvh - var(--space-6)))', - 'content-border-width': 'var(--border-width)', - 'content-border': 'var(--color-border-default)', 'content-radius': 'var(--radius-lg)', - 'content-bg': 'var(--color-surface-overlay)', 'content-color': 'var(--color-content-primary)', - 'content-shadow': 'var(--depth-overlay-shadow), var(--depth-overlay-halo)', - 'content-outline-shadow': 'var(--depth-raised-shadow), var(--depth-raised-halo)', - 'content-ghost-shadow': 'var(--depth-raised-shadow), var(--depth-raised-halo)', 'open-duration': 'var(--duration-normal)', 'close-duration': 'var(--duration-fast)', 'viewport-gap': 'var(--space-0-5)',