@ajuarezso/sui-design-system 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/INDEX.md +51 -51
- package/docs/sui-alert/README.md +13 -0
- package/docs/sui-badge/README.md +17 -0
- package/docs/sui-banner/README.md +190 -0
- package/docs/sui-breadcrumb-item/README.md +96 -0
- package/docs/sui-breadcrumbs/README.md +122 -0
- package/docs/sui-button/README.md +17 -0
- package/docs/sui-card/README.md +168 -0
- package/docs/sui-chart-legend/README.md +140 -0
- package/docs/sui-chart-legend-dot/README.md +118 -0
- package/docs/sui-checkbox-card/README.md +150 -0
- package/docs/sui-compact-select/README.md +127 -0
- package/docs/sui-compact-select-for-input/README.md +117 -0
- package/docs/sui-content-card/README.md +147 -0
- package/docs/sui-content-label/README.md +148 -0
- package/docs/sui-counter-input/README.md +145 -0
- package/docs/sui-date-selector/README.md +98 -0
- package/docs/sui-datepicker/README.md +193 -0
- package/docs/sui-day-cell/README.md +118 -0
- package/docs/sui-day-label/README.md +81 -0
- package/docs/sui-drawer-footer/README.md +127 -0
- package/docs/sui-drawer-header/README.md +140 -0
- package/docs/sui-empty-state/README.md +145 -0
- package/docs/sui-file-upload/README.md +154 -0
- package/docs/sui-file-upload-card/README.md +129 -0
- package/docs/sui-image-upload/README.md +200 -0
- package/docs/sui-image-upload-profile/README.md +145 -0
- package/docs/sui-inline-input/README.md +104 -0
- package/docs/sui-inline-select/README.md +101 -0
- package/docs/sui-input/README.md +244 -0
- package/docs/sui-integration-switch/README.md +142 -0
- package/docs/sui-notification/README.md +179 -0
- package/docs/sui-notification-footer/README.md +98 -0
- package/docs/sui-notification-tab-menu/README.md +112 -0
- package/docs/sui-otp-input/README.md +116 -0
- package/docs/sui-pagination/README.md +146 -0
- package/docs/sui-password-strength/README.md +99 -0
- package/docs/sui-period-range/README.md +93 -0
- package/docs/sui-popover/README.md +178 -0
- package/docs/sui-product-card/README.md +173 -0
- package/docs/sui-radio-card/README.md +160 -0
- package/docs/sui-rating/README.md +7 -6
- package/docs/sui-rich-editor/README.md +114 -0
- package/docs/sui-select/README.md +180 -0
- package/docs/sui-stepper/README.md +166 -0
- package/docs/sui-store-card/README.md +147 -0
- package/docs/sui-switch-card/README.md +149 -0
- package/docs/sui-tab-chips/README.md +185 -0
- package/docs/sui-tab-menu-horizontal/README.md +142 -0
- package/docs/sui-tab-menu-vertical/README.md +136 -0
- package/docs/sui-tag-input/README.md +120 -0
- package/docs/sui-textarea/README.md +157 -0
- package/docs/sui-time-picker/README.md +237 -0
- package/docs/sui-toast/README.md +190 -0
- package/docs/sui-tooltip/README.md +201 -0
- package/fesm2022/ajuarezso-sui-design-system.mjs +273 -231
- package/fesm2022/ajuarezso-sui-design-system.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ajuarezso-sui-design-system.d.ts +208 -52
|
@@ -1507,7 +1507,7 @@ interface SuiBreadcrumbEntry {
|
|
|
1507
1507
|
* - Output `(navigate)` emite el item clickeado.
|
|
1508
1508
|
*
|
|
1509
1509
|
* Accesibilidad:
|
|
1510
|
-
* - host = `<nav aria-label="
|
|
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"`.
|
|
@@ -1592,7 +1592,7 @@ declare class SuiButtonGroupItem {
|
|
|
1592
1592
|
/** aria-label para icon-only buttons */
|
|
1593
1593
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
1594
1594
|
/** Estado del data-attribute para CSS scoping */
|
|
1595
|
-
readonly state: _angular_core.Signal<"default" | "
|
|
1595
|
+
readonly state: _angular_core.Signal<"default" | "disabled" | "active">;
|
|
1596
1596
|
/** True cuando solo tiene icon (left o right) sin label */
|
|
1597
1597
|
readonly onlyIcon: _angular_core.Signal<boolean>;
|
|
1598
1598
|
/**
|
|
@@ -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
|
}
|
|
@@ -2152,7 +2164,7 @@ declare class SuiCheckboxCard implements ControlValueAccessor {
|
|
|
2152
2164
|
/** RemixIcon name (sin prefijo "ri-") para type='left-icon'. */
|
|
2153
2165
|
readonly icon: _angular_core.InputSignal<string | null>;
|
|
2154
2166
|
/** Emoji del catálogo SUI_EMOJI_MAP — alternativa a icon para type='left-icon'. */
|
|
2155
|
-
readonly emoji: _angular_core.InputSignal<"
|
|
2167
|
+
readonly emoji: _angular_core.InputSignal<"warning" | "label" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
2156
2168
|
/** URL directa al emoji para type='left-icon'. Precedencia: icon > emoji > iconSrc. */
|
|
2157
2169
|
readonly iconSrc: _angular_core.InputSignal<string | null>;
|
|
2158
2170
|
/** URL de imagen para type='avatar'. Si falla, fallback a iniciales del label. */
|
|
@@ -2623,7 +2635,7 @@ declare class SuiColorDot {
|
|
|
2623
2635
|
* - `selected` → dot 12×12 + ring 2px.
|
|
2624
2636
|
* - `disabled` → dot gris pálido, sin pointer events.
|
|
2625
2637
|
*/
|
|
2626
|
-
readonly state: _angular_core.InputSignal<"default" | "disabled" | "
|
|
2638
|
+
readonly state: _angular_core.InputSignal<"default" | "disabled" | "selected" | "hover">;
|
|
2627
2639
|
/**
|
|
2628
2640
|
* Tamaño. `medium` (default, Figma 24): dot 16 / hover 14 / selected 12 + anillo 18.
|
|
2629
2641
|
* `large` (32, extensión SUI para mobile): dot 22 / hover 18 / selected 16 + anillo 24.
|
|
@@ -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="
|
|
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
|
-
|
|
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;
|
|
@@ -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
|
-
|
|
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)
|
|
3932
|
-
*
|
|
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';
|
|
@@ -5083,7 +5131,7 @@ type SuiEmojiName = keyof typeof SUI_EMOJI_MAP;
|
|
|
5083
5131
|
type SuiEmojiSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
5084
5132
|
declare class SuiEmoji {
|
|
5085
5133
|
/** Nombre del emoji del catálogo. Si se proveé `src`, este se ignora. */
|
|
5086
|
-
readonly name: _angular_core.InputSignal<"
|
|
5134
|
+
readonly name: _angular_core.InputSignal<"warning" | "label" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
5087
5135
|
/** URL directa al emoji (override del catálogo). Útil para usar emojis fuera del map. */
|
|
5088
5136
|
readonly src: _angular_core.InputSignal<string | null>;
|
|
5089
5137
|
/** Tamaño del emoji. */
|
|
@@ -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.
|
|
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
|
-
*
|
|
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
|
|
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 (
|
|
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
|
|
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.
|
|
@@ -5628,7 +5693,7 @@ declare class SuiFileUpload {
|
|
|
5628
5693
|
protected readonly resolvedErrorMessage: _angular_core.Signal<string | null>;
|
|
5629
5694
|
/** Icon size px. Figma verified = 24 (medium). small/large/xlarge escalan +4
|
|
5630
5695
|
* (small 20 → medium 24 → large 28 → xlarge 32) — extensión de proyecto. */
|
|
5631
|
-
protected readonly iconSize: _angular_core.Signal<20 | 24 |
|
|
5696
|
+
protected readonly iconSize: _angular_core.Signal<20 | 24 | 28 | 32>;
|
|
5632
5697
|
onClick(): void;
|
|
5633
5698
|
/** Browse File button — abre el picker. stopPropagation evita doble-open
|
|
5634
5699
|
* (el host también es clickeable). */
|
|
@@ -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="
|
|
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
|
*
|
|
@@ -6271,7 +6340,13 @@ declare class SuiImageUpload {
|
|
|
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
6342
|
protected readonly iconSize: _angular_core.Signal<16 | 20>;
|
|
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<16 | 20>;
|
|
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 ('
|
|
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 ('
|
|
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 ('
|
|
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" | "
|
|
8118
|
+
readonly type: _angular_core.InputSignal<"basic" | "file" | "button" | "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
|
|
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';
|
|
@@ -8869,7 +8962,7 @@ declare class SuiRadioCard implements ControlValueAccessor {
|
|
|
8869
8962
|
* Emoji del catálogo SUI_EMOJI_MAP — alternativa a icon para type='left-icon'.
|
|
8870
8963
|
* Si ambos están, icon tiene precedencia.
|
|
8871
8964
|
*/
|
|
8872
|
-
readonly emoji: _angular_core.InputSignal<"
|
|
8965
|
+
readonly emoji: _angular_core.InputSignal<"warning" | "label" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
8873
8966
|
/**
|
|
8874
8967
|
* URL directa al emoji para type='left-icon'. Útil cuando el consumer ya tiene
|
|
8875
8968
|
* la URL (ej. FLUENT_EMOJI map del proyecto) y no quiere registrar el emoji
|
|
@@ -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
|
|
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,10 @@ 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
|
-
*
|
|
9402
|
-
*
|
|
9403
|
-
*
|
|
9404
|
-
*
|
|
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.
|
|
9406
9498
|
*/
|
|
9407
9499
|
type SuiSelectSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
9408
9500
|
/**
|
|
@@ -9867,9 +9959,9 @@ declare class SuiSlider implements ControlValueAccessor {
|
|
|
9867
9959
|
private readonly _cvaValue;
|
|
9868
9960
|
private readonly _useCvaValue;
|
|
9869
9961
|
/** Handle siendo arrastrado: null | 'single' | 'min' | 'max'. */
|
|
9870
|
-
readonly dragging: _angular_core.WritableSignal<"
|
|
9962
|
+
readonly dragging: _angular_core.WritableSignal<"min" | "max" | "single" | null>;
|
|
9871
9963
|
/** Handle bajo hover (para tooltip): igual dominio que dragging. */
|
|
9872
|
-
readonly hovering: _angular_core.WritableSignal<"
|
|
9964
|
+
readonly hovering: _angular_core.WritableSignal<"min" | "max" | "single" | null>;
|
|
9873
9965
|
private clamp;
|
|
9874
9966
|
readonly effectiveValue: _angular_core.Signal<number>;
|
|
9875
9967
|
readonly effectiveMin: _angular_core.Signal<number>;
|
|
@@ -10283,6 +10375,12 @@ interface SuiStoreCardData {
|
|
|
10283
10375
|
logoUrl?: string | null;
|
|
10284
10376
|
coverUrl?: string | null;
|
|
10285
10377
|
}
|
|
10378
|
+
/**
|
|
10379
|
+
* Tamaño del corazón de favorito, en la escala del sui-button. `small` (36, el
|
|
10380
|
+
* de siempre) es el default; `medium` (40) es extensión SUI (03-10-2026) para
|
|
10381
|
+
* tocarlo con el dedo en mobile.
|
|
10382
|
+
*/
|
|
10383
|
+
type SuiStoreCardSize = 'small' | 'medium';
|
|
10286
10384
|
interface PreviewBadge {
|
|
10287
10385
|
label: string;
|
|
10288
10386
|
variant: 'draft' | 'pending' | 'rejected';
|
|
@@ -10292,6 +10390,12 @@ declare class SuiStoreCard {
|
|
|
10292
10390
|
readonly isFavorite: _angular_core.InputSignal<boolean>;
|
|
10293
10391
|
/** Si true, no se navega al detalle (caso suspendido). El padre puede sobreescribir. */
|
|
10294
10392
|
readonly disableLink: _angular_core.InputSignal<boolean>;
|
|
10393
|
+
/** Ruta base del detalle: la tarjeta navega a `[linkBase, store.id]`. El
|
|
10394
|
+
* default es la ruta del cliente de Master Pedidos; otra app pasa la suya. */
|
|
10395
|
+
readonly linkBase: _angular_core.InputSignal<string>;
|
|
10396
|
+
/** Corazón de favorito: `small` 36 (default) · `medium` 40 para mobile —
|
|
10397
|
+
* extensión SUI (03-10-2026). */
|
|
10398
|
+
readonly size: _angular_core.InputSignal<SuiStoreCardSize>;
|
|
10295
10399
|
/**
|
|
10296
10400
|
* El texto de Envío y el de Distancia, ya escritos por quien llama.
|
|
10297
10401
|
*
|
|
@@ -10331,6 +10435,8 @@ declare class SuiStoreCard {
|
|
|
10331
10435
|
logoUrl: string | null;
|
|
10332
10436
|
}>;
|
|
10333
10437
|
readonly link: _angular_core.Signal<string[] | null>;
|
|
10438
|
+
/** Glyph del corazón: 18 en small, 20 en medium. */
|
|
10439
|
+
readonly favIconSize: _angular_core.Signal<20 | 18>;
|
|
10334
10440
|
readonly initial: _angular_core.Signal<string>;
|
|
10335
10441
|
/**
|
|
10336
10442
|
* El puntaje con cuántas opiniones lo sostienen: «4.67 (12)».
|
|
@@ -10361,7 +10467,7 @@ declare class SuiStoreCard {
|
|
|
10361
10467
|
onCardClick(event: Event): void;
|
|
10362
10468
|
onRatingClick(event: Event): void;
|
|
10363
10469
|
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>;
|
|
10470
|
+
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
10471
|
}
|
|
10366
10472
|
|
|
10367
10473
|
/**
|
|
@@ -10431,6 +10537,12 @@ interface SuiProductCardImage {
|
|
|
10431
10537
|
/** Encuadre vertical de la imagen (CSS object-position Y, 0–100). Default 50. */
|
|
10432
10538
|
position?: number;
|
|
10433
10539
|
}
|
|
10540
|
+
/**
|
|
10541
|
+
* Tamaño de los botones del pie («+», lápiz y stepper), en la escala del
|
|
10542
|
+
* sui-button. `small` (36, el de siempre) es el default; `medium` (40) es
|
|
10543
|
+
* extensión SUI (03-10-2026) para tocar con el dedo en mobile.
|
|
10544
|
+
*/
|
|
10545
|
+
type SuiProductCardSize = 'small' | 'medium';
|
|
10434
10546
|
/** Config del fallback sin imagen. */
|
|
10435
10547
|
interface SuiProductCardFallback {
|
|
10436
10548
|
/** `'name'` = banda de color + nombre (default) · `'icon'` = ícono. */
|
|
@@ -10476,6 +10588,14 @@ declare class SuiProductCard {
|
|
|
10476
10588
|
* se ve SIEMPRE: también con `available=false` (el agotado es justo el
|
|
10477
10589
|
* que el dueño quiere tocar) y sin que `closed` lo apague. Nunca stepper. */
|
|
10478
10590
|
readonly action: _angular_core.InputSignal<"add" | "edit">;
|
|
10591
|
+
/** Precio de referencia (antes del descuento). Si es MAYOR que `price`, la
|
|
10592
|
+
* card muestra el precio en rojo con la chapa «-N%» al lado y este precio
|
|
10593
|
+
* tachado debajo. Igual o menor → se ignora. El porcentaje se calcula, no se
|
|
10594
|
+
* pasa: un tercer número podría quedar desincronizado de los otros dos. */
|
|
10595
|
+
readonly precioLista: _angular_core.InputSignal<number | null>;
|
|
10596
|
+
/** Tamaño de los botones del pie: `small` 36 (default) · `medium` 40 para
|
|
10597
|
+
* mobile — extensión SUI (03-10-2026). */
|
|
10598
|
+
readonly size: _angular_core.InputSignal<SuiProductCardSize>;
|
|
10479
10599
|
/** Tap en la card (abrir detalle del producto). */
|
|
10480
10600
|
readonly openDetail: _angular_core.OutputEmitterRef<void>;
|
|
10481
10601
|
/** Tap en el botón "+" (agregar al carrito). */
|
|
@@ -10487,6 +10607,15 @@ declare class SuiProductCard {
|
|
|
10487
10607
|
/** Tap en el lápiz (solo con `action="edit"`). */
|
|
10488
10608
|
readonly edit: _angular_core.OutputEmitterRef<void>;
|
|
10489
10609
|
readonly formattedPrice: _angular_core.Signal<string>;
|
|
10610
|
+
/** Descuento resuelto: solo si `precioLista` > `price`. */
|
|
10611
|
+
readonly descuento: _angular_core.Signal<{
|
|
10612
|
+
pct: number;
|
|
10613
|
+
antes: string;
|
|
10614
|
+
} | null>;
|
|
10615
|
+
/** Glyph del «+» / lápiz: 18 en small, 20 en medium. */
|
|
10616
|
+
readonly iconSize: _angular_core.Signal<20 | 18>;
|
|
10617
|
+
/** Glyph del stepper: 16 en small, 20 en medium. */
|
|
10618
|
+
readonly stepIconSize: _angular_core.Signal<16 | 20>;
|
|
10490
10619
|
readonly showStepper: _angular_core.Signal<boolean>;
|
|
10491
10620
|
/** Config resuelta de la imagen (string → { url }; `position` default 50).
|
|
10492
10621
|
* null = sin imagen → fallback. */
|
|
@@ -10514,7 +10643,7 @@ declare class SuiProductCard {
|
|
|
10514
10643
|
onDec(event: Event): void;
|
|
10515
10644
|
onEdit(event: Event): void;
|
|
10516
10645
|
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>;
|
|
10646
|
+
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
10647
|
}
|
|
10519
10648
|
|
|
10520
10649
|
/**
|
|
@@ -10648,7 +10777,7 @@ declare class SuiSwitchCard implements ControlValueAccessor {
|
|
|
10648
10777
|
* `<sui-icon>` proyectado vía `[sui-switch-card-leading]` y se renderiza
|
|
10649
10778
|
* con las MISMAS dimensiones (20×20 dentro del círculo de 40px).
|
|
10650
10779
|
*/
|
|
10651
|
-
readonly emoji: _angular_core.InputSignal<"
|
|
10780
|
+
readonly emoji: _angular_core.InputSignal<"warning" | "label" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
10652
10781
|
/**
|
|
10653
10782
|
* URL de imagen para type='avatar' — se renderiza con sui-avatar size=lg
|
|
10654
10783
|
* (40×40 redonda). Si la imagen falla, fallback automático a iniciales del
|
|
@@ -11195,9 +11324,9 @@ interface SuiTabMenuHorizontalItem<T = string> {
|
|
|
11195
11324
|
* radius-full, overflow-clip, icon arrow-right-s-line 18px, SIN shadow
|
|
11196
11325
|
*
|
|
11197
11326
|
* PENDING VERIFY:
|
|
11198
|
-
* - `size`: el Tab Menu Horizontal de Figma no expone eje size.
|
|
11199
|
-
*
|
|
11200
|
-
*
|
|
11327
|
+
* - `size`: el Tab Menu Horizontal de Figma no expone eje size. Extensión SUI
|
|
11328
|
+
* (03-10-2026): small 40 · medium 48 (Figma) · large 52 · xlarge 56 de
|
|
11329
|
+
* franja tocable; large/xlarge con texto 16 (mobile).
|
|
11201
11330
|
* - `disabled` por ítem es extensión SUI (Figma no muestra estado Disabled).
|
|
11202
11331
|
*
|
|
11203
11332
|
* Historia: hasta la v0.2.x este componente vivía como `<sui-tabs variant="line">`;
|
|
@@ -11209,9 +11338,12 @@ interface SuiTabMenuHorizontalItem<T = string> {
|
|
|
11209
11338
|
declare class SuiTabMenuHorizontal<T = string> {
|
|
11210
11339
|
readonly tabs: _angular_core.InputSignal<SuiTabMenuHorizontalItem<T>[]>;
|
|
11211
11340
|
readonly active: _angular_core.ModelSignal<T | undefined>;
|
|
11212
|
-
/**
|
|
11213
|
-
|
|
11341
|
+
/** Alto de la franja tocable (cada pestaña ocupa todo el alto) — extensión
|
|
11342
|
+
SUI (03-10-2026): small 40 · medium 48 (Figma, default) · large 52 ·
|
|
11343
|
+
xlarge 56. large y xlarge llevan el texto a 16 (mobile). */
|
|
11214
11344
|
readonly size: _angular_core.InputSignal<SuiTabMenuHorizontalSize>;
|
|
11345
|
+
/** Glyph del ícono de la pestaña: 24 en xlarge, 20 en el resto. */
|
|
11346
|
+
readonly iconSize: _angular_core.Signal<20 | 24>;
|
|
11215
11347
|
readonly tabChange: _angular_core.OutputEmitterRef<T>;
|
|
11216
11348
|
isActive(tab: SuiTabMenuHorizontalItem<T>): boolean;
|
|
11217
11349
|
select(tab: SuiTabMenuHorizontalItem<T>): void;
|
|
@@ -11663,6 +11795,12 @@ declare class SuiTag {
|
|
|
11663
11795
|
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
11796
|
}
|
|
11665
11797
|
|
|
11798
|
+
/**
|
|
11799
|
+
* Tamaño del campo — los mismos nombres que `sui-input` para que un formulario
|
|
11800
|
+
* pase el mismo `size` a los dos. Cambia el padding y el radio (el alto lo
|
|
11801
|
+
* ponen las `rows`). Extensión SUI (03-10-2026): la guía solo dibuja el medium.
|
|
11802
|
+
*/
|
|
11803
|
+
type SuiTextareaSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
11666
11804
|
/**
|
|
11667
11805
|
* SUI Textarea — SUI Design System 2.0
|
|
11668
11806
|
*
|
|
@@ -11744,6 +11882,7 @@ declare class SuiTag {
|
|
|
11744
11882
|
* convention, bump it then — flagged here so it isn't silently changed.
|
|
11745
11883
|
*
|
|
11746
11884
|
* @input rows: number — Filas iniciales del textarea (default 4)
|
|
11885
|
+
* @input size: SuiTextareaSize — padding/radio, mismos nombres que sui-input (default medium)
|
|
11747
11886
|
* @input label: string | null — Texto del label
|
|
11748
11887
|
* @input sublabel: string | null — Texto secundario del label (ej. "Optional")
|
|
11749
11888
|
* @input required: boolean — Muestra asterisco rojo en el label
|
|
@@ -11760,6 +11899,12 @@ declare class SuiTag {
|
|
|
11760
11899
|
*/
|
|
11761
11900
|
declare class SuiTextarea implements ControlValueAccessor {
|
|
11762
11901
|
readonly rows: _angular_core.InputSignal<number>;
|
|
11902
|
+
/**
|
|
11903
|
+
* Padding y radio del campo, con los mismos nombres que `sui-input`:
|
|
11904
|
+
* medium (default, el de la guía) 10/12 · large 12/14 · xlarge 14/16 ·
|
|
11905
|
+
* small 8/10 · xsmall 6/8. Extensión SUI (03-10-2026).
|
|
11906
|
+
*/
|
|
11907
|
+
readonly size: _angular_core.InputSignal<SuiTextareaSize>;
|
|
11763
11908
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
11764
11909
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
11765
11910
|
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
@@ -11799,7 +11944,7 @@ declare class SuiTextarea implements ControlValueAccessor {
|
|
|
11799
11944
|
registerOnTouched(fn: () => void): void;
|
|
11800
11945
|
setDisabledState(isDisabled: boolean): void;
|
|
11801
11946
|
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>;
|
|
11947
|
+
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
11948
|
}
|
|
11804
11949
|
|
|
11805
11950
|
/**
|
|
@@ -12086,6 +12231,8 @@ interface ColumnItem {
|
|
|
12086
12231
|
* @input showFooter — muestra Cancel/Apply (default true)
|
|
12087
12232
|
* @model value — SuiTimeValue | null (two-way + CVA)
|
|
12088
12233
|
*/
|
|
12234
|
+
/** `large` (48) es extensión SUI (03-10-2026) para mobile. */
|
|
12235
|
+
type SuiTimePickerSize = 'small' | 'medium' | 'large';
|
|
12089
12236
|
declare class SuiTimePicker implements ControlValueAccessor {
|
|
12090
12237
|
readonly label: _angular_core.InputSignal<string | null>;
|
|
12091
12238
|
readonly sublabel: _angular_core.InputSignal<string | null>;
|
|
@@ -12096,7 +12243,16 @@ declare class SuiTimePicker implements ControlValueAccessor {
|
|
|
12096
12243
|
readonly error: _angular_core.InputSignal<boolean>;
|
|
12097
12244
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
12098
12245
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
12099
|
-
|
|
12246
|
+
/**
|
|
12247
|
+
* Alto del campo: small 36 · medium 40 (default) · large 48 (extensión SUI,
|
|
12248
|
+
* 03-10-2026, para mobile: mismo alto que sui-input/sui-select large). En
|
|
12249
|
+
* large las filas del panel miden 44 y Cancelar/Aplicar van en large.
|
|
12250
|
+
*/
|
|
12251
|
+
readonly size: _angular_core.InputSignal<SuiTimePickerSize>;
|
|
12252
|
+
/** sui-form-label no tiene large: el label queda en medium. */
|
|
12253
|
+
protected readonly labelSize: _angular_core.Signal<"small" | "medium">;
|
|
12254
|
+
/** Botones del footer: large (48) con el campo large; small (36) si no. */
|
|
12255
|
+
protected readonly footerButtonSize: _angular_core.Signal<"small" | "large">;
|
|
12100
12256
|
/** Formato de display: '12h' (AM/PM) o '24h'. */
|
|
12101
12257
|
readonly format: _angular_core.InputSignal<SuiTimeFormat>;
|
|
12102
12258
|
/** Incremento de minutos de la lista (1, 5, 15, ...). Default 5. */
|
|
@@ -12804,5 +12960,5 @@ declare class SuiTooltipPanel {
|
|
|
12804
12960
|
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
12961
|
}
|
|
12806
12962
|
|
|
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 };
|
|
12963
|
+
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 };
|
|
12964
|
+
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 };
|