@ajuarezso/sui-design-system 0.2.2 → 0.2.4

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ajuarezso/sui-design-system",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "SUI Design System — librería de componentes Angular (SUI 2.0).",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -1068,6 +1068,20 @@ type SuiBadgeColor = 'gray' | 'blue' | 'orange' | 'red' | 'green' | 'yellow' | '
1068
1068
  type SuiBadgeVariant = 'filled' | 'light' | 'lighter' | 'stroke' | 'dark';
1069
1069
  type SuiBadgeSize = 'small' | 'medium';
1070
1070
  type SuiBadgeType = 'basic' | 'with-dot' | 'left-icon' | 'right-icon' | 'number';
1071
+ /**
1072
+ * Config de badge embebido en otros componentes (checkbox-label, switch-label,
1073
+ * integration-switch, checkbox-card, radio-card, switch-card). Un solo input
1074
+ * `[badge]` reemplaza al par booleano + badgeLabel; acepta string shorthand
1075
+ * (`badge="NEW"`) para el caso común. Los componentes que renderizan un
1076
+ * <sui-badge> real honran color/variant/size (defaults orange/light/small);
1077
+ * las cards usan su render Figma-exacto y toman solo `label`.
1078
+ */
1079
+ interface SuiBadgeConfig {
1080
+ label: string;
1081
+ color?: SuiBadgeColor;
1082
+ variant?: SuiBadgeVariant;
1083
+ size?: SuiBadgeSize;
1084
+ }
1071
1085
  /**
1072
1086
  * SUI Badge — SUI Design System 2.0
1073
1087
  *
@@ -1903,9 +1917,10 @@ declare class SuiCheckboxCard implements ControlValueAccessor {
1903
1917
  readonly iconSrc: _angular_core.InputSignal<string | null>;
1904
1918
  /** URL de imagen para type='avatar'. Si falla, fallback a iniciales del label. */
1905
1919
  readonly imageUrl: _angular_core.InputSignal<string | null>;
1906
- /** Muestra badge built-in al lado del sublabel (default 'NEW'). */
1907
- readonly badge: _angular_core.InputSignal<boolean>;
1908
- readonly badgeLabel: _angular_core.InputSignal<string>;
1920
+ /** Badge junto al label — string shorthand ('NEW') o SuiBadgeConfig
1921
+ (label + color/variant/size, tipado como sui-badge). null = sin badge. */
1922
+ readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
1923
+ protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
1909
1924
  /** Indeterminate state (tri-state checkbox). */
1910
1925
  readonly indeterminate: _angular_core.InputSignal<boolean>;
1911
1926
  readonly disabled: _angular_core.InputSignal<boolean>;
@@ -1929,7 +1944,7 @@ declare class SuiCheckboxCard implements ControlValueAccessor {
1929
1944
  registerOnTouched(fn: () => void): void;
1930
1945
  setDisabledState(isDisabled: boolean): void;
1931
1946
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiCheckboxCard, never>;
1932
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCheckboxCard, "sui-checkbox-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "iconSrc": { "alias": "iconSrc"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "checkedChange2": "checkedChange2"; }, never, ["[slot=leading]"], true, never>;
1947
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCheckboxCard, "sui-checkbox-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "iconSrc": { "alias": "iconSrc"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "checkedChange2": "checkedChange2"; }, never, ["[slot=leading]"], true, never>;
1933
1948
  }
1934
1949
 
1935
1950
  /**
@@ -2003,10 +2018,10 @@ declare class SuiCheckboxLabel implements ControlValueAccessor {
2003
2018
  /** Descripción opcional debajo del title. Cuando está set, el variant
2004
2019
  cambia a "with description" (label en medium + multi-line content). */
2005
2020
  readonly description: _angular_core.InputSignal<string | null>;
2006
- /** Muestra el badge built-in al lado del sublabel (default 'NEW'). */
2007
- readonly badge: _angular_core.InputSignal<boolean>;
2008
- /** Custom label para el badge (default 'NEW'). */
2009
- readonly badgeLabel: _angular_core.InputSignal<string>;
2021
+ /** Badge junto al label — string shorthand ('NEW') o SuiBadgeConfig
2022
+ (label + color/variant/size, tipado como sui-badge). null = sin badge. */
2023
+ readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
2024
+ protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
2010
2025
  /** Texto del Link Button opcional debajo de la description. Solo se renderiza
2011
2026
  cuando description tiene valor. */
