@litigiovirtual/ius-design-components 2.2.8 → 2.2.9

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.
@@ -1,8 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnDestroy, EventEmitter, AfterViewInit, OnChanges, SimpleChanges, OnInit, TemplateRef, ElementRef, Signal } from '@angular/core';
2
+ import { OnDestroy, EventEmitter, AfterViewInit, OnChanges, SimpleChanges, OnInit, TemplateRef, ElementRef, Signal, Injector } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
- import { SafeHtml } from '@angular/platform-browser';
4
+ import { SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
5
5
  import * as _litigiovirtual_ius_design_components from '@litigiovirtual/ius-design-components';
6
+ import { CdkDrag, CdkDragStart, CdkDragDrop } from '@angular/cdk/drag-drop';
6
7
 
7
8
  /** Jerarquía visual. `danger` = destructivo (color semántico, no accent). */
8
9
  type IusButtonVariant = 'primary' | 'outline' | 'secondary' | 'tertiary' | 'danger';
@@ -68,6 +69,11 @@ declare class ButtonComponent implements OnDestroy {
68
69
  * `...rest`/`aria-label` del golden; lo usa OAuthButton al componer).
69
70
  */
70
71
  ariaLabel?: string;
72
+ /**
73
+ * `aria-current` del `<button>` (mismo passthrough `...rest`; lo usa
74
+ * Pagination para marcar la página activa con `'page'`).
75
+ */
76
+ ariaCurrent?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
71
77
  /** Acción del modo `dynamic`; su resolución decide success/error (§3). */
72
78
  action?: (event: MouseEvent) => Promise<IusButtonActionResult> | IusButtonActionResult;
73
79
  /**
@@ -92,7 +98,7 @@ declare class ButtonComponent implements OnDestroy {
92
98
  ngOnDestroy(): void;
93
99
  protected handleClick(event: MouseEvent): Promise<void>;
94
100
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
95
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "ius-button", never, { "variant": { "alias": "variant"; "required": false; }; "label": { "alias": "label"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "sufixIcon": { "alias": "sufixIcon"; "required": false; }; "dynamic": { "alias": "dynamic"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "status": { "alias": "status"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "pressed": { "alias": "pressed"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "type": { "alias": "type"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "action": { "alias": "action"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
101
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "ius-button", never, { "variant": { "alias": "variant"; "required": false; }; "label": { "alias": "label"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "sufixIcon": { "alias": "sufixIcon"; "required": false; }; "dynamic": { "alias": "dynamic"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "status": { "alias": "status"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "pressed": { "alias": "pressed"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "type": { "alias": "type"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaCurrent": { "alias": "ariaCurrent"; "required": false; }; "action": { "alias": "action"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
96
102
  static ngAcceptInputType_dynamic: unknown;
97
103
  static ngAcceptInputType_loading: unknown;
98
104
  static ngAcceptInputType_disabled: unknown;
@@ -594,6 +600,11 @@ declare class TextFieldComponent implements ControlValueAccessor {
594
600
  protected get hint(): string | undefined;
595
601
  protected get showHint(): boolean;
596
602
  protected get showClearComputed(): boolean;
603
+ /**
604
+ * Slot estable del golden: salvo `showClear=false` o disabled, el botón queda en el
605
+ * flujo (oculto sin valor) para que aparecer/desaparecer no cambie ancho ni alto.
606
+ */
607
+ protected get clearReserved(): boolean;
597
608
  writeValue(value: string): void;
598
609
  registerOnChange(fn: (value: string) => void): void;
599
610
  registerOnTouched(fn: () => void): void;
@@ -796,7 +807,7 @@ declare class CountdownComponent {
796
807
  /** Muestra el aro sincronizado. */
797
808
  readonly showRing: _angular_core.InputSignalWithTransform<boolean, unknown>;
798
809
  /** Lado del aro. */
799
- readonly ringPlacement: _angular_core.InputSignal<"start" | "end">;
810
+ readonly ringPlacement: _angular_core.InputSignal<"end" | "start">;
800
811
  /** Sentido del aro (por defecto: regresiva vacía, ascendente llena). */
801
812
  readonly ringInverse: _angular_core.InputSignal<boolean | undefined>;
802
813
  /** Tono del número y del aro. */
@@ -864,7 +875,7 @@ declare class AlertComponent {
864
875
  /** Tamaño. */
865
876
  readonly size: _angular_core.InputSignal<AlertSize>;
866
877
  /** Estilo del borde. */
867
- readonly border: _angular_core.InputSignal<"none" | "solid" | "dashed">;
878
+ readonly border: _angular_core.InputSignal<"solid" | "none" | "dashed">;
868
879
  /** Título tonal en negrita. */
869
880
  readonly title: _angular_core.InputSignal<string | undefined>;
870
881
  /** Línea superior breve (uppercase). */
@@ -882,9 +893,9 @@ declare class AlertComponent {
882
893
  /** Divisor sobre la fila de acciones. */
883
894
  readonly actionsDivider: _angular_core.InputSignalWithTransform<boolean, unknown>;
884
895
  /** Alineación (auto: `center` si hay `trailing` sin `actions`). */
885
- readonly align: _angular_core.InputSignal<"start" | "center" | undefined>;
896
+ readonly align: _angular_core.InputSignal<"center" | "start" | undefined>;
886
897
  /** `status` (default, no interrumpe) o `alert` (asertivo). */
887
- readonly role: _angular_core.InputSignal<"alert" | "status">;
898
+ readonly role: _angular_core.InputSignal<"status" | "alert">;
888
899
  /** Al pulsar × (original: `onClose`). */
889
900
  readonly closed: _angular_core.OutputEmitterRef<void>;
890
901
  private readonly actionsRef;
@@ -893,7 +904,7 @@ declare class AlertComponent {
893
904
  protected readonly hasTrailing: _angular_core.Signal<boolean>;
894
905
  /** trailing y actions son excluyentes: si hay ambos, gana actions. */
895
906
  protected readonly showTrailing: _angular_core.Signal<boolean>;
896
- protected readonly computedAlign: _angular_core.Signal<"start" | "center">;
907
+ protected readonly computedAlign: _angular_core.Signal<"center" | "start">;
897
908
  protected readonly iconName: _angular_core.Signal<string | null>;
898
909
  protected readonly chip: _angular_core.Signal<boolean>;
899
910
  protected readonly showHead: _angular_core.Signal<boolean>;
@@ -1024,7 +1035,7 @@ declare class CheckboxComponent implements ControlValueAccessor {
1024
1035
  registerOnChange(fn: (value: boolean) => void): void;
1025
1036
  registerOnTouched(fn: () => void): void;
1026
1037
  setDisabledState(isDisabled: boolean): void;
1027
- protected onToggle(): void;
1038
+ protected onToggle(event: Event): void;
1028
1039
  protected onBlur(): void;
1029
1040
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckboxComponent, never>;
1030
1041
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckboxComponent, "ius-checkbox", never, { "label": { "alias": "label"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "showIconHelp": { "alias": "showIconHelp"; "required": false; }; "iconHelpTitle": { "alias": "iconHelpTitle"; "required": false; }; "iconHelpContent": { "alias": "iconHelpContent"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "size": { "alias": "size"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "defaultChecked": { "alias": "defaultChecked"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
@@ -1140,6 +1151,13 @@ declare class IconButtonComponent implements OnInit {
1140
1151
  * golden; lo usa AnswerFeedback al componer los pulgares como toggles).
1141
1152
  */
1142
1153
  ariaPressed?: boolean;
1154
+ /**
1155
+ * Passthrough `aria-expanded`/`aria-controls` al `<button>` (equivalente del
1156
+ * `...rest` del golden; los usa Table en los disparadores de filas
1157
+ * expandibles y agrupadas).
1158
+ */
1159
+ ariaExpanded?: boolean;
1160
+ ariaControls?: string;
1143
1161
  /** Colocación del tooltip. */
1144
1162
  tooltipPlacement: IusPopoverPlacement;
1145
1163
  /** Emite al pulsar. Nunca `click` (colisión con el nativo del host). */
@@ -1148,7 +1166,7 @@ declare class IconButtonComponent implements OnInit {
1148
1166
  protected get computedLabel(): string;
1149
1167
  protected onClick(event: MouseEvent): void;
1150
1168
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconButtonComponent, never>;
1151
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconButtonComponent, "ius-icon-button", never, { "icon": { "alias": "icon"; "required": true; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "ariaPressed": { "alias": "ariaPressed"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
1169
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconButtonComponent, "ius-icon-button", never, { "icon": { "alias": "icon"; "required": true; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "ariaPressed": { "alias": "ariaPressed"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "ariaControls": { "alias": "ariaControls"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
1152
1170
  static ngAcceptInputType_disabled: unknown;
1153
1171
  }
1154
1172
 
@@ -2362,7 +2380,7 @@ declare class DescriptionListComponent {
2362
2380
  /** Solo grid: pares por fila (los `span` de una fila deben sumar `columns`). */
2363
2381
  readonly columns: _angular_core.InputSignal<number>;
2364
2382
  /** Solo inline: valor pegado a la etiqueta (start) o al borde derecho (end). */
2365
- readonly valueAlign: _angular_core.InputSignal<"start" | "end">;
2383
+ readonly valueAlign: _angular_core.InputSignal<"end" | "start">;
2366
2384
  /** Hairline entre filas (inline/stacked; ignorado en grid). */
2367
2385
  readonly divider: _angular_core.InputSignalWithTransform<boolean, unknown>;
2368
2386
  /** `tabular-nums` en valores string (override por ítem con `item.tabular`). */
@@ -4371,6 +4389,173 @@ declare class ModalComponent implements AfterViewInit, OnDestroy {
4371
4389
  static ngAcceptInputType_zIndex: unknown;
4372
4390
  }
4373
4391
 
4392
+ type IusDocumentViewerVariant = 'overlay' | 'inline';
4393
+ type IusDocumentViewerKind = 'pdf' | 'image' | 'video' | 'audio';
4394
+ /** Motivo del cierre emitido por `closed`. */
4395
+ type IusDocumentViewerCloseReason = 'close' | 'esc' | 'scrim';
4396
+ /** Pasos de zoom en % (`DocumentViewer.ZOOM_STEPS` del golden). */
4397
+ declare const IUS_DOCUMENT_VIEWER_ZOOM_STEPS: readonly number[];
4398
+ /** Tipo de vista: el explícito, o por extensión de `name`/`src` (imagen, video, audio; el resto PDF). */
4399
+ declare function resolveViewKind(kind?: string | null, name?: string | null, src?: string | null): IusDocumentViewerKind;
4400
+ /** Acciones de la cabecera, antes de cerrar: `<div iusDocViewerActions>…</div>`. */
4401
+ declare class IusDocViewerActionsDirective {
4402
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusDocViewerActionsDirective, never>;
4403
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusDocViewerActionsDirective, "[iusDocViewerActions]", never, {}, {}, never, never, true, never>;
4404
+ }
4405
+ /** Contenido de la columna de detalles (se monta en `ius-detail-side-panel`). */
4406
+ declare class IusDocViewerAsideDirective {
4407
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusDocViewerAsideDirective, never>;
4408
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusDocViewerAsideDirective, "[iusDocViewerAside]", never, {}, {}, never, never, true, never>;
4409
+ }
4410
+ /** Cuerpo a medida (p. ej. páginas renderizadas con pdf.js): reemplaza iframe/imagen. */
4411
+ declare class IusDocViewerBodyDirective {
4412
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusDocViewerBodyDirective, never>;
4413
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusDocViewerBodyDirective, "[iusDocViewerBody]", never, {}, {}, never, never, true, never>;
4414
+ }
4415
+ /**
4416
+ * DocumentViewer — Ius Design v2 (familia overlays).
4417
+ *
4418
+ * Previsualiza un PDF, una imagen, un video o un audio sin descargarlo. En
4419
+ * `overlay` (default) se portalea a `document.body` con CDK Overlay: scrim en
4420
+ * `--ius-z-modal`, scroll-lock, focus-trap, foco inicial en «Cerrar» y
4421
+ * restauración al cerrar. En `inline` ocupa su contenedor (`role="region"`),
4422
+ * sin scrim; cerrar pasa a «Volver» y Esc solo actúa con el foco dentro.
4423
+ *
4424
+ * Compone FileTypeIcon, IconButton, Pagination, Loading, StatusState y
4425
+ * DetailSidePanel; no introduce controles propios. Confirmaciones → Modal;
4426
+ * formularios → Drawer.
4427
+ * Fuente de verdad: `DocumentViewer.jsx` + `.d.ts` + `DocumentViewer.ng-spec.md`.
4428
+ *
4429
+ * Outputs como `EventEmitter` porque el contrato depende de si hay listener:
4430
+ * sin `prev`/`next` las flechas quedan deshabilitadas, sin `fullscreen` no hay
4431
+ * botón, sin `retry` el error no ofrece «Reintentar» y sin `zoomChange` el zoom
4432
+ * no se muestra salvo que lo pida `showZoom` o se enlace `zoom`.
4433
+ */
4434
+ declare class DocumentViewerComponent implements OnDestroy {
4435
+ private readonly overlay;
4436
+ private readonly viewContainerRef;
4437
+ private readonly sanitizer;
4438
+ private readonly injector;
4439
+ private readonly document;
4440
+ protected readonly titleId: string;
4441
+ readonly variant: _angular_core.InputSignal<IusDocumentViewerVariant>;
4442
+ /** Apertura (controlado). */
4443
+ readonly open: _angular_core.InputSignalWithTransform<boolean, unknown>;
4444
+ /**
4445
+ * URL del archivo. Office: la URL del PDF convertido en el servidor con `kind="pdf"`.
4446
+ * Debe ser de confianza (la emite el servidor): el PDF la monta en un iframe sin sanear.
4447
+ */
4448
+ readonly src: _angular_core.InputSignal<string | undefined>;
4449
+ /** Nombre del archivo en la cabecera y nombre accesible; su extensión da el ícono. */
4450
+ readonly name: _angular_core.InputSignal<string | undefined>;
4451
+ /** Nombre rico como plantilla (alternativa a `name`). */
4452
+ readonly nameTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
4453
+ /** Tipo de vista. Sin él, por extensión de `name` o `src`. */
4454
+ readonly kind: _angular_core.InputSignal<IusDocumentViewerKind | undefined>;
4455
+ /** Solo video: portada antes de reproducir. */
4456
+ readonly poster: _angular_core.InputSignal<string | undefined>;
4457
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
4458
+ readonly loadingLabel: _angular_core.InputSignal<string>;
4459
+ /** `true` (o el atributo suelto) usa la descripción por defecto; un texto la reemplaza. */
4460
+ readonly error: _angular_core.InputSignalWithTransform<string | boolean, string | boolean | null | undefined>;
4461
+ /** Página actual (controlado, base 1). Para PDF va como `#page=N`. */
4462
+ readonly page: _angular_core.InputSignal<number | undefined>;
4463
+ readonly defaultPage: _angular_core.InputSignal<number>;
4464
+ /** Total de páginas; con más de una, el pie muestra la paginación compacta. */
4465
+ readonly pageCount: _angular_core.InputSignal<number | undefined>;
4466
+ /** Zoom en % (controlado). Pasos 50 · 75 · 100 · 125 · 150 · 200. */
4467
+ readonly zoom: _angular_core.InputSignal<number | undefined>;
4468
+ readonly defaultZoom: _angular_core.InputSignal<number>;
4469
+ /** Default: visible si se enlaza `zoom` o `zoomChange`. */
4470
+ readonly showZoom: _angular_core.InputSignal<boolean | undefined>;
4471
+ readonly asideTitle: _angular_core.InputSignal<string>;
4472
+ readonly asideWidth: _angular_core.InputSignal<string | number>;
4473
+ readonly asideCollapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
4474
+ /** Detalles expandidos (controlado). */
4475
+ readonly asideOpen: _angular_core.InputSignal<boolean | undefined>;
4476
+ readonly defaultAsideOpen: _angular_core.InputSignalWithTransform<boolean, unknown>;
4477
+ /** Posición del archivo (base 0) y total, para «N de M» entre las flechas. */
4478
+ readonly fileIndex: _angular_core.InputSignal<number | undefined>;
4479
+ readonly fileCount: _angular_core.InputSignal<number | undefined>;
4480
+ /** Solo `overlay`. */
4481
+ readonly closeOnScrim: _angular_core.InputSignalWithTransform<boolean, unknown>;
4482
+ readonly closeOnEsc: _angular_core.InputSignalWithTransform<boolean, unknown>;
4483
+ /** Sobrescribe el plano (default `var(--ius-z-modal)`). */
4484
+ readonly zIndex: _angular_core.InputSignal<number | undefined>;
4485
+ /** Nombre accesible cuando no hay `name`. */
4486
+ readonly ariaLabel: _angular_core.InputSignal<string>;
4487
+ /** Original `onClose(reason)`. */
4488
+ readonly closed: EventEmitter<IusDocumentViewerCloseReason>;
4489
+ /** Original `onPageChange`. */
4490
+ readonly pageChange: EventEmitter<number>;
4491
+ /** Original `onZoomChange`. */
4492
+ readonly zoomChange: EventEmitter<number>;
4493
+ /** Original `onAsideOpenChange`. */
4494
+ readonly asideOpenChange: EventEmitter<boolean>;
4495
+ /** Original `onPrev`; sin listener la flecha queda deshabilitada. */
4496
+ readonly prev: EventEmitter<void>;
4497
+ /** Original `onNext`; sin listener la flecha queda deshabilitada. */
4498
+ readonly next: EventEmitter<void>;
4499
+ /** Original `onFullscreen`; con listener aparece «Pantalla completa». */
4500
+ readonly fullscreen: EventEmitter<void>;
4501
+ /** Original `onRetry`; con listener el error muestra «Reintentar». */
4502
+ readonly retry: EventEmitter<void>;
4503
+ protected readonly actionsRef: _angular_core.Signal<IusDocViewerActionsDirective | undefined>;
4504
+ protected readonly asideRef: _angular_core.Signal<IusDocViewerAsideDirective | undefined>;
4505
+ protected readonly bodyRef: _angular_core.Signal<IusDocViewerBodyDirective | undefined>;
4506
+ private readonly overlayTpl;
4507
+ private readonly mainEl;
4508
+ /** `.ius-docv__main` mide 560px o menos: los detalles bajan bajo el documento. */
4509
+ protected readonly narrow: _angular_core.WritableSignal<boolean>;
4510
+ private readonly pageInt;
4511
+ private readonly zoomInt;
4512
+ private readonly asideInt;
4513
+ /** El `<video>`/`<audio>` no pudo reproducir; se limpia al cambiar `src`. */
4514
+ protected readonly mediaFailed: _angular_core.WritableSignal<boolean>;
4515
+ /** Cambiarlo re-monta el reproductor (Reintentar tras un fallo de medios). */
4516
+ protected readonly mediaKey: _angular_core.WritableSignal<number>;
4517
+ protected readonly naturalWidth: _angular_core.WritableSignal<number>;
4518
+ protected readonly inline: _angular_core.Signal<boolean>;
4519
+ protected readonly currentPage: _angular_core.Signal<number>;
4520
+ protected readonly hasPaging: _angular_core.Signal<boolean>;
4521
+ protected readonly currentZoom: _angular_core.Signal<number>;
4522
+ protected readonly asideIsOpen: _angular_core.Signal<boolean>;
4523
+ protected readonly viewKind: _angular_core.Signal<IusDocumentViewerKind>;
4524
+ protected readonly isMedia: _angular_core.Signal<boolean>;
4525
+ protected readonly hasName: _angular_core.Signal<boolean>;
4526
+ protected readonly pdfUrl: _angular_core.Signal<SafeResourceUrl | null>;
4527
+ protected readonly hasError: _angular_core.Signal<boolean>;
4528
+ protected readonly errorDescription: _angular_core.Signal<string>;
4529
+ protected readonly bodyIsPdf: _angular_core.Signal<boolean>;
4530
+ protected readonly zoomed: _angular_core.Signal<boolean>;
4531
+ protected readonly imageWidth: _angular_core.Signal<string | null>;
4532
+ protected readonly canZoomOut: _angular_core.Signal<boolean>;
4533
+ protected readonly canZoomIn: _angular_core.Signal<boolean>;
4534
+ protected readonly showFilePos: _angular_core.Signal<boolean>;
4535
+ private overlayRef;
4536
+ private keydownSub;
4537
+ private focusToRestore;
4538
+ constructor();
4539
+ ngOnDestroy(): void;
4540
+ protected get zoomVisible(): boolean;
4541
+ protected get showFoot(): boolean;
4542
+ protected get hasFileNav(): boolean;
4543
+ protected get retryAction(): IusEmptyStateAction | undefined;
4544
+ private attach;
4545
+ private detach;
4546
+ protected onScrimMouseDown(event: MouseEvent): void;
4547
+ protected onHostKeydown(event: KeyboardEvent): void;
4548
+ protected goPage(page: number): void;
4549
+ protected zoomOut(): void;
4550
+ protected zoomIn(): void;
4551
+ private setZoom;
4552
+ protected onAsideCollapsedChange(collapsed: boolean): void;
4553
+ protected onImageLoad(event: Event): void;
4554
+ protected onRetry(): void;
4555
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DocumentViewerComponent, never>;
4556
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DocumentViewerComponent, "ius-document-viewer", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "nameTemplate": { "alias": "nameTemplate"; "required": false; "isSignal": true; }; "kind": { "alias": "kind"; "required": false; "isSignal": true; }; "poster": { "alias": "poster"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "defaultPage": { "alias": "defaultPage"; "required": false; "isSignal": true; }; "pageCount": { "alias": "pageCount"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "defaultZoom": { "alias": "defaultZoom"; "required": false; "isSignal": true; }; "showZoom": { "alias": "showZoom"; "required": false; "isSignal": true; }; "asideTitle": { "alias": "asideTitle"; "required": false; "isSignal": true; }; "asideWidth": { "alias": "asideWidth"; "required": false; "isSignal": true; }; "asideCollapsible": { "alias": "asideCollapsible"; "required": false; "isSignal": true; }; "asideOpen": { "alias": "asideOpen"; "required": false; "isSignal": true; }; "defaultAsideOpen": { "alias": "defaultAsideOpen"; "required": false; "isSignal": true; }; "fileIndex": { "alias": "fileIndex"; "required": false; "isSignal": true; }; "fileCount": { "alias": "fileCount"; "required": false; "isSignal": true; }; "closeOnScrim": { "alias": "closeOnScrim"; "required": false; "isSignal": true; }; "closeOnEsc": { "alias": "closeOnEsc"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "pageChange": "pageChange"; "zoomChange": "zoomChange"; "asideOpenChange": "asideOpenChange"; "prev": "prev"; "next": "next"; "fullscreen": "fullscreen"; "retry": "retry"; }, ["actionsRef", "asideRef", "bodyRef"], ["[iusDocViewerActions]", "[iusDocViewerBody]", "[iusDocViewerAside]"], true, never>;
4557
+ }
4558
+
4374
4559
  /**
4375
4560
  * Rol tipográfico → clase de escala (`typography.css`). `body` es alias de
4376
4561
  * `body-base`. Mapa exacto en VARIANT_CLASS/DEFAULT_TAG.
@@ -4554,6 +4739,168 @@ declare class SegmentedControlComponent implements ControlValueAccessor {
4554
4739
  static ngAcceptInputType_disabled: unknown;
4555
4740
  }
4556
4741
 
4742
+ /**
4743
+ * SelectNumber — Ius Design v2.
4744
+ *
4745
+ * Variante **compacta y sin label** del Select para elegir un número dentro de
4746
+ * un rango: página actual de un paginador, filas por página, cantidades
4747
+ * acotadas. Sin caja de búsqueda, footprint reducido y valor en
4748
+ * `tabular-nums`. Para listas de texto, búsqueda o multiselección → Select.
4749
+ *
4750
+ * Envoltorio delgado sobre `ius-select` (`compact`, sin búsqueda, sin label,
4751
+ * opciones = rango numérico), igual que el golden: cualquier ajuste de
4752
+ * comportamiento se hace en Select. Implementa `ControlValueAccessor`
4753
+ * numérico y además soporta `[(value)]`.
4754
+ *
4755
+ * Fuente de verdad: `components/inputs/SelectNumber/SelectNumber.jsx` + `.d.ts`
4756
+ * + `SelectNumber.ng-spec.md`.
4757
+ */
4758
+ declare class SelectNumberComponent implements ControlValueAccessor, OnInit {
4759
+ private readonly minState;
4760
+ /** Primer número del rango (inclusive). */
4761
+ set min(value: number);
4762
+ get min(): number;
4763
+ private readonly maxState;
4764
+ /** Último número del rango (inclusive). Requerido si no se pasan `options`. */
4765
+ set max(value: number | undefined);
4766
+ get max(): number | undefined;
4767
+ private readonly optionsState;
4768
+ /** Lista explícita de números (ignora `min`/`max`). */
4769
+ set options(value: number[] | undefined);
4770
+ get options(): number[] | undefined;
4771
+ private readonly valueState;
4772
+ private hasExplicitValue;
4773
+ /** Valor controlado (CVA / `[(value)]`). */
4774
+ set value(value: number | null | undefined);
4775
+ get value(): number | null;
4776
+ /** Valor inicial no controlado. Default: el primer número (`min`). */
4777
+ defaultValue?: number;
4778
+ /** Opciones visibles antes de hacer scroll. */
4779
+ maxVisible: number;
4780
+ /** Estado de error. */
4781
+ error: boolean;
4782
+ private readonly disabledState;
4783
+ /** Estado deshabilitado. */
4784
+ set disabled(value: boolean);
4785
+ get disabled(): boolean;
4786
+ /** Tamaño del campo: small ~34 · medium ~40 (default) · large ~48px. */
4787
+ size: IusSelectSize;
4788
+ /** Estado forzado — **solo demos**. */
4789
+ state?: IusSelectState;
4790
+ /** Botón de limpiar. Off por defecto: un número siempre tiene valor. */
4791
+ showClear: boolean;
4792
+ /** `id` del campo. */
4793
+ id?: string;
4794
+ /** Número elegido (original `onChange`). `null` solo al limpiar con `showClear`. */
4795
+ readonly valueChange: EventEmitter<number | null>;
4796
+ protected readonly nums: _angular_core.Signal<number[]>;
4797
+ protected readonly selectOptions: _angular_core.Signal<SelectOption[]>;
4798
+ protected readonly current: _angular_core.Signal<number | null>;
4799
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
4800
+ private onChange;
4801
+ private onTouched;
4802
+ ngOnInit(): void;
4803
+ writeValue(value: number | null): void;
4804
+ registerOnChange(fn: (value: number | null) => void): void;
4805
+ registerOnTouched(fn: () => void): void;
4806
+ setDisabledState(isDisabled: boolean): void;
4807
+ protected onSelect(value: IusSelectValue | IusSelectValue[] | null): void;
4808
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectNumberComponent, never>;
4809
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectNumberComponent, "ius-select-number", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "options": { "alias": "options"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "maxVisible": { "alias": "maxVisible"; "required": false; }; "error": { "alias": "error"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "state": { "alias": "state"; "required": false; }; "showClear": { "alias": "showClear"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
4810
+ static ngAcceptInputType_min: unknown;
4811
+ static ngAcceptInputType_maxVisible: unknown;
4812
+ static ngAcceptInputType_error: unknown;
4813
+ static ngAcceptInputType_disabled: unknown;
4814
+ static ngAcceptInputType_showClear: unknown;
4815
+ }
4816
+
4817
+ /** Forma del paginador. */
4818
+ type IusPaginationVariant = 'numbered' | 'compact';
4819
+ /** Tamaño: small ~32 · medium ~40 (default) · large ~48px. */
4820
+ type IusPaginationSize = 'small' | 'medium' | 'large';
4821
+ /** Fila de página ya normalizada para el template. */
4822
+ interface PageRow {
4823
+ ellipsis: boolean;
4824
+ value?: number;
4825
+ }
4826
+ /**
4827
+ * Pagination — Ius Design v2.
4828
+ *
4829
+ * Navegación entre páginas de una lista o tabla larga. `numbered`: prev/next +
4830
+ * números con elipsis (activa en primario, resto tertiary). `compact`:
4831
+ * first/prev + «Página [SelectNumber] de N» + next/last. Opcionalmente muestra
4832
+ * el conteo «1–25 de 1.234 procesos» y el selector de filas por página.
4833
+ * Controlada (`page` + `pageChange`) o no controlada (`defaultPage`).
4834
+ *
4835
+ * Compone `ius-button`, `ius-icon-button` e `ius-select-number`. El host es el
4836
+ * `<nav>` del golden (`role="navigation"` + `aria-label`).
4837
+ *
4838
+ * Fuente de verdad: `components/navigation/Pagination/Pagination.jsx` + `.d.ts`
4839
+ * + `Pagination.ng-spec.md`.
4840
+ */
4841
+ declare class PaginationComponent implements OnInit {
4842
+ /** Forma del paginador. */
4843
+ variant: IusPaginationVariant;
4844
+ /** Página actual (controlado, base 1). */
4845
+ page?: number;
4846
+ /** Página inicial no controlada. */
4847
+ defaultPage: number;
4848
+ /** Total de páginas. Sin él, se calcula con `total` / `pageSize`. */
4849
+ totalPages?: number;
4850
+ /** Total de elementos: deriva `totalPages` y alimenta el conteo. */
4851
+ total?: number;
4852
+ /** Elementos por página. */
4853
+ pageSize: number;
4854
+ /** Con opciones, muestra el selector de filas por página. */
4855
+ pageSizeOptions?: number[];
4856
+ /** Conteo «1–25 de 1.234 procesos» a la izquierda (requiere `total`). */
4857
+ showCount: boolean;
4858
+ /** Sustantivo del conteo. */
4859
+ countNoun: string;
4860
+ /** Páginas vecinas a cada lado de la actual (`numbered`). */
4861
+ siblingCount: number;
4862
+ /** Páginas fijas en cada extremo (`numbered`). */
4863
+ boundaryCount: number;
4864
+ /** Tamaño de la fila. */
4865
+ size: IusPaginationSize;
4866
+ /** Deshabilita toda la navegación. */
4867
+ disabled: boolean;
4868
+ /** Cambio de página, base 1 (original `onPageChange`). */
4869
+ readonly pageChange: EventEmitter<number>;
4870
+ /** Cambio de filas por página (original `onPageSizeChange`). */
4871
+ readonly pageSizeChange: EventEmitter<number>;
4872
+ private readonly internalPage;
4873
+ ngOnInit(): void;
4874
+ protected get preset(): {
4875
+ h: number;
4876
+ icon: string;
4877
+ fs: string;
4878
+ gap: number;
4879
+ };
4880
+ protected get currentPage(): number;
4881
+ protected get effTotalPages(): number;
4882
+ protected get atStart(): boolean;
4883
+ protected get atEnd(): boolean;
4884
+ protected get pageRows(): PageRow[];
4885
+ protected get hasPageSizeOptions(): boolean;
4886
+ protected get showCountBlock(): boolean;
4887
+ protected get countRanged(): boolean;
4888
+ protected get countFrom(): string;
4889
+ protected get countTo(): string;
4890
+ protected fmt(n: number): string;
4891
+ protected goTo(next: number): void;
4892
+ protected onSelectPage(value: number | null): void;
4893
+ protected onSelectPageSize(value: number | null): void;
4894
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaginationComponent, never>;
4895
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaginationComponent, "ius-pagination", never, { "variant": { "alias": "variant"; "required": false; }; "page": { "alias": "page"; "required": false; }; "defaultPage": { "alias": "defaultPage"; "required": false; }; "totalPages": { "alias": "totalPages"; "required": false; }; "total": { "alias": "total"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "showCount": { "alias": "showCount"; "required": false; }; "countNoun": { "alias": "countNoun"; "required": false; }; "siblingCount": { "alias": "siblingCount"; "required": false; }; "boundaryCount": { "alias": "boundaryCount"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; }, never, never, true, never>;
4896
+ static ngAcceptInputType_defaultPage: unknown;
4897
+ static ngAcceptInputType_pageSize: unknown;
4898
+ static ngAcceptInputType_showCount: unknown;
4899
+ static ngAcceptInputType_siblingCount: unknown;
4900
+ static ngAcceptInputType_boundaryCount: unknown;
4901
+ static ngAcceptInputType_disabled: unknown;
4902
+ }
4903
+
4557
4904
  /**
4558
4905
  * Un paso del asistente.
4559
4906
  *
@@ -4593,16 +4940,21 @@ interface WizardApi {
4593
4940
  goTo(next: number | ((prev: number) => number)): void;
4594
4941
  }
4595
4942
  interface UseWizardOptions {
4596
- /** Pasos del flujo. */
4597
- steps: WizardStep[];
4943
+ /**
4944
+ * Pasos del flujo. Con un `Signal` la lista es reactiva (el golden recalcula
4945
+ * `total` en cada render): `total`, `current` e `isLast` siguen sus cambios
4946
+ * y el paso se acota al nuevo total.
4947
+ */
4948
+ steps: WizardStep[] | Signal<WizardStep[]>;
4598
4949
  /** Paso inicial (no controlado). Default 1. */
4599
4950
  defaultStep?: number;
4600
4951
  /**
4601
- * Paso inicial controlado (1-based). En el port Angular el estado siempre
4602
- * vive en el controller (signal); pásalo para sembrar el paso inicial y
4603
- * observa los cambios con `onStepChange` / fuérzalos con `goTo`.
4952
+ * Paso controlado (1-based). Con un `Signal` el estado lo gobierna el
4953
+ * consumidor, como en el golden: `api.step` lo lee y `next`/`back`/`goTo` solo
4954
+ * avisan por `onStepChange`, que es quien debe actualizarlo. Un número fijo
4955
+ * solo siembra el paso inicial (no hay re-render que lo vuelva a pasar).
4604
4956
  */
4605
- step?: number;
4957
+ step?: number | Signal<number>;
4606
4958
  /** Cambio de paso (recibe el nuevo paso 1-based). */
4607
4959
  onStepChange?: (step: number) => void;
4608
4960
  /** Se dispara al pulsar "siguiente" en el último paso (cierre del flujo). */
@@ -4610,18 +4962,24 @@ interface UseWizardOptions {
4610
4962
  }
4611
4963
  /**
4612
4964
  * Controller de estado del Wizard — equivalente Angular del hook `Wizard.use`
4613
- * de React (ng-spec §2). El paso vive en un `signal` interno, así que leer
4965
+ * de React (ng-spec §2). Pasos y paso viven en signals, así que leer
4614
4966
  * `api.step` / `api.current` / `api.isLast` en una plantilla registra la
4615
4967
  * dependencia y refresca los componentes `OnPush` que consumen la `api`.
4968
+ *
4969
+ * El constructor no escribe en ningún signal: se puede crear dentro de un
4970
+ * `computed`.
4616
4971
  */
4617
4972
  declare class WizardController implements WizardApi {
4618
- readonly steps: WizardStep[];
4619
- private readonly _step;
4620
- /** Señal de solo lectura del paso (por si el consumidor la quiere directa). */
4973
+ private readonly stepsSource;
4974
+ private readonly stepSource;
4975
+ /** Solo existe en modo no controlado. */
4976
+ private readonly internal?;
4977
+ /** Señal de solo lectura del paso (1-based, acotado al total). */
4621
4978
  readonly step$: Signal<number>;
4622
4979
  private readonly onStepChange?;
4623
4980
  private readonly onFinish?;
4624
4981
  constructor(options: UseWizardOptions);
4982
+ get steps(): WizardStep[];
4625
4983
  get total(): number;
4626
4984
  get step(): number;
4627
4985
  get index(): number;
@@ -4648,12 +5006,8 @@ declare function createWizard(options: UseWizardOptions): WizardApi;
4648
5006
  * misma `api`. Distinto del `Stepper` (indicador display-only).
4649
5007
  *
4650
5008
  * El estado lo gobierna el controller `createWizard(...)` (ver `wizard.ts`),
4651
- * espejo del hook `Wizard.use` de React (ng-spec §2).
4652
- *
4653
- * Nota del port: el indicador por defecto del golden es `LinearProgressBar`
4654
- * (aún no portado); aquí se inlinea su modo "steps" (`.ius-lpb`, fill/rest)
4655
- * fiel al golden. Cuando exista `ius-linear-progress-bar`, reemplazar por
4656
- * composición sin cambiar la API. `indicator` permite pasar un nodo propio.
5009
+ * espejo del hook `Wizard.use` de React (ng-spec §2). El indicador por defecto
5010
+ * es `ius-linear-progress-bar` en modo pasos; `indicator` lo reemplaza.
4657
5011
  */
4658
5012
  declare class WizardComponent {
4659
5013
  /** API de `createWizard(...)`. */
@@ -4668,9 +5022,6 @@ declare class WizardComponent {
4668
5022
  stepWord: string;
4669
5023
  /** Palabra para "de". */
4670
5024
  ofWord: string;
4671
- /** Porcentaje del indicador (step/total), espejo del modo stepped del LPB. */
4672
- protected get percent(): number;
4673
- protected get ariaNow(): number;
4674
5025
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WizardComponent, never>;
4675
5026
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<WizardComponent, "ius-wizard", never, { "api": { "alias": "api"; "required": true; }; "showIndicator": { "alias": "showIndicator"; "required": false; }; "indicator": { "alias": "indicator"; "required": false; }; "showStepLabel": { "alias": "showStepLabel"; "required": false; }; "stepWord": { "alias": "stepWord"; "required": false; }; "ofWord": { "alias": "ofWord"; "required": false; }; }, {}, never, never, true, never>;
4676
5027
  static ngAcceptInputType_showIndicator: unknown;
@@ -6257,12 +6608,33 @@ type IusToastPosition = 'top-right' | 'top-left' | 'top-center' | 'bottom-right'
6257
6608
  declare const IUS_TOAST_DEFAULT_ICON: Record<IusToastTone, string>;
6258
6609
  /** Auto-cierre por defecto, en ms (golden: `duration === undefined ? 5000`). */
6259
6610
  declare const IUS_TOAST_DEFAULT_DURATION = 5000;
6611
+ /**
6612
+ * Contexto con el que se pinta la plantilla `action`.
6613
+ *
6614
+ * En el golden `action` es un `ReactNode` que se arma en cada llamada y lleva
6615
+ * en su closure los datos de ESE toast. Una `TemplateRef` se declara una sola
6616
+ * vez, así que los datos le llegan aquí: una misma plantilla sirve a varios
6617
+ * toasts vivos a la vez.
6618
+ *
6619
+ * ```html
6620
+ * <ng-template #abrirTpl let-reporte let-dismiss="dismiss">
6621
+ * <ius-text-button size="small" label="Abrir" (clicked)="abrir(reporte); dismiss()" />
6622
+ * </ng-template>
6623
+ * ```
6624
+ */
6625
+ interface IusToastActionContext<T = unknown> {
6626
+ /** El `actionContext` del toast (`let-x`). */
6627
+ $implicit: T;
6628
+ /** Cierra este toast con su animación de salida, igual que el ×. */
6629
+ dismiss: () => void;
6630
+ }
6260
6631
  /**
6261
6632
  * Opciones con las que `ToastService` dispara un toast.
6262
6633
  *
6263
6634
  * Nota de port: `action` es `React.ReactNode` en el golden; por la regla
6264
6635
  * transversal 6 del monorepo (render/content de React → `TemplateRef`) aquí
6265
- * viaja como plantilla, que es lo único proyectable desde una llamada TS.
6636
+ * viaja como plantilla, que es lo único proyectable desde una llamada TS. Los
6637
+ * datos que el golden captura en el closure viajan en `actionContext`.
6266
6638
  */
6267
6639
  interface IusToastOptions {
6268
6640
  /** id propio; reutilizarlo REEMPLAZA el toast existente (útil para progreso). */
@@ -6276,6 +6648,8 @@ interface IusToastOptions {
6276
6648
  icon?: string | false;
6277
6649
  /** Acción inline (p. ej. un `ius-text-button` "Deshacer"). */
6278
6650
  action?: TemplateRef<unknown>;
6651
+ /** Datos de este toast para la plantilla `action` (ver `IusToastActionContext`). */
6652
+ actionContext?: unknown;
6279
6653
  /** Muestra el × de cierre. Default `true`. */
6280
6654
  closable?: boolean;
6281
6655
  /** ms hasta el auto-cierre. `0`/`null` = persistente. Default 5000. */
@@ -6289,6 +6663,7 @@ interface IusToastItem {
6289
6663
  readonly message?: string;
6290
6664
  readonly icon?: string | false;
6291
6665
  readonly action?: TemplateRef<unknown>;
6666
+ readonly actionContext?: unknown;
6292
6667
  readonly closable: boolean;
6293
6668
  readonly duration: number | null;
6294
6669
  }
@@ -6331,6 +6706,8 @@ declare class ToastComponent {
6331
6706
  readonly icon: _angular_core.InputSignal<string | false | undefined>;
6332
6707
  /** Acción inline como plantilla (vía `ToastService`). */
6333
6708
  readonly action: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
6709
+ /** Datos para `action`: llegan como `$implicit` de su contexto. */
6710
+ readonly actionContext: _angular_core.InputSignal<unknown>;
6334
6711
  /** Muestra el × de cierre. */
6335
6712
  readonly closable: _angular_core.InputSignalWithTransform<boolean, unknown>;
6336
6713
  /**
@@ -6345,11 +6722,13 @@ declare class ToastComponent {
6345
6722
  readonly closed: _angular_core.OutputEmitterRef<void>;
6346
6723
  private readonly actionRef;
6347
6724
  protected readonly iconName: _angular_core.Signal<string | null>;
6725
+ private readonly dismiss;
6726
+ protected readonly actionOutletContext: _angular_core.Signal<IusToastActionContext<unknown>>;
6348
6727
  protected readonly hasAction: _angular_core.Signal<boolean>;
6349
6728
  /** Solo hay aro si el auto-cierre está activo (golden: `duration && duration > 0`). */
6350
6729
  protected readonly showRing: _angular_core.Signal<boolean>;
6351
6730
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastComponent, never>;
6352
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastComponent, "ius-toast", never, { "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "paused": { "alias": "paused"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, ["actionRef"], ["[iusToastAction]"], true, never>;
6731
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastComponent, "ius-toast", never, { "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; "actionContext": { "alias": "actionContext"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "paused": { "alias": "paused"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, ["actionRef"], ["[iusToastAction]"], true, never>;
6353
6732
  }
6354
6733
 
6355
6734
  /**
@@ -6407,6 +6786,9 @@ type ToneShortcutOptions = Omit<IusToastOptions, 'tone' | 'title'>;
6407
6786
  * // persistente + acción "Deshacer"
6408
6787
  * const id = this.toasts.show({ tone: 'neutral', title: 'Nota archivada', duration: 0, action: this.undoTpl() });
6409
6788
  * this.toasts.dismiss(id);
6789
+ *
6790
+ * // una plantilla para varios toasts: cada uno lleva sus datos
6791
+ * this.toasts.success('Reporte listo', { action: this.abrirTpl(), actionContext: reporte });
6410
6792
  * ```
6411
6793
  */
6412
6794
  declare class ToastService {
@@ -6956,7 +7338,28 @@ type IusTableSize = 'small' | 'medium' | 'large';
6956
7338
  type IusTableTone = 'info' | 'primary' | 'success' | 'warning' | 'danger' | 'neutral' | 'durazno' | 'banano' | 'sandia' | 'arandano' | 'uva' | 'aguacate';
6957
7339
  /** Clave estable de fila: nombre de campo o función. */
6958
7340
  type IusTableRowKey<Row> = string | ((row: Row, index: number) => string | number);
6959
- /** Contexto que recibe el `TemplateRef` de celda (`render` del golden). */
7341
+ /** Clave de fila hija: nombre de campo o función `(hija, grupo)`. */
7342
+ type IusTableChildRowKey<Row> = string | ((child: Row, parent: Row) => string | number);
7343
+ /** Texto accesible fijo o por fila. */
7344
+ type IusTableRowLabel<Row> = string | ((row: Row, index: number) => string);
7345
+ /** Metadatos de la fila (filas agrupadas). Llega a las celdas y a `rowClick`. */
7346
+ interface IusTableRowMeta<Row = any> {
7347
+ /** `true` en una fila hija de un grupo. */
7348
+ isChild: boolean;
7349
+ /** Fila grupo de la hija (`null` en filas de primer nivel). */
7350
+ parent: Row | null;
7351
+ /** Clave del grupo de la hija. */
7352
+ parentKey: string | number | null;
7353
+ /** 0 = primer nivel · 1 = hija. */
7354
+ depth: number;
7355
+ /** `true` si `getChildren` devolvió hijas para la fila. */
7356
+ isGroup: boolean;
7357
+ /** Grupo abierto. */
7358
+ expanded: boolean;
7359
+ /** Índice de la fila (en `data` o entre las hijas de su grupo). */
7360
+ index: number;
7361
+ }
7362
+ /** Contexto que recibe el `TemplateRef` de celda (`render(row, i, meta)` del golden). */
6960
7363
  interface IusTableCellContext<Row = any> {
6961
7364
  $implicit: Row;
6962
7365
  row: Row;
@@ -6964,12 +7367,23 @@ interface IusTableCellContext<Row = any> {
6964
7367
  column: IusTableColumn<Row>;
6965
7368
  /** `row[column.key]` ya leído, por comodidad. */
6966
7369
  value: unknown;
7370
+ /**
7371
+ * Metadatos de la fila (filas agrupadas). `ius-table` siempre lo entrega;
7372
+ * es opcional en el tipo para no romper contextos armados a mano (pruebas).
7373
+ */
7374
+ meta?: IusTableRowMeta<Row>;
6967
7375
  }
6968
7376
  /** Contexto del `TemplateRef` de encabezado (`header` como nodo en el golden). */
6969
7377
  interface IusTableHeaderContext<Row = any> {
6970
7378
  $implicit: IusTableColumn<Row>;
6971
7379
  column: IusTableColumn<Row>;
6972
7380
  }
7381
+ /** Contexto del `TemplateRef` de detalle (`renderExpanded(row, i)` del golden). */
7382
+ interface IusTableExpandedContext<Row = any> {
7383
+ $implicit: Row;
7384
+ row: Row;
7385
+ index: number;
7386
+ }
6973
7387
  interface IusTableColumn<Row = any> {
6974
7388
  /** Identificador único de la columna. Lee `row[key]` si no hay `render`. */
6975
7389
  key: string;
@@ -6981,8 +7395,12 @@ interface IusTableColumn<Row = any> {
6981
7395
  headerIcon?: string;
6982
7396
  /** `title` nativo del encabezado (tooltip). */
6983
7397
  headerTitle?: string;
6984
- /** Render de celda a medida (`render(row, i)` del golden → TemplateRef con `{ row, index }`). */
7398
+ /** Render de celda a medida (`render(row, i, meta)` del golden → TemplateRef con `{ row, index, meta }`). */
6985
7399
  render?: TemplateRef<IusTableCellContext<Row>>;
7400
+ /** Valor de orden de la celda. Ordena las **filas hijas** entre sí con `sortColumn`; si falta, compara `row[key]`. */
7401
+ sortValue?: (row: Row) => string | number | null | undefined;
7402
+ /** Marca de celda vacía de esta columna (sin `render` y `row[key]` nulo o `''`). `''` deja la celda en blanco. Gana sobre `emptyCell` de la tabla. */
7403
+ emptyCell?: string;
6986
7404
  /** Alineación del contenido. Default `start` (o `end` si `numeric`). */
6987
7405
  align?: IusTableAlign;
6988
7406
  /** Columna numérica: `tabular-nums` y alineación `end` por defecto. */
@@ -7016,14 +7434,49 @@ interface IusTableSortChange {
7016
7434
  column: string | null;
7017
7435
  direction: IusTableSortDirection | null;
7018
7436
  }
7019
- /** Payload de `rowClick` — `onRowClick(row, index, event)`. */
7437
+ /** Payload de `rowClick` — `onRowClick(row, index, event, meta)`. */
7020
7438
  interface IusTableRowClick<Row = any> {
7021
7439
  row: Row;
7022
7440
  index: number;
7023
7441
  event: MouseEvent | KeyboardEvent;
7442
+ meta: IusTableRowMeta<Row>;
7024
7443
  }
7025
7444
  /** Estilo inline por fila (objeto CSS que acepta el binding `[style]`). */
7026
7445
  type IusTableRowStyle = Record<string, string | number | null | undefined>;
7446
+ type Key = string | number;
7447
+ interface GroupKid<Row> {
7448
+ row: Row;
7449
+ index: number;
7450
+ key: Key;
7451
+ }
7452
+ interface GroupInfo<Row> {
7453
+ key: Key;
7454
+ kids: GroupKid<Row>[];
7455
+ }
7456
+ /** Fila ya resuelta para la plantilla: datos, hija o detalle expandido. */
7457
+ interface BodyRow<Row> {
7458
+ kind: 'row' | 'detail';
7459
+ track: string;
7460
+ row: Row;
7461
+ index: number;
7462
+ key: Key;
7463
+ meta: IusTableRowMeta<Row>;
7464
+ group: GroupInfo<Row> | null;
7465
+ parentGroup: GroupInfo<Row> | null;
7466
+ disabled: boolean;
7467
+ checked: boolean;
7468
+ indeterminate: boolean;
7469
+ clickable: boolean;
7470
+ cls: string | null;
7471
+ style: IusTableRowStyle | null;
7472
+ accent: string | null;
7473
+ expOk: boolean;
7474
+ open: boolean;
7475
+ }
7476
+ interface Thumb {
7477
+ pos: number;
7478
+ size: number;
7479
+ }
7027
7480
  /**
7028
7481
  * Table — Ius Design v2.
7029
7482
  *
@@ -7036,14 +7489,17 @@ type IusTableRowStyle = Record<string, string | number | null | undefined>;
7036
7489
  * Es una **tabla controlada**: el consumidor mantiene los datos ya ordenados,
7037
7490
  * filtrados y paginados, y el estado de orden/selección; `ius-table` solo
7038
7491
  * pinta la rejilla y emite los cambios (`sortChange`, `selectionChange`,
7039
- * `rowClick`). No ordena ni pagina por dentro.
7492
+ * `rowClick`). No ordena ni pagina por dentro. Admite **filas expandibles**
7493
+ * (`expandable` + `renderExpanded`) y **filas agrupadas** (`getChildren`).
7040
7494
  *
7041
7495
  * **Composición**: para la barra de herramientas y la paginación numerada del
7042
7496
  * pie, envolverla en `ius-list-view` (`bordered=false` en ambos). Compone
7043
- * `ius-checkbox` (selección) y `ius-empty-state` (vacío).
7497
+ * `ius-checkbox` (selección), `ius-icon-button` (disparadores) y
7498
+ * `ius-empty-state` (vacío).
7044
7499
  *
7045
7500
  * Decisiones del port (golden `Table.jsx` / `Table.d.ts`):
7046
- * - `render(row, i)` → `column.render: TemplateRef<IusTableCellContext>`;
7501
+ * - `render(row, i, meta)` → `column.render: TemplateRef<IusTableCellContext>`;
7502
+ * `renderExpanded(row, i)` → `TemplateRef<IusTableExpandedContext>`;
7047
7503
  * `header` como nodo → `column.headerTemplate`; `empty` → `emptyTemplate`;
7048
7504
  * `summary[].value` como nodo → `summary[].template`.
7049
7505
  * - En React la sola presencia de `onRowClick` hace la fila clicable/enfocable.
@@ -7051,9 +7507,19 @@ type IusTableRowStyle = Record<string, string | number | null | undefined>;
7051
7507
  * `rowClickable` + output `rowClick`.
7052
7508
  * - `rowStyle` es un objeto CSS (o función que lo devuelve) consumido por el
7053
7509
  * binding `[style]`; se combina con la atenuación de `isRowDisabled`.
7510
+ * - `emptyCell` es texto. Un `TemplateRef` no delata si pinta vacío, así que
7511
+ * la marca aplica a las celdas sin `render`; con `render`, la plantilla
7512
+ * decide qué pintar (p. ej. nada en las hijas, usando `meta`).
7513
+ * - `title` de celda: el texto del valor sin `render`. Con `render` el golden usa
7514
+ * el string que devuelve; un `TemplateRef` no lo expone, así que va
7515
+ * `headerTitle` (la plantilla puede poner su propio `title`).
7516
+ * - Barra superpuesta: el scroll nativo se oculta y el thumb lo dibuja el
7517
+ * host, acotado entre cabecera fija y resumen (altos medidos con
7518
+ * ResizeObserver). Sin prop pública.
7054
7519
  */
7055
7520
  declare class TableComponent<Row = any> {
7056
7521
  private readonly document;
7522
+ private readonly uid;
7057
7523
  private readonly scrollRef;
7058
7524
  private readonly tableRef;
7059
7525
  /** Definición de columnas, en orden de aparición. */
@@ -7069,7 +7535,7 @@ declare class TableComponent<Row = any> {
7069
7535
  /** Muestra la columna de checkboxes + "Seleccionar todo" en la cabecera. */
7070
7536
  readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
7071
7537
  /** Claves seleccionadas (controlado). */
7072
- readonly selectedKeys: _angular_core.InputSignal<readonly (string | number)[] | null | undefined>;
7538
+ readonly selectedKeys: _angular_core.InputSignal<readonly Key[] | null | undefined>;
7073
7539
  /** Etiqueta accesible del checkbox de fila. Default `Seleccionar fila`. */
7074
7540
  readonly selectAriaLabel: _angular_core.InputSignal<string>;
7075
7541
  /** Hace la fila enfocable y clicable (emite `rowClick`). Equivale a pasar `onRowClick` en el golden. */
@@ -7082,6 +7548,34 @@ declare class TableComponent<Row = any> {
7082
7548
  readonly rowClassName: _angular_core.InputSignal<string | ((row: Row, index: number) => string | undefined) | undefined>;
7083
7549
  /** Estilo inline por fila (o función `(row, i) => estilo`). Se combina con la atenuación de `isRowDisabled`. */
7084
7550
  readonly rowStyle: _angular_core.InputSignal<IusTableRowStyle | ((row: Row, index: number) => IusTableRowStyle | undefined) | undefined>;
7551
+ /** Activa filas expandibles (o función por fila; `false` deja la celda del disparador vacía). Requiere `renderExpanded`. */
7552
+ readonly expandable: _angular_core.InputSignalWithTransform<boolean | ((row: Row, index: number) => boolean), string | boolean | ((row: Row, index: number) => boolean) | null | undefined>;
7553
+ /** Detalle bajo la fila abierta: fila a todo el ancho, fondo `surface-sunken`. */
7554
+ readonly renderExpanded: _angular_core.InputSignal<TemplateRef<IusTableExpandedContext<Row>> | undefined>;
7555
+ /** Claves de las filas abiertas (controlado; `undefined` = no controlado). */
7556
+ readonly expandedKeys: _angular_core.InputSignal<readonly Key[] | null | undefined>;
7557
+ /** Claves abiertas al montar (no controlado). */
7558
+ readonly defaultExpandedKeys: _angular_core.InputSignal<readonly Key[] | undefined>;
7559
+ /** `multiple` permite varias abiertas; `single` cierra la anterior. */
7560
+ readonly expandMode: _angular_core.InputSignal<"single" | "multiple">;
7561
+ /** Etiqueta accesible del botón de abrir (texto o función por fila). */
7562
+ readonly expandAriaLabel: _angular_core.InputSignal<IusTableRowLabel<Row>>;
7563
+ /** Hijas de una fila: si devuelve elementos, la fila es grupo y las abre en las mismas columnas. */
7564
+ readonly getChildren: _angular_core.InputSignal<((row: Row) => readonly Row[] | null | undefined) | undefined>;
7565
+ /** Clave de cada hija (campo o función). Default `claveGrupo·índice`. */
7566
+ readonly childRowKey: _angular_core.InputSignal<IusTableChildRowKey<Row> | undefined>;
7567
+ /** Grupos abiertos (controlado; `undefined` = no controlado). */
7568
+ readonly expandedGroups: _angular_core.InputSignal<readonly Key[] | null | undefined>;
7569
+ /** Grupos abiertos al montar (no controlado). */
7570
+ readonly defaultExpandedGroups: _angular_core.InputSignal<readonly Key[] | undefined>;
7571
+ /** `cascade`: el grupo marca sus hijas (indeterminado si son algunas). `independent`: cada fila por separado. */
7572
+ readonly childSelection: _angular_core.InputSignal<"independent" | "cascade">;
7573
+ /** Etiqueta accesible del disparador del grupo. */
7574
+ readonly groupToggleAriaLabel: _angular_core.InputSignal<IusTableRowLabel<Row>>;
7575
+ /** Fondo de las hijas: `sunken` o `none` (la jerarquía la marca solo la sangría). */
7576
+ readonly childRowTone: _angular_core.InputSignal<"none" | "sunken">;
7577
+ /** Marca de celda vacía. Default `—`; `''` deja la celda en blanco. */
7578
+ readonly emptyCell: _angular_core.InputSignal<string>;
7085
7579
  /** Redimensionado de columnas por arrastre del borde de la cabecera. Default `true`. */
7086
7580
  readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
7087
7581
  /** Divisores verticales hairline entre columnas. Default `true`. */
@@ -7108,40 +7602,76 @@ declare class TableComponent<Row = any> {
7108
7602
  readonly stickyHeader: _angular_core.InputSignalWithTransform<boolean, unknown>;
7109
7603
  /** Fila de pie fija (totales/sumas) por columna. */
7110
7604
  readonly summary: _angular_core.InputSignal<readonly IusTableSummaryCell[] | null | undefined>;
7111
- /** Alto fijo del área scrollable (px o CSS). Activa el scroll vertical. */
7605
+ /** Alto fijo de la tabla (px o CSS; con `100%` ocupa el alto de su contenedor). Activa el scroll vertical. */
7112
7606
  readonly height: _angular_core.InputSignal<string | number | undefined>;
7113
- /** Alto máximo (px o CSS). */
7607
+ /** Alto máximo del área con scroll (px o CSS). */
7114
7608
  readonly maxHeight: _angular_core.InputSignal<string | number | undefined>;
7115
7609
  /** Etiqueta accesible de la tabla. */
7116
7610
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
7117
7611
  /** Cambio de orden al clicar una cabecera `sortable` (tri-estado asc → desc → ninguno). */
7118
7612
  readonly sortChange: _angular_core.OutputEmitterRef<IusTableSortChange>;
7119
7613
  /** Nuevo conjunto de claves seleccionadas. */
7120
- readonly selectionChange: _angular_core.OutputEmitterRef<(string | number)[]>;
7614
+ readonly selectionChange: _angular_core.OutputEmitterRef<Key[]>;
7121
7615
  /** Click/Enter/Espacio sobre una fila (requiere `rowClickable`). */
7122
7616
  readonly rowClick: _angular_core.OutputEmitterRef<IusTableRowClick<Row>>;
7617
+ /** Nuevo conjunto de filas abiertas (expandibles). */
7618
+ readonly expandedChange: _angular_core.OutputEmitterRef<Key[]>;
7619
+ /** Nuevo conjunto de grupos abiertos. */
7620
+ readonly expandedGroupsChange: _angular_core.OutputEmitterRef<Key[]>;
7123
7621
  protected readonly scrolledX: _angular_core.WritableSignal<boolean>;
7124
7622
  protected readonly resizing: _angular_core.WritableSignal<boolean>;
7623
+ protected readonly barDrag: _angular_core.WritableSignal<boolean>;
7624
+ protected readonly fills: _angular_core.WritableSignal<boolean>;
7625
+ protected readonly bands: _angular_core.WritableSignal<{
7626
+ head: number;
7627
+ foot: number;
7628
+ }>;
7629
+ protected readonly headH: _angular_core.Signal<string>;
7630
+ protected readonly footH: _angular_core.Signal<string>;
7631
+ protected readonly vThumb: _angular_core.WritableSignal<Thumb | null>;
7632
+ protected readonly hThumb: _angular_core.WritableSignal<Thumb | null>;
7125
7633
  /** Anchos medidos / redimensionados por `key` (px). */
7126
7634
  private readonly colW;
7127
7635
  private readonly measured;
7636
+ private readonly innerExp;
7637
+ private readonly innerGrp;
7128
7638
  protected readonly cols: _angular_core.Signal<IusTableColumn<Row>[]>;
7639
+ protected readonly hasExpand: _angular_core.Signal<boolean>;
7640
+ protected readonly hasGroups: _angular_core.Signal<boolean>;
7129
7641
  protected readonly colCount: _angular_core.Signal<number>;
7130
- protected readonly selWidth: _angular_core.Signal<52 | 44 | 40>;
7642
+ protected readonly selWidth: _angular_core.Signal<44 | 40 | 52>;
7131
7643
  protected readonly isEmpty: _angular_core.Signal<boolean>;
7132
7644
  protected readonly tableLayout: _angular_core.Signal<"auto" | "fixed">;
7133
7645
  protected readonly skeletonIdx: _angular_core.Signal<number[]>;
7134
7646
  protected readonly showSummary: _angular_core.Signal<boolean>;
7135
7647
  /** Firma de estructura: al cambiar, se descartan los anchos medidos. */
7136
7648
  private readonly colsSig;
7649
+ private readonly expList;
7650
+ private readonly grpList;
7651
+ private readonly expSet;
7652
+ private readonly grpSet;
7653
+ /** Hijas por grupo, ordenadas entre sí con la columna de orden activa. */
7654
+ private readonly groupsInfo;
7137
7655
  private readonly selSet;
7656
+ private readonly cascade;
7138
7657
  private readonly allKeys;
7139
7658
  protected readonly allSelected: _angular_core.Signal<boolean>;
7140
7659
  protected readonly someSelected: _angular_core.Signal<boolean>;
7660
+ protected readonly bodyRows: _angular_core.Signal<BodyRow<Row>[]>;
7141
7661
  private readonly pinInfo;
7142
7662
  constructor();
7143
- protected keyOf(row: Row, rowKey: IusTableRowKey<Row>, i: number): string | number;
7144
- protected rowKeyOf(row: Row, i: number): string | number;
7663
+ protected keyOf(row: Row, rowKey: IusTableRowKey<Row>, i: number): Key;
7664
+ private childKeyOf;
7665
+ /** Las hijas se ordenan entre sí con la columna activa; los grupos los ordena el consumidor. */
7666
+ private sortKids;
7667
+ private kidKeys;
7668
+ private selStateOf;
7669
+ private canExpand;
7670
+ protected labelOf(label: IusTableRowLabel<Row>, row: Row, i: number): string;
7671
+ private safeId;
7672
+ protected detailId(k: Key): string;
7673
+ protected childId(k: Key): string;
7674
+ protected childIds(g: GroupInfo<Row> | null): string | undefined;
7145
7675
  protected alignOf(c: IusTableColumn<Row>): IusTableAlign;
7146
7676
  protected dirOf(key: string): IusTableSortDirection | null;
7147
7677
  protected sortIcon(key: string): string;
@@ -7155,32 +7685,44 @@ declare class TableComponent<Row = any> {
7155
7685
  protected pinLeft(key: string): string | null;
7156
7686
  protected pinRight(key: string): string | null;
7157
7687
  protected readonly selKey = "__sel";
7688
+ protected readonly expKey = "__exp";
7158
7689
  protected px(v: number | string | undefined | null): string | null;
7159
7690
  protected cellValue(row: Row, c: IusTableColumn<Row>): unknown;
7160
7691
  protected isBlank(v: unknown): boolean;
7692
+ protected emptyMarkOf(c: IusTableColumn<Row>): string;
7161
7693
  protected cellTitle(row: Row, c: IusTableColumn<Row>): string | null;
7162
- protected cellContext(row: Row, i: number, c: IusTableColumn<Row>): IusTableCellContext<Row>;
7694
+ protected cellContext(b: BodyRow<Row>, c: IusTableColumn<Row>): IusTableCellContext<Row>;
7163
7695
  protected headerContext(c: IusTableColumn<Row>): IusTableHeaderContext<Row>;
7164
- protected isDisabled(row: Row, i: number): boolean;
7165
- protected isSelected(row: Row, i: number): boolean;
7166
- protected isClickable(row: Row, i: number): boolean;
7167
- protected rowClass(row: Row, i: number): string | null;
7696
+ protected expandedContext(b: BodyRow<Row>): IusTableExpandedContext<Row>;
7697
+ private isDisabled;
7698
+ private rowClassOf;
7168
7699
  /** `{ ...(disabled ? { opacity: .55 } : null), ...rowStyle }` del golden. */
7169
- protected rowStyles(row: Row, i: number): IusTableRowStyle | null;
7700
+ private rowStylesOf;
7170
7701
  /** Barra de acento (3px) sobre la primera celda de la fila; `null` = sin barra. */
7171
- protected accentShadow(row: Row, i: number): string | null;
7702
+ private accentOf;
7172
7703
  protected skelWidth(c: IusTableColumn<Row>, ci: number): string;
7173
7704
  protected summaryCell(key: string): IusTableSummaryCell | undefined;
7174
7705
  protected onScroll(): void;
7175
7706
  protected onHeaderSort(col: IusTableColumn<Row>): void;
7176
- protected toggleAll(checked: boolean): void;
7177
- protected toggleRow(key: string | number, checked: boolean): void;
7178
- protected onRowClick(row: Row, i: number, event: MouseEvent): void;
7179
- protected onRowKeydown(row: Row, i: number, event: KeyboardEvent): void;
7707
+ /**
7708
+ * Selección controlada (como el Checkbox golden con `checked`): la casilla vuelve
7709
+ * al valor de `selectedKeys` y solo cambia cuando el consumidor lo actualiza. Sin
7710
+ * esto quedaría marcada si la selección no cambia (sin filas, todas deshabilitadas).
7711
+ */
7712
+ protected toggleAll(checked: boolean, cbx: CheckboxComponent): void;
7713
+ protected toggleRow(b: BodyRow<Row>, checked: boolean, cbx: CheckboxComponent): void;
7714
+ protected toggleExpand(k: Key): void;
7715
+ protected toggleGroup(k: Key): void;
7716
+ protected onRowClick(b: BodyRow<Row>, event: MouseEvent): void;
7717
+ protected onRowKeydown(b: BodyRow<Row>, e: KeyboardEvent): void;
7718
+ protected onGroupToggleKeydown(e: KeyboardEvent): void;
7719
+ private focusRow;
7720
+ private syncBars;
7721
+ protected startThumbDrag(axis: 'x' | 'y', e: PointerEvent): void;
7180
7722
  private measureAll;
7181
7723
  protected startResize(e: MouseEvent, col: IusTableColumn<Row>): void;
7182
7724
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent<any>, never>;
7183
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "ius-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "sortColumn": { "alias": "sortColumn"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectedKeys": { "alias": "selectedKeys"; "required": false; "isSignal": true; }; "selectAriaLabel": { "alias": "selectAriaLabel"; "required": false; "isSignal": true; }; "rowClickable": { "alias": "rowClickable"; "required": false; "isSignal": true; }; "isRowDisabled": { "alias": "isRowDisabled"; "required": false; "isSignal": true; }; "getRowAccent": { "alias": "getRowAccent"; "required": false; "isSignal": true; }; "rowClassName": { "alias": "rowClassName"; "required": false; "isSignal": true; }; "rowStyle": { "alias": "rowStyle"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnDividers": { "alias": "columnDividers"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "summary": { "alias": "summary"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "selectionChange": "selectionChange"; "rowClick": "rowClick"; }, never, never, true, never>;
7725
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "ius-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "sortColumn": { "alias": "sortColumn"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectedKeys": { "alias": "selectedKeys"; "required": false; "isSignal": true; }; "selectAriaLabel": { "alias": "selectAriaLabel"; "required": false; "isSignal": true; }; "rowClickable": { "alias": "rowClickable"; "required": false; "isSignal": true; }; "isRowDisabled": { "alias": "isRowDisabled"; "required": false; "isSignal": true; }; "getRowAccent": { "alias": "getRowAccent"; "required": false; "isSignal": true; }; "rowClassName": { "alias": "rowClassName"; "required": false; "isSignal": true; }; "rowStyle": { "alias": "rowStyle"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "renderExpanded": { "alias": "renderExpanded"; "required": false; "isSignal": true; }; "expandedKeys": { "alias": "expandedKeys"; "required": false; "isSignal": true; }; "defaultExpandedKeys": { "alias": "defaultExpandedKeys"; "required": false; "isSignal": true; }; "expandMode": { "alias": "expandMode"; "required": false; "isSignal": true; }; "expandAriaLabel": { "alias": "expandAriaLabel"; "required": false; "isSignal": true; }; "getChildren": { "alias": "getChildren"; "required": false; "isSignal": true; }; "childRowKey": { "alias": "childRowKey"; "required": false; "isSignal": true; }; "expandedGroups": { "alias": "expandedGroups"; "required": false; "isSignal": true; }; "defaultExpandedGroups": { "alias": "defaultExpandedGroups"; "required": false; "isSignal": true; }; "childSelection": { "alias": "childSelection"; "required": false; "isSignal": true; }; "groupToggleAriaLabel": { "alias": "groupToggleAriaLabel"; "required": false; "isSignal": true; }; "childRowTone": { "alias": "childRowTone"; "required": false; "isSignal": true; }; "emptyCell": { "alias": "emptyCell"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnDividers": { "alias": "columnDividers"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "summary": { "alias": "summary"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "selectionChange": "selectionChange"; "rowClick": "rowClick"; "expandedChange": "expandedChange"; "expandedGroupsChange": "expandedGroupsChange"; }, never, never, true, never>;
7184
7726
  }
7185
7727
 
7186
7728
  /** Familia de color de la cifra: default + 6 semánticos + 6 frutas. */
@@ -8579,6 +9121,176 @@ declare class SwitchComponent implements ControlValueAccessor {
8579
9121
  static ngAcceptInputType_disabled: unknown;
8580
9122
  }
8581
9123
 
9124
+ /** Tamaño del anillo — small 16 · medium 20 (default) · large 24 px. */
9125
+ type IusRadioSize = 'small' | 'medium' | 'large';
9126
+ /** Lado del label respecto al anillo. */
9127
+ type IusRadioLabelPosition = 'left' | 'right';
9128
+ /**
9129
+ * Radio — Ius Design v2 (familia inputs).
9130
+ *
9131
+ * Botón de opción para elegir **una** entre varias excluyentes: anillo gris sin
9132
+ * seleccionar; anillo y punto navy (Primary-900) al elegir; halo gris en hover y
9133
+ * azul en pressed/focus. Fuente de verdad: `Radio.jsx` + `Radio.d.ts` +
9134
+ * `Radio.ng-spec.md` (DELTA sobre `Checkbox.ng-spec.md`).
9135
+ *
9136
+ * Los radios con el mismo `name` son excluyentes (lo asegura el navegador). El
9137
+ * valor escalar del grupo lo maneja el CVA del grupo (`ius-selection-field
9138
+ * type="radio"`); el Radio individual expone `checked`/`checkedChange` y `value`
9139
+ * y conserva el CVA booleano heredado de Checkbox.
9140
+ *
9141
+ * DECISIONES DE PORT (las mismas de Checkbox y Switch):
9142
+ * 1. `state` es solo para demos → fuera de la API pública; el playground
9143
+ * congela un estado visual con el atributo `data-force`.
9144
+ * 2. El DOM es input → anillo → label siempre y `labelPosition: 'left'` se
9145
+ * resuelve con `order`: el halo de foco depende del selector adyacente
9146
+ * `.ius-rad__input:focus-visible + .ius-rad__ctrl`.
9147
+ */
9148
+ declare class RadioComponent implements ControlValueAccessor {
9149
+ /** Texto junto al anillo. Sin label si se omite. */
9150
+ label?: string;
9151
+ /** Lado del label respecto al anillo. */
9152
+ labelPosition: IusRadioLabelPosition;
9153
+ /** Nombre del grupo: radios con el mismo `name` son excluyentes. */
9154
+ name?: string;
9155
+ /** Valor que representa la opción. */
9156
+ value?: string;
9157
+ private readonly sizeState;
9158
+ set size(value: IusRadioSize);
9159
+ get size(): IusRadioSize;
9160
+ private readonly checkedState;
9161
+ set checked(value: boolean);
9162
+ get checked(): boolean;
9163
+ /** Estado inicial no controlado (alias de `checked` como valor inicial). */
9164
+ set defaultChecked(value: boolean);
9165
+ private readonly disabledState;
9166
+ set disabled(value: boolean);
9167
+ get disabled(): boolean;
9168
+ /** Emite `true` al seleccionar (original `onChange(true)`; nunca `change`). */
9169
+ readonly checkedChange: EventEmitter<boolean>;
9170
+ protected readonly inputId: string;
9171
+ private onChangeCb;
9172
+ private onTouchedCb;
9173
+ writeValue(value: boolean): void;
9174
+ registerOnChange(fn: (value: boolean) => void): void;
9175
+ registerOnTouched(fn: () => void): void;
9176
+ setDisabledState(isDisabled: boolean): void;
9177
+ protected onSelect(): void;
9178
+ protected onBlur(): void;
9179
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioComponent, never>;
9180
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioComponent, "ius-radio", never, { "label": { "alias": "label"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "defaultChecked": { "alias": "defaultChecked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
9181
+ static ngAcceptInputType_checked: unknown;
9182
+ static ngAcceptInputType_defaultChecked: unknown;
9183
+ static ngAcceptInputType_disabled: unknown;
9184
+ }
9185
+
9186
+ /** Molécula de cada opción. */
9187
+ type IusSelectionFieldType = 'checkbox' | 'radio' | 'switch';
9188
+ /** Tamaño de las moléculas — small · medium (default) · large. */
9189
+ type IusSelectionFieldSize = 'small' | 'medium' | 'large';
9190
+ /** Disposición de las opciones. */
9191
+ type IusSelectionFieldDirection = 'vertical' | 'horizontal';
9192
+ /** Lado del label de cada opción. */
9193
+ type IusSelectionFieldLabelPosition = 'left' | 'right';
9194
+ type IusSelectionOptionValue = string | number;
9195
+ /** Escalar en `radio`; arreglo en `checkbox`/`switch`. */
9196
+ type IusSelectionFieldValue = IusSelectionOptionValue | IusSelectionOptionValue[] | null;
9197
+ interface IusSelectionOption {
9198
+ value: IusSelectionOptionValue;
9199
+ /** Texto de la opción (label de la molécula). */
9200
+ label: string;
9201
+ disabled?: boolean;
9202
+ /** Ícono de ayuda por opción. */
9203
+ showIconHelp?: boolean;
9204
+ iconHelpTitle?: string;
9205
+ iconHelpContent?: string;
9206
+ }
9207
+ /**
9208
+ * SelectionField — Ius Design v2 (familia inputs).
9209
+ *
9210
+ * Grupo etiquetado de opciones que **compone** `ius-checkbox`, `ius-radio` o
9211
+ * `ius-switch` (según `type`) y aporta el chrome de campo de TextField: label
9212
+ * con required + iconHelp + `:`, helpText/errorText, `error` y `size`. Fuente de
9213
+ * verdad: `SelectionField.jsx` + `SelectionField.d.ts` + `SelectionField.ng-spec.md`.
9214
+ *
9215
+ * `ControlValueAccessor` con forma según `type`: **escalar** en `radio` (`null`
9216
+ * sin selección) y **arreglo** en `checkbox`/`switch` (en el orden en que se
9217
+ * marcaron, como el golden). `valueChange` entrega ese mismo shape.
9218
+ *
9219
+ * Las clases `.ius-tf__*` se replican en el SCSS porque bajo
9220
+ * ViewEncapsulation.Emulated las de TextField no alcanzan a este componente
9221
+ * (mismo criterio que CodeField, MultiTextField y TextArea).
9222
+ */
9223
+ declare class SelectionFieldComponent implements ControlValueAccessor {
9224
+ /** Molécula usada para cada opción. */
9225
+ type: IusSelectionFieldType;
9226
+ /** Título del grupo (con `:` final). */
9227
+ label?: string;
9228
+ /**
9229
+ * Punto rojo (•) de obligatorio. Con `formControl`/`ngModel`, Angular solo le
9230
+ * engancha `Validators.required` cuando el atributo `type` no es literalmente
9231
+ * `"checkbox"`: en `checkbox`/`switch` agregue el validador en el control.
9232
+ */
9233
+ required: boolean;
9234
+ /** Pastilla "?" del campo (popover). */
9235
+ showIconHelp: boolean;
9236
+ /** Título del contenido de ayuda del campo. */
9237
+ iconHelpTitle?: string;
9238
+ /** Cuerpo del contenido de ayuda del campo. */
9239
+ iconHelpContent?: string;
9240
+ /** Opciones del grupo. */
9241
+ options: IusSelectionOption[];
9242
+ /** Línea de ayuda bajo el grupo. */
9243
+ helpText?: string;
9244
+ /** Reemplaza `helpText` cuando `error` es `true`. */
9245
+ errorText?: string;
9246
+ /** Mostrar/ocultar la línea de ayuda. */
9247
+ showHelpText: boolean;
9248
+ /** Estado de error (color del hint + errorText). */
9249
+ error: boolean;
9250
+ /** Tamaño de las moléculas. */
9251
+ size: IusSelectionFieldSize;
9252
+ /** Disposición de las opciones. */
9253
+ direction: IusSelectionFieldDirection;
9254
+ /** Lado del label de cada opción. */
9255
+ optionLabelPosition: IusSelectionFieldLabelPosition;
9256
+ /** Nombre del grupo (radio). Se genera si se omite. */
9257
+ name?: string;
9258
+ private readonly valueState;
9259
+ set value(value: IusSelectionFieldValue);
9260
+ get value(): IusSelectionFieldValue;
9261
+ private defaultSeeded;
9262
+ set defaultValue(value: IusSelectionFieldValue | undefined);
9263
+ private readonly disabledState;
9264
+ /** Inhabilita todo el campo. */
9265
+ set disabled(value: boolean);
9266
+ get disabled(): boolean;
9267
+ /** Nuevo valor con el shape de `type` (original `onChange`). */
9268
+ readonly valueChange: EventEmitter<IusSelectionFieldValue>;
9269
+ private readonly baseId;
9270
+ protected readonly labelId: string;
9271
+ protected readonly hintId: string;
9272
+ private onChange;
9273
+ protected onTouched: () => void;
9274
+ protected get multiple(): boolean;
9275
+ protected get groupName(): string;
9276
+ protected get hint(): string | undefined;
9277
+ protected get showHint(): boolean;
9278
+ protected isChecked(val: IusSelectionOptionValue): boolean;
9279
+ protected toggle(val: IusSelectionOptionValue): void;
9280
+ private commit;
9281
+ writeValue(value: IusSelectionFieldValue): void;
9282
+ registerOnChange(fn: (value: IusSelectionFieldValue) => void): void;
9283
+ registerOnTouched(fn: () => void): void;
9284
+ setDisabledState(isDisabled: boolean): void;
9285
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectionFieldComponent, never>;
9286
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectionFieldComponent, "ius-selection-field", never, { "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "showIconHelp": { "alias": "showIconHelp"; "required": false; }; "iconHelpTitle": { "alias": "iconHelpTitle"; "required": false; }; "iconHelpContent": { "alias": "iconHelpContent"; "required": false; }; "options": { "alias": "options"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "showHelpText": { "alias": "showHelpText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "size": { "alias": "size"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "optionLabelPosition": { "alias": "optionLabelPosition"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
9287
+ static ngAcceptInputType_required: unknown;
9288
+ static ngAcceptInputType_showIconHelp: unknown;
9289
+ static ngAcceptInputType_showHelpText: unknown;
9290
+ static ngAcceptInputType_error: unknown;
9291
+ static ngAcceptInputType_disabled: unknown;
9292
+ }
9293
+
8582
9294
  /** Id de nodo. */
8583
9295
  type IusEntityId = string | number;
8584
9296
  /** Nodo del árbol. `label`/`sublabel` son string (ReactNode del golden → regla 5 del port). */
@@ -9355,7 +10067,7 @@ declare class RepeatableFieldComponent implements ControlValueAccessor {
9355
10067
  * de sus dos ramas).
9356
10068
  */
9357
10069
  protected readonly pie: _angular_core.Signal<string | null>;
9358
- protected readonly tipoInput: _angular_core.Signal<"text" | "email" | "tel">;
10070
+ protected readonly tipoInput: _angular_core.Signal<"tel" | "email" | "text">;
9359
10071
  protected get anchoTipo(): string;
9360
10072
  /**
9361
10073
  * Única salida de escritura: en modo no controlado guarda, y siempre notifica
@@ -10237,6 +10949,12 @@ declare class DatePickerComponent implements ControlValueAccessor {
10237
10949
  error: boolean;
10238
10950
  disabled: boolean;
10239
10951
  size: 'small' | 'medium' | 'large';
10952
+ /**
10953
+ * Ocupa el ancho del contenedor como los demás campos del formulario, con el
10954
+ * tope de 360px de `.ius-tf` (el Drawer lo quita). En `range` no lleva tope:
10955
+ * las dos fechas y el ícono van siempre en una línea.
10956
+ */
10957
+ fullWidth: boolean;
10240
10958
  defaultOpen: boolean;
10241
10959
  private _open?;
10242
10960
  /** Apertura controlada del panel. */
@@ -10300,13 +11018,14 @@ declare class DatePickerComponent implements ControlValueAccessor {
10300
11018
  protected get hint(): string | undefined;
10301
11019
  protected get showHint(): boolean;
10302
11020
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerComponent, never>;
10303
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "ius-date-picker", never, { "mode": { "alias": "mode"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "startPlaceholder": { "alias": "startPlaceholder"; "required": false; }; "endPlaceholder": { "alias": "endPlaceholder"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "isDateDisabled": { "alias": "isDateDisabled"; "required": false; }; "minuteStep": { "alias": "minuteStep"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "showHelpText": { "alias": "showHelpText"; "required": false; }; "showIconHelp": { "alias": "showIconHelp"; "required": false; }; "iconHelpTitle": { "alias": "iconHelpTitle"; "required": false; }; "iconHelpContent": { "alias": "iconHelpContent"; "required": false; }; "error": { "alias": "error"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; }; "open": { "alias": "open"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, { "valueChange": "valueChange"; "openChange": "openChange"; }, never, never, true, never>;
11021
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "ius-date-picker", never, { "mode": { "alias": "mode"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "startPlaceholder": { "alias": "startPlaceholder"; "required": false; }; "endPlaceholder": { "alias": "endPlaceholder"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "isDateDisabled": { "alias": "isDateDisabled"; "required": false; }; "minuteStep": { "alias": "minuteStep"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "showHelpText": { "alias": "showHelpText"; "required": false; }; "showIconHelp": { "alias": "showIconHelp"; "required": false; }; "iconHelpTitle": { "alias": "iconHelpTitle"; "required": false; }; "iconHelpContent": { "alias": "iconHelpContent"; "required": false; }; "error": { "alias": "error"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; }; "open": { "alias": "open"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, { "valueChange": "valueChange"; "openChange": "openChange"; }, never, never, true, never>;
10304
11022
  static ngAcceptInputType_required: unknown;
10305
11023
  static ngAcceptInputType_minuteStep: unknown;
10306
11024
  static ngAcceptInputType_showHelpText: unknown;
10307
11025
  static ngAcceptInputType_showIconHelp: unknown;
10308
11026
  static ngAcceptInputType_error: unknown;
10309
11027
  static ngAcceptInputType_disabled: unknown;
11028
+ static ngAcceptInputType_fullWidth: unknown;
10310
11029
  static ngAcceptInputType_defaultOpen: unknown;
10311
11030
  }
10312
11031
 
@@ -11149,6 +11868,8 @@ declare class PartyListComponent {
11149
11868
  type IusFileItemLayout = 'row' | 'card';
11150
11869
  type IusFileItemSize = 'small' | 'medium' | 'large';
11151
11870
  type IusFileItemActivateOn = 'single' | 'double';
11871
+ /** Estado del archivo: subida en curso · generándose en el servidor · falló. */
11872
+ type IusFileItemStatus = 'uploading' | 'processing' | 'error';
11152
11873
  /** Columna de metadatos (row): etiqueta pequeña sobre el valor. */
11153
11874
  interface IusFileItemField {
11154
11875
  key?: string | number;
@@ -11159,6 +11880,11 @@ interface IusFileItemField {
11159
11880
  /** Ancho fijo de la columna (px o CSS). */
11160
11881
  width?: number | string;
11161
11882
  align?: 'start' | 'end';
11883
+ /**
11884
+ * Prioridad al estrecharse la fila (`responsive`): menor sale antes. Default `0`; a igual
11885
+ * prioridad sale antes el de la izquierda (el último field es el que más se conserva).
11886
+ */
11887
+ priority?: number;
11162
11888
  }
11163
11889
  /** Acción rápida revelada en hover (IconButton). */
11164
11890
  interface IusFileItemAction {
@@ -11205,6 +11931,16 @@ interface IusFileItemActionClick {
11205
11931
  * del golden. Fuente de verdad: `FileItem.jsx` + `FileItem.d.ts` +
11206
11932
  * `FileItem.ng-spec.md`.
11207
11933
  *
11934
+ * **Estado del archivo** (`status`): con estado, la fila reemplaza los `fields`
11935
+ * por el indicador (barra, spinner o error) y oculta casilla, dueño, estrella y
11936
+ * menú; no se abre ni se selecciona (`aria-busy` mientras sube o se genera). En
11937
+ * card el indicador va en el pie en lugar del `caption`. «Cancelar» y
11938
+ * «Reintentar» aparecen solo si `(cancel)` / `(retry)` están enlazados.
11939
+ *
11940
+ * **Fila responsive** (`responsive`, solo row): el host es contenedor
11941
+ * `fileitem` y oculta dueño y columnas por prioridad (`data-drop`) al
11942
+ * estrecharse, para que el nombre siga visible.
11943
+ *
11208
11944
  * Decisión de port: el `onContextMenu` del golden se expone como `contextMenu`
11209
11945
  * (regla transversal 3: los outputs nunca llevan el nombre de un evento nativo,
11210
11946
  * y `contextmenu` dispararía doble). Se agrega `actionClick` para escuchar las
@@ -11242,6 +11978,18 @@ declare class FileItemComponent {
11242
11978
  caption?: string;
11243
11979
  /** Dueño/responsable → Avatar en la zona final (row). */
11244
11980
  owner?: IusFileItemOwner;
11981
+ /**
11982
+ * Solo row. La fila mide su propio ancho (container query) y oculta columnas por prioridad
11983
+ * para que el nombre siga visible: ≤ 640 px el dueño · ≤ 580 px el primer field en salir ·
11984
+ * ≤ 500 px el segundo · ≤ 420 px todos. La fila debe tener ancho definido por su contenedor.
11985
+ */
11986
+ responsive: boolean;
11987
+ /** Estado del archivo. Con estado no se abre ni se selecciona; oculta dueño, estrella y menú. */
11988
+ status?: IusFileItemStatus;
11989
+ /** 0–100, solo `uploading`. Sin él la barra es indeterminada. */
11990
+ progress?: number;
11991
+ /** Texto del estado. Default «Subiendo… 45 %» · «Generando…» · «No se pudo completar». */
11992
+ statusLabel?: string;
11245
11993
  /** Acciones rápidas reveladas en hover (IconButton). */
11246
11994
  actions: readonly IusFileItemAction[];
11247
11995
  /** Opciones del menú ⋮ (items de Dropdown). */
@@ -11260,20 +12008,37 @@ declare class FileItemComponent {
11260
12008
  readonly contextMenu: EventEmitter<MouseEvent>;
11261
12009
  /** Acción rápida pulsada (además del `onClick` del item). */
11262
12010
  readonly actionClick: EventEmitter<IusFileItemActionClick>;
12011
+ /** Solo `error`: enlazarlo muestra el botón «Reintentar». Original `onRetry`. */
12012
+ readonly retry: EventEmitter<MouseEvent>;
12013
+ /** Solo `uploading`/`processing`: enlazarlo muestra el botón «Cancelar». Original `onCancel`. */
12014
+ readonly cancel: EventEmitter<MouseEvent>;
11263
12015
  /** Mantiene visibles acciones y menú mientras el ⋮ está abierto. */
11264
12016
  protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
11265
12017
  protected get isCard(): boolean;
12018
+ protected get busy(): boolean;
12019
+ protected get failed(): boolean;
12020
+ protected get blocked(): boolean;
12021
+ protected get pct(): number | null;
12022
+ protected get statusText(): string | null;
12023
+ protected get showCancel(): boolean;
12024
+ protected get showRetry(): boolean;
11266
12025
  protected get activatable(): boolean;
11267
12026
  protected get clickable(): boolean;
11268
12027
  protected get hasStar(): boolean;
11269
12028
  protected get starLabel(): string;
11270
12029
  protected widthOf(f: IusFileItemField): string | null;
12030
+ /**
12031
+ * Orden de salida al estrecharse: menor `priority` sale antes; a igual prioridad, el de la
12032
+ * izquierda. drop 1 y 2 tienen umbral propio; 3+ salen con todo el bloque. Un único field lleva 2.
12033
+ */
12034
+ protected dropRanks(): number[];
11271
12035
  protected trackKey(item: {
11272
12036
  key?: string | number;
11273
12037
  }, index: number): string | number;
11274
12038
  private doOpen;
11275
12039
  protected onHostClick(event: MouseEvent): void;
11276
12040
  protected onHostDblClick(event: MouseEvent): void;
12041
+ /** Solo la fila enfocada abre o selecciona: Enter sobre el menú, la estrella o una acción es de ese botón. */
11277
12042
  protected onKeydown(event: KeyboardEvent): void;
11278
12043
  protected onContextMenu(event: MouseEvent): void;
11279
12044
  /** La casilla y el menú no disparan apertura ni selección por clic en la fila. */
@@ -11281,13 +12046,16 @@ declare class FileItemComponent {
11281
12046
  protected onSelect(next: boolean): void;
11282
12047
  protected onStar(event: MouseEvent): void;
11283
12048
  protected onAction(action: IusFileItemAction, event: MouseEvent): void;
12049
+ protected onRetry(event: MouseEvent): void;
12050
+ protected onCancel(event: MouseEvent): void;
11284
12051
  protected onMenuOpen(open: boolean): void;
11285
12052
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileItemComponent, never>;
11286
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileItemComponent, "ius-file-item", never, { "kind": { "alias": "kind"; "required": false; }; "name": { "alias": "name"; "required": false; }; "thumbnail": { "alias": "thumbnail"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "size": { "alias": "size"; "required": false; }; "href": { "alias": "href"; "required": false; }; "activateOn": { "alias": "activateOn"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "unread": { "alias": "unread"; "required": false; }; "shared": { "alias": "shared"; "required": false; }; "starred": { "alias": "starred"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "owner": { "alias": "owner"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "opened": "opened"; "clicked": "clicked"; "selectChange": "selectChange"; "starChange": "starChange"; "contextMenu": "contextMenu"; "actionClick": "actionClick"; }, never, never, true, never>;
12053
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileItemComponent, "ius-file-item", never, { "kind": { "alias": "kind"; "required": false; }; "name": { "alias": "name"; "required": false; }; "thumbnail": { "alias": "thumbnail"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "size": { "alias": "size"; "required": false; }; "href": { "alias": "href"; "required": false; }; "activateOn": { "alias": "activateOn"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "unread": { "alias": "unread"; "required": false; }; "shared": { "alias": "shared"; "required": false; }; "starred": { "alias": "starred"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "owner": { "alias": "owner"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "status": { "alias": "status"; "required": false; }; "progress": { "alias": "progress"; "required": false; }; "statusLabel": { "alias": "statusLabel"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "opened": "opened"; "clicked": "clicked"; "selectChange": "selectChange"; "starChange": "starChange"; "contextMenu": "contextMenu"; "actionClick": "actionClick"; "retry": "retry"; "cancel": "cancel"; }, never, never, true, never>;
11287
12054
  static ngAcceptInputType_selectable: unknown;
11288
12055
  static ngAcceptInputType_selected: unknown;
11289
12056
  static ngAcceptInputType_unread: unknown;
11290
12057
  static ngAcceptInputType_shared: unknown;
12058
+ static ngAcceptInputType_responsive: unknown;
11291
12059
  static ngAcceptInputType_disabled: unknown;
11292
12060
  }
11293
12061
 
@@ -11449,6 +12217,8 @@ interface IusDetailSidePanelSection {
11449
12217
  /** Abierta al montar (solo con `accordion`). */
11450
12218
  defaultOpen?: boolean;
11451
12219
  }
12220
+ /** Lado del contenido en que va la ficha; `bottom` para vistas angostas. */
12221
+ type IusDetailSidePanelSide = 'end' | 'start' | 'bottom';
11452
12222
  /**
11453
12223
  * DetailSidePanel — Ius Design v2 (familia layout).
11454
12224
  *
@@ -11486,8 +12256,16 @@ declare class DetailSidePanelComponent {
11486
12256
  collapseLabel: string;
11487
12257
  /** aria/tooltip del toggle expandir (riel). */
11488
12258
  expandLabel: string;
11489
- /** Ícono del botón de reabrir en el riel. */
11490
- expandIcon: string;
12259
+ /** Ícono del botón de reabrir en el riel. Default según `side`. */
12260
+ expandIcon?: string;
12261
+ /**
12262
+ * `end` (derecha del contenido) · `start` (izquierda: borde y toggle al inicio) ·
12263
+ * `bottom` (bajo el contenido, alto `height`, plegado a franja horizontal).
12264
+ * Los íconos de plegar/abrir siguen el lado.
12265
+ */
12266
+ side: IusDetailSidePanelSide;
12267
+ /** Alto con `side="bottom"` (px o CSS) → `--_ds-h`. Default 40%. */
12268
+ height?: number | string;
11491
12269
  /** Secciones del cuerpo. Alternativa al contenido proyectado. */
11492
12270
  sections?: readonly IusDetailSidePanelSection[];
11493
12271
  /** Monta las `sections` como Accordion plegable (`variant divided`). */
@@ -11501,6 +12279,10 @@ declare class DetailSidePanelComponent {
11501
12279
  private readonly internal;
11502
12280
  protected get isCollapsed(): boolean;
11503
12281
  protected get widthCss(): string;
12282
+ protected get heightCss(): string | null;
12283
+ protected get isStart(): boolean;
12284
+ protected get collapseIcon(): string;
12285
+ protected get openIcon(): string;
11504
12286
  protected get hasSections(): boolean;
11505
12287
  protected get useAccordion(): boolean;
11506
12288
  protected get showHead(): boolean;
@@ -11513,7 +12295,7 @@ declare class DetailSidePanelComponent {
11513
12295
  protected toggle(): void;
11514
12296
  protected readonly railWidth = "52px";
11515
12297
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailSidePanelComponent, never>;
11516
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailSidePanelComponent, "ius-detail-side-panel", never, { "width": { "alias": "width"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleTemplate": { "alias": "titleTemplate"; "required": false; }; "titleIcon": { "alias": "titleIcon"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "defaultCollapsed": { "alias": "defaultCollapsed"; "required": false; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; }; "expandLabel": { "alias": "expandLabel"; "required": false; }; "expandIcon": { "alias": "expandIcon"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "accordion": { "alias": "accordion"; "required": false; }; "accordionMultiple": { "alias": "accordionMultiple"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "collapsedChange": "collapsedChange"; }, never, ["*"], true, never>;
12298
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailSidePanelComponent, "ius-detail-side-panel", never, { "width": { "alias": "width"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleTemplate": { "alias": "titleTemplate"; "required": false; }; "titleIcon": { "alias": "titleIcon"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "defaultCollapsed": { "alias": "defaultCollapsed"; "required": false; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; }; "expandLabel": { "alias": "expandLabel"; "required": false; }; "expandIcon": { "alias": "expandIcon"; "required": false; }; "side": { "alias": "side"; "required": false; }; "height": { "alias": "height"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "accordion": { "alias": "accordion"; "required": false; }; "accordionMultiple": { "alias": "accordionMultiple"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "collapsedChange": "collapsedChange"; }, never, ["*"], true, never>;
11517
12299
  static ngAcceptInputType_collapsible: unknown;
11518
12300
  static ngAcceptInputType_defaultCollapsed: unknown;
11519
12301
  static ngAcceptInputType_accordion: unknown;
@@ -11785,5 +12567,556 @@ declare class StageDetailDrawerComponent {
11785
12567
  static ngAcceptInputType_closeOnEsc: unknown;
11786
12568
  }
11787
12569
 
11788
- export { ACTUACION_CATALOG, ACTUACION_FUENTES, AccordionComponent, AccountItemComponent, AlertComponent, AnswerFeedbackComponent, AppLayoutComponent, AutocompleteComponent, AvatarComponent, AvatarStackComponent, BarChartComponent, BorderBeamComponent, BreadcrumbComponent, ButtonComponent, CATEGORIES, CATEGORY_DEF, CATEGORY_HUE, CHART_CATEGORICAL_TONES, CHART_SEMANTIC_TONES, CHART_TONES, CLASE_DEF, CalendarComponent, CaptchaFieldComponent, CardComponent, CarouselComponent, CheckboxComponent, ChipComponent, CircularProgressComponent, CodeFieldComponent, CountdownComponent, CountdownRingComponent, DateFilterComponent, DatePickerComponent, DescriptionListComponent, DetailSidePanelComponent, DividerComponent, DonutChartComponent, DrawerComponent, DropdownComponent, EVENT_KINDS, EVENT_KIND_ICON, EXT_KIND, EleniaBubbleComponent, EleniaOrbComponent, EmptyStateComponent, EntityNavigatorComponent, EntityRowComponent, EventPillComponent, FUENTES, FUENTE_DEF, FUENTE_FALLBACK, FileItemComponent, FileTypeIconComponent, FileUploadComponent, FlexComponent, FormComponent, FormFieldComponent, FormSectionComponent, HeaderBarComponent, ILLUSTRATIONS, ILLUSTRATION_ALIAS, ILLUSTRATION_NAMES, IUS_FILTER_OPERATORS, IUS_TOAST_DEFAULT_DURATION, IUS_TOAST_DEFAULT_ICON, IconButtonComponent, IllustrationComponent, InsightComponent, InsigniaComponent, IusAccountItemNameDirective, IusAccountItemSubtitleDirective, IusAccountItemTrailingDirective, IusAlertActionsDirective, IusAlertTrailingDirective, IusCalendarAsideDirective, IusCalendarFooterDirective, IusCardFooterDirective, IusCardHeaderDirective, IusDrawerFooterDirective, IusDrawerHeaderActionsDirective, IusDrawerTitleDirective, IusDropdownTriggerDirective, IusEntityRowLabelDirective, IusEntityRowSublabelDirective, IusFormFooterDirective, IusInsightActionsDirective, IusListCardLeadingDirective, IusListCardOverlineDirective, IusListCardParagraphDirective, IusListCardSubtitleDirective, IusListCardTitleDirective, IusListViewFiltersDirective, IusListViewFooterEndDirective, IusListViewFooterStartDirective, IusListViewHeaderEndDirective, IusListViewHeaderStartDirective, IusListViewToolbarDirective, IusMenuItemTrailingDirective, IusModalFooterDirective, IusPageHeaderActionsDirective, IusPageHeaderBreadcrumbDirective, IusPageHeaderOverlineDirective, IusPageHeaderSubtitleDirective, IusPageHeaderTitleDirective, IusPageHeaderToolbarDirective, IusPersonItemNameDirective, IusPersonItemTrailingDirective, IusSectionTitleActionDirective, IusSettingsNavFooterDirective, IusSettingsNavHeaderDirective, IusStageDetailFooterDirective, IusStageDetailHeaderActionsDirective, IusStageDetailMetaDirective, IusStatCaptionDirective, IusStatDeltaDirective, IusStatDeltaLabelDirective, IusStatLabelDirective, IusStatSparklineDirective, IusTagPrefixDirective, IusTagSuffixDirective, IusToastActionDirective, IusUserMenuFooterDirective, KINDS, KIND_DEF, KIND_FALLBACK, LineChartComponent, LinearProgressBarComponent, ListCardComponent, ListViewComponent, LoadingComponent, LoadingMarkComponent, MenuComponent, MenuItemComponent, ModalComponent, MultiTextFieldComponent, NATURALEZA_DEF, NavUserComponent, NumberFieldComponent, ORB_PERIODS, OauthButtonComponent, OptionItemComponent, PageHeaderComponent, PartyListComponent, PersonItemComponent, PersonPickerComponent, PlanUsageItemComponent, PopoverComponent, QueryBuilderComponent, RepeatableFieldComponent, SOURCE_FUENTE, SOURCE_LABEL, STATUS_TONES, STATUS_VOCAB, STATUS_VOCABS, STATUS_VOCABS_PENDING, ScrollAreaComponent, SearchBarComponent, SectionHeaderComponent, SectionTitleComponent, SegmentGroupComponent, SegmentedControlComponent, SelectComponent, SettingsNavComponent, ShowMoreComponent, SkeletonComponent, SparklineComponent, SplitterComponent, StageDetailDrawerComponent, StatComponent, StatGroupComponent, StatusChipComponent, StatusStateComponent, StepperComponent, SwitchComponent, TableComponent, TabsComponent, TagComponent, TextAreaComponent, TextButtonComponent, TextComponent, TextFieldComponent, TimePanelComponent, TimelineComponent, ToastComponent, ToastService, ToastViewportComponent, TooltipComponent, UserMenuComponent, WizardComponent, WizardController, WizardNavComponent, categoryColors, categoryOptions, chartAxisTicks, chartFormatValue, chartLinearPath, chartNiceNum, chartPath, chartPrefersReducedMotion, chartSmoothPath, chartToneAt, chartToneVar, createWizard, eventKindOptions, extOf, formatBytes, formatDate, formatTime, fuenteColors, fuenteOptions, iusSegColor, kindHue, kindIcon, kindLabel, kindMeta, kindOptions, naturalezaMeta, naturalezaOptions, normalizeTipo, pose, poseIso, poseSpeaking, poseThinking, renderCubeSvg, resolveActuacion, resolveCategoryHue, resolveEventIcon, resolveFuente, resolveIllustration, resolveKind, resolveStatus, sourceIcon, sourceMeta, statusOptions, statusOrder, statusToneVars, statusVocab, timeFromDate, voiceEnv };
11789
- export type { ActuacionEntry, ActuacionMeta, ActuacionStatus, AlertSize, AlertTone, AlertVariant, CategoryColors, CategoryDef, CategoryHueSource, CategoryKey, CategoryOption, ChartCategoricalTone, ChartCurve, ChartPoint, ChartSemanticTone, ChartTone, Clase, ClaseDef, CountdownDirection, CountdownFormat, CountdownRingSize, CountdownRingTone, DescriptionListItem, DescriptionListLayout, DescriptionListSize, DescriptionListValueClick, EventIconSource, EventKind, EventKindOption, FileKind, FileKindDef, FileKindDomain, FileKindFs, FileKindMeta, FileKindOption, FileTypeHue, FuenteColors, FuenteDef, FuenteKey, FuenteOption, GestionStatus, Hue, IllustrationEntry, IllustrationName, IllustrationSize, IusAccordionAction, IusAccordionActionEvent, IusAccordionItem, IusAccordionItemContext, IusAccordionSize, IusAccordionVariant, IusAccountItemAction, IusAccountItemState, IusAnswerFeedbackSize, IusAnswerFeedbackValue, IusAppLayoutAccent, IusAutocompleteItemContext, IusAutocompletePlacement, IusAutocompleteSize, IusAutocompleteSource, IusAvatarColor, IusAvatarShape, IusAvatarSize, IusAvatarStackItem, IusAvatarStackItemClick, IusAvatarStackStyle, IusBarChartOrientation, IusBarSeries, IusBreadcrumbItem, IusBreadcrumbNavigate, IusBreadcrumbSeparator, IusBreadcrumbSize, IusButtonActionResult, IusButtonSize, IusButtonStatus, IusButtonType, IusButtonVariant, IusCalendarMode, IusCalendarValue, IusCaptchaAppearance, IusCaptchaFieldHandle, IusCaptchaProvider, IusCaptchaSize, IusCaptchaState, IusCaptchaTheme, IusCardAs, IusCardPadding, IusCardRadius, IusCardVariant, IusCarouselImage, IusCarouselImageInput, IusCarouselObjectFit, IusCarouselOrder, IusCarouselOverlay, IusCarouselTransition, IusCheckboxLabelPosition, IusCheckboxSize, IusChipSize, IusChipState, IusCircularProgressSize, IusCircularProgressTone, IusCodeFieldSize, IusDateFilterMode, IusDateFilterPlacement, IusDateFilterSize, IusDateFilterValue, IusDatePickerMode, IusDatePickerState, IusDatePickerValue, IusDatePreset, IusDateRange, IusDateTimeValue, IusDetailSidePanelSection, IusDividerOrientation, IusDividerTextAlign, IusDividerVariant, IusDonutLegendPosition, IusDonutSegment, IusDrawerSide, IusDrawerSize, IusDropdownItem, IusDropdownTone, IusDropdownVariant, IusEleniaBubblePosition, IusEleniaBubbleSize, IusEleniaOrbMood, IusEleniaOrbSurface, IusEmptyStateAction, IusEmptyStateSize, IusEmptyStateTone, IusEmptyStateVariant, IusEntityDesc, IusEntityDescKind, IusEntityFacet, IusEntityFilter, IusEntityFilterOption, IusEntityGroup, IusEntityId, IusEntityItemHeights, IusEntityNode, IusEntityRowAccent, IusEntityRowAction, IusEntityRowKind, IusEntityRowNoveltyTone, IusEntityRowState, IusEntityRowTag, IusEntitySection, IusEntityStateSegment, IusEventAssignee, IusEventPillFill, IusEventPillSize, IusEventPillVariant, IusFileItemAction, IusFileItemActionClick, IusFileItemActivateOn, IusFileItemField, IusFileItemLayout, IusFileItemOwner, IusFileItemSize, IusFileItemTag, IusFileTypeIconSize, IusFileTypeIconVariant, IusFileUploadVariant, IusFilterField, IusFilterFieldOption, IusFilterFieldType, IusFilterRule, IusFilterValue, IusFlexAlign, IusFlexDirection, IusFlexGap, IusFlexJustify, IusFormColumns, IusFormError, IusFormFieldSpan, IusFormSectionVariant, IusIconButtonShape, IusIconButtonSize, IusIconButtonVariant, IusInsightTone, IusInsightVariant, IusInsigniaSize, IusInsigniaTone, IusInsigniaVariant, IusLineChartPoints, IusLineSeries, IusLinearProgressSegment, IusLinearProgressSize, IusLinearProgressTone, IusListCardAction, IusListCardField, IusListCardMarker, IusListCardMenuItem, IusListCardSize, IusListCardStatus, IusListCardTag, IusListCardTone, IusListViewAction, IusListViewSize, IusListViewSortOption, IusLoadingMarkSurface, IusLoadingVariant, IusMenuItemSize, IusMenuItemState, IusMenuItemVariant, IusMenuOption, IusModalCloseReason, IusModalIconTone, IusModalSize, IusMultiTextFieldSize, IusMultiTextFieldSlot, IusMultiTextFieldState, IusNavUserAccount, IusNavUserLayout, IusNavUserUser, IusOAuthButtonSize, IusOAuthButtonType, IusOAuthProvider, IusOptionItemSize, IusOptionItemState, IusPageHeaderDensity, IusPageHeaderTitleLevel, IusPartyListConnector, IusPartyListSize, IusPersonId, IusPersonItemAction, IusPersonItemSize, IusPersonItemState, IusPersonItemVariant, IusPersonOption, IusPersonPickerSelectedContext, IusPlanUsageAction, IusPlanUsageLegend, IusPlanUsageStatus, IusPopoverPadding, IusPopoverPlacement, IusPopoverTrigger, IusQueryBuilderSize, IusRepeatableControlContext, IusRepeatableInputMode, IusRepeatableItem, IusRepeatableSize, IusRepeatableTypeOption, IusScrollAxis, IusScrollSize, IusSearchBarSize, IusSearchBarState, IusSectionHeaderAccent, IusSectionHeaderVariant, IusSectionTitleAs, IusSectionTitleHelpTrigger, IusSectionTitleSize, IusSegmentedSize, IusSegmentedVariant, IusSelectCreateFactory, IusSelectSize, IusSelectState, IusSelectValue, IusSettingsNavAccent, IusSettingsNavItem, IusSettingsNavSize, IusShowMoreAlign, IusSkeletonAnimation, IusSkeletonVariant, IusSparklineVariant, IusSplitterAccent, IusSplitterOrientation, IusStageDetailAccent, IusStageDetailAssignee, IusStageDetailState, IusStatAlign, IusStatSize, IusStatTone, IusStatusChipSize, IusStatusChipTone, IusStatusKind, IusStepperAccent, IusStepperAssignee, IusStepperCollapsedControl, IusStepperContextRow, IusStepperDetailDisplay, IusStepperOrientation, IusStepperPopoverAction, IusStepperSize, IusStepperStage, IusStepperStageEvent, IusStepperState, IusStepperSubstage, IusSwitchLabelPosition, IusSwitchSize, IusTabItem, IusTabTag, IusTableAlign, IusTableCellContext, IusTableColumn, IusTableHeaderContext, IusTableRowClick, IusTableRowKey, IusTableRowStyle, IusTableSize, IusTableSortChange, IusTableSortDirection, IusTableSummaryCell, IusTableTone, IusTabsAccent, IusTabsSize, IusTagRole, IusTagShape, IusTagSize, IusTagState, IusTagTone, IusTagVariant, IusTextAlign, IusTextAreaSize, IusTextAreaState, IusTextButtonSize, IusTextButtonType, IusTextColor, IusTextFieldInputMode, IusTextFieldSize, IusTextFieldType, IusTextTag, IusTextVariant, IusTextWeight, IusTimeValue, IusTimelineAccent, IusTimelineAssignee, IusTimelineAttachment, IusTimelineAttachmentClick, IusTimelineItem, IusTimelineItemState, IusTimelineSize, IusTimelineTag, IusTimelineTagTone, IusToastItem, IusToastOptions, IusToastPosition, IusToastTone, IusTooltipTrigger, IusUploadFile, IusUploadStatus, IusUploader, IusUploaderHelpers, IusUserMenuAccount, IusUserMenuAccountOption, IusUserMenuItem, IusUserMenuOrigin, IusUserMenuService, IusUserMenuUser, Naturaleza, NaturalezaDef, NaturalezaOption, NaturalezaTone, OrbMood, OrbPose, SegmentedOption, SelectOption, SelectOptionGroup, SourceKey, SourceMeta, StatusMeta, StatusOption, StatusTone, StatusToneVars, StatusVocabMap, StatusVocabName, UseWizardOptions, WizardApi, WizardStep };
12570
+ /** Familia de color: colorea el ícono y la barra; con `blocking`, también el texto. */
12571
+ type IusFooterStatusTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
12572
+ /** Tamaño. Sin `size` explícito hereda `--ius-control-size` del ancestro. */
12573
+ type IusFooterStatusSize = 'small' | 'medium';
12574
+ /**
12575
+ * Marca la salida del bloqueo (TextButton/Button), alineada al centro de la fila
12576
+ * inmediatamente después del texto: `<ius-text-button iusFooterStatusAction …/>`.
12577
+ */
12578
+ declare class IusFooterStatusActionDirective {
12579
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusFooterStatusActionDirective, never>;
12580
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusFooterStatusActionDirective, "[iusFooterStatusAction]", never, {}, {}, never, never, true, never>;
12581
+ }
12582
+ /**
12583
+ * FooterStatus — Ius Design v2 (familia feedback).
12584
+ *
12585
+ * Línea de estado del pie de acción (`footer` de Drawer/Modal, pie de Form, pie de
12586
+ * página): texto plano sobre la superficie del pie, sin píldora ni caja tintada.
12587
+ * La frase se compone por partes —`label` · `value` (+`separator`+`total`) · `unit`—
12588
+ * y `meter` la ilustra con una `ius-linear-progress-bar`. Con `blocking` pasa a
12589
+ * `role="alert"` y texto tonal; el primario lo deshabilita la vista, no el componente.
12590
+ * Refluye a dos líneas, nunca trunca. Fuente de verdad: `FooterStatus.jsx` + ng-spec.
12591
+ *
12592
+ * Etiqueta de categoría → Tag; callout del cuerpo → Alert.
12593
+ */
12594
+ declare class FooterStatusComponent {
12595
+ readonly tone: _angular_core.InputSignal<IusFooterStatusTone>;
12596
+ /** Ligadura Material Symbols; `false` oculta el ícono; omitir = default por tono. */
12597
+ readonly icon: _angular_core.InputSignal<string | false | undefined>;
12598
+ /** Texto antes de la cifra («Ocupa», «El lote supera el cupo:»). */
12599
+ readonly label: _angular_core.InputSignal<string | undefined>;
12600
+ /** Cifra principal; un `number` se formatea en es-CO (`1.234`). */
12601
+ readonly value: _angular_core.InputSignal<string | number | null | undefined>;
12602
+ /** Cifra de referencia: `value <separator> total`. */
12603
+ readonly total: _angular_core.InputSignal<string | number | null | undefined>;
12604
+ /** Conector entre cifras; `''` las deja adyacentes. */
12605
+ readonly separator: _angular_core.InputSignal<string>;
12606
+ /** Texto después de la cifra («cupos disponibles»). */
12607
+ readonly unit: _angular_core.InputSignal<string | undefined>;
12608
+ /** Barra horizontal bajo el texto. */
12609
+ readonly meter: _angular_core.InputSignalWithTransform<boolean, unknown>;
12610
+ /** Varios valores en la barra, sobre `total`. Requiere `meter`. */
12611
+ readonly segments: _angular_core.InputSignal<IusLinearProgressSegment[] | undefined>;
12612
+ /** Leyenda (punto + etiqueta + valor) de la barra segmentada. */
12613
+ readonly meterLegend: _angular_core.InputSignalWithTransform<boolean, unknown>;
12614
+ /** La condición impide confirmar: `role="alert"` + texto tonal. */
12615
+ readonly blocking: _angular_core.InputSignalWithTransform<boolean, unknown>;
12616
+ readonly size: _angular_core.InputSignal<IusFooterStatusSize>;
12617
+ private readonly actionRef;
12618
+ protected readonly hasAction: _angular_core.Signal<boolean>;
12619
+ protected readonly glyph: _angular_core.Signal<string | null>;
12620
+ protected readonly hasValue: _angular_core.Signal<boolean>;
12621
+ protected readonly showTotal: _angular_core.Signal<boolean>;
12622
+ protected readonly before: _angular_core.Signal<string>;
12623
+ protected readonly valueText: _angular_core.Signal<string>;
12624
+ protected readonly connector: _angular_core.Signal<string>;
12625
+ protected readonly totalText: _angular_core.Signal<string>;
12626
+ protected readonly after: _angular_core.Signal<string>;
12627
+ private readonly hasSegments;
12628
+ protected readonly showMeter: _angular_core.Signal<boolean>;
12629
+ /** `max` de la barra: el `total`, o el default de LinearProgressBar si no es numérico. */
12630
+ protected readonly meterMax: _angular_core.Signal<number>;
12631
+ protected readonly meterValue: _angular_core.Signal<number>;
12632
+ /** La barra simple no admite gris: en `neutral` se rinde como segmento único. */
12633
+ protected readonly meterSegments: _angular_core.Signal<IusLinearProgressSegment[] | undefined>;
12634
+ protected readonly meterTone: _angular_core.Signal<IusLinearProgressTone>;
12635
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FooterStatusComponent, never>;
12636
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FooterStatusComponent, "ius-footer-status", never, { "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "meter": { "alias": "meter"; "required": false; "isSignal": true; }; "segments": { "alias": "segments"; "required": false; "isSignal": true; }; "meterLegend": { "alias": "meterLegend"; "required": false; "isSignal": true; }; "blocking": { "alias": "blocking"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, ["actionRef"], ["[iusFooterStatusAction]"], true, never>;
12637
+ }
12638
+
12639
+ type KanbanMenuRow = {
12640
+ sep: true;
12641
+ key: string;
12642
+ } | {
12643
+ sep: false;
12644
+ key: string | number;
12645
+ action: IusKanbanCardAction;
12646
+ };
12647
+
12648
+ /** Color del módulo / de la insignia: 6 semánticos + 6 frutas categóricas. */
12649
+ type IusKanbanTone = 'primary' | 'info' | 'success' | 'warning' | 'danger' | 'neutral' | 'durazno' | 'banano' | 'sandia' | 'arandano' | 'uva' | 'aguacate';
12650
+ /** Tono de una línea del cuerpo (texto + ícono prefijo). */
12651
+ type IusKanbanLineTone = 'neutral' | 'muted' | 'info' | 'success' | 'warning' | 'danger' | 'primary';
12652
+ type IusKanbanCardLayout = 'stacked' | 'row';
12653
+ /** Solo demos: fuerza un estado visual primario. */
12654
+ type IusKanbanCardState = 'hover' | 'focused';
12655
+ type IusKanbanId = string | number;
12656
+ /** Acción secundaria del menú ⋮ (también la usa KanbanColumn). */
12657
+ interface IusKanbanCardAction {
12658
+ key?: string | number;
12659
+ icon?: string;
12660
+ label?: string;
12661
+ onClick?: (event: MouseEvent) => void;
12662
+ /** Agrupa el menú con divisores. */
12663
+ group?: string;
12664
+ /** Acción destructiva (rojo). */
12665
+ danger?: boolean;
12666
+ }
12667
+ /** Insignia superior derecha (prioridad/novedad). Solo indicador. */
12668
+ interface IusKanbanCardFlag {
12669
+ /** Default `dot`. */
12670
+ variant?: IusInsigniaVariant;
12671
+ /** Default `warning`. */
12672
+ tone?: IusKanbanTone;
12673
+ /** Default `small`. */
12674
+ size?: IusInsigniaSize;
12675
+ count?: number | string;
12676
+ ring?: boolean;
12677
+ label?: string;
12678
+ ariaLabel?: string;
12679
+ }
12680
+ /** Texto de una línea: string/número o `TemplateRef` (equivalente del nodo React). */
12681
+ type IusKanbanCardText = string | number | TemplateRef<unknown>;
12682
+ interface IusKanbanCardLineObject {
12683
+ text?: IusKanbanCardText;
12684
+ /** Ícono Material Symbols como **prefijo** (a la izquierda de la línea). */
12685
+ icon?: string;
12686
+ /** Color del texto + ícono. */
12687
+ tone?: IusKanbanLineTone;
12688
+ }
12689
+ /** Una línea: texto simple, `TemplateRef` u objeto `{text, icon, tone}`. */
12690
+ type IusKanbanCardLine = IusKanbanCardText | IusKanbanCardLineObject;
12691
+ /** Config de `ius-tag` para la fila de tags (size `small` por defecto). */
12692
+ interface IusKanbanCardTagConfig {
12693
+ label?: string;
12694
+ tone?: IusTagTone;
12695
+ variant?: IusTagVariant;
12696
+ size?: IusTagSize;
12697
+ shape?: IusTagShape;
12698
+ role?: IusTagRole;
12699
+ icon?: string;
12700
+ dot?: boolean;
12701
+ count?: number | string;
12702
+ }
12703
+ /** Un tag: string, config de Tag o `TemplateRef`. */
12704
+ type IusKanbanCardTag = string | IusKanbanCardTagConfig | TemplateRef<unknown>;
12705
+ /** Responsable: chip Avatar + nombre en el pie (junto al caption). */
12706
+ interface IusKanbanCardAssignee {
12707
+ name?: string;
12708
+ src?: string;
12709
+ avatar?: string;
12710
+ monogram?: string;
12711
+ icon?: string;
12712
+ color?: IusAvatarColor;
12713
+ }
12714
+ type LineKind = 'overline' | 'title' | 'subtitle' | 'paragraph' | 'caption';
12715
+ interface ResolvedLine extends IusKanbanCardLineObject {
12716
+ kind: LineKind;
12717
+ textTpl: TemplateRef<unknown> | null;
12718
+ }
12719
+ interface ResolvedTag {
12720
+ tpl: TemplateRef<unknown> | null;
12721
+ cfg: IusKanbanCardTagConfig;
12722
+ }
12723
+ /** Slot al inicio proyectado (Avatar, ícono de tipo, Checkbox…). */
12724
+ declare class IusKanbanCardLeadingDirective {
12725
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusKanbanCardLeadingDirective, never>;
12726
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusKanbanCardLeadingDirective, "[iusKanbanCardLeading]", never, {}, {}, never, never, true, never>;
12727
+ }
12728
+ /** Slot al final proyectado (Switch «obligatorio», control…). */
12729
+ declare class IusKanbanCardTrailingDirective {
12730
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusKanbanCardTrailingDirective, never>;
12731
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusKanbanCardTrailingDirective, "[iusKanbanCardTrailing]", never, {}, {}, never, never, true, never>;
12732
+ }
12733
+ /** Contenido libre proyectado: reemplaza el cuerpo de líneas (`children` del golden). */
12734
+ declare class IusKanbanCardBodyDirective {
12735
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusKanbanCardBodyDirective, never>;
12736
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusKanbanCardBodyDirective, "[iusKanbanCardBody]", never, {}, {}, never, never, true, never>;
12737
+ }
12738
+ /**
12739
+ * KanbanCard — Ius Design v2 (familia kanban).
12740
+ *
12741
+ * Ítem arrastrable **presentacional**: el arrastre lo cablea KanbanBoard
12742
+ * (`cdkDrag` en el contenedor; el grip es `cdkDragHandle`). Cuerpo flexible de
12743
+ * líneas `overline·title·subtitle·paragraph·tags·caption`, cada una string,
12744
+ * `TemplateRef` o `{text, icon, tone}`. `layout="row"` + `handle` = fila
12745
+ * reordenable de un constructor.
12746
+ *
12747
+ * Slots `leading`/`trailing`/cuerpo libre: por proyección
12748
+ * (`[iusKanbanCardLeading]`…) o por `TemplateRef` (lo que usa el board desde los
12749
+ * ítems), con `templateContext` como contexto.
12750
+ *
12751
+ * Host = la tarjeta; `cardRef` expone la raíz (el forwardRef que el golden no
12752
+ * tiene). `clicked` no dispara tras un arrastre. Para tarjetas estáticas que
12753
+ * navegan a detalle → ListCard.
12754
+ * Fuente de verdad: `KanbanCard.jsx` + `KanbanCard.d.ts` + `KanbanCard.ng-spec.md`.
12755
+ */
12756
+ declare class KanbanCardComponent {
12757
+ /** Raíz de la tarjeta (equivalente del `cardRef` del golden). */
12758
+ readonly cardRef: ElementRef<HTMLElement>;
12759
+ /** Línea superior tipo eyebrow (categoría, código…). */
12760
+ readonly overline: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12761
+ /** Título / nombre. */
12762
+ readonly title: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12763
+ /** Subtítulo corto (origen del lead, tipo de campo…). */
12764
+ readonly subtitle: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12765
+ /** Párrafo / cuerpo largo (hasta 3 líneas). */
12766
+ readonly paragraph: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12767
+ /** Pie fechado, normalmente con tono (umbral de inactividad). */
12768
+ readonly caption: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12769
+ /** Fila de Tags bajo el cuerpo. */
12770
+ readonly tags: _angular_core.InputSignal<readonly IusKanbanCardTag[] | undefined>;
12771
+ /** Responsable: config (Avatar + nombre) o `TemplateRef`. */
12772
+ readonly assignee: _angular_core.InputSignal<TemplateRef<unknown> | IusKanbanCardAssignee | undefined>;
12773
+ /** Insignia superior derecha (prioridad/novedad). */
12774
+ readonly flag: _angular_core.InputSignal<IusKanbanCardFlag | undefined>;
12775
+ /** Slot al inicio por `TemplateRef` (alternativa a `[iusKanbanCardLeading]`). */
12776
+ readonly leading: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
12777
+ /** Slot al final por `TemplateRef` (alternativa a `[iusKanbanCardTrailing]`). */
12778
+ readonly trailing: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
12779
+ /** Cuerpo libre por `TemplateRef` (alternativa a `[iusKanbanCardBody]`). */
12780
+ readonly content: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
12781
+ /** Contexto con el que se estampan `leading`/`trailing`/`content`. */
12782
+ readonly templateContext: _angular_core.InputSignal<unknown>;
12783
+ /** `stacked` (tarjeta vertical) · `row` (fila horizontal compacta). */
12784
+ readonly layout: _angular_core.InputSignal<IusKanbanCardLayout>;
12785
+ /** Grip `drag_indicator`: el arrastre nace del grip, no de toda la card. */
12786
+ readonly handle: _angular_core.InputSignalWithTransform<boolean, unknown>;
12787
+ /** Color del módulo para el anillo de selección. */
12788
+ readonly accent: _angular_core.InputSignal<IusKanbanTone>;
12789
+ /** Seleccionada: anillo accent. */
12790
+ readonly selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
12791
+ /** Origen del arrastre: atenuada. */
12792
+ readonly dragging: _angular_core.InputSignalWithTransform<boolean, unknown>;
12793
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
12794
+ /** Solo demos: fuerza `hover` · `focused`. */
12795
+ readonly state: _angular_core.InputSignal<IusKanbanCardState | undefined>;
12796
+ /** Acciones secundarias → menú ⋮ en Popover. */
12797
+ readonly actions: _angular_core.InputSignal<readonly IusKanbanCardAction[] | undefined>;
12798
+ /** La marca arrastrable el orquestador (cursor grab y grip activo). */
12799
+ readonly draggable: _angular_core.InputSignalWithTransform<boolean, unknown>;
12800
+ /** Id del ítem (se refleja en `data-item-id`). */
12801
+ readonly itemId: _angular_core.InputSignal<IusKanbanId | undefined>;
12802
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
12803
+ /**
12804
+ * Fuerza si la card es interactiva. Por defecto lo es cuando `(clicked)` está
12805
+ * enlazado (el `onClick` del golden); el board lo fija según `multiSelect`.
12806
+ */
12807
+ readonly clickable: _angular_core.InputSignal<boolean | undefined>;
12808
+ /** Clic en la card (abrir detalle). No dispara tras arrastrar. */
12809
+ readonly clicked: EventEmitter<MouseEvent | KeyboardEvent>;
12810
+ private readonly leadingRef;
12811
+ private readonly trailingRef;
12812
+ private readonly bodyRef;
12813
+ protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
12814
+ private didDrag;
12815
+ protected readonly hasLeading: _angular_core.Signal<boolean>;
12816
+ protected readonly hasTrailing: _angular_core.Signal<boolean>;
12817
+ protected readonly hasCustomBody: _angular_core.Signal<boolean>;
12818
+ protected readonly lines: _angular_core.Signal<ResolvedLine[]>;
12819
+ protected readonly captionLine: _angular_core.Signal<ResolvedLine | null>;
12820
+ protected readonly resolvedTags: _angular_core.Signal<ResolvedTag[]>;
12821
+ protected readonly assigneeTpl: _angular_core.Signal<TemplateRef<unknown> | null>;
12822
+ protected readonly assigneeCfg: _angular_core.Signal<IusKanbanCardAssignee | null>;
12823
+ protected readonly menuRows: _angular_core.Signal<KanbanMenuRow[]>;
12824
+ protected readonly hasActions: _angular_core.Signal<boolean>;
12825
+ protected readonly hasCorner: _angular_core.Signal<boolean>;
12826
+ protected get isClickable(): boolean;
12827
+ constructor();
12828
+ protected flagAriaLabel(flag: IusKanbanCardFlag): string | undefined;
12829
+ /** El Popover solo abre por clic: Enter/Espacio sobre el ⋮ hacen lo mismo. */
12830
+ protected toggleMenu(event: Event): void;
12831
+ protected onAction(action: IusKanbanCardAction, event: MouseEvent): void;
12832
+ protected onClick(event: MouseEvent): void;
12833
+ protected onKeydown(event: KeyboardEvent): void;
12834
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KanbanCardComponent, never>;
12835
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KanbanCardComponent, "ius-kanban-card", never, { "overline": { "alias": "overline"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "paragraph": { "alias": "paragraph"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "tags": { "alias": "tags"; "required": false; "isSignal": true; }; "assignee": { "alias": "assignee"; "required": false; "isSignal": true; }; "flag": { "alias": "flag"; "required": false; "isSignal": true; }; "leading": { "alias": "leading"; "required": false; "isSignal": true; }; "trailing": { "alias": "trailing"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "templateContext": { "alias": "templateContext"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "handle": { "alias": "handle"; "required": false; "isSignal": true; }; "accent": { "alias": "accent"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "dragging": { "alias": "dragging"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "itemId": { "alias": "itemId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, ["leadingRef", "trailingRef", "bodyRef"], ["[iusKanbanCardLeading]", "[iusKanbanCardBody]", "[iusKanbanCardTrailing]"], true, never>;
12836
+ }
12837
+
12838
+ /**
12839
+ * KanbanColumn — Ius Design v2 (familia kanban).
12840
+ *
12841
+ * Silo de un board: cabecera (punto + título + contador + ⋮) sobre la lista
12842
+ * vertical de KanbanCards (proyectadas), estado vacío (EmptyState compact) y
12843
+ * pie «Agregar». `bare` = lista contenedora sin cromo que crece con su contenido
12844
+ * y no corta la rueda (el scroll lo pone el ancestro). `collapsible` la pliega a
12845
+ * una franja de 44px que sigue siendo destino de arrastre.
12846
+ *
12847
+ * **Presentacional**: el arrastre lo cablea KanbanBoard con CDK drag-drop
12848
+ * (`cdkDropList` sobre el host con `.ius-kbcol__body`/`.ius-kbcol__strip` como
12849
+ * contenedor y `cdkDrag` para el reorden de columnas; la cabecera y la franja
12850
+ * son su `cdkDragHandle`). `bodyRef` expone el cuerpo desplazable.
12851
+ * Fuente de verdad: `KanbanColumn.jsx` + `KanbanColumn.d.ts` + `KanbanColumn.ng-spec.md`.
12852
+ */
12853
+ declare class KanbanColumnComponent {
12854
+ /** Título de la etapa. */
12855
+ readonly title: _angular_core.InputSignal<string | undefined>;
12856
+ /** Color del punto de cabecera y del contador. */
12857
+ readonly tone: _angular_core.InputSignal<IusKanbanTone>;
12858
+ /** Contador (píldora). Suele ser el nº de tarjetas. */
12859
+ readonly count: _angular_core.InputSignal<number | undefined>;
12860
+ /** Color del módulo para el resaltado de drop y el placeholder. */
12861
+ readonly accent: _angular_core.InputSignal<IusKanbanTone>;
12862
+ /** Acciones de columna → menú ⋮. */
12863
+ readonly actions: _angular_core.InputSignal<readonly IusKanbanCardAction[] | undefined>;
12864
+ readonly addLabel: _angular_core.InputSignalWithTransform<string, string | undefined>;
12865
+ /**
12866
+ * Muestra el pie «Agregar». Por defecto aparece cuando `(addItem)` está
12867
+ * enlazado (el `onAddItem` del golden); el board lo fija explícito.
12868
+ */
12869
+ readonly addable: _angular_core.InputSignal<boolean | undefined>;
12870
+ /** Sin tarjetas: estado vacío (EmptyState compact). */
12871
+ readonly empty: _angular_core.InputSignalWithTransform<boolean, unknown>;
12872
+ readonly emptyLabel: _angular_core.InputSignalWithTransform<string, string | undefined>;
12873
+ readonly emptyIcon: _angular_core.InputSignalWithTransform<string, string | undefined>;
12874
+ /** Sin cabecera/fondo: lista contenedora, sin scroll propio. */
12875
+ readonly bare: _angular_core.InputSignalWithTransform<boolean, unknown>;
12876
+ /** Ancho fijo (px). Ignorado en `bare`. */
12877
+ readonly width: _angular_core.InputSignalWithTransform<number, unknown>;
12878
+ /** Botón de plegar en la cabecera. Ignorado en `bare`. */
12879
+ readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
12880
+ /** Plegada (controlado). */
12881
+ readonly collapsed: _angular_core.InputSignal<boolean | undefined>;
12882
+ /** Plegada al montar (no controlado). */
12883
+ readonly defaultCollapsed: _angular_core.InputSignalWithTransform<boolean, unknown>;
12884
+ /** Cabecera arrastrable (reorden de columnas). */
12885
+ readonly draggable: _angular_core.InputSignalWithTransform<boolean, unknown>;
12886
+ /** Esta columna se está arrastrando. */
12887
+ readonly dragging: _angular_core.InputSignalWithTransform<boolean, unknown>;
12888
+ /** Destino de drop actual (resaltado). */
12889
+ readonly over: _angular_core.InputSignalWithTransform<boolean, unknown>;
12890
+ /** Botón «Agregar» del pie. */
12891
+ readonly addItem: EventEmitter<MouseEvent>;
12892
+ /** Se pidió plegar (`true`) o desplegar (`false`). */
12893
+ readonly collapsedChange: EventEmitter<boolean>;
12894
+ /** Cuerpo desplazable (el `bodyRef` del golden). */
12895
+ readonly bodyRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
12896
+ private readonly innerCollapsed;
12897
+ protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
12898
+ protected readonly isCollapsed: _angular_core.Signal<boolean>;
12899
+ protected readonly hostWidth: _angular_core.Signal<string>;
12900
+ protected readonly countTone: _angular_core.Signal<IusKanbanTone>;
12901
+ protected readonly emptyTone: _angular_core.Signal<IusEmptyStateTone | undefined>;
12902
+ protected readonly menuRows: _angular_core.Signal<KanbanMenuRow[]>;
12903
+ protected readonly hasActions: _angular_core.Signal<boolean>;
12904
+ protected get showAdd(): boolean;
12905
+ protected setCollapsed(value: boolean, event: MouseEvent): void;
12906
+ protected onAction(action: IusKanbanCardAction, event: MouseEvent): void;
12907
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KanbanColumnComponent, never>;
12908
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KanbanColumnComponent, "ius-kanban-column", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "accent": { "alias": "accent"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "addLabel": { "alias": "addLabel"; "required": false; "isSignal": true; }; "addable": { "alias": "addable"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "bare": { "alias": "bare"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "defaultCollapsed": { "alias": "defaultCollapsed"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "dragging": { "alias": "dragging"; "required": false; "isSignal": true; }; "over": { "alias": "over"; "required": false; "isSignal": true; }; }, { "addItem": "addItem"; "collapsedChange": "collapsedChange"; }, never, ["*"], true, never>;
12909
+ }
12910
+
12911
+ type IusKanbanBoardVariant = 'board' | 'list';
12912
+ interface IusKanbanBoardColumn {
12913
+ /** Id único de la columna/etapa. */
12914
+ id: string;
12915
+ title?: string;
12916
+ /** Color del punto + contador de la cabecera. */
12917
+ tone?: IusKanbanTone;
12918
+ /** Acento propio (anula el del board para esta columna). */
12919
+ accent?: IusKanbanTone;
12920
+ /** Contador explícito (por defecto = nº de tarjetas). */
12921
+ count?: number;
12922
+ /** Acciones de columna → menú ⋮. */
12923
+ actions?: IusKanbanCardAction[];
12924
+ /** Ancho propio (px). */
12925
+ width?: number;
12926
+ addLabel?: string;
12927
+ emptyLabel?: string;
12928
+ /** Columna sin cromo (lista contenedora). */
12929
+ bare?: boolean;
12930
+ /** Plegable a franja; plegada sigue siendo destino de drop (la tarjeta va al final). */
12931
+ collapsible?: boolean;
12932
+ /** Plegada (controlado; usar con `(columnCollapse)`). */
12933
+ collapsed?: boolean;
12934
+ /** Plegada al montar (no controlado). */
12935
+ defaultCollapsed?: boolean;
12936
+ }
12937
+ /** Contexto de `leading`/`trailing`/`content` de un ítem: `let-item`. */
12938
+ interface IusKanbanItemContext {
12939
+ $implicit: IusKanbanBoardItem;
12940
+ }
12941
+ /** Ítem: `id` (+ `columnId` en board) y las props de KanbanCard. */
12942
+ interface IusKanbanBoardItem {
12943
+ id: IusKanbanId;
12944
+ /** Columna a la que pertenece (ignorado en `list`). */
12945
+ columnId?: string;
12946
+ overline?: IusKanbanCardLine;
12947
+ title?: IusKanbanCardLine;
12948
+ subtitle?: IusKanbanCardLine;
12949
+ paragraph?: IusKanbanCardLine;
12950
+ caption?: IusKanbanCardLine;
12951
+ tags?: IusKanbanCardTag[];
12952
+ assignee?: IusKanbanCardAssignee | TemplateRef<unknown>;
12953
+ flag?: IusKanbanCardFlag;
12954
+ leading?: TemplateRef<IusKanbanItemContext>;
12955
+ trailing?: TemplateRef<IusKanbanItemContext>;
12956
+ /** Cuerpo libre (el `children` del golden). */
12957
+ content?: TemplateRef<IusKanbanItemContext>;
12958
+ actions?: IusKanbanCardAction[];
12959
+ ariaLabel?: string;
12960
+ layout?: IusKanbanCardLayout;
12961
+ handle?: boolean;
12962
+ disabled?: boolean;
12963
+ selected?: boolean;
12964
+ /** Clic propio del ítem (gana sobre `(itemClick)`). */
12965
+ onClick?: (event: MouseEvent | KeyboardEvent) => void;
12966
+ }
12967
+ interface IusKanbanItemMoveInfo {
12968
+ /** Columna de origen (undefined en `list`). */
12969
+ from?: string;
12970
+ /** Columna destino (undefined en `list`). */
12971
+ to?: string;
12972
+ /** Índice final dentro de la columna destino (-1 = al final, «Mover todas a…»). */
12973
+ index: number;
12974
+ }
12975
+ interface IusKanbanItemMoveEvent {
12976
+ itemId: IusKanbanId;
12977
+ info: IusKanbanItemMoveInfo;
12978
+ }
12979
+ interface IusKanbanItemsMoveEvent {
12980
+ itemIds: IusKanbanId[];
12981
+ info: IusKanbanItemMoveInfo;
12982
+ }
12983
+ /** Lo que el golden esparce como `dragProps` en `renderCard`. */
12984
+ interface IusKanbanCardDragProps {
12985
+ draggable: boolean;
12986
+ dragging: boolean;
12987
+ itemId: IusKanbanId;
12988
+ accent: IusKanbanTone;
12989
+ layout: IusKanbanCardLayout;
12990
+ handle: boolean;
12991
+ }
12992
+ /** Contexto de `renderCard`: `let-item let-drag="drag"`. */
12993
+ interface IusKanbanRenderCardContext {
12994
+ $implicit: IusKanbanBoardItem;
12995
+ drag: IusKanbanCardDragProps;
12996
+ }
12997
+ /**
12998
+ * KanbanBoard — Ius Design v2 (familia kanban). **Orquestador de drag-and-drop.**
12999
+ *
13000
+ * `variant="board"`: columnas (pipeline) — mover tarjetas entre/dentro de etapas
13001
+ * y reordenar columnas por la cabecera. `variant="list"`: sortable vertical de
13002
+ * una sola lista sin cromo (campos de plantilla, checklist); crece con su
13003
+ * contenido y deja pasar la rueda al ancestro (`ius-scroll-area`).
13004
+ *
13005
+ * DnD con `@angular/cdk/drag-drop`: `cdkDropList` por columna (conectadas por
13006
+ * `cdkDropListGroup`), `cdkDrag` por tarjeta y lista horizontal de columnas; el
13007
+ * índice sale del CDK. Estado de orden **no controlado** (resincroniza si
13008
+ * `items`/`columns` cambian por referencia) y avisa por outputs. Multi-selección
13009
+ * Cmd/Ctrl-click (arrastrar una seleccionada mueve la pila), «Mover todas a…»
13010
+ * en el ⋮ y columnas plegables.
13011
+ * Fuente de verdad: `KanbanBoard.jsx` + `KanbanBoard.d.ts` + `KanbanBoard.ng-spec.md`.
13012
+ */
13013
+ declare class KanbanBoardComponent {
13014
+ private readonly injector;
13015
+ /** Columnas/etapas (board). En `list` solo se toma la primera como config. */
13016
+ readonly columns: _angular_core.InputSignal<readonly IusKanbanBoardColumn[]>;
13017
+ /** Ítems; cada uno con `id` y, en board, `columnId`. */
13018
+ readonly items: _angular_core.InputSignal<readonly IusKanbanBoardItem[]>;
13019
+ /** Color del módulo (anillos de selección/drop). */
13020
+ readonly accent: _angular_core.InputSignal<IusKanbanTone>;
13021
+ readonly variant: _angular_core.InputSignal<IusKanbanBoardVariant>;
13022
+ /** Permite arrastrar tarjetas. */
13023
+ readonly sortable: _angular_core.InputSignalWithTransform<boolean, unknown>;
13024
+ /** Reordenar columnas arrastrando su cabecera (solo board). */
13025
+ readonly reorderColumns: _angular_core.InputSignalWithTransform<boolean, unknown>;
13026
+ /** Default `stacked` (board) / `row` (list). */
13027
+ readonly cardLayout: _angular_core.InputSignal<IusKanbanCardLayout | undefined>;
13028
+ /** Default false (board) / true (list). */
13029
+ readonly cardHandle: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
13030
+ /**
13031
+ * Render custom de cada tarjeta. Contexto `let-item let-drag="drag"`: aplicar
13032
+ * `drag.draggable/dragging/handle/itemId/accent/layout` al `ius-kanban-card`.
13033
+ */
13034
+ readonly renderCard: _angular_core.InputSignal<TemplateRef<IusKanbanRenderCardContext> | undefined>;
13035
+ /** Ancho por defecto de columna (px). */
13036
+ readonly columnWidth: _angular_core.InputSignalWithTransform<number, unknown>;
13037
+ /** Id de la tarjeta seleccionada (anillo accent). */
13038
+ readonly selectedItemId: _angular_core.InputSignal<IusKanbanId | undefined>;
13039
+ /** Cmd/Ctrl-click selecciona varias; arrastrar una seleccionada mueve la pila. */
13040
+ readonly multiSelect: _angular_core.InputSignalWithTransform<boolean, unknown>;
13041
+ /** Inyecta «Mover todas a …» en el ⋮ de cada columna con tarjetas. */
13042
+ readonly bulkMove: _angular_core.InputSignalWithTransform<boolean, unknown>;
13043
+ readonly addColumnLabel: _angular_core.InputSignal<string>;
13044
+ /** Tarjeta movida. */
13045
+ readonly itemMove: EventEmitter<IusKanbanItemMoveEvent>;
13046
+ /** Pila movida (multi-selección o «Mover todas a…»). Si no se enlaza, el bulk emite `itemMove` por id. */
13047
+ readonly itemsMove: EventEmitter<IusKanbanItemsMoveEvent>;
13048
+ /** Clic en una tarjeta (abrir detalle/Drawer). */
13049
+ readonly itemClick: EventEmitter<IusKanbanBoardItem>;
13050
+ /** Cambió la multi-selección. */
13051
+ readonly selectionChange: EventEmitter<IusKanbanId[]>;
13052
+ /** Se pidió plegar/desplegar una columna `collapsible`. */
13053
+ readonly columnCollapse: EventEmitter<{
13054
+ columnId: string;
13055
+ collapsed: boolean;
13056
+ }>;
13057
+ /** Columna reordenada (al soltar). */
13058
+ readonly columnMove: EventEmitter<{
13059
+ columnId: string;
13060
+ index: number;
13061
+ }>;
13062
+ /** Botón «Agregar» al pie de cada columna (undefined en `list`). */
13063
+ readonly addItem: EventEmitter<string | undefined>;
13064
+ /** Botón para crear columna al final del board. */
13065
+ readonly addColumn: EventEmitter<MouseEvent>;
13066
+ protected readonly isList: _angular_core.Signal<boolean>;
13067
+ protected readonly effLayout: _angular_core.Signal<IusKanbanCardLayout>;
13068
+ protected readonly effHandle: _angular_core.Signal<boolean>;
13069
+ protected readonly cols: _angular_core.WritableSignal<IusKanbanBoardColumn[]>;
13070
+ private readonly data;
13071
+ private readonly collapsedMap;
13072
+ private readonly sel;
13073
+ /** Ids que viajan en el arrastre en curso (la pila si hay multi-selección). */
13074
+ private readonly dragIds;
13075
+ protected readonly overCol: _angular_core.WritableSignal<string | null>;
13076
+ /** Alto de la tarjeta tomada: el placeholder lo copia (el golden lo estima de una card). */
13077
+ protected readonly phHeight: _angular_core.WritableSignal<number | null>;
13078
+ private readonly dragInjectors;
13079
+ protected readonly columnActions: _angular_core.Signal<Map<string, IusKanbanCardAction[]>>;
13080
+ protected orderOf(colId: string): IusKanbanId[];
13081
+ protected itemOf(id: IusKanbanId): IusKanbanBoardItem | undefined;
13082
+ protected countOf(col: IusKanbanBoardColumn): number | undefined;
13083
+ protected isColCollapsed(col: IusKanbanBoardColumn): boolean;
13084
+ /** Vacía = sin tarjetas y sin un arrastre encima (el golden pinta ahí el placeholder). */
13085
+ protected isEmpty(col: IusKanbanBoardColumn): boolean;
13086
+ protected isInteractive(item: IusKanbanBoardItem): boolean;
13087
+ protected isSelected(item: IusKanbanBoardItem): boolean;
13088
+ protected isDragging(id: IusKanbanId): boolean;
13089
+ protected itemContext(item: IusKanbanBoardItem): IusKanbanItemContext;
13090
+ protected renderContext(item: IusKanbanBoardItem): IusKanbanRenderCardContext;
13091
+ /**
13092
+ * Injector del `renderCard`: el template del consumidor se declara fuera del
13093
+ * board, así que la card que pinta solo ve su `cdkDrag` (grip y supresión de
13094
+ * clic tras arrastrar) si se le inyecta aquí.
13095
+ */
13096
+ protected dragInjector(drag: CdkDrag): Injector;
13097
+ protected onCardClick(item: IusKanbanBoardItem, event: MouseEvent | KeyboardEvent): void;
13098
+ private clearSelection;
13099
+ /** Selección en orden del tablero, incluyendo el ancla arrastrada. */
13100
+ private orderedSelection;
13101
+ protected measure(event: Event): void;
13102
+ protected onDragStarted(event: CdkDragStart<IusKanbanId>, colId: string): void;
13103
+ protected onListExited(colId: string): void;
13104
+ protected onItemDrop(event: CdkDragDrop<string, string, IusKanbanId>): void;
13105
+ /**
13106
+ * Índice de inserción de la pila entre las tarjetas que NO viajan: se aplica el
13107
+ * movimiento del ancla que reporta el CDK y se cuentan las ajenas que quedan
13108
+ * antes. En una columna plegada va al final.
13109
+ */
13110
+ private dropIndex;
13111
+ /** Mueve 1..n ids a `to` en `index`, contiguos y en su orden relativo. */
13112
+ private performMoveIds;
13113
+ /** «Mover todas a …» del menú ⋮ de columna. */
13114
+ private moveAll;
13115
+ protected onColumnDrop(event: CdkDragDrop<unknown, unknown, string>): void;
13116
+ protected toggleCollapse(col: IusKanbanBoardColumn, collapsed: boolean): void;
13117
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KanbanBoardComponent, never>;
13118
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KanbanBoardComponent, "ius-kanban-board", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "accent": { "alias": "accent"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "reorderColumns": { "alias": "reorderColumns"; "required": false; "isSignal": true; }; "cardLayout": { "alias": "cardLayout"; "required": false; "isSignal": true; }; "cardHandle": { "alias": "cardHandle"; "required": false; "isSignal": true; }; "renderCard": { "alias": "renderCard"; "required": false; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; "selectedItemId": { "alias": "selectedItemId"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "bulkMove": { "alias": "bulkMove"; "required": false; "isSignal": true; }; "addColumnLabel": { "alias": "addColumnLabel"; "required": false; "isSignal": true; }; }, { "itemMove": "itemMove"; "itemsMove": "itemsMove"; "itemClick": "itemClick"; "selectionChange": "selectionChange"; "columnCollapse": "columnCollapse"; "columnMove": "columnMove"; "addItem": "addItem"; "addColumn": "addColumn"; }, never, never, true, never>;
13119
+ }
13120
+
13121
+ export { ACTUACION_CATALOG, ACTUACION_FUENTES, AccordionComponent, AccountItemComponent, AlertComponent, AnswerFeedbackComponent, AppLayoutComponent, AutocompleteComponent, AvatarComponent, AvatarStackComponent, BarChartComponent, BorderBeamComponent, BreadcrumbComponent, ButtonComponent, CATEGORIES, CATEGORY_DEF, CATEGORY_HUE, CHART_CATEGORICAL_TONES, CHART_SEMANTIC_TONES, CHART_TONES, CLASE_DEF, CalendarComponent, CaptchaFieldComponent, CardComponent, CarouselComponent, CheckboxComponent, ChipComponent, CircularProgressComponent, CodeFieldComponent, CountdownComponent, CountdownRingComponent, DateFilterComponent, DatePickerComponent, DescriptionListComponent, DetailSidePanelComponent, DividerComponent, DocumentViewerComponent, DonutChartComponent, DrawerComponent, DropdownComponent, EVENT_KINDS, EVENT_KIND_ICON, EXT_KIND, EleniaBubbleComponent, EleniaOrbComponent, EmptyStateComponent, EntityNavigatorComponent, EntityRowComponent, EventPillComponent, FUENTES, FUENTE_DEF, FUENTE_FALLBACK, FileItemComponent, FileTypeIconComponent, FileUploadComponent, FlexComponent, FooterStatusComponent, FormComponent, FormFieldComponent, FormSectionComponent, HeaderBarComponent, ILLUSTRATIONS, ILLUSTRATION_ALIAS, ILLUSTRATION_NAMES, IUS_DOCUMENT_VIEWER_ZOOM_STEPS, IUS_FILTER_OPERATORS, IUS_TOAST_DEFAULT_DURATION, IUS_TOAST_DEFAULT_ICON, IconButtonComponent, IllustrationComponent, InsightComponent, InsigniaComponent, IusAccountItemNameDirective, IusAccountItemSubtitleDirective, IusAccountItemTrailingDirective, IusAlertActionsDirective, IusAlertTrailingDirective, IusCalendarAsideDirective, IusCalendarFooterDirective, IusCardFooterDirective, IusCardHeaderDirective, IusDocViewerActionsDirective, IusDocViewerAsideDirective, IusDocViewerBodyDirective, IusDrawerFooterDirective, IusDrawerHeaderActionsDirective, IusDrawerTitleDirective, IusDropdownTriggerDirective, IusEntityRowLabelDirective, IusEntityRowSublabelDirective, IusFooterStatusActionDirective, IusFormFooterDirective, IusInsightActionsDirective, IusKanbanCardBodyDirective, IusKanbanCardLeadingDirective, IusKanbanCardTrailingDirective, IusListCardLeadingDirective, IusListCardOverlineDirective, IusListCardParagraphDirective, IusListCardSubtitleDirective, IusListCardTitleDirective, IusListViewFiltersDirective, IusListViewFooterEndDirective, IusListViewFooterStartDirective, IusListViewHeaderEndDirective, IusListViewHeaderStartDirective, IusListViewToolbarDirective, IusMenuItemTrailingDirective, IusModalFooterDirective, IusPageHeaderActionsDirective, IusPageHeaderBreadcrumbDirective, IusPageHeaderOverlineDirective, IusPageHeaderSubtitleDirective, IusPageHeaderTitleDirective, IusPageHeaderToolbarDirective, IusPersonItemNameDirective, IusPersonItemTrailingDirective, IusSectionTitleActionDirective, IusSettingsNavFooterDirective, IusSettingsNavHeaderDirective, IusStageDetailFooterDirective, IusStageDetailHeaderActionsDirective, IusStageDetailMetaDirective, IusStatCaptionDirective, IusStatDeltaDirective, IusStatDeltaLabelDirective, IusStatLabelDirective, IusStatSparklineDirective, IusTagPrefixDirective, IusTagSuffixDirective, IusToastActionDirective, IusUserMenuFooterDirective, KINDS, KIND_DEF, KIND_FALLBACK, KanbanBoardComponent, KanbanCardComponent, KanbanColumnComponent, LineChartComponent, LinearProgressBarComponent, ListCardComponent, ListViewComponent, LoadingComponent, LoadingMarkComponent, MenuComponent, MenuItemComponent, ModalComponent, MultiTextFieldComponent, NATURALEZA_DEF, NavUserComponent, NumberFieldComponent, ORB_PERIODS, OauthButtonComponent, OptionItemComponent, PageHeaderComponent, PaginationComponent, PartyListComponent, PersonItemComponent, PersonPickerComponent, PlanUsageItemComponent, PopoverComponent, QueryBuilderComponent, RadioComponent, RepeatableFieldComponent, SOURCE_FUENTE, SOURCE_LABEL, STATUS_TONES, STATUS_VOCAB, STATUS_VOCABS, STATUS_VOCABS_PENDING, ScrollAreaComponent, SearchBarComponent, SectionHeaderComponent, SectionTitleComponent, SegmentGroupComponent, SegmentedControlComponent, SelectComponent, SelectNumberComponent, SelectionFieldComponent, SettingsNavComponent, ShowMoreComponent, SkeletonComponent, SparklineComponent, SplitterComponent, StageDetailDrawerComponent, StatComponent, StatGroupComponent, StatusChipComponent, StatusStateComponent, StepperComponent, SwitchComponent, TableComponent, TabsComponent, TagComponent, TextAreaComponent, TextButtonComponent, TextComponent, TextFieldComponent, TimePanelComponent, TimelineComponent, ToastComponent, ToastService, ToastViewportComponent, TooltipComponent, UserMenuComponent, WizardComponent, WizardController, WizardNavComponent, categoryColors, categoryOptions, chartAxisTicks, chartFormatValue, chartLinearPath, chartNiceNum, chartPath, chartPrefersReducedMotion, chartSmoothPath, chartToneAt, chartToneVar, createWizard, eventKindOptions, extOf, formatBytes, formatDate, formatTime, fuenteColors, fuenteOptions, iusSegColor, kindHue, kindIcon, kindLabel, kindMeta, kindOptions, naturalezaMeta, naturalezaOptions, normalizeTipo, pose, poseIso, poseSpeaking, poseThinking, renderCubeSvg, resolveActuacion, resolveCategoryHue, resolveEventIcon, resolveFuente, resolveIllustration, resolveKind, resolveStatus, resolveViewKind, sourceIcon, sourceMeta, statusOptions, statusOrder, statusToneVars, statusVocab, timeFromDate, voiceEnv };
13122
+ export type { ActuacionEntry, ActuacionMeta, ActuacionStatus, AlertSize, AlertTone, AlertVariant, CategoryColors, CategoryDef, CategoryHueSource, CategoryKey, CategoryOption, ChartCategoricalTone, ChartCurve, ChartPoint, ChartSemanticTone, ChartTone, Clase, ClaseDef, CountdownDirection, CountdownFormat, CountdownRingSize, CountdownRingTone, DescriptionListItem, DescriptionListLayout, DescriptionListSize, DescriptionListValueClick, EventIconSource, EventKind, EventKindOption, FileKind, FileKindDef, FileKindDomain, FileKindFs, FileKindMeta, FileKindOption, FileTypeHue, FuenteColors, FuenteDef, FuenteKey, FuenteOption, GestionStatus, Hue, IllustrationEntry, IllustrationName, IllustrationSize, IusAccordionAction, IusAccordionActionEvent, IusAccordionItem, IusAccordionItemContext, IusAccordionSize, IusAccordionVariant, IusAccountItemAction, IusAccountItemState, IusAnswerFeedbackSize, IusAnswerFeedbackValue, IusAppLayoutAccent, IusAutocompleteItemContext, IusAutocompletePlacement, IusAutocompleteSize, IusAutocompleteSource, IusAvatarColor, IusAvatarShape, IusAvatarSize, IusAvatarStackItem, IusAvatarStackItemClick, IusAvatarStackStyle, IusBarChartOrientation, IusBarSeries, IusBreadcrumbItem, IusBreadcrumbNavigate, IusBreadcrumbSeparator, IusBreadcrumbSize, IusButtonActionResult, IusButtonSize, IusButtonStatus, IusButtonType, IusButtonVariant, IusCalendarMode, IusCalendarValue, IusCaptchaAppearance, IusCaptchaFieldHandle, IusCaptchaProvider, IusCaptchaSize, IusCaptchaState, IusCaptchaTheme, IusCardAs, IusCardPadding, IusCardRadius, IusCardVariant, IusCarouselImage, IusCarouselImageInput, IusCarouselObjectFit, IusCarouselOrder, IusCarouselOverlay, IusCarouselTransition, IusCheckboxLabelPosition, IusCheckboxSize, IusChipSize, IusChipState, IusCircularProgressSize, IusCircularProgressTone, IusCodeFieldSize, IusDateFilterMode, IusDateFilterPlacement, IusDateFilterSize, IusDateFilterValue, IusDatePickerMode, IusDatePickerState, IusDatePickerValue, IusDatePreset, IusDateRange, IusDateTimeValue, IusDetailSidePanelSection, IusDetailSidePanelSide, IusDividerOrientation, IusDividerTextAlign, IusDividerVariant, IusDocumentViewerCloseReason, IusDocumentViewerKind, IusDocumentViewerVariant, IusDonutLegendPosition, IusDonutSegment, IusDrawerSide, IusDrawerSize, IusDropdownItem, IusDropdownTone, IusDropdownVariant, IusEleniaBubblePosition, IusEleniaBubbleSize, IusEleniaOrbMood, IusEleniaOrbSurface, IusEmptyStateAction, IusEmptyStateSize, IusEmptyStateTone, IusEmptyStateVariant, IusEntityDesc, IusEntityDescKind, IusEntityFacet, IusEntityFilter, IusEntityFilterOption, IusEntityGroup, IusEntityId, IusEntityItemHeights, IusEntityNode, IusEntityRowAccent, IusEntityRowAction, IusEntityRowKind, IusEntityRowNoveltyTone, IusEntityRowState, IusEntityRowTag, IusEntitySection, IusEntityStateSegment, IusEventAssignee, IusEventPillFill, IusEventPillSize, IusEventPillVariant, IusFileItemAction, IusFileItemActionClick, IusFileItemActivateOn, IusFileItemField, IusFileItemLayout, IusFileItemOwner, IusFileItemSize, IusFileItemStatus, IusFileItemTag, IusFileTypeIconSize, IusFileTypeIconVariant, IusFileUploadVariant, IusFilterField, IusFilterFieldOption, IusFilterFieldType, IusFilterRule, IusFilterValue, IusFlexAlign, IusFlexDirection, IusFlexGap, IusFlexJustify, IusFooterStatusSize, IusFooterStatusTone, IusFormColumns, IusFormError, IusFormFieldSpan, IusFormSectionVariant, IusIconButtonShape, IusIconButtonSize, IusIconButtonVariant, IusInsightTone, IusInsightVariant, IusInsigniaSize, IusInsigniaTone, IusInsigniaVariant, IusKanbanBoardColumn, IusKanbanBoardItem, IusKanbanBoardVariant, IusKanbanCardAction, IusKanbanCardAssignee, IusKanbanCardDragProps, IusKanbanCardFlag, IusKanbanCardLayout, IusKanbanCardLine, IusKanbanCardLineObject, IusKanbanCardState, IusKanbanCardTag, IusKanbanCardTagConfig, IusKanbanCardText, IusKanbanId, IusKanbanItemContext, IusKanbanItemMoveEvent, IusKanbanItemMoveInfo, IusKanbanItemsMoveEvent, IusKanbanLineTone, IusKanbanRenderCardContext, IusKanbanTone, IusLineChartPoints, IusLineSeries, IusLinearProgressSegment, IusLinearProgressSize, IusLinearProgressTone, IusListCardAction, IusListCardField, IusListCardMarker, IusListCardMenuItem, IusListCardSize, IusListCardStatus, IusListCardTag, IusListCardTone, IusListViewAction, IusListViewSize, IusListViewSortOption, IusLoadingMarkSurface, IusLoadingVariant, IusMenuItemSize, IusMenuItemState, IusMenuItemVariant, IusMenuOption, IusModalCloseReason, IusModalIconTone, IusModalSize, IusMultiTextFieldSize, IusMultiTextFieldSlot, IusMultiTextFieldState, IusNavUserAccount, IusNavUserLayout, IusNavUserUser, IusOAuthButtonSize, IusOAuthButtonType, IusOAuthProvider, IusOptionItemSize, IusOptionItemState, IusPageHeaderDensity, IusPageHeaderTitleLevel, IusPaginationSize, IusPaginationVariant, IusPartyListConnector, IusPartyListSize, IusPersonId, IusPersonItemAction, IusPersonItemSize, IusPersonItemState, IusPersonItemVariant, IusPersonOption, IusPersonPickerSelectedContext, IusPlanUsageAction, IusPlanUsageLegend, IusPlanUsageStatus, IusPopoverPadding, IusPopoverPlacement, IusPopoverTrigger, IusQueryBuilderSize, IusRadioLabelPosition, IusRadioSize, IusRepeatableControlContext, IusRepeatableInputMode, IusRepeatableItem, IusRepeatableSize, IusRepeatableTypeOption, IusScrollAxis, IusScrollSize, IusSearchBarSize, IusSearchBarState, IusSectionHeaderAccent, IusSectionHeaderVariant, IusSectionTitleAs, IusSectionTitleHelpTrigger, IusSectionTitleSize, IusSegmentedSize, IusSegmentedVariant, IusSelectCreateFactory, IusSelectSize, IusSelectState, IusSelectValue, IusSelectionFieldDirection, IusSelectionFieldLabelPosition, IusSelectionFieldSize, IusSelectionFieldType, IusSelectionFieldValue, IusSelectionOption, IusSelectionOptionValue, IusSettingsNavAccent, IusSettingsNavItem, IusSettingsNavSize, IusShowMoreAlign, IusSkeletonAnimation, IusSkeletonVariant, IusSparklineVariant, IusSplitterAccent, IusSplitterOrientation, IusStageDetailAccent, IusStageDetailAssignee, IusStageDetailState, IusStatAlign, IusStatSize, IusStatTone, IusStatusChipSize, IusStatusChipTone, IusStatusKind, IusStepperAccent, IusStepperAssignee, IusStepperCollapsedControl, IusStepperContextRow, IusStepperDetailDisplay, IusStepperOrientation, IusStepperPopoverAction, IusStepperSize, IusStepperStage, IusStepperStageEvent, IusStepperState, IusStepperSubstage, IusSwitchLabelPosition, IusSwitchSize, IusTabItem, IusTabTag, IusTableAlign, IusTableCellContext, IusTableChildRowKey, IusTableColumn, IusTableExpandedContext, IusTableHeaderContext, IusTableRowClick, IusTableRowKey, IusTableRowLabel, IusTableRowMeta, IusTableRowStyle, IusTableSize, IusTableSortChange, IusTableSortDirection, IusTableSummaryCell, IusTableTone, IusTabsAccent, IusTabsSize, IusTagRole, IusTagShape, IusTagSize, IusTagState, IusTagTone, IusTagVariant, IusTextAlign, IusTextAreaSize, IusTextAreaState, IusTextButtonSize, IusTextButtonType, IusTextColor, IusTextFieldInputMode, IusTextFieldSize, IusTextFieldType, IusTextTag, IusTextVariant, IusTextWeight, IusTimeValue, IusTimelineAccent, IusTimelineAssignee, IusTimelineAttachment, IusTimelineAttachmentClick, IusTimelineItem, IusTimelineItemState, IusTimelineSize, IusTimelineTag, IusTimelineTagTone, IusToastActionContext, IusToastItem, IusToastOptions, IusToastPosition, IusToastTone, IusTooltipTrigger, IusUploadFile, IusUploadStatus, IusUploader, IusUploaderHelpers, IusUserMenuAccount, IusUserMenuAccountOption, IusUserMenuItem, IusUserMenuOrigin, IusUserMenuService, IusUserMenuUser, Naturaleza, NaturalezaDef, NaturalezaOption, NaturalezaTone, OrbMood, OrbPose, SegmentedOption, SelectOption, SelectOptionGroup, SourceKey, SourceMeta, StatusMeta, StatusOption, StatusTone, StatusToneVars, StatusVocabMap, StatusVocabName, UseWizardOptions, WizardApi, WizardStep };