@ajuarezso/sui-design-system 0.20.0 → 0.22.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.
Files changed (85) hide show
  1. package/docs/INDEX.md +75 -80
  2. package/docs/sui-accordion/README.md +171 -0
  3. package/docs/sui-activity-feed/README.md +155 -0
  4. package/docs/sui-activity-filter/README.md +100 -0
  5. package/docs/sui-alert/README.md +13 -0
  6. package/docs/sui-badge/README.md +17 -0
  7. package/docs/sui-banner/README.md +190 -0
  8. package/docs/sui-breadcrumb-item/README.md +96 -0
  9. package/docs/sui-breadcrumbs/README.md +122 -0
  10. package/docs/sui-button/README.md +36 -0
  11. package/docs/sui-card/README.md +168 -0
  12. package/docs/sui-chart-legend/README.md +140 -0
  13. package/docs/sui-chart-legend-dot/README.md +118 -0
  14. package/docs/sui-checkbox-card/README.md +150 -0
  15. package/docs/sui-command-menu-footer/README.md +100 -0
  16. package/docs/sui-command-menu-item/README.md +140 -0
  17. package/docs/sui-command-menu-search/README.md +105 -0
  18. package/docs/sui-compact-select/README.md +130 -0
  19. package/docs/sui-compact-select-for-input/README.md +120 -0
  20. package/docs/sui-content-card/README.md +147 -0
  21. package/docs/sui-content-label/README.md +148 -0
  22. package/docs/sui-counter-input/README.md +148 -0
  23. package/docs/sui-date-selector/README.md +98 -0
  24. package/docs/sui-datepicker/README.md +197 -0
  25. package/docs/sui-day-cell/README.md +118 -0
  26. package/docs/sui-day-label/README.md +81 -0
  27. package/docs/sui-drawer-footer/README.md +127 -0
  28. package/docs/sui-drawer-header/README.md +140 -0
  29. package/docs/sui-dropdown-caption/README.md +92 -0
  30. package/docs/sui-dropdown-item/README.md +163 -0
  31. package/docs/sui-dropdown-menu/README.md +196 -0
  32. package/docs/sui-dropdown-search/README.md +113 -0
  33. package/docs/sui-empty-state/README.md +145 -0
  34. package/docs/sui-file-upload/README.md +154 -0
  35. package/docs/sui-file-upload-card/README.md +129 -0
  36. package/docs/sui-filter/README.md +181 -0
  37. package/docs/sui-href/README.md +85 -0
  38. package/docs/sui-image-upload/README.md +200 -0
  39. package/docs/sui-image-upload-profile/README.md +145 -0
  40. package/docs/sui-img-retry/README.md +107 -0
  41. package/docs/sui-inline-input/README.md +104 -0
  42. package/docs/sui-inline-select/README.md +101 -0
  43. package/docs/sui-input/README.md +247 -0
  44. package/docs/sui-integration-switch/README.md +142 -0
  45. package/docs/sui-modal/README.md +238 -0
  46. package/docs/sui-modal-footer/README.md +178 -0
  47. package/docs/sui-modal-header/README.md +115 -0
  48. package/docs/sui-modal-sheet/README.md +170 -0
  49. package/docs/sui-notification/README.md +179 -0
  50. package/docs/sui-notification-footer/README.md +98 -0
  51. package/docs/sui-notification-tab-menu/README.md +112 -0
  52. package/docs/sui-otp-input/README.md +116 -0
  53. package/docs/sui-page-header/README.md +123 -0
  54. package/docs/sui-pagination/README.md +146 -0
  55. package/docs/sui-password-strength/README.md +99 -0
  56. package/docs/sui-period-range/README.md +93 -0
  57. package/docs/sui-popover/README.md +178 -0
  58. package/docs/sui-product-card/README.md +173 -0
  59. package/docs/sui-radio-card/README.md +160 -0
  60. package/docs/sui-rating/README.md +7 -6
  61. package/docs/sui-rich-editor/README.md +114 -0
  62. package/docs/sui-segmented-control/README.md +3 -0
  63. package/docs/sui-select/README.md +183 -0
  64. package/docs/sui-sidebar/README.md +217 -0
  65. package/docs/sui-stepper/README.md +166 -0
  66. package/docs/sui-store-card/README.md +147 -0
  67. package/docs/sui-switch-card/README.md +149 -0
  68. package/docs/sui-switch-label/README.md +3 -0
  69. package/docs/sui-tab-chips/README.md +188 -0
  70. package/docs/sui-tab-menu-horizontal/README.md +142 -0
  71. package/docs/sui-tab-menu-vertical/README.md +136 -0
  72. package/docs/sui-table/README.md +264 -0
  73. package/docs/sui-tag-input/README.md +123 -0
  74. package/docs/sui-textarea/README.md +160 -0
  75. package/docs/sui-time-picker/README.md +240 -0
  76. package/docs/sui-toast/README.md +190 -0
  77. package/docs/sui-tooltip/README.md +201 -0
  78. package/docs/sui-topbar/README.md +153 -0
  79. package/docs/sui-topbar-button/README.md +95 -0
  80. package/docs/sui-topbar-item/README.md +97 -0
  81. package/docs/sui-topbar-user/README.md +83 -0
  82. package/fesm2022/ajuarezso-sui-design-system.mjs +291 -246
  83. package/fesm2022/ajuarezso-sui-design-system.mjs.map +1 -1
  84. package/package.json +1 -1
  85. package/types/ajuarezso-sui-design-system.d.ts +208 -50
