@litigiovirtual/ius-design-components 2.2.8 → 2.2.10

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;
@@ -884,7 +895,7 @@ declare class AlertComponent {
884
895
  /** Alineación (auto: `center` si hay `trailing` sin `actions`). */
885
896
  readonly align: _angular_core.InputSignal<"start" | "center" | 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;
@@ -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
 
@@ -3065,13 +3083,14 @@ interface SelectOption {
3065
3083
  label: string;
3066
3084
  /**
3067
3085
  * Línea superior (overline / eyebrow) encima del label. Ej.: el cliente
3068
- * encima del nombre del expediente. No participa en la búsqueda: el filtro
3069
- * mira solo `label` (golden).
3086
+ * encima del nombre del expediente. Participa en la búsqueda junto con `label`
3087
+ * (ajuste de lógica 2026-10-08, F7 · HU-27: «Buscar expediente o cliente»; el
3088
+ * golden aún filtra solo por `label`).
3070
3089
  */
3071
3090
  overline?: string;
3072
3091
  /**
3073
- * Línea de ayuda bajo el label — p. ej. qué permite un rol en el Select de rol. Como el
3074
- * overline, no participa en la búsqueda: el filtro mira solo `label`.
3092
+ * Línea de ayuda bajo el label — p. ej. qué permite un rol en el Select de rol. No
3093
+ * participa en la búsqueda: el filtro mira `label` y `overline`.
3075
3094
  */
3076
3095
  description?: string;
3077
3096
  /** Ícono Material Symbols Rounded a la izquierda de la opción. */
@@ -4371,6 +4390,173 @@ declare class ModalComponent implements AfterViewInit, OnDestroy {
4371
4390
  static ngAcceptInputType_zIndex: unknown;
4372
4391
  }
4373
4392
 
4393
+ type IusDocumentViewerVariant = 'overlay' | 'inline';
4394
+ type IusDocumentViewerKind = 'pdf' | 'image' | 'video' | 'audio';
4395
+ /** Motivo del cierre emitido por `closed`. */
4396
+ type IusDocumentViewerCloseReason = 'close' | 'esc' | 'scrim';
4397
+ /** Pasos de zoom en % (`DocumentViewer.ZOOM_STEPS` del golden). */
4398
+ declare const IUS_DOCUMENT_VIEWER_ZOOM_STEPS: readonly number[];
4399
+ /** Tipo de vista: el explícito, o por extensión de `name`/`src` (imagen, video, audio; el resto PDF). */
4400
+ declare function resolveViewKind(kind?: string | null, name?: string | null, src?: string | null): IusDocumentViewerKind;
4401
+ /** Acciones de la cabecera, antes de cerrar: `<div iusDocViewerActions>…</div>`. */
4402
+ declare class IusDocViewerActionsDirective {
4403
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusDocViewerActionsDirective, never>;
4404
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusDocViewerActionsDirective, "[iusDocViewerActions]", never, {}, {}, never, never, true, never>;
4405
+ }
4406
+ /** Contenido de la columna de detalles (se monta en `ius-detail-side-panel`). */
4407
+ declare class IusDocViewerAsideDirective {
4408
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusDocViewerAsideDirective, never>;
4409
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusDocViewerAsideDirective, "[iusDocViewerAside]", never, {}, {}, never, never, true, never>;
4410
+ }
4411
+ /** Cuerpo a medida (p. ej. páginas renderizadas con pdf.js): reemplaza iframe/imagen. */
4412
+ declare class IusDocViewerBodyDirective {
4413
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusDocViewerBodyDirective, never>;
4414
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusDocViewerBodyDirective, "[iusDocViewerBody]", never, {}, {}, never, never, true, never>;
4415
+ }
4416
+ /**
4417
+ * DocumentViewer — Ius Design v2 (familia overlays).
4418
+ *
4419
+ * Previsualiza un PDF, una imagen, un video o un audio sin descargarlo. En
4420
+ * `overlay` (default) se portalea a `document.body` con CDK Overlay: scrim en
4421
+ * `--ius-z-modal`, scroll-lock, focus-trap, foco inicial en «Cerrar» y
4422
+ * restauración al cerrar. En `inline` ocupa su contenedor (`role="region"`),
4423
+ * sin scrim; cerrar pasa a «Volver» y Esc solo actúa con el foco dentro.
4424
+ *
4425
+ * Compone FileTypeIcon, IconButton, Pagination, Loading, StatusState y
4426
+ * DetailSidePanel; no introduce controles propios. Confirmaciones → Modal;
4427
+ * formularios → Drawer.
4428
+ * Fuente de verdad: `DocumentViewer.jsx` + `.d.ts` + `DocumentViewer.ng-spec.md`.
4429
+ *
4430
+ * Outputs como `EventEmitter` porque el contrato depende de si hay listener:
4431
+ * sin `prev`/`next` las flechas quedan deshabilitadas, sin `fullscreen` no hay
4432
+ * botón, sin `retry` el error no ofrece «Reintentar» y sin `zoomChange` el zoom
4433
+ * no se muestra salvo que lo pida `showZoom` o se enlace `zoom`.
4434
+ */
4435
+ declare class DocumentViewerComponent implements OnDestroy {
4436
+ private readonly overlay;
4437
+ private readonly viewContainerRef;
4438
+ private readonly sanitizer;
4439
+ private readonly injector;
4440
+ private readonly document;
4441
+ protected readonly titleId: string;
4442
+ readonly variant: _angular_core.InputSignal<IusDocumentViewerVariant>;
4443
+ /** Apertura (controlado). */
4444
+ readonly open: _angular_core.InputSignalWithTransform<boolean, unknown>;
4445
+ /**
4446
+ * URL del archivo. Office: la URL del PDF convertido en el servidor con `kind="pdf"`.
4447
+ * Debe ser de confianza (la emite el servidor): el PDF la monta en un iframe sin sanear.
4448
+ */
4449
+ readonly src: _angular_core.InputSignal<string | undefined>;
4450
+ /** Nombre del archivo en la cabecera y nombre accesible; su extensión da el ícono. */
4451
+ readonly name: _angular_core.InputSignal<string | undefined>;
4452
+ /** Nombre rico como plantilla (alternativa a `name`). */
4453
+ readonly nameTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
4454
+ /** Tipo de vista. Sin él, por extensión de `name` o `src`. */
4455
+ readonly kind: _angular_core.InputSignal<IusDocumentViewerKind | undefined>;
4456
+ /** Solo video: portada antes de reproducir. */
4457
+ readonly poster: _angular_core.InputSignal<string | undefined>;
4458
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
4459
+ readonly loadingLabel: _angular_core.InputSignal<string>;
4460
+ /** `true` (o el atributo suelto) usa la descripción por defecto; un texto la reemplaza. */
4461
+ readonly error: _angular_core.InputSignalWithTransform<string | boolean, string | boolean | null | undefined>;
4462
+ /** Página actual (controlado, base 1). Para PDF va como `#page=N`. */
4463
+ readonly page: _angular_core.InputSignal<number | undefined>;
4464
+ readonly defaultPage: _angular_core.InputSignal<number>;
4465
+ /** Total de páginas; con más de una, el pie muestra la paginación compacta. */
4466
+ readonly pageCount: _angular_core.InputSignal<number | undefined>;
4467
+ /** Zoom en % (controlado). Pasos 50 · 75 · 100 · 125 · 150 · 200. */
4468
+ readonly zoom: _angular_core.InputSignal<number | undefined>;
4469
+ readonly defaultZoom: _angular_core.InputSignal<number>;
4470
+ /** Default: visible si se enlaza `zoom` o `zoomChange`. */
4471
+ readonly showZoom: _angular_core.InputSignal<boolean | undefined>;
4472
+ readonly asideTitle: _angular_core.InputSignal<string>;
4473
+ readonly asideWidth: _angular_core.InputSignal<string | number>;
4474
+ readonly asideCollapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
4475
+ /** Detalles expandidos (controlado). */
4476
+ readonly asideOpen: _angular_core.InputSignal<boolean | undefined>;
4477
+ readonly defaultAsideOpen: _angular_core.InputSignalWithTransform<boolean, unknown>;
4478
+ /** Posición del archivo (base 0) y total, para «N de M» entre las flechas. */
4479
+ readonly fileIndex: _angular_core.InputSignal<number | undefined>;
4480
+ readonly fileCount: _angular_core.InputSignal<number | undefined>;
4481
+ /** Solo `overlay`. */
4482
+ readonly closeOnScrim: _angular_core.InputSignalWithTransform<boolean, unknown>;
4483
+ readonly closeOnEsc: _angular_core.InputSignalWithTransform<boolean, unknown>;
4484
+ /** Sobrescribe el plano (default `var(--ius-z-modal)`). */
4485
+ readonly zIndex: _angular_core.InputSignal<number | undefined>;
4486
+ /** Nombre accesible cuando no hay `name`. */
4487
+ readonly ariaLabel: _angular_core.InputSignal<string>;
4488
+ /** Original `onClose(reason)`. */
4489
+ readonly closed: EventEmitter<IusDocumentViewerCloseReason>;
4490
+ /** Original `onPageChange`. */
4491
+ readonly pageChange: EventEmitter<number>;
4492
+ /** Original `onZoomChange`. */
4493
+ readonly zoomChange: EventEmitter<number>;
4494
+ /** Original `onAsideOpenChange`. */
4495
+ readonly asideOpenChange: EventEmitter<boolean>;
4496
+ /** Original `onPrev`; sin listener la flecha queda deshabilitada. */
4497
+ readonly prev: EventEmitter<void>;
4498
+ /** Original `onNext`; sin listener la flecha queda deshabilitada. */
4499
+ readonly next: EventEmitter<void>;
4500
+ /** Original `onFullscreen`; con listener aparece «Pantalla completa». */
4501
+ readonly fullscreen: EventEmitter<void>;
4502
+ /** Original `onRetry`; con listener el error muestra «Reintentar». */
4503
+ readonly retry: EventEmitter<void>;
4504
+ protected readonly actionsRef: _angular_core.Signal<IusDocViewerActionsDirective | undefined>;
4505
+ protected readonly asideRef: _angular_core.Signal<IusDocViewerAsideDirective | undefined>;
4506
+ protected readonly bodyRef: _angular_core.Signal<IusDocViewerBodyDirective | undefined>;
4507
+ private readonly overlayTpl;
4508
+ private readonly mainEl;
4509
+ /** `.ius-docv__main` mide 560px o menos: los detalles bajan bajo el documento. */
4510
+ protected readonly narrow: _angular_core.WritableSignal<boolean>;
4511
+ private readonly pageInt;
4512
+ private readonly zoomInt;
4513
+ private readonly asideInt;
4514
+ /** El `<video>`/`<audio>` no pudo reproducir; se limpia al cambiar `src`. */
4515
+ protected readonly mediaFailed: _angular_core.WritableSignal<boolean>;
4516
+ /** Cambiarlo re-monta el reproductor (Reintentar tras un fallo de medios). */
4517
+ protected readonly mediaKey: _angular_core.WritableSignal<number>;
4518
+ protected readonly naturalWidth: _angular_core.WritableSignal<number>;
4519
+ protected readonly inline: _angular_core.Signal<boolean>;
4520
+ protected readonly currentPage: _angular_core.Signal<number>;
4521
+ protected readonly hasPaging: _angular_core.Signal<boolean>;
4522
+ protected readonly currentZoom: _angular_core.Signal<number>;
4523
+ protected readonly asideIsOpen: _angular_core.Signal<boolean>;
4524
+ protected readonly viewKind: _angular_core.Signal<IusDocumentViewerKind>;
4525
+ protected readonly isMedia: _angular_core.Signal<boolean>;
4526
+ protected readonly hasName: _angular_core.Signal<boolean>;
4527
+ protected readonly pdfUrl: _angular_core.Signal<SafeResourceUrl | null>;
4528
+ protected readonly hasError: _angular_core.Signal<boolean>;
4529
+ protected readonly errorDescription: _angular_core.Signal<string>;
4530
+ protected readonly bodyIsPdf: _angular_core.Signal<boolean>;
4531
+ protected readonly zoomed: _angular_core.Signal<boolean>;
4532
+ protected readonly imageWidth: _angular_core.Signal<string | null>;
4533
+ protected readonly canZoomOut: _angular_core.Signal<boolean>;
4534
+ protected readonly canZoomIn: _angular_core.Signal<boolean>;
4535
+ protected readonly showFilePos: _angular_core.Signal<boolean>;
4536
+ private overlayRef;
4537
+ private keydownSub;
4538
+ private focusToRestore;
4539
+ constructor();
4540
+ ngOnDestroy(): void;
4541
+ protected get zoomVisible(): boolean;
4542
+ protected get showFoot(): boolean;
4543
+ protected get hasFileNav(): boolean;
4544
+ protected get retryAction(): IusEmptyStateAction | undefined;
4545
+ private attach;
4546
+ private detach;
4547
+ protected onScrimMouseDown(event: MouseEvent): void;
4548
+ protected onHostKeydown(event: KeyboardEvent): void;
4549
+ protected goPage(page: number): void;
4550
+ protected zoomOut(): void;
4551
+ protected zoomIn(): void;
4552
+ private setZoom;
4553
+ protected onAsideCollapsedChange(collapsed: boolean): void;
4554
+ protected onImageLoad(event: Event): void;
4555
+ protected onRetry(): void;
4556
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DocumentViewerComponent, never>;
4557
+ 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>;
4558
+ }
4559
+
4374
4560
  /**
4375
4561
  * Rol tipográfico → clase de escala (`typography.css`). `body` es alias de
4376
4562
  * `body-base`. Mapa exacto en VARIANT_CLASS/DEFAULT_TAG.
@@ -4554,6 +4740,168 @@ declare class SegmentedControlComponent implements ControlValueAccessor {
4554
4740
  static ngAcceptInputType_disabled: unknown;
4555
4741
  }
4556
4742
 
4743
+ /**
4744
+ * SelectNumber — Ius Design v2.
4745
+ *
4746
+ * Variante **compacta y sin label** del Select para elegir un número dentro de
4747
+ * un rango: página actual de un paginador, filas por página, cantidades
4748
+ * acotadas. Sin caja de búsqueda, footprint reducido y valor en
4749
+ * `tabular-nums`. Para listas de texto, búsqueda o multiselección → Select.
4750
+ *
4751
+ * Envoltorio delgado sobre `ius-select` (`compact`, sin búsqueda, sin label,
4752
+ * opciones = rango numérico), igual que el golden: cualquier ajuste de
4753
+ * comportamiento se hace en Select. Implementa `ControlValueAccessor`
4754
+ * numérico y además soporta `[(value)]`.
4755
+ *
4756
+ * Fuente de verdad: `components/inputs/SelectNumber/SelectNumber.jsx` + `.d.ts`
4757
+ * + `SelectNumber.ng-spec.md`.
4758
+ */
4759
+ declare class SelectNumberComponent implements ControlValueAccessor, OnInit {
4760
+ private readonly minState;
4761
+ /** Primer número del rango (inclusive). */
4762
+ set min(value: number);
4763
+ get min(): number;
4764
+ private readonly maxState;
4765
+ /** Último número del rango (inclusive). Requerido si no se pasan `options`. */
4766
+ set max(value: number | undefined);
4767
+ get max(): number | undefined;
4768
+ private readonly optionsState;
4769
+ /** Lista explícita de números (ignora `min`/`max`). */
4770
+ set options(value: number[] | undefined);
4771
+ get options(): number[] | undefined;
4772
+ private readonly valueState;
4773
+ private hasExplicitValue;
4774
+ /** Valor controlado (CVA / `[(value)]`). */
4775
+ set value(value: number | null | undefined);
4776
+ get value(): number | null;
4777
+ /** Valor inicial no controlado. Default: el primer número (`min`). */
4778
+ defaultValue?: number;
4779
+ /** Opciones visibles antes de hacer scroll. */
4780
+ maxVisible: number;
4781
+ /** Estado de error. */
4782
+ error: boolean;
4783
+ private readonly disabledState;
4784
+ /** Estado deshabilitado. */
4785
+ set disabled(value: boolean);
4786
+ get disabled(): boolean;
4787
+ /** Tamaño del campo: small ~34 · medium ~40 (default) · large ~48px. */
4788
+ size: IusSelectSize;
4789
+ /** Estado forzado — **solo demos**. */
4790
+ state?: IusSelectState;
4791
+ /** Botón de limpiar. Off por defecto: un número siempre tiene valor. */
4792
+ showClear: boolean;
4793
+ /** `id` del campo. */
4794
+ id?: string;
4795
+ /** Número elegido (original `onChange`). `null` solo al limpiar con `showClear`. */
4796
+ readonly valueChange: EventEmitter<number | null>;
4797
+ protected readonly nums: _angular_core.Signal<number[]>;
4798
+ protected readonly selectOptions: _angular_core.Signal<SelectOption[]>;
4799
+ protected readonly current: _angular_core.Signal<number | null>;
4800
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
4801
+ private onChange;
4802
+ private onTouched;
4803
+ ngOnInit(): void;
4804
+ writeValue(value: number | null): void;
4805
+ registerOnChange(fn: (value: number | null) => void): void;
4806
+ registerOnTouched(fn: () => void): void;
4807
+ setDisabledState(isDisabled: boolean): void;
4808
+ protected onSelect(value: IusSelectValue | IusSelectValue[] | null): void;
4809
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectNumberComponent, never>;
4810
+ 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>;
4811
+ static ngAcceptInputType_min: unknown;
4812
+ static ngAcceptInputType_maxVisible: unknown;
4813
+ static ngAcceptInputType_error: unknown;
4814
+ static ngAcceptInputType_disabled: unknown;
4815
+ static ngAcceptInputType_showClear: unknown;
4816
+ }
4817
+
4818
+ /** Forma del paginador. */
4819
+ type IusPaginationVariant = 'numbered' | 'compact';
4820
+ /** Tamaño: small ~32 · medium ~40 (default) · large ~48px. */
4821
+ type IusPaginationSize = 'small' | 'medium' | 'large';
4822
+ /** Fila de página ya normalizada para el template. */
4823
+ interface PageRow {
4824
+ ellipsis: boolean;
4825
+ value?: number;
4826
+ }
4827
+ /**
4828
+ * Pagination — Ius Design v2.
4829
+ *
4830
+ * Navegación entre páginas de una lista o tabla larga. `numbered`: prev/next +
4831
+ * números con elipsis (activa en primario, resto tertiary). `compact`:
4832
+ * first/prev + «Página [SelectNumber] de N» + next/last. Opcionalmente muestra
4833
+ * el conteo «1–25 de 1.234 procesos» y el selector de filas por página.
4834
+ * Controlada (`page` + `pageChange`) o no controlada (`defaultPage`).
4835
+ *
4836
+ * Compone `ius-button`, `ius-icon-button` e `ius-select-number`. El host es el
4837
+ * `<nav>` del golden (`role="navigation"` + `aria-label`).
4838
+ *
4839
+ * Fuente de verdad: `components/navigation/Pagination/Pagination.jsx` + `.d.ts`
4840
+ * + `Pagination.ng-spec.md`.
4841
+ */
4842
+ declare class PaginationComponent implements OnInit {
4843
+ /** Forma del paginador. */
4844
+ variant: IusPaginationVariant;
4845
+ /** Página actual (controlado, base 1). */
4846
+ page?: number;
4847
+ /** Página inicial no controlada. */
4848
+ defaultPage: number;
4849
+ /** Total de páginas. Sin él, se calcula con `total` / `pageSize`. */
4850
+ totalPages?: number;
4851
+ /** Total de elementos: deriva `totalPages` y alimenta el conteo. */
4852
+ total?: number;
4853
+ /** Elementos por página. */
4854
+ pageSize: number;
4855
+ /** Con opciones, muestra el selector de filas por página. */
4856
+ pageSizeOptions?: number[];
4857
+ /** Conteo «1–25 de 1.234 procesos» a la izquierda (requiere `total`). */
4858
+ showCount: boolean;
4859
+ /** Sustantivo del conteo. */
4860
+ countNoun: string;
4861
+ /** Páginas vecinas a cada lado de la actual (`numbered`). */
4862
+ siblingCount: number;
4863
+ /** Páginas fijas en cada extremo (`numbered`). */
4864
+ boundaryCount: number;
4865
+ /** Tamaño de la fila. */
4866
+ size: IusPaginationSize;
4867
+ /** Deshabilita toda la navegación. */
4868
+ disabled: boolean;
4869
+ /** Cambio de página, base 1 (original `onPageChange`). */
4870
+ readonly pageChange: EventEmitter<number>;
4871
+ /** Cambio de filas por página (original `onPageSizeChange`). */
4872
+ readonly pageSizeChange: EventEmitter<number>;
4873
+ private readonly internalPage;
4874
+ ngOnInit(): void;
4875
+ protected get preset(): {
4876
+ h: number;
4877
+ icon: string;
4878
+ fs: string;
4879
+ gap: number;
4880
+ };
4881
+ protected get currentPage(): number;
4882
+ protected get effTotalPages(): number;
4883
+ protected get atStart(): boolean;
4884
+ protected get atEnd(): boolean;
4885
+ protected get pageRows(): PageRow[];
4886
+ protected get hasPageSizeOptions(): boolean;
4887
+ protected get showCountBlock(): boolean;
4888
+ protected get countRanged(): boolean;
4889
+ protected get countFrom(): string;
4890
+ protected get countTo(): string;
4891
+ protected fmt(n: number): string;
4892
+ protected goTo(next: number): void;
4893
+ protected onSelectPage(value: number | null): void;
4894
+ protected onSelectPageSize(value: number | null): void;
4895
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaginationComponent, never>;
4896
+ 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>;
4897
+ static ngAcceptInputType_defaultPage: unknown;
4898
+ static ngAcceptInputType_pageSize: unknown;
4899
+ static ngAcceptInputType_showCount: unknown;
4900
+ static ngAcceptInputType_siblingCount: unknown;
4901
+ static ngAcceptInputType_boundaryCount: unknown;
4902
+ static ngAcceptInputType_disabled: unknown;
4903
+ }
4904
+
4557
4905
  /**
4558
4906
  * Un paso del asistente.
4559
4907
  *
@@ -4593,16 +4941,21 @@ interface WizardApi {
4593
4941
  goTo(next: number | ((prev: number) => number)): void;
4594
4942
  }
4595
4943
  interface UseWizardOptions {
4596
- /** Pasos del flujo. */
4597
- steps: WizardStep[];
4944
+ /**
4945
+ * Pasos del flujo. Con un `Signal` la lista es reactiva (el golden recalcula
4946
+ * `total` en cada render): `total`, `current` e `isLast` siguen sus cambios
4947
+ * y el paso se acota al nuevo total.
4948
+ */
4949
+ steps: WizardStep[] | Signal<WizardStep[]>;
4598
4950
  /** Paso inicial (no controlado). Default 1. */
4599
4951
  defaultStep?: number;
4600
4952
  /**
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`.
4953
+ * Paso controlado (1-based). Con un `Signal` el estado lo gobierna el
4954
+ * consumidor, como en el golden: `api.step` lo lee y `next`/`back`/`goTo` solo
4955
+ * avisan por `onStepChange`, que es quien debe actualizarlo. Un número fijo
4956
+ * solo siembra el paso inicial (no hay re-render que lo vuelva a pasar).
4604
4957
  */
4605
- step?: number;
4958
+ step?: number | Signal<number>;
4606
4959
  /** Cambio de paso (recibe el nuevo paso 1-based). */
4607
4960
  onStepChange?: (step: number) => void;
4608
4961
  /** Se dispara al pulsar "siguiente" en el último paso (cierre del flujo). */
@@ -4610,18 +4963,24 @@ interface UseWizardOptions {
4610
4963
  }
4611
4964
  /**
4612
4965
  * 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
4966
+ * de React (ng-spec §2). Pasos y paso viven en signals, así que leer
4614
4967
  * `api.step` / `api.current` / `api.isLast` en una plantilla registra la
4615
4968
  * dependencia y refresca los componentes `OnPush` que consumen la `api`.
4969
+ *
4970
+ * El constructor no escribe en ningún signal: se puede crear dentro de un
4971
+ * `computed`.
4616
4972
  */
4617
4973
  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). */
4974
+ private readonly stepsSource;
4975
+ private readonly stepSource;
4976
+ /** Solo existe en modo no controlado. */
4977
+ private readonly internal?;
4978
+ /** Señal de solo lectura del paso (1-based, acotado al total). */
4621
4979
  readonly step$: Signal<number>;
4622
4980
  private readonly onStepChange?;
4623
4981
  private readonly onFinish?;
4624
4982
  constructor(options: UseWizardOptions);
4983
+ get steps(): WizardStep[];
4625
4984
  get total(): number;
4626
4985
  get step(): number;
4627
4986
  get index(): number;
@@ -4648,12 +5007,8 @@ declare function createWizard(options: UseWizardOptions): WizardApi;
4648
5007
  * misma `api`. Distinto del `Stepper` (indicador display-only).
4649
5008
  *
4650
5009
  * 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.
5010
+ * espejo del hook `Wizard.use` de React (ng-spec §2). El indicador por defecto
5011
+ * es `ius-linear-progress-bar` en modo pasos; `indicator` lo reemplaza.
4657
5012
  */
4658
5013
  declare class WizardComponent {
4659
5014
  /** API de `createWizard(...)`. */
@@ -4668,9 +5023,6 @@ declare class WizardComponent {
4668
5023
  stepWord: string;
4669
5024
  /** Palabra para "de". */
4670
5025
  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
5026
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WizardComponent, never>;
4675
5027
  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
5028
  static ngAcceptInputType_showIndicator: unknown;
@@ -6257,12 +6609,33 @@ type IusToastPosition = 'top-right' | 'top-left' | 'top-center' | 'bottom-right'
6257
6609
  declare const IUS_TOAST_DEFAULT_ICON: Record<IusToastTone, string>;
6258
6610
  /** Auto-cierre por defecto, en ms (golden: `duration === undefined ? 5000`). */
6259
6611
  declare const IUS_TOAST_DEFAULT_DURATION = 5000;
6612
+ /**
6613
+ * Contexto con el que se pinta la plantilla `action`.
6614
+ *
6615
+ * En el golden `action` es un `ReactNode` que se arma en cada llamada y lleva
6616
+ * en su closure los datos de ESE toast. Una `TemplateRef` se declara una sola
6617
+ * vez, así que los datos le llegan aquí: una misma plantilla sirve a varios
6618
+ * toasts vivos a la vez.
6619
+ *
6620
+ * ```html
6621
+ * <ng-template #abrirTpl let-reporte let-dismiss="dismiss">
6622
+ * <ius-text-button size="small" label="Abrir" (clicked)="abrir(reporte); dismiss()" />
6623
+ * </ng-template>
6624
+ * ```
6625
+ */
6626
+ interface IusToastActionContext<T = unknown> {
6627
+ /** El `actionContext` del toast (`let-x`). */
6628
+ $implicit: T;
6629
+ /** Cierra este toast con su animación de salida, igual que el ×. */
6630
+ dismiss: () => void;
6631
+ }
6260
6632
  /**
6261
6633
  * Opciones con las que `ToastService` dispara un toast.
6262
6634
  *
6263
6635
  * Nota de port: `action` es `React.ReactNode` en el golden; por la regla
6264
6636
  * transversal 6 del monorepo (render/content de React → `TemplateRef`) aquí
6265
- * viaja como plantilla, que es lo único proyectable desde una llamada TS.
6637
+ * viaja como plantilla, que es lo único proyectable desde una llamada TS. Los
6638
+ * datos que el golden captura en el closure viajan en `actionContext`.
6266
6639
  */
6267
6640
  interface IusToastOptions {
6268
6641
  /** id propio; reutilizarlo REEMPLAZA el toast existente (útil para progreso). */
@@ -6276,6 +6649,8 @@ interface IusToastOptions {
6276
6649
  icon?: string | false;
6277
6650
  /** Acción inline (p. ej. un `ius-text-button` "Deshacer"). */
6278
6651
  action?: TemplateRef<unknown>;
6652
+ /** Datos de este toast para la plantilla `action` (ver `IusToastActionContext`). */
6653
+ actionContext?: unknown;
6279
6654
  /** Muestra el × de cierre. Default `true`. */
6280
6655
  closable?: boolean;
6281
6656
  /** ms hasta el auto-cierre. `0`/`null` = persistente. Default 5000. */
@@ -6289,6 +6664,7 @@ interface IusToastItem {
6289
6664
  readonly message?: string;
6290
6665
  readonly icon?: string | false;
6291
6666
  readonly action?: TemplateRef<unknown>;
6667
+ readonly actionContext?: unknown;
6292
6668
  readonly closable: boolean;
6293
6669
  readonly duration: number | null;
6294
6670
  }
@@ -6331,6 +6707,8 @@ declare class ToastComponent {
6331
6707
  readonly icon: _angular_core.InputSignal<string | false | undefined>;
6332
6708
  /** Acción inline como plantilla (vía `ToastService`). */
6333
6709
  readonly action: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
6710
+ /** Datos para `action`: llegan como `$implicit` de su contexto. */
6711
+ readonly actionContext: _angular_core.InputSignal<unknown>;
6334
6712
  /** Muestra el × de cierre. */
6335
6713
  readonly closable: _angular_core.InputSignalWithTransform<boolean, unknown>;
6336
6714
  /**
@@ -6345,11 +6723,13 @@ declare class ToastComponent {
6345
6723
  readonly closed: _angular_core.OutputEmitterRef<void>;
6346
6724
  private readonly actionRef;
6347
6725
  protected readonly iconName: _angular_core.Signal<string | null>;
6726
+ private readonly dismiss;
6727
+ protected readonly actionOutletContext: _angular_core.Signal<IusToastActionContext<unknown>>;
6348
6728
  protected readonly hasAction: _angular_core.Signal<boolean>;
6349
6729
  /** Solo hay aro si el auto-cierre está activo (golden: `duration && duration > 0`). */
6350
6730
  protected readonly showRing: _angular_core.Signal<boolean>;
6351
6731
  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>;
6732
+ 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
6733
  }
6354
6734
 
6355
6735
  /**
@@ -6407,6 +6787,9 @@ type ToneShortcutOptions = Omit<IusToastOptions, 'tone' | 'title'>;
6407
6787
  * // persistente + acción "Deshacer"
6408
6788
  * const id = this.toasts.show({ tone: 'neutral', title: 'Nota archivada', duration: 0, action: this.undoTpl() });
6409
6789
  * this.toasts.dismiss(id);
6790
+ *
6791
+ * // una plantilla para varios toasts: cada uno lleva sus datos
6792
+ * this.toasts.success('Reporte listo', { action: this.abrirTpl(), actionContext: reporte });
6410
6793
  * ```
6411
6794
  */
6412
6795
  declare class ToastService {
@@ -6956,7 +7339,28 @@ type IusTableSize = 'small' | 'medium' | 'large';
6956
7339
  type IusTableTone = 'info' | 'primary' | 'success' | 'warning' | 'danger' | 'neutral' | 'durazno' | 'banano' | 'sandia' | 'arandano' | 'uva' | 'aguacate';
6957
7340
  /** Clave estable de fila: nombre de campo o función. */
6958
7341
  type IusTableRowKey<Row> = string | ((row: Row, index: number) => string | number);
6959
- /** Contexto que recibe el `TemplateRef` de celda (`render` del golden). */
7342
+ /** Clave de fila hija: nombre de campo o función `(hija, grupo)`. */
7343
+ type IusTableChildRowKey<Row> = string | ((child: Row, parent: Row) => string | number);
7344
+ /** Texto accesible fijo o por fila. */
7345
+ type IusTableRowLabel<Row> = string | ((row: Row, index: number) => string);
7346
+ /** Metadatos de la fila (filas agrupadas). Llega a las celdas y a `rowClick`. */
7347
+ interface IusTableRowMeta<Row = any> {
7348
+ /** `true` en una fila hija de un grupo. */
7349
+ isChild: boolean;
7350
+ /** Fila grupo de la hija (`null` en filas de primer nivel). */
7351
+ parent: Row | null;
7352
+ /** Clave del grupo de la hija. */
7353
+ parentKey: string | number | null;
7354
+ /** 0 = primer nivel · 1 = hija. */
7355
+ depth: number;
7356
+ /** `true` si `getChildren` devolvió hijas para la fila. */
7357
+ isGroup: boolean;
7358
+ /** Grupo abierto. */
7359
+ expanded: boolean;
7360
+ /** Índice de la fila (en `data` o entre las hijas de su grupo). */
7361
+ index: number;
7362
+ }
7363
+ /** Contexto que recibe el `TemplateRef` de celda (`render(row, i, meta)` del golden). */
6960
7364
  interface IusTableCellContext<Row = any> {
6961
7365
  $implicit: Row;
6962
7366
  row: Row;
@@ -6964,12 +7368,23 @@ interface IusTableCellContext<Row = any> {
6964
7368
  column: IusTableColumn<Row>;
6965
7369
  /** `row[column.key]` ya leído, por comodidad. */
6966
7370
  value: unknown;
7371
+ /**
7372
+ * Metadatos de la fila (filas agrupadas). `ius-table` siempre lo entrega;
7373
+ * es opcional en el tipo para no romper contextos armados a mano (pruebas).
7374
+ */
7375
+ meta?: IusTableRowMeta<Row>;
6967
7376
  }
6968
7377
  /** Contexto del `TemplateRef` de encabezado (`header` como nodo en el golden). */
6969
7378
  interface IusTableHeaderContext<Row = any> {
6970
7379
  $implicit: IusTableColumn<Row>;
6971
7380
  column: IusTableColumn<Row>;
6972
7381
  }
7382
+ /** Contexto del `TemplateRef` de detalle (`renderExpanded(row, i)` del golden). */
7383
+ interface IusTableExpandedContext<Row = any> {
7384
+ $implicit: Row;
7385
+ row: Row;
7386
+ index: number;
7387
+ }
6973
7388
  interface IusTableColumn<Row = any> {
6974
7389
  /** Identificador único de la columna. Lee `row[key]` si no hay `render`. */
6975
7390
  key: string;
@@ -6981,8 +7396,12 @@ interface IusTableColumn<Row = any> {
6981
7396
  headerIcon?: string;
6982
7397
  /** `title` nativo del encabezado (tooltip). */
6983
7398
  headerTitle?: string;
6984
- /** Render de celda a medida (`render(row, i)` del golden → TemplateRef con `{ row, index }`). */
7399
+ /** Render de celda a medida (`render(row, i, meta)` del golden → TemplateRef con `{ row, index, meta }`). */
6985
7400
  render?: TemplateRef<IusTableCellContext<Row>>;
7401
+ /** Valor de orden de la celda. Ordena las **filas hijas** entre sí con `sortColumn`; si falta, compara `row[key]`. */
7402
+ sortValue?: (row: Row) => string | number | null | undefined;
7403
+ /** 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. */
7404
+ emptyCell?: string;
6986
7405
  /** Alineación del contenido. Default `start` (o `end` si `numeric`). */
6987
7406
  align?: IusTableAlign;
6988
7407
  /** Columna numérica: `tabular-nums` y alineación `end` por defecto. */
@@ -7016,14 +7435,49 @@ interface IusTableSortChange {
7016
7435
  column: string | null;
7017
7436
  direction: IusTableSortDirection | null;
7018
7437
  }
7019
- /** Payload de `rowClick` — `onRowClick(row, index, event)`. */
7438
+ /** Payload de `rowClick` — `onRowClick(row, index, event, meta)`. */
7020
7439
  interface IusTableRowClick<Row = any> {
7021
7440
  row: Row;
7022
7441
  index: number;
7023
7442
  event: MouseEvent | KeyboardEvent;
7443
+ meta: IusTableRowMeta<Row>;
7024
7444
  }
7025
7445
  /** Estilo inline por fila (objeto CSS que acepta el binding `[style]`). */
7026
7446
  type IusTableRowStyle = Record<string, string | number | null | undefined>;
7447
+ type Key = string | number;
7448
+ interface GroupKid<Row> {
7449
+ row: Row;
7450
+ index: number;
7451
+ key: Key;
7452
+ }
7453
+ interface GroupInfo<Row> {
7454
+ key: Key;
7455
+ kids: GroupKid<Row>[];
7456
+ }
7457
+ /** Fila ya resuelta para la plantilla: datos, hija o detalle expandido. */
7458
+ interface BodyRow<Row> {
7459
+ kind: 'row' | 'detail';
7460
+ track: string;
7461
+ row: Row;
7462
+ index: number;
7463
+ key: Key;
7464
+ meta: IusTableRowMeta<Row>;
7465
+ group: GroupInfo<Row> | null;
7466
+ parentGroup: GroupInfo<Row> | null;
7467
+ disabled: boolean;
7468
+ checked: boolean;
7469
+ indeterminate: boolean;
7470
+ clickable: boolean;
7471
+ cls: string | null;
7472
+ style: IusTableRowStyle | null;
7473
+ accent: string | null;
7474
+ expOk: boolean;
7475
+ open: boolean;
7476
+ }
7477
+ interface Thumb {
7478
+ pos: number;
7479
+ size: number;
7480
+ }
7027
7481
  /**
7028
7482
  * Table — Ius Design v2.
7029
7483
  *
@@ -7036,14 +7490,17 @@ type IusTableRowStyle = Record<string, string | number | null | undefined>;
7036
7490
  * Es una **tabla controlada**: el consumidor mantiene los datos ya ordenados,
7037
7491
  * filtrados y paginados, y el estado de orden/selección; `ius-table` solo
7038
7492
  * pinta la rejilla y emite los cambios (`sortChange`, `selectionChange`,
7039
- * `rowClick`). No ordena ni pagina por dentro.
7493
+ * `rowClick`). No ordena ni pagina por dentro. Admite **filas expandibles**
7494
+ * (`expandable` + `renderExpanded`) y **filas agrupadas** (`getChildren`).
7040
7495
  *
7041
7496
  * **Composición**: para la barra de herramientas y la paginación numerada del
7042
7497
  * pie, envolverla en `ius-list-view` (`bordered=false` en ambos). Compone
7043
- * `ius-checkbox` (selección) y `ius-empty-state` (vacío).
7498
+ * `ius-checkbox` (selección), `ius-icon-button` (disparadores) y
7499
+ * `ius-empty-state` (vacío).
7044
7500
  *
7045
7501
  * Decisiones del port (golden `Table.jsx` / `Table.d.ts`):
7046
- * - `render(row, i)` → `column.render: TemplateRef<IusTableCellContext>`;
7502
+ * - `render(row, i, meta)` → `column.render: TemplateRef<IusTableCellContext>`;
7503
+ * `renderExpanded(row, i)` → `TemplateRef<IusTableExpandedContext>`;
7047
7504
  * `header` como nodo → `column.headerTemplate`; `empty` → `emptyTemplate`;
7048
7505
  * `summary[].value` como nodo → `summary[].template`.
7049
7506
  * - En React la sola presencia de `onRowClick` hace la fila clicable/enfocable.
@@ -7051,9 +7508,19 @@ type IusTableRowStyle = Record<string, string | number | null | undefined>;
7051
7508
  * `rowClickable` + output `rowClick`.
7052
7509
  * - `rowStyle` es un objeto CSS (o función que lo devuelve) consumido por el
7053
7510
  * binding `[style]`; se combina con la atenuación de `isRowDisabled`.
7511
+ * - `emptyCell` es texto. Un `TemplateRef` no delata si pinta vacío, así que
7512
+ * la marca aplica a las celdas sin `render`; con `render`, la plantilla
7513
+ * decide qué pintar (p. ej. nada en las hijas, usando `meta`).
7514
+ * - `title` de celda: el texto del valor sin `render`. Con `render` el golden usa
7515
+ * el string que devuelve; un `TemplateRef` no lo expone, así que va
7516
+ * `headerTitle` (la plantilla puede poner su propio `title`).
7517
+ * - Barra superpuesta: el scroll nativo se oculta y el thumb lo dibuja el
7518
+ * host, acotado entre cabecera fija y resumen (altos medidos con
7519
+ * ResizeObserver). Sin prop pública.
7054
7520
  */
7055
7521
  declare class TableComponent<Row = any> {
7056
7522
  private readonly document;
7523
+ private readonly uid;
7057
7524
  private readonly scrollRef;
7058
7525
  private readonly tableRef;
7059
7526
  /** Definición de columnas, en orden de aparición. */
@@ -7069,7 +7536,7 @@ declare class TableComponent<Row = any> {
7069
7536
  /** Muestra la columna de checkboxes + "Seleccionar todo" en la cabecera. */
7070
7537
  readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
7071
7538
  /** Claves seleccionadas (controlado). */
7072
- readonly selectedKeys: _angular_core.InputSignal<readonly (string | number)[] | null | undefined>;
7539
+ readonly selectedKeys: _angular_core.InputSignal<readonly Key[] | null | undefined>;
7073
7540
  /** Etiqueta accesible del checkbox de fila. Default `Seleccionar fila`. */
7074
7541
  readonly selectAriaLabel: _angular_core.InputSignal<string>;
7075
7542
  /** Hace la fila enfocable y clicable (emite `rowClick`). Equivale a pasar `onRowClick` en el golden. */
@@ -7082,6 +7549,34 @@ declare class TableComponent<Row = any> {
7082
7549
  readonly rowClassName: _angular_core.InputSignal<string | ((row: Row, index: number) => string | undefined) | undefined>;
7083
7550
  /** Estilo inline por fila (o función `(row, i) => estilo`). Se combina con la atenuación de `isRowDisabled`. */
7084
7551
  readonly rowStyle: _angular_core.InputSignal<IusTableRowStyle | ((row: Row, index: number) => IusTableRowStyle | undefined) | undefined>;
7552
+ /** Activa filas expandibles (o función por fila; `false` deja la celda del disparador vacía). Requiere `renderExpanded`. */
7553
+ readonly expandable: _angular_core.InputSignalWithTransform<boolean | ((row: Row, index: number) => boolean), string | boolean | ((row: Row, index: number) => boolean) | null | undefined>;
7554
+ /** Detalle bajo la fila abierta: fila a todo el ancho, fondo `surface-sunken`. */
7555
+ readonly renderExpanded: _angular_core.InputSignal<TemplateRef<IusTableExpandedContext<Row>> | undefined>;
7556
+ /** Claves de las filas abiertas (controlado; `undefined` = no controlado). */
7557
+ readonly expandedKeys: _angular_core.InputSignal<readonly Key[] | null | undefined>;
7558
+ /** Claves abiertas al montar (no controlado). */
7559
+ readonly defaultExpandedKeys: _angular_core.InputSignal<readonly Key[] | undefined>;
7560
+ /** `multiple` permite varias abiertas; `single` cierra la anterior. */
7561
+ readonly expandMode: _angular_core.InputSignal<"single" | "multiple">;
7562
+ /** Etiqueta accesible del botón de abrir (texto o función por fila). */
7563
+ readonly expandAriaLabel: _angular_core.InputSignal<IusTableRowLabel<Row>>;
7564
+ /** Hijas de una fila: si devuelve elementos, la fila es grupo y las abre en las mismas columnas. */
7565
+ readonly getChildren: _angular_core.InputSignal<((row: Row) => readonly Row[] | null | undefined) | undefined>;
7566
+ /** Clave de cada hija (campo o función). Default `claveGrupo·índice`. */
7567
+ readonly childRowKey: _angular_core.InputSignal<IusTableChildRowKey<Row> | undefined>;
7568
+ /** Grupos abiertos (controlado; `undefined` = no controlado). */
7569
+ readonly expandedGroups: _angular_core.InputSignal<readonly Key[] | null | undefined>;
7570
+ /** Grupos abiertos al montar (no controlado). */
7571
+ readonly defaultExpandedGroups: _angular_core.InputSignal<readonly Key[] | undefined>;
7572
+ /** `cascade`: el grupo marca sus hijas (indeterminado si son algunas). `independent`: cada fila por separado. */
7573
+ readonly childSelection: _angular_core.InputSignal<"independent" | "cascade">;
7574
+ /** Etiqueta accesible del disparador del grupo. */
7575
+ readonly groupToggleAriaLabel: _angular_core.InputSignal<IusTableRowLabel<Row>>;
7576
+ /** Fondo de las hijas: `sunken` o `none` (la jerarquía la marca solo la sangría). */
7577
+ readonly childRowTone: _angular_core.InputSignal<"none" | "sunken">;
7578
+ /** Marca de celda vacía. Default `—`; `''` deja la celda en blanco. */
7579
+ readonly emptyCell: _angular_core.InputSignal<string>;
7085
7580
  /** Redimensionado de columnas por arrastre del borde de la cabecera. Default `true`. */
7086
7581
  readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
7087
7582
  /** Divisores verticales hairline entre columnas. Default `true`. */
@@ -7108,40 +7603,76 @@ declare class TableComponent<Row = any> {
7108
7603
  readonly stickyHeader: _angular_core.InputSignalWithTransform<boolean, unknown>;
7109
7604
  /** Fila de pie fija (totales/sumas) por columna. */
7110
7605
  readonly summary: _angular_core.InputSignal<readonly IusTableSummaryCell[] | null | undefined>;
7111
- /** Alto fijo del área scrollable (px o CSS). Activa el scroll vertical. */
7606
+ /** Alto fijo de la tabla (px o CSS; con `100%` ocupa el alto de su contenedor). Activa el scroll vertical. */
7112
7607
  readonly height: _angular_core.InputSignal<string | number | undefined>;
7113
- /** Alto máximo (px o CSS). */
7608
+ /** Alto máximo del área con scroll (px o CSS). */
7114
7609
  readonly maxHeight: _angular_core.InputSignal<string | number | undefined>;
7115
7610
  /** Etiqueta accesible de la tabla. */
7116
7611
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
7117
7612
  /** Cambio de orden al clicar una cabecera `sortable` (tri-estado asc → desc → ninguno). */
7118
7613
  readonly sortChange: _angular_core.OutputEmitterRef<IusTableSortChange>;
7119
7614
  /** Nuevo conjunto de claves seleccionadas. */
7120
- readonly selectionChange: _angular_core.OutputEmitterRef<(string | number)[]>;
7615
+ readonly selectionChange: _angular_core.OutputEmitterRef<Key[]>;
7121
7616
  /** Click/Enter/Espacio sobre una fila (requiere `rowClickable`). */
7122
7617
  readonly rowClick: _angular_core.OutputEmitterRef<IusTableRowClick<Row>>;
7618
+ /** Nuevo conjunto de filas abiertas (expandibles). */
7619
+ readonly expandedChange: _angular_core.OutputEmitterRef<Key[]>;
7620
+ /** Nuevo conjunto de grupos abiertos. */
7621
+ readonly expandedGroupsChange: _angular_core.OutputEmitterRef<Key[]>;
7123
7622
  protected readonly scrolledX: _angular_core.WritableSignal<boolean>;
7124
7623
  protected readonly resizing: _angular_core.WritableSignal<boolean>;
7624
+ protected readonly barDrag: _angular_core.WritableSignal<boolean>;
7625
+ protected readonly fills: _angular_core.WritableSignal<boolean>;
7626
+ protected readonly bands: _angular_core.WritableSignal<{
7627
+ head: number;
7628
+ foot: number;
7629
+ }>;
7630
+ protected readonly headH: _angular_core.Signal<string>;
7631
+ protected readonly footH: _angular_core.Signal<string>;
7632
+ protected readonly vThumb: _angular_core.WritableSignal<Thumb | null>;
7633
+ protected readonly hThumb: _angular_core.WritableSignal<Thumb | null>;
7125
7634
  /** Anchos medidos / redimensionados por `key` (px). */
7126
7635
  private readonly colW;
7127
7636
  private readonly measured;
7637
+ private readonly innerExp;
7638
+ private readonly innerGrp;
7128
7639
  protected readonly cols: _angular_core.Signal<IusTableColumn<Row>[]>;
7640
+ protected readonly hasExpand: _angular_core.Signal<boolean>;
7641
+ protected readonly hasGroups: _angular_core.Signal<boolean>;
7129
7642
  protected readonly colCount: _angular_core.Signal<number>;
7130
- protected readonly selWidth: _angular_core.Signal<52 | 44 | 40>;
7643
+ protected readonly selWidth: _angular_core.Signal<44 | 40 | 52>;
7131
7644
  protected readonly isEmpty: _angular_core.Signal<boolean>;
7132
7645
  protected readonly tableLayout: _angular_core.Signal<"auto" | "fixed">;
7133
7646
  protected readonly skeletonIdx: _angular_core.Signal<number[]>;
7134
7647
  protected readonly showSummary: _angular_core.Signal<boolean>;
7135
7648
  /** Firma de estructura: al cambiar, se descartan los anchos medidos. */
7136
7649
  private readonly colsSig;
7650
+ private readonly expList;
7651
+ private readonly grpList;
7652
+ private readonly expSet;
7653
+ private readonly grpSet;
7654
+ /** Hijas por grupo, ordenadas entre sí con la columna de orden activa. */
7655
+ private readonly groupsInfo;
7137
7656
  private readonly selSet;
7657
+ private readonly cascade;
7138
7658
  private readonly allKeys;
7139
7659
  protected readonly allSelected: _angular_core.Signal<boolean>;
7140
7660
  protected readonly someSelected: _angular_core.Signal<boolean>;
7661
+ protected readonly bodyRows: _angular_core.Signal<BodyRow<Row>[]>;
7141
7662
  private readonly pinInfo;
7142
7663
  constructor();
7143
- protected keyOf(row: Row, rowKey: IusTableRowKey<Row>, i: number): string | number;
7144
- protected rowKeyOf(row: Row, i: number): string | number;
7664
+ protected keyOf(row: Row, rowKey: IusTableRowKey<Row>, i: number): Key;
7665
+ private childKeyOf;
7666
+ /** Las hijas se ordenan entre sí con la columna activa; los grupos los ordena el consumidor. */
7667
+ private sortKids;
7668
+ private kidKeys;
7669
+ private selStateOf;
7670
+ private canExpand;
7671
+ protected labelOf(label: IusTableRowLabel<Row>, row: Row, i: number): string;
7672
+ private safeId;
7673
+ protected detailId(k: Key): string;
7674
+ protected childId(k: Key): string;
7675
+ protected childIds(g: GroupInfo<Row> | null): string | undefined;
7145
7676
  protected alignOf(c: IusTableColumn<Row>): IusTableAlign;
7146
7677
  protected dirOf(key: string): IusTableSortDirection | null;
7147
7678
  protected sortIcon(key: string): string;
@@ -7155,32 +7686,44 @@ declare class TableComponent<Row = any> {
7155
7686
  protected pinLeft(key: string): string | null;
7156
7687
  protected pinRight(key: string): string | null;
7157
7688
  protected readonly selKey = "__sel";
7689
+ protected readonly expKey = "__exp";
7158
7690
  protected px(v: number | string | undefined | null): string | null;
7159
7691
  protected cellValue(row: Row, c: IusTableColumn<Row>): unknown;
7160
7692
  protected isBlank(v: unknown): boolean;
7693
+ protected emptyMarkOf(c: IusTableColumn<Row>): string;
7161
7694
  protected cellTitle(row: Row, c: IusTableColumn<Row>): string | null;
7162
- protected cellContext(row: Row, i: number, c: IusTableColumn<Row>): IusTableCellContext<Row>;
7695
+ protected cellContext(b: BodyRow<Row>, c: IusTableColumn<Row>): IusTableCellContext<Row>;
7163
7696
  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;
7697
+ protected expandedContext(b: BodyRow<Row>): IusTableExpandedContext<Row>;
7698
+ private isDisabled;
7699
+ private rowClassOf;
7168
7700
  /** `{ ...(disabled ? { opacity: .55 } : null), ...rowStyle }` del golden. */
7169
- protected rowStyles(row: Row, i: number): IusTableRowStyle | null;
7701
+ private rowStylesOf;
7170
7702
  /** Barra de acento (3px) sobre la primera celda de la fila; `null` = sin barra. */
7171
- protected accentShadow(row: Row, i: number): string | null;
7703
+ private accentOf;
7172
7704
  protected skelWidth(c: IusTableColumn<Row>, ci: number): string;
7173
7705
  protected summaryCell(key: string): IusTableSummaryCell | undefined;
7174
7706
  protected onScroll(): void;
7175
7707
  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;
7708
+ /**
7709
+ * Selección controlada (como el Checkbox golden con `checked`): la casilla vuelve
7710
+ * al valor de `selectedKeys` y solo cambia cuando el consumidor lo actualiza. Sin
7711
+ * esto quedaría marcada si la selección no cambia (sin filas, todas deshabilitadas).
7712
+ */
7713
+ protected toggleAll(checked: boolean, cbx: CheckboxComponent): void;
7714
+ protected toggleRow(b: BodyRow<Row>, checked: boolean, cbx: CheckboxComponent): void;
7715
+ protected toggleExpand(k: Key): void;
7716
+ protected toggleGroup(k: Key): void;
7717
+ protected onRowClick(b: BodyRow<Row>, event: MouseEvent): void;
7718
+ protected onRowKeydown(b: BodyRow<Row>, e: KeyboardEvent): void;
7719
+ protected onGroupToggleKeydown(e: KeyboardEvent): void;
7720
+ private focusRow;
7721
+ private syncBars;
7722
+ protected startThumbDrag(axis: 'x' | 'y', e: PointerEvent): void;
7180
7723
  private measureAll;
7181
7724
  protected startResize(e: MouseEvent, col: IusTableColumn<Row>): void;
7182
7725
  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>;
7726
+ 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
7727
  }
7185
7728
 
7186
7729
  /** Familia de color de la cifra: default + 6 semánticos + 6 frutas. */
@@ -7277,7 +7820,7 @@ declare class StatComponent {
7277
7820
  protected readonly effSize: _angular_core.Signal<IusStatSize>;
7278
7821
  protected readonly navigable: _angular_core.Signal<boolean>;
7279
7822
  /** Dirección del delta numérico. */
7280
- protected readonly deltaDir: _angular_core.Signal<"flat" | "down" | "up" | null>;
7823
+ protected readonly deltaDir: _angular_core.Signal<"flat" | "up" | "down" | null>;
7281
7824
  protected readonly deltaArrow: _angular_core.Signal<"remove" | "arrow_upward" | "arrow_downward">;
7282
7825
  protected readonly deltaText: _angular_core.Signal<string>;
7283
7826
  /** Color de la cifra según el tono (mismo mapa que el golden). */
@@ -8579,6 +9122,176 @@ declare class SwitchComponent implements ControlValueAccessor {
8579
9122
  static ngAcceptInputType_disabled: unknown;
8580
9123
  }
8581
9124
 
9125
+ /** Tamaño del anillo — small 16 · medium 20 (default) · large 24 px. */
9126
+ type IusRadioSize = 'small' | 'medium' | 'large';
9127
+ /** Lado del label respecto al anillo. */
9128
+ type IusRadioLabelPosition = 'left' | 'right';
9129
+ /**
9130
+ * Radio — Ius Design v2 (familia inputs).
9131
+ *
9132
+ * Botón de opción para elegir **una** entre varias excluyentes: anillo gris sin
9133
+ * seleccionar; anillo y punto navy (Primary-900) al elegir; halo gris en hover y
9134
+ * azul en pressed/focus. Fuente de verdad: `Radio.jsx` + `Radio.d.ts` +
9135
+ * `Radio.ng-spec.md` (DELTA sobre `Checkbox.ng-spec.md`).
9136
+ *
9137
+ * Los radios con el mismo `name` son excluyentes (lo asegura el navegador). El
9138
+ * valor escalar del grupo lo maneja el CVA del grupo (`ius-selection-field
9139
+ * type="radio"`); el Radio individual expone `checked`/`checkedChange` y `value`
9140
+ * y conserva el CVA booleano heredado de Checkbox.
9141
+ *
9142
+ * DECISIONES DE PORT (las mismas de Checkbox y Switch):
9143
+ * 1. `state` es solo para demos → fuera de la API pública; el playground
9144
+ * congela un estado visual con el atributo `data-force`.
9145
+ * 2. El DOM es input → anillo → label siempre y `labelPosition: 'left'` se
9146
+ * resuelve con `order`: el halo de foco depende del selector adyacente
9147
+ * `.ius-rad__input:focus-visible + .ius-rad__ctrl`.
9148
+ */
9149
+ declare class RadioComponent implements ControlValueAccessor {
9150
+ /** Texto junto al anillo. Sin label si se omite. */
9151
+ label?: string;
9152
+ /** Lado del label respecto al anillo. */
9153
+ labelPosition: IusRadioLabelPosition;
9154
+ /** Nombre del grupo: radios con el mismo `name` son excluyentes. */
9155
+ name?: string;
9156
+ /** Valor que representa la opción. */
9157
+ value?: string;
9158
+ private readonly sizeState;
9159
+ set size(value: IusRadioSize);
9160
+ get size(): IusRadioSize;
9161
+ private readonly checkedState;
9162
+ set checked(value: boolean);
9163
+ get checked(): boolean;
9164
+ /** Estado inicial no controlado (alias de `checked` como valor inicial). */
9165
+ set defaultChecked(value: boolean);
9166
+ private readonly disabledState;
9167
+ set disabled(value: boolean);
9168
+ get disabled(): boolean;
9169
+ /** Emite `true` al seleccionar (original `onChange(true)`; nunca `change`). */
9170
+ readonly checkedChange: EventEmitter<boolean>;
9171
+ protected readonly inputId: string;
9172
+ private onChangeCb;
9173
+ private onTouchedCb;
9174
+ writeValue(value: boolean): void;
9175
+ registerOnChange(fn: (value: boolean) => void): void;
9176
+ registerOnTouched(fn: () => void): void;
9177
+ setDisabledState(isDisabled: boolean): void;
9178
+ protected onSelect(): void;
9179
+ protected onBlur(): void;
9180
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioComponent, never>;
9181
+ 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>;
9182
+ static ngAcceptInputType_checked: unknown;
9183
+ static ngAcceptInputType_defaultChecked: unknown;
9184
+ static ngAcceptInputType_disabled: unknown;
9185
+ }
9186
+
9187
+ /** Molécula de cada opción. */
9188
+ type IusSelectionFieldType = 'checkbox' | 'radio' | 'switch';
9189
+ /** Tamaño de las moléculas — small · medium (default) · large. */
9190
+ type IusSelectionFieldSize = 'small' | 'medium' | 'large';
9191
+ /** Disposición de las opciones. */
9192
+ type IusSelectionFieldDirection = 'vertical' | 'horizontal';
9193
+ /** Lado del label de cada opción. */
9194
+ type IusSelectionFieldLabelPosition = 'left' | 'right';
9195
+ type IusSelectionOptionValue = string | number;
9196
+ /** Escalar en `radio`; arreglo en `checkbox`/`switch`. */
9197
+ type IusSelectionFieldValue = IusSelectionOptionValue | IusSelectionOptionValue[] | null;
9198
+ interface IusSelectionOption {
9199
+ value: IusSelectionOptionValue;
9200
+ /** Texto de la opción (label de la molécula). */
9201
+ label: string;
9202
+ disabled?: boolean;
9203
+ /** Ícono de ayuda por opción. */
9204
+ showIconHelp?: boolean;
9205
+ iconHelpTitle?: string;
9206
+ iconHelpContent?: string;
9207
+ }
9208
+ /**
9209
+ * SelectionField — Ius Design v2 (familia inputs).
9210
+ *
9211
+ * Grupo etiquetado de opciones que **compone** `ius-checkbox`, `ius-radio` o
9212
+ * `ius-switch` (según `type`) y aporta el chrome de campo de TextField: label
9213
+ * con required + iconHelp + `:`, helpText/errorText, `error` y `size`. Fuente de
9214
+ * verdad: `SelectionField.jsx` + `SelectionField.d.ts` + `SelectionField.ng-spec.md`.
9215
+ *
9216
+ * `ControlValueAccessor` con forma según `type`: **escalar** en `radio` (`null`
9217
+ * sin selección) y **arreglo** en `checkbox`/`switch` (en el orden en que se
9218
+ * marcaron, como el golden). `valueChange` entrega ese mismo shape.
9219
+ *
9220
+ * Las clases `.ius-tf__*` se replican en el SCSS porque bajo
9221
+ * ViewEncapsulation.Emulated las de TextField no alcanzan a este componente
9222
+ * (mismo criterio que CodeField, MultiTextField y TextArea).
9223
+ */
9224
+ declare class SelectionFieldComponent implements ControlValueAccessor {
9225
+ /** Molécula usada para cada opción. */
9226
+ type: IusSelectionFieldType;
9227
+ /** Título del grupo (con `:` final). */
9228
+ label?: string;
9229
+ /**
9230
+ * Punto rojo (•) de obligatorio. Con `formControl`/`ngModel`, Angular solo le
9231
+ * engancha `Validators.required` cuando el atributo `type` no es literalmente
9232
+ * `"checkbox"`: en `checkbox`/`switch` agregue el validador en el control.
9233
+ */
9234
+ required: boolean;
9235
+ /** Pastilla "?" del campo (popover). */
9236
+ showIconHelp: boolean;
9237
+ /** Título del contenido de ayuda del campo. */
9238
+ iconHelpTitle?: string;
9239
+ /** Cuerpo del contenido de ayuda del campo. */
9240
+ iconHelpContent?: string;
9241
+ /** Opciones del grupo. */
9242
+ options: IusSelectionOption[];
9243
+ /** Línea de ayuda bajo el grupo. */
9244
+ helpText?: string;
9245
+ /** Reemplaza `helpText` cuando `error` es `true`. */
9246
+ errorText?: string;
9247
+ /** Mostrar/ocultar la línea de ayuda. */
9248
+ showHelpText: boolean;
9249
+ /** Estado de error (color del hint + errorText). */
9250
+ error: boolean;
9251
+ /** Tamaño de las moléculas. */
9252
+ size: IusSelectionFieldSize;
9253
+ /** Disposición de las opciones. */
9254
+ direction: IusSelectionFieldDirection;
9255
+ /** Lado del label de cada opción. */
9256
+ optionLabelPosition: IusSelectionFieldLabelPosition;
9257
+ /** Nombre del grupo (radio). Se genera si se omite. */
9258
+ name?: string;
9259
+ private readonly valueState;
9260
+ set value(value: IusSelectionFieldValue);
9261
+ get value(): IusSelectionFieldValue;
9262
+ private defaultSeeded;
9263
+ set defaultValue(value: IusSelectionFieldValue | undefined);
9264
+ private readonly disabledState;
9265
+ /** Inhabilita todo el campo. */
9266
+ set disabled(value: boolean);
9267
+ get disabled(): boolean;
9268
+ /** Nuevo valor con el shape de `type` (original `onChange`). */
9269
+ readonly valueChange: EventEmitter<IusSelectionFieldValue>;
9270
+ private readonly baseId;
9271
+ protected readonly labelId: string;
9272
+ protected readonly hintId: string;
9273
+ private onChange;
9274
+ protected onTouched: () => void;
9275
+ protected get multiple(): boolean;
9276
+ protected get groupName(): string;
9277
+ protected get hint(): string | undefined;
9278
+ protected get showHint(): boolean;
9279
+ protected isChecked(val: IusSelectionOptionValue): boolean;
9280
+ protected toggle(val: IusSelectionOptionValue): void;
9281
+ private commit;
9282
+ writeValue(value: IusSelectionFieldValue): void;
9283
+ registerOnChange(fn: (value: IusSelectionFieldValue) => void): void;
9284
+ registerOnTouched(fn: () => void): void;
9285
+ setDisabledState(isDisabled: boolean): void;
9286
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectionFieldComponent, never>;
9287
+ 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>;
9288
+ static ngAcceptInputType_required: unknown;
9289
+ static ngAcceptInputType_showIconHelp: unknown;
9290
+ static ngAcceptInputType_showHelpText: unknown;
9291
+ static ngAcceptInputType_error: unknown;
9292
+ static ngAcceptInputType_disabled: unknown;
9293
+ }
9294
+
8582
9295
  /** Id de nodo. */
8583
9296
  type IusEntityId = string | number;
8584
9297
  /** Nodo del árbol. `label`/`sublabel` son string (ReactNode del golden → regla 5 del port). */
@@ -10237,6 +10950,12 @@ declare class DatePickerComponent implements ControlValueAccessor {
10237
10950
  error: boolean;
10238
10951
  disabled: boolean;
10239
10952
  size: 'small' | 'medium' | 'large';
10953
+ /**
10954
+ * Ocupa el ancho del contenedor como los demás campos del formulario, con el
10955
+ * tope de 360px de `.ius-tf` (el Drawer lo quita). En `range` no lleva tope:
10956
+ * las dos fechas y el ícono van siempre en una línea.
10957
+ */
10958
+ fullWidth: boolean;
10240
10959
  defaultOpen: boolean;
10241
10960
  private _open?;
10242
10961
  /** Apertura controlada del panel. */
@@ -10300,13 +11019,14 @@ declare class DatePickerComponent implements ControlValueAccessor {
10300
11019
  protected get hint(): string | undefined;
10301
11020
  protected get showHint(): boolean;
10302
11021
  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>;
11022
+ 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
11023
  static ngAcceptInputType_required: unknown;
10305
11024
  static ngAcceptInputType_minuteStep: unknown;
10306
11025
  static ngAcceptInputType_showHelpText: unknown;
10307
11026
  static ngAcceptInputType_showIconHelp: unknown;
10308
11027
  static ngAcceptInputType_error: unknown;
10309
11028
  static ngAcceptInputType_disabled: unknown;
11029
+ static ngAcceptInputType_fullWidth: unknown;
10310
11030
  static ngAcceptInputType_defaultOpen: unknown;
10311
11031
  }
10312
11032
 
@@ -11149,6 +11869,8 @@ declare class PartyListComponent {
11149
11869
  type IusFileItemLayout = 'row' | 'card';
11150
11870
  type IusFileItemSize = 'small' | 'medium' | 'large';
11151
11871
  type IusFileItemActivateOn = 'single' | 'double';
11872
+ /** Estado del archivo: subida en curso · generándose en el servidor · falló. */
11873
+ type IusFileItemStatus = 'uploading' | 'processing' | 'error';
11152
11874
  /** Columna de metadatos (row): etiqueta pequeña sobre el valor. */
11153
11875
  interface IusFileItemField {
11154
11876
  key?: string | number;
@@ -11159,6 +11881,11 @@ interface IusFileItemField {
11159
11881
  /** Ancho fijo de la columna (px o CSS). */
11160
11882
  width?: number | string;
11161
11883
  align?: 'start' | 'end';
11884
+ /**
11885
+ * Prioridad al estrecharse la fila (`responsive`): menor sale antes. Default `0`; a igual
11886
+ * prioridad sale antes el de la izquierda (el último field es el que más se conserva).
11887
+ */
11888
+ priority?: number;
11162
11889
  }
11163
11890
  /** Acción rápida revelada en hover (IconButton). */
11164
11891
  interface IusFileItemAction {
@@ -11205,6 +11932,16 @@ interface IusFileItemActionClick {
11205
11932
  * del golden. Fuente de verdad: `FileItem.jsx` + `FileItem.d.ts` +
11206
11933
  * `FileItem.ng-spec.md`.
11207
11934
  *
11935
+ * **Estado del archivo** (`status`): con estado, la fila reemplaza los `fields`
11936
+ * por el indicador (barra, spinner o error) y oculta casilla, dueño, estrella y
11937
+ * menú; no se abre ni se selecciona (`aria-busy` mientras sube o se genera). En
11938
+ * card el indicador va en el pie en lugar del `caption`. «Cancelar» y
11939
+ * «Reintentar» aparecen solo si `(cancel)` / `(retry)` están enlazados.
11940
+ *
11941
+ * **Fila responsive** (`responsive`, solo row): el host es contenedor
11942
+ * `fileitem` y oculta dueño y columnas por prioridad (`data-drop`) al
11943
+ * estrecharse, para que el nombre siga visible.
11944
+ *
11208
11945
  * Decisión de port: el `onContextMenu` del golden se expone como `contextMenu`
11209
11946
  * (regla transversal 3: los outputs nunca llevan el nombre de un evento nativo,
11210
11947
  * y `contextmenu` dispararía doble). Se agrega `actionClick` para escuchar las
@@ -11242,6 +11979,18 @@ declare class FileItemComponent {
11242
11979
  caption?: string;
11243
11980
  /** Dueño/responsable → Avatar en la zona final (row). */
11244
11981
  owner?: IusFileItemOwner;
11982
+ /**
11983
+ * Solo row. La fila mide su propio ancho (container query) y oculta columnas por prioridad
11984
+ * para que el nombre siga visible: ≤ 640 px el dueño · ≤ 580 px el primer field en salir ·
11985
+ * ≤ 500 px el segundo · ≤ 420 px todos. La fila debe tener ancho definido por su contenedor.
11986
+ */
11987
+ responsive: boolean;
11988
+ /** Estado del archivo. Con estado no se abre ni se selecciona; oculta dueño, estrella y menú. */
11989
+ status?: IusFileItemStatus;
11990
+ /** 0–100, solo `uploading`. Sin él la barra es indeterminada. */
11991
+ progress?: number;
11992
+ /** Texto del estado. Default «Subiendo… 45 %» · «Generando…» · «No se pudo completar». */
11993
+ statusLabel?: string;
11245
11994
  /** Acciones rápidas reveladas en hover (IconButton). */
11246
11995
  actions: readonly IusFileItemAction[];
11247
11996
  /** Opciones del menú ⋮ (items de Dropdown). */
@@ -11260,20 +12009,37 @@ declare class FileItemComponent {
11260
12009
  readonly contextMenu: EventEmitter<MouseEvent>;
11261
12010
  /** Acción rápida pulsada (además del `onClick` del item). */
11262
12011
  readonly actionClick: EventEmitter<IusFileItemActionClick>;
12012
+ /** Solo `error`: enlazarlo muestra el botón «Reintentar». Original `onRetry`. */
12013
+ readonly retry: EventEmitter<MouseEvent>;
12014
+ /** Solo `uploading`/`processing`: enlazarlo muestra el botón «Cancelar». Original `onCancel`. */
12015
+ readonly cancel: EventEmitter<MouseEvent>;
11263
12016
  /** Mantiene visibles acciones y menú mientras el ⋮ está abierto. */
11264
12017
  protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
11265
12018
  protected get isCard(): boolean;
12019
+ protected get busy(): boolean;
12020
+ protected get failed(): boolean;
12021
+ protected get blocked(): boolean;
12022
+ protected get pct(): number | null;
12023
+ protected get statusText(): string | null;
12024
+ protected get showCancel(): boolean;
12025
+ protected get showRetry(): boolean;
11266
12026
  protected get activatable(): boolean;
11267
12027
  protected get clickable(): boolean;
11268
12028
  protected get hasStar(): boolean;
11269
12029
  protected get starLabel(): string;
11270
12030
  protected widthOf(f: IusFileItemField): string | null;
12031
+ /**
12032
+ * Orden de salida al estrecharse: menor `priority` sale antes; a igual prioridad, el de la
12033
+ * izquierda. drop 1 y 2 tienen umbral propio; 3+ salen con todo el bloque. Un único field lleva 2.
12034
+ */
12035
+ protected dropRanks(): number[];
11271
12036
  protected trackKey(item: {
11272
12037
  key?: string | number;
11273
12038
  }, index: number): string | number;
11274
12039
  private doOpen;
11275
12040
  protected onHostClick(event: MouseEvent): void;
11276
12041
  protected onHostDblClick(event: MouseEvent): void;
12042
+ /** Solo la fila enfocada abre o selecciona: Enter sobre el menú, la estrella o una acción es de ese botón. */
11277
12043
  protected onKeydown(event: KeyboardEvent): void;
11278
12044
  protected onContextMenu(event: MouseEvent): void;
11279
12045
  /** La casilla y el menú no disparan apertura ni selección por clic en la fila. */
@@ -11281,13 +12047,16 @@ declare class FileItemComponent {
11281
12047
  protected onSelect(next: boolean): void;
11282
12048
  protected onStar(event: MouseEvent): void;
11283
12049
  protected onAction(action: IusFileItemAction, event: MouseEvent): void;
12050
+ protected onRetry(event: MouseEvent): void;
12051
+ protected onCancel(event: MouseEvent): void;
11284
12052
  protected onMenuOpen(open: boolean): void;
11285
12053
  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>;
12054
+ 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
12055
  static ngAcceptInputType_selectable: unknown;
11288
12056
  static ngAcceptInputType_selected: unknown;
11289
12057
  static ngAcceptInputType_unread: unknown;
11290
12058
  static ngAcceptInputType_shared: unknown;
12059
+ static ngAcceptInputType_responsive: unknown;
11291
12060
  static ngAcceptInputType_disabled: unknown;
11292
12061
  }
11293
12062
 
@@ -11449,6 +12218,8 @@ interface IusDetailSidePanelSection {
11449
12218
  /** Abierta al montar (solo con `accordion`). */
11450
12219
  defaultOpen?: boolean;
11451
12220
  }
12221
+ /** Lado del contenido en que va la ficha; `bottom` para vistas angostas. */
12222
+ type IusDetailSidePanelSide = 'end' | 'start' | 'bottom';
11452
12223
  /**
11453
12224
  * DetailSidePanel — Ius Design v2 (familia layout).
11454
12225
  *
@@ -11486,8 +12257,16 @@ declare class DetailSidePanelComponent {
11486
12257
  collapseLabel: string;
11487
12258
  /** aria/tooltip del toggle expandir (riel). */
11488
12259
  expandLabel: string;
11489
- /** Ícono del botón de reabrir en el riel. */
11490
- expandIcon: string;
12260
+ /** Ícono del botón de reabrir en el riel. Default según `side`. */
12261
+ expandIcon?: string;
12262
+ /**
12263
+ * `end` (derecha del contenido) · `start` (izquierda: borde y toggle al inicio) ·
12264
+ * `bottom` (bajo el contenido, alto `height`, plegado a franja horizontal).
12265
+ * Los íconos de plegar/abrir siguen el lado.
12266
+ */
12267
+ side: IusDetailSidePanelSide;
12268
+ /** Alto con `side="bottom"` (px o CSS) → `--_ds-h`. Default 40%. */
12269
+ height?: number | string;
11491
12270
  /** Secciones del cuerpo. Alternativa al contenido proyectado. */
11492
12271
  sections?: readonly IusDetailSidePanelSection[];
11493
12272
  /** Monta las `sections` como Accordion plegable (`variant divided`). */
@@ -11501,6 +12280,10 @@ declare class DetailSidePanelComponent {
11501
12280
  private readonly internal;
11502
12281
  protected get isCollapsed(): boolean;
11503
12282
  protected get widthCss(): string;
12283
+ protected get heightCss(): string | null;
12284
+ protected get isStart(): boolean;
12285
+ protected get collapseIcon(): string;
12286
+ protected get openIcon(): string;
11504
12287
  protected get hasSections(): boolean;
11505
12288
  protected get useAccordion(): boolean;
11506
12289
  protected get showHead(): boolean;
@@ -11513,7 +12296,7 @@ declare class DetailSidePanelComponent {
11513
12296
  protected toggle(): void;
11514
12297
  protected readonly railWidth = "52px";
11515
12298
  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>;
12299
+ 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
12300
  static ngAcceptInputType_collapsible: unknown;
11518
12301
  static ngAcceptInputType_defaultCollapsed: unknown;
11519
12302
  static ngAcceptInputType_accordion: unknown;
@@ -11785,5 +12568,556 @@ declare class StageDetailDrawerComponent {
11785
12568
  static ngAcceptInputType_closeOnEsc: unknown;
11786
12569
  }
11787
12570
 
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 };
12571
+ /** Familia de color: colorea el ícono y la barra; con `blocking`, también el texto. */
12572
+ type IusFooterStatusTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
12573
+ /** Tamaño. Sin `size` explícito hereda `--ius-control-size` del ancestro. */
12574
+ type IusFooterStatusSize = 'small' | 'medium';
12575
+ /**
12576
+ * Marca la salida del bloqueo (TextButton/Button), alineada al centro de la fila
12577
+ * inmediatamente después del texto: `<ius-text-button iusFooterStatusAction …/>`.
12578
+ */
12579
+ declare class IusFooterStatusActionDirective {
12580
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusFooterStatusActionDirective, never>;
12581
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusFooterStatusActionDirective, "[iusFooterStatusAction]", never, {}, {}, never, never, true, never>;
12582
+ }
12583
+ /**
12584
+ * FooterStatus — Ius Design v2 (familia feedback).
12585
+ *
12586
+ * Línea de estado del pie de acción (`footer` de Drawer/Modal, pie de Form, pie de
12587
+ * página): texto plano sobre la superficie del pie, sin píldora ni caja tintada.
12588
+ * La frase se compone por partes —`label` · `value` (+`separator`+`total`) · `unit`—
12589
+ * y `meter` la ilustra con una `ius-linear-progress-bar`. Con `blocking` pasa a
12590
+ * `role="alert"` y texto tonal; el primario lo deshabilita la vista, no el componente.
12591
+ * Refluye a dos líneas, nunca trunca. Fuente de verdad: `FooterStatus.jsx` + ng-spec.
12592
+ *
12593
+ * Etiqueta de categoría → Tag; callout del cuerpo → Alert.
12594
+ */
12595
+ declare class FooterStatusComponent {
12596
+ readonly tone: _angular_core.InputSignal<IusFooterStatusTone>;
12597
+ /** Ligadura Material Symbols; `false` oculta el ícono; omitir = default por tono. */
12598
+ readonly icon: _angular_core.InputSignal<string | false | undefined>;
12599
+ /** Texto antes de la cifra («Ocupa», «El lote supera el cupo:»). */
12600
+ readonly label: _angular_core.InputSignal<string | undefined>;
12601
+ /** Cifra principal; un `number` se formatea en es-CO (`1.234`). */
12602
+ readonly value: _angular_core.InputSignal<string | number | null | undefined>;
12603
+ /** Cifra de referencia: `value <separator> total`. */
12604
+ readonly total: _angular_core.InputSignal<string | number | null | undefined>;
12605
+ /** Conector entre cifras; `''` las deja adyacentes. */
12606
+ readonly separator: _angular_core.InputSignal<string>;
12607
+ /** Texto después de la cifra («cupos disponibles»). */
12608
+ readonly unit: _angular_core.InputSignal<string | undefined>;
12609
+ /** Barra horizontal bajo el texto. */
12610
+ readonly meter: _angular_core.InputSignalWithTransform<boolean, unknown>;
12611
+ /** Varios valores en la barra, sobre `total`. Requiere `meter`. */
12612
+ readonly segments: _angular_core.InputSignal<IusLinearProgressSegment[] | undefined>;
12613
+ /** Leyenda (punto + etiqueta + valor) de la barra segmentada. */
12614
+ readonly meterLegend: _angular_core.InputSignalWithTransform<boolean, unknown>;
12615
+ /** La condición impide confirmar: `role="alert"` + texto tonal. */
12616
+ readonly blocking: _angular_core.InputSignalWithTransform<boolean, unknown>;
12617
+ readonly size: _angular_core.InputSignal<IusFooterStatusSize>;
12618
+ private readonly actionRef;
12619
+ protected readonly hasAction: _angular_core.Signal<boolean>;
12620
+ protected readonly glyph: _angular_core.Signal<string | null>;
12621
+ protected readonly hasValue: _angular_core.Signal<boolean>;
12622
+ protected readonly showTotal: _angular_core.Signal<boolean>;
12623
+ protected readonly before: _angular_core.Signal<string>;
12624
+ protected readonly valueText: _angular_core.Signal<string>;
12625
+ protected readonly connector: _angular_core.Signal<string>;
12626
+ protected readonly totalText: _angular_core.Signal<string>;
12627
+ protected readonly after: _angular_core.Signal<string>;
12628
+ private readonly hasSegments;
12629
+ protected readonly showMeter: _angular_core.Signal<boolean>;
12630
+ /** `max` de la barra: el `total`, o el default de LinearProgressBar si no es numérico. */
12631
+ protected readonly meterMax: _angular_core.Signal<number>;
12632
+ protected readonly meterValue: _angular_core.Signal<number>;
12633
+ /** La barra simple no admite gris: en `neutral` se rinde como segmento único. */
12634
+ protected readonly meterSegments: _angular_core.Signal<IusLinearProgressSegment[] | undefined>;
12635
+ protected readonly meterTone: _angular_core.Signal<IusLinearProgressTone>;
12636
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FooterStatusComponent, never>;
12637
+ 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>;
12638
+ }
12639
+
12640
+ type KanbanMenuRow = {
12641
+ sep: true;
12642
+ key: string;
12643
+ } | {
12644
+ sep: false;
12645
+ key: string | number;
12646
+ action: IusKanbanCardAction;
12647
+ };
12648
+
12649
+ /** Color del módulo / de la insignia: 6 semánticos + 6 frutas categóricas. */
12650
+ type IusKanbanTone = 'primary' | 'info' | 'success' | 'warning' | 'danger' | 'neutral' | 'durazno' | 'banano' | 'sandia' | 'arandano' | 'uva' | 'aguacate';
12651
+ /** Tono de una línea del cuerpo (texto + ícono prefijo). */
12652
+ type IusKanbanLineTone = 'neutral' | 'muted' | 'info' | 'success' | 'warning' | 'danger' | 'primary';
12653
+ type IusKanbanCardLayout = 'stacked' | 'row';
12654
+ /** Solo demos: fuerza un estado visual primario. */
12655
+ type IusKanbanCardState = 'hover' | 'focused';
12656
+ type IusKanbanId = string | number;
12657
+ /** Acción secundaria del menú ⋮ (también la usa KanbanColumn). */
12658
+ interface IusKanbanCardAction {
12659
+ key?: string | number;
12660
+ icon?: string;
12661
+ label?: string;
12662
+ onClick?: (event: MouseEvent) => void;
12663
+ /** Agrupa el menú con divisores. */
12664
+ group?: string;
12665
+ /** Acción destructiva (rojo). */
12666
+ danger?: boolean;
12667
+ }
12668
+ /** Insignia superior derecha (prioridad/novedad). Solo indicador. */
12669
+ interface IusKanbanCardFlag {
12670
+ /** Default `dot`. */
12671
+ variant?: IusInsigniaVariant;
12672
+ /** Default `warning`. */
12673
+ tone?: IusKanbanTone;
12674
+ /** Default `small`. */
12675
+ size?: IusInsigniaSize;
12676
+ count?: number | string;
12677
+ ring?: boolean;
12678
+ label?: string;
12679
+ ariaLabel?: string;
12680
+ }
12681
+ /** Texto de una línea: string/número o `TemplateRef` (equivalente del nodo React). */
12682
+ type IusKanbanCardText = string | number | TemplateRef<unknown>;
12683
+ interface IusKanbanCardLineObject {
12684
+ text?: IusKanbanCardText;
12685
+ /** Ícono Material Symbols como **prefijo** (a la izquierda de la línea). */
12686
+ icon?: string;
12687
+ /** Color del texto + ícono. */
12688
+ tone?: IusKanbanLineTone;
12689
+ }
12690
+ /** Una línea: texto simple, `TemplateRef` u objeto `{text, icon, tone}`. */
12691
+ type IusKanbanCardLine = IusKanbanCardText | IusKanbanCardLineObject;
12692
+ /** Config de `ius-tag` para la fila de tags (size `small` por defecto). */
12693
+ interface IusKanbanCardTagConfig {
12694
+ label?: string;
12695
+ tone?: IusTagTone;
12696
+ variant?: IusTagVariant;
12697
+ size?: IusTagSize;
12698
+ shape?: IusTagShape;
12699
+ role?: IusTagRole;
12700
+ icon?: string;
12701
+ dot?: boolean;
12702
+ count?: number | string;
12703
+ }
12704
+ /** Un tag: string, config de Tag o `TemplateRef`. */
12705
+ type IusKanbanCardTag = string | IusKanbanCardTagConfig | TemplateRef<unknown>;
12706
+ /** Responsable: chip Avatar + nombre en el pie (junto al caption). */
12707
+ interface IusKanbanCardAssignee {
12708
+ name?: string;
12709
+ src?: string;
12710
+ avatar?: string;
12711
+ monogram?: string;
12712
+ icon?: string;
12713
+ color?: IusAvatarColor;
12714
+ }
12715
+ type LineKind = 'overline' | 'title' | 'subtitle' | 'paragraph' | 'caption';
12716
+ interface ResolvedLine extends IusKanbanCardLineObject {
12717
+ kind: LineKind;
12718
+ textTpl: TemplateRef<unknown> | null;
12719
+ }
12720
+ interface ResolvedTag {
12721
+ tpl: TemplateRef<unknown> | null;
12722
+ cfg: IusKanbanCardTagConfig;
12723
+ }
12724
+ /** Slot al inicio proyectado (Avatar, ícono de tipo, Checkbox…). */
12725
+ declare class IusKanbanCardLeadingDirective {
12726
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusKanbanCardLeadingDirective, never>;
12727
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusKanbanCardLeadingDirective, "[iusKanbanCardLeading]", never, {}, {}, never, never, true, never>;
12728
+ }
12729
+ /** Slot al final proyectado (Switch «obligatorio», control…). */
12730
+ declare class IusKanbanCardTrailingDirective {
12731
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusKanbanCardTrailingDirective, never>;
12732
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusKanbanCardTrailingDirective, "[iusKanbanCardTrailing]", never, {}, {}, never, never, true, never>;
12733
+ }
12734
+ /** Contenido libre proyectado: reemplaza el cuerpo de líneas (`children` del golden). */
12735
+ declare class IusKanbanCardBodyDirective {
12736
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusKanbanCardBodyDirective, never>;
12737
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusKanbanCardBodyDirective, "[iusKanbanCardBody]", never, {}, {}, never, never, true, never>;
12738
+ }
12739
+ /**
12740
+ * KanbanCard — Ius Design v2 (familia kanban).
12741
+ *
12742
+ * Ítem arrastrable **presentacional**: el arrastre lo cablea KanbanBoard
12743
+ * (`cdkDrag` en el contenedor; el grip es `cdkDragHandle`). Cuerpo flexible de
12744
+ * líneas `overline·title·subtitle·paragraph·tags·caption`, cada una string,
12745
+ * `TemplateRef` o `{text, icon, tone}`. `layout="row"` + `handle` = fila
12746
+ * reordenable de un constructor.
12747
+ *
12748
+ * Slots `leading`/`trailing`/cuerpo libre: por proyección
12749
+ * (`[iusKanbanCardLeading]`…) o por `TemplateRef` (lo que usa el board desde los
12750
+ * ítems), con `templateContext` como contexto.
12751
+ *
12752
+ * Host = la tarjeta; `cardRef` expone la raíz (el forwardRef que el golden no
12753
+ * tiene). `clicked` no dispara tras un arrastre. Para tarjetas estáticas que
12754
+ * navegan a detalle → ListCard.
12755
+ * Fuente de verdad: `KanbanCard.jsx` + `KanbanCard.d.ts` + `KanbanCard.ng-spec.md`.
12756
+ */
12757
+ declare class KanbanCardComponent {
12758
+ /** Raíz de la tarjeta (equivalente del `cardRef` del golden). */
12759
+ readonly cardRef: ElementRef<HTMLElement>;
12760
+ /** Línea superior tipo eyebrow (categoría, código…). */
12761
+ readonly overline: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12762
+ /** Título / nombre. */
12763
+ readonly title: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12764
+ /** Subtítulo corto (origen del lead, tipo de campo…). */
12765
+ readonly subtitle: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12766
+ /** Párrafo / cuerpo largo (hasta 3 líneas). */
12767
+ readonly paragraph: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12768
+ /** Pie fechado, normalmente con tono (umbral de inactividad). */
12769
+ readonly caption: _angular_core.InputSignal<IusKanbanCardLine | undefined>;
12770
+ /** Fila de Tags bajo el cuerpo. */
12771
+ readonly tags: _angular_core.InputSignal<readonly IusKanbanCardTag[] | undefined>;
12772
+ /** Responsable: config (Avatar + nombre) o `TemplateRef`. */
12773
+ readonly assignee: _angular_core.InputSignal<TemplateRef<unknown> | IusKanbanCardAssignee | undefined>;
12774
+ /** Insignia superior derecha (prioridad/novedad). */
12775
+ readonly flag: _angular_core.InputSignal<IusKanbanCardFlag | undefined>;
12776
+ /** Slot al inicio por `TemplateRef` (alternativa a `[iusKanbanCardLeading]`). */
12777
+ readonly leading: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
12778
+ /** Slot al final por `TemplateRef` (alternativa a `[iusKanbanCardTrailing]`). */
12779
+ readonly trailing: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
12780
+ /** Cuerpo libre por `TemplateRef` (alternativa a `[iusKanbanCardBody]`). */
12781
+ readonly content: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
12782
+ /** Contexto con el que se estampan `leading`/`trailing`/`content`. */
12783
+ readonly templateContext: _angular_core.InputSignal<unknown>;
12784
+ /** `stacked` (tarjeta vertical) · `row` (fila horizontal compacta). */
12785
+ readonly layout: _angular_core.InputSignal<IusKanbanCardLayout>;
12786
+ /** Grip `drag_indicator`: el arrastre nace del grip, no de toda la card. */
12787
+ readonly handle: _angular_core.InputSignalWithTransform<boolean, unknown>;
12788
+ /** Color del módulo para el anillo de selección. */
12789
+ readonly accent: _angular_core.InputSignal<IusKanbanTone>;
12790
+ /** Seleccionada: anillo accent. */
12791
+ readonly selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
12792
+ /** Origen del arrastre: atenuada. */
12793
+ readonly dragging: _angular_core.InputSignalWithTransform<boolean, unknown>;
12794
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
12795
+ /** Solo demos: fuerza `hover` · `focused`. */
12796
+ readonly state: _angular_core.InputSignal<IusKanbanCardState | undefined>;
12797
+ /** Acciones secundarias → menú ⋮ en Popover. */
12798
+ readonly actions: _angular_core.InputSignal<readonly IusKanbanCardAction[] | undefined>;
12799
+ /** La marca arrastrable el orquestador (cursor grab y grip activo). */
12800
+ readonly draggable: _angular_core.InputSignalWithTransform<boolean, unknown>;
12801
+ /** Id del ítem (se refleja en `data-item-id`). */
12802
+ readonly itemId: _angular_core.InputSignal<IusKanbanId | undefined>;
12803
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
12804
+ /**
12805
+ * Fuerza si la card es interactiva. Por defecto lo es cuando `(clicked)` está
12806
+ * enlazado (el `onClick` del golden); el board lo fija según `multiSelect`.
12807
+ */
12808
+ readonly clickable: _angular_core.InputSignal<boolean | undefined>;
12809
+ /** Clic en la card (abrir detalle). No dispara tras arrastrar. */
12810
+ readonly clicked: EventEmitter<MouseEvent | KeyboardEvent>;
12811
+ private readonly leadingRef;
12812
+ private readonly trailingRef;
12813
+ private readonly bodyRef;
12814
+ protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
12815
+ private didDrag;
12816
+ protected readonly hasLeading: _angular_core.Signal<boolean>;
12817
+ protected readonly hasTrailing: _angular_core.Signal<boolean>;
12818
+ protected readonly hasCustomBody: _angular_core.Signal<boolean>;
12819
+ protected readonly lines: _angular_core.Signal<ResolvedLine[]>;
12820
+ protected readonly captionLine: _angular_core.Signal<ResolvedLine | null>;
12821
+ protected readonly resolvedTags: _angular_core.Signal<ResolvedTag[]>;
12822
+ protected readonly assigneeTpl: _angular_core.Signal<TemplateRef<unknown> | null>;
12823
+ protected readonly assigneeCfg: _angular_core.Signal<IusKanbanCardAssignee | null>;
12824
+ protected readonly menuRows: _angular_core.Signal<KanbanMenuRow[]>;
12825
+ protected readonly hasActions: _angular_core.Signal<boolean>;
12826
+ protected readonly hasCorner: _angular_core.Signal<boolean>;
12827
+ protected get isClickable(): boolean;
12828
+ constructor();
12829
+ protected flagAriaLabel(flag: IusKanbanCardFlag): string | undefined;
12830
+ /** El Popover solo abre por clic: Enter/Espacio sobre el ⋮ hacen lo mismo. */
12831
+ protected toggleMenu(event: Event): void;
12832
+ protected onAction(action: IusKanbanCardAction, event: MouseEvent): void;
12833
+ protected onClick(event: MouseEvent): void;
12834
+ protected onKeydown(event: KeyboardEvent): void;
12835
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KanbanCardComponent, never>;
12836
+ 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>;
12837
+ }
12838
+
12839
+ /**
12840
+ * KanbanColumn — Ius Design v2 (familia kanban).
12841
+ *
12842
+ * Silo de un board: cabecera (punto + título + contador + ⋮) sobre la lista
12843
+ * vertical de KanbanCards (proyectadas), estado vacío (EmptyState compact) y
12844
+ * pie «Agregar». `bare` = lista contenedora sin cromo que crece con su contenido
12845
+ * y no corta la rueda (el scroll lo pone el ancestro). `collapsible` la pliega a
12846
+ * una franja de 44px que sigue siendo destino de arrastre.
12847
+ *
12848
+ * **Presentacional**: el arrastre lo cablea KanbanBoard con CDK drag-drop
12849
+ * (`cdkDropList` sobre el host con `.ius-kbcol__body`/`.ius-kbcol__strip` como
12850
+ * contenedor y `cdkDrag` para el reorden de columnas; la cabecera y la franja
12851
+ * son su `cdkDragHandle`). `bodyRef` expone el cuerpo desplazable.
12852
+ * Fuente de verdad: `KanbanColumn.jsx` + `KanbanColumn.d.ts` + `KanbanColumn.ng-spec.md`.
12853
+ */
12854
+ declare class KanbanColumnComponent {
12855
+ /** Título de la etapa. */
12856
+ readonly title: _angular_core.InputSignal<string | undefined>;
12857
+ /** Color del punto de cabecera y del contador. */
12858
+ readonly tone: _angular_core.InputSignal<IusKanbanTone>;
12859
+ /** Contador (píldora). Suele ser el nº de tarjetas. */
12860
+ readonly count: _angular_core.InputSignal<number | undefined>;
12861
+ /** Color del módulo para el resaltado de drop y el placeholder. */
12862
+ readonly accent: _angular_core.InputSignal<IusKanbanTone>;
12863
+ /** Acciones de columna → menú ⋮. */
12864
+ readonly actions: _angular_core.InputSignal<readonly IusKanbanCardAction[] | undefined>;
12865
+ readonly addLabel: _angular_core.InputSignalWithTransform<string, string | undefined>;
12866
+ /**
12867
+ * Muestra el pie «Agregar». Por defecto aparece cuando `(addItem)` está
12868
+ * enlazado (el `onAddItem` del golden); el board lo fija explícito.
12869
+ */
12870
+ readonly addable: _angular_core.InputSignal<boolean | undefined>;
12871
+ /** Sin tarjetas: estado vacío (EmptyState compact). */
12872
+ readonly empty: _angular_core.InputSignalWithTransform<boolean, unknown>;
12873
+ readonly emptyLabel: _angular_core.InputSignalWithTransform<string, string | undefined>;
12874
+ readonly emptyIcon: _angular_core.InputSignalWithTransform<string, string | undefined>;
12875
+ /** Sin cabecera/fondo: lista contenedora, sin scroll propio. */
12876
+ readonly bare: _angular_core.InputSignalWithTransform<boolean, unknown>;
12877
+ /** Ancho fijo (px). Ignorado en `bare`. */
12878
+ readonly width: _angular_core.InputSignalWithTransform<number, unknown>;
12879
+ /** Botón de plegar en la cabecera. Ignorado en `bare`. */
12880
+ readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
12881
+ /** Plegada (controlado). */
12882
+ readonly collapsed: _angular_core.InputSignal<boolean | undefined>;
12883
+ /** Plegada al montar (no controlado). */
12884
+ readonly defaultCollapsed: _angular_core.InputSignalWithTransform<boolean, unknown>;
12885
+ /** Cabecera arrastrable (reorden de columnas). */
12886
+ readonly draggable: _angular_core.InputSignalWithTransform<boolean, unknown>;
12887
+ /** Esta columna se está arrastrando. */
12888
+ readonly dragging: _angular_core.InputSignalWithTransform<boolean, unknown>;
12889
+ /** Destino de drop actual (resaltado). */
12890
+ readonly over: _angular_core.InputSignalWithTransform<boolean, unknown>;
12891
+ /** Botón «Agregar» del pie. */
12892
+ readonly addItem: EventEmitter<MouseEvent>;
12893
+ /** Se pidió plegar (`true`) o desplegar (`false`). */
12894
+ readonly collapsedChange: EventEmitter<boolean>;
12895
+ /** Cuerpo desplazable (el `bodyRef` del golden). */
12896
+ readonly bodyRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
12897
+ private readonly innerCollapsed;
12898
+ protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
12899
+ protected readonly isCollapsed: _angular_core.Signal<boolean>;
12900
+ protected readonly hostWidth: _angular_core.Signal<string>;
12901
+ protected readonly countTone: _angular_core.Signal<IusKanbanTone>;
12902
+ protected readonly emptyTone: _angular_core.Signal<IusEmptyStateTone | undefined>;
12903
+ protected readonly menuRows: _angular_core.Signal<KanbanMenuRow[]>;
12904
+ protected readonly hasActions: _angular_core.Signal<boolean>;
12905
+ protected get showAdd(): boolean;
12906
+ protected setCollapsed(value: boolean, event: MouseEvent): void;
12907
+ protected onAction(action: IusKanbanCardAction, event: MouseEvent): void;
12908
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KanbanColumnComponent, never>;
12909
+ 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>;
12910
+ }
12911
+
12912
+ type IusKanbanBoardVariant = 'board' | 'list';
12913
+ interface IusKanbanBoardColumn {
12914
+ /** Id único de la columna/etapa. */
12915
+ id: string;
12916
+ title?: string;
12917
+ /** Color del punto + contador de la cabecera. */
12918
+ tone?: IusKanbanTone;
12919
+ /** Acento propio (anula el del board para esta columna). */
12920
+ accent?: IusKanbanTone;
12921
+ /** Contador explícito (por defecto = nº de tarjetas). */
12922
+ count?: number;
12923
+ /** Acciones de columna → menú ⋮. */
12924
+ actions?: IusKanbanCardAction[];
12925
+ /** Ancho propio (px). */
12926
+ width?: number;
12927
+ addLabel?: string;
12928
+ emptyLabel?: string;
12929
+ /** Columna sin cromo (lista contenedora). */
12930
+ bare?: boolean;
12931
+ /** Plegable a franja; plegada sigue siendo destino de drop (la tarjeta va al final). */
12932
+ collapsible?: boolean;
12933
+ /** Plegada (controlado; usar con `(columnCollapse)`). */
12934
+ collapsed?: boolean;
12935
+ /** Plegada al montar (no controlado). */
12936
+ defaultCollapsed?: boolean;
12937
+ }
12938
+ /** Contexto de `leading`/`trailing`/`content` de un ítem: `let-item`. */
12939
+ interface IusKanbanItemContext {
12940
+ $implicit: IusKanbanBoardItem;
12941
+ }
12942
+ /** Ítem: `id` (+ `columnId` en board) y las props de KanbanCard. */
12943
+ interface IusKanbanBoardItem {
12944
+ id: IusKanbanId;
12945
+ /** Columna a la que pertenece (ignorado en `list`). */
12946
+ columnId?: string;
12947
+ overline?: IusKanbanCardLine;
12948
+ title?: IusKanbanCardLine;
12949
+ subtitle?: IusKanbanCardLine;
12950
+ paragraph?: IusKanbanCardLine;
12951
+ caption?: IusKanbanCardLine;
12952
+ tags?: IusKanbanCardTag[];
12953
+ assignee?: IusKanbanCardAssignee | TemplateRef<unknown>;
12954
+ flag?: IusKanbanCardFlag;
12955
+ leading?: TemplateRef<IusKanbanItemContext>;
12956
+ trailing?: TemplateRef<IusKanbanItemContext>;
12957
+ /** Cuerpo libre (el `children` del golden). */
12958
+ content?: TemplateRef<IusKanbanItemContext>;
12959
+ actions?: IusKanbanCardAction[];
12960
+ ariaLabel?: string;
12961
+ layout?: IusKanbanCardLayout;
12962
+ handle?: boolean;
12963
+ disabled?: boolean;
12964
+ selected?: boolean;
12965
+ /** Clic propio del ítem (gana sobre `(itemClick)`). */
12966
+ onClick?: (event: MouseEvent | KeyboardEvent) => void;
12967
+ }
12968
+ interface IusKanbanItemMoveInfo {
12969
+ /** Columna de origen (undefined en `list`). */
12970
+ from?: string;
12971
+ /** Columna destino (undefined en `list`). */
12972
+ to?: string;
12973
+ /** Índice final dentro de la columna destino (-1 = al final, «Mover todas a…»). */
12974
+ index: number;
12975
+ }
12976
+ interface IusKanbanItemMoveEvent {
12977
+ itemId: IusKanbanId;
12978
+ info: IusKanbanItemMoveInfo;
12979
+ }
12980
+ interface IusKanbanItemsMoveEvent {
12981
+ itemIds: IusKanbanId[];
12982
+ info: IusKanbanItemMoveInfo;
12983
+ }
12984
+ /** Lo que el golden esparce como `dragProps` en `renderCard`. */
12985
+ interface IusKanbanCardDragProps {
12986
+ draggable: boolean;
12987
+ dragging: boolean;
12988
+ itemId: IusKanbanId;
12989
+ accent: IusKanbanTone;
12990
+ layout: IusKanbanCardLayout;
12991
+ handle: boolean;
12992
+ }
12993
+ /** Contexto de `renderCard`: `let-item let-drag="drag"`. */
12994
+ interface IusKanbanRenderCardContext {
12995
+ $implicit: IusKanbanBoardItem;
12996
+ drag: IusKanbanCardDragProps;
12997
+ }
12998
+ /**
12999
+ * KanbanBoard — Ius Design v2 (familia kanban). **Orquestador de drag-and-drop.**
13000
+ *
13001
+ * `variant="board"`: columnas (pipeline) — mover tarjetas entre/dentro de etapas
13002
+ * y reordenar columnas por la cabecera. `variant="list"`: sortable vertical de
13003
+ * una sola lista sin cromo (campos de plantilla, checklist); crece con su
13004
+ * contenido y deja pasar la rueda al ancestro (`ius-scroll-area`).
13005
+ *
13006
+ * DnD con `@angular/cdk/drag-drop`: `cdkDropList` por columna (conectadas por
13007
+ * `cdkDropListGroup`), `cdkDrag` por tarjeta y lista horizontal de columnas; el
13008
+ * índice sale del CDK. Estado de orden **no controlado** (resincroniza si
13009
+ * `items`/`columns` cambian por referencia) y avisa por outputs. Multi-selección
13010
+ * Cmd/Ctrl-click (arrastrar una seleccionada mueve la pila), «Mover todas a…»
13011
+ * en el ⋮ y columnas plegables.
13012
+ * Fuente de verdad: `KanbanBoard.jsx` + `KanbanBoard.d.ts` + `KanbanBoard.ng-spec.md`.
13013
+ */
13014
+ declare class KanbanBoardComponent {
13015
+ private readonly injector;
13016
+ /** Columnas/etapas (board). En `list` solo se toma la primera como config. */
13017
+ readonly columns: _angular_core.InputSignal<readonly IusKanbanBoardColumn[]>;
13018
+ /** Ítems; cada uno con `id` y, en board, `columnId`. */
13019
+ readonly items: _angular_core.InputSignal<readonly IusKanbanBoardItem[]>;
13020
+ /** Color del módulo (anillos de selección/drop). */
13021
+ readonly accent: _angular_core.InputSignal<IusKanbanTone>;
13022
+ readonly variant: _angular_core.InputSignal<IusKanbanBoardVariant>;
13023
+ /** Permite arrastrar tarjetas. */
13024
+ readonly sortable: _angular_core.InputSignalWithTransform<boolean, unknown>;
13025
+ /** Reordenar columnas arrastrando su cabecera (solo board). */
13026
+ readonly reorderColumns: _angular_core.InputSignalWithTransform<boolean, unknown>;
13027
+ /** Default `stacked` (board) / `row` (list). */
13028
+ readonly cardLayout: _angular_core.InputSignal<IusKanbanCardLayout | undefined>;
13029
+ /** Default false (board) / true (list). */
13030
+ readonly cardHandle: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
13031
+ /**
13032
+ * Render custom de cada tarjeta. Contexto `let-item let-drag="drag"`: aplicar
13033
+ * `drag.draggable/dragging/handle/itemId/accent/layout` al `ius-kanban-card`.
13034
+ */
13035
+ readonly renderCard: _angular_core.InputSignal<TemplateRef<IusKanbanRenderCardContext> | undefined>;
13036
+ /** Ancho por defecto de columna (px). */
13037
+ readonly columnWidth: _angular_core.InputSignalWithTransform<number, unknown>;
13038
+ /** Id de la tarjeta seleccionada (anillo accent). */
13039
+ readonly selectedItemId: _angular_core.InputSignal<IusKanbanId | undefined>;
13040
+ /** Cmd/Ctrl-click selecciona varias; arrastrar una seleccionada mueve la pila. */
13041
+ readonly multiSelect: _angular_core.InputSignalWithTransform<boolean, unknown>;
13042
+ /** Inyecta «Mover todas a …» en el ⋮ de cada columna con tarjetas. */
13043
+ readonly bulkMove: _angular_core.InputSignalWithTransform<boolean, unknown>;
13044
+ readonly addColumnLabel: _angular_core.InputSignal<string>;
13045
+ /** Tarjeta movida. */
13046
+ readonly itemMove: EventEmitter<IusKanbanItemMoveEvent>;
13047
+ /** Pila movida (multi-selección o «Mover todas a…»). Si no se enlaza, el bulk emite `itemMove` por id. */
13048
+ readonly itemsMove: EventEmitter<IusKanbanItemsMoveEvent>;
13049
+ /** Clic en una tarjeta (abrir detalle/Drawer). */
13050
+ readonly itemClick: EventEmitter<IusKanbanBoardItem>;
13051
+ /** Cambió la multi-selección. */
13052
+ readonly selectionChange: EventEmitter<IusKanbanId[]>;
13053
+ /** Se pidió plegar/desplegar una columna `collapsible`. */
13054
+ readonly columnCollapse: EventEmitter<{
13055
+ columnId: string;
13056
+ collapsed: boolean;
13057
+ }>;
13058
+ /** Columna reordenada (al soltar). */
13059
+ readonly columnMove: EventEmitter<{
13060
+ columnId: string;
13061
+ index: number;
13062
+ }>;
13063
+ /** Botón «Agregar» al pie de cada columna (undefined en `list`). */
13064
+ readonly addItem: EventEmitter<string | undefined>;
13065
+ /** Botón para crear columna al final del board. */
13066
+ readonly addColumn: EventEmitter<MouseEvent>;
13067
+ protected readonly isList: _angular_core.Signal<boolean>;
13068
+ protected readonly effLayout: _angular_core.Signal<IusKanbanCardLayout>;
13069
+ protected readonly effHandle: _angular_core.Signal<boolean>;
13070
+ protected readonly cols: _angular_core.WritableSignal<IusKanbanBoardColumn[]>;
13071
+ private readonly data;
13072
+ private readonly collapsedMap;
13073
+ private readonly sel;
13074
+ /** Ids que viajan en el arrastre en curso (la pila si hay multi-selección). */
13075
+ private readonly dragIds;
13076
+ protected readonly overCol: _angular_core.WritableSignal<string | null>;
13077
+ /** Alto de la tarjeta tomada: el placeholder lo copia (el golden lo estima de una card). */
13078
+ protected readonly phHeight: _angular_core.WritableSignal<number | null>;
13079
+ private readonly dragInjectors;
13080
+ protected readonly columnActions: _angular_core.Signal<Map<string, IusKanbanCardAction[]>>;
13081
+ protected orderOf(colId: string): IusKanbanId[];
13082
+ protected itemOf(id: IusKanbanId): IusKanbanBoardItem | undefined;
13083
+ protected countOf(col: IusKanbanBoardColumn): number | undefined;
13084
+ protected isColCollapsed(col: IusKanbanBoardColumn): boolean;
13085
+ /** Vacía = sin tarjetas y sin un arrastre encima (el golden pinta ahí el placeholder). */
13086
+ protected isEmpty(col: IusKanbanBoardColumn): boolean;
13087
+ protected isInteractive(item: IusKanbanBoardItem): boolean;
13088
+ protected isSelected(item: IusKanbanBoardItem): boolean;
13089
+ protected isDragging(id: IusKanbanId): boolean;
13090
+ protected itemContext(item: IusKanbanBoardItem): IusKanbanItemContext;
13091
+ protected renderContext(item: IusKanbanBoardItem): IusKanbanRenderCardContext;
13092
+ /**
13093
+ * Injector del `renderCard`: el template del consumidor se declara fuera del
13094
+ * board, así que la card que pinta solo ve su `cdkDrag` (grip y supresión de
13095
+ * clic tras arrastrar) si se le inyecta aquí.
13096
+ */
13097
+ protected dragInjector(drag: CdkDrag): Injector;
13098
+ protected onCardClick(item: IusKanbanBoardItem, event: MouseEvent | KeyboardEvent): void;
13099
+ private clearSelection;
13100
+ /** Selección en orden del tablero, incluyendo el ancla arrastrada. */
13101
+ private orderedSelection;
13102
+ protected measure(event: Event): void;
13103
+ protected onDragStarted(event: CdkDragStart<IusKanbanId>, colId: string): void;
13104
+ protected onListExited(colId: string): void;
13105
+ protected onItemDrop(event: CdkDragDrop<string, string, IusKanbanId>): void;
13106
+ /**
13107
+ * Índice de inserción de la pila entre las tarjetas que NO viajan: se aplica el
13108
+ * movimiento del ancla que reporta el CDK y se cuentan las ajenas que quedan
13109
+ * antes. En una columna plegada va al final.
13110
+ */
13111
+ private dropIndex;
13112
+ /** Mueve 1..n ids a `to` en `index`, contiguos y en su orden relativo. */
13113
+ private performMoveIds;
13114
+ /** «Mover todas a …» del menú ⋮ de columna. */
13115
+ private moveAll;
13116
+ protected onColumnDrop(event: CdkDragDrop<unknown, unknown, string>): void;
13117
+ protected toggleCollapse(col: IusKanbanBoardColumn, collapsed: boolean): void;
13118
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KanbanBoardComponent, never>;
13119
+ 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>;
13120
+ }
13121
+
13122
+ 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 };
13123
+ 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 };