@ajuarezso/sui-design-system 0.7.17 → 0.7.19
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/package.json
CHANGED
|
@@ -3510,7 +3510,93 @@ declare class SuiContentDivider {
|
|
|
3510
3510
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiContentDivider, "sui-content-divider", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "buttonClick": "buttonClick"; "itemClick": "itemClick"; }, never, never, true, never>;
|
|
3511
3511
|
}
|
|
3512
3512
|
|
|
3513
|
-
type
|
|
3513
|
+
type SuiFormLabelSize = 'xsmall' | 'small' | 'medium';
|
|
3514
|
+
/**
|
|
3515
|
+
* SUI Form Label — SUI DS 2.0
|
|
3516
|
+
*
|
|
3517
|
+
* Figma file: 8p1k72aKKvzJV4XcvPS4VO
|
|
3518
|
+
* Figma group: "Key Components" → Label [1.1]
|
|
3519
|
+
* (nodos auditados: 263:1850 / 266:2814 — frame Label)
|
|
3520
|
+
*
|
|
3521
|
+
* Matriz Figma decodificada (audit reports.json "Key Components"):
|
|
3522
|
+
* Label(Normal/Disabled) × Required × Sublabel × Info × Button (~16 combinaciones)
|
|
3523
|
+
* - Normal/Disabled → input `disabled`
|
|
3524
|
+
* - Required → input `required` (asterisco)
|
|
3525
|
+
* - Sublabel → input `sublabel` (texto secundario)
|
|
3526
|
+
* - Info → input `tooltip` (icono ℹ + tooltip)
|
|
3527
|
+
* - Button → input `link` + output `linkClick` (link tipo "Help?" a la derecha)
|
|
3528
|
+
*
|
|
3529
|
+
* @input label: string (required) — Texto principal del label
|
|
3530
|
+
* @input sublabel: string | null — Texto secundario pequeño (ej. "Optional", "Required")
|
|
3531
|
+
* @input required: boolean — Muestra asterisco al final del label principal
|
|
3532
|
+
* @input tooltip: string | null — Tooltip sobre icono info (ℹ) al final del label
|
|
3533
|
+
* @input link: SuiLinkConfig | string | null — Link de acción a la derecha (variante
|
|
3534
|
+
* "Button" de Figma, ej. "Help?"). String shorthand = solo label (emite `linkClick`);
|
|
3535
|
+
* SuiLinkConfig { label, href?, target?, rel? } = <a> real con rel automático
|
|
3536
|
+
* 'noopener noreferrer' si target='_blank' (patrón canon sui-checkbox-label).
|
|
3537
|
+
* Si null, no se renderiza el link.
|
|
3538
|
+
* @input size: 'xsmall' | 'small' | 'medium' — Tamaño visual, default 'medium'
|
|
3539
|
+
* @input disabled: boolean — Atenúa todo el label (text/sublabel/asterisco/icono/link)
|
|
3540
|
+
* @input for: string | null — Attr `for` del <label> para accesibilidad
|
|
3541
|
+
* @output linkClick: MouseEvent — Emite cuando se clickea el link de acción ("Button" variant)
|
|
3542
|
+
*
|
|
3543
|
+
* Variantes (todas verificadas contra el variantMatrix de la auditoría;
|
|
3544
|
+
* los valores cromáticos exactos quedan PENDING VERIFY hasta re-correr MCP Figma):
|
|
3545
|
+
* - required: asterisco (*) en --sui-state-error-base.
|
|
3546
|
+
* NOTA token: SUI 2.0 base pinta el asterisco con --primary-base (#335cff azul).
|
|
3547
|
+
* En ESTE proyecto --primary-base fue rebrandeado a naranja (#fa7319), y el asterisco
|
|
3548
|
+
* de "requerido" es semánticamente un error/alerta → se usa --sui-state-error-base
|
|
3549
|
+
* (#fb3748). Decisión consciente, NO copia ciega del token azul de SUI.
|
|
3550
|
+
* - sublabel: texto en --sui-text-sub-600, weight 400 (override del 500 del label).
|
|
3551
|
+
* - tooltip: botón info, icono custom `info-custom-fill` (node 125:279) vía sui-icon
|
|
3552
|
+
* (registrado en SUI_CUSTOM_ICONS) — círculo relleno con "i" serif, NO el
|
|
3553
|
+
* ri-information-fill de RemixIcon (i recta). Color --sui-icon-disabled-300 (#d1d1d1)
|
|
3554
|
+
* via currentColor; el vector queda ~12.5px centrado en slot 20px (padding 18.75%).
|
|
3555
|
+
* - link: sui-link-button variant="gray" size="small" alineado a la derecha
|
|
3556
|
+
* (margin-left: auto). En Figma el nodo del link ES una instancia de
|
|
3557
|
+
* "Link Buttons [1.1]" (266:2814) → se renderiza con el COMPONENTE real,
|
|
3558
|
+
* no un <button> maqueta (canon: ningún button custom donde un SUI sirve).
|
|
3559
|
+
* Variant gray = 12/16/500 text/sub-600 base + disabled-300, idéntico al
|
|
3560
|
+
* spec verificado del label.
|
|
3561
|
+
* - disabled: --sui-text-disabled-300 / --sui-icon-disabled-300 en todo, sin cursor pointer.
|
|
3562
|
+
* - sizes: xsmall/small/medium — tipografía escala con el field que acompaña.
|
|
3563
|
+
*
|
|
3564
|
+
* extraFeatures preservadas (audit): variante `size` (xsmall/small/medium) derivada del
|
|
3565
|
+
* contexto de sui-input/sui-select — NO está en los nodos Figma auditados pero se mantiene.
|
|
3566
|
+
*/
|
|
3567
|
+
declare class SuiFormLabel {
|
|
3568
|
+
/** Texto principal del label (imperativo) */
|
|
3569
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3570
|
+
/** Sublabel opcional (texto secundario pequeño después del label principal) */
|
|
3571
|
+
readonly sublabel: _angular_core.InputSignal<string | null>;
|
|
3572
|
+
/** Marca como requerido — muestra asterisco al final del label principal */
|
|
3573
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
3574
|
+
/** Tooltip opcional sobre un icono info (ℹ) al final del label */
|
|
3575
|
+
readonly tooltip: _angular_core.InputSignal<string | null>;
|
|
3576
|
+
/** Link de acción a la derecha (variante "Button" de Figma, ej. "Help?") —
|
|
3577
|
+
* string shorthand (solo label, emite `linkClick`) o SuiLinkConfig
|
|
3578
|
+
* { label, href?, target?, rel? }: con href renderiza <a> real; rel
|
|
3579
|
+
* automático 'noopener noreferrer' para _blank. Si null/vacío, no se
|
|
3580
|
+
* renderiza el link. (Patrón canon `link` de sui-checkbox-label.) */
|
|
3581
|
+
readonly link: _angular_core.InputSignal<string | SuiLinkConfig | null>;
|
|
3582
|
+
/** Config resuelta del link (string → { label }, rel automático). */
|
|
3583
|
+
protected readonly linkCfg: _angular_core.Signal<SuiLinkConfig | null>;
|
|
3584
|
+
/** Tamaño visual — matchea al field que acompaña */
|
|
3585
|
+
readonly size: _angular_core.InputSignal<SuiFormLabelSize>;
|
|
3586
|
+
/** Atenúa todo el label (estado Disabled de Figma) */
|
|
3587
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
3588
|
+
/** ID del field controlado (para accesibilidad `for` attribute) */
|
|
3589
|
+
readonly for: _angular_core.InputSignal<string | null>;
|
|
3590
|
+
/** Emite cuando se clickea el link de acción (variante "Button" de Figma) */
|
|
3591
|
+
readonly linkClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
3592
|
+
/** Click del link: stop-propagation para no disparar la activación del <label>
|
|
3593
|
+
* contenedor. sui-link-button ya bloquea el click cuando está disabled. */
|
|
3594
|
+
onLinkClick(event: MouseEvent): void;
|
|
3595
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiFormLabel, never>;
|
|
3596
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFormLabel, "sui-form-label", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "for": { "alias": "for"; "required": false; "isSignal": true; }; }, { "linkClick": "linkClick"; }, never, never, true, never>;
|
|
3597
|
+
}
|
|
3598
|
+
|
|
3599
|
+
type SuiCounterInputSize = 'xsmall' | 'small' | 'medium' | 'large';
|
|
3514
3600
|
/**
|
|
3515
3601
|
* SUI Counter Input — SUI Design System 2.0
|
|
3516
3602
|
*
|
|
@@ -3570,6 +3656,8 @@ type SuiCounterInputSize = 'xsmall' | 'small' | 'medium';
|
|
|
3570
3656
|
*/
|
|
3571
3657
|
declare class SuiCounterInput implements ControlValueAccessor {
|
|
3572
3658
|
readonly size: _angular_core.InputSignal<SuiCounterInputSize>;
|
|
3659
|
+
/** El form-label no tiene 'large' — se capea a medium (el label no escala). */
|
|
3660
|
+
protected readonly labelSize: _angular_core.Signal<SuiFormLabelSize>;
|
|
3573
3661
|
readonly label: _angular_core.InputSignal<string | null>;
|
|
3574
3662
|
readonly sublabel: _angular_core.InputSignal<string | null>;
|
|
3575
3663
|
readonly required: _angular_core.InputSignal<boolean>;
|
|
@@ -5193,7 +5281,7 @@ declare class SuiFileUpload {
|
|
|
5193
5281
|
protected readonly inputRef: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
5194
5282
|
protected readonly dragging: _angular_core.WritableSignal<boolean>;
|
|
5195
5283
|
protected readonly internalError: _angular_core.WritableSignal<string | null>;
|
|
5196
|
-
protected readonly state: _angular_core.Signal<"
|
|
5284
|
+
protected readonly state: _angular_core.Signal<"default" | "error" | "disabled" | "dragover">;
|
|
5197
5285
|
protected readonly resolvedTitle: _angular_core.Signal<string>;
|
|
5198
5286
|
protected readonly resolvedSubtitle: _angular_core.Signal<string>;
|
|
5199
5287
|
protected readonly resolvedErrorMessage: _angular_core.Signal<string | null>;
|
|
@@ -5501,92 +5589,6 @@ declare class SuiFormHint {
|
|
|
5501
5589
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFormHint, "sui-form-hint", never, { "message": { "alias": "message"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5502
5590
|
}
|
|
5503
5591
|
|
|
5504
|
-
type SuiFormLabelSize = 'xsmall' | 'small' | 'medium';
|
|
5505
|
-
/**
|
|
5506
|
-
* SUI Form Label — SUI DS 2.0
|
|
5507
|
-
*
|
|
5508
|
-
* Figma file: 8p1k72aKKvzJV4XcvPS4VO
|
|
5509
|
-
* Figma group: "Key Components" → Label [1.1]
|
|
5510
|
-
* (nodos auditados: 263:1850 / 266:2814 — frame Label)
|
|
5511
|
-
*
|
|
5512
|
-
* Matriz Figma decodificada (audit reports.json "Key Components"):
|
|
5513
|
-
* Label(Normal/Disabled) × Required × Sublabel × Info × Button (~16 combinaciones)
|
|
5514
|
-
* - Normal/Disabled → input `disabled`
|
|
5515
|
-
* - Required → input `required` (asterisco)
|
|
5516
|
-
* - Sublabel → input `sublabel` (texto secundario)
|
|
5517
|
-
* - Info → input `tooltip` (icono ℹ + tooltip)
|
|
5518
|
-
* - Button → input `link` + output `linkClick` (link tipo "Help?" a la derecha)
|
|
5519
|
-
*
|
|
5520
|
-
* @input label: string (required) — Texto principal del label
|
|
5521
|
-
* @input sublabel: string | null — Texto secundario pequeño (ej. "Optional", "Required")
|
|
5522
|
-
* @input required: boolean — Muestra asterisco al final del label principal
|
|
5523
|
-
* @input tooltip: string | null — Tooltip sobre icono info (ℹ) al final del label
|
|
5524
|
-
* @input link: SuiLinkConfig | string | null — Link de acción a la derecha (variante
|
|
5525
|
-
* "Button" de Figma, ej. "Help?"). String shorthand = solo label (emite `linkClick`);
|
|
5526
|
-
* SuiLinkConfig { label, href?, target?, rel? } = <a> real con rel automático
|
|
5527
|
-
* 'noopener noreferrer' si target='_blank' (patrón canon sui-checkbox-label).
|
|
5528
|
-
* Si null, no se renderiza el link.
|
|
5529
|
-
* @input size: 'xsmall' | 'small' | 'medium' — Tamaño visual, default 'medium'
|
|
5530
|
-
* @input disabled: boolean — Atenúa todo el label (text/sublabel/asterisco/icono/link)
|
|
5531
|
-
* @input for: string | null — Attr `for` del <label> para accesibilidad
|
|
5532
|
-
* @output linkClick: MouseEvent — Emite cuando se clickea el link de acción ("Button" variant)
|
|
5533
|
-
*
|
|
5534
|
-
* Variantes (todas verificadas contra el variantMatrix de la auditoría;
|
|
5535
|
-
* los valores cromáticos exactos quedan PENDING VERIFY hasta re-correr MCP Figma):
|
|
5536
|
-
* - required: asterisco (*) en --sui-state-error-base.
|
|
5537
|
-
* NOTA token: SUI 2.0 base pinta el asterisco con --primary-base (#335cff azul).
|
|
5538
|
-
* En ESTE proyecto --primary-base fue rebrandeado a naranja (#fa7319), y el asterisco
|
|
5539
|
-
* de "requerido" es semánticamente un error/alerta → se usa --sui-state-error-base
|
|
5540
|
-
* (#fb3748). Decisión consciente, NO copia ciega del token azul de SUI.
|
|
5541
|
-
* - sublabel: texto en --sui-text-sub-600, weight 400 (override del 500 del label).
|
|
5542
|
-
* - tooltip: botón info, icono custom `info-custom-fill` (node 125:279) vía sui-icon
|
|
5543
|
-
* (registrado en SUI_CUSTOM_ICONS) — círculo relleno con "i" serif, NO el
|
|
5544
|
-
* ri-information-fill de RemixIcon (i recta). Color --sui-icon-disabled-300 (#d1d1d1)
|
|
5545
|
-
* via currentColor; el vector queda ~12.5px centrado en slot 20px (padding 18.75%).
|
|
5546
|
-
* - link: sui-link-button variant="gray" size="small" alineado a la derecha
|
|
5547
|
-
* (margin-left: auto). En Figma el nodo del link ES una instancia de
|
|
5548
|
-
* "Link Buttons [1.1]" (266:2814) → se renderiza con el COMPONENTE real,
|
|
5549
|
-
* no un <button> maqueta (canon: ningún button custom donde un SUI sirve).
|
|
5550
|
-
* Variant gray = 12/16/500 text/sub-600 base + disabled-300, idéntico al
|
|
5551
|
-
* spec verificado del label.
|
|
5552
|
-
* - disabled: --sui-text-disabled-300 / --sui-icon-disabled-300 en todo, sin cursor pointer.
|
|
5553
|
-
* - sizes: xsmall/small/medium — tipografía escala con el field que acompaña.
|
|
5554
|
-
*
|
|
5555
|
-
* extraFeatures preservadas (audit): variante `size` (xsmall/small/medium) derivada del
|
|
5556
|
-
* contexto de sui-input/sui-select — NO está en los nodos Figma auditados pero se mantiene.
|
|
5557
|
-
*/
|
|
5558
|
-
declare class SuiFormLabel {
|
|
5559
|
-
/** Texto principal del label (imperativo) */
|
|
5560
|
-
readonly label: _angular_core.InputSignal<string>;
|
|
5561
|
-
/** Sublabel opcional (texto secundario pequeño después del label principal) */
|
|
5562
|
-
readonly sublabel: _angular_core.InputSignal<string | null>;
|
|
5563
|
-
/** Marca como requerido — muestra asterisco al final del label principal */
|
|
5564
|
-
readonly required: _angular_core.InputSignal<boolean>;
|
|
5565
|
-
/** Tooltip opcional sobre un icono info (ℹ) al final del label */
|
|
5566
|
-
readonly tooltip: _angular_core.InputSignal<string | null>;
|
|
5567
|
-
/** Link de acción a la derecha (variante "Button" de Figma, ej. "Help?") —
|
|
5568
|
-
* string shorthand (solo label, emite `linkClick`) o SuiLinkConfig
|
|
5569
|
-
* { label, href?, target?, rel? }: con href renderiza <a> real; rel
|
|
5570
|
-
* automático 'noopener noreferrer' para _blank. Si null/vacío, no se
|
|
5571
|
-
* renderiza el link. (Patrón canon `link` de sui-checkbox-label.) */
|
|
5572
|
-
readonly link: _angular_core.InputSignal<string | SuiLinkConfig | null>;
|
|
5573
|
-
/** Config resuelta del link (string → { label }, rel automático). */
|
|
5574
|
-
protected readonly linkCfg: _angular_core.Signal<SuiLinkConfig | null>;
|
|
5575
|
-
/** Tamaño visual — matchea al field que acompaña */
|
|
5576
|
-
readonly size: _angular_core.InputSignal<SuiFormLabelSize>;
|
|
5577
|
-
/** Atenúa todo el label (estado Disabled de Figma) */
|
|
5578
|
-
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
5579
|
-
/** ID del field controlado (para accesibilidad `for` attribute) */
|
|
5580
|
-
readonly for: _angular_core.InputSignal<string | null>;
|
|
5581
|
-
/** Emite cuando se clickea el link de acción (variante "Button" de Figma) */
|
|
5582
|
-
readonly linkClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
5583
|
-
/** Click del link: stop-propagation para no disparar la activación del <label>
|
|
5584
|
-
* contenedor. sui-link-button ya bloquea el click cuando está disabled. */
|
|
5585
|
-
onLinkClick(event: MouseEvent): void;
|
|
5586
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiFormLabel, never>;
|
|
5587
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiFormLabel, "sui-form-label", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "for": { "alias": "for"; "required": false; "isSignal": true; }; }, { "linkClick": "linkClick"; }, never, never, true, never>;
|
|
5588
|
-
}
|
|
5589
|
-
|
|
5590
5592
|
/**
|
|
5591
5593
|
* Iconos CUSTOM de SUI que NO existen en RemixIcon (forma propia del DS).
|
|
5592
5594
|
* Cuando `name` matchea una key de acá, sui-icon renderiza el SVG inline; para
|
|
@@ -7067,9 +7069,15 @@ declare class SuiModalFooter {
|
|
|
7067
7069
|
readonly secondaryButton: _angular_core.InputSignal<string | SuiFooterButtonConfig | null>;
|
|
7068
7070
|
/** Type Stretch de Figma: los botones ocupan todo el ancho (50/50). */
|
|
7069
7071
|
readonly stretch: _angular_core.InputSignal<boolean>;
|
|
7070
|
-
/**
|
|
7071
|
-
|
|
7072
|
-
readonly
|
|
7072
|
+
/** Modal padre (por element injector — el footer se declara dentro de
|
|
7073
|
+
<sui-modal> en el template del consumer). Null en uso standalone. */
|
|
7074
|
+
private readonly modal;
|
|
7075
|
+
/** Size explícito de los botones. Si no se pasa, el DS legisla solo
|
|
7076
|
+
(fuente única, regla del proyecto): `large` (48px) dentro de un modal
|
|
7077
|
+
fullscreen — touch targets móviles — y `small` (36px, canon Figma
|
|
7078
|
+
472:566) en dialogs normales. */
|
|
7079
|
+
readonly buttonSize: _angular_core.InputSignal<SuiButtonSize | null>;
|
|
7080
|
+
protected readonly effectiveButtonSize: _angular_core.Signal<SuiButtonSize>;
|
|
7073
7081
|
readonly primaryClick: _angular_core.OutputEmitterRef<void>;
|
|
7074
7082
|
readonly secondaryClick: _angular_core.OutputEmitterRef<void>;
|
|
7075
7083
|
private cfg;
|