2012
2027
  readonly linkLabel: _angular_core.InputSignal<string | null>;
@@ -2036,7 +2051,7 @@ declare class SuiCheckboxLabel implements ControlValueAccessor {
2036
2051
  registerOnTouched(fn: () => void): void;
2037
2052
  setDisabledState(isDisabled: boolean): void;
2038
2053
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiCheckboxLabel, never>;
2039
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCheckboxLabel, "sui-checkbox-label", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "linkLabel": { "alias": "linkLabel"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "linkClick": "linkClick"; }, never, never, true, never>;
2054
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiCheckboxLabel, "sui-checkbox-label", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "linkLabel": { "alias": "linkLabel"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "linkClick": "linkClick"; }, never, never, true, never>;
2040
2055
  }
2041
2056
 
2042
2057
  type SuiCircularProgressBarColor = 'blue' | 'green' | 'orange' | 'red' | 'purple';
@@ -2374,6 +2389,7 @@ declare class SuiColorPicker {
2374
2389
  /** Hex input visible (separate del value model para validación en blur). */
2375
2390
  protected readonly hexInput: _angular_core.WritableSignal<string>;
2376
2391
  /** Refs del spectrum y sliders para cálculos de bounds */
2392
+ private readonly _menu;
2377
2393
  private readonly canvasRef;
2378
2394
  private readonly hueRef;
2379
2395
  private readonly opacityRef;
@@ -2456,6 +2472,10 @@ declare class SuiColorPicker {
2456
2472
  readonly hexDisplayValue: _angular_core.Signal<string>;
2457
2473
  toggle(): void;
2458
2474
  close(): void;
2475
+ /** El sui-dropdown-menu (CDK overlay) es el dueño del open/close: acá solo se
2476
+ sincroniza el signal `open` (aria-expanded, chevron, data-sui-open) y el
2477
+ hex input al abrir. Backdrop + Esc + detachments los maneja el menu. */
2478
+ protected onMenuOpenedChange(opened: boolean): void;
2459
2479
  onPresetClick(preset: SuiColorDotColor): void;
2460
2480
  private canvasDragging;
2461
2481
  protected onCanvasPointerDown(ev: PointerEvent): void;
@@ -2478,8 +2498,6 @@ declare class SuiColorPicker {
2478
2498
  protected onHexKeyDown(ev: KeyboardEvent): void;
2479
2499
  protected onOpacityFieldCommit(ev: Event): void;
2480
2500
  protected onEyedropper(): Promise<void>;
2481
- protected onDocumentClick(target: EventTarget | null): void;
2482
- protected onEscape(): void;
2483
2501
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiColorPicker, never>;
2484
2502
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiColorPicker, "sui-color-picker", never, { "colors": { "alias": "colors"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "recommendedLabel": { "alias": "recommendedLabel"; "required": false; "isSignal": true; }; "presetsOnly": { "alias": "presetsOnly"; "required": false; "isSignal": true; }; "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; "eyedropper": { "alias": "eyedropper"; "required": false; "isSignal": true; }; "showFormatLabel": { "alias": "showFormatLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "change": "change"; }, never, never, true, never>;
2485
2503
  }
@@ -6127,8 +6145,10 @@ declare class SuiIntegrationSwitch implements ControlValueAccessor {
6127
6145
  readonly brandIconSrc: _angular_core.InputSignal<string | null>;
6128
6146
  /** RemixIcon fallback si no hay brandIconSrc (ej. 'plug-line' como genérico). */
6129
6147
  readonly brandIcon: _angular_core.InputSignal<string | null>;
6130
- readonly badge: _angular_core.InputSignal<boolean>;
6131
- readonly badgeLabel: _angular_core.InputSignal<string>;
6148
+ /** Badge junto al label — string shorthand ('NEW') o SuiBadgeConfig
6149
+ (label + color/variant/size, tipado como sui-badge). null = sin badge. */
6150
+ readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
6151
+ protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
6132
6152
  /** Mostrar el manage button. Default true. */
6133
6153
  readonly showManage: _angular_core.InputSignal<boolean>;
6134
6154
  readonly manageLabel: _angular_core.InputSignal<string>;
@@ -6162,7 +6182,7 @@ declare class SuiIntegrationSwitch implements ControlValueAccessor {
6162
6182
  registerOnTouched(fn: () => void): void;
6163
6183
  setDisabledState(isDisabled: boolean): void;
6164
6184
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiIntegrationSwitch, never>;
6165
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiIntegrationSwitch, "sui-integration-switch", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "brandIconSrc": { "alias": "brandIconSrc"; "required": false; "isSignal": true; }; "brandIcon": { "alias": "brandIcon"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "showManage": { "alias": "showManage"; "required": false; "isSignal": true; }; "manageLabel": { "alias": "manageLabel"; "required": false; "isSignal": true; }; "manageIcon": { "alias": "manageIcon"; "required": false; "isSignal": true; }; "showToggle": { "alias": "showToggle"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "activeChange": "activeChange"; "manage": "manage"; }, never, ["[sui-integration-brand]"], true, never>;
6185
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiIntegrationSwitch, "sui-integration-switch", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "brandIconSrc": { "alias": "brandIconSrc"; "required": false; "isSignal": true; }; "brandIcon": { "alias": "brandIcon"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "showManage": { "alias": "showManage"; "required": false; "isSignal": true; }; "manageLabel": { "alias": "manageLabel"; "required": false; "isSignal": true; }; "manageIcon": { "alias": "manageIcon"; "required": false; "isSignal": true; }; "showToggle": { "alias": "showToggle"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "activeChange": "activeChange"; "manage": "manage"; }, never, ["[sui-integration-brand]"], true, never>;
6166
6186
  }
6167
6187
 
6168
6188
  /**
@@ -7663,10 +7683,10 @@ declare class SuiRadioCard implements ControlValueAccessor {
7663
7683
  * label. Para los otros types se ignora.
7664
7684
  */
7665
7685
  readonly imageUrl: _angular_core.InputSignal<string | null>;
7666
- /** Si true, muestra el badge built-in al lado del sublabel (default 'NEW'). */
7667
- readonly badge: _angular_core.InputSignal<boolean>;
7668
- /** Custom label para el badge (default 'NEW'). Solo aplica si badge=true. */
7669
- readonly badgeLabel: _angular_core.InputSignal<string>;
7686
+ /** Badge junto al label — string shorthand ('NEW') o SuiBadgeConfig
7687
+ (label + color/variant/size, tipado como sui-badge). null = sin badge. */
7688
+ readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
7689
+ protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
7670
7690
  readonly disabled: _angular_core.InputSignal<boolean>;
7671
7691
  /** Standalone mode (no group): two-way binding del estado checked. */
7672
7692
  readonly checked: _angular_core.ModelSignal<boolean>;
@@ -7691,7 +7711,7 @@ declare class SuiRadioCard implements ControlValueAccessor {
7691
7711
  registerOnTouched(fn: () => void): void;
7692
7712
  setDisabledState(isDisabled: boolean): void;
7693
7713
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiRadioCard, never>;
7694
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiRadioCard, "sui-radio-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "iconSrc": { "alias": "iconSrc"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "selected": "selected"; }, never, never, true, never>;
7714
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiRadioCard, "sui-radio-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "iconSrc": { "alias": "iconSrc"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "selected": "selected"; }, never, never, true, never>;
7695
7715
  }
7696
7716
 
7697
7717
  declare class SuiRadioGroup implements ControlValueAccessor {
@@ -9000,10 +9020,10 @@ declare class SuiSwitchCard implements ControlValueAccessor {
9000
9020
  * label. Para los otros types se ignora.
9001
9021
  */
9002
9022
  readonly imageUrl: _angular_core.InputSignal<string | null>;
9003
- /** Si true, muestra el badge NEW built-in al lado del sublabel. */
9004
- readonly badge: _angular_core.InputSignal<boolean>;
9005
- /** Custom label para el badge (default 'NEW'). Solo aplica si badge=true. */
9006
- readonly badgeLabel: _angular_core.InputSignal<string>;
9023
+ /** Badge junto al label — string shorthand ('NEW') o SuiBadgeConfig
9024
+ (label + color/variant/size, tipado como sui-badge). null = sin badge. */
9025
+ readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
9026
+ protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
9007
9027
  /** Estado del switch — controlled pattern (input + output, no model).
9008
9028
  * Ver `sui-switch.ts` para la justificación (anti-loop protection bug). */
9009
9029
  readonly checked: _angular_core.InputSignal<boolean>;
@@ -9036,7 +9056,7 @@ declare class SuiSwitchCard implements ControlValueAccessor {
9036
9056
  registerOnTouched(fn: () => void): void;
9037
9057
  setDisabledState(isDisabled: boolean): void;
9038
9058
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiSwitchCard, never>;
9039
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiSwitchCard, "sui-switch-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; }, never, ["[sui-switch-card-leading]"], true, never>;
9059
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiSwitchCard, "sui-switch-card", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "emoji": { "alias": "emoji"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; }, never, ["[sui-switch-card-leading]"], true, never>;
9040
9060
  }
9041
9061
 
9042
9062
  /**
@@ -9102,8 +9122,10 @@ declare class SuiSwitchLabel implements ControlValueAccessor {
9102
9122
  readonly description: _angular_core.InputSignal<string | null>;
9103
9123
  /** Tamaño del switch interno — lo decide el padre (componente dumb). */
9104
9124
  readonly size: _angular_core.InputSignal<SuiSwitchSize>;
9105
- readonly badge: _angular_core.InputSignal<boolean>;
9106
- readonly badgeLabel: _angular_core.InputSignal<string>;
9125
+ /** Badge junto al label — string shorthand ('NEW') o SuiBadgeConfig
9126
+ (label + color/variant/size, tipado como sui-badge). null = sin badge. */
9127
+ readonly badge: _angular_core.InputSignal<string | SuiBadgeConfig | null>;
9128
+ protected readonly badgeCfg: _angular_core.Signal<SuiBadgeConfig | null>;
9107
9129
  readonly linkLabel: _angular_core.InputSignal<string | null>;
9108
9130
  /** Si true, invierte orden: [content] [switch] (label a la izquierda). */
9109
9131
  readonly flip: _angular_core.InputSignal<boolean>;
@@ -9137,7 +9159,7 @@ declare class SuiSwitchLabel implements ControlValueAccessor {
9137
9159
  registerOnTouched(fn: () => void): void;
9138
9160
  setDisabledState(isDisabled: boolean): void;
9139
9161
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiSwitchLabel, never>;
9140
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiSwitchLabel, "sui-switch-label", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "linkLabel": { "alias": "linkLabel"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "activeChange": "activeChange"; "linkClick": "linkClick"; }, never, never, true, never>;
9162
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiSwitchLabel, "sui-switch-label", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "linkLabel": { "alias": "linkLabel"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "activeChange": "activeChange"; "linkClick": "linkClick"; }, never, never, true, never>;
9141
9163
  }
9142
9164
 
9143
9165
  interface SuiTabChipItem {
@@ -10678,4 +10700,4 @@ declare class SuiTooltipPanel {
10678
10700
  }
10679
10701
 
10680
10702
  export { DAY_LABELS_ES, DEFAULT_DURATION_PRESETS, DEFAULT_PRESETS, EMPTY_STATE_FOX_EMOJI, SUI_BRAND_LOGO_COMPANIES, SUI_COLOR_DOT_COLORS, SUI_COLOR_DOT_HEX, SUI_CUSTOM_ICONS, SUI_EMOJI_MAP, SUI_FLAG_NAMES, SUI_HEX_TO_COLOR, SUI_KEY_ICON_COLORS, SUI_KEY_ICON_SIZES, SUI_NAVBAR_VISIBILITY, SUI_TAB_BAR, SuiAccordion, SuiActivityFeed, SuiActivityFilter, SuiAlert, SuiAppStoreBadge, SuiAvatar, SuiAvatarGroup, SuiBadge, SuiBanner, SuiBrandLogo, SuiBreadcrumbItem, SuiBreadcrumbs, SuiButton, SuiButtonGroup, SuiButtonGroupItem, SuiCard, SuiCheckbox, SuiCheckboxCard, SuiCheckboxLabel, SuiCircularProgressBar, SuiColorDot, SuiColorPicker, SuiCommandMenuFooter, SuiCommandMenuItem, SuiCommandMenuSearch, SuiCompactAvatarGroup, SuiCompactButton, SuiCompactSelect, SuiCompactSelectForInput, SuiContentCard, SuiContentDivider, SuiCounterInput, SuiDateSelector, SuiDatepicker, SuiDayCell, SuiDayLabel, SuiDivider, SuiDrawerFooter, SuiDrawerHeader, SuiDropdownCaption, SuiDropdownItem, SuiDropdownMenu, SuiDropdownPanel, SuiDropdownSearch, SuiEmoji, SuiEmptyState, SuiFancyButton, SuiFileIcon, SuiFileUpload, SuiFileUploadCard, SuiFilterBar, SuiFilterItem, SuiFilterPanelFooter, SuiFilterPanelHeader, SuiFlag, SuiFormHint, SuiFormLabel, SuiIcon, SuiImageUpload, SuiImageUploadProfile, SuiInlineInput, SuiInlineSelect, SuiInput, SuiIntegrationSwitch, SuiKbd, SuiKeyIcon, SuiLinkButton, SuiModal, SuiModalSheet, SuiNotification, SuiNotificationFooter, SuiNotificationTabMenu, SuiOtpInput, SuiPageHeader, SuiPagination, SuiPeriodRange, SuiPopover, SuiProgressBar, SuiProgressBarLabel, SuiRadio, SuiRadioCard, SuiRadioGroup, SuiRating, SuiRichEditor, SuiRichEditorItem, SuiSelect, SuiSidebar, SuiSlider, SuiSocialButton, SuiStatusBadge, SuiStepper, SuiStoreCard, SuiSwitch, SuiSwitchCard, SuiSwitchLabel, SuiTabChips, SuiTable, SuiTableCellDirective, SuiTabs, SuiTag, SuiTagInput, SuiTextarea, SuiTimePicker, SuiTimePickerDuration, SuiTimePickerItem, SuiTimePickerStatus, SuiToastOutlet, SuiToastService, SuiTooltip, SuiTooltipPanel, buildCalendarGrid, buildHourList, buildMinuteList, formatDateInput, formatDateShort, formatMonthYear, formatTime, isSameTime, normalizeHex, pad2, parseTime, to12h, to24h };
10681
- export type { CalendarCell, CalendarRow, DatepickerPreset, DatepickerPresetId, SuiAccordionFlipIcon, SuiActivityAvatarRef, SuiActivityFeedItem, SuiActivityFile, SuiActivityFilterState, SuiActivityTask, SuiActivityTaskState, SuiAlertAction, SuiAlertSize, SuiAlertStyle, SuiAlertVariant, SuiAppStoreBadgeAppearance, SuiAppStoreBadgeCompany, SuiAvatarColor, SuiAvatarGroupItem, SuiAvatarSize, SuiAvatarStatus, SuiAvatarTopBadge, SuiBadgeColor, SuiBadgeSize, SuiBadgeType, SuiBadgeVariant, SuiBannerStyle, SuiBannerVariant, SuiBrandLogoCompany, SuiBrandLogoSize, SuiBrandLogoStyle, SuiBreadcrumbDivider, SuiBreadcrumbEntry, SuiButtonColor, SuiButtonGroupEntry, SuiButtonGroupItemSize, SuiButtonSize, SuiButtonVariant, SuiCardSize, SuiCardVariant, SuiCheckboxCardType, SuiCheckboxSize, SuiCircularProgressBarColor, SuiCircularProgressBarSize, SuiColorDotColor, SuiCommandMenuItemSize, SuiCommandMenuItemType, SuiCompactAvatarGroupAppearance, SuiCompactAvatarGroupSize, SuiCompactButtonSize, SuiCompactButtonStyle, SuiCompactSelectForInputItem, SuiCompactSelectForInputSize, SuiCompactSelectItem, SuiCompactSelectSize, SuiCompactSelectType, SuiContentCardType, SuiContentDividerItem, SuiContentDividerType, SuiCounterInputSize, SuiDateRange, SuiDatepickerCalendars, SuiDatepickerMode, SuiDayCellType, SuiDividerOrientation, SuiDrawerFooterType, SuiDrawerHeaderSize, SuiDrawerHeaderType, SuiDropdownItemMode, SuiDropdownItemSize, SuiDropdownMenuPopupRole, SuiDropdownMenuPosition, SuiEmojiName, SuiEmojiSize, SuiFancyButtonSize, SuiFancyButtonType, SuiFileIconColor, SuiFileIconSize, SuiFileUploadCardState, SuiFileUploadSize, SuiFilterItemState, SuiFlagName, SuiFlagSize, SuiFormHintSize, SuiFormHintVariant, SuiFormLabelSize, SuiImageUploadProfileAlignment, SuiImageUploadProfileType, SuiImageUploadShape, SuiImageUploadSize, SuiInlineSelectItem, SuiInlineSelectType, SuiInputSize, SuiInputType, SuiIntegrationSwitchAppearance, SuiIntegrationSwitchType, SuiKbdVariant, SuiKeyIconColor, SuiKeyIconSize, SuiKeyIconStyle, SuiLinkButtonSize, SuiLinkButtonVariant, SuiModalIconVariant, SuiModalSize, SuiModalStatusAlignment, SuiNavbarVisibility, SuiNotificationStyle, SuiNotificationTab, SuiNotificationVariant, SuiOtpInputType, SuiPaginationInfoFormat, SuiPaginationSize, SuiPaginationType, SuiPopoverFooter, SuiPopoverPosition, SuiProgressBarColor, SuiProgressBarLabelType, SuiProgressBarSize, SuiRadioCardType, SuiRadioSize, SuiRadioValue, SuiRatingAlignment, SuiRatingAppearance, SuiRatingReviewLink, SuiRatingSize, SuiRatingType, SuiRichEditorAction, SuiRichEditorCommand, SuiRichEditorItemState, SuiRichEditorItemType, SuiRichEditorLayout, SuiSelectOption, SuiSelectSize, SuiSelectType, SuiSidebarIndicatorColor, SuiSidebarItem, SuiSidebarMobileMode, SuiSidebarProfile, SuiSliderType, SuiSocialButtonBrand, SuiSocialButtonStyle, SuiStatusBadgeAppearance, SuiStatusBadgeStatus, SuiStepperItem, SuiStepperSize, SuiStepperState, SuiStepperVariant, SuiStoreCardData, SuiSwitchCardType, SuiSwitchSize, SuiTab, SuiTabBar, SuiTabChipItem, SuiTableCellMisc, SuiTableCellPriority, SuiTableColumn, SuiTableSize, SuiTabsSize, SuiTabsVariant, SuiTabsVerticalStyle, SuiTagInputSize, SuiTagStyle, SuiTimeDurationPreset, SuiTimeFormat, SuiTimePeriod, SuiTimePickerItemDirection, SuiTimePickerStatusType, SuiTimeValue, SuiToastAction, SuiToastData, SuiToastItem, SuiToastPosition, SuiToastStyle, SuiToastVariant, SuiTooltipLargeData, SuiTooltipPosition, SuiTooltipSize, SuiTooltipTheme };
10703
+ export type { CalendarCell, CalendarRow, DatepickerPreset, DatepickerPresetId, SuiAccordionFlipIcon, SuiActivityAvatarRef, SuiActivityFeedItem, SuiActivityFile, SuiActivityFilterState, SuiActivityTask, SuiActivityTaskState, SuiAlertAction, SuiAlertSize, SuiAlertStyle, SuiAlertVariant, SuiAppStoreBadgeAppearance, SuiAppStoreBadgeCompany, SuiAvatarColor, SuiAvatarGroupItem, SuiAvatarSize, SuiAvatarStatus, SuiAvatarTopBadge, SuiBadgeColor, SuiBadgeConfig, SuiBadgeSize, SuiBadgeType, SuiBadgeVariant, SuiBannerStyle, SuiBannerVariant, SuiBrandLogoCompany, SuiBrandLogoSize, SuiBrandLogoStyle, SuiBreadcrumbDivider, SuiBreadcrumbEntry, SuiButtonColor, SuiButtonGroupEntry, SuiButtonGroupItemSize, SuiButtonSize, SuiButtonVariant, SuiCardSize, SuiCardVariant, SuiCheckboxCardType, SuiCheckboxSize, SuiCircularProgressBarColor, SuiCircularProgressBarSize, SuiColorDotColor, SuiCommandMenuItemSize, SuiCommandMenuItemType, SuiCompactAvatarGroupAppearance, SuiCompactAvatarGroupSize, SuiCompactButtonSize, SuiCompactButtonStyle, SuiCompactSelectForInputItem, SuiCompactSelectForInputSize, SuiCompactSelectItem, SuiCompactSelectSize, SuiCompactSelectType, SuiContentCardType, SuiContentDividerItem, SuiContentDividerType, SuiCounterInputSize, SuiDateRange, SuiDatepickerCalendars, SuiDatepickerMode, SuiDayCellType, SuiDividerOrientation, SuiDrawerFooterType, SuiDrawerHeaderSize, SuiDrawerHeaderType, SuiDropdownItemMode, SuiDropdownItemSize, SuiDropdownMenuPopupRole, SuiDropdownMenuPosition, SuiEmojiName, SuiEmojiSize, SuiFancyButtonSize, SuiFancyButtonType, SuiFileIconColor, SuiFileIconSize, SuiFileUploadCardState, SuiFileUploadSize, SuiFilterItemState, SuiFlagName, SuiFlagSize, SuiFormHintSize, SuiFormHintVariant, SuiFormLabelSize, SuiImageUploadProfileAlignment, SuiImageUploadProfileType, SuiImageUploadShape, SuiImageUploadSize, SuiInlineSelectItem, SuiInlineSelectType, SuiInputSize, SuiInputType, SuiIntegrationSwitchAppearance, SuiIntegrationSwitchType, SuiKbdVariant, SuiKeyIconColor, SuiKeyIconSize, SuiKeyIconStyle, SuiLinkButtonSize, SuiLinkButtonVariant, SuiModalIconVariant, SuiModalSize, SuiModalStatusAlignment, SuiNavbarVisibility, SuiNotificationStyle, SuiNotificationTab, SuiNotificationVariant, SuiOtpInputType, SuiPaginationInfoFormat, SuiPaginationSize, SuiPaginationType, SuiPopoverFooter, SuiPopoverPosition, SuiProgressBarColor, SuiProgressBarLabelType, SuiProgressBarSize, SuiRadioCardType, SuiRadioSize, SuiRadioValue, SuiRatingAlignment, SuiRatingAppearance, SuiRatingReviewLink, SuiRatingSize, SuiRatingType, SuiRichEditorAction, SuiRichEditorCommand, SuiRichEditorItemState, SuiRichEditorItemType, SuiRichEditorLayout, SuiSelectOption, SuiSelectSize, SuiSelectType, SuiSidebarIndicatorColor, SuiSidebarItem, SuiSidebarMobileMode, SuiSidebarProfile, SuiSliderType, SuiSocialButtonBrand, SuiSocialButtonStyle, SuiStatusBadgeAppearance, SuiStatusBadgeStatus, SuiStepperItem, SuiStepperSize, SuiStepperState, SuiStepperVariant, SuiStoreCardData, SuiSwitchCardType, SuiSwitchSize, SuiTab, SuiTabBar, SuiTabChipItem, SuiTableCellMisc, SuiTableCellPriority, SuiTableColumn, SuiTableSize, SuiTabsSize, SuiTabsVariant, SuiTabsVerticalStyle, SuiTagInputSize, SuiTagStyle, SuiTimeDurationPreset, SuiTimeFormat, SuiTimePeriod, SuiTimePickerItemDirection, SuiTimePickerStatusType, SuiTimeValue, SuiToastAction, SuiToastData, SuiToastItem, SuiToastPosition, SuiToastStyle, SuiToastVariant, SuiTooltipLargeData, SuiTooltipPosition, SuiTooltipSize, SuiTooltipTheme };