@ajuarezso/sui-design-system 0.7.25 → 0.8.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.
@@ -1320,7 +1320,7 @@ declare class SuiBanner {
1320
1320
  declare const SUI_BRAND_LOGO_COMPANIES: readonly ["adobe", "amazon", "apple", "bitcoin", "discord", "dropbox", "facebook", "figma", "framer", "github", "google", "instagram", "linkedin", "microsoft", "netflix", "notion", "paypal", "pinterest", "slack", "spotify", "stripe", "telegram", "twitch", "webflow", "whatsapp", "wise", "x-twitter", "youtube"];
1321
1321
  type SuiBrandLogoCompany = (typeof SUI_BRAND_LOGO_COMPANIES)[number];
1322
1322
  type SuiBrandLogoStyle = 'original' | 'black' | 'white';
1323
- type SuiBrandLogoSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1323
+ type SuiBrandLogoSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
1324
1324
  /**
1325
1325
  * SUI Brand Logo — SUI Design System 2.0
1326
1326
  *
@@ -1818,6 +1818,174 @@ declare class SuiCard {
1818
1818
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCard, "sui-card", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, {}, never, ["[sui-card-header]", "*", "[sui-card-media]", "[sui-card-footer]"], true, never>;
1819
1819
  }
1820
1820
 
1821
+ /**
1822
+ * Colores canon de series de chart — SUI 2.0.
1823
+ * Los 11 colores del set de dots (Figma 2942:9880) + `disabled`
1824
+ * (variant extra que solo existe en el set de legends, Figma 3871:20344:
1825
+ * mismo dot que `light-gray` pero con el label apagado en el legend).
1826
+ */
1827
+ type SuiChartLegendColor = 'gray' | 'light-gray' | 'blue' | 'orange' | 'red' | 'green' | 'yellow' | 'purple' | 'sky' | 'pink' | 'teal' | 'disabled';
1828
+ /** Orden EXACTO del set de Figma 2942:9880 (11 colores; `disabled` no es un color de serie). */
1829
+ declare const SUI_CHART_LEGEND_COLORS: readonly SuiChartLegendColor[];
1830
+ /**
1831
+ * Ciclo de auto-asignación de colores para series de chart (usado por
1832
+ * `<sui-chart-legend>` cuando un item no trae color explícito).
1833
+ * NO es canon de Figma (el set no define orden de series): arranca en `blue`
1834
+ * (primera serie de facto del DS) y deja los grises al final para que los
1835
+ * primeros N series de cualquier chart salgan con color.
1836
+ */
1837
+ declare const SUI_CHART_SERIES_COLORS: readonly SuiChartLegendColor[];
1838
+ /**
1839
+ * Mapa color → hex canónico resuelto (valores de los tokens `--sui-state-*-base`
1840
+ * que Figma bindea en cada variant). Útil para alimentar la MISMA paleta a la
1841
+ * lib de charts del consumer (echarts `series[].color`, etc.) y que el dot de
1842
+ * la leyenda matchee 1:1 el color pintado en la gráfica.
1843
+ */
1844
+ declare const SUI_CHART_LEGEND_HEX: Record<SuiChartLegendColor, string>;
1845
+ /**
1846
+ * SUI Chart Legend Dot — SUI Design System 2.0
1847
+ *
1848
+ * Figma file: 8p1k72aKKvzJV4XcvPS4VO
1849
+ * Node: 2942:9880 "Chart Legend Dots [1.1]" — VERIFIED via MCP
1850
+ *
1851
+ * Átomo decorativo de las leyendas de chart: el punto de color de una serie.
1852
+ * Render 100% CSS (el SVG de Figma es circle fill + stroke blanco + drop
1853
+ * shadow — se replica con background + box-shadow, sin assets).
1854
+ *
1855
+ * EXACT (pulled from Figma 2942:9880 via get_metadata + get_design_context +
1856
+ * SVG del asset del ellipse):
1857
+ * - 22 variants en figma = 11 colores × 2 sizes (Medium 20 / Small 16)
1858
+ * - Container: 20×20 (medium) / 16×16 (small)
1859
+ * - Ellipse SIEMPRE 12×12 centrado (circle r=6) — solo cambia el container
1860
+ * (medium inset 20% = 4px; small inset 12.5% = 2px)
1861
+ * - Ring interno blanco: stroke 2px en r=5 (`stroke/white-0`) → core de
1862
+ * color visible ≈8px + anillo blanco 2px hasta el borde (separa el dot
1863
+ * del fill del chart en fondos no-blancos)
1864
+ * - Drop shadow: Figma var `regular-shadow/small` = 0 2px 4px 0 #1b1c1d0a
1865
+ * (SIN token en la lib — solo existen regular-shadow x-small y medium;
1866
+ * se usa el valor EXACT literal en el scss)
1867
+ *
1868
+ * Color tokens (bound en Figma, verificados en src/styles/sui-tokens.scss):
1869
+ * gray → --sui-state-faded-base (#7b7b7b)
1870
+ * light-gray → --sui-icon-disabled-300 (#d1d1d1)
1871
+ * blue → --sui-state-information-base (#335cff)
1872
+ * orange → --sui-state-warning-base (#fa7319)
1873
+ * red → --sui-state-error-base (#fb3748)
1874
+ * green → --sui-state-success-base (#1fc16b)
1875
+ * yellow → --sui-state-away-base (#f6b51e)
1876
+ * purple → --sui-state-feature-base (#7d52f4)
1877
+ * sky → --sui-state-verified-base (#47c2ff)
1878
+ * pink → --sui-state-highlighted-base (#fb4ba3)
1879
+ * teal → --sui-state-stable-base (#22d3bb)
1880
+ * disabled → --sui-icon-disabled-300 (#d1d1d1, igual a light-gray)
1881
+ *
1882
+ * `customColor` acepta cualquier CSS color (hex de una paleta echarts custom)
1883
+ * y sobreescribe el preset — mismo patrón que `customHex` de sui-color-dot.
1884
+ *
1885
+ * A11y: decorativo puro (aria-hidden). El significado lo lleva el label del
1886
+ * `<sui-chart-legend>` que lo compone.
1887
+ *
1888
+ * Usage:
1889
+ * <sui-chart-legend-dot color="blue" />
1890
+ * <sui-chart-legend-dot color="green" size="small" />
1891
+ * <sui-chart-legend-dot [customColor]="'#8b5cf6'" />
1892
+ */
1893
+ declare class SuiChartLegendDot {
1894
+ /** Color canon de la serie. Default `gray` (variant default del set Figma). */
1895
+ readonly color: _angular_core.InputSignal<SuiChartLegendColor>;
1896
+ /** Size del container: `medium` 20×20 / `small` 16×16. El dot es 12×12 en ambos. */
1897
+ readonly size: _angular_core.InputSignal<"small" | "medium">;
1898
+ /**
1899
+ * CSS color custom (override del preset) para series fuera de la paleta
1900
+ * canon — ej. colores de una paleta echarts propia. Si presente, ignora
1901
+ * `color` a nivel visual.
1902
+ */
1903
+ readonly customColor: _angular_core.InputSignal<string | null>;
1904
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiChartLegendDot, never>;
1905
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiChartLegendDot, "sui-chart-legend-dot", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "customColor": { "alias": "customColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1906
+ }
1907
+
1908
+ /**
1909
+ * Item del array `items` del legend.
1910
+ * Contrato "config presente = visible": `value` solo se renderiza si viene.
1911
+ */
1912
+ interface SuiChartLegendItem {
1913
+ /** Label de la serie (requerido). */
1914
+ label: string;
1915
+ /**
1916
+ * Color canon del dot. Si se omite (y no hay `customColor`), el legend
1917
+ * auto-asigna ciclando `SUI_CHART_SERIES_COLORS` por índice.
1918
+ */
1919
+ color?: SuiChartLegendColor;
1920
+ /** CSS color custom del dot (override del preset) — paletas echarts propias. */
1921
+ customColor?: string;
1922
+ /** Valor opcional de la serie, renderizado después del label (ej. `42%`, `S/ 1,200`). */
1923
+ value?: string | number;
1924
+ /**
1925
+ * Serie apagada (Figma 3871:20344 "Disabled"): dot gris pálido + label
1926
+ * disabled-300. Gana sobre `color`/`customColor`.
1927
+ */
1928
+ disabled?: boolean;
1929
+ }
1930
+ /** Shape interno ya resuelto (color efectivo calculado). */
1931
+ interface ResolvedLegendItem {
1932
+ data: SuiChartLegendItem;
1933
+ color: SuiChartLegendColor;
1934
+ customColor: string | null;
1935
+ }
1936
+ /**
1937
+ * SUI Chart Legend — SUI Design System 2.0
1938
+ *
1939
+ * Figma file: 8p1k72aKKvzJV4XcvPS4VO
1940
+ * Node: 2942:9934 "Chart Legends [1.1]" — VERIFIED via MCP
1941
+ *
1942
+ * Leyenda de chart: recibe `items[]` y COMPONE `<sui-chart-legend-dot>`
1943
+ * (átomo, Figma 2942:9880) + label por serie — patrón familia breadcrumbs
1944
+ * (sui-breadcrumbs compone sui-breadcrumb-item).
1945
+ *
1946
+ * EXACT (pulled from Figma 2942:9934 via get_metadata + get_design_context):
1947
+ * - 12 variants en figma = 12 colores (Gray, Light Gray, Blue, Orange, Red,
1948
+ * Green, Yellow, Purple, Sky, Pink, Teal, Disabled). El set define el
1949
+ * ITEM individual (dot + label, 70×16); NO define orientaciones — el eje
1950
+ * `orientation` es prop de layout para consumo real con charts.
1951
+ * - Item: flex row, gap 4px, dot Small (16×16, ellipse 12×12)
1952
+ * - Label: Inter Medium 12/16 ls 0 (`Label/X Small`), color text/sub-600
1953
+ * - Disabled: label text/disabled-300 (#d1d1d1) + dot gris pálido
1954
+ * - Separación entre items: 24px (layout del frame del set)
1955
+ *
1956
+ * Colores: si un item no trae `color` ni `customColor`, se auto-asigna
1957
+ * ciclando `SUI_CHART_SERIES_COLORS` por índice (arranca en `blue`; NO es
1958
+ * canon Figma, es convención de consumo — el set no define orden de series).
1959
+ *
1960
+ * A11y: host `role="list"` + items `role="listitem"`; el dot es decorativo
1961
+ * (aria-hidden en el átomo).
1962
+ *
1963
+ * Usage:
1964
+ * <sui-chart-legend [items]="[
1965
+ * { label: 'Ventas', color: 'blue', value: '64%' },
1966
+ * { label: 'Devoluciones', color: 'red' },
1967
+ * { label: 'Archivadas', disabled: true },
1968
+ * ]" />
1969
+ *
1970
+ * <!-- auto-colores (blue, orange, red, …) + layout vertical -->
1971
+ * <sui-chart-legend orientation="vertical" [items]="[
1972
+ * { label: 'Lima' }, { label: 'Arequipa' }, { label: 'Cusco' },
1973
+ * ]" />
1974
+ */
1975
+ declare class SuiChartLegend {
1976
+ /** Series de la leyenda, en orden de render. */
1977
+ readonly items: _angular_core.InputSignal<readonly SuiChartLegendItem[]>;
1978
+ /**
1979
+ * Disposición de los items: `horizontal` (row con wrap, default) o
1980
+ * `vertical` (columna — leyendas laterales de donut/pie).
1981
+ */
1982
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
1983
+ /** Items con color efectivo resuelto (disabled > customColor > color > ciclo auto). */
1984
+ protected readonly resolvedItems: _angular_core.Signal<ResolvedLegendItem[]>;
1985
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiChartLegend, never>;
1986
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiChartLegend, "sui-chart-legend", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1987
+ }
1988
+
1821
1989
  type SuiCheckboxSize = 'small' | 'medium' | 'large' | 'xlarge';
1822
1990
  /**
1823
1991
  * SUI Checkbox — SUI Design System 2.0
@@ -3230,147 +3398,232 @@ declare class SuiCompactSelect<T = string> implements ControlValueAccessor {
3230
3398
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCompactSelect<any>, "sui-compact-select", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "flag": { "alias": "flag"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; "clicked": "clicked"; "selectedChange": "selectedChange"; }, never, never, true, never>;
3231
3399
  }
3232
3400
 
3401
+ /**
3402
+ * 5 tipos de leading visual del Content Label (eje 🧩 Type del set de Figma).
3403
+ * basic — sin leading; solo el bloque de texto.
3404
+ * left-icon — sui-key-icon (círculo stroke, icono = 50% del contenedor).
3405
+ * avatar — sui-avatar (foto / iniciales) 40/48px según size.
3406
+ * brand — sui-brand-logo RAW (sin caja) 40/48px según size.
3407
+ * company — sui-avatar con companyLogoSrc (logo de empresa) 40/48px.
3408
+ */
3409
+ type SuiContentLabelType = 'basic' | 'left-icon' | 'avatar' | 'brand' | 'company';
3410
+ /** Eje 📏 Size del set: Medium (leading 40px) | Large (leading 48px). */
3411
+ type SuiContentLabelSize = 'medium' | 'large';
3412
+ /**
3413
+ * Dónde vive el badge:
3414
+ * trailing — a la derecha del row (canon del set Content Label de Figma).
3415
+ * title — inline en el title row, después del sublabel (así lo usa el
3416
+ * Content Card 2942:9503; existe para esa composición).
3417
+ */
3418
+ type SuiContentLabelBadgePlacement = 'trailing' | 'title';
3419
+ /**
3420
+ * SUI Content Label — SUI Design System 2.0
3421
+ *
3422
+ * Figma file: 8p1k72aKKvzJV4XcvPS4VO — set "Content Label [1.1]" nodo 2945:5539
3423
+ * (FIGMA-VERIFIED 2026-07-23: metadata + design context + screenshot del set).
3424
+ * 10 variants = Type(5: Basic | Left Icon | Avatar | Brand | Company)
3425
+ * × Size(2: Medium 40 | Large 48).
3426
+ *
3427
+ * Fila de contenido SIN card: [ leading ] [ text block flex-1 ] [ trailing ].
3428
+ * Es la pieza base de la familia content — el Content Card (2942:9503) es este
3429
+ * mismo row envuelto en una card con botón X (ver sui-content-card, que COMPONE
3430
+ * este componente).
3431
+ *
3432
+ * EXACT (del design context de los nodos 2945:5540/5548/5557/5575/5584/5628):
3433
+ * row → flex, items-center, gap 14
3434
+ * text block → flex-col, gap 4, flex 1 1 0, min-width 0
3435
+ * title row → flex, items-center, gap 4
3436
+ * label medium → Inter Medium 14/20 ls -0.084px, text/strong-950 (Label/Small)
3437
+ * label large → Inter Medium 16/24 ls -0.176px, text/strong-950 (Label/Medium)
3438
+ * sublabel → Inter Regular 12/16 ls 0, text/sub-600 (ambos sizes)
3439
+ * descr medium → Inter Regular 12/16 ls 0, text/sub-600 (Paragraph/X Small)
3440
+ * descr large → Inter Regular 14/20 ls -0.084px, text/sub-600 (Paragraph/Small)
3441
+ * left-icon → instancia "Key Icons [1.1]" stroke: medium p-10 + icono 20
3442
+ * (= 40px), large p-12 + icono 24 (= 48px), radius-full,
3443
+ * border stroke-soft-200, bg white-0, shadow x-small
3444
+ * → se compone <sui-key-icon size 40/48 styleVariant="stroke">.
3445
+ * avatar → sui-avatar 40px (size lg) / 48px (size xl), radius-full.
3446
+ * brand → logo de marca RAW 40/48px (Spotify en el set), SIN caja.
3447
+ * company → círculo de empresa 40/48px (Synergy en el set) → sui-avatar
3448
+ * con companyLogoSrc / iniciales (mismo patrón del Content Card).
3449
+ * badge trailing → Badge [1.1] px-8 py-2 radius-full, texto Inter Medium 12/16
3450
+ * = <sui-badge size="medium"> (Label/X Small, sin uppercase).
3451
+ * Figma: bg state/information/light #c0d5ff + texto
3452
+ * state/information/dark #122368 (= sui-badge color "blue");
3453
+ * el fallback del proyecto es color 'orange' (branding).
3454
+ * toggle → Switch [1.1] 32×20 = <sui-switch size="medium">.
3455
+ *
3456
+ * Token map (Figma → sui-tokens):
3457
+ * text/strong-950 → --sui-text-strong-950 (label)
3458
+ * text/sub-600 → --sui-text-sub-600 (sublabel + description)
3459
+ * Label/Small → --sui-type-label-sm-* (label medium)
3460
+ * Label/Medium → --sui-type-label-md-* (label large)
3461
+ * Paragraph/X Small → --sui-type-paragraph-xs-* (sublabel + descr medium)
3462
+ * Paragraph/Small → --sui-type-paragraph-sm-* (descr large)
3463
+ *
3464
+ * Extensiones del proyecto (NO son ejes del set de Figma, documentadas):
3465
+ * - `badgePlacement='title'` — coloca el badge inline en el title row, como lo
3466
+ * renderiza el Content Card (2942:9503). Default 'trailing' (canon del set).
3467
+ * - `disabled` — atenúa texto/leading a tokens disabled-300 y bloquea el
3468
+ * switch. Heredado de la familia (el Content Card lo expone) para que la
3469
+ * composición no pierda el estado.
3470
+ *
3471
+ * Usage:
3472
+ * <sui-content-label label="Notificaciones" sublabel="(Push)"
3473
+ * description="Recibe avisos de tus pedidos"
3474
+ * [toggle]="true" [(toggleChecked)]="pushOn" />
3475
+ * <sui-content-label type="left-icon" icon="user-6-line" size="large"
3476
+ * label="Perfil" description="Datos de tu cuenta" badge="NUEVO" />
3477
+ * <sui-content-label type="avatar" [avatar]="{ initials: 'AT' }"
3478
+ * label="Ana Torres" description="ana@correo.com" />
3479
+ */
3480
+ declare class SuiContentLabel {
3481
+ /** Tipo de leading visual. */
3482
+ readonly type: _angular_core.InputSignal<SuiContentLabelType>;
3483
+ /** Size del set: medium (leading 40, Label/Small) | large (leading 48, Label/Medium). */
3484
+ readonly size: _angular_core.InputSignal<SuiContentLabelSize>;
3485
+ /** Label principal — Label/Small (medium) / Label/Medium (large), text-strong-950. */
3486
+ readonly label: _angular_core.InputSignal<string>;
3487
+ /** Sublabel inline al lado del label — Paragraph/X Small, text-sub-600. Vacío = no se renderiza. */
3488
+ readonly sublabel: _angular_core.InputSignal<string>;
3489
+ /** Descripción bajo el title row — Paragraph/X Small (medium) / Paragraph/Small (large), text-sub-600. */
3490
+ readonly description: _angular_core.InputSignal<string>;
3491
+ /** RemixIcon name (sin 'ri-') para type=left-icon — va al sui-key-icon. */
3492
+ readonly icon: _angular_core.InputSignal<string | null>;
3493
+ /** Avatar del leading (type=avatar / company) — string shorthand (src directo)
3494
+ o SuiAvatarConfig { src?, initials?, color? }. */
3495
+ readonly avatar: _angular_core.InputSignal<string | SuiAvatarConfig | null>;
3496
+ protected readonly avatarCfg: _angular_core.Signal<SuiAvatarConfig | null>;
3497
+ /** Logo de empresa para type=company (mini-avatar bottom-right del sui-avatar). */
3498
+ readonly companyLogoSrc: _angular_core.InputSignal<string | null>;
3499
+ /** Marca para type=brand (logo raw, sin caja). */
3500
+ readonly brand: _angular_core.InputSignal<"adobe" | "amazon" | "apple" | "bitcoin" | "discord" | "dropbox" | "facebook" | "figma" | "framer" | "github" | "google" | "instagram" | "linkedin" | "microsoft" | "netflix" | "notion" | "paypal" | "pinterest" | "slack" | "spotify" | "stripe" | "telegram" | "twitch" | "webflow" | "whatsapp" | "wise" | "x-twitter" | "youtube" | null>;
3501
+ /** Badge — string shorthand o SuiBadgeConfig. Fallbacks: color 'orange'
3502
+ (branding; el DS de Figma usa 'blue'), variant 'lighter', size 'medium'
3503
+ (Figma: Badge px-8 py-2 texto 12/16 = sui-badge medium). null/'' = sin badge. */
3504
+ readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
3505
+ protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
3506
+ /** Dónde renderiza el badge: 'trailing' (canon Figma) | 'title' (composición Content Card). */
3507
+ readonly badgePlacement: _angular_core.InputSignal<SuiContentLabelBadgePlacement>;
3508
+ /** Muestra el switch trailing (eje Toggle del set). */
3509
+ readonly toggle: _angular_core.InputSignal<boolean>;
3510
+ /** Estado del switch — two-way: [(toggleChecked)]. */
3511
+ readonly toggleChecked: _angular_core.InputSignal<boolean>;
3512
+ readonly toggleCheckedChange: _angular_core.OutputEmitterRef<boolean>;
3513
+ /** Atenúa texto/leading a tokens disabled-300 y bloquea el switch (extensión de familia). */
3514
+ readonly disabled: _angular_core.InputSignal<boolean>;
3515
+ /** True si hay leading visual (todo menos basic). */
3516
+ readonly hasLeading: _angular_core.Signal<boolean>;
3517
+ /** Leading = 40px (medium) / 48px (large) — ancla la altura del row. */
3518
+ protected readonly keyIconSize: _angular_core.Signal<40 | 48>;
3519
+ protected readonly avatarSize: _angular_core.Signal<SuiAvatarSize>;
3520
+ protected readonly brandLogoSize: _angular_core.Signal<SuiBrandLogoSize>;
3521
+ protected onToggleChange(checked: boolean): void;
3522
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiContentLabel, never>;
3523
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiContentLabel, "sui-content-label", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "companyLogoSrc": { "alias": "companyLogoSrc"; "required": false; "isSignal": true; }; "brand": { "alias": "brand"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgePlacement": { "alias": "badgePlacement"; "required": false; "isSignal": true; }; "toggle": { "alias": "toggle"; "required": false; "isSignal": true; }; "toggleChecked": { "alias": "toggleChecked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "toggleCheckedChange": "toggleCheckedChange"; }, never, never, true, never>;
3524
+ }
3525
+
3233
3526
  /**
3234
3527
  * 6 tipos de leading visual del Content Card (SUI 2.0).
3235
3528
  * basic — sin leading; sólo text block.
3236
- * left-icon — icono RemixIcon en cuadro redondeado 40×40 (stroke + bg-white).
3237
- * avatar — sui-avatar (foto / iniciales) tamaño md (40px).
3238
- * card-provider — visual de tarjeta de pago (brand logo sobre fondo de marca).
3239
- * brand — sui-brand-logo (logo de marca conocida) en cuadro 40×40.
3240
- * company — sui-avatar con companyLogoSrc (silueta de empresa) 40px.
3529
+ * left-icon — sui-key-icon circular 40px (stroke: border + bg-white + shadow).
3530
+ * avatar — sui-avatar (foto / iniciales) 40px.
3531
+ * card-provider — tile de tarjeta de pago 32×24 radius-4 con brand logo.
3532
+ * brand — sui-brand-logo RAW 40px (sin caja).
3533
+ * company — sui-avatar con companyLogoSrc (logo de empresa) 40px.
3241
3534
  */
3242
3535
  type SuiContentCardType = 'basic' | 'left-icon' | 'avatar' | 'card-provider' | 'brand' | 'company';
3243
3536
  /**
3244
3537
  * SUI Content Card — SUI Design System 2.0
3245
3538
  *
3246
- * ⚠️ REFERENCIA FIGMA NO VERIFICADA (corregido 2026-05-29):
3247
- * El header anterior afirmaba que el nodo de referencia era `266:2814`. ESO ES
3248
- * FALSO: `266:2814` es el componente form `Label [1.1]` (confirmado por el
3249
- * sui-form-label.ts, que lista explícitamente 263:1850 / 266:2814, y por el
3250
- * screenshot "Label * (Optional)"). NO es el ContentCard.
3251
- *
3252
- * El fileKey `8p1k72aKKvzJV4XcvPS4VO` que se usaba en todo el DS es el archivo
3253
- * de ASSETS DE MARCA de SUI (sus únicas páginas son "Cover" y "Brand";
3254
- * contiene Visa/Mastercard/Stripe/PayPal logos, NO la librería de componentes).
3255
- * El nodo real del ContentCard / ContentLabel vive en OTRO archivo de SUI
3256
- * (la librería "Base Components") al que esta conexión MCP no tiene acceso.
3257
- * Por lo tanto NINGUNA medida de layout, gap, leading o card-provider de este
3258
- * componente está confirmada pixel-exacta contra Figma — son inferencias del
3259
- * patrón SUI ContentLabel estándar + la descripción del SUI-FIGMA-CHECKLIST.
3260
- * Ver PENDING VERIFY al final y la entrada en PENDIENTES.md.
3261
- *
3262
- * Componente NUEVO de la auditoría (descrito en SUI-FIGMA-CHECKLIST.md:86): es el
3263
- * `ContentLabel` (fila de contenido con leading visual + título/subtítulo + badge
3264
- * inline) ENVUELTO en una card:
3265
- * bg-white-0, border 1px stroke-soft-200, radius 12px, padding 16px,
3266
- * drop-shadow x-small.
3267
- * Trailing: en lugar del badge/switch del ContentLabel original, una card lleva
3268
- * un botón X de dismiss (close-line 20px via sui-icon) a la derecha.
3269
- *
3270
- * Anatomía (flex row, gap 12, items-center):
3271
- * [ leading 40×40 ] [ text block (flex-1) ] [ X dismiss 20px ]
3272
- * text block = Title row (title + sui-badge inline) + Subtitle.
3273
- *
3274
- * 6 tipos de leading (input `type`):
3275
- * basic → sin leading
3276
- * left-icon → cuadro 40×40 radius-10 border stroke-soft-200 bg-white-0,
3277
- * sui-icon `icon` 20px color icon-sub-600
3278
- * avatar → sui-avatar size=md (40px) via input `avatar` (config u src)
3279
- * card-provider → cuadro 40×28 (ratio tarjeta) radius-6 con brand logo centrado
3280
- * brand → cuadro 40×40 radius-10 border + sui-brand-logo `brand`
3281
- * company → sui-avatar size=md con companyLogoSrc / iniciales
3282
- *
3283
- * Badge (input `badge: SuiBadgeConfig | string | null`): vive DENTRO del Title row
3284
- * (al lado del título), usando <sui-badge>. String shorthand = solo el label con los
3285
- * defaults de la card (color 'orange', variant 'lighter', size 'small'); el objeto
3286
- * SuiBadgeConfig { label, color?, variant?, size? } controla el badge completo.
3287
- * El DS de Figma especifica AZUL (state/information/light #c0d5ff → sui-badge
3288
- * color="blue"). El proyecto Master Pedidos prefiere NARANJA por branding, así que
3289
- * el fallback de color = 'orange'; cualquier consumer que necesite el color del DS
3290
- * u otro semántico pasa `[badge]="{ label: 'X', color: 'blue' }"` sin forkear el
3291
- * template. La tipografía del badge small es Subheading/2X Small 11/12 UPPERCASE
3292
- * tracking 0.22px (0.02em), provista por el propio sui-badge.
3293
- *
3294
- * Token map (Figma → sui-tokens):
3295
- * bg/white-0 → --sui-bg-white-0 (#ffffff, card bg + leading bg)
3296
- * stroke/soft-200 → --sui-stroke-soft-200 (#ebebeb, card border + leading border)
3297
- * text/strong-950 → --sui-text-strong-950 (#171717, title)
3298
- * text/sub-600 → --sui-text-sub-600 (#5c5c5c, subtitle)
3299
- * icon/sub-600 → --sui-icon-sub-600 (#5c5c5c, leading icon + X idle)
3300
- * text/strong-950 → --sui-text-strong-950 (#171717, X icon on hover)
3301
- * bg/weak-50 → --sui-bg-weak-50 (#f7f7f7, X hover bg)
3302
- * text/disabled-300 → --sui-text-disabled-300 (#d1d1d1, title cuando disabled)
3303
- * icon/disabled-300 → --sui-icon-disabled-300 (#d1d1d1, leading/X cuando disabled)
3304
- * radius-12 → --sui-radius-12 (card)
3305
- * radius-10 → --sui-radius-10 (leading box icon/brand)
3306
- * radius-6 → --sui-radius-6 (card-provider box)
3307
- * shadow x-small → --sui-shadow-x-small (0 1px 2px 0 #0a0d1408)
3308
- *
3309
- * Typography:
3310
- * title → Label/Small 14/20 weight 500 ls -0.006em (--sui-type-label-sm-*)
3311
- * subtitle → Paragraph/Small 14/20 weight 400 ls -0.006em (--sui-type-paragraph-sm-*)
3539
+ * Figma file: 8p1k72aKKvzJV4XcvPS4VO — set "Content Card [1.1]" nodo 2942:9503
3540
+ * (FIGMA-VERIFIED 2026-07-23: metadata + design context + screenshot del set;
3541
+ * cierra el ⚠️ "referencia no verificada" del 2026-05-29 — el nodo real SÍ vive
3542
+ * en este fileKey). 6 variants = Type(Basic | Left Icon | Avatar | Card Provider
3543
+ * | Brand | Company), un solo size (row de 40px, frames de ejemplo 360×72).
3544
+ *
3545
+ * Es el Content Label (set 2945:5539) envuelto en una card — este componente
3546
+ * COMPONE <sui-content-label size="medium" badgePlacement="title"> (la deuda
3547
+ * "extraer el row a sui-content-label" del 2026-05-29 quedó saldada).
3548
+ *
3549
+ * EXACT (design context de 2942:9504/9512/9530 + screenshot):
3550
+ * card → bg white-0, border 1px stroke-soft-200, radius-12, padding 16,
3551
+ * shadow x-small, flex row gap 14 items-center
3552
+ * text block → flex-col gap 4; title row gap 4 (rendereado por sui-content-label)
3553
+ * title → Inter Medium 14/20 ls -0.084px, text/strong-950 (Label/Small)
3554
+ * sublabel → Inter Regular 12/16, text/sub-600 — inline al lado del título
3555
+ * subtitle → Inter Regular 12/16, text/sub-600 (Paragraph/X Small) — la
3556
+ * "description" del label (el nodo 2945 la llama description)
3557
+ * badge → inline en el title row DESPUÉS del sublabel; Badge px-8 py-2
3558
+ * radius-full, texto Inter Medium 11/12 UPPERCASE tracking 0.22px
3559
+ * (Subheading/2X Small) = sui-badge size="small". Figma: bg
3560
+ * state/information/light #c0d5ff + texto state/information/dark
3561
+ * #122368 (= color "blue"); fallback del proyecto = 'orange'.
3562
+ * left-icon → instancia "Key Icons [1.1]" stroke 40px (p-10 + icono 20,
3563
+ * radius-full, border stroke-soft-200, shadow x-small)
3564
+ * avatar → sui-avatar 40px (= size lg; ojo: md es 32px)
3565
+ * brand → logo de marca RAW 40px, SIN caja (Spotify en el set)
3566
+ * company → círculo de empresa 40px (Synergy en el set)
3567
+ * card-provider → tile 32×24 radius-4 con la marca de la tarjeta (Mastercard
3568
+ * en el set, asset con bg #252525 propio)
3569
+ * X dismiss → close-line 20px a la derecha (gap 14 del row)
3570
+ *
3571
+ * Correcciones aplicadas en la verificación 2026-07-23 (antes inferido ≠ Figma):
3572
+ * - gap del row 12 → 14 · gap del text block 2 → 4 · gap del title row 6 → 4
3573
+ * - subtitle 14/20 (Paragraph/Small) → 12/16 (Paragraph/X Small)
3574
+ * - left-icon: cuadro 40×40 radius-10 → sui-key-icon circular (radius-full)
3575
+ * - avatar: size md (32px) → lg (40px)
3576
+ * - brand: cuadro con borde → logo raw 40px sin caja
3577
+ * - card-provider: 40×28 radius-6 → 32×24 radius-4
3578
+ * - nuevo input `sublabel` (el set lo trae en el title row; faltaba)
3579
+ *
3580
+ * Adaptaciones deliberadas (documentadas, NO son drift):
3581
+ * - card-provider: el asset de Figma es el tile Mastercard con bg #252525
3582
+ * propio del arte. Sin card-tiles como asset en la lib, se renderiza el
3583
+ * brand logo centrado en un tile blanco 32×24 con borde stroke-soft-200.
3584
+ * - Badge fallback color 'orange' (branding del proyecto; el DS usa blue).
3585
+ * Cualquier consumer pasa `[badge]="{ label: 'X', color: 'blue' }"`.
3586
+ * - X dismiss hover/active: hover → bg-weak-50 + icon strong-950, active →
3587
+ * scale(0.96). INFERIDO, el set no publica estados del botón. PRESERVAR.
3588
+ * - disabled: extensión del proyecto (el set no publica eje State); tokens
3589
+ * disabled-300 por consistencia con sui-badge/sui-form-label.
3312
3590
  *
3313
3591
  * iOS :active — el botón X es clickeable custom: lleva (touchstart)/(touchend)
3314
3592
  * para liberar el estado active en WKWebView (regla del proyecto).
3315
3593
  *
3316
- * DEPENDENCIA / DEVIACIÓN: la spec pedía componer `sui-content-label`. Ese
3317
- * componente NO existe aún en el repo (verificado por `find` 2026-05-29, sigue
3318
- * marcado "[no existe como SUI]" en SUI-FIGMA-CHECKLIST.md:85). Para no bloquear,
3319
- * la estructura del ContentLabel se implementa INLINE acá (text block + leading),
3320
- * siguiendo la misma anatomía y tokens. Si más adelante se crea `sui-content-label`,
3321
- * extraer el bloque `.sui-content-card__row` a ese componente y componerlo.
3322
- * Tracking en PENDIENTES.md (sección "SUI · ContentCard / ContentLabel").
3323
- *
3324
- * Disabled: el ContentCard deriva del ContentLabel, que en Figma define un estado
3325
- * `Disabled` (text/disabled-300, icono atenuado, pointer-events none). Se expone
3326
- * via input `disabled`: atenúa title/subtitle/leading/X a tokens disabled-300,
3327
- * pone el badge en su propio estado disabled, bloquea el botón X y setea
3328
- * aria-disabled en el host. Usar para método de pago bloqueado/vencido o
3329
- * integración inactiva.
3330
- *
3331
- * PENDING VERIFY (NO confirmado pixel-exacto contra Figma — el nodo real del
3332
- * ContentCard vive en la librería de componentes SUI, archivo distinto del
3333
- * fileKey de assets de marca 8p1k72aKKvzJV4XcvPS4VO; ver ⚠️ del header):
3334
- * - leading box 40×40 / card-provider 40×28 / radios (10/6) / gap 12: inferidos
3335
- * del patrón SUI ContentLabel estándar (avatar md = 40 ancla el row height).
3336
- * Pueden coincidir por convención DS, pero sin confirmación pixel-exacta.
3337
- * - card-provider visual: brand logo sobre bg-white + border. El "chip" EMV y el
3338
- * degradado de tarjeta real del DS no se reproducen (no hay asset). Ver
3339
- * assetsPending.
3340
- * - X dismiss hover/active: hover → bg-weak-50 + icon strong-950, active →
3341
- * scale(0.96). INFERIDO, el set no publica estados del botón. PRESERVAR.
3342
- * - disabled visual (opacidad/tokens exactos del leading y badge): el patrón
3343
- * Disabled del ContentLabel no se pudo medir; se aplican los tokens disabled-300
3344
- * del DS por consistencia con sui-badge/sui-form-label.
3345
- *
3346
3594
  * Usage:
3347
3595
  * <sui-content-card type="left-icon" icon="bank-card-line"
3348
3596
  * title="Visa **** 4242" subtitle="Expira 09/27"
3349
3597
  * badge="Principal" (dismiss)="onRemove()" />
3350
3598
  * <sui-content-card type="avatar" [avatar]="{ src: user.photo, initials: 'AT' }"
3351
- * title="Ana Torres" subtitle="ana@correo.com" />
3599
+ * title="Ana Torres" sublabel="(Admin)" subtitle="ana@correo.com" />
3352
3600
  * <sui-content-card type="brand" brand="stripe" title="Stripe" subtitle="Conectado"
3353
3601
  * [badge]="{ label: 'Activo', color: 'green' }" />
3354
3602
  */
3355
3603
  declare class SuiContentCard {
3356
3604
  /** Tipo de leading visual. */
3357
3605
  readonly type: _angular_core.InputSignal<SuiContentCardType>;
3358
- /** Título — Label/Small, text-strong-950. */
3606
+ /** Título — Label/Small 14/20, text-strong-950. */
3359
3607
  readonly title: _angular_core.InputSignal<string>;
3360
- /** Subtítulo — Paragraph/Small, text-sub-600. */
3608
+ /** Sublabel inline al lado del título — Paragraph/X Small 12/16, text-sub-600
3609
+ (Figma 2942:9517). Vacío = no se renderiza. */
3610
+ readonly sublabel: _angular_core.InputSignal<string>;
3611
+ /** Subtítulo (la "description" del Content Label) — Paragraph/X Small 12/16, text-sub-600. */
3361
3612
  readonly subtitle: _angular_core.InputSignal<string>;
3362
- /** Badge inline (Title row) — string shorthand ('Principal') o SuiBadgeConfig
3363
- (label + color/variant/size, tipado como sui-badge). Fallbacks de la card:
3364
- color 'orange' (branding; el DS de Figma usa 'blue'), variant 'lighter',
3365
- size 'small'. null/'' = sin badge. */
3613
+ /** Badge inline (Title row, después del sublabel) — string shorthand ('Principal')
3614
+ o SuiBadgeConfig (label + color/variant/size, tipado como sui-badge).
3615
+ Fallbacks de la card: color 'orange' (branding; el DS de Figma usa 'blue'),
3616
+ variant 'lighter', size 'small'. null/'' = sin badge. */
3366
3617
  readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
3618
+ /** Config normalizado COMPLETO (fallbacks de la card aplicados) — se pasa al
3619
+ sui-content-label compuesto, cuyo fallback de size es 'medium' (canon del
3620
+ label); la card fija size 'small' (Subheading/2X Small del nodo 2942:9518). */
3367
3621
  protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
3368
3622
  /** RemixIcon name (sin 'ri-') para type=left-icon. */
3369
3623
  readonly icon: _angular_core.InputSignal<string | null>;
3370
3624
  /** Avatar del leading (type=avatar / company) — string shorthand (src directo)
3371
3625
  o SuiAvatarConfig { src?, initials?, color? }. null = sin avatar. */
3372
3626
  readonly avatar: _angular_core.InputSignal<string | SuiAvatarConfig | null>;
3373
- protected readonly avatarCfg: _angular_core.Signal<SuiAvatarConfig | null>;
3374
3627
  /** Logo de empresa para type=company (mini-avatar bottom-right del sui-avatar). */
3375
3628
  readonly companyLogoSrc: _angular_core.InputSignal<string | null>;
3376
3629
  /** Marca para type=brand / card-provider. */
@@ -3388,9 +3641,13 @@ declare class SuiContentCard {
3388
3641
  readonly dismiss: _angular_core.OutputEmitterRef<MouseEvent>;
3389
3642
  /** True si hay leading visual (todo menos basic). */
3390
3643
  readonly hasLeading: _angular_core.Signal<boolean>;
3644
+ /** Type que se delega al sui-content-label compuesto. card-provider no existe
3645
+ en el set del label (2945:5539) → la card renderiza ese leading ella misma
3646
+ y el label va en 'basic' (solo text block). */
3647
+ protected readonly labelType: _angular_core.Signal<SuiContentLabelType>;
3391
3648
  onDismiss(event: MouseEvent): void;
3392
3649
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiContentCard, never>;
3393
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiContentCard, "sui-content-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "companyLogoSrc": { "alias": "companyLogoSrc"; "required": false; "isSignal": true; }; "brand": { "alias": "brand"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "dismissAriaLabel": { "alias": "dismissAriaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, never, true, never>;
3650
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiContentCard, "sui-content-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "companyLogoSrc": { "alias": "companyLogoSrc"; "required": false; "isSignal": true; }; "brand": { "alias": "brand"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "dismissAriaLabel": { "alias": "dismissAriaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, never, true, never>;
3394
3651
  }
3395
3652
 
3396
3653
  type SuiContentDividerType = 'line' | 'line-spacing' | 'text-line' | 'text' | 'solid-text' | 'icon-button' | 'icon-button-group' | 'text-button' | 'text-button-group';
@@ -5286,7 +5543,7 @@ declare class SuiFileUpload {
5286
5543
  protected readonly inputRef: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
5287
5544
  protected readonly dragging: _angular_core.WritableSignal<boolean>;
5288
5545
  protected readonly internalError: _angular_core.WritableSignal<string | null>;
5289
- protected readonly state: _angular_core.Signal<"error" | "default" | "disabled" | "dragover">;
5546
+ protected readonly state: _angular_core.Signal<"default" | "error" | "disabled" | "dragover">;
5290
5547
  protected readonly resolvedTitle: _angular_core.Signal<string>;
5291
5548
  protected readonly resolvedSubtitle: _angular_core.Signal<string>;
5292
5549
  protected readonly resolvedErrorMessage: _angular_core.Signal<string | null>;
@@ -6558,7 +6815,7 @@ declare const SUI_KEY_ICON_SIZES: readonly SuiKeyIconSize[];
6558
6815
  /**
6559
6816
  * SUI Key Icon — SUI Design System 2.0
6560
6817
  *
6561
- * Figma file: 8p1k72aKKvzJV4XcvPS4VO — grupo "Key Components" → "KeyIcons [1.1]".
6818
+ * Figma file: 8p1k72aKKvzJV4XcvPS4VO — set "Key Icons [1.1]" = nodo 263:1850.
6562
6819
  * Componente NUEVO (no existía como SUI). Contenedor circular de icono usado como
6563
6820
  * leading element en list rows, content-labels, empty-states, notificaciones, etc.
6564
6821
  *
@@ -6584,7 +6841,9 @@ declare const SUI_KEY_ICON_SIZES: readonly SuiKeyIconSize[];
6584
6841
  *
6585
6842
  * ── Icono ────────────────────────────────────────────────────────────────────
6586
6843
  * Render SIEMPRE vía <sui-icon name="..."> (regla del proyecto — nunca SVG
6587
- * inline). Tamaño = size / 2 (Figma: el icono ocupa el 50% del contenedor).
6844
+ * inline). Tamaño MEDIDO en Figma 263:1850: size/2 en 40/48/56/64
6845
+ * (20/24/28/32), pero Small (32) usa icono 20px (padding 6, NO 16=size/2) —
6846
+ * Figma no baja el glyph de 20px para mantener legibilidad.
6588
6847
  * El <sui-icon> recibe su tamaño DIRECTO vía [size]="iconSize()" (su @Input),
6589
6848
  * NO vía custom prop CSS — sui-icon lee solo su @Input `size`, no una variable.
6590
6849
  * El color del icono = `*-base` del color, vía la custom prop `--sui-key-icon-fg`.
@@ -6601,21 +6860,21 @@ declare const SUI_KEY_ICON_SIZES: readonly SuiKeyIconSize[];
6601
6860
  * stroke bg— adapta. NO hardcodear un bg distinto acá: divergiría de Figma (la
6602
6861
  * spec del KeyIcon stroke ES bg-white-0) y del resto del DS.
6603
6862
  *
6604
- * PENDING VERIFY (Figma — NO verificado pixel-perfect):
6605
- * - El component set "KeyIcons" NO está en el file 8p1k72aKKvzJV4XcvPS4VO.
6606
- * Verificado 2026-05-29 vía MCP: get_metadata(file) lista solo 2 páginas
6607
- * (`0:1 Cover`, `2771:1469 Brand`); la página Brand son brand-logos / crypto /
6608
- * app-store badges, sin ningún nodo KeyIcon. El node 266:2814 (del prompt
6609
- * original) resuelve a "Label [1.1]", NO a KeyIcons. KeyIcons vive en OTRO file
6610
- * de SUI no accesible con este fileKey.
6611
- * - Los valores actuales (color/lighter/base, size, icon=size/2, stroke=bg-white-0
6612
- * + border stroke-soft-200 + shadow-x-small) provienen de la auditoría previa
6613
- * (.claude/sui-audit/reaudit-reports.json + SUI-FIGMA-CHECKLIST.md líneas 84/105),
6614
- * NO de un render en vivo de KeyIcons. Todos los tokens matchean 1:1 con
6615
- * sui-tokens.scss, pero NO se hizo comparación visual contra el nodo real.
6616
- * - Pendiente: identificar el fileKey/nodeId real del set KeyIcons y hacer un
6617
- * get_screenshot para validar radius (¿círculo full vs radio fijo grande?),
6618
- * border width, y el size del icono interno antes de marcar Figma-verified.
6863
+ * FIGMA-VERIFIED 2026-07-23 — set "Key Icons [1.1]" nodo 263:1850 (mismo file):
6864
+ * - Estructura confirmada vía get_metadata(263:1850): 90 symbols exactos =
6865
+ * Style(Stroke|Lighter) × Color(Gray/Blue/Orange/Red/Green/Yellow/Purple/
6866
+ * Pink/Teal) × Size(Small 32 / Medium 40 / Large 48 / X-Large 56 / 2X-Large 64).
6867
+ * - Stroke (263:1849, 264:2386): bg `--bg/white-0` + border 1px solid
6868
+ * `--stroke/soft-200` (#ebebeb) + `rounded-[var(--radius-full,999px)]` +
6869
+ * drop-shadow regular-shadow/x-small (0 1px 2px rgba(10,13,20,0.03)) ✓
6870
+ * — matchea `--sui-bg-white-0` / `--sui-stroke-soft-200` / `--sui-radius-full`
6871
+ * / `--sui-shadow-x-small` de sui-tokens.scss 1:1.
6872
+ * - Lighter (264:2716, 264:2604, 264:2496): bg `--state/<x>/lighter`
6873
+ * (faded #f5f5f5, information #ebf1ff), sin borde ni sombra, radius-full ✓.
6874
+ * - Icono (glyph placeholder `user-6-line` de RemixIcon, color `*-base`,
6875
+ * confirmado en screenshot del set completo): 64→32 (p16), 56→28 (p14),
6876
+ * 48→24 (p12), 40→20 (p10) = size/2 ✓; PERO Small 32→20 (p6), NO 16.
6877
+ * Desviación corregida en `iconSize` (piso de 20px).
6619
6878
  */
6620
6879
  declare class SuiKeyIcon {
6621
6880
  /** RemixIcon name (sin prefijo), e.g. 'mail-line', 'home-5-fill'. Se pasa a <sui-icon>. */
@@ -6629,7 +6888,11 @@ declare class SuiKeyIcon {
6629
6888
  readonly color: _angular_core.InputSignal<SuiKeyIconColor>;
6630
6889
  /** Tamaño del contenedor en px. Uno de 32/40/48/56/64. */
6631
6890
  readonly size: _angular_core.InputSignal<SuiKeyIconSize>;
6632
- /** Tamaño del icono interno = 50% del contenedor (Figma). */
6891
+ /**
6892
+ * Tamaño del icono interno. Figma 263:1850 (medido por variant): size/2 en
6893
+ * 40/48/56/64, pero Small (32) mantiene el glyph en 20px (piso de legibilidad
6894
+ * — 264:2712/264:2716 usan padding 6, icono 20, NO 16).
6895
+ */
6633
6896
  readonly iconSize: _angular_core.Signal<number>;
6634
6897
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiKeyIcon, never>;
6635
6898
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiKeyIcon, "sui-key-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "styleVariant": { "alias": "styleVariant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -7628,6 +7891,146 @@ declare class SuiPagination {
7628
7891
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiPagination, "sui-pagination", never, { "total": { "alias": "total"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; "showInfo": { "alias": "showInfo"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "firstLast": { "alias": "firstLast"; "required": false; "isSignal": true; }; "nextPrevious": { "alias": "nextPrevious"; "required": false; "isSignal": true; }; "infoFormat": { "alias": "infoFormat"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; }, { "pageSize": "pageSizeChange"; "currentPage": "currentPageChange"; "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; }, never, never, true, never>;
7629
7892
  }
7630
7893
 
7894
+ type SuiPasswordStrengthLevel = 'empty' | 'weak' | 'moderate' | 'strong';
7895
+ /**
7896
+ * Condición de la checklist bajo la barra.
7897
+ * - `label`: texto visible (requerido).
7898
+ * - `test`: RegExp o predicado sobre `value` — evalúa si la condición se cumple.
7899
+ * - `met`: override manual — si está definido gana sobre `test` (útil cuando el
7900
+ * consumer evalúa las reglas afuera, ej. validación de backend).
7901
+ */
7902
+ interface SuiPasswordStrengthCondition {
7903
+ label: string;
7904
+ test?: RegExp | ((value: string) => boolean);
7905
+ met?: boolean;
7906
+ }
7907
+ /** Condiciones default — las 3 del set de Figma, en español (tuteo). */
7908
+ declare const SUI_PASSWORD_STRENGTH_DEFAULT_CONDITIONS: SuiPasswordStrengthCondition[];
7909
+ /** Labels por nivel para el `aria-valuetext` (configurables vía `levelLabels`). */
7910
+ declare const SUI_PASSWORD_STRENGTH_DEFAULT_LEVEL_LABELS: Record<SuiPasswordStrengthLevel, string>;
7911
+ /**
7912
+ * sui-password-strength — SUI Design System 2.0 · Password Strength
7913
+ *
7914
+ * Figma: 8p1k72aKKvzJV4XcvPS4VO — frame "Password Strength [1.1]" node 327:8202.
7915
+ * VERIFIED via MCP (`get_metadata` + `get_design_context` + `get_variable_defs`
7916
+ * + `get_screenshot`, 2026-07-23).
7917
+ *
7918
+ * Indicador de fuerza de contraseña: barra segmentada de 3 niveles + caption +
7919
+ * checklist de condiciones. 4 variants del set (eje Strength):
7920
+ *
7921
+ * - ⚪️ Empty (327:8201): 0 segmentos llenos · todas las condiciones con
7922
+ * check gris (icon/soft-400) — estado neutro, aún sin tipear.
7923
+ * - 🔴 Weak (327:8239): segmento 1 lleno (error/base) · cumplidas con check
7924
+ * verde, NO cumplidas con close-circle gris.
7925
+ * - 🟡 Moderate (327:8258): segmentos 1-2 llenos (error + warning/base).
7926
+ * - 🟢 Strong (327:8277): 3 segmentos llenos (error + warning + success/base).
7927
+ *
7928
+ * OJO: cada segmento tiene su color FIJO (1=error, 2=warning, 3=success) y se
7929
+ * llenan progresivamente — en Strong la barra es roja+naranja+verde, NO toda verde.
7930
+ *
7931
+ * EXACT (pulled from Figma 2026-07-23, verified):
7932
+ * - Contenedor: flex-col, gap 8px, padding-top 6px, width 100% (Figma fija 300
7933
+ * como ejemplo — el componente es full-width, el consumer restringe).
7934
+ * - Fila "Level": flex gap 8px; cada segmento flex:1, height 4px, radius 1.2px.
7935
+ * - Segmento vacío: bg/soft-200 #ebebeb · lleno: state/error/base #fb3748 ·
7936
+ * state/warning/base #fa7319 · state/success/base #1fc16b.
7937
+ * - Caption y condiciones: text/sub-600 #5c5c5c, Inter Regular 12/lh16
7938
+ * (Paragraph/XSmall), font-feature-settings 'ss11' 1,'calt' 0,'liga' 0.
7939
+ * - Fila condición: flex gap 4px, items-center; icono 16px.
7940
+ * - Icono check (cumplida / estado empty): checkbox-circle-fill — verde
7941
+ * state/success/base cumplida, gris icon/soft-400 #a3a3a3 en empty.
7942
+ * - Icono no cumplida (weak/moderate): close-circle-fill gris icon/soft-400.
7943
+ * - Copy Figma "Must contain at least;" → "Debe contener al menos:" (ES).
7944
+ *
7945
+ * Derivación automática del nivel (cuando `strength` no se fuerza):
7946
+ * - `value` vacío → 'empty'
7947
+ * - todas las condiciones cumplidas → 'strong'
7948
+ * - cumplidas ≥ mitad del total → 'moderate'
7949
+ * - resto → 'weak'
7950
+ * (con las 3 condiciones default: 3=strong, 2=moderate, 0-1=weak — igual al set.)
7951
+ *
7952
+ * Inputs:
7953
+ * - value: string — la contraseña; evalúa condiciones y deriva el nivel.
7954
+ * - strength: SuiPasswordStrengthLevel | null (default null) — override
7955
+ * manual del nivel; si está presente gana sobre el derivado.
7956
+ * - caption: string (default 'Debe contener al menos:') — '' lo oculta.
7957
+ * - conditions: SuiPasswordStrengthCondition[] — checklist configurable
7958
+ * (default: las 3 del set en español). [] oculta la lista.
7959
+ * - levelLabels: Partial<Record<level, string>> — textos del aria-valuetext.
7960
+ * - ariaLabel: string (default 'Seguridad de la contraseña') — label del
7961
+ * progressbar.
7962
+ *
7963
+ * Output:
7964
+ * - strengthChange: SuiPasswordStrengthLevel — emitido cuando el nivel
7965
+ * resuelto cambia (no emite el estado inicial).
7966
+ *
7967
+ * A11y: la barra es role="progressbar" (aria-valuemin=0, aria-valuemax=3,
7968
+ * aria-valuenow=segmentos llenos, aria-valuetext=label del nivel); la checklist
7969
+ * es <ul>/<li> semántica con los iconos aria-hidden.
7970
+ *
7971
+ * Usage:
7972
+ * <sui-password-strength [value]="password()" (strengthChange)="onStrength($event)" />
7973
+ * <sui-password-strength strength="moderate" [conditions]="[]" caption="" />
7974
+ */
7975
+ declare class SuiPasswordStrength {
7976
+ /** Contraseña a evaluar — deriva las condiciones cumplidas y el nivel. */
7977
+ readonly value: _angular_core.InputSignal<string>;
7978
+ /** Override manual del nivel — presente gana sobre el derivado de `value`. */
7979
+ readonly strength: _angular_core.InputSignal<SuiPasswordStrengthLevel | null>;
7980
+ /** Caption sobre la checklist. '' = oculto. */
7981
+ readonly caption: _angular_core.InputSignal<string>;
7982
+ /** Checklist de condiciones. [] = sin checklist (solo barra + caption). */
7983
+ readonly conditions: _angular_core.InputSignal<SuiPasswordStrengthCondition[]>;
7984
+ /** Textos del nivel para lectores de pantalla (merge sobre los defaults ES). */
7985
+ readonly levelLabels: _angular_core.InputSignal<Partial<Record<SuiPasswordStrengthLevel, string>>>;
7986
+ /** Label accesible del progressbar. */
7987
+ readonly ariaLabel: _angular_core.InputSignal<string>;
7988
+ /** Emite el nivel resuelto cada vez que cambia (no emite el inicial). */
7989
+ readonly strengthChange: _angular_core.OutputEmitterRef<SuiPasswordStrengthLevel>;
7990
+ /** Condiciones evaluadas: `met` manual gana; sino corre `test` sobre `value`. */
7991
+ protected readonly conditionStates: _angular_core.Signal<{
7992
+ label: string;
7993
+ met: boolean;
7994
+ }[]>;
7995
+ /** Nivel resuelto: override explícito o derivado de las condiciones. */
7996
+ readonly resolvedStrength: _angular_core.Signal<SuiPasswordStrengthLevel>;
7997
+ /** Segmentos llenos de la barra (0-3) — también el aria-valuenow. */
7998
+ protected readonly filledSegments: _angular_core.Signal<number>;
7999
+ /** aria-valuetext del nivel actual (levelLabels del consumer sobre defaults). */
8000
+ protected readonly levelLabel: _angular_core.Signal<string>;
8001
+ /** Icono por condición: check (cumplida o estado empty) vs close (fallida). */
8002
+ protected iconName(met: boolean): string;
8003
+ private previousStrength;
8004
+ constructor();
8005
+ private runTest;
8006
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiPasswordStrength, never>;
8007
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiPasswordStrength, "sui-password-strength", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "strength": { "alias": "strength"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "conditions": { "alias": "conditions"; "required": false; "isSignal": true; }; "levelLabels": { "alias": "levelLabels"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "strengthChange": "strengthChange"; }, never, never, true, never>;
8008
+ }
8009
+
8010
+ /** Los 8 tipos canon del set de Figma (mismo orden que el frame). */
8011
+ declare const SUI_PAYMENT_ICON_TYPES: readonly ["water", "gas", "electricity", "donate", "internet", "phone", "rent", "tax"];
8012
+ type SuiPaymentIconType = (typeof SUI_PAYMENT_ICON_TYPES)[number];
8013
+ /** Tamaños del contenedor: reusa la escala canon de sui-key-icon (32/40/48/56/64). */
8014
+ type SuiPaymentIconSize = SuiKeyIconSize;
8015
+ declare class SuiPaymentIcon {
8016
+ /** Tipo de pago/servicio (ver SUI_PAYMENT_ICON_TYPES). Define icono + color. */
8017
+ readonly type: _angular_core.InputSignal<"water" | "gas" | "electricity" | "donate" | "internet" | "phone" | "rent" | "tax">;
8018
+ /** Tamaño del contenedor en px. Canon Figma = 40; la escala es la de sui-key-icon. */
8019
+ readonly size: _angular_core.InputSignal<SuiKeyIconSize>;
8020
+ /**
8021
+ * Aria-label opcional. Si se provee, se anuncia como imagen (`role="img"`);
8022
+ * si no, se considera decorativo (`aria-hidden="true"`) — el caso típico,
8023
+ * porque el icono acompaña un texto que ya nombra el servicio.
8024
+ */
8025
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
8026
+ /** RemixIcon name derivado del type (glyphs literales del set de Figma). */
8027
+ protected readonly iconName: _angular_core.Signal<string>;
8028
+ /** Color semántico de sui-key-icon derivado del type. */
8029
+ protected readonly keyColor: _angular_core.Signal<SuiKeyIconColor>;
8030
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiPaymentIcon, never>;
8031
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiPaymentIcon, "sui-payment-icon", never, { "type": { "alias": "type"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8032
+ }
8033
+
7631
8034
  /**
7632
8035
  * SUI Period Range — SUI Design System 2.0
7633
8036
  *
@@ -11453,5 +11856,5 @@ declare class SuiTooltipPanel {
11453
11856
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiTooltipPanel, "sui-tooltip-panel", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "showArrow": { "alias": "showArrow"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; }, never, never, true, never>;
11454
11857
  }
11455
11858
 
11456
- export { DAY_LABELS_ES, DEFAULT_DURATION_PRESETS, DEFAULT_PRESETS, EMPTY_STATE_FOX_EMOJI, SUI_BRAND_LOGO_COMPANIES, SUI_COLOR_DOT_COLORS, SUI_COLOR_DOT_HEX, SUI_CUSTOM_ICONS, SUI_EMOJI_MAP, SUI_FLAG_NAMES, SUI_HEX_TO_COLOR, SUI_KEY_ICON_COLORS, SUI_KEY_ICON_SIZES, SUI_NAVBAR_VISIBILITY, SUI_PRODUCT_FALLBACK_COLORS, SUI_TAB_BAR, SuiAccordion, SuiAccordionContent, SuiActivityFeed, SuiActivityFilter, SuiAlert, SuiAppStoreBadge, SuiAvatar, SuiAvatarGroup, SuiBadge, SuiBanner, SuiBrandLogo, SuiBreadcrumbItem, SuiBreadcrumbs, SuiButton, SuiButtonGroup, SuiButtonGroupItem, SuiCard, SuiCheckbox, SuiCheckboxCard, SuiCheckboxLabel, SuiCircularProgressBar, SuiColorDot, SuiColorPicker, SuiCommandMenuFooter, SuiCommandMenuItem, SuiCommandMenuSearch, SuiCompactAvatarGroup, SuiCompactButton, SuiCompactSelect, SuiCompactSelectForInput, SuiContentCard, SuiContentDivider, SuiCounterInput, SuiDateSelector, SuiDatepicker, SuiDayCell, SuiDayLabel, SuiDivider, SuiDrawerFooter, SuiDrawerHeader, SuiDropdownCaption, SuiDropdownItem, SuiDropdownMenu, SuiDropdownPanel, SuiDropdownSearch, SuiEmoji, SuiEmptyState, SuiFancyButton, SuiFileIcon, SuiFileUpload, SuiFileUploadCard, SuiFilterBar, SuiFilterItem, SuiFilterPanelFooter, SuiFilterPanelHeader, SuiFlag, SuiFormHint, SuiFormLabel, SuiIcon, SuiImageUpload, SuiImageUploadProfile, SuiImgRetry, SuiInlineInput, SuiInlineSelect, SuiInput, SuiIntegrationSwitch, SuiKbd, SuiKeyIcon, SuiLinkButton, SuiModal, SuiModalFooter, SuiModalHeader, SuiModalSheet, SuiNotification, SuiNotificationFooter, SuiNotificationTabMenu, SuiOtpInput, SuiPageHeader, SuiPagination, SuiPeriodRange, SuiPopover, SuiProductCard, SuiProgressBar, SuiProgressBarLabel, SuiRadio, SuiRadioCard, SuiRadioGroup, SuiRadioLabel, SuiRating, SuiRichEditor, SuiRichEditorItem, SuiSegmentedControl, SuiSelect, SuiSidebar, SuiSlider, SuiSocialButton, SuiStatusBadge, SuiStepper, SuiStoreCard, SuiSwitch, SuiSwitchCard, SuiSwitchLabel, SuiTabChips, SuiTabMenuHorizontal, SuiTabMenuVertical, SuiTable, SuiTableCellDirective, SuiTag, SuiTagInput, SuiTextarea, SuiTimePicker, SuiTimePickerDuration, SuiTimePickerItem, SuiTimePickerStatus, SuiToastOutlet, SuiToastService, SuiTooltip, SuiTooltipPanel, buildCalendarGrid, buildHourList, buildMinuteList, formatDateInput, formatDateShort, formatMonthYear, formatTime, isSameTime, normalizeHex, pad2, parseTime, to12h, to24h };
11457
- export type { CalendarCell, CalendarRow, DatepickerPreset, DatepickerPresetId, SuiAccordionFlipIcon, SuiActivityAvatarRef, SuiActivityFeedItem, SuiActivityFile, SuiActivityFilterState, SuiActivityTask, SuiActivityTaskState, SuiAlertAction, SuiAlertSize, SuiAlertStyle, SuiAlertVariant, SuiAppStoreBadgeAppearance, SuiAppStoreBadgeCompany, SuiAvatarColor, SuiAvatarConfig, SuiAvatarGroupItem, SuiAvatarSize, SuiAvatarStatus, SuiAvatarTopBadge, SuiBadgeColor, SuiBadgeConfig, SuiBadgeSize, SuiBadgeType, SuiBadgeVariant, SuiBannerStyle, SuiBannerVariant, SuiBrandLogoCompany, SuiBrandLogoSize, SuiBrandLogoStyle, SuiBreadcrumbDivider, SuiBreadcrumbEntry, SuiButtonColor, SuiButtonGroupEntry, SuiButtonGroupItemSize, SuiButtonSize, SuiButtonVariant, SuiCardSize, SuiCardVariant, SuiCheckboxCardType, SuiCheckboxSize, SuiCircularProgressBarColor, SuiCircularProgressBarSize, SuiColorDotColor, SuiCommandMenuItemSize, SuiCommandMenuItemType, SuiCompactAvatarGroupAppearance, SuiCompactAvatarGroupSize, SuiCompactButtonSize, SuiCompactButtonStyle, SuiCompactSelectForInputItem, SuiCompactSelectForInputSize, SuiCompactSelectItem, SuiCompactSelectSize, SuiCompactSelectType, SuiContentCardType, SuiContentDividerItem, SuiContentDividerType, SuiCounterInputSize, SuiDateRange, SuiDatepickerCalendars, SuiDatepickerMode, SuiDayCellType, SuiDividerOrientation, SuiDrawerFooterType, SuiDrawerHeaderSize, SuiDrawerHeaderType, SuiDropdownItemMode, SuiDropdownItemSize, SuiDropdownMenuPopupRole, SuiDropdownMenuPosition, SuiEmojiName, SuiEmojiSize, SuiEmptyStateAction, SuiFancyButtonSize, SuiFancyButtonType, SuiFileIconColor, SuiFileIconSize, SuiFileUploadCardFile, SuiFileUploadCardState, SuiFileUploadSize, SuiFilterItemState, SuiFlagName, SuiFlagSize, SuiFooterButtonConfig, SuiFormHintVariant, SuiFormLabelSize, SuiImageUploadProfileAlignment, SuiImageUploadProfileLabels, SuiImageUploadProfileType, SuiImageUploadShape, SuiImageUploadSize, SuiInlineSelectItem, SuiInlineSelectType, SuiInputSize, SuiInputType, SuiIntegrationManageConfig, SuiIntegrationSwitchAppearance, SuiIntegrationSwitchType, SuiKbdVariant, SuiKeyIconColor, SuiKeyIconSize, SuiKeyIconStyle, SuiLinkButtonSize, SuiLinkButtonVariant, SuiLinkConfig, SuiModalHeaderVariant, SuiModalIconVariant, SuiModalSize, SuiModalStatusAlignment, SuiNavbarVisibility, SuiNotificationStyle, SuiNotificationTab, SuiNotificationVariant, SuiOtpInputType, SuiPaginationInfoFormat, SuiPaginationSize, SuiPaginationType, SuiPopoverFooter, SuiPopoverPosition, SuiProductCardFallback, SuiProductCardImage, SuiProgressBarColor, SuiProgressBarLabelType, SuiProgressBarSize, SuiRadioCardType, SuiRadioSize, SuiRadioValue, SuiRatingAlignment, SuiRatingAppearance, SuiRatingReviewLink, SuiRatingSize, SuiRatingType, SuiRichEditorAction, SuiRichEditorCommand, SuiRichEditorItemState, SuiRichEditorItemType, SuiRichEditorLayout, SuiSegmentedControlItem, SuiSegmentedControlSize, SuiSelectOption, SuiSelectSize, SuiSelectType, SuiSidebarBrandConfig, SuiSidebarIndicatorColor, SuiSidebarItem, SuiSidebarMobileMode, SuiSidebarProfile, SuiSidebarSearchConfig, SuiSliderType, SuiSocialButtonBrand, SuiSocialButtonStyle, SuiStatusBadgeAppearance, SuiStatusBadgeStatus, SuiStepperItem, SuiStepperSize, SuiStepperState, SuiStepperVariant, SuiStoreCardData, SuiSwitchCardType, SuiSwitchSize, SuiTabBar, SuiTabChipItem, SuiTabMenuHorizontalItem, SuiTabMenuHorizontalSize, SuiTabMenuVerticalItem, SuiTabMenuVerticalStyle, SuiTableCellMisc, SuiTableCellPriority, SuiTableColumn, SuiTableSize, SuiTagInputSize, SuiTagStyle, SuiTimeDurationPreset, SuiTimeFormat, SuiTimePeriod, SuiTimePickerItemDirection, SuiTimePickerStatusType, SuiTimeValue, SuiToastAction, SuiToastData, SuiToastItem, SuiToastPosition, SuiToastStyle, SuiToastVariant, SuiTooltipLargeData, SuiTooltipPosition, SuiTooltipSize, SuiTooltipTheme, SuiTooltipThemeInput };
11859
+ export { DAY_LABELS_ES, DEFAULT_DURATION_PRESETS, DEFAULT_PRESETS, EMPTY_STATE_FOX_EMOJI, SUI_BRAND_LOGO_COMPANIES, SUI_CHART_LEGEND_COLORS, SUI_CHART_LEGEND_HEX, SUI_CHART_SERIES_COLORS, SUI_COLOR_DOT_COLORS, SUI_COLOR_DOT_HEX, SUI_CUSTOM_ICONS, SUI_EMOJI_MAP, SUI_FLAG_NAMES, SUI_HEX_TO_COLOR, SUI_KEY_ICON_COLORS, SUI_KEY_ICON_SIZES, SUI_NAVBAR_VISIBILITY, SUI_PASSWORD_STRENGTH_DEFAULT_CONDITIONS, SUI_PASSWORD_STRENGTH_DEFAULT_LEVEL_LABELS, SUI_PAYMENT_ICON_TYPES, SUI_PRODUCT_FALLBACK_COLORS, SUI_TAB_BAR, SuiAccordion, SuiAccordionContent, SuiActivityFeed, SuiActivityFilter, SuiAlert, SuiAppStoreBadge, SuiAvatar, SuiAvatarGroup, SuiBadge, SuiBanner, SuiBrandLogo, SuiBreadcrumbItem, SuiBreadcrumbs, SuiButton, SuiButtonGroup, SuiButtonGroupItem, SuiCard, SuiChartLegend, SuiChartLegendDot, SuiCheckbox, SuiCheckboxCard, SuiCheckboxLabel, SuiCircularProgressBar, SuiColorDot, SuiColorPicker, SuiCommandMenuFooter, SuiCommandMenuItem, SuiCommandMenuSearch, SuiCompactAvatarGroup, SuiCompactButton, SuiCompactSelect, SuiCompactSelectForInput, SuiContentCard, SuiContentDivider, SuiContentLabel, SuiCounterInput, SuiDateSelector, SuiDatepicker, SuiDayCell, SuiDayLabel, SuiDivider, SuiDrawerFooter, SuiDrawerHeader, SuiDropdownCaption, SuiDropdownItem, SuiDropdownMenu, SuiDropdownPanel, SuiDropdownSearch, SuiEmoji, SuiEmptyState, SuiFancyButton, SuiFileIcon, SuiFileUpload, SuiFileUploadCard, SuiFilterBar, SuiFilterItem, SuiFilterPanelFooter, SuiFilterPanelHeader, SuiFlag, SuiFormHint, SuiFormLabel, SuiIcon, SuiImageUpload, SuiImageUploadProfile, SuiImgRetry, SuiInlineInput, SuiInlineSelect, SuiInput, SuiIntegrationSwitch, SuiKbd, SuiKeyIcon, SuiLinkButton, SuiModal, SuiModalFooter, SuiModalHeader, SuiModalSheet, SuiNotification, SuiNotificationFooter, SuiNotificationTabMenu, SuiOtpInput, SuiPageHeader, SuiPagination, SuiPasswordStrength, SuiPaymentIcon, SuiPeriodRange, SuiPopover, SuiProductCard, SuiProgressBar, SuiProgressBarLabel, SuiRadio, SuiRadioCard, SuiRadioGroup, SuiRadioLabel, SuiRating, SuiRichEditor, SuiRichEditorItem, SuiSegmentedControl, SuiSelect, SuiSidebar, SuiSlider, SuiSocialButton, SuiStatusBadge, SuiStepper, SuiStoreCard, SuiSwitch, SuiSwitchCard, SuiSwitchLabel, SuiTabChips, SuiTabMenuHorizontal, SuiTabMenuVertical, SuiTable, SuiTableCellDirective, SuiTag, SuiTagInput, SuiTextarea, SuiTimePicker, SuiTimePickerDuration, SuiTimePickerItem, SuiTimePickerStatus, SuiToastOutlet, SuiToastService, SuiTooltip, SuiTooltipPanel, buildCalendarGrid, buildHourList, buildMinuteList, formatDateInput, formatDateShort, formatMonthYear, formatTime, isSameTime, normalizeHex, pad2, parseTime, to12h, to24h };
11860
+ export type { CalendarCell, CalendarRow, DatepickerPreset, DatepickerPresetId, SuiAccordionFlipIcon, SuiActivityAvatarRef, SuiActivityFeedItem, SuiActivityFile, SuiActivityFilterState, SuiActivityTask, SuiActivityTaskState, SuiAlertAction, SuiAlertSize, SuiAlertStyle, SuiAlertVariant, SuiAppStoreBadgeAppearance, SuiAppStoreBadgeCompany, SuiAvatarColor, SuiAvatarConfig, SuiAvatarGroupItem, SuiAvatarSize, SuiAvatarStatus, SuiAvatarTopBadge, SuiBadgeColor, SuiBadgeConfig, SuiBadgeSize, SuiBadgeType, SuiBadgeVariant, SuiBannerStyle, SuiBannerVariant, SuiBrandLogoCompany, SuiBrandLogoSize, SuiBrandLogoStyle, SuiBreadcrumbDivider, SuiBreadcrumbEntry, SuiButtonColor, SuiButtonGroupEntry, SuiButtonGroupItemSize, SuiButtonSize, SuiButtonVariant, SuiCardSize, SuiCardVariant, SuiChartLegendColor, SuiChartLegendItem, SuiCheckboxCardType, SuiCheckboxSize, SuiCircularProgressBarColor, SuiCircularProgressBarSize, SuiColorDotColor, SuiCommandMenuItemSize, SuiCommandMenuItemType, SuiCompactAvatarGroupAppearance, SuiCompactAvatarGroupSize, SuiCompactButtonSize, SuiCompactButtonStyle, SuiCompactSelectForInputItem, SuiCompactSelectForInputSize, SuiCompactSelectItem, SuiCompactSelectSize, SuiCompactSelectType, SuiContentCardType, SuiContentDividerItem, SuiContentDividerType, SuiContentLabelBadgePlacement, SuiContentLabelSize, SuiContentLabelType, SuiCounterInputSize, SuiDateRange, SuiDatepickerCalendars, SuiDatepickerMode, SuiDayCellType, SuiDividerOrientation, SuiDrawerFooterType, SuiDrawerHeaderSize, SuiDrawerHeaderType, SuiDropdownItemMode, SuiDropdownItemSize, SuiDropdownMenuPopupRole, SuiDropdownMenuPosition, SuiEmojiName, SuiEmojiSize, SuiEmptyStateAction, SuiFancyButtonSize, SuiFancyButtonType, SuiFileIconColor, SuiFileIconSize, SuiFileUploadCardFile, SuiFileUploadCardState, SuiFileUploadSize, SuiFilterItemState, SuiFlagName, SuiFlagSize, SuiFooterButtonConfig, SuiFormHintVariant, SuiFormLabelSize, SuiImageUploadProfileAlignment, SuiImageUploadProfileLabels, SuiImageUploadProfileType, SuiImageUploadShape, SuiImageUploadSize, SuiInlineSelectItem, SuiInlineSelectType, SuiInputSize, SuiInputType, SuiIntegrationManageConfig, SuiIntegrationSwitchAppearance, SuiIntegrationSwitchType, SuiKbdVariant, SuiKeyIconColor, SuiKeyIconSize, SuiKeyIconStyle, SuiLinkButtonSize, SuiLinkButtonVariant, SuiLinkConfig, SuiModalHeaderVariant, SuiModalIconVariant, SuiModalSize, SuiModalStatusAlignment, SuiNavbarVisibility, SuiNotificationStyle, SuiNotificationTab, SuiNotificationVariant, SuiOtpInputType, SuiPaginationInfoFormat, SuiPaginationSize, SuiPaginationType, SuiPasswordStrengthCondition, SuiPasswordStrengthLevel, SuiPaymentIconSize, SuiPaymentIconType, SuiPopoverFooter, SuiPopoverPosition, SuiProductCardFallback, SuiProductCardImage, SuiProgressBarColor, SuiProgressBarLabelType, SuiProgressBarSize, SuiRadioCardType, SuiRadioSize, SuiRadioValue, SuiRatingAlignment, SuiRatingAppearance, SuiRatingReviewLink, SuiRatingSize, SuiRatingType, SuiRichEditorAction, SuiRichEditorCommand, SuiRichEditorItemState, SuiRichEditorItemType, SuiRichEditorLayout, SuiSegmentedControlItem, SuiSegmentedControlSize, SuiSelectOption, SuiSelectSize, SuiSelectType, SuiSidebarBrandConfig, SuiSidebarIndicatorColor, SuiSidebarItem, SuiSidebarMobileMode, SuiSidebarProfile, SuiSidebarSearchConfig, SuiSliderType, SuiSocialButtonBrand, SuiSocialButtonStyle, SuiStatusBadgeAppearance, SuiStatusBadgeStatus, SuiStepperItem, SuiStepperSize, SuiStepperState, SuiStepperVariant, SuiStoreCardData, SuiSwitchCardType, SuiSwitchSize, SuiTabBar, SuiTabChipItem, SuiTabMenuHorizontalItem, SuiTabMenuHorizontalSize, SuiTabMenuVerticalItem, SuiTabMenuVerticalStyle, SuiTableCellMisc, SuiTableCellPriority, SuiTableColumn, SuiTableSize, SuiTagInputSize, SuiTagStyle, SuiTimeDurationPreset, SuiTimeFormat, SuiTimePeriod, SuiTimePickerItemDirection, SuiTimePickerStatusType, SuiTimeValue, SuiToastAction, SuiToastData, SuiToastItem, SuiToastPosition, SuiToastStyle, SuiToastVariant, SuiTooltipLargeData, SuiTooltipPosition, SuiTooltipSize, SuiTooltipTheme, SuiTooltipThemeInput };