Migra los 3 al forward de paleta compartido, cada uno con su matiz: - listbox: 2 slots (solid = indicador activo, element = fila seleccionada), raíz bare `[data-listbox]`. El `accent-text` era código muerto (sin consumidor) → eliminado. Recipe nuevo. - timeline: 5 slots (solid/track/border/contrast/text) que alimentan `--_timeline-hue-*` del item; data-intent por item sigue mandando sobre el acento del root. Tipo ProgressiveColorRole → ComponentColorProp. Recipe existente ampliado. - combobox: la cascada vivía en CUATRO partes (control/input/trigger/content), así que el forward las cubre vía `parts: [...]` (forma declarations[]). 3 slots (track/border/text). Los 5 wrappers (root + 4 partes) pasan por `resolveComponentColor` para que el custom hex no se estampe crudo. Recipe existente (content-z) ampliado. Verificado en navegador: combobox data-color=risk → palette-border del control = token risk compartido; custom #00b894 → color-mix. table (lote previo) idem. check: 76 ajenos, 0 propios. Contract 26/28 (2 = proof-of-human pre-existente). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>alpha-0.1-sec-dom
parent
c5699bd019
commit
528ddaa7f9
@ -1,21 +1,27 @@
|
||||
<script lang="ts">
|
||||
import { ActiveEidos } from '$uix/eidos';
|
||||
import { composeInlineStyle } from '$uix/eidos/lib/style';
|
||||
import { resolveComponentColor } from '$uix/eidos/lib/component-color';
|
||||
import * as Combobox from '$soma/components/combobox';
|
||||
import { getComboboxVisualContext } from './context.svelte';
|
||||
import type { ComboboxInputProps } from './types';
|
||||
|
||||
let { size, variant, color, ...rest }: ComboboxInputProps = $props();
|
||||
let { size, variant, color, style, ...rest }: ComboboxInputProps = $props();
|
||||
|
||||
const eidos = ActiveEidos.require();
|
||||
const visual = getComboboxVisualContext();
|
||||
const resolvedSize = $derived(eidos.resolve(size ?? visual?.getSize(), 'md'));
|
||||
const resolvedVariant = $derived(variant ?? visual?.getVariant() ?? 'surface');
|
||||
const resolvedColor = $derived(color ?? visual?.getColor() ?? 'primary');
|
||||
const colorAttrs = $derived(resolveComponentColor(resolvedColor));
|
||||
const mergedStyle = $derived(composeInlineStyle(style, colorAttrs.customStyle));
|
||||
</script>
|
||||
|
||||
<Combobox.Input
|
||||
{...rest}
|
||||
style={mergedStyle}
|
||||
data-size={resolvedSize}
|
||||
data-variant={resolvedVariant}
|
||||
data-color={resolvedColor}
|
||||
data-color={colorAttrs.dataColor}
|
||||
data-color-custom={colorAttrs.isCustom ? '' : undefined}
|
||||
/>
|
||||
|
||||
@ -1,23 +1,29 @@
|
||||
<script lang="ts">
|
||||
import { ActiveEidos } from '$uix/eidos';
|
||||
import * as Combobox from '$soma/components/combobox';
|
||||
import { composeInlineStyle } from '$uix/eidos/lib/style';
|
||||
import { resolveComponentColor } from '$uix/eidos/lib/component-color';
|
||||
import { getComboboxVisualContext } from './context.svelte';
|
||||
import type { ComboboxTriggerProps } from './types';
|
||||
|
||||
let { size, variant, color, children, ...rest }: ComboboxTriggerProps = $props();
|
||||
let { size, variant, color, style, children, ...rest }: ComboboxTriggerProps = $props();
|
||||
|
||||
const eidos = ActiveEidos.require();
|
||||
const visual = getComboboxVisualContext();
|
||||
const resolvedSize = $derived(eidos.resolve(size ?? visual?.getSize(), 'md'));
|
||||
const resolvedVariant = $derived(variant ?? visual?.getVariant() ?? 'surface');
|
||||
const resolvedColor = $derived(color ?? visual?.getColor() ?? 'primary');
|
||||
const colorAttrs = $derived(resolveComponentColor(resolvedColor));
|
||||
const mergedStyle = $derived(composeInlineStyle(style, colorAttrs.customStyle));
|
||||
</script>
|
||||
|
||||
<Combobox.Trigger
|
||||
{...rest}
|
||||
style={mergedStyle}
|
||||
data-size={resolvedSize}
|
||||
data-variant={resolvedVariant}
|
||||
data-color={resolvedColor}
|
||||
data-color={colorAttrs.dataColor}
|
||||
data-color-custom={colorAttrs.isCustom ? '' : undefined}
|
||||
>
|
||||
{@render children?.()}
|
||||
</Combobox.Trigger>
|
||||
|
||||
Loading…
Reference in new issue