@@ -1507,7 +1507,7 @@ interface SuiBreadcrumbEntry {
1507
1507
  * - Output `(navigate)` emite el item clickeado.
1508
1508
  *
1509
1509
  * Accesibilidad:
1510
- * - host = `<nav aria-label="Breadcrumb">`
1510
+ * - host = `<nav aria-label="Ruta de navegación">`
1511
1511
  * - Lista interna `<ol>` (orden semántica) sin estilos default.
1512
1512
  * - Active item con `aria-current="page"` (manejado por `<sui-breadcrumb-item>`).
1513
1513
  * - Dividers `aria-hidden="true"`.
@@ -1812,7 +1812,10 @@ type SuiCardSize = 'small' | 'medium' | 'large' | 'xlarge';
1812
1812
  * al gap visual (queda pegado al body o al footer según haya footer o no).
1813
1813
  *
1814
1814
  * Interactive cards:
1815
- * - [interactive]="true" → cursor pointer, hover lift, focus ring.
1815
+ * - [interactive]="true" → cursor pointer, hover lift, focus ring, role=button,
1816
+ * tabindex=0 y teclado: Enter y Espacio disparan un click en el host (fix
1817
+ * 03-10-2026), así el `(click)` / `routerLink` del consumer sirve también
1818
+ * con teclado, igual que un <button>.
1816
1819
  * Apply only on cards that act as a single action surface (e.g., a tile that
1817
1820
  * navigates). For cards with multiple inner CTAs, leave non-interactive.
1818
1821
  *
@@ -1823,6 +1826,15 @@ declare class SuiCard {
1823
1826
  readonly variant: _angular_core.InputSignal<SuiCardVariant>;
1824
1827
  readonly size: _angular_core.InputSignal<SuiCardSize>;
1825
1828
  readonly interactive: _angular_core.InputSignal<boolean>;
1829
+ private readonly host;
1830
+ /**
1831
+ * Enter / Espacio sobre la card interactiva → click en el host (dispara el
1832
+ * `(click)` del consumer y un `routerLink` puesto en la card o en un `<a>`
1833
+ * que la envuelve). Solo cuando el foco está EN la card: una tecla dentro
1834
+ * de un campo o botón proyectado es de ese control. `preventDefault` evita
1835
+ * que el Espacio haga scroll; la tecla sostenida (`repeat`) no repite.
1836
+ */
1837
+ protected onKeyActivate(event: Event): void;
1826
1838
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiCard, never>;
1827
1839
  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>;
1828
1840
  }
@@ -3263,15 +3275,16 @@ declare class SuiFlag {
3263
3275
  * - SIN border (el input padre tiene su propio border)
3264
3276
  * - SIN focus ring (el input padre maneja el focus state)
3265
3277
  * - SIN error state (heredado del input padre)
3266
- * - X-Small usa flag 16×16, medium/small 20×20 (mismo patrón que el compact-select normal)
3278
+ * - X-Small usa flag 16×16, large/medium/small 20×20 (mismo patrón que el compact-select normal)
3279
+ * - `large` (extensión SUI, 03-10-2026) va dentro de un sui-input large (48)
3267
3280
  * - Menu matchea trigger width con minWidth=200
3268
3281
  *
3269
3282
  * `ControlValueAccessor` implementado — funciona con `formControlName`.
3270
3283
  *
3271
3284
  * Uso:
3272
- * <sui-input>
3285
+ * <sui-input [leadingControl]="true">
3273
3286
  * <sui-compact-select-for-input
3274
- * slot="prefix"
3287
+ * data-slot="start"
3275
3288
  * size="medium"
3276
3289
  * [items]="countries"
3277
3290
  * formControlName="country"
@@ -3282,7 +3295,8 @@ declare class SuiFlag {
3282
3295
  * Si el consumer escribe `[(selected)]` desde código, el FormControl NO se entera
3283
3296
  * (split-brain). Usar UNA fuente de verdad: formControl O selected, no las dos.
3284
3297
  */
3285
- type SuiCompactSelectForInputSize = 'medium' | 'small' | 'xsmall';
3298
+ /** `large` es extensión SUI (03-10-2026): para el `sui-input` large (48) de mobile. */
3299
+ type SuiCompactSelectForInputSize = 'large' | 'medium' | 'small' | 'xsmall';
3286
3300
  interface SuiCompactSelectForInputItem<T = string> {
3287
3301
  value: T;
3288
3302
  label: string;
@@ -3312,7 +3326,7 @@ declare class SuiCompactSelectForInput<T = string> implements ControlValueAccess
3312
3326
  readonly arrowIcon: _angular_core.Signal<"arrow-up-s-line" | "arrow-down-s-line">;
3313
3327
  readonly displayValue: _angular_core.Signal<string>;
3314
3328
  readonly displayFlag: _angular_core.Signal<"abkhazia" | "afghanistan" | "aland-islands" | "albania" | "algeria" | "american-samoa" | "andorra" | "angola" | "anguilla" | "antigua-and-barbuda" | "argentina" | "armenia" | "aruba" | "australia" | "austria" | "azerbaijan" | "azores-islands" | "bahamas" | "bahrain" | "balearic-islands" | "bangladesh" | "barbados" | "basque-country" | "belarus" | "belgium" | "belize" | "benin" | "bermuda" | "bhutan" | "bolivia" | "bonaire" | "bosnia-and-herzegovina" | "botswana" | "brazil" | "british-columbia" | "british-indian-ocean-territory" | "british-virgin-islands" | "brunei" | "bulgaria" | "burkina-faso" | "burundi" | "cambodia" | "cameroon" | "canada" | "canary-islands" | "cape-verde" | "cayman-islands" | "central-african-republic" | "ceuta" | "chad" | "chile" | "china" | "christmas-island" | "cocos-island" | "colombia" | "comoros" | "cook-islands" | "corsica" | "costa-rica" | "croatia" | "cuba" | "curacao" | "cyprus" | "czech-republic" | "democratic-republic-of-congo" | "denmark" | "djibouti" | "dominica" | "dominican-republic" | "east-timor" | "ecuador" | "egypt" | "el-salvador" | "england" | "equatorial-guinea" | "eritrea" | "estonia" | "ethiopia" | "european-union" | "falkland-islands" | "faroe-islands" | "fiji" | "finland" | "france" | "french-polynesia" | "gabon" | "galapagos-islands" | "gambia" | "georgia" | "germany" | "ghana" | "gibraltar" | "greece" | "greenland" | "grenada" | "guam" | "guatemala" | "guernsey" | "guinea-bissau" | "guinea" | "guyana" | "haiti" | "hawaii" | "honduras" | "hong-kong" | "hungary" | "iceland" | "india" | "indonesia" | "iran" | "iraq" | "ireland" | "isle-of-man" | "israel" | "italy" | "ivory-coast" | "jamaica" | "japan" | "jersey" | "jordan" | "kazakhstan" | "kenya" | "kiribati" | "kosovo" | "kuwait" | "kyrgyzstan" | "laos" | "latvia" | "lebanon" | "lesotho" | "liberia" | "libya" | "liechtenstein" | "lithuania" | "luxembourg" | "macao" | "madagascar" | "madeira" | "malawi" | "malaysia" | "maldives" | "mali" | "malta" | "marshall-island" | "martinique" | "mauritania" | "mauritus" | "melilla" | "mexico" | "micronesia" | "moldova" | "monaco" | "mongolia" | "montenegro" | "montserrat" | "morocco" | "mozambique" | "myanmar" | "namibia" | "nato" | "nauru" | "nepal" | "netherlands" | "new-zealand" | "nicaragua" | "niger" | "nigeria" | "niue" | "norfolk-island" | "north-korea" | "northern-cyprus" | "northern-marianas-islands" | "norway" | "oman" | "orkney-islands" | "ossetia" | "pakistan" | "palau" | "palestine" | "panama" | "papua-new-guinea" | "paraguay" | "peru" | "philippines" | "pitcairn-islands" | "poland" | "portugal" | "puerto-rico" | "qatar" | "rapa-nui" | "republic-of-macedonia" | "republic-of-the-congo" | "romania" | "russia" | "rwanda" | "saba-island" | "sahrawi-arab-democratic-republic" | "saint-kitts-and-nevis" | "samoa" | "san-marino" | "sao-tome-and-prince" | "sardinia" | "saudi-arabia" | "scotland" | "senegal" | "serbia" | "seychelles" | "sierra-leone" | "singapore" | "sint-eustatius" | "sint-maarten" | "slovakia" | "slovania" | "solomon-islands" | "somalia" | "somaliland" | "south-africa" | "south-korea" | "south-sudan" | "spain" | "sri-lanka" | "st-barts" | "st-lucia" | "st-vincent-and-the-grenadines" | "sudan" | "suriname" | "swaziland" | "sweden" | "switzerland" | "syria" | "taijikistan" | "taiwan" | "tanzania" | "thailand" | "tibet" | "togo" | "tokelau" | "tonga" | "transnistria" | "trinidad-and-tobago" | "tunisia" | "turkey" | "turkmenistan" | "turks-and-caicos" | "tuvalu" | "uganda" | "ukraine" | "united-arab-emirates" | "united-kingdom" | "united-nations" | "united-states" | "uruguay" | "uzbekistan" | "vanuatu" | "vatican-city" | "venezuela" | "vietnam" | "virgin-islands" | "wales" | "yemen" | "zambia" | "zimbabwe" | null>;
3315
- readonly flagSizePx: _angular_core.Signal<16 | 20>;
3329
+ readonly flagSizePx: _angular_core.Signal<20 | 16>;
3316
3330
  onHostClick(event: Event): void;
3317
3331
  protected onMenuOpenedChange(open: boolean): void;
3318
3332
  protected selectItem(item: SuiCompactSelectForInputItem<T>): void;
@@ -3355,6 +3369,7 @@ declare class SuiCompactSelectForInput<T = string> implements ControlValueAccess
3355
3369
  *
3356
3370
  * Specs Figma (sin cambios vs versión anterior):
3357
3371
  * Sizes: medium 40 (p=10 r=10) / small 36 (p=8 r=8) / xsmall 32 (p=6 r=8)
3372
+ * + large 48 (p=14 r=12, extensión SUI 03-10-2026, para mobile)
3358
3373
  * States: placeholder / filled / hover / focused / disabled / error
3359
3374
  * Types: basic / icon (RemixIcon 20×20) / country (sui-flag 20×20; 16×16 en xsmall)
3360
3375
  *
@@ -3372,7 +3387,8 @@ declare class SuiCompactSelectForInput<T = string> implements ControlValueAccess
3372
3387
  * se entera del cambio (split-brain). Usar UNA u OTRA, no las dos juntas.
3373
3388
  */
3374
3389
  type SuiCompactSelectType = 'basic' | 'icon' | 'country';
3375
- type SuiCompactSelectSize = 'medium' | 'small' | 'xsmall';
3390
+ /** `large` (48) es extensión SUI (03-10-2026): el alto del `sui-button` large para mobile. */
3391
+ type SuiCompactSelectSize = 'large' | 'medium' | 'small' | 'xsmall';
3376
3392
  /**
3377
3393
  * Shape del item dentro del menu. El consumer pasa array de estos en `[items]`.
3378
3394
  * Compatible con generics (T = tipo del value que se guarda en formControl).
@@ -3646,6 +3662,9 @@ type SuiContentCardType = 'basic' | 'left-icon' | 'avatar' | 'card-provider' | '
3646
3662
  * <sui-content-card type="brand" brand="stripe" title="Stripe" subtitle="Conectado"
3647
3663
  * [badge]="{ label: 'Activo', color: 'green' }" />
3648
3664
  */
3665
+ /** Tamaño de la X de quitar: `medium` 20 (Figma, default) · `large` 32 con
3666
+ área táctil de 40 (extensión SUI 03-10-2026, mobile). */
3667
+ type SuiContentCardSize = 'medium' | 'large';
3649
3668
  declare class SuiContentCard {
3650
3669
  /** Tipo de leading visual. */
3651
3670
  readonly type: _angular_core.InputSignal<SuiContentCardType>;
@@ -3678,6 +3697,13 @@ declare class SuiContentCard {
3678
3697
  readonly dismissible: _angular_core.InputSignal<boolean>;
3679
3698
  /** aria-label del botón X. */
3680
3699
  readonly dismissAriaLabel: _angular_core.InputSignal<string>;
3700
+ /**
3701
+ * Tamaño de la X de quitar (la fila no cambia: sigue en 72).
3702
+ * `medium` (default, Figma): 20 × 20 sin área extra.
3703
+ * `large` — extensión SUI (03-10-2026) para mobile: caja de 32 × 32 con el
3704
+ * glyph en 20 y un área táctil invisible de 40 × 40.
3705
+ */
3706
+ readonly size: _angular_core.InputSignal<SuiContentCardSize>;
3681
3707
  /**
3682
3708
  * Estado deshabilitado: atenúa contenido a tokens disabled-300, deshabilita el
3683
3709
  * badge y el botón X (sin pointer-events), y setea aria-disabled en el host.
@@ -3693,7 +3719,7 @@ declare class SuiContentCard {
3693
3719
  protected readonly labelType: _angular_core.Signal<SuiContentLabelType>;
3694
3720
  onDismiss(event: MouseEvent): void;
3695
3721
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiContentCard, never>;
3696
- 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>;
3722
+ 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; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, never, true, never>;
3697
3723
  }
3698
3724
 
3699
3725
  type SuiContentDividerType = 'line' | 'line-spacing' | 'text-line' | 'text' | 'solid-text' | 'icon-button' | 'icon-button-group' | 'text-button' | 'text-button-group';
@@ -3928,8 +3954,10 @@ type SuiCounterInputSize = '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' |
3928
3954
  * - bg-white-0 + 1px solid stroke-soft-200 + regular-shadow x-small (default)
3929
3955
  *
3930
3956
  * Steppers (Compact Button [1.1], style ghost):
3931
- * - padding 2px, radius 6px, icono 20×20 (subtract-line / add-line) en TODOS
3932
- * los sizes → caja del stepper = 24×24. color icon-sub-600.
3957
+ * - padding 2px, radius 6px, icono 20×20 (subtract-line / add-line) → caja
3958
+ * del stepper = 24×24 de 2xsmall a medium. color icon-sub-600.
3959
+ * - large / xlarge (extensión SUI, 03-10-2026): el stepper crece a 40 / 44
3960
+ * para tocarlo con el dedo en mobile (ícono 20 / 24).
3933
3961
  *
3934
3962
  * Valor (Paragraph/Small — Inter 14/20, -0.084px), text-center, flex 1:
3935
3963
  * - default: text-soft-400 (placeholder gris, valor "vacío"/sin foco)
@@ -3966,6 +3994,8 @@ declare class SuiCounterInput implements ControlValueAccessor {
3966
3994
  readonly size: _angular_core.InputSignal<SuiCounterInputSize>;
3967
3995
  /** El form-label no tiene 'large' — se capea a medium (el label no escala). */
3968
3996
  protected readonly labelSize: _angular_core.Signal<SuiFormLabelSize>;
3997
+ /** Ícono de los botones − / +: 20 hasta large, 24 en xlarge (botón de 44). */
3998
+ protected readonly iconSize: _angular_core.Signal<20 | 24>;
3969
3999
  readonly label: _angular_core.InputSignal<string | null>;
3970
4000
  readonly sublabel: _angular_core.InputSignal<string | null>;
3971
4001
  readonly required: _angular_core.InputSignal<boolean>;
@@ -4106,12 +4136,21 @@ declare function buildCalendarGrid(monthAnchor: Date, options: {
4106
4136
  }): CalendarCell[];
4107
4137
  /** Etiquetas de días para el header del grid — locale ES (lunes-domingo). */
4108
4138
  declare const DAY_LABELS_ES: readonly string[];
4139
+ /** «Octubre 2026» — con mayúscula inicial (date-fns en español la da en
4140
+ * minúscula; la regla de copy del proyecto es sentence case). Fix 03-10-2026. */
4109
4141
  declare function formatMonthYear(date: Date): string;
4110
4142
  declare function formatDateShort(date: Date): string;
4111
4143
  declare function formatDateInput(date: Date): string;
4112
4144
 
4113
4145
  type SuiDatepickerMode = 'date' | 'range';
4114
4146
  type SuiDatepickerCalendars = 1 | 2;
4147
+ /**
4148
+ * Alto del campo (trigger): small 36 · medium 40 (default) · large 48.
4149
+ * `small` y `large` son extensión SUI (03-10-2026): large es el de mobile, el
4150
+ * mismo alto que sui-input/sui-select large. Con large (y siempre en mobile)
4151
+ * las flechas de mes miden 40 y Cancelar/Aplicar van en large.
4152
+ */
4153
+ type SuiDatepickerSize = 'small' | 'medium' | 'large';
4115
4154
  interface SuiDateRange {
4116
4155
  start: Date | null;
4117
4156
  end: Date | null;
@@ -4206,6 +4245,8 @@ declare class SuiDatepicker implements ControlValueAccessor {
4206
4245
  readonly calendars: _angular_core.InputSignal<SuiDatepickerCalendars>;
4207
4246
  /** Renderiza el calendar inline (sin trigger ni popover). */
4208
4247
  readonly inline: _angular_core.InputSignal<boolean>;
4248
+ /** Alto del campo: small 36 · medium 40 (default) · large 48 (ver SuiDatepickerSize). */
4249
+ readonly size: _angular_core.InputSignal<SuiDatepickerSize>;
4209
4250
  /** Placeholder del input cuando no hay valor seleccionado. */
4210
4251
  readonly placeholder: _angular_core.InputSignal<string>;
4211
4252
  /** Si true, muestra Cancel/Apply en el footer. Range siempre lo muestra. */
@@ -4248,6 +4289,11 @@ declare class SuiDatepicker implements ControlValueAccessor {
4248
4289
  * - mode='range' + mobile → 1
4249
4290
  * - mode='range' + desktop → respeta el prop
4250
4291
  */
4292
+ /**
4293
+ * Cancelar / Aplicar: large (48) con el campo large y siempre en mobile, para
4294
+ * tocarlos con el dedo (extensión SUI, 03-10-2026); small (36, Figma) si no.
4295
+ */
4296
+ readonly footerButtonSize: _angular_core.Signal<"small" | "large">;
4251
4297
  readonly effectiveCalendars: _angular_core.Signal<SuiDatepickerCalendars>;
4252
4298
  private _onChange;
4253
4299
  private _onTouched;
@@ -4275,6 +4321,8 @@ declare class SuiDatepicker implements ControlValueAccessor {
4275
4321
  readonly rangeHint: _angular_core.Signal<string | null>;
4276
4322
  toggle(): void;
4277
4323
  openPopover(): void;
4324
+ /** Copia `value` a lo staged (lo que pinta el calendario). */
4325
+ private _stageFromValue;
4278
4326
  cancel(): void;
4279
4327
  apply(): void;
4280
4328
  selectCell(cell: CalendarCell): void;
@@ -4298,7 +4346,7 @@ declare class SuiDatepicker implements ControlValueAccessor {
4298
4346
  * - null → fuera de range o mode=date */
4299
4347
  cellRangePosition(cell: CalendarCell): 'start' | 'end' | 'in' | null;
4300
4348
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiDatepicker, never>;
4301
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiDatepicker, "sui-datepicker", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "calendars": { "alias": "calendars"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "markedDates": { "alias": "markedDates"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
4349
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiDatepicker, "sui-datepicker", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "calendars": { "alias": "calendars"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "markedDates": { "alias": "markedDates"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
4302
4350
  }
4303
4351
 
4304
4352
  type SuiDayCellType = 'basic' | 'range';
@@ -5141,6 +5189,11 @@ interface SuiEmptyStateAction {
5141
5189
  label: string;
5142
5190
  route?: string;
5143
5191
  }
5192
+ /**
5193
+ * Tamaño del botón de la acción. `medium` (40) es el default de siempre;
5194
+ * `large` (48) es extensión SUI (03-10-2026): el CTA de mobile.
5195
+ */
5196
+ type SuiEmptyStateSize = 'medium' | 'large';
5144
5197
  /**
5145
5198
  * SUI Empty State — SUI Design System 2.0
5146
5199
  *
@@ -5174,6 +5227,8 @@ interface SuiEmptyStateAction {
5174
5227
  * - subtitle: descripción
5175
5228
  * - action: string shorthand (solo label → botón emite actionClicked) o
5176
5229
  * { label, route? } — con route el botón navega vía routerLink
5230
+ * - size: tamaño del botón de la acción — medium 40 (default) | large 48
5231
+ * (extensión SUI 03-10-2026, para mobile)
5177
5232
  */
5178
5233
  declare class SuiEmptyState {
5179
5234
  /** URL de Fluent Emoji (3D o animado) — override del zorro default. */
@@ -5185,6 +5240,10 @@ declare class SuiEmptyState {
5185
5240
  null/'' = sin botón. */
5186
5241
  action: _angular_core.InputSignal<string | SuiEmptyStateAction | null>;
5187
5242
  actionClicked: _angular_core.OutputEmitterRef<void>;
5243
+ /** Tamaño del botón de la acción: `medium` 40 (default) o `large` 48 para
5244
+ mobile — extensión SUI (03-10-2026). Solo cambia el botón; emoji, título
5245
+ y padding siguen igual. */
5246
+ size: _angular_core.InputSignal<SuiEmptyStateSize>;
5188
5247
  /** Config resuelta del CTA (string → { label }; sin label → null). */
5189
5248
  protected readonly actionCfg: _angular_core.Signal<SuiEmptyStateAction | null>;
5190
5249
  /** URL del emoji. Default = zorro (mascota canon de empty states del proyecto):
@@ -5193,7 +5252,7 @@ declare class SuiEmptyState {
5193
5252
  incluidas las secciones reutilizables — sin tocar cada uso. */
5194
5253
  protected readonly resolvedEmojiSrc: _angular_core.Signal<string>;
5195
5254
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiEmptyState, never>;
5196
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiEmptyState, "sui-empty-state", never, { "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; }, { "actionClicked": "actionClicked"; }, never, never, true, never>;
5255
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiEmptyState, "sui-empty-state", never, { "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "actionClicked": "actionClicked"; }, never, never, true, never>;
5197
5256
  }
5198
5257
  /** Zorro animado (Fluent Emoji) — emoji default canon de los empty states. */
5199
5258
  declare const EMPTY_STATE_FOX_EMOJI = "https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Animals/Fox.png";
@@ -5498,13 +5557,13 @@ interface SuiFileUploadCardFile {
5498
5557
  * - file: string shorthand (= filename, default "file.pdf") o
5499
5558
  * { filename, extension? } — extension overridea el FileIcon
5500
5559
  * (si falta se extrae del filename)
5501
- * - description: texto secundario izquierdo (ej. "0 KB of 120 KB")
5560
+ * - description: texto secundario izquierdo (ej. «0 KB de 120 KB»)
5502
5561
  * - state: 'in-progress' | 'success' | 'error'
5503
5562
  * - progress: 0–100 — solo se muestra si state==='in-progress'
5504
5563
  * - statusText: override del label de status (sino default por state:
5505
- * "Uploading..." / "Completed" / "Failed")
5564
+ * «Subiendo…» / «Completado» / «Falló»; en español desde el 03-10-2026)
5506
5565
  * - showStatus: muestra/oculta el bloque de status (default true)
5507
- * - retryLabel: texto del link de error (default "Try Again")
5566
+ * - retryLabel: texto del link de error (default «Reintentar»)
5508
5567
  *
5509
5568
  * Outputs:
5510
5569
  * - actionClicked: click en el botón compacto (close en in-progress,
@@ -5521,6 +5580,10 @@ declare class SuiFileUploadCard {
5521
5580
  readonly progress: _angular_core.InputSignal<number>;
5522
5581
  readonly statusText: _angular_core.InputSignal<string | null>;
5523
5582
  readonly showStatus: _angular_core.InputSignal<boolean>;
5583
+ /** Textos para el lector de pantalla (antes fijos en inglés). */
5584
+ readonly cancelLabel: _angular_core.InputSignal<string>;
5585
+ readonly removeLabel: _angular_core.InputSignal<string>;
5586
+ readonly progressLabel: _angular_core.InputSignal<string>;
5524
5587
  readonly retryLabel: _angular_core.InputSignal<string>;
5525
5588
  readonly actionClicked: _angular_core.OutputEmitterRef<void>;
5526
5589
  readonly retryClicked: _angular_core.OutputEmitterRef<void>;
@@ -5535,7 +5598,7 @@ declare class SuiFileUploadCard {
5535
5598
  protected onAction(): void;
5536
5599
  protected onRetry(): void;
5537
5600
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiFileUploadCard, never>;
5538
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFileUploadCard, "sui-file-upload-card", never, { "file": { "alias": "file"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "statusText": { "alias": "statusText"; "required": false; "isSignal": true; }; "showStatus": { "alias": "showStatus"; "required": false; "isSignal": true; }; "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; }, { "actionClicked": "actionClicked"; "retryClicked": "retryClicked"; }, never, never, true, never>;
5601
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFileUploadCard, "sui-file-upload-card", never, { "file": { "alias": "file"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "statusText": { "alias": "statusText"; "required": false; "isSignal": true; }; "showStatus": { "alias": "showStatus"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "progressLabel": { "alias": "progressLabel"; "required": false; "isSignal": true; }; "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; }, { "actionClicked": "actionClicked"; "retryClicked": "retryClicked"; }, never, never, true, never>;
5539
5602
  }
5540
5603
 
5541
5604
  type SuiFileUploadSize = 'small' | 'medium' | 'large' | 'xlarge';
@@ -5552,7 +5615,8 @@ type SuiFileUploadSize = 'small' | 'medium' | 'large' | 'xlarge';
5552
5615
  * default / hover / dragover / disabled / error. Soporta single o multi.
5553
5616
  *
5554
5617
  * EXACT (pulled from Figma, verified — node 450:9410 / 450:9429):
5555
- * - Container: w=400px (responsive 100% en consumer), padding=32px, gap=20px,
5618
+ * - Container: Figma w=400px; SUI lo hace fluido (width 100% del contenedor,
5619
+ * 03-10-2026) para que llene la columna del formulario. padding=32px, gap=20px,
5556
5620
  * border=1px dashed --sui-stroke-sub-300 (#d1d1d1), radius=12px,
5557
5621
  * bg=--sui-bg-white-0. Flex column, items+justify center.
5558
5622
  * - Icon: upload-cloud-2-line (Remix) 24×24, color --sui-icon-sub-600 (#5c5c5c),
@@ -5596,7 +5660,8 @@ type SuiFileUploadSize = 'small' | 'medium' | 'large' | 'xlarge';
5596
5660
  * - maxSize: bytes máximo por archivo. 0 = sin límite.
5597
5661
  * - title: label primario.
5598
5662
  * - subtitle: texto secundario.
5599
- * - browseLabel: texto del botón Browse File (default "Browse File").
5663
+ * - browseLabel: texto del botón (default «Buscar archivo»; era "Browse File"
5664
+ * hasta el 03-10-2026).
5600
5665
  * - disabled: bloquea interacción.
5601
5666
  * - error: estado de error (border rojo).
5602
5667
  * - errorMessage: texto del error mostrado debajo.
@@ -5622,7 +5687,7 @@ declare class SuiFileUpload {
5622
5687
  protected readonly inputRef: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
5623
5688
  protected readonly dragging: _angular_core.WritableSignal<boolean>;
5624
5689
  protected readonly internalError: _angular_core.WritableSignal<string | null>;
5625
- protected readonly state: _angular_core.Signal<"error" | "default" | "disabled" | "dragover">;
5690
+ protected readonly state: _angular_core.Signal<"default" | "error" | "disabled" | "dragover">;
5626
5691
  protected readonly resolvedTitle: _angular_core.Signal<string>;
5627
5692
  protected readonly resolvedSubtitle: _angular_core.Signal<string>;
5628
5693
  protected readonly resolvedErrorMessage: _angular_core.Signal<string | null>;
@@ -6155,6 +6220,10 @@ declare class SuiImageUploadProfile implements ControlValueAccessor {
6155
6220
 
6156
6221
  type SuiImageUploadShape = 'circle' | 'rect';
6157
6222
  type SuiImageUploadSize = 'sm' | 'md' | 'lg' | 'xl';
6223
+ /** Valor del `accept` del input file (tipos + extensiones, por el .heic sin MIME). */
6224
+ declare const SUI_IMAGE_UPLOAD_ACCEPT: string;
6225
+ /** ¿Es una imagen que el componente acepta? Por MIME o, si viene vacío, por extensión. */
6226
+ declare function esImagenAceptada(file: Pick<File, 'type' | 'name'>): boolean;
6158
6227
  /**
6159
6228
  * SUI Image Upload — SUI Design System 2.0
6160
6229
  *
@@ -6203,7 +6272,7 @@ type SuiImageUploadSize = 'sm' | 'md' | 'lg' | 'xl';
6203
6272
  *
6204
6273
  * RESUELTO 2026-05-29:
6205
6274
  * - 1.7 (component library): el botón "Quitar" pasó de <button> custom a
6206
- * <sui-button variant="stroke" color="error" size="2xsmall">. Los iconos
6275
+ * <sui-button variant="stroke" color="error" size="xsmall">. Los iconos
6207
6276
  * cámara/lápiz pasaron de SVG inline a <sui-icon name="image-add-line" /> y
6208
6277
  * <sui-icon name="pencil-line" />.
6209
6278
  *
@@ -6270,8 +6339,14 @@ declare class SuiImageUpload {
6270
6339
  protected readonly sizePx: _angular_core.Signal<number>;
6271
6340
  /** Camera icon px en el empty state. xl escala a 20, resto 16
6272
6341
  * (matchea el escalado del contenedor 32→40 en SCSS). */
6273
- protected readonly iconSize: _angular_core.Signal<16 | 20>;
6342
+ protected readonly iconSize: _angular_core.Signal<20 | 16>;
6343
+ /** Ícono del lápiz y el tacho (editable): 20 en botones de 40, 16 en sm (32). */
6344
+ protected readonly ctrlIconSize: _angular_core.Signal<20 | 16>;
6274
6345
  protected readonly hasSrc: _angular_core.Signal<boolean>;
6346
+ /** Hay imagen y se muestra el botón «Quitar» debajo (sin `editable`). */
6347
+ protected readonly conQuitar: _angular_core.Signal<boolean>;
6348
+ /** Valor del `accept` del input file (incluye HEIC/HEIF). */
6349
+ protected readonly accept: string;
6275
6350
  protected readonly state: _angular_core.Signal<"filled" | "disabled" | "dragover" | "empty">;
6276
6351
  protected readonly resolvedTitle: _angular_core.Signal<string>;
6277
6352
  protected readonly resolvedSubtitle: _angular_core.Signal<string>;
@@ -6802,7 +6877,7 @@ type SuiIntegrationSwitchAppearance = 'card' | 'list';
6802
6877
  * Config del manage button embebido. Un solo input `[manage]` reemplaza al
6803
6878
  * trío showManage/manageLabel/manageIcon (mismo patrón objeto que
6804
6879
  * `badge`/SuiBadgeConfig — canon sui-checkbox-label):
6805
- * - `true` (default) → botón con defaults ('Manage' + settings-2-line)
6880
+ * - `true` (default) → botón con defaults ('Administrar' + settings-2-line)
6806
6881
  * - `'Configurar'` → string shorthand: label custom, icon default
6807
6882
  * - `{ label, icon }` → config completa
6808
6883
  * - `false` / `null` → sin botón
@@ -6894,7 +6969,7 @@ declare class SuiIntegrationSwitch implements ControlValueAccessor {
6894
6969
  (label + color/variant/size, tipado como sui-badge). null = sin badge. */
6895
6970
  readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
6896
6971
  protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
6897
- /** Manage button — true = defaults ('Manage' + settings-2-line), string =
6972
+ /** Manage button — true = defaults ('Administrar' + settings-2-line), string =
6898
6973
  label custom con icon default, SuiIntegrationManageConfig = todo,
6899
6974
  false/null = oculto. */
6900
6975
  readonly manage: _angular_core.InputSignal<string | boolean | SuiIntegrationManageConfig | null>;
@@ -7833,7 +7908,7 @@ declare class SuiNotificationFooter {
7833
7908
  private static readonly DEFAULT_MANAGE_LABEL;
7834
7909
  readonly usePrefix: _angular_core.InputSignal<string>;
7835
7910
  readonly useSuffix: _angular_core.InputSignal<string>;
7836
- /** Link de gestión — true = label default ('Manage Notification'); string =
7911
+ /** Link de gestión — true = label default ('Administrar notificaciones'); string =
7837
7912
  * label custom (emite `manageClick`); SuiLinkConfig { label, href?, target?,
7838
7913
  * rel? }: con href renderiza <a> real, rel automático 'noopener noreferrer'
7839
7914
  * para _blank. false/null = oculto (Figma prop `button` off). */
@@ -8040,7 +8115,7 @@ declare class SuiNotification {
8040
8115
  readonly dismissible: _angular_core.InputSignal<boolean>;
8041
8116
  readonly unread: _angular_core.InputSignal<boolean>;
8042
8117
  /** Item body type. 'basic' keeps the legacy/alert layout (no body slot). */
8043
- readonly type: _angular_core.InputSignal<"basic" | "button" | "file" | "message">;
8118
+ readonly type: _angular_core.InputSignal<"button" | "basic" | "file" | "message">;
8044
8119
  /** When true, item paints the Figma hover bg + reveals the more-2-line button. */
8045
8120
  readonly showMore: _angular_core.InputSignal<boolean>;
8046
8121
  /** Forces the hover affordance visible (e.g. keyboard-focused row). */
@@ -8073,6 +8148,13 @@ declare class SuiNotification {
8073
8148
  }
8074
8149
 
8075
8150
  type SuiOtpInputType = 'number' | 'text';
8151
+ /**
8152
+ * Tamaño de la celda (extensión SUI, 03-10-2026). `large` es el de la guía
8153
+ * (80 × 64) y el default. `medium` (52 × 56) hace entrar 6 celdas en un
8154
+ * teléfono de 390 (6 × 52 + 5 × 8 = 352 de 358 útiles); `small` (44 × 48)
8155
+ * para pantallas de 360 o un código dentro de una tarjeta.
8156
+ */
8157
+ type SuiOtpInputSize = 'large' | 'medium' | 'small';
8076
8158
  /**
8077
8159
  * SUI OTP / Digit Input — SUI Design System 2.0
8078
8160
  *
@@ -8114,6 +8196,9 @@ type SuiOtpInputType = 'number' | 'text';
8114
8196
  * - CVA: el value expuesto es el string concatenado de todas las celdas.
8115
8197
  *
8116
8198
  * @input length Cantidad de celdas (default 6).
8199
+ * @input size 'large' (80×64, guía) | 'medium' (52×56) | 'small' (44×48).
8200
+ * Además las celdas se achican si no entran en el ancho
8201
+ * del contenedor (extensión SUI, 03-10-2026).
8117
8202
  * @input type 'number' | 'text' — 'number' restringe a [0-9] e
8118
8203
  * inputmode='numeric'; 'text' acepta cualquier char e
8119
8204
  * inputmode='text'.
@@ -8132,6 +8217,8 @@ type SuiOtpInputType = 'number' | 'text';
8132
8217
  */
8133
8218
  declare class SuiOtpInput implements ControlValueAccessor {
8134
8219
  readonly length: _angular_core.InputSignal<number>;
8220
+ /** Tamaño de la celda: large 80×64 (guía, default) · medium 52×56 · small 44×48. */
8221
+ readonly size: _angular_core.InputSignal<SuiOtpInputSize>;
8135
8222
  readonly type: _angular_core.InputSignal<SuiOtpInputType>;
8136
8223
  readonly disabled: _angular_core.ModelSignal<boolean>;
8137
8224
  readonly error: _angular_core.InputSignal<boolean>;
@@ -8169,7 +8256,7 @@ declare class SuiOtpInput implements ControlValueAccessor {
8169
8256
  registerOnTouched(fn: () => void): void;
8170
8257
  setDisabledState(isDisabled: boolean): void;
8171
8258
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiOtpInput, never>;
8172
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiOtpInput, "sui-otp-input", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "value": "valueChange"; "completed": "completed"; }, never, never, true, never>;
8259
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiOtpInput, "sui-otp-input", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "value": "valueChange"; "completed": "completed"; }, never, never, true, never>;
8173
8260
  }
8174
8261
 
8175
8262
  /**
@@ -8488,6 +8575,9 @@ declare class SuiPeriodRange {
8488
8575
  type SuiPopoverPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'right-top' | 'right-center' | 'right-bottom' | 'left-top' | 'left-center' | 'left-bottom';
8489
8576
  /** Tipo de footer del popover (Figma 4456:83048). `none` = sin footer. */
8490
8577
  type SuiPopoverFooter = 'none' | 'stretch' | 'text-stepper' | 'stepper';
8578
+ /** Tamaño de los botones del pie (escala del sui-button): `small` 36 (Figma,
8579
+ default) · `medium` 40 para mobile — extensión SUI (03-10-2026). */
8580
+ type SuiPopoverSize = 'small' | 'medium';
8491
8581
  declare class SuiPopover {
8492
8582
  /** Placement axis del tail relativo al trigger (12 variantes Figma). */
8493
8583
  readonly position: _angular_core.InputSignal<SuiPopoverPosition>;
@@ -8515,6 +8605,9 @@ declare class SuiPopover {
8515
8605
  current: number;
8516
8606
  total: number;
8517
8607
  } | null>;
8608
+ /** Botones del pie: `small` 36 (Figma, default) · `medium` 40 para mobile —
8609
+ * extensión SUI (03-10-2026). */
8610
+ readonly size: _angular_core.InputSignal<SuiPopoverSize>;
8518
8611
  /** Click en el botón X de dismiss. */
8519
8612
  readonly dismissed: _angular_core.OutputEmitterRef<void>;
8520
8613
  /** Click en el botón secundario (Back). */
@@ -8533,12 +8626,12 @@ declare class SuiPopover {
8533
8626
  readonly isDotStepper: _angular_core.Signal<boolean>;
8534
8627
  /** Config resuelta del step (null → default { current: 1, total: 4 }). */
8535
8628
  private readonly stepCfg;
8536
- /** Texto "Step X of N" del text-stepper. */
8629
+ /** Texto «Paso X de N» del text-stepper (era «Step X of N» hasta 03-10-2026). */
8537
8630
  readonly stepperText: _angular_core.Signal<string>;
8538
8631
  /** Array de dots para el stepper. Cada item: índice activo => primary. */
8539
8632
  readonly dots: _angular_core.Signal<boolean[]>;
8540
8633
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiPopover, never>;
8541
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiPopover, "sui-popover", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "tail": { "alias": "tail"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "dismissIcon": { "alias": "dismissIcon"; "required": false; "isSignal": true; }; "footer": { "alias": "footer"; "required": false; "isSignal": true; }; "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "doubleButton": { "alias": "doubleButton"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; "back": "back"; "next": "next"; }, never, ["[data-slot=body]"], true, never>;
8634
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiPopover, "sui-popover", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "tail": { "alias": "tail"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "dismissIcon": { "alias": "dismissIcon"; "required": false; "isSignal": true; }; "footer": { "alias": "footer"; "required": false; "isSignal": true; }; "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "doubleButton": { "alias": "doubleButton"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; "back": "back"; "next": "next"; }, never, ["[data-slot=body]"], true, never>;
8542
8635
  }
8543
8636
 
8544
8637
  type SuiProgressBarColor = 'blue' | 'green' | 'orange' | 'red' | 'purple';
@@ -9126,7 +9219,7 @@ interface SuiRatingCellView {
9126
9219
  * @input readonly deshabilita clicks (display only)
9127
9220
  * @input halfStep inline + readonly: renderiza half-fill basado en value decimal
9128
9221
  * @input showValue inline: muestra "4.5" al lado de los íconos
9129
- * @input reviewCount inline: muestra "5.2K Ratings" al lado (formato corto)
9222
+ * @input reviewCount inline: muestra "5.2K calificaciones" al lado (formato corto)
9130
9223
  * @input reviewLink inline: link "18 reviews" al lado
9131
9224
  * @input alignment inline: 'inline' (only) | 'vertical' | 'horizontal'
9132
9225
  * @input emojis array de chars Unicode para type='emoji' (default 😞😕😐🙂😄)
@@ -9398,11 +9491,11 @@ declare class SuiRichEditor {
9398
9491
  * `large` y `xlarge` son extensión nuestra (12-08-2026), igual que en
9399
9492
  * `sui-input`: alturas del `sui-button` para que campo y botón se alineen.
9400
9493
  *
9401
- * OJO — crecen el TRIGGER, no la lista. Las opciones son `sui-dropdown-item`,
9402
- * un componente aparte con su propia escala (36/56/76), y el select NUNCA le
9403
- * pasó su `size`: hoy todas las opciones salen del mismo tamaño para xsmall y
9404
- * para medium. No es algo que estos dos tamaños rompan — ya era así —, pero es
9405
- * la deuda que hay que saldar el día que la lista tenga que acompañar.
9494
+ * La lista acompaña desde el 03-10-2026 (extensión SUI): las opciones son
9495
+ * `sui-dropdown-item` de 36 (Figma) hasta medium, 44 en large y 48 en xlarge,
9496
+ * y ≥ 44 en mobile (≤ 767 px) con cualquier size. Lo resuelve sui-select.scss
9497
+ * sobre los ítems del panel; el dropdown-item no se toca. En large y xlarge el
9498
+ * texto (valor, placeholder y opciones) va en 16/24 (regla del 03-10-2026).
9406
9499
  */
9407
9500
  type SuiSelectSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
9408
9501
  /**
@@ -9867,9 +9960,9 @@ declare class SuiSlider implements ControlValueAccessor {
9867
9960
  private readonly _cvaValue;
9868
9961
  private readonly _useCvaValue;
9869
9962
  /** Handle siendo arrastrado: null | 'single' | 'min' | 'max'. */
9870
- readonly dragging: _angular_core.WritableSignal<"single" | "min" | "max" | null>;
9963
+ readonly dragging: _angular_core.WritableSignal<"min" | "max" | "single" | null>;
9871
9964
  /** Handle bajo hover (para tooltip): igual dominio que dragging. */
9872
- readonly hovering: _angular_core.WritableSignal<"single" | "min" | "max" | null>;
9965
+ readonly hovering: _angular_core.WritableSignal<"min" | "max" | "single" | null>;
9873
9966
  private clamp;
9874
9967
  readonly effectiveValue: _angular_core.Signal<number>;
9875
9968
  readonly effectiveMin: _angular_core.Signal<number>;
@@ -10283,6 +10376,12 @@ interface SuiStoreCardData {
10283
10376
  logoUrl?: string | null;
10284
10377
  coverUrl?: string | null;
10285
10378
  }
10379
+ /**
10380
+ * Tamaño del corazón de favorito, en la escala del sui-button. `small` (36, el
10381
+ * de siempre) es el default; `medium` (40) es extensión SUI (03-10-2026) para
10382
+ * tocarlo con el dedo en mobile.
10383
+ */
10384
+ type SuiStoreCardSize = 'small' | 'medium';
10286
10385
  interface PreviewBadge {
10287
10386
  label: string;
10288
10387
  variant: 'draft' | 'pending' | 'rejected';
@@ -10292,6 +10391,12 @@ declare class SuiStoreCard {
10292
10391
  readonly isFavorite: _angular_core.InputSignal<boolean>;
10293
10392
  /** Si true, no se navega al detalle (caso suspendido). El padre puede sobreescribir. */
10294
10393
  readonly disableLink: _angular_core.InputSignal<boolean>;
10394
+ /** Ruta base del detalle: la tarjeta navega a `[linkBase, store.id]`. El
10395
+ * default es la ruta del cliente de Master Pedidos; otra app pasa la suya. */
10396
+ readonly linkBase: _angular_core.InputSignal<string>;
10397
+ /** Corazón de favorito: `small` 36 (default) · `medium` 40 para mobile —
10398
+ * extensión SUI (03-10-2026). */
10399
+ readonly size: _angular_core.InputSignal<SuiStoreCardSize>;
10295
10400
  /**
10296
10401
  * El texto de Envío y el de Distancia, ya escritos por quien llama.
10297
10402
  *
@@ -10331,6 +10436,8 @@ declare class SuiStoreCard {
10331
10436
  logoUrl: string | null;
10332
10437
  }>;
10333
10438
  readonly link: _angular_core.Signal<string[] | null>;
10439
+ /** Glyph del corazón: 18 en small, 20 en medium. */
10440
+ readonly favIconSize: _angular_core.Signal<20 | 18>;
10334
10441
  readonly initial: _angular_core.Signal<string>;
10335
10442
  /**
10336
10443
  * El puntaje con cuántas opiniones lo sostienen: «4.67 (12)».
@@ -10361,7 +10468,7 @@ declare class SuiStoreCard {
10361
10468
  onCardClick(event: Event): void;
10362
10469
  onRatingClick(event: Event): void;
10363
10470
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiStoreCard, never>;
10364
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiStoreCard, "sui-store-card", never, { "store": { "alias": "store"; "required": true; "isSignal": true; }; "isFavorite": { "alias": "isFavorite"; "required": false; "isSignal": true; }; "disableLink": { "alias": "disableLink"; "required": false; "isSignal": true; }; "deliveryText": { "alias": "deliveryText"; "required": false; "isSignal": true; }; "distanceText": { "alias": "distanceText"; "required": false; "isSignal": true; }; }, { "toggleFavorite": "toggleFavorite"; "ratingClicked": "ratingClicked"; }, never, never, true, never>;
10471
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiStoreCard, "sui-store-card", never, { "store": { "alias": "store"; "required": true; "isSignal": true; }; "isFavorite": { "alias": "isFavorite"; "required": false; "isSignal": true; }; "disableLink": { "alias": "disableLink"; "required": false; "isSignal": true; }; "linkBase": { "alias": "linkBase"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "deliveryText": { "alias": "deliveryText"; "required": false; "isSignal": true; }; "distanceText": { "alias": "distanceText"; "required": false; "isSignal": true; }; }, { "toggleFavorite": "toggleFavorite"; "ratingClicked": "ratingClicked"; }, never, never, true, never>;
10365
10472
  }
10366
10473
 
10367
10474
  /**
@@ -10431,6 +10538,12 @@ interface SuiProductCardImage {
10431
10538
  /** Encuadre vertical de la imagen (CSS object-position Y, 0–100). Default 50. */
10432
10539
  position?: number;
10433
10540
  }
10541
+ /**
10542
+ * Tamaño de los botones del pie («+», lápiz y stepper), en la escala del
10543
+ * sui-button. `small` (36, el de siempre) es el default; `medium` (40) es
10544
+ * extensión SUI (03-10-2026) para tocar con el dedo en mobile.
10545
+ */
10546
+ type SuiProductCardSize = 'small' | 'medium';
10434
10547
  /** Config del fallback sin imagen. */
10435
10548
  interface SuiProductCardFallback {
10436
10549
  /** `'name'` = banda de color + nombre (default) · `'icon'` = ícono. */
@@ -10476,6 +10589,14 @@ declare class SuiProductCard {
10476
10589
  * se ve SIEMPRE: también con `available=false` (el agotado es justo el
10477
10590
  * que el dueño quiere tocar) y sin que `closed` lo apague. Nunca stepper. */
10478
10591
  readonly action: _angular_core.InputSignal<"add" | "edit">;
10592
+ /** Precio de referencia (antes del descuento). Si es MAYOR que `price`, la
10593
+ * card muestra el precio en rojo con la chapa «-N%» al lado y este precio
10594
+ * tachado debajo. Igual o menor → se ignora. El porcentaje se calcula, no se
10595
+ * pasa: un tercer número podría quedar desincronizado de los otros dos. */
10596
+ readonly precioLista: _angular_core.InputSignal<number | null>;
10597
+ /** Tamaño de los botones del pie: `small` 36 (default) · `medium` 40 para
10598
+ * mobile — extensión SUI (03-10-2026). */
10599
+ readonly size: _angular_core.InputSignal<SuiProductCardSize>;
10479
10600
  /** Tap en la card (abrir detalle del producto). */
10480
10601
  readonly openDetail: _angular_core.OutputEmitterRef<void>;
10481
10602
  /** Tap en el botón "+" (agregar al carrito). */
@@ -10487,6 +10608,15 @@ declare class SuiProductCard {
10487
10608
  /** Tap en el lápiz (solo con `action="edit"`). */
10488
10609
  readonly edit: _angular_core.OutputEmitterRef<void>;
10489
10610
  readonly formattedPrice: _angular_core.Signal<string>;
10611
+ /** Descuento resuelto: solo si `precioLista` > `price`. */
10612
+ readonly descuento: _angular_core.Signal<{
10613
+ pct: number;
10614
+ antes: string;
10615
+ } | null>;
10616
+ /** Glyph del «+» / lápiz: 18 en small, 20 en medium. */
10617
+ readonly iconSize: _angular_core.Signal<20 | 18>;
10618
+ /** Glyph del stepper: 16 en small, 20 en medium. */
10619
+ readonly stepIconSize: _angular_core.Signal<20 | 16>;
10490
10620
  readonly showStepper: _angular_core.Signal<boolean>;
10491
10621
  /** Config resuelta de la imagen (string → { url }; `position` default 50).
10492
10622
  * null = sin imagen → fallback. */
@@ -10514,7 +10644,7 @@ declare class SuiProductCard {
10514
10644
  onDec(event: Event): void;
10515
10645
  onEdit(event: Event): void;
10516
10646
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiProductCard, never>;
10517
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiProductCard, "sui-product-card", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "price": { "alias": "price"; "required": true; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "available": { "alias": "available"; "required": false; "isSignal": true; }; "quantity": { "alias": "quantity"; "required": false; "isSignal": true; }; "closed": { "alias": "closed"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; "fallback": { "alias": "fallback"; "required": false; "isSignal": true; }; "unavailableLabel": { "alias": "unavailableLabel"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; }, { "openDetail": "openDetail"; "add": "add"; "increment": "increment"; "decrement": "decrement"; "edit": "edit"; }, never, never, true, never>;
10647
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiProductCard, "sui-product-card", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "price": { "alias": "price"; "required": true; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "available": { "alias": "available"; "required": false; "isSignal": true; }; "quantity": { "alias": "quantity"; "required": false; "isSignal": true; }; "closed": { "alias": "closed"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; "fallback": { "alias": "fallback"; "required": false; "isSignal": true; }; "unavailableLabel": { "alias": "unavailableLabel"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; "precioLista": { "alias": "precioLista"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "openDetail": "openDetail"; "add": "add"; "increment": "increment"; "decrement": "decrement"; "edit": "edit"; }, never, never, true, never>;
10518
10648
  }
10519
10649
 
10520
10650
  /**
@@ -10755,7 +10885,7 @@ declare class SuiSwitchLabel implements ControlValueAccessor {
10755
10885
  readonly label: _angular_core.InputSignal<string>;
10756
10886
  readonly sublabel: _angular_core.InputSignal<string | null>;
10757
10887
  readonly description: _angular_core.InputSignal<string | null>;
10758
- /** Tamaño del switch interno — lo decide el padre (componente dumb). */
10888
+ /** Tamaño del switch interno y del texto (large/xlarge → 16/24) — lo decide el padre (componente dumb). */
10759
10889
  readonly size: _angular_core.InputSignal<SuiSwitchSize>;
10760
10890
  /** Badge junto al label — string shorthand ('NEW') o SuiBadgeConfig
10761
10891
  (label + color/variant/size, tipado como sui-badge). null = sin badge. */
@@ -10841,7 +10971,8 @@ interface SuiTabChipItem {
10841
10971
  * />
10842
10972
  *
10843
10973
  * Tamaños (extensión SUI, 03-10-2026): small 32 · medium 36 (default) ·
10844
- * large 40. Los tres con texto label-sm 14; cambia el alto y el aire lateral.
10974
+ * large 40. small y medium con texto label-sm 14; large en label-md 16/24 (regla
10975
+ * del 03-10-2026). Cambia el alto y el aire lateral.
10845
10976
  *
10846
10977
  * También acepta objetos:
10847
10978
  * <sui-tab-chips
@@ -11195,9 +11326,9 @@ interface SuiTabMenuHorizontalItem<T = string> {
11195
11326
  * radius-full, overflow-clip, icon arrow-right-s-line 18px, SIN shadow
11196
11327
  *
11197
11328
  * PENDING VERIFY:
11198
- * - `size`: el Tab Menu Horizontal de Figma no expone eje size. El input se
11199
- * mantiene como extensión SUI (espeja el data-attr del host como hook de
11200
- * SCSS), pero hoy solo medium está 1:1 y no altera estilos.
11329
+ * - `size`: el Tab Menu Horizontal de Figma no expone eje size. Extensión SUI
11330
+ * (03-10-2026): small 40 · medium 48 (Figma) · large 52 · xlarge 56 de
11331
+ * franja tocable; large/xlarge con texto 16 (mobile).
11201
11332
  * - `disabled` por ítem es extensión SUI (Figma no muestra estado Disabled).
11202
11333
  *
11203
11334
  * Historia: hasta la v0.2.x este componente vivía como `<sui-tabs variant="line">`;
@@ -11209,9 +11340,12 @@ interface SuiTabMenuHorizontalItem<T = string> {
11209
11340
  declare class SuiTabMenuHorizontal<T = string> {
11210
11341
  readonly tabs: _angular_core.InputSignal<SuiTabMenuHorizontalItem<T>[]>;
11211
11342
  readonly active: _angular_core.ModelSignal<T | undefined>;
11212
- /** PENDING spec: hoy solo emite data-sui-size (sin reglas scss) y el set de
11213
- Figma no tiene eje size. Se conserva por compat de consumers. */
11343
+ /** Alto de la franja tocable (cada pestaña ocupa todo el alto) — extensión
11344
+ SUI (03-10-2026): small 40 · medium 48 (Figma, default) · large 52 ·
11345
+ xlarge 56. large y xlarge llevan el texto a 16 (mobile). */
11214
11346
  readonly size: _angular_core.InputSignal<SuiTabMenuHorizontalSize>;
11347
+ /** Glyph del ícono de la pestaña: 24 en xlarge, 20 en el resto. */
11348
+ readonly iconSize: _angular_core.Signal<20 | 24>;
11215
11349
  readonly tabChange: _angular_core.OutputEmitterRef<T>;
11216
11350
  isActive(tab: SuiTabMenuHorizontalItem<T>): boolean;
11217
11351
  select(tab: SuiTabMenuHorizontalItem<T>): void;
@@ -11663,6 +11797,12 @@ declare class SuiTag {
11663
11797
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiTag, "sui-tag", never, { "tagStyle": { "alias": "tagStyle"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "leading": { "alias": "leading"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "dismissLabel": { "alias": "dismissLabel"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, ["[data-slot=start]", "*"], true, never>;
11664
11798
  }
11665
11799
 
11800
+ /**
11801
+ * Tamaño del campo — los mismos nombres que `sui-input` para que un formulario
11802
+ * pase el mismo `size` a los dos. Cambia el padding y el radio (el alto lo
11803
+ * ponen las `rows`). Extensión SUI (03-10-2026): la guía solo dibuja el medium.
11804
+ */
11805
+ type SuiTextareaSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
11666
11806
  /**
11667
11807
  * SUI Textarea — SUI Design System 2.0
11668
11808
  *
@@ -11744,6 +11884,7 @@ declare class SuiTag {
11744
11884
  * convention, bump it then — flagged here so it isn't silently changed.
11745
11885
  *
11746
11886
  * @input rows: number — Filas iniciales del textarea (default 4)
11887
+ * @input size: SuiTextareaSize — padding/radio, mismos nombres que sui-input (default medium)
11747
11888
  * @input label: string | null — Texto del label
11748
11889
  * @input sublabel: string | null — Texto secundario del label (ej. "Optional")
11749
11890
  * @input required: boolean — Muestra asterisco rojo en el label
@@ -11760,6 +11901,12 @@ declare class SuiTag {
11760
11901
  */
11761
11902
  declare class SuiTextarea implements ControlValueAccessor {
11762
11903
  readonly rows: _angular_core.InputSignal<number>;
11904
+ /**
11905
+ * Padding y radio del campo, con los mismos nombres que `sui-input`:
11906
+ * medium (default, el de la guía) 10/12 · large 12/14 · xlarge 14/16 ·
11907
+ * small 8/10 · xsmall 6/8. Extensión SUI (03-10-2026).
11908
+ */
11909
+ readonly size: _angular_core.InputSignal<SuiTextareaSize>;
11763
11910
  readonly placeholder: _angular_core.InputSignal<string>;
11764
11911
  readonly disabled: _angular_core.InputSignal<boolean>;
11765
11912
  readonly readonly: _angular_core.InputSignal<boolean>;
@@ -11799,7 +11946,7 @@ declare class SuiTextarea implements ControlValueAccessor {
11799
11946
  registerOnTouched(fn: () => void): void;
11800
11947
  setDisabledState(isDisabled: boolean): void;
11801
11948
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiTextarea, never>;
11802
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiTextarea, "sui-textarea", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
11949
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiTextarea, "sui-textarea", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
11803
11950
  }
11804
11951
 
11805
11952
  /**
@@ -12086,6 +12233,8 @@ interface ColumnItem {
12086
12233
  * @input showFooter — muestra Cancel/Apply (default true)
12087
12234
  * @model value — SuiTimeValue | null (two-way + CVA)
12088
12235
  */
12236
+ /** `large` (48) es extensión SUI (03-10-2026) para mobile. */
12237
+ type SuiTimePickerSize = 'small' | 'medium' | 'large';
12089
12238
  declare class SuiTimePicker implements ControlValueAccessor {
12090
12239
  readonly label: _angular_core.InputSignal<string | null>;
12091
12240
  readonly sublabel: _angular_core.InputSignal<string | null>;
@@ -12096,7 +12245,16 @@ declare class SuiTimePicker implements ControlValueAccessor {
12096
12245
  readonly error: _angular_core.InputSignal<boolean>;
12097
12246
  readonly placeholder: _angular_core.InputSignal<string>;
12098
12247
  readonly disabled: _angular_core.InputSignal<boolean>;
12099
- readonly size: _angular_core.InputSignal<"small" | "medium">;
12248
+ /**
12249
+ * Alto del campo: small 36 · medium 40 (default) · large 48 (extensión SUI,
12250
+ * 03-10-2026, para mobile: mismo alto que sui-input/sui-select large). En
12251
+ * large las filas del panel miden 44 y Cancelar/Aplicar van en large.
12252
+ */
12253
+ readonly size: _angular_core.InputSignal<SuiTimePickerSize>;
12254
+ /** sui-form-label no tiene large: el label queda en medium. */
12255
+ protected readonly labelSize: _angular_core.Signal<"small" | "medium">;
12256
+ /** Botones del footer: large (48) con el campo large; small (36) si no. */
12257
+ protected readonly footerButtonSize: _angular_core.Signal<"small" | "large">;
12100
12258
  /** Formato de display: '12h' (AM/PM) o '24h'. */
12101
12259
  readonly format: _angular_core.InputSignal<SuiTimeFormat>;
12102
12260
  /** Incremento de minutos de la lista (1, 5, 15, ...). Default 5. */
@@ -12804,5 +12962,5 @@ declare class SuiTooltipPanel {
12804
12962
  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>;
12805
12963
  }
12806
12964
 
12807
- 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_EMOJI_STATIC, 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, SuiHref, SuiIcon, SuiImageUpload, SuiImageUploadProfile, SuiImgRetry, SuiInlineInput, SuiInlineSelect, SuiInput, SuiIntegrationSwitch, SuiKbd, SuiKeyIcon, SuiLinkButton, SuiLogo, 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, SuiTopbar, SuiTopbarButton, SuiTopbarItem, SuiTopbarUser, buildCalendarGrid, buildHourList, buildMinuteList, formatDateInput, formatDateShort, formatMonthYear, formatTime, isSameTime, normalizeHex, pad2, parseTime, to12h, to24h };
12808
- 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, SuiCheckboxLabelSize, SuiCheckboxSize, SuiCircularProgressBarColor, SuiCircularProgressBarSize, SuiColorDotColor, SuiColorDotSize, 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, SuiInputEnterKeyHint, SuiInputMode, SuiInputSize, SuiInputType, SuiIntegrationManageConfig, SuiIntegrationSwitchAppearance, SuiIntegrationSwitchType, SuiKbdVariant, SuiKeyIconColor, SuiKeyIconSize, SuiKeyIconStyle, SuiLinkButtonSize, SuiLinkButtonVariant, SuiLinkConfig, SuiLogoOrientation, SuiLogoSize, SuiModalHeaderVariant, SuiModalIconVariant, SuiModalSize, SuiModalStatusAlignment, SuiNavbarVisibility, SuiNotificationStyle, SuiNotificationTab, SuiNotificationVariant, SuiOtpInputType, SuiPaginationInfoFormat, SuiPaginationSize, SuiPaginationType, SuiPasswordStrengthCondition, SuiPasswordStrengthLevel, SuiPaymentIconSize, SuiPaymentIconType, SuiPopoverFooter, SuiPopoverPosition, SuiProductCardFallback, SuiProductCardImage, SuiProgressBarColor, SuiProgressBarLabelType, SuiProgressBarSize, SuiRadioCardType, SuiRadioLabelSize, SuiRadioSize, SuiRadioValue, SuiRatingAlignment, SuiRatingAppearance, SuiRatingReviewLink, SuiRatingSize, SuiRatingType, SuiRichEditorAction, SuiRichEditorCommand, SuiRichEditorItemState, SuiRichEditorItemType, SuiRichEditorLayout, SuiSegmentedControlItem, SuiSegmentedControlSize, SuiSelectOption, SuiSelectSize, SuiSelectType, SuiSidebarBrandConfig, SuiSidebarIndicatorColor, SuiSidebarItem, SuiSidebarMobileMode, SuiSidebarProfile, SuiSidebarSearchConfig, SuiSliderSize, SuiSliderType, SuiSocialButtonBrand, SuiSocialButtonStyle, SuiStatusBadgeAppearance, SuiStatusBadgeSize, SuiStatusBadgeStatus, SuiStepperItem, SuiStepperSize, SuiStepperState, SuiStepperVariant, SuiStoreCardData, SuiSwitchCardType, SuiSwitchSize, SuiTabBar, SuiTabChipItem, SuiTabChipsSize, SuiTabMenuHorizontalItem, SuiTabMenuHorizontalSize, SuiTabMenuVerticalItem, SuiTabMenuVerticalStyle, SuiTableCellMisc, SuiTableCellPriority, SuiTableColumn, SuiTableSize, SuiTagInputSize, SuiTagSize, SuiTagStyle, SuiTimeDurationPreset, SuiTimeFormat, SuiTimePeriod, SuiTimePickerItemDirection, SuiTimePickerStatusType, SuiTimeValue, SuiToastAction, SuiToastData, SuiToastItem, SuiToastPosition, SuiToastStyle, SuiToastVariant, SuiTooltipLargeData, SuiTooltipPosition, SuiTooltipSize, SuiTooltipTheme, SuiTooltipThemeInput, SuiTopbarAccent, SuiTopbarAction, SuiTopbarEntry, SuiTopbarSearchConfig, SuiTopbarUserConfig };
12965
+ 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_EMOJI_STATIC, SUI_FLAG_NAMES, SUI_HEX_TO_COLOR, SUI_IMAGE_UPLOAD_ACCEPT, 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, SuiHref, SuiIcon, SuiImageUpload, SuiImageUploadProfile, SuiImgRetry, SuiInlineInput, SuiInlineSelect, SuiInput, SuiIntegrationSwitch, SuiKbd, SuiKeyIcon, SuiLinkButton, SuiLogo, 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, SuiTopbar, SuiTopbarButton, SuiTopbarItem, SuiTopbarUser, buildCalendarGrid, buildHourList, buildMinuteList, esImagenAceptada, formatDateInput, formatDateShort, formatMonthYear, formatTime, isSameTime, normalizeHex, pad2, parseTime, to12h, to24h };
12966
+ 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, SuiCheckboxLabelSize, SuiCheckboxSize, SuiCircularProgressBarColor, SuiCircularProgressBarSize, SuiColorDotColor, SuiColorDotSize, SuiCommandMenuItemSize, SuiCommandMenuItemType, SuiCompactAvatarGroupAppearance, SuiCompactAvatarGroupSize, SuiCompactButtonSize, SuiCompactButtonStyle, SuiCompactSelectForInputItem, SuiCompactSelectForInputSize, SuiCompactSelectItem, SuiCompactSelectSize, SuiCompactSelectType, SuiContentCardSize, SuiContentCardType, SuiContentDividerItem, SuiContentDividerType, SuiContentLabelBadgePlacement, SuiContentLabelSize, SuiContentLabelType, SuiCounterInputSize, SuiDateRange, SuiDatepickerCalendars, SuiDatepickerMode, SuiDatepickerSize, SuiDayCellType, SuiDividerOrientation, SuiDrawerFooterType, SuiDrawerHeaderSize, SuiDrawerHeaderType, SuiDropdownItemMode, SuiDropdownItemSize, SuiDropdownMenuPopupRole, SuiDropdownMenuPosition, SuiEmojiName, SuiEmojiSize, SuiEmptyStateAction, SuiEmptyStateSize, SuiFancyButtonSize, SuiFancyButtonType, SuiFileIconColor, SuiFileIconSize, SuiFileUploadCardFile, SuiFileUploadCardState, SuiFileUploadSize, SuiFilterItemState, SuiFlagName, SuiFlagSize, SuiFooterButtonConfig, SuiFormHintVariant, SuiFormLabelSize, SuiImageUploadProfileAlignment, SuiImageUploadProfileLabels, SuiImageUploadProfileType, SuiImageUploadShape, SuiImageUploadSize, SuiInlineSelectItem, SuiInlineSelectType, SuiInputEnterKeyHint, SuiInputMode, SuiInputSize, SuiInputType, SuiIntegrationManageConfig, SuiIntegrationSwitchAppearance, SuiIntegrationSwitchType, SuiKbdVariant, SuiKeyIconColor, SuiKeyIconSize, SuiKeyIconStyle, SuiLinkButtonSize, SuiLinkButtonVariant, SuiLinkConfig, SuiLogoOrientation, SuiLogoSize, SuiModalHeaderVariant, SuiModalIconVariant, SuiModalSize, SuiModalStatusAlignment, SuiNavbarVisibility, SuiNotificationStyle, SuiNotificationTab, SuiNotificationVariant, SuiOtpInputSize, SuiOtpInputType, SuiPaginationInfoFormat, SuiPaginationSize, SuiPaginationType, SuiPasswordStrengthCondition, SuiPasswordStrengthLevel, SuiPaymentIconSize, SuiPaymentIconType, SuiPopoverFooter, SuiPopoverPosition, SuiPopoverSize, SuiProductCardFallback, SuiProductCardImage, SuiProductCardSize, SuiProgressBarColor, SuiProgressBarLabelType, SuiProgressBarSize, SuiRadioCardType, SuiRadioLabelSize, SuiRadioSize, SuiRadioValue, SuiRatingAlignment, SuiRatingAppearance, SuiRatingReviewLink, SuiRatingSize, SuiRatingType, SuiRichEditorAction, SuiRichEditorCommand, SuiRichEditorItemState, SuiRichEditorItemType, SuiRichEditorLayout, SuiSegmentedControlItem, SuiSegmentedControlSize, SuiSelectOption, SuiSelectSize, SuiSelectType, SuiSidebarBrandConfig, SuiSidebarIndicatorColor, SuiSidebarItem, SuiSidebarMobileMode, SuiSidebarProfile, SuiSidebarSearchConfig, SuiSliderSize, SuiSliderType, SuiSocialButtonBrand, SuiSocialButtonStyle, SuiStatusBadgeAppearance, SuiStatusBadgeSize, SuiStatusBadgeStatus, SuiStepperItem, SuiStepperSize, SuiStepperState, SuiStepperVariant, SuiStoreCardData, SuiStoreCardSize, SuiSwitchCardType, SuiSwitchSize, SuiTabBar, SuiTabChipItem, SuiTabChipsSize, SuiTabMenuHorizontalItem, SuiTabMenuHorizontalSize, SuiTabMenuVerticalItem, SuiTabMenuVerticalStyle, SuiTableCellMisc, SuiTableCellPriority, SuiTableColumn, SuiTableSize, SuiTagInputSize, SuiTagSize, SuiTagStyle, SuiTextareaSize, SuiTimeDurationPreset, SuiTimeFormat, SuiTimePeriod, SuiTimePickerItemDirection, SuiTimePickerSize, SuiTimePickerStatusType, SuiTimeValue, SuiToastAction, SuiToastData, SuiToastItem, SuiToastPosition, SuiToastStyle, SuiToastVariant, SuiTooltipLargeData, SuiTooltipPosition, SuiTooltipSize, SuiTooltipTheme, SuiTooltipThemeInput, SuiTopbarAccent, SuiTopbarAction, SuiTopbarEntry, SuiTopbarSearchConfig, SuiTopbarUserConfig };