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