@litigiovirtual/ius-design-components 2.1.25 → 2.2.1

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.
@@ -1125,6 +1125,11 @@ declare class IconButtonComponent implements OnInit {
1125
1125
  ariaLabel?: string;
1126
1126
  /** Etiqueta breve en hover/focus (compone `ius-tooltip`). No sustituye a `ariaLabel`. */
1127
1127
  tooltip?: string;
1128
+ /**
1129
+ * Passthrough `aria-pressed` al `<button>` (equivalente del `...rest` del
1130
+ * golden; lo usa AnswerFeedback al componer los pulgares como toggles).
1131
+ */
1132
+ ariaPressed?: boolean;
1128
1133
  /** Colocación del tooltip. */
1129
1134
  tooltipPlacement: IusPopoverPlacement;
1130
1135
  /** Emite al pulsar. Nunca `click` (colisión con el nativo del host). */
@@ -1133,7 +1138,7 @@ declare class IconButtonComponent implements OnInit {
1133
1138
  protected get computedLabel(): string;
1134
1139
  protected onClick(event: MouseEvent): void;
1135
1140
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconButtonComponent, never>;
1136
- 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; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
1141
+ 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>;
1137
1142
  static ngAcceptInputType_disabled: unknown;
1138
1143
  }
1139
1144
 
@@ -7211,8 +7216,10 @@ declare class SkeletonComponent {
7211
7216
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonComponent, "ius-skeleton", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "lines": { "alias": "lines"; "required": false; "isSignal": true; }; "lastLineWidth": { "alias": "lastLineWidth"; "required": false; "isSignal": true; }; "bars": { "alias": "bars"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
7212
7217
  }
7213
7218
 
7214
- /** Nivel tipográfico del título (h2 para portadas; h3 default). */
7215
- type IusPageHeaderTitleLevel = 'h1' | 'h2' | 'h3';
7219
+ /** Nivel tipográfico del título. Si se omite: `h3` en densidad `default`, `h4` en `compact`. */
7220
+ type IusPageHeaderTitleLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5';
7221
+ /** Densidad del encabezado: `compact` reduce paddings/gaps sin quitar información. */
7222
+ type IusPageHeaderDensity = 'default' | 'compact';
7216
7223
  /** Breadcrumb proyectado (solo detalle): `<ius-breadcrumb iusPageHeaderBreadcrumb />`. */
7217
7224
  declare class IusPageHeaderBreadcrumbDirective {
7218
7225
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusPageHeaderBreadcrumbDirective, never>;
@@ -7247,7 +7254,7 @@ declare class IusPageHeaderToolbarDirective {
7247
7254
  * PageHeader — Ius Design v2 (familia navigation).
7248
7255
  *
7249
7256
  * Encabezado **de la vista** dentro del `main`: [breadcrumb/volver] ·
7250
- * overline · título (h1/h2/h3) + subtítulo · acciones · [toolbar] ·
7257
+ * overline · título (h1…h5) + subtítulo · acciones · [toolbar] ·
7251
7258
  * [divider/surface]. Cáscara por slots: no conoce datos. Fuente de verdad:
7252
7259
  * `PageHeader.jsx` + `PageHeader.d.ts` + `PageHeader.ng-spec.md`.
7253
7260
  *
@@ -7261,6 +7268,10 @@ declare class IusPageHeaderToolbarDirective {
7261
7268
  * `title`/`subtitle`/`overline` son proyección en el contrato (nodos): cada
7262
7269
  * uno acepta el input de texto O contenido proyectado con su directiva
7263
7270
  * (`iusPageHeaderTitle`…), como ListCard. El input, si viene, manda.
7271
+ *
7272
+ * `density="compact"`: paddings/gaps reducidos, subtítulo tenue (fs-sm,
7273
+ * text-tertiary), `titleLevel` `h4` por defecto y `--ius-control-size: small`
7274
+ * para los controles proyectados. Objetivo: encabezado de detalle ≤ ~140px.
7264
7275
  */
7265
7276
  declare class PageHeaderComponent {
7266
7277
  /** Título de la vista. */
@@ -7269,8 +7280,13 @@ declare class PageHeaderComponent {
7269
7280
  readonly subtitle: _angular_core.InputSignal<string | undefined>;
7270
7281
  /** Categoría / sección sobre el título (mayúsculas). */
7271
7282
  readonly overline: _angular_core.InputSignal<string | undefined>;
7272
- /** Nivel tipográfico del título. */
7273
- readonly titleLevel: _angular_core.InputSignal<IusPageHeaderTitleLevel>;
7283
+ /**
7284
+ * Nivel tipográfico del título. Si se omite, es `h3` en densidad `default`
7285
+ * y `h4` en `compact` (igual que el golden).
7286
+ */
7287
+ readonly titleLevel: _angular_core.InputSignal<IusPageHeaderTitleLevel | undefined>;
7288
+ /** Densidad del encabezado. Default `default` (comportamiento histórico). */
7289
+ readonly density: _angular_core.InputSignal<IusPageHeaderDensity>;
7274
7290
  /** Muestra la flecha de volver (leading). */
7275
7291
  readonly showBack: _angular_core.InputSignalWithTransform<boolean, unknown>;
7276
7292
  /** Texto accesible de la flecha de volver. */
@@ -7293,10 +7309,12 @@ declare class PageHeaderComponent {
7293
7309
  protected readonly hasOverlineSlot: _angular_core.Signal<boolean>;
7294
7310
  protected readonly hasTitleSlot: _angular_core.Signal<boolean>;
7295
7311
  protected readonly hasSubtitleSlot: _angular_core.Signal<boolean>;
7312
+ /** Nivel efectivo del título: el input manda; si no, `h3`/`h4` según densidad. */
7313
+ protected readonly titleLevelEfectivo: _angular_core.Signal<IusPageHeaderTitleLevel>;
7296
7314
  /** Volver es leading: si hay breadcrumb, encabeza esa fila. */
7297
7315
  protected readonly backInBreadcrumb: _angular_core.Signal<boolean>;
7298
7316
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PageHeaderComponent, never>;
7299
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PageHeaderComponent, "ius-page-header", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "overline": { "alias": "overline"; "required": false; "isSignal": true; }; "titleLevel": { "alias": "titleLevel"; "required": false; "isSignal": true; }; "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "surface": { "alias": "surface"; "required": false; "isSignal": true; }; }, { "back": "back"; }, ["breadcrumbRef", "actionsRef", "toolbarRef", "overlineRef", "titleRef", "subtitleRef"], ["[iusPageHeaderBreadcrumb]", "[iusPageHeaderOverline]", "[iusPageHeaderTitle]", "[iusPageHeaderSubtitle]", "[iusPageHeaderActions]", "[iusPageHeaderToolbar]"], true, never>;
7317
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PageHeaderComponent, "ius-page-header", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "overline": { "alias": "overline"; "required": false; "isSignal": true; }; "titleLevel": { "alias": "titleLevel"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "surface": { "alias": "surface"; "required": false; "isSignal": true; }; }, { "back": "back"; }, ["breadcrumbRef", "actionsRef", "toolbarRef", "overlineRef", "titleRef", "subtitleRef"], ["[iusPageHeaderBreadcrumb]", "[iusPageHeaderOverline]", "[iusPageHeaderTitle]", "[iusPageHeaderSubtitle]", "[iusPageHeaderActions]", "[iusPageHeaderToolbar]"], true, never>;
7300
7318
  }
7301
7319
 
7302
7320
  /**
@@ -8000,31 +8018,41 @@ declare class LineChartComponent implements AfterViewInit, OnDestroy {
8000
8018
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartComponent, "ius-line-chart", never, { "categories": { "alias": "categories"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "yAxisWidth": { "alias": "yAxisWidth"; "required": false; "isSignal": true; }; "showXAxis": { "alias": "showXAxis"; "required": false; "isSignal": true; }; "showYAxis": { "alias": "showYAxis"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "yTicks": { "alias": "yTicks"; "required": false; "isSignal": true; }; "yMin": { "alias": "yMin"; "required": false; "isSignal": true; }; "yMax": { "alias": "yMax"; "required": false; "isSignal": true; }; "area": { "alias": "area"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "showPoints": { "alias": "showPoints"; "required": false; "isSignal": true; }; "showValueLabels": { "alias": "showValueLabels"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showTooltip": { "alias": "showTooltip"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "xFormat": { "alias": "xFormat"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "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; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8001
8019
  }
8002
8020
 
8003
- /** Familia de color válida (semánticas + frutas + neutral). */
8021
+ /** Familia de color válida (semánticas + frutas categóricas + neutral). */
8004
8022
  type Hue = 'primary' | 'info' | 'success' | 'warning' | 'danger' | 'durazno' | 'banano' | 'sandia' | 'arandano' | 'uva' | 'aguacate' | 'neutral';
8005
8023
  /**
8006
- * Categorías del catálogo central. Los módulos lo extienden en runtime con
8007
- * `customMap`, así que donde se acepte una categoría se admite también `string`.
8024
+ * Categorías del catálogo central. Los módulos pueden extenderlo en runtime con
8025
+ * `customMap`, así que donde se acepte una category se admite también `string`.
8008
8026
  */
8009
8027
  type CategoryKey = 'termino' | 'plazo' | 'vencido' | 'pago' | 'audiencia' | 'diligencia' | 'tarea' | 'reunion' | 'recordatorio' | 'notificacion' | 'evento' | 'libre' | (string & {});
8010
8028
  interface CategoryDef {
8029
+ /** Etiqueta legible (dropdowns, leyendas). */
8011
8030
  label: string;
8031
+ /** Familia de color con la que se pinta. */
8012
8032
  hue: Hue;
8013
8033
  /** `state` = comunica urgencia (semántica) · `identity` = sin estado (fruta). */
8014
8034
  tone: 'state' | 'identity';
8015
8035
  }
8016
- /** Definición central: category → { label legible, hue (familia de color), tone }. */
8036
+ /** Definición central: category → { label, hue, tone }. */
8017
8037
  declare const CATEGORY_DEF: Readonly<Record<string, CategoryDef>>;
8018
- /** Mapa directo category → hue (paralelo a EVENT_KIND_ICON). */
8038
+ /** Mapa directo category → hue (paralelo a EVENT_KIND_ICON de EventCatalog). */
8019
8039
  declare const CATEGORY_HUE: Readonly<Record<string, Hue>>;
8020
8040
  /** Lista de categorías reconocidas (orden del catálogo). */
8021
8041
  declare const CATEGORIES: readonly string[];
8022
- /** Objeto con forma `{ category?, hue? }` cuyo hue se resuelve contra el catálogo. */
8042
+ /** Objeto con forma `{ category?, hue? }` cuyo color se resuelve contra el catálogo. */
8023
8043
  interface CategoryHueSource {
8024
8044
  category?: string;
8025
8045
  hue?: Hue;
8026
8046
  }
8027
- /** Tokens de color resueltos para un hue/categoría — todos strings `var(--ius-*)`. */
8047
+ /**
8048
+ * Resuelve el **hue** de un objeto `{ category?, hue? }`. Orden:
8049
+ * 1) `hue` (escape hatch directo)
8050
+ * 2) `customMap[category]` (extensión por módulo)
8051
+ * 3) Catálogo central
8052
+ * 4) `'neutral'` (fallback seguro — nunca lanza)
8053
+ */
8054
+ declare function resolveCategoryHue(o: CategoryHueSource | null | undefined, customMap?: Readonly<Record<string, Hue>>): Hue;
8055
+ /** Tokens de color resueltos para un hue/categoría (todos strings `var(--ius-*)`). */
8028
8056
  interface CategoryColors {
8029
8057
  /** Punto / ícono / barra de acento (hue-600). */
8030
8058
  accent: string;
@@ -8040,31 +8068,2262 @@ interface CategoryColors {
8040
8068
  onSolid: string;
8041
8069
  hue: Hue;
8042
8070
  }
8043
- /** Opción lista para un dropdown/leyenda (value · label · hue). */
8071
+ /**
8072
+ * Devuelve los tokens de color resueltos para un hue, listos para un pill /
8073
+ * chip / insignia:
8074
+ * accent — punto / ícono / barra (hue-600)
8075
+ * fill — fondo suave (hue-100)
8076
+ * border — borde (hue-200)
8077
+ * text — texto sobre `fill` (hue-800)
8078
+ * solid — relleno fuerte (hue-500)
8079
+ * onSolid — texto sobre `solid`
8080
+ * Acepta un hue (string) o un objeto `{ category?, hue? }`. Devuelve SIEMPRE
8081
+ * strings de token: el consumidor los aplica a `style`/CSS, aquí no se resuelve
8082
+ * ningún color computado.
8083
+ */
8084
+ declare function categoryColors(hueOrObj: Hue | CategoryHueSource, customMap?: Readonly<Record<string, Hue>>): CategoryColors;
8085
+ /** Opción lista para un dropdown / leyenda por categoría. */
8044
8086
  interface CategoryOption {
8045
8087
  value: string;
8046
8088
  label: string;
8047
8089
  hue: Hue;
8048
8090
  }
8091
+ /** Opciones listas para un dropdown/leyenda (value · label · hue). */
8092
+ declare function categoryOptions(): CategoryOption[];
8093
+
8094
+ /** Tipo de nodo → ícono por defecto. */
8095
+ type IusEntityRowKind = 'empresa' | 'persona' | 'expediente' | 'proceso';
8096
+ /** Color del módulo para el estado activo — 6 semánticas + 6 frutas (como el NavRail). */
8097
+ type IusEntityRowAccent = 'primary' | 'info' | 'success' | 'warning' | 'danger' | 'neutral' | 'durazno' | 'banano' | 'sandia' | 'arandano' | 'uva' | 'aguacate';
8098
+ /**
8099
+ * Tono de la señal de novedad. `info` = «no leído nuevo»; `warning` queda
8100
+ * reservado para «no leído vencido»; `danger` nunca para esto.
8101
+ */
8102
+ type IusEntityRowNoveltyTone = 'info' | 'warning' | 'primary' | 'success' | 'danger' | 'neutral';
8103
+ /**
8104
+ * Acción del menú ⋮ de la fila. Misma forma que `IusMenuOption` (la que consume
8105
+ * `ius-dropdown`): `group` inserta divisores y `danger` la pinta destructiva.
8106
+ */
8107
+ type IusEntityRowAction = IusMenuOption;
8108
+ /** Nombre rico proyectado (alternativa al input `label`). */
8109
+ declare class IusEntityRowLabelDirective {
8110
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusEntityRowLabelDirective, never>;
8111
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusEntityRowLabelDirective, "[iusEntityRowLabel]", never, {}, {}, never, never, true, never>;
8112
+ }
8113
+ /** Subtítulo rico proyectado (alternativa al input `sublabel`). */
8114
+ declare class IusEntityRowSublabelDirective {
8115
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusEntityRowSublabelDirective, never>;
8116
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusEntityRowSublabelDirective, "[iusEntityRowSublabel]", never, {}, {}, never, never, true, never>;
8117
+ }
8118
+ /**
8119
+ * EntityRow — Ius Design v2 (familia navigation).
8120
+ *
8121
+ * Fila base del árbol del **EntityNavigator** (Clientes & Expedientes): un nodo
8122
+ * navegable —cliente, expediente o proceso— con chevron de expandir (si tiene
8123
+ * hijos), ícono según el tipo, nombre (+ subtítulo) y contador. Se sangra por
8124
+ * `level` (22 px por nivel, cualquier profundidad) y resalta el nodo activo con
8125
+ * el color del módulo (`accent`). Fuente de verdad: `EntityRow.jsx` +
8126
+ * `EntityRow.d.ts` + `EntityRow.ng-spec.md`.
8127
+ *
8128
+ * Es **presentacional**: la expansión, la selección y la petición de hijos las
8129
+ * maneja el EntityNavigator; esta fila solo MUESTRA el estado.
8130
+ *
8131
+ * `loading` es la carga **de una fila** (sus hijos, tras expandirla): un
8132
+ * `ius-circular-progress` indeterminado (small, neutral) ocupa el lugar del
8133
+ * chevron, escalado a la caja de 18 px para que la fila no salte, y sin rotar
8134
+ * aunque esté `expanded`. La fila queda `aria-busy` pero sigue navegable y el
8135
+ * resto del árbol no se bloquea. La **primera carga del árbol completo** NO es
8136
+ * esto: va envuelta en Skeleton.
8137
+ *
8138
+ * Novedad (no leídos), una sola lectura en filtro, orden y árbol:
8139
+ * - `unread` > 0 (hoja/proceso) → contador tonal sólido a la derecha + fila
8140
+ * realzada (label semibold), SIN punto guía. Aditivo a `count`.
8141
+ * - `hasUnread` (contenedor) → punto (small) al inicio de la fila, sin número.
8142
+ * Si además llega `unread`, gana `unread`.
8143
+ * - `count` es un conteo NEUTRO de hijos (píldora `count-soft`), nunca una
8144
+ * señal de novedad: por eso se ve distinto del contador de no leídos.
8145
+ *
8146
+ * No usar como fila de menú (MenuItem), de cuenta (AccountItem) ni de acción.
8147
+ *
8148
+ * DECISIONES DE PORT:
8149
+ * 1. `label`/`sublabel` son `ReactNode` en el golden: se portan como input
8150
+ * `string` + slot proyectado (`[iusEntityRowLabel]`, `[iusEntityRowSublabel]`),
8151
+ * el patrón de AccountItem/PersonItem.
8152
+ * 2. El menú ⋮ del golden es `Popover` + `MenuItem` con divisores por `group` y
8153
+ * la acción destructiva al fondo. Aquí lo pone **`ius-dropdown`**, que es
8154
+ * exactamente esa composición ya encapsulada en la librería (Popover+Menu) y
8155
+ * consume la misma forma de opción. El disparador sí es propio
8156
+ * (`.ius-entityrow__act`, 26 px, revelado en hover), proyectado con
8157
+ * `iusDropdownTrigger`, para no perder el aspecto del golden.
8158
+ * 3. Los controles internos del golden son `span[role=button][tabindex=0]`;
8159
+ * aquí son `<button type="button">` reales (mejor teclado, mismo aspecto).
8160
+ * Quedan dentro de la raíz `role="button"` igual que en el golden — es
8161
+ * inherente a una fila de árbol donde el chevron es un objetivo aparte. Las
8162
+ * semánticas de árbol (`role="treeitem"`) las pone el EntityNavigator.
8163
+ * 4. `data-menu-open` se alimenta de `openChange` de `ius-dropdown`, para que
8164
+ * las acciones sigan visibles mientras el menú está abierto (como el golden).
8165
+ */
8166
+ declare class EntityRowComponent {
8167
+ /** Tipo → ícono por defecto. */
8168
+ kind: IusEntityRowKind;
8169
+ /** Ícono explícito (anula el de `kind`). */
8170
+ icon?: string;
8171
+ /** Nombre del nodo. Para markup rico proyectar `[iusEntityRowLabel]`. */
8172
+ label?: string;
8173
+ /** Subtítulo (radicado, tipo…). Para markup rico proyectar `[iusEntityRowSublabel]`. */
8174
+ sublabel?: string;
8175
+ /** Nivel de anidación (0 = raíz). Sangra 22 px por nivel, cualquier profundidad. */
8176
+ level: number;
8177
+ /** Color del módulo para el estado activo. */
8178
+ accent: IusEntityRowAccent;
8179
+ /** Tiene hijos: muestra el chevron. */
8180
+ expandable: boolean;
8181
+ /** Expandido (chevron girado). */
8182
+ expanded: boolean;
8183
+ /** Trayendo el contenido de la fila: aro indeterminado en el lugar del chevron. */
8184
+ loading: boolean;
8185
+ /** Nodo activo: fondo tintado + texto/ícono en el accent. */
8186
+ selected: boolean;
8187
+ /** Fila inerte. */
8188
+ disabled: boolean;
8189
+ /**
8190
+ * Contador NEUTRO de hijos (píldora gris). No implica novedad.
8191
+ * Sin `numberAttribute` a propósito: aquí `undefined` SIGNIFICA «sin contador»
8192
+ * y el transform lo convertiría en `NaN` (que no es `== null` y pintaría una
8193
+ * píldora vacía). Igual para `unread`.
8194
+ */
8195
+ count?: number;
8196
+ /** No leídos de la hoja/proceso (> 0): contador tonal sólido + fila realzada. */
8197
+ unread?: number;
8198
+ /** Padre con algún hijo sin leer: punto al inicio, sin número. Lo gana `unread`. */
8199
+ hasUnread: boolean;
8200
+ /** Tono de la señal de novedad. */
8201
+ noveltyTone: IusEntityRowNoveltyTone;
8202
+ /** Anclado: pin fijo y tintado. Sin escucha de `togglePin` el pin no aparece. */
8203
+ pinned: boolean;
8204
+ /**
8205
+ * Permite ocultar el pin en ESTA fila aunque alguien escuche `togglePin`.
8206
+ * Añadido del port (no está en el golden, que lo expresa omitiendo el
8207
+ * callback `onTogglePin`): en Angular un output enlazado siempre está
8208
+ * «observado», así que hace falta una forma explícita de suprimirlo. Lo usa
8209
+ * EntityNavigator para `EntityNode.pinnable: false` y para no repetir el pin
8210
+ * en los descendientes de un nodo ya anclado.
8211
+ */
8212
+ pinnable: boolean;
8213
+ /** Acciones secundarias del menú ⋮. */
8214
+ actions: readonly IusEntityRowAction[];
8215
+ /** aria del disparador del menú ⋮. */
8216
+ actionsLabel: string;
8217
+ /** Nombre accesible de la fila. */
8218
+ ariaLabel?: string;
8219
+ /** Clic en el chevron. NO propaga al `clicked` de la fila. */
8220
+ readonly toggle: EventEmitter<MouseEvent>;
8221
+ /** Anclar / desanclar. */
8222
+ readonly togglePin: EventEmitter<MouseEvent>;
8223
+ /** Fila pulsada (original `onClick`). */
8224
+ readonly clicked: EventEmitter<MouseEvent>;
8225
+ private readonly labelRef;
8226
+ private readonly sublabelRef;
8227
+ /** Menú ⋮ abierto — mantiene visibles las acciones (espejo de `data-menu-open`). */
8228
+ protected readonly menuOpen: _angular_core.WritableSignal<boolean>;
8229
+ /** Sangría del golden: `10 + level * 22` px. */
8230
+ protected get padLeft(): number;
8231
+ /** Ícono efectivo: `icon` › mapa por `kind` › `folder`. */
8232
+ protected get effIcon(): string;
8233
+ /** Hoja con no leídos: manda sobre `count` y sobre el punto de `hasUnread`. */
8234
+ protected get hasNovelty(): boolean;
8235
+ /** Contenedor con novedad: solo el punto al inicio, sin número. */
8236
+ protected get showNoveltyDot(): boolean;
8237
+ /** El contador neutro cede el sitio al de novedad. */
8238
+ protected get showCount(): boolean;
8239
+ /** El pin solo aparece si alguien escucha `togglePin` (regla del golden) y la fila lo admite. */
8240
+ protected get hasPin(): boolean;
8241
+ protected get hasActions(): boolean;
8242
+ protected get hasRowActions(): boolean;
8243
+ protected get hasSublabel(): boolean;
8244
+ protected get hasLabelSlot(): boolean;
8245
+ /**
8246
+ * Los contadores se ocultan en hover cuando hay acciones, para que no se
8247
+ * solapen con el pin y el ⋮ (`data-dim` del golden).
8248
+ */
8249
+ protected get dim(): string | null;
8250
+ protected get pinLabel(): string;
8251
+ protected get menuLabel(): string;
8252
+ /** Clic en el chevron: expande, y NUNCA navega (navegar y expandir son distintos). */
8253
+ protected onToggleClick(event: MouseEvent): void;
8254
+ protected onPinClick(event: MouseEvent): void;
8255
+ /** Un clic nacido en la zona de acciones no navega (espejo del `closest` del golden). */
8256
+ protected onRowClick(event: MouseEvent): void;
8257
+ protected onKeyDown(event: KeyboardEvent): void;
8258
+ protected onMenuOpenChange(open: boolean): void;
8259
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityRowComponent, never>;
8260
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityRowComponent, "ius-entity-row", never, { "kind": { "alias": "kind"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "label": { "alias": "label"; "required": false; }; "sublabel": { "alias": "sublabel"; "required": false; }; "level": { "alias": "level"; "required": false; }; "accent": { "alias": "accent"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "count": { "alias": "count"; "required": false; }; "unread": { "alias": "unread"; "required": false; }; "hasUnread": { "alias": "hasUnread"; "required": false; }; "noveltyTone": { "alias": "noveltyTone"; "required": false; }; "pinned": { "alias": "pinned"; "required": false; }; "pinnable": { "alias": "pinnable"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "actionsLabel": { "alias": "actionsLabel"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "toggle": "toggle"; "togglePin": "togglePin"; "clicked": "clicked"; }, ["labelRef", "sublabelRef"], ["[iusEntityRowLabel]", "[iusEntityRowSublabel]"], true, never>;
8261
+ static ngAcceptInputType_level: unknown;
8262
+ static ngAcceptInputType_expandable: unknown;
8263
+ static ngAcceptInputType_expanded: unknown;
8264
+ static ngAcceptInputType_loading: unknown;
8265
+ static ngAcceptInputType_selected: unknown;
8266
+ static ngAcceptInputType_disabled: unknown;
8267
+ static ngAcceptInputType_hasUnread: unknown;
8268
+ static ngAcceptInputType_pinned: unknown;
8269
+ static ngAcceptInputType_pinnable: unknown;
8270
+ }
8271
+
8272
+ /** Tamaño del interruptor — small 36×20 · medium 44×24 (default) · large 52×28 px. */
8273
+ type IusSwitchSize = 'small' | 'medium' | 'large';
8274
+ /** Lado del label respecto a la pista. */
8275
+ type IusSwitchLabelPosition = 'left' | 'right';
8049
8276
  /**
8050
- * Resuelve el **hue** de un objeto `{ category?, hue? }`. Orden:
8051
- * 1. `hue` (escape hatch directo) → 2. `customMap[category]` (extensión por
8052
- * módulo) → 3. Catálogo central → 4. `'neutral'` (fallback seguro).
8277
+ * Switch — Ius Design v2 (familia inputs).
8278
+ *
8279
+ * Interruptor de encendido/apagado que **aplica el cambio de inmediato**, a
8280
+ * diferencia del Checkbox, que confirma una selección dentro de un formulario.
8281
+ * Pista neutra con perilla blanca que se tiñe navy (Primary-900) al encender;
8282
+ * halo de foco en la pista. Fuente de verdad: `Switch.jsx` + `Switch.d.ts` +
8283
+ * `Switch.ng-spec.md` (que es un DELTA sobre `Checkbox.ng-spec.md`).
8284
+ *
8285
+ * Hereda el patrón de Checkbox: mismo juego de inputs, halo + estados, y
8286
+ * `ControlValueAccessor` **booleano** para `[(ngModel)]` / `formControl`. Las
8287
+ * diferencias del delta son: visual de pista/perilla, `role="switch"` y que
8288
+ * **no existe** el estado `indeterminate`.
8289
+ *
8290
+ * `showIconHelp` compone `ius-popover` (título + contenido en hover/focus),
8291
+ * igual que Checkbox y TextField; el ícono conserva `tabindex="0"` +
8292
+ * `aria-label` y su clic no alterna el interruptor.
8293
+ *
8294
+ * Para selección múltiple en un formulario → Checkbox; para una entre varias
8295
+ * excluyentes → Radio.
8296
+ *
8297
+ * DECISIONES DE PORT:
8298
+ * 1. `state` (`idle | hover | pressed | focused | disabled`) es SOLO para
8299
+ * demos/especímenes → se omite de la API pública, igual que en Checkbox y
8300
+ * TextField. El playground congela el estado visual con `data-force`, que el
8301
+ * SCSS sí conserva.
8302
+ * 2. `ariaLabel` se añade (no está en el `.d.ts`) por la misma razón que en
8303
+ * Checkbox: un interruptor sin label visible —en una fila de tabla o de
8304
+ * ajustes— necesita nombre accesible.
8305
+ * 3. El orden del DOM es input → pista → label SIEMPRE, y `labelPosition:
8306
+ * 'left'` se resuelve con `order` en el SCSS. El golden reordena los nodos,
8307
+ * pero el halo de foco depende del selector adyacente
8308
+ * `.ius-sw__input:focus-visible + .ius-sw__track`: moverlos lo rompería.
8309
+ * Mismo criterio que el port de Checkbox.
8310
+ */
8311
+ declare class SwitchComponent implements ControlValueAccessor {
8312
+ /** Texto junto al interruptor. Sin label si se omite. */
8313
+ label?: string;
8314
+ /** Lado del label respecto a la pista. */
8315
+ labelPosition: IusSwitchLabelPosition;
8316
+ /** Pastilla "?" junto al label. */
8317
+ showIconHelp: boolean;
8318
+ /** Título del contenido de ayuda (popover). */
8319
+ iconHelpTitle?: string;
8320
+ /** Cuerpo del contenido de ayuda (popover). */
8321
+ iconHelpContent?: string;
8322
+ /** `name` del input. */
8323
+ name?: string;
8324
+ /** `value` del input. */
8325
+ value?: string;
8326
+ /** Etiqueta accesible cuando no hay `label` visible (filas de tabla, ajustes). */
8327
+ ariaLabel?: string;
8328
+ private readonly sizeState;
8329
+ set size(value: IusSwitchSize);
8330
+ get size(): IusSwitchSize;
8331
+ private readonly checkedState;
8332
+ set checked(value: boolean);
8333
+ get checked(): boolean;
8334
+ /** Estado inicial no controlado (alias de `checked` como valor inicial). */
8335
+ set defaultChecked(value: boolean);
8336
+ private readonly disabledState;
8337
+ set disabled(value: boolean);
8338
+ get disabled(): boolean;
8339
+ /** Nuevo booleano (original `onChange(checked)`; nunca `change`). */
8340
+ readonly checkedChange: EventEmitter<boolean>;
8341
+ protected readonly inputId: string;
8342
+ private onChangeCb;
8343
+ private onTouchedCb;
8344
+ protected get ariaChecked(): 'true' | 'false';
8345
+ writeValue(value: boolean): void;
8346
+ registerOnChange(fn: (value: boolean) => void): void;
8347
+ registerOnTouched(fn: () => void): void;
8348
+ setDisabledState(isDisabled: boolean): void;
8349
+ protected onToggle(): void;
8350
+ protected onBlur(): void;
8351
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SwitchComponent, never>;
8352
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SwitchComponent, "ius-switch", 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; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
8353
+ static ngAcceptInputType_showIconHelp: unknown;
8354
+ static ngAcceptInputType_checked: unknown;
8355
+ static ngAcceptInputType_defaultChecked: unknown;
8356
+ static ngAcceptInputType_disabled: unknown;
8357
+ }
8358
+
8359
+ /** Id de nodo. */
8360
+ type IusEntityId = string | number;
8361
+ /** Nodo del árbol. `label`/`sublabel` son string (ReactNode del golden → regla 5 del port). */
8362
+ interface IusEntityNode {
8363
+ id: IusEntityId;
8364
+ kind?: IusEntityRowKind;
8365
+ icon?: string;
8366
+ label?: string;
8367
+ sublabel?: string;
8368
+ /** Marca de novedad: dato para el filtro/orden «Con novedad». NO se pinta en la fila. */
8369
+ novelty?: number;
8370
+ count?: number;
8371
+ /** No leídos de la hoja → EntityRow: contador sólido + fila realzada. */
8372
+ unread?: number;
8373
+ /** Padre con algún hijo sin leer → EntityRow: punto sin número. */
8374
+ hasUnread?: boolean;
8375
+ noveltyTone?: IusEntityRowNoveltyTone;
8376
+ /** Anclado (lo lista el filtro «Anclados»). */
8377
+ pinned?: boolean;
8378
+ /** `false` oculta el pin en este nodo. */
8379
+ pinnable?: boolean;
8380
+ /** Acciones del menú ⋮ de la fila. */
8381
+ actions?: readonly IusEntityRowAction[];
8382
+ children?: IusEntityNode[];
8383
+ /** Tiene hijos aún no cargados: expandible sin `children`; al abrirlo dispara `expandLoad`. */
8384
+ hasChildren?: boolean;
8385
+ /** Fuerza (`true`) o suprime (`false`) el estado de carga y el auto-disparo. */
8386
+ loadingChildren?: boolean;
8387
+ /** Letra para el divisor A–Z (se muestra cuando cambia). */
8388
+ letter?: string;
8389
+ /** Enlace «+ …» bajo los hijos expandidos. */
8390
+ addChildLabel?: string;
8391
+ onAddChild?: (event: MouseEvent) => void;
8392
+ }
8393
+ /** Opción de una faceta paramétrica. */
8394
+ interface IusEntityFilterOption {
8395
+ key: string;
8396
+ label: string;
8397
+ }
8398
+ /** Chip de filtro de la barra, o categoría del menú «+ Filtro». */
8399
+ interface IusEntityFilter {
8400
+ key: string;
8401
+ label: string;
8402
+ count?: number;
8403
+ icon?: string;
8404
+ dot?: boolean;
8405
+ tone?: string;
8406
+ active?: boolean;
8407
+ removable?: boolean;
8408
+ /** Con `picker` + `options` se vuelve una faceta paramétrica. */
8409
+ picker?: 'list' | 'search' | 'tree';
8410
+ options?: readonly IusEntityFilterOption[];
8411
+ }
8412
+ /** Faceta activa (chip paramétrico creado desde «+ Filtro»), combinable en AND. */
8413
+ interface IusEntityFacet {
8414
+ key: string;
8415
+ label: string;
8416
+ value: string;
8417
+ valueLabel?: string;
8418
+ icon?: string;
8419
+ tone?: string;
8420
+ }
8421
+ /** Sección del árbol. */
8422
+ interface IusEntityGroup {
8423
+ key?: string;
8424
+ label?: string;
8425
+ count?: number;
8426
+ icon?: string;
8427
+ items: IusEntityNode[];
8428
+ limit?: number;
8429
+ /** Hay más nodos por traer: pinta centinela + «Cargar más» al pie. */
8430
+ hasMore?: boolean;
8431
+ /** Lote en curso: reemplaza el centinela por un `ius-loading` inline. */
8432
+ loadingMore?: boolean;
8433
+ }
8434
+ /** Segmento del eje de estado. */
8435
+ interface IusEntityStateSegment {
8436
+ value: string;
8437
+ label: string;
8438
+ }
8439
+ /** Alto declarado por tipo de ítem para la ventana de render (px). */
8440
+ interface IusEntityItemHeights {
8441
+ row?: number;
8442
+ group?: number;
8443
+ letter?: number;
8444
+ more?: number;
8445
+ loadMore?: number;
8446
+ addChild?: number;
8447
+ }
8448
+ /** Tipo de ítem de la lista aplanada. */
8449
+ type IusEntityDescKind = 'row' | 'letter' | 'group' | 'more' | 'loadMore' | 'addChild';
8450
+ /** Descriptor de un ítem: lo que el golden resuelve con un `render()` por elemento. */
8451
+ interface IusEntityDesc {
8452
+ key: string;
8453
+ kind: IusEntityDescKind;
8454
+ /** row / addChild */
8455
+ node?: IusEntityNode;
8456
+ level?: number;
8457
+ expandable?: boolean;
8458
+ expanded?: boolean;
8459
+ loading?: boolean;
8460
+ selected?: boolean;
8461
+ canPin?: boolean;
8462
+ /** letter */
8463
+ letter?: string;
8464
+ }
8465
+ /** Sección ya resuelta: descriptores, ventana de render y espaciadores. */
8466
+ interface IusEntitySection {
8467
+ gk: string;
8468
+ group: IusEntityGroup;
8469
+ isPinned: boolean;
8470
+ isCollapsed: boolean;
8471
+ /** Descriptores del cuerpo (sin el encabezado, que se pinta aparte). */
8472
+ descs: IusEntityDesc[];
8473
+ /** Rebanada visible (== `descs` si la sección no entra en ventana). */
8474
+ visible: IusEntityDesc[];
8475
+ padTop: number;
8476
+ padBot: number;
8477
+ /** ShowMore del grupo. */
8478
+ showMore: boolean;
8479
+ moreExpanded: boolean;
8480
+ moreRemaining: number;
8481
+ /** Pie de carga por lotes. */
8482
+ showLoadMore: boolean;
8483
+ loadingMore: boolean;
8484
+ /** El encabezado solo existe en modo agrupado. */
8485
+ hasHeader: boolean;
8486
+ sticky: boolean;
8487
+ }
8488
+ /**
8489
+ * EntityNavigator — Ius Design v2 (familia navigation).
8490
+ *
8491
+ * Segunda columna de un módulo de datos (Vigilancia, CRM…): el navegador de
8492
+ * ENTIDADES en árbol —clientes → expedientes → procesos—. Reúne buscador, eje de
8493
+ * estado, chips de filtro y facetas, orden, secciones agrupadas (anclados, con
8494
+ * novedad, A–Z), el árbol de `ius-entity-row` y un CTA de pie. Fuente de verdad:
8495
+ * `EntityNavigator.jsx` + `.d.ts` + `.ng-spec.md`.
8496
+ *
8497
+ * Presentacional + ESTADO DE UI PROPIO (expansión, selección, filtro activo,
8498
+ * sección fijada) en signals; los datos y su orden los provee el consumidor.
8499
+ * Cada par controlado/no controlado funciona como en el golden: si el input
8500
+ * viene definido manda el consumidor, si no manda el estado interno sembrado por
8501
+ * el `default*`. En Angular son pares two-way: `[(selected)]`, `[(expanded)]`,
8502
+ * `[(collapsed)]`.
8503
+ *
8504
+ * Fila suelta → `ius-entity-row`; secciones del módulo → NavRail.
8505
+ *
8506
+ * DECISIONES DE PORT:
8507
+ * 1. Los `ReactNode` de etiqueta (título, labels de nodo/grupo/filtro, CTA…) se
8508
+ * degradan a `string` (regla 5). El único que necesita markup rico es el
8509
+ * estado vacío: `emptyState` → `emptyStateTemplate: TemplateRef`.
8510
+ * 2. Outputs como `EventEmitter` (no `output()`) porque el contrato del golden
8511
+ * depende de SI HAY LISTENER: sin `onTogglePin` no hay pin, sin `onCreate` no
8512
+ * hay pie. `EventEmitter.observed` es la única forma de saberlo.
8513
+ * 3. El pin por nodo (`pinnable:false`, y descendientes de un anclado) necesitó
8514
+ * un input `pinnable` nuevo en `ius-entity-row`: React lo expresa omitiendo
8515
+ * el callback y en Angular un output enlazado siempre está observado.
8516
+ * 4. El golden acumula «nodos abiertos sin hijos» durante el render y los drena
8517
+ * en un efecto. Aquí es un `computed` puro (`nodosPorCargar`) leído por un
8518
+ * `effect`, que es el equivalente Angular y evita efectos en fase de render.
8519
+ * 5. Los centinelas de lote y las anclas de letra se siguen con `viewChildren`
8520
+ * (consultas signal que se reevalúan solas) en vez de con un hook
8521
+ * post-render.
8522
+ * 6. `onAddChild` se queda como callback del NODO, igual que `actions[].onClick`
8523
+ * (que ya es el contrato de `IusMenuOption` en esta librería).
8524
+ * 7. El golden mete el encabezado de grupo DENTRO de la ventana de render (su
8525
+ * lista de descriptores lo incluye), así que con secciones enormes puede
8526
+ * desaparecer del DOM. Aquí el encabezado se pinta siempre y solo los ítems
8527
+ * entran en ventana; su alto sí cuenta en el cursor aritmético, así que las
8528
+ * posiciones coinciden. Es un elemento extra por sección y a cambio el
8529
+ * encabezado nunca se esfuma al desplazarse.
8530
+ */
8531
+ declare class EntityNavigatorComponent {
8532
+ readonly title: _angular_core.InputSignal<string>;
8533
+ readonly titleIcon: _angular_core.InputSignal<string>;
8534
+ /** `auto` (visible al superar la densidad) · `true` (siempre) · `false` (nunca). */
8535
+ readonly searchable: _angular_core.InputSignal<boolean | "auto">;
8536
+ readonly searchThreshold: _angular_core.InputSignalWithTransform<number, unknown>;
8537
+ readonly searchPlaceholder: _angular_core.InputSignal<string>;
8538
+ /** Valor del buscador (controlado) — habilita la búsqueda en vivo. */
8539
+ readonly searchValue: _angular_core.InputSignal<string | undefined>;
8540
+ readonly filters: _angular_core.InputSignal<readonly IusEntityFilter[]>;
8541
+ /** Selección controlada de los chips (keys activas). */
8542
+ readonly selectedFilters: _angular_core.InputSignal<readonly string[] | undefined>;
8543
+ readonly availableFilters: _angular_core.InputSignal<readonly IusEntityFilter[]>;
8544
+ /** Facetas activas (controlado). Sin este input las mantiene el componente. */
8545
+ readonly activeFacets: _angular_core.InputSignal<readonly IusEntityFacet[] | undefined>;
8546
+ readonly stateSegments: _angular_core.InputSignal<readonly IusEntityStateSegment[] | undefined>;
8547
+ readonly stateValue: _angular_core.InputSignal<string | undefined>;
8548
+ readonly sortLabel: _angular_core.InputSignal<string | undefined>;
8549
+ readonly sortOptions: _angular_core.InputSignal<readonly IusMenuOption[] | undefined>;
8550
+ readonly sortValue: _angular_core.InputSignal<string | number | undefined>;
8551
+ readonly metaLabel: _angular_core.InputSignal<string | undefined>;
8552
+ readonly groups: _angular_core.InputSignal<readonly IusEntityGroup[] | undefined>;
8553
+ readonly items: _angular_core.InputSignal<readonly IusEntityNode[] | undefined>;
8554
+ /** Color del módulo, propagado a los EntityRow activos. */
8555
+ readonly accent: _angular_core.InputSignal<IusEntityRowAccent>;
8556
+ readonly defaultExpanded: _angular_core.InputSignal<readonly IusEntityId[]>;
8557
+ /** Expansión controlada (ids abiertos). Par two-way con `expandedChange`. */
8558
+ readonly expanded: _angular_core.InputSignal<readonly IusEntityId[] | undefined>;
8559
+ readonly autoExpandOnFilter: _angular_core.InputSignalWithTransform<boolean, unknown>;
8560
+ /** Selección controlada. Par two-way con `selectedChange`. */
8561
+ readonly selected: _angular_core.InputSignal<IusEntityId | undefined>;
8562
+ readonly defaultSelected: _angular_core.InputSignal<IusEntityId | undefined>;
8563
+ /** Estado vacío a medida (el `emptyState: ReactNode` del golden). */
8564
+ readonly emptyStateTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
8565
+ readonly noResultsLabel: _angular_core.InputSignal<string>;
8566
+ readonly createLabel: _angular_core.InputSignal<string>;
8567
+ readonly createIcon: _angular_core.InputSignal<string>;
8568
+ readonly groupLimit: _angular_core.InputSignal<number | undefined>;
8569
+ readonly collapsibleGroups: _angular_core.InputSignalWithTransform<boolean, unknown>;
8570
+ readonly stickyHeaders: _angular_core.InputSignalWithTransform<boolean, unknown>;
8571
+ readonly pinnableGroups: _angular_core.InputSignalWithTransform<boolean, unknown>;
8572
+ readonly defaultPinnedGroup: _angular_core.InputSignal<string | null>;
8573
+ /** «Mostrar N más» al final de la lista. */
8574
+ readonly moreLabel: _angular_core.InputSignal<string | undefined>;
8575
+ readonly alphaIndex: _angular_core.InputSignalWithTransform<boolean, unknown>;
8576
+ readonly alphaIndexLetters: _angular_core.InputSignal<readonly string[] | undefined>;
8577
+ readonly loadMoreLabel: _angular_core.InputSignal<string | undefined>;
8578
+ readonly virtualized: _angular_core.InputSignalWithTransform<boolean, unknown>;
8579
+ readonly virtualizeThreshold: _angular_core.InputSignalWithTransform<number, unknown>;
8580
+ readonly itemHeights: _angular_core.InputSignal<IusEntityItemHeights | undefined>;
8581
+ readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
8582
+ /** Colapsado controlado. Par two-way con `collapsedChange`. */
8583
+ readonly collapsed: _angular_core.InputSignal<boolean | undefined>;
8584
+ readonly defaultCollapsed: _angular_core.InputSignalWithTransform<boolean, unknown>;
8585
+ readonly fluidWidth: _angular_core.InputSignalWithTransform<boolean, unknown>;
8586
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
8587
+ readonly search: EventEmitter<string>;
8588
+ readonly searchChange: EventEmitter<string>;
8589
+ readonly searchClear: EventEmitter<void>;
8590
+ readonly filter: EventEmitter<string[]>;
8591
+ readonly filterRemove: EventEmitter<string>;
8592
+ readonly addFilter: EventEmitter<{
8593
+ filter: IusEntityFilter;
8594
+ value?: IusEntityFilterOption;
8595
+ }>;
8596
+ readonly stateChange: EventEmitter<string>;
8597
+ readonly facetAdd: EventEmitter<{
8598
+ category: IusEntityFilter;
8599
+ option: IusEntityFilterOption;
8600
+ }>;
8601
+ readonly facetRemove: EventEmitter<string>;
8602
+ readonly sort: EventEmitter<{
8603
+ value: string | number | undefined;
8604
+ item?: IusMenuOption;
8605
+ }>;
8606
+ readonly select: EventEmitter<IusEntityNode>;
8607
+ /** Par two-way de `selected`. */
8608
+ readonly selectedChange: EventEmitter<IusEntityId>;
8609
+ /** Par two-way de `expanded`. */
8610
+ readonly expandedChange: EventEmitter<IusEntityId[]>;
8611
+ readonly togglePin: EventEmitter<{
8612
+ node: IusEntityNode;
8613
+ event: MouseEvent;
8614
+ }>;
8615
+ readonly create: EventEmitter<MouseEvent>;
8616
+ readonly pinGroup: EventEmitter<string | null>;
8617
+ readonly more: EventEmitter<MouseEvent>;
8618
+ /** Par two-way de `collapsed`. */
8619
+ readonly collapsedChange: EventEmitter<boolean>;
8620
+ readonly jumpToLetter: EventEmitter<string>;
8621
+ readonly loadMore: EventEmitter<string>;
8622
+ readonly expandLoad: EventEmitter<IusEntityNode>;
8623
+ private readonly bodyRef;
8624
+ private readonly alphaRef;
8625
+ private readonly searchRef;
8626
+ private readonly sentinels;
8627
+ private readonly letterAnchors;
8628
+ private readonly doc;
8629
+ private readonly zone;
8630
+ private readonly destroyRef;
8631
+ private readonly internalCollapsed;
8632
+ private readonly internalFilterKeys;
8633
+ private readonly internalState;
8634
+ private readonly internalFacets;
8635
+ private readonly internalExpanded;
8636
+ private readonly internalSelected;
8637
+ private sembrado;
8638
+ /** Menú «+ Filtro». */
8639
+ protected readonly addOpen: _angular_core.WritableSignal<boolean>;
8640
+ protected readonly addStep: _angular_core.WritableSignal<IusEntityFilter | null>;
8641
+ protected readonly addQuery: _angular_core.WritableSignal<string>;
8642
+ /** ShowMore y plegado por grupo. */
8643
+ private readonly grpExpanded;
8644
+ private readonly grpCollapsed;
8645
+ protected readonly pinnedKey: _angular_core.WritableSignal<string | null>;
8646
+ protected readonly bodyScrolled: _angular_core.WritableSignal<boolean>;
8647
+ private readonly searchManual;
8648
+ protected readonly activeLetter: _angular_core.WritableSignal<string | null>;
8649
+ private readonly alphaCap;
8650
+ private readonly vScroll;
8651
+ private readonly vPort;
8652
+ /** Guard «en vuelo» de la carga de hijos (afecta al render → signal). */
8653
+ private readonly elBusy;
8654
+ /** Guard «en vuelo» de los lotes (no afecta al render → campos planos). */
8655
+ private readonly lmBusy;
8656
+ private readonly lmCounts;
8657
+ private pendingLetter;
8658
+ private io;
8659
+ private vRaf;
8660
+ constructor();
8661
+ /** Siembra el estado interno con los `default*` la primera vez que se leen. */
8662
+ private sembrarEstadoInicial;
8663
+ protected readonly isCollapsed: _angular_core.Signal<boolean>;
8664
+ protected readonly activeKeys: _angular_core.Signal<ReadonlySet<string>>;
8665
+ protected readonly stateVal: _angular_core.Signal<string | undefined>;
8666
+ /** SegmentedControl pide un array mutable; el input del contrato es readonly. */
8667
+ protected readonly segmentos: _angular_core.Signal<IusEntityStateSegment[]>;
8668
+ protected readonly facets: _angular_core.Signal<readonly IusEntityFacet[]>;
8669
+ private readonly expSet;
8670
+ protected readonly selectedId: _angular_core.Signal<IusEntityId | undefined>;
8671
+ /** Nodos del nivel superior — alimenta el umbral de `searchable: 'auto'`. */
8672
+ protected readonly topCount: _angular_core.Signal<number>;
8673
+ protected readonly hasSearch: _angular_core.Signal<boolean>;
8674
+ private readonly autoShow;
8675
+ protected readonly searchVisible: _angular_core.Signal<boolean>;
8676
+ /** El icono de la lupa solo aparece si el buscador es alternable (`auto`/`true` ≠ siempre). */
8677
+ protected readonly showSearchToggle: _angular_core.Signal<boolean>;
8678
+ protected readonly searchActive: _angular_core.Signal<boolean>;
8679
+ protected readonly filterActive: _angular_core.Signal<boolean>;
8680
+ /** Con `autoExpandOnFilter`, mientras hay búsqueda o filtros se abre todo. */
8681
+ private readonly autoExp;
8682
+ private registrarAtajoBusqueda;
8683
+ protected abrirBusqueda(): void;
8684
+ protected alternarBusqueda(): void;
8685
+ protected onSearchValueChange(value: string): void;
8686
+ protected alternarFiltro(key: string): void;
8687
+ protected quitarFiltro(key: string): void;
8688
+ protected quitarFaceta(key: string): void;
8689
+ protected elegirEstado(value: string): void;
8690
+ protected onSort(payload: {
8691
+ value: string | number | undefined;
8692
+ item: IusMenuOption;
8693
+ }): void;
8694
+ /** Categorías aún no presentes como chip en la barra. */
8695
+ protected readonly categoriasDisponibles: _angular_core.Signal<IusEntityFilter[]>;
8696
+ /** Opciones del paso 2 del menú, filtradas por el buscador del picker. */
8697
+ protected readonly opcionesDelPaso: _angular_core.Signal<readonly IusEntityFilterOption[]>;
8698
+ protected alternarMenuFiltro(): void;
8699
+ protected onAddOpenChange(open: boolean): void;
8700
+ private cerrarPasoFiltro;
8701
+ protected elegirCategoria(f: IusEntityFilter): void;
8702
+ protected facetaActiva(categoria: IusEntityFilter, opt: IusEntityFilterOption): boolean;
8703
+ protected elegirValor(categoria: IusEntityFilter, opt: IusEntityFilterOption): void;
8704
+ /** Texto del chip de faceta: «Categoría: Valor» cuando hay `valueLabel`. */
8705
+ protected textoFaceta(f: IusEntityFacet): string;
8706
+ /** El `tone` del contrato es `string` libre; Tag lo tipa — se estrecha aquí. */
8707
+ protected tonoFiltro(f: IusEntityFilter): IusTagTone;
8708
+ protected tonoFaceta(f: IusEntityFacet): IusTagTone;
8709
+ /** «Volver» del paso 2 del menú «+ Filtro». */
8710
+ protected volverDelPaso(): void;
8711
+ protected alternarNodo(node: IusEntityNode): void;
8712
+ protected elegirNodo(desc: IusEntityDesc): void;
8713
+ protected onTogglePinNodo(node: IusEntityNode, event: MouseEvent): void;
8714
+ protected onAddChild(node: IusEntityNode, event: MouseEvent): void;
8715
+ protected alternarPinGrupo(key: string): void;
8716
+ protected alternarShowMore(key: string): void;
8717
+ protected alternarPlegadoGrupo(key: string): void;
8718
+ protected alternarColapso(): void;
8719
+ private readonly alturas;
8720
+ /** `stickyHeaders` es incompatible con la ventana de render: con `virtualized` se ignora. */
8721
+ protected readonly stickyOn: _angular_core.Signal<boolean>;
8722
+ /** Aplana un nodo y su subárbol abierto en descriptores. */
8723
+ private descsDeNodo;
8724
+ /** Aplana una lista de nivel superior, intercalando los divisores A–Z. */
8725
+ private descsDeLista;
8726
+ /**
8727
+ * Modelo completo: secciones con su ventana de render, sección fijada aparte y
8728
+ * las posiciones declaradas de cada letra (para el salto y la letra activa).
8729
+ * Un solo `computed` para que el cursor aritmético quede consistente, igual que
8730
+ * el `vCursor` del golden.
8731
+ */
8732
+ protected readonly modelo: _angular_core.Signal<{
8733
+ secciones: IusEntitySection[];
8734
+ fijada: IusEntitySection | null;
8735
+ letras: Record<string, number>;
8736
+ virtOn: boolean;
8737
+ }>;
8738
+ protected readonly vacio: _angular_core.Signal<boolean>;
8739
+ protected readonly descripcionVacio: _angular_core.Signal<"Ajuste la búsqueda o los filtros." | undefined>;
8740
+ /**
8741
+ * Nodos abiertos que declaran hijos y aún no los traen. Equivalente Angular del
8742
+ * `elPendingRef` que el golden llena durante el render (decisión de port 4).
8743
+ */
8744
+ private readonly nodosPorCargar;
8745
+ private registrarCargaDeHijos;
8746
+ /** Reconcilia el guard: si el grupo creció (llegó el lote) o ya no tiene más, se libera. */
8747
+ private registrarReconciliacionDeLotes;
8748
+ protected dispararLote(gk: string): void;
8749
+ private dispararTodosLosLotes;
8750
+ private readonly hayMasLotes;
8751
+ /** (Re)observa los centinelas presentes tras cada render. */
8752
+ private registrarCentinelas;
8753
+ /** Letras realmente presentes en el nivel superior, en orden de aparición. */
8754
+ protected readonly letrasPresentes: _angular_core.Signal<string[]>;
8755
+ private readonly setPresentes;
8756
+ /** El rail se oculta con búsqueda o filtros activos (el árbol se aplana). */
8757
+ protected readonly alphaVisible: _angular_core.Signal<boolean>;
8758
+ private readonly railLetters;
8759
+ /** Si no caben todas a ~16px: solo las que tienen nodos y, en el extremo, muestreadas. */
8760
+ protected readonly displayLetters: _angular_core.Signal<readonly string[]>;
8761
+ protected letraHabilitada(l: string): boolean;
8762
+ /** Roving tabindex: el único tab-stop del rail. */
8763
+ protected readonly alphaTabStop: _angular_core.Signal<string | undefined>;
8764
+ protected saltarALetra(letter: string): void;
8765
+ private anclaDeLetra;
8766
+ /** Descuenta el alto del encabezado sticky (salto por scrollTop, no scrollIntoView). */
8767
+ private topDeAncla;
8768
+ private prefiereMenosMovimiento;
8769
+ /** Resuelve el salto pendiente cuando el ancla aparece tras cargar lotes. */
8770
+ private registrarAnclasDeLetra;
8771
+ /** Teclado del rail: ↑/↓/Inicio/Fin mueven el foco entre letras habilitadas. */
8772
+ protected onRailKey(event: KeyboardEvent): void;
8773
+ private registrarObservadores;
8774
+ /**
8775
+ * Letra en viewport. Con ventana de render sale de las posiciones DECLARADAS;
8776
+ * si no, del `offsetTop` real del ancla (descontando el sticky).
8777
+ */
8778
+ private actualizarLetraActiva;
8779
+ protected readonly hayCabecera: _angular_core.Signal<boolean>;
8780
+ protected readonly hayBarraFiltros: _angular_core.Signal<boolean>;
8781
+ protected readonly hayMeta: _angular_core.Signal<boolean>;
8782
+ protected readonly hayPie: _angular_core.Signal<boolean>;
8783
+ protected readonly textoCargarMas: _angular_core.Signal<string>;
8784
+ protected readonly textoCargando: _angular_core.Signal<string>;
8785
+ /** Sangría del enlace «+ …»: alinea con el label de la fila hija. */
8786
+ protected padAddChild(level: number): number;
8787
+ protected etiquetaPinGrupo(fijada: boolean): string;
8788
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityNavigatorComponent, never>;
8789
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityNavigatorComponent, "ius-entity-navigator", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "titleIcon": { "alias": "titleIcon"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchThreshold": { "alias": "searchThreshold"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "searchValue": { "alias": "searchValue"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "selectedFilters": { "alias": "selectedFilters"; "required": false; "isSignal": true; }; "availableFilters": { "alias": "availableFilters"; "required": false; "isSignal": true; }; "activeFacets": { "alias": "activeFacets"; "required": false; "isSignal": true; }; "stateSegments": { "alias": "stateSegments"; "required": false; "isSignal": true; }; "stateValue": { "alias": "stateValue"; "required": false; "isSignal": true; }; "sortLabel": { "alias": "sortLabel"; "required": false; "isSignal": true; }; "sortOptions": { "alias": "sortOptions"; "required": false; "isSignal": true; }; "sortValue": { "alias": "sortValue"; "required": false; "isSignal": true; }; "metaLabel": { "alias": "metaLabel"; "required": false; "isSignal": true; }; "groups": { "alias": "groups"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "accent": { "alias": "accent"; "required": false; "isSignal": true; }; "defaultExpanded": { "alias": "defaultExpanded"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "autoExpandOnFilter": { "alias": "autoExpandOnFilter"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "defaultSelected": { "alias": "defaultSelected"; "required": false; "isSignal": true; }; "emptyStateTemplate": { "alias": "emptyStateTemplate"; "required": false; "isSignal": true; }; "noResultsLabel": { "alias": "noResultsLabel"; "required": false; "isSignal": true; }; "createLabel": { "alias": "createLabel"; "required": false; "isSignal": true; }; "createIcon": { "alias": "createIcon"; "required": false; "isSignal": true; }; "groupLimit": { "alias": "groupLimit"; "required": false; "isSignal": true; }; "collapsibleGroups": { "alias": "collapsibleGroups"; "required": false; "isSignal": true; }; "stickyHeaders": { "alias": "stickyHeaders"; "required": false; "isSignal": true; }; "pinnableGroups": { "alias": "pinnableGroups"; "required": false; "isSignal": true; }; "defaultPinnedGroup": { "alias": "defaultPinnedGroup"; "required": false; "isSignal": true; }; "moreLabel": { "alias": "moreLabel"; "required": false; "isSignal": true; }; "alphaIndex": { "alias": "alphaIndex"; "required": false; "isSignal": true; }; "alphaIndexLetters": { "alias": "alphaIndexLetters"; "required": false; "isSignal": true; }; "loadMoreLabel": { "alias": "loadMoreLabel"; "required": false; "isSignal": true; }; "virtualized": { "alias": "virtualized"; "required": false; "isSignal": true; }; "virtualizeThreshold": { "alias": "virtualizeThreshold"; "required": false; "isSignal": true; }; "itemHeights": { "alias": "itemHeights"; "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; }; "fluidWidth": { "alias": "fluidWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "search": "search"; "searchChange": "searchChange"; "searchClear": "searchClear"; "filter": "filter"; "filterRemove": "filterRemove"; "addFilter": "addFilter"; "stateChange": "stateChange"; "facetAdd": "facetAdd"; "facetRemove": "facetRemove"; "sort": "sort"; "select": "select"; "selectedChange": "selectedChange"; "expandedChange": "expandedChange"; "togglePin": "togglePin"; "create": "create"; "pinGroup": "pinGroup"; "more": "more"; "collapsedChange": "collapsedChange"; "jumpToLetter": "jumpToLetter"; "loadMore": "loadMore"; "expandLoad": "expandLoad"; }, never, never, true, never>;
8790
+ }
8791
+
8792
+ /**
8793
+ * Clave de FUENTE (portal). Solo las cinco integradas realmente; un módulo puede
8794
+ * aportar las suyas por `customMap`, de ahí el `(string & {})`.
8053
8795
  */
8054
- declare function resolveCategoryHue(o: CategoryHueSource | null | undefined, customMap?: Readonly<Record<string, Hue>>): Hue;
8796
+ type FuenteKey = 'rama' | 'sic' | 'supersociedades' | 'conciliacion' | 'manual' | (string & {});
8797
+ /** Clave de FILA (subfuente / origen del dato tal como llega). */
8798
+ type SourceKey = FuenteKey | 'judicial' | 'admin' | 'super' | (string & {});
8799
+ interface FuenteDef {
8800
+ /** Nombre completo del portal. */
8801
+ label: string;
8802
+ /** Nombre corto para chips/filtros. */
8803
+ short: string;
8804
+ /** Ícono Material Symbols Rounded. */
8805
+ icon: string;
8806
+ /** Hue categórico (identidad, nunca estado). */
8807
+ hue: Hue;
8808
+ }
8055
8809
  /**
8056
- * Devuelve los tokens de color resueltos para un hue, listos para EventPill:
8057
- * accent — punto / ícono / barra (hue-600)
8058
- * fill — fondo suave del pill (hue-100)
8059
- * border — borde del pill (hue-200)
8060
- * text — texto sobre fill (hue-800)
8061
- * solid — relleno fuerte / punto compacto (hue-500)
8062
- * onSolid — texto sobre solid
8063
- * Acepta un hue (string) o un objeto `{ category?, hue? }`.
8810
+ * Catálogo primario: fuente (portal) → { label, short, icon, hue }.
8811
+ * Orden: primero las VIGILADAS (de las que se capturan novedades), después las
8812
+ * NO vigiladas (el dato entra por otra vía). Ver divergencia 1 de la cabecera.
8064
8813
  */
8065
- declare function categoryColors(hueOrObj: Hue | CategoryHueSource, customMap?: Readonly<Record<string, Hue>>): CategoryColors;
8066
- /** Opciones listas para un dropdown/leyenda (value · label · hue). */
8067
- declare function categoryOptions(): CategoryOption[];
8814
+ declare const FUENTE_DEF: Readonly<Record<string, FuenteDef>>;
8815
+ /** Fuente de reserva para una clave desconocida (nunca falla, cae aquí). */
8816
+ declare const FUENTE_FALLBACK: FuenteDef;
8817
+ /** Lista de fuentes reconocidas (orden del catálogo). */
8818
+ declare const FUENTES: readonly string[];
8819
+ /**
8820
+ * Puente subfuente → fuente. Solo las claves de fila que NO coinciden con una
8821
+ * fuente (las que sí coinciden — `sic`, `manual`… — se resuelven directo). Aquí
8822
+ * viven las subfuentes de la Rama Judicial y los alias heredados de los datos.
8823
+ */
8824
+ declare const SOURCE_FUENTE: Readonly<Record<string, FuenteKey>>;
8825
+ /**
8826
+ * Etiqueta específica de subfuente (más fina que la de la fuente). Opcional: si
8827
+ * una clave no está aquí, se usa la etiqueta de su fuente.
8828
+ */
8829
+ declare const SOURCE_LABEL: Readonly<Record<string, string>>;
8830
+ /**
8831
+ * Resuelve la CLAVE DE FUENTE de una clave de fila. Orden:
8832
+ * 1) `customMap[key]` (extensión por módulo)
8833
+ * 2) `SOURCE_FUENTE` (subfuente conocida)
8834
+ * 3) la propia clave si ya es una fuente
8835
+ * 4) `null` — el consumidor decide (se conserva nullable a propósito: sirve
8836
+ * para validar payload, `if (!resolveFuente(x)) throw …`).
8837
+ */
8838
+ declare function resolveFuente(sourceKey: SourceKey | null | undefined, customMap?: Readonly<Record<string, FuenteKey>>): FuenteKey | null;
8839
+ /** Definición completa de la fuente de una clave de fila (con fallback seguro). */
8840
+ interface SourceMeta {
8841
+ fuente: FuenteKey | null;
8842
+ icon: string;
8843
+ hue: Hue;
8844
+ /** Etiqueta de la FUENTE (portal). */
8845
+ label: string;
8846
+ short: string;
8847
+ /** Etiqueta de la SUBFUENTE, si aplica. */
8848
+ subLabel: string | null;
8849
+ }
8850
+ /** Metadatos completos de una clave de fila; cae a `FUENTE_FALLBACK` si no resuelve. */
8851
+ declare function sourceMeta(sourceKey: SourceKey, customMap?: Readonly<Record<string, FuenteKey>>): SourceMeta;
8852
+ /** Ícono de una clave de fila — SIEMPRE por fuente (regla dura 1). */
8853
+ declare function sourceIcon(sourceKey: SourceKey, customMap?: Readonly<Record<string, FuenteKey>>): string;
8854
+ /** Tokens de color de una fuente — misma forma que `CategoryColors`. */
8855
+ type FuenteColors = CategoryColors;
8856
+ /**
8857
+ * Tokens de color resueltos para una fuente, listos para un chip / insignia de
8858
+ * origen: accent · fill · border · text · solid · onSolid · hue. Acepta una
8859
+ * clave de fuente, una clave de fila (subfuente) o directamente un hue.
8860
+ * Delega el mapeo hue → tokens en `categoryColors` (ver divergencia 4).
8861
+ */
8862
+ declare function fuenteColors(keyOrHue: FuenteKey | SourceKey | Hue, customMap?: Readonly<Record<string, FuenteKey>>): FuenteColors;
8863
+ /** Opción lista para el filtro/dropdown "Fuente". */
8864
+ interface FuenteOption {
8865
+ value: string;
8866
+ label: string;
8867
+ icon: string;
8868
+ }
8869
+ /**
8870
+ * Opciones para el filtro "Fuente" de la Bandeja (value · label · icon).
8871
+ * Prefija la opción "Todas" si `all` es true (default), como la usa la Bandeja.
8872
+ */
8873
+ declare function fuenteOptions(all?: boolean): FuenteOption[];
8874
+
8875
+ /** Escala del grupo; se propaga al control, al Select de tipo y al botón agregar. */
8876
+ type IusRepeatableSize = 'small' | 'medium' | 'large';
8877
+ /** Teclado + validación por fila del control por defecto. */
8878
+ type IusRepeatableInputMode = 'tel' | 'email' | 'text';
8879
+ /** Una fila de la lista repetible. */
8880
+ interface IusRepeatableItem {
8881
+ /** Id estable de la fila (se autogenera si falta). */
8882
+ id?: string | number;
8883
+ /** Tipo por fila (móvil/fijo, demandante/demandado…) — solo con `types`. */
8884
+ type?: string | number;
8885
+ /** Valor de la fila. */
8886
+ value?: unknown;
8887
+ }
8888
+ /** Opción del Select de tipo por fila. */
8889
+ interface IusRepeatableTypeOption {
8890
+ value: string | number;
8891
+ label: string;
8892
+ icon?: string;
8893
+ }
8894
+ /**
8895
+ * Contexto que recibe el `TemplateRef` de `renderControl` — equivalente del
8896
+ * `renderControl(item, setValue, ctx)` del golden.
8897
+ */
8898
+ interface IusRepeatableControlContext {
8899
+ /** La fila (`let-item`). */
8900
+ $implicit: IusRepeatableItem;
8901
+ /** Escribe el valor de ESTA fila y emite el arreglo completo. */
8902
+ setValue: (value: unknown) => void;
8903
+ index: number;
8904
+ disabled: boolean;
8905
+ size: IusRepeatableSize;
8906
+ /** Error efectivo de la fila (del grupo o de su propia validación). */
8907
+ error: boolean;
8908
+ errorText?: string;
8909
+ }
8910
+ /** Fila ya normalizada: el `id` deja de ser opcional. */
8911
+ interface Fila extends IusRepeatableItem {
8912
+ id: string | number;
8913
+ }
8914
+ /** Vista de una fila: lo que el template necesita, precalculado. */
8915
+ interface FilaVM {
8916
+ fila: Fila;
8917
+ /** `value` como string para el TextField por defecto. */
8918
+ texto: string;
8919
+ error: boolean;
8920
+ errorText?: string;
8921
+ quitarDeshabilitado: boolean;
8922
+ ctx: IusRepeatableControlContext;
8923
+ }
8924
+ /**
8925
+ * RepeatableField — Ius Design v2.
8926
+ *
8927
+ * Lista abierta de valores del mismo tipo (varios teléfonos, correos,
8928
+ * direcciones): filas «+ Agregar» / eliminar, cada una con un control editable
8929
+ * y, opcional, un Select de tipo por fila. **No aporta UI nueva**: compone
8930
+ * `ius-text-field`, `ius-select`, `ius-icon-button` y `ius-text-button`.
8931
+ *
8932
+ * Decisiones de port (divergencias documentadas contra el material remoto):
8933
+ *
8934
+ * 1. **`label` es `string`, no un slot proyectado.** La ng-spec lo tipa `node`
8935
+ * (React), pero sus hermanos de la familia `.ius-tf` — TextField, Select,
8936
+ * TextArea, MultiTextField — lo exponen como `string`, y todos los usos del
8937
+ * card/playground pasan texto plano. Un `<ng-content>` extra aquí además
8938
+ * chocaría con la trampa ya documentada del slot detrás de un `@if`.
8939
+ *
8940
+ * 2. **`max` DESHABILITA «Agregar», no lo oculta.** La prosa de la ng-spec dice
8941
+ * «oculta»; el golden (que la propia ng-spec declara fuente de verdad) hace
8942
+ * `disabled: disabled || atMax`. Se sigue el golden: un botón deshabilitado
8943
+ * comunica el tope, uno que desaparece lo esconde.
8944
+ *
8945
+ * 3. **`typeWidth` por defecto 150**, como el JSX y el fallback del CSS
8946
+ * (`var(--_rf-type-w, 150px)`). El `.d.ts` dice 140 — es su comentario el
8947
+ * que está desactualizado, no el código.
8948
+ *
8949
+ * 4. **Los `id` se normalizan SIEMPRE**, no solo en la semilla. La ng-spec §3 lo
8950
+ * pide («los `id` se autogeneran si faltan»); el golden solo normaliza
8951
+ * `seed()`, así que en modo controlado dos filas sin `id` colisionan en
8952
+ * `undefined` y `setRow` las escribe todas. Aquí el id se memoiza por
8953
+ * identidad de objeto (WeakMap), así que recalcular la vista no lo cambia.
8954
+ *
8955
+ * 5. **`--_rf-field-h` también responde a `--ius-control-size`.** El golden no
8956
+ * trae la consulta de contenedor, pero TextField y Select sí: con
8957
+ * `--ius-control-size: small` los campos encogen y el alto declarado aquí
8958
+ * (40px) descentraría el botón de quitar. Mismo patrón que Switch/SearchBar.
8959
+ */
8960
+ declare class RepeatableFieldComponent implements ControlValueAccessor {
8961
+ private readonly itemsInput;
8962
+ /** Filas controladas por el consumidor. Sin bindear = no controlado (CVA). */
8963
+ set items(value: IusRepeatableItem[] | null | undefined);
8964
+ get items(): IusRepeatableItem[] | undefined;
8965
+ private readonly interno;
8966
+ private semillaAplicada;
8967
+ /** Semilla del modo no controlado (espejo del `useState(seed)` del golden). */
8968
+ set defaultItems(value: IusRepeatableItem[] | null | undefined);
8969
+ private readonly typesState;
8970
+ /** Si se pasa, cada fila lleva un Select de tipo. */
8971
+ set types(value: readonly IusRepeatableTypeOption[] | null | undefined);
8972
+ get types(): IusRepeatableTypeOption[] | undefined;
8973
+ /** Ancho del Select de tipo (número = px). */
8974
+ typeWidth: number | string;
8975
+ /** Placeholder del Select de tipo. */
8976
+ typePlaceholder: string;
8977
+ /**
8978
+ * Control a medida por fila; reemplaza al TextField. Contexto:
8979
+ * `{ $implicit, setValue, index, disabled, size, error, errorText }`.
8980
+ */
8981
+ renderControl?: TemplateRef<IusRepeatableControlContext>;
8982
+ /** Ícono a la izquierda del TextField por defecto (phone/mail). */
8983
+ prefixIcon?: string;
8984
+ /** Placeholder del control por defecto. */
8985
+ placeholder?: string;
8986
+ private readonly inputModeState;
8987
+ /** Valida y teclea por fila: `email` y `tel` marcan su propia fila. */
8988
+ set inputMode(value: IusRepeatableInputMode | null | undefined);
8989
+ get inputMode(): IusRepeatableInputMode | undefined;
8990
+ private readonly emptyValueState;
8991
+ /** Valor de una fila nueva. */
8992
+ set emptyValue(value: unknown);
8993
+ get emptyValue(): unknown;
8994
+ /** Texto del botón agregar. */
8995
+ addLabel: string;
8996
+ /** Ícono del botón agregar. */
8997
+ addIcon: string;
8998
+ private readonly maxState;
8999
+ /**
9000
+ * Tope de filas. Sin `numberAttribute` a propósito: aquí `undefined` significa
9001
+ * «sin tope» y el transform lo convertiría en `NaN`, que no es `== null`.
9002
+ */
9003
+ set max(value: number | null | undefined);
9004
+ get max(): number | undefined;
9005
+ /** Etiqueta del grupo (sobre las filas). */
9006
+ label?: string;
9007
+ private readonly sizeState;
9008
+ set size(value: IusRepeatableSize);
9009
+ get size(): IusRepeatableSize;
9010
+ private readonly disabledState;
9011
+ set disabled(value: boolean);
9012
+ get disabled(): boolean;
9013
+ private readonly requiredState;
9014
+ /** Mantiene ≥1 fila: eliminar la última la LIMPIA en vez de borrarla. */
9015
+ set required(value: boolean);
9016
+ get required(): boolean;
9017
+ private readonly errorState;
9018
+ /** Error del grupo (marca todas las filas y pinta el pie). */
9019
+ set error(value: boolean);
9020
+ get error(): boolean;
9021
+ private readonly errorTextState;
9022
+ /** Reemplaza a `helpText` cuando `error` es `true`. */
9023
+ set errorText(value: string | undefined);
9024
+ get errorText(): string | undefined;
9025
+ private readonly helpTextState;
9026
+ /** Línea de ayuda al pie del grupo. */
9027
+ set helpText(value: string | undefined);
9028
+ get helpText(): string | undefined;
9029
+ /** Además del CVA: el arreglo completo en cada cambio (add/remove/edit/tipo). */
9030
+ readonly valueChange: EventEmitter<IusRepeatableItem[]>;
9031
+ protected readonly labelId: string;
9032
+ /** Referencia estable: un objeto literal en el template cambiaría cada CD. */
9033
+ protected readonly ngModelSuelto: {
9034
+ standalone: boolean;
9035
+ };
9036
+ private onChangeFn;
9037
+ private onTouchedFn;
9038
+ /**
9039
+ * Ids autogenerados, memoizados por identidad de objeto: recalcular la vista
9040
+ * no reasigna ids (si lo hiciera, el `track` del `@for` recrearía cada fila
9041
+ * y el input perdería el foco en cada tecla).
9042
+ */
9043
+ private readonly idsGenerados;
9044
+ /** Id de la fila fantasma que sostiene `required` cuando no hay ninguna. */
9045
+ private readonly idFilaRequerida;
9046
+ private idDe;
9047
+ private primerTipo;
9048
+ /** Fuente de las filas: `[items]` manda sobre el estado interno/CVA. */
9049
+ protected readonly filas: _angular_core.Signal<Fila[]>;
9050
+ protected readonly filasVM: _angular_core.Signal<FilaVM[]>;
9051
+ protected readonly conTipos: _angular_core.Signal<boolean>;
9052
+ protected readonly opcionesTipo: _angular_core.Signal<SelectOption[]>;
9053
+ protected readonly alTope: _angular_core.Signal<boolean>;
9054
+ /**
9055
+ * Texto del pie. Sin error = `helpText`; con error = `errorText` (y nada si
9056
+ * no hay `errorText`, igual que el golden, que en ese caso no pinta ninguna
9057
+ * de sus dos ramas).
9058
+ */
9059
+ protected readonly pie: _angular_core.Signal<string | null>;
9060
+ protected readonly tipoInput: _angular_core.Signal<"text" | "email" | "tel">;
9061
+ protected get anchoTipo(): string;
9062
+ /**
9063
+ * Única salida de escritura: en modo no controlado guarda, y siempre notifica
9064
+ * (CVA + `valueChange`). Espejo del `commit` del golden.
9065
+ */
9066
+ private commit;
9067
+ protected setValor(id: string | number, valor: unknown): void;
9068
+ protected setTipo(id: string | number, tipo: unknown): void;
9069
+ protected agregar(): void;
9070
+ protected quitar(id: string | number): void;
9071
+ writeValue(value: IusRepeatableItem[] | null): void;
9072
+ registerOnChange(fn: (items: IusRepeatableItem[]) => void): void;
9073
+ registerOnTouched(fn: () => void): void;
9074
+ setDisabledState(isDisabled: boolean): void;
9075
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RepeatableFieldComponent, never>;
9076
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RepeatableFieldComponent, "ius-repeatable-field", never, { "items": { "alias": "items"; "required": false; }; "defaultItems": { "alias": "defaultItems"; "required": false; }; "types": { "alias": "types"; "required": false; }; "typeWidth": { "alias": "typeWidth"; "required": false; }; "typePlaceholder": { "alias": "typePlaceholder"; "required": false; }; "renderControl": { "alias": "renderControl"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "inputMode": { "alias": "inputMode"; "required": false; }; "emptyValue": { "alias": "emptyValue"; "required": false; }; "addLabel": { "alias": "addLabel"; "required": false; }; "addIcon": { "alias": "addIcon"; "required": false; }; "max": { "alias": "max"; "required": false; }; "label": { "alias": "label"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
9077
+ static ngAcceptInputType_disabled: unknown;
9078
+ static ngAcceptInputType_required: unknown;
9079
+ static ngAcceptInputType_error: unknown;
9080
+ }
9081
+
9082
+ /** Una serie del gráfico: valores alineados 1:1 con `categories`; `null` omite la barra. */
9083
+ interface IusBarSeries {
9084
+ /** Identificador único de la serie. */
9085
+ key: string;
9086
+ /** Etiqueta de la serie (leyenda + tooltip). */
9087
+ label: string;
9088
+ /** Valores alineados 1:1 con `categories`. `null` omite la barra de esa categoría. */
9089
+ values: ReadonlyArray<number | null>;
9090
+ /** Tono explícito; si se omite, rota por los tonos categóricos del DS. */
9091
+ tone?: ChartTone;
9092
+ }
9093
+ /** Orientación de las barras. */
9094
+ type IusBarChartOrientation = 'vertical' | 'horizontal';
9095
+ interface BarRect {
9096
+ x: number;
9097
+ y: number;
9098
+ w: number;
9099
+ h: number;
9100
+ color: string;
9101
+ i: number;
9102
+ v: number;
9103
+ /** Solo apilado: path con esquinas redondeadas en los extremos del stack. */
9104
+ d: string | null;
9105
+ /** No apilado: radio del rect. */
9106
+ rx: number;
9107
+ }
9108
+ interface BarFrame {
9109
+ W: number;
9110
+ H: number;
9111
+ mT: number;
9112
+ mR: number;
9113
+ mB: number;
9114
+ mL: number;
9115
+ innerW: number;
9116
+ innerH: number;
9117
+ n: number;
9118
+ vertical: boolean;
9119
+ ticks: number[];
9120
+ vLo: number;
9121
+ vHi: number;
9122
+ baseV: number;
9123
+ basePos: number;
9124
+ bandSize: number;
9125
+ innerBand: number;
9126
+ valuePos: (v: number) => number;
9127
+ bandCenter: (i: number) => number;
9128
+ }
9129
+ /**
9130
+ * BarChart — Ius Design v2 (familia charts).
9131
+ *
9132
+ * **Gráfico de barras** en SVG propio (sin librería de charts) para comparar
9133
+ * **categorías discretas**. Vertical (default) u horizontal (ranking /
9134
+ * etiquetas largas); agrupado (default) o **apilado** (partes que suman, con
9135
+ * Total en el tooltip). Dominio de valor «nice numbers» desde 0
9136
+ * (forzable con `valueMin`/`valueMax`).
9137
+ *
9138
+ * Trae ejes + grilla, leyenda (auto con > 1 serie), etiquetas de valor
9139
+ * opcionales (por barra, o total por categoría en apilado), **tooltip** por
9140
+ * banda de categoría (resalta sus barras y atenúa el resto), **animación** de
9141
+ * crecimiento desde la base (WAAPI con stagger por categoría, red de seguridad
9142
+ * para capturas y respeto a `prefers-reduced-motion`), tamaño **responsive**
9143
+ * (`ResizeObserver`, `minWidth`, `aspectRatio`) o **fijo** (`width`), y estados
9144
+ * de **carga** (skeleton) y **vacío** (compone `ius-empty-state`).
9145
+ *
9146
+ * Fuente de verdad: `BarChart.jsx` + `BarChart.d.ts` + `BarChart.ng-spec.md`.
9147
+ * Tonos, escala y formato es-CO vienen de `charts-core`.
9148
+ *
9149
+ * Decisiones del port (mismas que LineChart): `emptyTitle`/`emptyDescription`
9150
+ * son `string`; el slot `empty` viaja como `emptyTemplate: TemplateRef`;
9151
+ * `categoryFormat` es función → `string`. Display puro: sin outputs.
9152
+ *
9153
+ * No usar para evolución sobre una secuencia (→ LineChart), partes de un todo
9154
+ * sin comparación entre categorías (→ DonutChart) ni mini-tendencia (→ Sparkline).
9155
+ */
9156
+ declare class BarChartComponent implements AfterViewInit, OnDestroy {
9157
+ /** Categorías discretas (eje de categoría). */
9158
+ readonly categories: _angular_core.InputSignal<readonly (string | number)[]>;
9159
+ /** Series a dibujar (un juego de barras cada una). */
9160
+ readonly series: _angular_core.InputSignal<readonly IusBarSeries[]>;
9161
+ /** Horizontal para ranking / etiquetas largas. Default vertical. */
9162
+ readonly orientation: _angular_core.InputSignal<IusBarChartOrientation>;
9163
+ /** Apila las series por categoría (partes que suman). */
9164
+ readonly stacked: _angular_core.InputSignalWithTransform<boolean, unknown>;
9165
+ /** Alto del área de dibujo en px. Default 280. */
9166
+ readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
9167
+ /** Ancho fijo en px. Si se omite, el chart es responsive (llena el contenedor). */
9168
+ readonly width: _angular_core.InputSignal<number | undefined>;
9169
+ /** En modo responsive fija el alto como ancho/ratio (ignora `height`). */
9170
+ readonly aspectRatio: _angular_core.InputSignal<number | undefined>;
9171
+ /** Ancho mínimo en px (modo responsive). Default 280. */
9172
+ readonly minWidth: _angular_core.InputSignalWithTransform<number, unknown>;
9173
+ /** Ancho del eje de valor (vertical) o de categoría (horizontal) en px. Default 44. */
9174
+ readonly axisWidth: _angular_core.InputSignalWithTransform<number, unknown>;
9175
+ /** Grosor máximo de cada barra en px. Default 28. */
9176
+ readonly barSize: _angular_core.InputSignalWithTransform<number, unknown>;
9177
+ readonly showCategoryAxis: _angular_core.InputSignalWithTransform<boolean, unknown>;
9178
+ readonly showValueAxis: _angular_core.InputSignalWithTransform<boolean, unknown>;
9179
+ readonly showGrid: _angular_core.InputSignalWithTransform<boolean, unknown>;
9180
+ /** Nº aproximado de divisiones del eje de valor. Default 4. */
9181
+ readonly valueTicks: _angular_core.InputSignalWithTransform<number, unknown>;
9182
+ /** Fuerza el mínimo del dominio (default: 0 si todo es ≥ 0, si no el mínimo del dato). */
9183
+ readonly valueMin: _angular_core.InputSignal<number | undefined>;
9184
+ /** Fuerza el máximo del dominio (default: automático «nice»). */
9185
+ readonly valueMax: _angular_core.InputSignal<number | undefined>;
9186
+ /** Etiqueta por barra (no apilado) o total por categoría (apilado). */
9187
+ readonly showValueLabels: _angular_core.InputSignalWithTransform<boolean, unknown>;
9188
+ /** Leyenda de series. Sin fijar: visible cuando hay > 1 serie. */
9189
+ readonly showLegend: _angular_core.InputSignal<boolean | undefined>;
9190
+ /** Tooltip por categoría en hover. Default true. */
9191
+ readonly showTooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
9192
+ /** Formatea los valores (eje, tooltip, etiquetas). Default `Intl` es-CO. */
9193
+ readonly valueFormat: _angular_core.InputSignal<((value: number) => string) | undefined>;
9194
+ /** Formatea las etiquetas de categoría (y el título del tooltip). */
9195
+ readonly categoryFormat: _angular_core.InputSignal<((category: string | number, index: number) => string) | undefined>;
9196
+ /** Sufijo de unidad (p. ej. ` mov`). Ignorado si hay `valueFormat`. */
9197
+ readonly unit: _angular_core.InputSignal<string | undefined>;
9198
+ /** Carga: oculta los datos y muestra barras skeleton. */
9199
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
9200
+ /** Plantilla propia cuando no hay datos (reemplaza el EmptyState por defecto). */
9201
+ readonly emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
9202
+ /** Título del EmptyState por defecto. */
9203
+ readonly emptyTitle: _angular_core.InputSignal<string>;
9204
+ /** Descripción del EmptyState por defecto. */
9205
+ readonly emptyDescription: _angular_core.InputSignal<string | undefined>;
9206
+ /** Animación de crecimiento desde la base. Default true. */
9207
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
9208
+ /** Etiqueta accesible del gráfico. */
9209
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
9210
+ private readonly el;
9211
+ private resizeObserver?;
9212
+ private animTimers;
9213
+ private animations;
9214
+ /** Ancho medido del contenedor (modo responsive). */
9215
+ private readonly measured;
9216
+ /** Categoría bajo el cursor (tooltip + resalte). */
9217
+ protected readonly active: _angular_core.WritableSignal<number | null>;
9218
+ private readonly uidStr;
9219
+ protected readonly hasData: _angular_core.Signal<boolean>;
9220
+ protected readonly legendOn: _angular_core.Signal<boolean>;
9221
+ protected readonly vertical: _angular_core.Signal<boolean>;
9222
+ /** Series con su color resuelto (leyenda + tooltip). */
9223
+ protected readonly seriesView: _angular_core.Signal<{
9224
+ key: string;
9225
+ label: string;
9226
+ color: string;
9227
+ }[]>;
9228
+ /** Lienzo: tamaño, márgenes, dominio «nice», banda de categoría y proyecciones. */
9229
+ protected readonly frame: _angular_core.Signal<BarFrame>;
9230
+ protected readonly viewBox: _angular_core.Signal<string>;
9231
+ /** Rects de las barras (agrupado: rect+rx · apilado: path con extremos redondeados). */
9232
+ protected readonly rects: _angular_core.Signal<BarRect[]>;
9233
+ /** Ticks del eje de valor con su posición. */
9234
+ protected readonly tickItems: _angular_core.Signal<{
9235
+ pos: number;
9236
+ text: string;
9237
+ }[]>;
9238
+ /** Etiquetas de categoría con su centro de banda. */
9239
+ protected readonly catItems: _angular_core.Signal<{
9240
+ center: number;
9241
+ text: string;
9242
+ }[]>;
9243
+ /** Bandas invisibles de hover (una por categoría). */
9244
+ protected readonly hoverBands: _angular_core.Signal<{
9245
+ i: number;
9246
+ x: number;
9247
+ y: number;
9248
+ w: number;
9249
+ h: number;
9250
+ }[]>;
9251
+ /** Barras skeleton (alturas pseudoaleatorias estables, como el golden). */
9252
+ protected readonly skeletonRects: _angular_core.Signal<{
9253
+ x: number;
9254
+ y: number;
9255
+ w: number;
9256
+ h: number;
9257
+ }[]>;
9258
+ /** Etiquetas de valor: por barra (agrupado) o total por categoría (apilado). */
9259
+ protected readonly valueLabelItems: _angular_core.Signal<{
9260
+ x: number;
9261
+ y: number;
9262
+ anchor: string;
9263
+ baseline: string | null;
9264
+ text: string;
9265
+ }[]>;
9266
+ /** Tarjeta del tooltip de la categoría activa (posición en %, una fila por serie, Total en apilado). */
9267
+ protected readonly tooltip: _angular_core.Signal<{
9268
+ left: number;
9269
+ top: number;
9270
+ title: string;
9271
+ rows: {
9272
+ key: string;
9273
+ label: string;
9274
+ color: string;
9275
+ value: string;
9276
+ }[];
9277
+ total: string | null;
9278
+ } | null>;
9279
+ /** Firma del dato que dispara la animación de crecimiento (igual que `animSig` del golden). */
9280
+ private readonly animSig;
9281
+ constructor();
9282
+ ngAfterViewInit(): void;
9283
+ ngOnDestroy(): void;
9284
+ /** Formato de un valor: `valueFormat` o `Intl` es-CO + `unit`. */
9285
+ protected fmt(n: number): string;
9286
+ /** Suma de la categoría `i` (tooltip/etiqueta del apilado). */
9287
+ protected total(i: number): number;
9288
+ protected onBandEnter(i: number): void;
9289
+ protected onBandLeave(i: number): void;
9290
+ /**
9291
+ * Crecimiento desde la base (scaleY/scaleX vía WAAPI con stagger por categoría).
9292
+ * Red de seguridad: pasada la duración se CANCELA la animación y la barra queda
9293
+ * a tamaño real aunque el timeline esté congelado (capturas/thumbnails).
9294
+ * `prefers-reduced-motion` = sin animar.
9295
+ */
9296
+ private runEntryAnimation;
9297
+ private stopAnimations;
9298
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChartComponent, never>;
9299
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChartComponent, "ius-bar-chart", never, { "categories": { "alias": "categories"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "axisWidth": { "alias": "axisWidth"; "required": false; "isSignal": true; }; "barSize": { "alias": "barSize"; "required": false; "isSignal": true; }; "showCategoryAxis": { "alias": "showCategoryAxis"; "required": false; "isSignal": true; }; "showValueAxis": { "alias": "showValueAxis"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "valueTicks": { "alias": "valueTicks"; "required": false; "isSignal": true; }; "valueMin": { "alias": "valueMin"; "required": false; "isSignal": true; }; "valueMax": { "alias": "valueMax"; "required": false; "isSignal": true; }; "showValueLabels": { "alias": "showValueLabels"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showTooltip": { "alias": "showTooltip"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "categoryFormat": { "alias": "categoryFormat"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "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; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9300
+ }
9301
+
9302
+ /** Un segmento de la dona: parte del total. Valores ≤ 0 se ignoran. */
9303
+ interface IusDonutSegment {
9304
+ /** Identificador único del segmento. */
9305
+ key: string;
9306
+ /** Etiqueta (leyenda + tooltip). */
9307
+ label: string;
9308
+ /** Valor absoluto; el % se calcula sobre la suma. */
9309
+ value: number;
9310
+ /** Tono explícito; si se omite, rota por los tonos categóricos del DS. */
9311
+ tone?: ChartTone;
9312
+ }
9313
+ /** Posición de la leyenda respecto de la dona. */
9314
+ type IusDonutLegendPosition = 'right' | 'bottom';
9315
+ interface DonutSlice {
9316
+ key: string;
9317
+ label: string;
9318
+ i: number;
9319
+ color: string;
9320
+ d: string;
9321
+ mid: number;
9322
+ value: number;
9323
+ pct: number;
9324
+ }
9325
+ interface DonutGeometry {
9326
+ D: number;
9327
+ cx: number;
9328
+ cy: number;
9329
+ rOuter: number;
9330
+ rInner: number;
9331
+ rMid: number;
9332
+ ringW: number;
9333
+ }
9334
+ /**
9335
+ * DonutChart — Ius Design v2 (familia charts).
9336
+ *
9337
+ * **Gráfico de dona** en SVG propio (sin librería de charts) para la
9338
+ * **composición de un todo**: cada segmento es una parte del total y el centro
9339
+ * queda libre para el total (`centerLabel`, default suma formateada;
9340
+ * `centerSublabel` secundario; `false` lo oculta). Solo dona — la variante
9341
+ * `pie` se descartó por diseño.
9342
+ *
9343
+ * Segmentos con **esquinas redondeadas** y hueco parejo (`padAngle`), grosor
9344
+ * por `thickness` y arranque por `startAngle`. Leyenda `right`/`bottom` con
9345
+ * valor + % y **resalte recíproco** leyenda ↔ segmento (atenúa los demás),
9346
+ * `showLabels` rotula el % en segmentos con ≥ 7% de espacio, **tooltip** con
9347
+ * etiqueta/valor/%, **animación** de entrada (fade + leve giro/escala vía WAAPI
9348
+ * con red de seguridad y respeto a `prefers-reduced-motion`), tamaño
9349
+ * **responsive** (diámetro según contenedor) o **fijo** (`size`), y estados de
9350
+ * **carga** (anillo skeleton) y **vacío** (compone `ius-empty-state`).
9351
+ *
9352
+ * Fuente de verdad: `DonutChart.jsx` + `DonutChart.d.ts` + `DonutChart.ng-spec.md`.
9353
+ * Tonos y formato es-CO vienen de `charts-core`; la geometría de arcos es dato.
9354
+ *
9355
+ * Decisiones del port (mismas que LineChart/BarChart): `centerLabel` es
9356
+ * `string | false` y `centerSublabel`/`emptyTitle`/`emptyDescription` son
9357
+ * `string`; el slot `empty` viaja como `emptyTemplate: TemplateRef`. Display
9358
+ * puro: sin outputs (la spec deja `segmentClicked` como opcional).
9359
+ *
9360
+ * No usar para comparar categorías (→ BarChart) ni evolución (→ LineChart).
9361
+ */
9362
+ declare class DonutChartComponent implements AfterViewInit, OnDestroy {
9363
+ /** Segmentos de la dona (`{ key, label, value, tone? }`). Valores ≤ 0 se ignoran. */
9364
+ readonly data: _angular_core.InputSignal<readonly IusDonutSegment[]>;
9365
+ /** Diámetro fijo en px; omitido → responsive según el contenedor. */
9366
+ readonly size: _angular_core.InputSignal<number | undefined>;
9367
+ /** Grosor del anillo como fracción del radio (0–1). Default 0.4. */
9368
+ readonly thickness: _angular_core.InputSignalWithTransform<number, unknown>;
9369
+ /** Ángulo inicial (0 = derecha, −90 = arriba). Default −90. */
9370
+ readonly startAngle: _angular_core.InputSignalWithTransform<number, unknown>;
9371
+ /** Separación entre segmentos en grados. Default 1.5. */
9372
+ readonly padAngle: _angular_core.InputSignalWithTransform<number, unknown>;
9373
+ /** Leyenda. Default true. */
9374
+ readonly showLegend: _angular_core.InputSignalWithTransform<boolean, unknown>;
9375
+ /** Posición de la leyenda. Default `right`. */
9376
+ readonly legendPosition: _angular_core.InputSignal<IusDonutLegendPosition>;
9377
+ /** Valor + % en la leyenda. Default true. */
9378
+ readonly legendValues: _angular_core.InputSignalWithTransform<boolean, unknown>;
9379
+ /** % sobre cada segmento con espacio (≥ 7%). Default false. */
9380
+ readonly showLabels: _angular_core.InputSignalWithTransform<boolean, unknown>;
9381
+ /** Tooltip en hover (etiqueta, valor, %). Default true. */
9382
+ readonly showTooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
9383
+ /** Total central; sin fijar = suma formateada; `false` lo oculta. */
9384
+ readonly centerLabel: _angular_core.InputSignal<string | false | undefined>;
9385
+ /** Texto secundario bajo el central. */
9386
+ readonly centerSublabel: _angular_core.InputSignal<string | undefined>;
9387
+ /** Formatea los valores (centro, leyenda, tooltip). Default `Intl` es-CO. */
9388
+ readonly valueFormat: _angular_core.InputSignal<((value: number) => string) | undefined>;
9389
+ /** Sufijo de unidad. Ignorado si hay `valueFormat`. */
9390
+ readonly unit: _angular_core.InputSignal<string | undefined>;
9391
+ /** Carga: anillo skeleton. */
9392
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
9393
+ /** Plantilla propia cuando no hay datos (reemplaza el EmptyState por defecto). */
9394
+ readonly emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
9395
+ readonly emptyTitle: _angular_core.InputSignal<string>;
9396
+ readonly emptyDescription: _angular_core.InputSignal<string | undefined>;
9397
+ /** Animación de entrada (fade + leve giro/escala). Default true. */
9398
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
9399
+ /** Etiqueta accesible del gráfico. */
9400
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
9401
+ private readonly el;
9402
+ private resizeObserver?;
9403
+ private animTimers;
9404
+ private animations;
9405
+ /** Ancho medido del contenedor (modo responsive). */
9406
+ private readonly measured;
9407
+ /** Segmento bajo el cursor (tooltip + resalte recíproco con la leyenda). */
9408
+ protected readonly active: _angular_core.WritableSignal<number | null>;
9409
+ /** Segmentos válidos (value > 0). */
9410
+ protected readonly segs: _angular_core.Signal<IusDonutSegment[]>;
9411
+ protected readonly total: _angular_core.Signal<number>;
9412
+ protected readonly hasData: _angular_core.Signal<boolean>;
9413
+ /** Diámetro y radios (fijo con `size`; responsive según contenedor y leyenda). */
9414
+ protected readonly geo: _angular_core.Signal<DonutGeometry>;
9415
+ protected readonly viewBox: _angular_core.Signal<string>;
9416
+ protected pct(v: number): number;
9417
+ /** Segmentos con su arco ya trazado (hueco `padAngle` + esquinas redondeadas). */
9418
+ protected readonly slices: _angular_core.Signal<DonutSlice[]>;
9419
+ /** Rótulos de % sobre los segmentos con ≥ 7% de espacio. */
9420
+ protected readonly sliceLabels: _angular_core.Signal<{
9421
+ key: string;
9422
+ x: number;
9423
+ y: number;
9424
+ text: string;
9425
+ }[]>;
9426
+ /** Leyenda con valor + % por segmento. */
9427
+ protected readonly legendItems: _angular_core.Signal<{
9428
+ key: string;
9429
+ i: number;
9430
+ label: string;
9431
+ color: string;
9432
+ val: string;
9433
+ }[]>;
9434
+ /** Total central: `centerLabel` (string) · default suma formateada · `false` = oculto. */
9435
+ protected readonly centerMain: _angular_core.Signal<string | null>;
9436
+ protected readonly centerOn: _angular_core.Signal<boolean>;
9437
+ /** Tooltip del segmento activo, anclado al punto medio del anillo. */
9438
+ protected readonly tooltip: _angular_core.Signal<{
9439
+ left: number;
9440
+ top: number;
9441
+ label: string;
9442
+ color: string;
9443
+ value: string;
9444
+ pct: string;
9445
+ } | null>;
9446
+ /** Firma del dato que dispara la animación de entrada (igual que `animSig` del golden). */
9447
+ private readonly animSig;
9448
+ constructor();
9449
+ ngAfterViewInit(): void;
9450
+ ngOnDestroy(): void;
9451
+ /** Formato de un valor: `valueFormat` o `Intl` es-CO + `unit`. */
9452
+ protected fmt(n: number): string;
9453
+ protected onSegEnter(i: number): void;
9454
+ protected onSegLeave(i: number): void;
9455
+ /**
9456
+ * Entrada: fade + leve giro/escala del grupo de segmentos (WAAPI). Red de
9457
+ * seguridad: pasada la duración se cancela y la dona queda completa aunque el
9458
+ * timeline esté congelado (capturas/thumbnails). `prefers-reduced-motion` = sin animar.
9459
+ */
9460
+ private runEntryAnimation;
9461
+ private stopAnimations;
9462
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DonutChartComponent, never>;
9463
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DonutChartComponent, "ius-donut-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "startAngle": { "alias": "startAngle"; "required": false; "isSignal": true; }; "padAngle": { "alias": "padAngle"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "legendPosition": { "alias": "legendPosition"; "required": false; "isSignal": true; }; "legendValues": { "alias": "legendValues"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "showTooltip": { "alias": "showTooltip"; "required": false; "isSignal": true; }; "centerLabel": { "alias": "centerLabel"; "required": false; "isSignal": true; }; "centerSublabel": { "alias": "centerSublabel"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "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; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9464
+ }
9465
+
9466
+ /**
9467
+ * BorderBeam — Ius Design v2 (familia data-display; réplica fiel de Magic UI).
9468
+ *
9469
+ * **Decoración**: haz de luz que recorre el borde del contenedor para señalar
9470
+ * novedad/actividad. Técnica: un anillo del grosor del borde (máscara
9471
+ * `border-box ∩ padding-box`, hereda el `border-radius`) dentro del cual viaja
9472
+ * un cuadrado con degradado a lo largo de un `offset-path` rectangular — la
9473
+ * máscara confina el cuadrado al anillo, así el grosor visible es constante en
9474
+ * lados y esquinas. El offset-path se redondea por el TAMAÑO del haz (no por el
9475
+ * radio real) para que el giro por esquinas sea fluido.
9476
+ *
9477
+ * Se monta DENTRO de un contenedor con `position` no estática + `border-radius`.
9478
+ * `aria-hidden`, `pointer-events: none`, y se detiene con
9479
+ * `prefers-reduced-motion`. Fuente de verdad: `BorderBeam.jsx` +
9480
+ * `BorderBeam.d.ts` + `BorderBeam.ng-spec.md`.
9481
+ *
9482
+ * **Mesura**: un BorderBeam por vista — no convertir paneles normales en luces
9483
+ * permanentes. Para etiqueta con texto → Tag; aviso con CTA → Coachmark.
9484
+ */
9485
+ declare class BorderBeamComponent {
9486
+ /** Largo de la estela en px. Rango estable 40–120. Default 90. */
9487
+ readonly size: _angular_core.InputSignalWithTransform<number, unknown>;
9488
+ /** Grosor del trazo en px. Mantener 1–1.5. Default 1.5. */
9489
+ readonly borderWidth: _angular_core.InputSignalWithTransform<number, unknown>;
9490
+ /** Segundos por vuelta. Rango 5–10. Default 9. */
9491
+ readonly duration: _angular_core.InputSignalWithTransform<number, unknown>;
9492
+ /** Retraso inicial en segundos (arranca a mitad de camino con valores > 0). */
9493
+ readonly delay: _angular_core.InputSignalWithTransform<number, unknown>;
9494
+ /** Sentido inverso del recorrido. */
9495
+ readonly reverse: _angular_core.InputSignalWithTransform<boolean, unknown>;
9496
+ /** Deriva el degradado `--ius-<accent>-400 → -500` (mismo vocabulario que Tag.tone). */
9497
+ readonly accent: _angular_core.InputSignal<IusTagTone | undefined>;
9498
+ /** Color inicial del degradado (sobrescribe `accent`). */
9499
+ readonly colorFrom: _angular_core.InputSignal<string | undefined>;
9500
+ /** Color final del degradado (sobrescribe `accent`). */
9501
+ readonly colorTo: _angular_core.InputSignal<string | undefined>;
9502
+ /** Redondeo del recorrido en esquinas (default: derivado de `size`, como Magic UI). */
9503
+ readonly radius: _angular_core.InputSignal<string | number | undefined>;
9504
+ protected readonly from: _angular_core.Signal<string>;
9505
+ protected readonly to: _angular_core.Signal<string>;
9506
+ /** El offset-path se redondea por el tamaño del haz (giro fluido en esquinas). */
9507
+ protected readonly path: _angular_core.Signal<string>;
9508
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BorderBeamComponent, never>;
9509
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BorderBeamComponent, "ius-border-beam", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "borderWidth": { "alias": "borderWidth"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "reverse": { "alias": "reverse"; "required": false; "isSignal": true; }; "accent": { "alias": "accent"; "required": false; "isSignal": true; }; "colorFrom": { "alias": "colorFrom"; "required": false; "isSignal": true; }; "colorTo": { "alias": "colorTo"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9510
+ }
9511
+
9512
+ /** Voto binario: pulgar arriba, pulgar abajo o sin voto. */
9513
+ type IusAnswerFeedbackValue = 'up' | 'down' | null;
9514
+ /** Tamaño de los pulgares (ícono sm/md). */
9515
+ type IusAnswerFeedbackSize = 'small' | 'medium';
9516
+ /**
9517
+ * AnswerFeedback — Ius Design v2 (familia inputs).
9518
+ *
9519
+ * «¿Te fue útil?» 👍/👎 sobre una **salida generada** (un resumen o
9520
+ * recomendación de ElenIA, una respuesta de ayuda). Ciclo: pregunta + dos
9521
+ * pulsadores → al votar, el elegido queda activo (color de **marca**
9522
+ * `--ius-primary-100/700`, NO semántico: el sentido lo da el pulgar), aparece
9523
+ * el micro-agradecimiento y el voto no elegido se atenúa. Pulsar el voto activo
9524
+ * lo **retira** (emite `null`).
9525
+ *
9526
+ * Controlado (`value`) o no controlado (estado interno desde `defaultValue`).
9527
+ * Los pulgares COMPONEN `ius-icon-button` (tertiary, con tooltip propio);
9528
+ * este componente solo matiza el estado «votado» por CSS. No pide motivo (por
9529
+ * decisión). Fuente de verdad: `AnswerFeedback.jsx` + `.d.ts` + ng-spec.
9530
+ *
9531
+ * No es `Rate` (estrellas 1–5): esto es un juicio binario útil/no-útil.
9532
+ */
9533
+ declare class AnswerFeedbackComponent {
9534
+ /** Voto controlado (`undefined` = no controlado con `defaultValue`). */
9535
+ readonly value: _angular_core.InputSignal<IusAnswerFeedbackValue | undefined>;
9536
+ /** Voto inicial del modo no controlado. */
9537
+ readonly defaultValue: _angular_core.InputSignal<IusAnswerFeedbackValue>;
9538
+ /** Texto previo al voto. */
9539
+ readonly question: _angular_core.InputSignal<string>;
9540
+ /** Texto tras votar. */
9541
+ readonly thanksLabel: _angular_core.InputSignal<string>;
9542
+ /** Tamaño de los pulgares. Default `small`. */
9543
+ readonly size: _angular_core.InputSignal<IusAnswerFeedbackSize>;
9544
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
9545
+ /** Emite al votar; `null` al retirar el voto activo (original `onChange`). */
9546
+ readonly valueChange: _angular_core.OutputEmitterRef<IusAnswerFeedbackValue>;
9547
+ /** `undefined` = aún sin interacción → manda `defaultValue`. */
9548
+ private readonly inner;
9549
+ /** Voto vigente: controlado por `value` si viene definido; si no, estado interno. */
9550
+ protected readonly current: _angular_core.Signal<IusAnswerFeedbackValue>;
9551
+ protected vote(next: 'up' | 'down'): void;
9552
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AnswerFeedbackComponent, never>;
9553
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AnswerFeedbackComponent, "ius-answer-feedback", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "question": { "alias": "question"; "required": false; "isSignal": true; }; "thanksLabel": { "alias": "thanksLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
9554
+ }
9555
+
9556
+ /** Tinte/acento de marca del Insight. */
9557
+ type IusInsightTone = 'primary' | 'info';
9558
+ /** Caja limpia (default) o con wash muy tenue de marca. */
9559
+ type IusInsightVariant = 'plain' | 'tinted';
9560
+ /**
9561
+ * Acciones extra de la barra (a la derecha del copiar/feedback):
9562
+ * `<ius-insight …><button iusInsightActions>…</button></ius-insight>`.
9563
+ */
9564
+ declare class IusInsightActionsDirective {
9565
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusInsightActionsDirective, never>;
9566
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusInsightActionsDirective, "[iusInsightActions]", never, {}, {}, never, never, true, never>;
9567
+ }
9568
+ /**
9569
+ * Insight — Ius Design v2 (familia feedback).
9570
+ *
9571
+ * Superficie de **contenido proactivo generado por IA** (ElenIA): el
9572
+ * briefing/resumen que se produce sin que se lo pidan. No se distingue por
9573
+ * teñir la caja (eso lo hace `Alert` y competiría), sino por la **cabecera de
9574
+ * procedencia**: chip de marca con `auto_awesome` + «Generado por IA». La caja
9575
+ * es limpia (surface-card + borde tenue) para que el texto y los `Alert`
9576
+ * anidados se lean livianos (sin tinte-sobre-tinte); `variant="tinted"` añade
9577
+ * un wash muy tenue solo si el Insight va suelto y quiere más presencia.
9578
+ *
9579
+ * El contenido entra por `<ng-content>` (texto o rico: Alerts/Tags). Barra
9580
+ * opcional: copiar (`ius-icon-button`, `content_copy`→`check` 1.5s) + calificar
9581
+ * (`ius-answer-feedback`) + acciones propias (`[iusInsightActions]`). `beam`
9582
+ * enciende un `ius-border-beam` («recién generado»). El título compone
9583
+ * `ius-section-title size=small divider=false` (mismo rótulo del sistema).
9584
+ *
9585
+ * Fuente de verdad: `Insight.jsx` + `.d.ts` + `Insight.ng-spec.md`.
9586
+ *
9587
+ * NO es `Alert` (callout semántico ligado al contenido) ni `ChatBubble` (una
9588
+ * intervención de la conversación): esto es el digest proactivo.
9589
+ */
9590
+ declare class InsightComponent implements AfterViewInit, OnDestroy {
9591
+ /** Título del briefing (compone `ius-section-title`). */
9592
+ readonly title: _angular_core.InputSignal<string | undefined>;
9593
+ /** Procedencia (el sello que lo distingue). `""` la oculta. */
9594
+ readonly overline: _angular_core.InputSignal<string>;
9595
+ /** Ícono de la procedencia. */
9596
+ readonly icon: _angular_core.InputSignal<string>;
9597
+ /** Texto tenue a la derecha de la procedencia (fecha, fuente…). */
9598
+ readonly meta: _angular_core.InputSignal<string | undefined>;
9599
+ /** Tinte/acento de marca. */
9600
+ readonly tone: _angular_core.InputSignal<IusInsightTone>;
9601
+ /** `plain` = tarjeta limpia · `tinted` = wash de marca muy tenue. */
9602
+ readonly variant: _angular_core.InputSignal<IusInsightVariant>;
9603
+ /** Monta un `ius-border-beam` con el acento del tono («recién generado»). */
9604
+ readonly beam: _angular_core.InputSignalWithTransform<boolean, unknown>;
9605
+ /** Botón copiar en la barra. */
9606
+ readonly copyable: _angular_core.InputSignalWithTransform<boolean, unknown>;
9607
+ /** Texto que va al portapapeles. */
9608
+ readonly copyText: _angular_core.InputSignal<string | undefined>;
9609
+ /** Muestra `ius-answer-feedback` en la barra. */
9610
+ readonly feedback: _angular_core.InputSignalWithTransform<boolean, unknown>;
9611
+ /** Voto controlado del feedback. */
9612
+ readonly feedbackValue: _angular_core.InputSignal<IusAnswerFeedbackValue | undefined>;
9613
+ /** Tras copiar (original `onCopy`). */
9614
+ readonly copied: _angular_core.OutputEmitterRef<void>;
9615
+ /** Voto del `AnswerFeedback` interno (original `onFeedback`). */
9616
+ readonly feedbackChanged: _angular_core.OutputEmitterRef<IusAnswerFeedbackValue>;
9617
+ private readonly actionsRef;
9618
+ /**
9619
+ * Span donde se estampa el `<ng-content>` del cuerpo. Se inspecciona UNA vez
9620
+ * (patrón de ius-status-chip/ius-divider: bajo OnPush la proyección no se
9621
+ * re-evalúa) para no dejar un hueco de gap cuando no hay contenido.
9622
+ */
9623
+ private bodyRef;
9624
+ protected readonly hasBody: _angular_core.WritableSignal<boolean>;
9625
+ /** Estado transitorio del botón copiar (`content_copy` → `check`). */
9626
+ protected readonly copiedNow: _angular_core.WritableSignal<boolean>;
9627
+ private copyTimer;
9628
+ protected readonly hasOverline: _angular_core.Signal<boolean>;
9629
+ protected readonly hasProv: _angular_core.Signal<boolean>;
9630
+ protected get hasActions(): boolean;
9631
+ protected get hasBar(): boolean;
9632
+ ngAfterViewInit(): void;
9633
+ ngOnDestroy(): void;
9634
+ protected doCopy(): void;
9635
+ protected onFeedback(value: IusAnswerFeedbackValue): void;
9636
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InsightComponent, never>;
9637
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InsightComponent, "ius-insight", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "overline": { "alias": "overline"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "beam": { "alias": "beam"; "required": false; "isSignal": true; }; "copyable": { "alias": "copyable"; "required": false; "isSignal": true; }; "copyText": { "alias": "copyText"; "required": false; "isSignal": true; }; "feedback": { "alias": "feedback"; "required": false; "isSignal": true; }; "feedbackValue": { "alias": "feedbackValue"; "required": false; "isSignal": true; }; }, { "copied": "copied"; "feedbackChanged": "feedbackChanged"; }, ["actionsRef"], ["*", "[iusInsightActions]"], true, never>;
9638
+ }
9639
+
9640
+ /** Rango de fechas del modo `range` (extremos inclusive; `end` null mientras se elige). */
9641
+ interface IusDateRange {
9642
+ start: Date | null;
9643
+ end: Date | null;
9644
+ }
9645
+ /** Selección simple o por rango. */
9646
+ type IusCalendarMode = 'single' | 'range';
9647
+ /** Valor del calendario: fecha (single), rango (range) o nada. */
9648
+ type IusCalendarValue = Date | IusDateRange | null;
9649
+ /** Nivel de navegación del encabezado. */
9650
+ type CalendarLevel = 'day' | 'month' | 'year';
9651
+ /** Formatea una fecha como "12/11/2025" (util del paquete, verbatim del golden). */
9652
+ declare function formatDate(d: Date | null | undefined): string;
9653
+ interface DayCell {
9654
+ date: Date;
9655
+ label: number;
9656
+ outside: boolean;
9657
+ disabled: boolean;
9658
+ today: boolean;
9659
+ selected: boolean;
9660
+ inRange: boolean;
9661
+ rangeStart: boolean;
9662
+ rangeEnd: boolean;
9663
+ }
9664
+ interface MonthView {
9665
+ key: string;
9666
+ days: DayCell[];
9667
+ }
9668
+ interface HeaderTitle {
9669
+ /** Texto simple (año o década); null = mes + año del `date`. */
9670
+ text: string | null;
9671
+ monthAbbr: string;
9672
+ year: number;
9673
+ date: Date;
9674
+ }
9675
+ interface PickerCell {
9676
+ label: string;
9677
+ outside: boolean;
9678
+ selected: boolean;
9679
+ today: boolean;
9680
+ value: number;
9681
+ }
9682
+ /** Pie propio del calendario (reemplaza el pie "Fecha actual"). */
9683
+ declare class IusCalendarFooterDirective {
9684
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusCalendarFooterDirective, never>;
9685
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusCalendarFooterDirective, "[iusCalendarFooter]", never, {}, {}, never, never, true, never>;
9686
+ }
9687
+ /** Columna lateral (el DatePicker monta aquí el TimePanel). */
9688
+ declare class IusCalendarAsideDirective {
9689
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IusCalendarAsideDirective, never>;
9690
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IusCalendarAsideDirective, "[iusCalendarAside]", never, {}, {}, never, never, true, never>;
9691
+ }
9692
+ /**
9693
+ * Calendar — Ius Design v2 (familia inputs, CVA).
9694
+ *
9695
+ * Molécula de calendario reusable: la pieza interna del DatePicker, también
9696
+ * embebible sola. Rejilla de días con **navegación en 3 niveles** tocando el
9697
+ * encabezado (día → mes → año/década). Día seleccionado en círculo azul
9698
+ * (`--ius-primary-900`), **hoy** en verde (`--ius-success-100/700`), días de
9699
+ * otro mes atenuados. Semana inicia lunes (`weekStartsOn`).
9700
+ *
9701
+ * `mode="range"` muestra **dos meses** y pinta la banda azul entre extremos
9702
+ * (con preview en hover mientras se elige el fin). Límites con
9703
+ * `minDate`/`maxDate`/`isDateDisabled`. Pie «Fecha actual» (`showToday`),
9704
+ * reemplazable por `[iusCalendarFooter]`; columna lateral `[iusCalendarAside]`
9705
+ * (el DatePicker monta ahí el TimePanel). Para hora → TimePanel.
9706
+ *
9707
+ * Fuente de verdad: `Calendar.jsx` + `Calendar.d.ts` + `Calendar.ng-spec.md`.
9708
+ * Export util: `formatDate(d)` → "12/11/2025".
9709
+ */
9710
+ declare class CalendarComponent implements ControlValueAccessor {
9711
+ /** `single` (default) o `range` (dos meses + banda azul). */
9712
+ mode: IusCalendarMode;
9713
+ /** Estado inicial del modo no controlado. */
9714
+ defaultValue?: IusCalendarValue;
9715
+ private readonly valueState;
9716
+ /** Valor controlado (CVA / `[(value)]`). */
9717
+ set value(value: IusCalendarValue | undefined);
9718
+ get value(): IusCalendarValue;
9719
+ private _viewDate?;
9720
+ /** Mes mostrado (controlado opcional). */
9721
+ set viewDate(value: Date | undefined);
9722
+ get viewDate(): Date | undefined;
9723
+ minDate?: Date;
9724
+ maxDate?: Date;
9725
+ /** Deshabilita fechas puntuales. */
9726
+ isDateDisabled?: (date: Date) => boolean;
9727
+ /** Pie "Fecha actual". Default true. */
9728
+ showToday: boolean;
9729
+ todayLabel?: string;
9730
+ /** Primer día de la semana: 1 = lunes (default) · 0 = domingo. */
9731
+ weekStartsOn: 0 | 1;
9732
+ /** Original `onChange`. */
9733
+ readonly valueChange: EventEmitter<IusCalendarValue>;
9734
+ /** Mes mostrado (original `onViewDateChange`). */
9735
+ readonly viewDateChange: EventEmitter<Date>;
9736
+ /** Click del pie "hoy" (original `onToday`); si no se enlaza, navega + selecciona hoy. */
9737
+ readonly todayClick: EventEmitter<void>;
9738
+ private readonly footerRef;
9739
+ private readonly asideRef;
9740
+ /** Nivel de navegación del encabezado. */
9741
+ protected readonly level: _angular_core.WritableSignal<CalendarLevel>;
9742
+ /** Día bajo el cursor (preview del extremo del rango). */
9743
+ private readonly hoverDate;
9744
+ private readonly internalView;
9745
+ private readonly cvaDisabled;
9746
+ private onChangeFn;
9747
+ private onTouchedFn;
9748
+ writeValue(value: IusCalendarValue): void;
9749
+ registerOnChange(fn: (value: IusCalendarValue) => void): void;
9750
+ registerOnTouched(fn: () => void): void;
9751
+ setDisabledState(isDisabled: boolean): void;
9752
+ protected get isRange(): boolean;
9753
+ private get today();
9754
+ protected get hasFooterSlot(): boolean;
9755
+ protected get hasAside(): boolean;
9756
+ /** Valor vigente: controlado/CVA → interno → `defaultValue` → vacío. */
9757
+ protected get current(): IusCalendarValue;
9758
+ private get range();
9759
+ /** Mes mostrado: controlado → interno → derivado del valor → hoy. */
9760
+ protected get view(): Date;
9761
+ private setViewDate;
9762
+ private commit;
9763
+ protected get weekdays(): string[];
9764
+ private dayDisabled;
9765
+ /** Extremo efectivo del rango durante la elección (preview con hover). */
9766
+ private get previewEnd();
9767
+ private inRange;
9768
+ private isRangeStart;
9769
+ private isRangeEnd;
9770
+ private isSelected;
9771
+ /** Bloques de mes visibles (range = dos meses consecutivos). */
9772
+ protected get monthsView(): MonthView[];
9773
+ /** Títulos del encabezado (day: uno por mes; month/year: uno solo). */
9774
+ protected get headerTitles(): HeaderTitle[];
9775
+ /** Celdas del selector de mes. */
9776
+ protected get monthCells(): PickerCell[];
9777
+ /** Celdas del selector de año (década −1 … +10, extremos atenuados). */
9778
+ protected get yearCells(): PickerCell[];
9779
+ protected onDayClick(cell: DayCell): void;
9780
+ protected onDayEnter(cell: DayCell): void;
9781
+ protected onMonthsLeave(): void;
9782
+ protected onMonthCell(cell: PickerCell): void;
9783
+ protected onYearCell(cell: PickerCell): void;
9784
+ protected step(dir: -1 | 1): void;
9785
+ protected onTitleClick(title: HeaderTitle): void;
9786
+ protected onTodayBtn(): void;
9787
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
9788
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "ius-calendar", never, { "mode": { "alias": "mode"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "viewDate": { "alias": "viewDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "isDateDisabled": { "alias": "isDateDisabled"; "required": false; }; "showToday": { "alias": "showToday"; "required": false; }; "todayLabel": { "alias": "todayLabel"; "required": false; }; "weekStartsOn": { "alias": "weekStartsOn"; "required": false; }; }, { "valueChange": "valueChange"; "viewDateChange": "viewDateChange"; "todayClick": "todayClick"; }, ["footerRef", "asideRef"], ["[iusCalendarAside]", "[iusCalendarFooter]"], true, never>;
9789
+ static ngAcceptInputType_showToday: unknown;
9790
+ }
9791
+
9792
+ /** Hora en reloj de 12: `{ hours: 1–12, minutes: 0–59, ampm }`. */
9793
+ interface IusTimeValue {
9794
+ hours: number;
9795
+ minutes: number;
9796
+ ampm: 'AM' | 'PM';
9797
+ }
9798
+ /** Formatea un `IusTimeValue` como "01:05 PM" (util del paquete, verbatim del golden). */
9799
+ declare function formatTime(v: IusTimeValue | null | undefined): string;
9800
+ /** Deriva un `IusTimeValue` 12h de un `Date` (util del paquete, verbatim del golden). */
9801
+ declare function timeFromDate(d: Date): IusTimeValue;
9802
+ /**
9803
+ * TimePanel — Ius Design v2 (familia inputs, CVA).
9804
+ *
9805
+ * Molécula de selección de hora: **3 columnas con scroll** (horas 01–12 ·
9806
+ * minutos por `minuteStep` · AM/PM). Celda elegida en azul
9807
+ * (`--ius-primary-900`); la hora/minuto «ahora» en verde (`now`). Encabezado
9808
+ * con la hora formateada ("01:00 PM") o **editable** (`hh | mm` sobre
9809
+ * `ius-multi-text-field` + toggle AM/PM, sincronizados — permite minuto exacto
9810
+ * fuera del paso). `fillHeight` la vuelve columna que llena el alto disponible
9811
+ * (la usa el DatePicker en modo `datetime`, donde el calendario fija el alto).
9812
+ *
9813
+ * Pieza interna del DatePicker modo `datetime`; **no se usa suelta** en
9814
+ * formularios. Fuente de verdad: `TimePanel.jsx` + `.d.ts` + ng-spec.
9815
+ * Export utils: `formatTime(v)` → "01:05 PM" y `timeFromDate(d)`.
9816
+ */
9817
+ declare class TimePanelComponent implements ControlValueAccessor, AfterViewInit {
9818
+ /** Estado inicial del modo no controlado. Default `12:00 AM`. */
9819
+ defaultValue?: IusTimeValue;
9820
+ private readonly valueState;
9821
+ /** Hora controlada (CVA / `[(value)]`). */
9822
+ set value(value: IusTimeValue | undefined);
9823
+ get value(): IusTimeValue;
9824
+ /** Paso de minutos (00, 05, … 55). Default 5. */
9825
+ minuteStep: number;
9826
+ /** Marca «ahora» en verde: `true` = hora actual, o un `Date` de referencia. */
9827
+ now: boolean | Date;
9828
+ /** Encabezado con la hora formateada. Default true. */
9829
+ showHeader: boolean;
9830
+ /** Encabezado editable (`hh:mm` + AM/PM escribibles, sincronizados). */
9831
+ editable: boolean;
9832
+ /** Llena el alto disponible (uso interno del DatePicker `datetime`). */
9833
+ fillHeight: boolean;
9834
+ /** Filas por columna antes de scroll. Default 6. */
9835
+ maxVisible: number;
9836
+ /** Original `onChange`. */
9837
+ readonly valueChange: EventEmitter<IusTimeValue>;
9838
+ private colH?;
9839
+ private colM?;
9840
+ private readonly cvaDisabled;
9841
+ private onChangeFn;
9842
+ private onTouchedFn;
9843
+ writeValue(value: IusTimeValue | null): void;
9844
+ registerOnChange(fn: (value: IusTimeValue) => void): void;
9845
+ registerOnTouched(fn: () => void): void;
9846
+ setDisabledState(isDisabled: boolean): void;
9847
+ ngAfterViewInit(): void;
9848
+ protected get current(): IusTimeValue;
9849
+ protected get nowVal(): IusTimeValue | null;
9850
+ protected get hours(): number[];
9851
+ protected get minutes(): number[];
9852
+ protected readonly periods: Array<'AM' | 'PM'>;
9853
+ protected get colMaxH(): string | null;
9854
+ protected get headerText(): string;
9855
+ /** Segmentos `hh | mm` del encabezado editable (sobre ius-multi-text-field). */
9856
+ protected get editSlots(): IusMultiTextFieldSlot[];
9857
+ protected pad(n: number): string;
9858
+ protected commit(patch: Partial<IusTimeValue>): void;
9859
+ private onHourInput;
9860
+ private onMinInput;
9861
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimePanelComponent, never>;
9862
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimePanelComponent, "ius-time-panel", never, { "defaultValue": { "alias": "defaultValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "minuteStep": { "alias": "minuteStep"; "required": false; }; "now": { "alias": "now"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "fillHeight": { "alias": "fillHeight"; "required": false; }; "maxVisible": { "alias": "maxVisible"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
9863
+ static ngAcceptInputType_minuteStep: unknown;
9864
+ static ngAcceptInputType_showHeader: unknown;
9865
+ static ngAcceptInputType_editable: unknown;
9866
+ static ngAcceptInputType_fillHeight: unknown;
9867
+ static ngAcceptInputType_maxVisible: unknown;
9868
+ }
9869
+
9870
+ /** Modo del campo: fecha única, rango o fecha+hora. */
9871
+ type IusDatePickerMode = 'date' | 'range' | 'datetime';
9872
+ /** Valor del modo `datetime`. */
9873
+ interface IusDateTimeValue {
9874
+ date: Date | null;
9875
+ time: IusTimeValue;
9876
+ }
9877
+ /** Valor según el modo (CVA). */
9878
+ type IusDatePickerValue = Date | null | IusDateRange | IusDateTimeValue;
9879
+ /** Estado forzado — solo demos. */
9880
+ type IusDatePickerState = 'hover' | 'focused' | 'open' | 'error' | 'disabled';
9881
+ /** Token del campo enmascarado (mismo esquema de segmentos que MultiTextField). */
9882
+ interface FieldToken {
9883
+ kind: 'slot' | 'divider' | 'gap' | 'arrow' | 'ampm';
9884
+ id?: string;
9885
+ max?: number;
9886
+ ph?: string;
9887
+ }
9888
+ /**
9889
+ * DatePicker — Ius Design v2 (familia inputs, CVA).
9890
+ *
9891
+ * Campo de fecha que reúne el **shell del TextField** (label + required +
9892
+ * iconHelp + sufijo calendario + estados + help/error + `size`) con una
9893
+ * **máscara escribible** `DD | MM | AAAA` (misma lógica de segmentos que
9894
+ * MultiTextField: solo dígitos, auto-avance al llenar, Backspace en vacío
9895
+ * retrocede) y abre un panel que compone **Calendar** (+ **TimePanel** en
9896
+ * `datetime`).
9897
+ *
9898
+ * Tres modos: `date` (un mes) · `range` (dos meses + banda, `DD/MM/AAAA →
9899
+ * DD/MM/AAAA`) · `datetime` (mes + panel de hora `hh|mm` + AM/PM). Semana
9900
+ * inicia lunes; hoy en verde; el pie «Fecha actual» / «Fecha y hora actual»
9901
+ * selecciona y cierra (en `range` no hay pie). Escribir en la máscara mueve el
9902
+ * mes del panel; elegir en el panel resincroniza la máscara.
9903
+ *
9904
+ * El panel se ancla con `ius-popover` (manual + dismissable, piel
9905
+ * `ius-datepicker-pop` que suelta el max-width). Fuente de verdad:
9906
+ * `DatePicker.jsx` + `.d.ts` + ng-spec. Pendiente documentado del prompt:
9907
+ * versión móvil compacta del modo `range`.
9908
+ *
9909
+ * Para calendario embebido sin campo → Calendar.
9910
+ */
9911
+ declare class DatePickerComponent implements ControlValueAccessor {
9912
+ private static nextId;
9913
+ /** Modo del campo. */
9914
+ mode: IusDatePickerMode;
9915
+ /** Shell: etiqueta del campo. */
9916
+ label?: string;
9917
+ required: boolean;
9918
+ /** Placeholders del contrato (la máscara actual usa `DD/MM/AAAA` fijos, como el golden). */
9919
+ placeholder: string;
9920
+ startPlaceholder: string;
9921
+ endPlaceholder: string;
9922
+ /** Estado inicial del modo no controlado. */
9923
+ defaultValue?: IusDatePickerValue;
9924
+ private readonly valueState;
9925
+ /** Valor controlado según el modo (CVA / `[(value)]`). */
9926
+ set value(value: IusDatePickerValue | undefined);
9927
+ get value(): IusDatePickerValue;
9928
+ minDate?: Date;
9929
+ maxDate?: Date;
9930
+ isDateDisabled?: (date: Date) => boolean;
9931
+ /** Paso de minutos del TimePanel (`datetime`). */
9932
+ minuteStep: number;
9933
+ helpText?: string;
9934
+ errorText?: string;
9935
+ showHelpText: boolean;
9936
+ showIconHelp: boolean;
9937
+ iconHelpTitle?: string;
9938
+ iconHelpContent?: string;
9939
+ error: boolean;
9940
+ disabled: boolean;
9941
+ size: 'small' | 'medium' | 'large';
9942
+ defaultOpen: boolean;
9943
+ private _open?;
9944
+ /** Apertura controlada del panel. */
9945
+ set open(value: boolean | undefined);
9946
+ get open(): boolean | undefined;
9947
+ /** Estado forzado — solo demos. */
9948
+ state?: IusDatePickerState;
9949
+ name?: string;
9950
+ /** Original `onChange` (payload según el modo). */
9951
+ readonly valueChange: EventEmitter<IusDatePickerValue>;
9952
+ /** Original `onOpenChange`. */
9953
+ readonly openChange: EventEmitter<boolean>;
9954
+ private slotEls;
9955
+ protected readonly baseId: string;
9956
+ protected readonly fieldFocused: _angular_core.WritableSignal<boolean>;
9957
+ /** Máscara en edición; `null` = derivada del valor vigente (resincronizada). */
9958
+ private readonly editState;
9959
+ private readonly innerOpen;
9960
+ private readonly viewState;
9961
+ private readonly cvaDisabled;
9962
+ private onChangeFn;
9963
+ private onTouchedFn;
9964
+ writeValue(value: IusDatePickerValue): void;
9965
+ registerOnChange(fn: (value: IusDatePickerValue) => void): void;
9966
+ registerOnTouched(fn: () => void): void;
9967
+ setDisabledState(isDisabled: boolean): void;
9968
+ private get emptyValue();
9969
+ protected get current(): IusDatePickerValue;
9970
+ protected get isDisabled(): boolean;
9971
+ protected get isError(): boolean;
9972
+ protected get isOpen(): boolean;
9973
+ protected setOpen(v: boolean): void;
9974
+ protected onPopoverOpenChange(open: boolean): void;
9975
+ protected onEscape(): void;
9976
+ private commit;
9977
+ protected get view(): Date;
9978
+ protected onViewChange(d: Date): void;
9979
+ private setView;
9980
+ protected get calMode(): 'single' | 'range';
9981
+ protected get calValue(): IusCalendarValue;
9982
+ protected get currentTime(): IusTimeValue;
9983
+ protected get ampmVal(): 'AM' | 'PM';
9984
+ protected onCalChange(v: IusCalendarValue): void;
9985
+ protected onTimeChange(t: IusTimeValue): void;
9986
+ protected get todayFootLabel(): string;
9987
+ protected onTodayFoot(): void;
9988
+ protected get tokens(): FieldToken[];
9989
+ private get order();
9990
+ private buildEdit;
9991
+ protected slotValue(id: string): string;
9992
+ protected slotWidth(t: FieldToken): string;
9993
+ /** `undefined` = campo vacío intencional · `null` = incompleto/ inválido · `Date` = válida. */
9994
+ private mkDate;
9995
+ private tryCommit;
9996
+ protected onSlotInput(token: FieldToken, event: Event): void;
9997
+ protected onSlotKeydown(token: FieldToken, event: KeyboardEvent): void;
9998
+ protected onSlotFocus(): void;
9999
+ protected onSlotBlur(): void;
10000
+ protected toggleAmpm(): void;
10001
+ protected toggleOpen(): void;
10002
+ protected get hint(): string | undefined;
10003
+ protected get showHint(): boolean;
10004
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerComponent, never>;
10005
+ 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>;
10006
+ static ngAcceptInputType_required: unknown;
10007
+ static ngAcceptInputType_minuteStep: unknown;
10008
+ static ngAcceptInputType_showHelpText: unknown;
10009
+ static ngAcceptInputType_showIconHelp: unknown;
10010
+ static ngAcceptInputType_error: unknown;
10011
+ static ngAcceptInputType_disabled: unknown;
10012
+ static ngAcceptInputType_defaultOpen: unknown;
10013
+ }
10014
+
10015
+ /**
10016
+ * Fuente de sugerencias: arreglo (filtra por substring), función sync o
10017
+ * función async (el componente maneja el spinner y descarta respuestas
10018
+ * obsoletas).
10019
+ */
10020
+ type IusAutocompleteSource<T> = T[] | ((query: string) => T[] | Promise<T[]>);
10021
+ /** Escala del campo (pass-through al TextField). */
10022
+ type IusAutocompleteSize = 'small' | 'medium' | 'large';
10023
+ /** Colocación del popover relativa al input. */
10024
+ type IusAutocompletePlacement = 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top';
10025
+ /** Contexto del `TemplateRef` de `renderItem` (equivalente del `ctx` del golden). */
10026
+ interface IusAutocompleteItemContext<T> {
10027
+ /** El ítem (`let-item`). */
10028
+ $implicit: T;
10029
+ /** `true` si es el ítem resaltado por teclado/hover. */
10030
+ highlighted: boolean;
10031
+ /** Texto actual del input, para resaltar el fragmento que coincide. */
10032
+ query: string;
10033
+ index: number;
10034
+ }
10035
+ /** Fila lista para pintar: label ya partido por la coincidencia con la query. */
10036
+ interface ItemVM<T> {
10037
+ item: T;
10038
+ key: string | number;
10039
+ label: string;
10040
+ index: number;
10041
+ /** Partes del label: antes · coincidencia · después. `match` vacío = sin coincidencia. */
10042
+ pre: string;
10043
+ match: string;
10044
+ post: string;
10045
+ ctx: IusAutocompleteItemContext<T>;
10046
+ }
10047
+ /**
10048
+ * Autocomplete — Ius Design v2.
10049
+ *
10050
+ * Campo de texto con **lista flotante de sugerencias**: el usuario escribe, el
10051
+ * componente consulta la fuente (arreglo, función sync o async) y abre un
10052
+ * popover anclado al input. Selección con clic, Enter o flechas + Enter.
10053
+ *
10054
+ * **Compone** `ius-text-field` (trigger, con toda su gramática pasada de largo)
10055
+ * y `ius-popover` (panel portaleado, piel `ius-autocomplete-pop`). Para texto
10056
+ * enriquecido con menciones inline (`@persona`) va `MentionsField`, no esto.
10057
+ *
10058
+ * Decisiones de port (divergencias documentadas contra el material remoto):
10059
+ *
10060
+ * 1. **El debounce aplica a TODAS las fuentes**, no solo a la async. La prosa
10061
+ * de la ng-spec dice «debounce de la fuente async»; el golden —que la propia
10062
+ * ng-spec declara fuente de verdad— programa un `setTimeout(debounceMs)`
10063
+ * para arreglo, función sync y async por igual. Un consumidor con catálogo
10064
+ * en memoria que quiera filtrado instantáneo pone `debounceMs="0"`.
10065
+ *
10066
+ * 2. **`suffixIcon` e `id` no existen** en el pass-through. La ng-spec los lista
10067
+ * como props de TextField, pero el TextField local no los expone (su `id` lo
10068
+ * genera él para el `for` del label; el slot `.ius-tf__sufix` está en su CSS
10069
+ * pero sin input que lo alimente). Se omiten en vez de fingirlos; ni la card
10070
+ * ni el playground del DS los ejercitan.
10071
+ *
10072
+ * 3. **`helperText` se llama `helpText`**, como en TextField, Select,
10073
+ * NumberField, TextArea y RepeatableField. Es un pass-through: debe llamarse
10074
+ * como el input al que pasa.
10075
+ *
10076
+ * 4. **El panel iguala el ancho del campo** (`min-width: 240px` del golden como
10077
+ * piso). El golden deja que el popover se autodimensione; aquí se sigue la
10078
+ * convención local de Select y PersonPicker, que miden el trigger.
10079
+ *
10080
+ * La carrera de la fuente async se resuelve con `switchMap`: la respuesta de
10081
+ * una query abandonada se descarta sola al desuscribirse (la ng-spec §4 pide
10082
+ * exactamente eso, «switchMap o guard por query token»).
10083
+ */
10084
+ declare class AutocompleteComponent<T = any> implements ControlValueAccessor, OnInit, OnDestroy {
10085
+ private readonly sourceState;
10086
+ /** Arreglo (filtra substring), función sync o función async. */
10087
+ set source(value: IusAutocompleteSource<T>);
10088
+ get source(): IusAutocompleteSource<T>;
10089
+ private readonly valorControlado;
10090
+ /** Ítem seleccionado (controlado). Sin bindear = no controlado / CVA. */
10091
+ set value(v: T | null | undefined);
10092
+ get value(): T | null | undefined;
10093
+ private readonly valorInterno;
10094
+ private valorSembrado;
10095
+ /** Ítem inicial (no controlado). */
10096
+ set defaultValue(v: T | null | undefined);
10097
+ private readonly textoControlado;
10098
+ /** Texto del input (controlado). Útil para que el padre orqueste la query. */
10099
+ set inputValue(v: string | undefined);
10100
+ get inputValue(): string | undefined;
10101
+ private readonly textoInterno;
10102
+ private textoSembrado;
10103
+ private textoInicial?;
10104
+ /** Texto inicial (no controlado). */
10105
+ set defaultInputValue(v: string | undefined);
10106
+ private readonly getItemLabelState;
10107
+ /** Label legible. Default: `item.label`, o el propio string. */
10108
+ set getItemLabel(fn: ((item: T) => string) | undefined);
10109
+ get getItemLabel(): ((item: T) => string) | undefined;
10110
+ private readonly getItemKeyState;
10111
+ /** Key estable del `@for`. Default: `item.id`, o el label. */
10112
+ set getItemKey(fn: ((item: T) => string | number) | undefined);
10113
+ get getItemKey(): ((item: T) => string | number) | undefined;
10114
+ /** Render a medida de cada fila. Contexto: `{ $implicit, highlighted, query, index }`. */
10115
+ renderItem?: TemplateRef<IusAutocompleteItemContext<T>>;
10116
+ private readonly debounceMsState;
10117
+ /** Debounce antes de consultar la fuente, en ms. */
10118
+ set debounceMs(v: number);
10119
+ get debounceMs(): number;
10120
+ private readonly minCharsState;
10121
+ /** Mínimo de caracteres para consultar y abrir. */
10122
+ set minChars(v: number);
10123
+ get minChars(): number;
10124
+ private readonly loadingState;
10125
+ /** Carga forzada por el consumidor; se combina con la interna de la async. */
10126
+ set loading(v: boolean);
10127
+ get loading(): boolean;
10128
+ private readonly noResultsTextState;
10129
+ /** Mensaje cuando la búsqueda no devuelve resultados. */
10130
+ set noResultsText(v: string);
10131
+ get noResultsText(): string;
10132
+ private readonly emptyTextState;
10133
+ /** Mensaje mientras no se cumple `minChars` (por defecto se redacta solo). */
10134
+ set emptyText(v: string | undefined);
10135
+ get emptyText(): string | undefined;
10136
+ /** Mensaje de carga. Lo lee el template directo, sin `computed` de por medio. */
10137
+ loadingText: string;
10138
+ private readonly clearableState;
10139
+ /** Botón × para limpiar la selección. */
10140
+ set clearable(v: boolean);
10141
+ get clearable(): boolean;
10142
+ /** Abre el popover al recibir foco, sin necesidad de escribir. */
10143
+ openOnFocus: boolean;
10144
+ /** Colocación del popover. */
10145
+ placement: IusAutocompletePlacement;
10146
+ /** Label sobre el input. */
10147
+ label?: string;
10148
+ placeholder?: string;
10149
+ size: IusAutocompleteSize;
10150
+ required: boolean;
10151
+ errorText?: string;
10152
+ /** Línea de ayuda bajo el campo (el `helperText` de la ng-spec). */
10153
+ helpText?: string;
10154
+ /** Ícono contextual al dato. **No usar `search`**: esa lupa es de SearchBar. */
10155
+ prefixIcon?: string;
10156
+ name?: string;
10157
+ private readonly errorState;
10158
+ set error(v: boolean);
10159
+ get error(): boolean;
10160
+ private readonly disabledState;
10161
+ set disabled(v: boolean);
10162
+ get disabled(): boolean;
10163
+ /** Selección (o `null` al limpiar). Original `onChange`. */
10164
+ readonly valueChange: EventEmitter<T | null>;
10165
+ /** Texto tecleado — el enganche para una API async controlada. */
10166
+ readonly inputChange: EventEmitter<string>;
10167
+ /** `read: ElementRef` — sin eso `viewChild` sobre un componente devuelve la
10168
+ * instancia, no el elemento, y no se puede medir. */
10169
+ private readonly campo;
10170
+ /** Referencia estable: un objeto literal en el template cambiaría cada CD. */
10171
+ protected readonly ngModelSuelto: {
10172
+ standalone: boolean;
10173
+ };
10174
+ private readonly abierto;
10175
+ private readonly items;
10176
+ private readonly cargandoInterno;
10177
+ protected readonly resaltado: _angular_core.WritableSignal<number>;
10178
+ protected readonly anchoMenu: _angular_core.WritableSignal<number | null>;
10179
+ private readonly peticiones;
10180
+ /**
10181
+ * Corta UNA resolución: tras elegir un ítem el input pasa a su label, y eso
10182
+ * volvería a consultar la fuente con el texto que acabamos de escribir.
10183
+ * Espejo del `skipNextResolveRef` del golden.
10184
+ */
10185
+ private saltarProximaResolucion;
10186
+ private temporizadorBlur?;
10187
+ private observadorAncho?;
10188
+ private raf;
10189
+ private onChangeFn;
10190
+ private onTouchedFn;
10191
+ protected readonly itemSeleccionado: _angular_core.Signal<T | null>;
10192
+ protected readonly queryText: _angular_core.Signal<string>;
10193
+ protected readonly listaVisible: _angular_core.Signal<boolean>;
10194
+ protected readonly cargando: _angular_core.Signal<boolean>;
10195
+ protected readonly mostrarClear: _angular_core.Signal<boolean>;
10196
+ protected readonly itemsVM: _angular_core.Signal<ItemVM<T>[]>;
10197
+ protected readonly mensajeVacio: _angular_core.Signal<string>;
10198
+ constructor();
10199
+ ngOnInit(): void;
10200
+ ngOnDestroy(): void;
10201
+ private resolver;
10202
+ private etiqueta;
10203
+ private claveDe;
10204
+ /** Parte el label por la primera coincidencia con la query (case-insensitive). */
10205
+ private partir;
10206
+ private abrir;
10207
+ private cerrar;
10208
+ protected onPopoverOpenChange(abierto: boolean): void;
10209
+ private medirDiferido;
10210
+ private medir;
10211
+ protected onInput(v: string): void;
10212
+ protected onFocusIn(): void;
10213
+ protected onFocusOut(): void;
10214
+ protected onItemMouseDown(event: MouseEvent, item: T): void;
10215
+ protected seleccionar(item: T): void;
10216
+ protected onClear(): void;
10217
+ protected onKeyDown(event: KeyboardEvent): void;
10218
+ writeValue(value: T | null): void;
10219
+ registerOnChange(fn: (item: T | null) => void): void;
10220
+ registerOnTouched(fn: () => void): void;
10221
+ setDisabledState(isDisabled: boolean): void;
10222
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutocompleteComponent<any>, never>;
10223
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent<any>, "ius-autocomplete", never, { "source": { "alias": "source"; "required": true; }; "value": { "alias": "value"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "inputValue": { "alias": "inputValue"; "required": false; }; "defaultInputValue": { "alias": "defaultInputValue"; "required": false; }; "getItemLabel": { "alias": "getItemLabel"; "required": false; }; "getItemKey": { "alias": "getItemKey"; "required": false; }; "renderItem": { "alias": "renderItem"; "required": false; }; "debounceMs": { "alias": "debounceMs"; "required": false; }; "minChars": { "alias": "minChars"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "noResultsText": { "alias": "noResultsText"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; "required": { "alias": "required"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "name": { "alias": "name"; "required": false; }; "error": { "alias": "error"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; "inputChange": "inputChange"; }, never, never, true, never>;
10224
+ static ngAcceptInputType_debounceMs: unknown;
10225
+ static ngAcceptInputType_minChars: unknown;
10226
+ static ngAcceptInputType_loading: unknown;
10227
+ static ngAcceptInputType_clearable: unknown;
10228
+ static ngAcceptInputType_openOnFocus: unknown;
10229
+ static ngAcceptInputType_required: unknown;
10230
+ static ngAcceptInputType_error: unknown;
10231
+ static ngAcceptInputType_disabled: unknown;
10232
+ }
10233
+
10234
+ /** Naturaleza (implicación) — eje semántico UNIVERSAL, común a todas las fuentes. */
10235
+ type Naturaleza = 'exige_accion' | 'resuelve' | 'impulsa' | 'notifica' | 'informa' | 'sin_clasificar';
10236
+ /** Clase de la fila tal como la entrega el portal. */
10237
+ type Clase = 'providencia' | 'estado' | 'anotacion';
10238
+ /**
10239
+ * Tono del chip de naturaleza. SEMÁNTICO a propósito: una naturaleza dice qué
10240
+ * implica la actuación, no de dónde viene — nunca un hue categórico.
10241
+ */
10242
+ type NaturalezaTone = 'warning' | 'success' | 'primary' | 'info' | 'neutral';
10243
+ interface NaturalezaDef {
10244
+ label: string;
10245
+ /** Familia semántica: se consume como `var(--ius-<tone>-700)` y compañía. */
10246
+ tone: NaturalezaTone;
10247
+ /** Orden de importancia (1 = más urgente). Gobierna `naturalezaOptions()`. */
10248
+ priority: number;
10249
+ /** Ícono Material Symbols Rounded. */
10250
+ icon: string;
10251
+ }
10252
+ interface ClaseDef {
10253
+ label: string;
10254
+ icon: string;
10255
+ }
10256
+ /** Entrada del catálogo para un tipo concreto. */
10257
+ interface ActuacionEntry {
10258
+ clase: Clase;
10259
+ /** `null` = no se puede afirmar desde el rótulo (ver `interno`). */
10260
+ naturaleza: Naturaleza | null;
10261
+ label: string;
10262
+ icon: string;
10263
+ /** Publicación/fijación derivada de una providencia previa: se agrupa bajo su causa. */
10264
+ rol?: 'consecuencia';
10265
+ /** Etiqueta NUESTRA, no del portal: la actuación real vive en el adjunto. */
10266
+ interno?: boolean;
10267
+ nota?: string;
10268
+ }
10269
+ /** Resultado de resolver un tipo. Nunca `null`. */
10270
+ interface ActuacionMeta extends ActuacionEntry {
10271
+ match: 'exacto' | 'heuristica' | 'generico';
10272
+ /** `true` solo con match exacto. `false` → candidato a promoción (telemetría de misses). */
10273
+ clasificado: boolean;
10274
+ /** El tipo crudo, tal como llegó. */
10275
+ tipo: string;
10276
+ /** El tipo normalizado con el que se hizo el lookup. */
10277
+ key: string;
10278
+ }
10279
+ /** Eje universal: qué implica la actuación para el abogado. */
10280
+ declare const NATURALEZA_DEF: Readonly<Record<Naturaleza, NaturalezaDef>>;
10281
+ /** Clase del portal: providencia · estado/publicación · anotación. */
10282
+ declare const CLASE_DEF: Readonly<Record<Clase, ClaseDef>>;
10283
+ /**
10284
+ * Catálogo por fuente: `fuente → { TIPO_NORMALIZADO → ActuacionEntry }`.
10285
+ *
10286
+ * Las claves ya vienen normalizadas (mayúsculas, sin tildes ni puntuación):
10287
+ * son el resultado de `normalizeTipo` sobre el rótulo del portal.
10288
+ *
10289
+ * Solo `rama` está sembrada. SIC, Supersociedades, conciliación y registro
10290
+ * manual entran cuando su vocabulario pase por validación humana; hasta
10291
+ * entonces resuelven por heurística, que es el comportamiento correcto.
10292
+ */
10293
+ declare const ACTUACION_CATALOG: Readonly<Record<string, Readonly<Record<string, ActuacionEntry>>>>;
10294
+ /** Fuentes con vocabulario sembrado (hoy: solo `rama`). */
10295
+ declare const ACTUACION_FUENTES: readonly string[];
10296
+ /**
10297
+ * Normaliza un tipo crudo para el lookup: quita tildes, pasa a mayúsculas,
10298
+ * convierte la puntuación en espacio y colapsa los espacios.
10299
+ *
10300
+ * Ojo con la Ñ: `NFD` la descompone en `N` + tilde combinante y el filtro se
10301
+ * lleva la tilde, así que «AÑO» normaliza a «ANO». Es el comportamiento del
10302
+ * golden y conviene para el lookup (el portal no es consistente con las tildes).
10303
+ */
10304
+ declare function normalizeTipo(raw: string | null | undefined): string;
10305
+ /**
10306
+ * Resuelve un tipo de actuación a su semántica. **Nunca devuelve `null`**: si no
10307
+ * hay match exacto ni heurístico, entrega un genérico marcado
10308
+ * (`clasificado: false`) para que el consumidor lo registre como miss.
10309
+ *
10310
+ * El `customMap` del módulo GANA sobre el catálogo core de la fuente: así un
10311
+ * despacho con vocabulario propio se corrige sin tocar el foundation.
10312
+ */
10313
+ declare function resolveActuacion(fuente: FuenteKey, tipoRaw: string | null | undefined, customMap?: Readonly<Record<string, ActuacionEntry>>): ActuacionMeta;
10314
+ /** Meta de la naturaleza resuelta, para pintar el chip. Cae a `sin_clasificar`. */
10315
+ declare function naturalezaMeta(naturaleza: Naturaleza | null | undefined): NaturalezaDef;
10316
+ /** Opción de naturaleza para filtros y orden. */
10317
+ interface NaturalezaOption {
10318
+ value: Naturaleza;
10319
+ label: string;
10320
+ tone: NaturalezaTone;
10321
+ }
10322
+ /**
10323
+ * Opciones de naturaleza ordenadas por `priority`, sin `sin_clasificar`: es un
10324
+ * estado de fallo del catálogo, no algo que el usuario elija filtrar.
10325
+ */
10326
+ declare function naturalezaOptions(): NaturalezaOption[];
8068
10327
 
8069
10328
  /** Hue categórico (identidad, nunca estado). */
8070
10329
  type FileTypeHue = 'primary' | 'neutral' | 'durazno' | 'banano' | 'sandia' | 'arandano' | 'uva' | 'aguacate';
@@ -9069,5 +11328,5 @@ declare class StageDetailDrawerComponent {
9069
11328
  static ngAcceptInputType_closeOnEsc: unknown;
9070
11329
  }
9071
11330
 
9072
- export { AccordionComponent, AccountItemComponent, AlertComponent, AppLayoutComponent, AvatarComponent, AvatarStackComponent, BreadcrumbComponent, ButtonComponent, CATEGORIES, CATEGORY_DEF, CATEGORY_HUE, CHART_CATEGORICAL_TONES, CHART_SEMANTIC_TONES, CHART_TONES, CaptchaFieldComponent, CardComponent, CarouselComponent, CheckboxComponent, ChipComponent, CircularProgressComponent, CodeFieldComponent, CountdownComponent, CountdownRingComponent, DescriptionListComponent, DetailSidePanelComponent, DividerComponent, DrawerComponent, DropdownComponent, EVENT_KINDS, EVENT_KIND_ICON, EXT_KIND, EleniaBubbleComponent, EleniaOrbComponent, EmptyStateComponent, EventPillComponent, FileItemComponent, FileTypeIconComponent, FileUploadComponent, FlexComponent, FormComponent, FormFieldComponent, FormSectionComponent, HeaderBarComponent, ILLUSTRATIONS, ILLUSTRATION_ALIAS, ILLUSTRATION_NAMES, IUS_FILTER_OPERATORS, IUS_TOAST_DEFAULT_DURATION, IUS_TOAST_DEFAULT_ICON, IconButtonComponent, IllustrationComponent, InsigniaComponent, IusAccountItemNameDirective, IusAccountItemSubtitleDirective, IusAccountItemTrailingDirective, IusAlertActionsDirective, IusAlertTrailingDirective, IusCardFooterDirective, IusCardHeaderDirective, IusDrawerFooterDirective, IusDrawerHeaderActionsDirective, IusDrawerTitleDirective, IusDropdownTriggerDirective, IusFormFooterDirective, IusListCardLeadingDirective, IusListCardOverlineDirective, IusListCardParagraphDirective, IusListCardSubtitleDirective, IusListCardTitleDirective, IusListViewFiltersDirective, IusListViewFooterEndDirective, IusListViewFooterStartDirective, IusListViewHeaderEndDirective, IusListViewHeaderStartDirective, IusListViewToolbarDirective, IusMenuItemTrailingDirective, IusModalFooterDirective, IusPageHeaderActionsDirective, IusPageHeaderBreadcrumbDirective, IusPageHeaderOverlineDirective, IusPageHeaderSubtitleDirective, IusPageHeaderTitleDirective, IusPageHeaderToolbarDirective, IusPersonItemNameDirective, IusPersonItemTrailingDirective, IusSectionTitleActionDirective, IusSettingsNavFooterDirective, IusSettingsNavHeaderDirective, IusStageDetailFooterDirective, IusStageDetailHeaderActionsDirective, IusStageDetailMetaDirective, IusStatCaptionDirective, IusStatDeltaDirective, IusStatDeltaLabelDirective, IusStatLabelDirective, IusStatSparklineDirective, IusTagPrefixDirective, IusTagSuffixDirective, IusToastActionDirective, IusUserMenuFooterDirective, KINDS, KIND_DEF, KIND_FALLBACK, LineChartComponent, LinearProgressBarComponent, ListCardComponent, ListViewComponent, LoadingComponent, LoadingMarkComponent, MenuComponent, MenuItemComponent, ModalComponent, MultiTextFieldComponent, NavUserComponent, NumberFieldComponent, ORB_PERIODS, OauthButtonComponent, OptionItemComponent, PageHeaderComponent, PartyListComponent, PersonItemComponent, PersonPickerComponent, PlanUsageItemComponent, PopoverComponent, QueryBuilderComponent, STATUS_TONES, STATUS_VOCAB, STATUS_VOCABS, STATUS_VOCABS_PENDING, ScrollAreaComponent, SearchBarComponent, SectionHeaderComponent, SectionTitleComponent, SegmentGroupComponent, SegmentedControlComponent, SelectComponent, SettingsNavComponent, ShowMoreComponent, SkeletonComponent, SparklineComponent, SplitterComponent, StageDetailDrawerComponent, StatComponent, StatGroupComponent, StatusChipComponent, StatusStateComponent, StepperComponent, TableComponent, TabsComponent, TagComponent, TextAreaComponent, TextButtonComponent, TextComponent, TextFieldComponent, TimelineComponent, ToastComponent, ToastService, ToastViewportComponent, TooltipComponent, UserMenuComponent, WizardComponent, WizardController, WizardNavComponent, categoryColors, categoryOptions, chartAxisTicks, chartFormatValue, chartLinearPath, chartNiceNum, chartPath, chartPrefersReducedMotion, chartSmoothPath, chartToneAt, chartToneVar, createWizard, eventKindOptions, extOf, formatBytes, iusSegColor, kindHue, kindIcon, kindLabel, kindMeta, kindOptions, pose, poseIso, poseSpeaking, poseThinking, renderCubeSvg, resolveCategoryHue, resolveEventIcon, resolveIllustration, resolveKind, resolveStatus, statusOptions, statusOrder, statusToneVars, statusVocab, voiceEnv };
9073
- export type { ActuacionStatus, AlertSize, AlertTone, AlertVariant, CategoryColors, CategoryDef, CategoryHueSource, CategoryKey, CategoryOption, ChartCategoricalTone, ChartCurve, ChartPoint, ChartSemanticTone, ChartTone, CountdownDirection, CountdownFormat, CountdownRingSize, CountdownRingTone, DescriptionListItem, DescriptionListLayout, DescriptionListSize, DescriptionListValueClick, EventIconSource, EventKind, EventKindOption, FileKind, FileKindDef, FileKindDomain, FileKindFs, FileKindMeta, FileKindOption, FileTypeHue, GestionStatus, Hue, IllustrationEntry, IllustrationName, IllustrationSize, IusAccordionItem, IusAccordionVariant, IusAccountItemAction, IusAccountItemState, IusAppLayoutAccent, IusAvatarColor, IusAvatarShape, IusAvatarSize, IusAvatarStackItem, IusAvatarStackItemClick, IusAvatarStackStyle, IusBreadcrumbItem, IusBreadcrumbNavigate, IusBreadcrumbSeparator, IusBreadcrumbSize, IusButtonActionResult, IusButtonSize, IusButtonStatus, IusButtonType, IusButtonVariant, IusCaptchaAppearance, IusCaptchaFieldHandle, IusCaptchaProvider, IusCaptchaSize, IusCaptchaState, IusCaptchaTheme, IusCardAs, IusCardPadding, IusCardRadius, IusCardVariant, IusCarouselImage, IusCarouselImageInput, IusCarouselObjectFit, IusCarouselOrder, IusCarouselOverlay, IusCarouselTransition, IusCheckboxLabelPosition, IusCheckboxSize, IusChipSize, IusChipState, IusCircularProgressSize, IusCircularProgressTone, IusCodeFieldSize, IusDetailSidePanelSection, IusDividerOrientation, IusDividerTextAlign, IusDividerVariant, IusDrawerSide, IusDrawerSize, IusDropdownItem, IusDropdownTone, IusDropdownVariant, IusEleniaBubblePosition, IusEleniaBubbleSize, IusEleniaOrbMood, IusEleniaOrbSurface, IusEmptyStateAction, IusEmptyStateSize, IusEmptyStateTone, IusEmptyStateVariant, IusEventAssignee, IusEventPillFill, IusEventPillSize, IusEventPillVariant, IusFileItemAction, IusFileItemActionClick, IusFileItemActivateOn, IusFileItemField, IusFileItemLayout, IusFileItemOwner, IusFileItemSize, IusFileItemTag, IusFileTypeIconSize, IusFileTypeIconVariant, IusFileUploadVariant, IusFilterField, IusFilterFieldOption, IusFilterFieldType, IusFilterRule, IusFilterValue, IusFlexAlign, IusFlexDirection, IusFlexGap, IusFlexJustify, IusFormColumns, IusFormError, IusFormFieldSpan, IusFormSectionVariant, IusIconButtonShape, IusIconButtonSize, IusIconButtonVariant, IusInsigniaSize, IusInsigniaTone, IusInsigniaVariant, IusLineChartPoints, IusLineSeries, IusLinearProgressSegment, IusLinearProgressSize, IusLinearProgressTone, IusListCardAction, IusListCardField, IusListCardMarker, IusListCardMenuItem, IusListCardSize, IusListCardStatus, IusListCardTag, IusListCardTone, IusListViewAction, IusListViewSize, IusListViewSortOption, IusLoadingMarkSurface, IusLoadingVariant, IusMenuItemSize, IusMenuItemState, IusMenuItemVariant, IusMenuOption, IusModalCloseReason, IusModalIconTone, IusModalSize, IusMultiTextFieldSize, IusMultiTextFieldSlot, IusMultiTextFieldState, IusNavUserAccount, IusNavUserLayout, IusNavUserUser, IusOAuthButtonSize, IusOAuthButtonType, IusOAuthProvider, IusOptionItemSize, IusOptionItemState, IusPageHeaderTitleLevel, IusPartyListConnector, IusPartyListSize, IusPersonId, IusPersonItemAction, IusPersonItemSize, IusPersonItemState, IusPersonItemVariant, IusPersonOption, IusPersonPickerSelectedContext, IusPlanUsageAction, IusPlanUsageLegend, IusPlanUsageStatus, IusPopoverPadding, IusPopoverPlacement, IusPopoverTrigger, IusQueryBuilderSize, IusScrollAxis, IusScrollSize, IusSearchBarSize, IusSearchBarState, IusSectionHeaderAccent, IusSectionHeaderVariant, IusSectionTitleAs, IusSectionTitleHelpTrigger, IusSectionTitleSize, IusSegmentedSize, IusSegmentedVariant, IusSelectCreateFactory, IusSelectSize, IusSelectState, IusSelectValue, IusSettingsNavAccent, IusSettingsNavItem, IusSettingsNavSize, IusShowMoreAlign, IusSkeletonAnimation, IusSkeletonVariant, IusSparklineVariant, IusSplitterAccent, IusSplitterOrientation, IusStageDetailAccent, IusStageDetailAssignee, IusStageDetailState, IusStatAlign, IusStatSize, IusStatTone, IusStatusChipSize, IusStatusChipTone, IusStatusKind, IusStepperAccent, IusStepperAssignee, IusStepperCollapsedControl, IusStepperContextRow, IusStepperDetailDisplay, IusStepperOrientation, IusStepperPopoverAction, IusStepperSize, IusStepperStage, IusStepperStageEvent, IusStepperState, IusStepperSubstage, IusTabItem, IusTabTag, IusTableAlign, IusTableCellContext, IusTableColumn, IusTableHeaderContext, IusTableRowClick, IusTableRowKey, IusTableRowStyle, IusTableSize, IusTableSortChange, IusTableSortDirection, IusTableSummaryCell, IusTableTone, IusTabsAccent, IusTabsSize, IusTagRole, IusTagShape, IusTagSize, IusTagState, IusTagTone, IusTagVariant, IusTextAlign, IusTextAreaSize, IusTextAreaState, IusTextButtonSize, IusTextButtonType, IusTextColor, IusTextFieldSize, IusTextFieldType, IusTextTag, IusTextVariant, IusTextWeight, IusTimelineAccent, IusTimelineAssignee, IusTimelineAttachment, IusTimelineAttachmentClick, IusTimelineItem, IusTimelineItemState, IusTimelineSize, IusTimelineTag, IusTimelineTagTone, IusToastItem, IusToastOptions, IusToastPosition, IusToastTone, IusTooltipTrigger, IusUploadFile, IusUploadStatus, IusUploader, IusUploaderHelpers, IusUserMenuAccount, IusUserMenuAccountOption, IusUserMenuItem, IusUserMenuOrigin, IusUserMenuService, IusUserMenuUser, OrbMood, OrbPose, SegmentedOption, SelectOption, SelectOptionGroup, StatusMeta, StatusOption, StatusTone, StatusToneVars, StatusVocabMap, StatusVocabName, UseWizardOptions, WizardApi, WizardStep };
11331
+ 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, DatePickerComponent, DescriptionListComponent, DetailSidePanelComponent, DividerComponent, DonutChartComponent, DrawerComponent, DropdownComponent, EVENT_KINDS, EVENT_KIND_ICON, EXT_KIND, EleniaBubbleComponent, EleniaOrbComponent, EmptyStateComponent, EntityNavigatorComponent, EntityRowComponent, EventPillComponent, FUENTES, FUENTE_DEF, FUENTE_FALLBACK, FileItemComponent, FileTypeIconComponent, FileUploadComponent, FlexComponent, FormComponent, FormFieldComponent, FormSectionComponent, HeaderBarComponent, ILLUSTRATIONS, ILLUSTRATION_ALIAS, ILLUSTRATION_NAMES, IUS_FILTER_OPERATORS, IUS_TOAST_DEFAULT_DURATION, IUS_TOAST_DEFAULT_ICON, IconButtonComponent, IllustrationComponent, InsightComponent, InsigniaComponent, IusAccountItemNameDirective, IusAccountItemSubtitleDirective, IusAccountItemTrailingDirective, IusAlertActionsDirective, IusAlertTrailingDirective, IusCalendarAsideDirective, IusCalendarFooterDirective, IusCardFooterDirective, IusCardHeaderDirective, IusDrawerFooterDirective, IusDrawerHeaderActionsDirective, IusDrawerTitleDirective, IusDropdownTriggerDirective, IusEntityRowLabelDirective, IusEntityRowSublabelDirective, IusFormFooterDirective, IusInsightActionsDirective, IusListCardLeadingDirective, IusListCardOverlineDirective, IusListCardParagraphDirective, IusListCardSubtitleDirective, IusListCardTitleDirective, IusListViewFiltersDirective, IusListViewFooterEndDirective, IusListViewFooterStartDirective, IusListViewHeaderEndDirective, IusListViewHeaderStartDirective, IusListViewToolbarDirective, IusMenuItemTrailingDirective, IusModalFooterDirective, IusPageHeaderActionsDirective, IusPageHeaderBreadcrumbDirective, IusPageHeaderOverlineDirective, IusPageHeaderSubtitleDirective, IusPageHeaderTitleDirective, IusPageHeaderToolbarDirective, IusPersonItemNameDirective, IusPersonItemTrailingDirective, IusSectionTitleActionDirective, IusSettingsNavFooterDirective, IusSettingsNavHeaderDirective, IusStageDetailFooterDirective, IusStageDetailHeaderActionsDirective, IusStageDetailMetaDirective, IusStatCaptionDirective, IusStatDeltaDirective, IusStatDeltaLabelDirective, IusStatLabelDirective, IusStatSparklineDirective, IusTagPrefixDirective, IusTagSuffixDirective, IusToastActionDirective, IusUserMenuFooterDirective, KINDS, KIND_DEF, KIND_FALLBACK, LineChartComponent, LinearProgressBarComponent, ListCardComponent, ListViewComponent, LoadingComponent, LoadingMarkComponent, MenuComponent, MenuItemComponent, ModalComponent, MultiTextFieldComponent, NATURALEZA_DEF, NavUserComponent, NumberFieldComponent, ORB_PERIODS, OauthButtonComponent, OptionItemComponent, PageHeaderComponent, PartyListComponent, PersonItemComponent, PersonPickerComponent, PlanUsageItemComponent, PopoverComponent, QueryBuilderComponent, RepeatableFieldComponent, SOURCE_FUENTE, SOURCE_LABEL, STATUS_TONES, STATUS_VOCAB, STATUS_VOCABS, STATUS_VOCABS_PENDING, ScrollAreaComponent, SearchBarComponent, SectionHeaderComponent, SectionTitleComponent, SegmentGroupComponent, SegmentedControlComponent, SelectComponent, SettingsNavComponent, ShowMoreComponent, SkeletonComponent, SparklineComponent, SplitterComponent, StageDetailDrawerComponent, StatComponent, StatGroupComponent, StatusChipComponent, StatusStateComponent, StepperComponent, SwitchComponent, TableComponent, TabsComponent, TagComponent, TextAreaComponent, TextButtonComponent, TextComponent, TextFieldComponent, TimePanelComponent, TimelineComponent, ToastComponent, ToastService, ToastViewportComponent, TooltipComponent, UserMenuComponent, WizardComponent, WizardController, WizardNavComponent, categoryColors, categoryOptions, chartAxisTicks, chartFormatValue, chartLinearPath, chartNiceNum, chartPath, chartPrefersReducedMotion, chartSmoothPath, chartToneAt, chartToneVar, createWizard, eventKindOptions, extOf, formatBytes, formatDate, formatTime, fuenteColors, fuenteOptions, iusSegColor, kindHue, kindIcon, kindLabel, kindMeta, kindOptions, naturalezaMeta, naturalezaOptions, normalizeTipo, pose, poseIso, poseSpeaking, poseThinking, renderCubeSvg, resolveActuacion, resolveCategoryHue, resolveEventIcon, resolveFuente, resolveIllustration, resolveKind, resolveStatus, sourceIcon, sourceMeta, statusOptions, statusOrder, statusToneVars, statusVocab, timeFromDate, voiceEnv };
11332
+ 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, IusAccordionItem, 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, IusDatePickerMode, IusDatePickerState, IusDatePickerValue, IusDateRange, IusDateTimeValue, IusDetailSidePanelSection, IusDividerOrientation, IusDividerTextAlign, IusDividerVariant, IusDonutLegendPosition, IusDonutSegment, IusDrawerSide, IusDrawerSize, IusDropdownItem, IusDropdownTone, IusDropdownVariant, IusEleniaBubblePosition, IusEleniaBubbleSize, IusEleniaOrbMood, IusEleniaOrbSurface, IusEmptyStateAction, IusEmptyStateSize, IusEmptyStateTone, IusEmptyStateVariant, IusEntityDesc, IusEntityDescKind, IusEntityFacet, IusEntityFilter, IusEntityFilterOption, IusEntityGroup, IusEntityId, IusEntityItemHeights, IusEntityNode, IusEntityRowAccent, IusEntityRowAction, IusEntityRowKind, IusEntityRowNoveltyTone, IusEntitySection, IusEntityStateSegment, IusEventAssignee, IusEventPillFill, IusEventPillSize, IusEventPillVariant, IusFileItemAction, IusFileItemActionClick, IusFileItemActivateOn, IusFileItemField, IusFileItemLayout, IusFileItemOwner, IusFileItemSize, IusFileItemTag, IusFileTypeIconSize, IusFileTypeIconVariant, IusFileUploadVariant, IusFilterField, IusFilterFieldOption, IusFilterFieldType, IusFilterRule, IusFilterValue, IusFlexAlign, IusFlexDirection, IusFlexGap, IusFlexJustify, IusFormColumns, IusFormError, IusFormFieldSpan, IusFormSectionVariant, IusIconButtonShape, IusIconButtonSize, IusIconButtonVariant, IusInsightTone, IusInsightVariant, IusInsigniaSize, IusInsigniaTone, IusInsigniaVariant, IusLineChartPoints, IusLineSeries, IusLinearProgressSegment, IusLinearProgressSize, IusLinearProgressTone, IusListCardAction, IusListCardField, IusListCardMarker, IusListCardMenuItem, IusListCardSize, IusListCardStatus, IusListCardTag, IusListCardTone, IusListViewAction, IusListViewSize, IusListViewSortOption, IusLoadingMarkSurface, IusLoadingVariant, IusMenuItemSize, IusMenuItemState, IusMenuItemVariant, IusMenuOption, IusModalCloseReason, IusModalIconTone, IusModalSize, IusMultiTextFieldSize, IusMultiTextFieldSlot, IusMultiTextFieldState, IusNavUserAccount, IusNavUserLayout, IusNavUserUser, IusOAuthButtonSize, IusOAuthButtonType, IusOAuthProvider, IusOptionItemSize, IusOptionItemState, IusPageHeaderDensity, IusPageHeaderTitleLevel, IusPartyListConnector, IusPartyListSize, IusPersonId, IusPersonItemAction, IusPersonItemSize, IusPersonItemState, IusPersonItemVariant, IusPersonOption, IusPersonPickerSelectedContext, IusPlanUsageAction, IusPlanUsageLegend, IusPlanUsageStatus, IusPopoverPadding, IusPopoverPlacement, IusPopoverTrigger, IusQueryBuilderSize, IusRepeatableControlContext, IusRepeatableInputMode, IusRepeatableItem, IusRepeatableSize, IusRepeatableTypeOption, IusScrollAxis, IusScrollSize, IusSearchBarSize, IusSearchBarState, IusSectionHeaderAccent, IusSectionHeaderVariant, IusSectionTitleAs, IusSectionTitleHelpTrigger, IusSectionTitleSize, IusSegmentedSize, IusSegmentedVariant, IusSelectCreateFactory, IusSelectSize, IusSelectState, IusSelectValue, IusSettingsNavAccent, IusSettingsNavItem, IusSettingsNavSize, IusShowMoreAlign, IusSkeletonAnimation, IusSkeletonVariant, IusSparklineVariant, IusSplitterAccent, IusSplitterOrientation, IusStageDetailAccent, IusStageDetailAssignee, IusStageDetailState, IusStatAlign, IusStatSize, IusStatTone, IusStatusChipSize, IusStatusChipTone, IusStatusKind, IusStepperAccent, IusStepperAssignee, IusStepperCollapsedControl, IusStepperContextRow, IusStepperDetailDisplay, IusStepperOrientation, IusStepperPopoverAction, IusStepperSize, IusStepperStage, IusStepperStageEvent, IusStepperState, IusStepperSubstage, IusSwitchLabelPosition, IusSwitchSize, IusTabItem, IusTabTag, IusTableAlign, IusTableCellContext, IusTableColumn, IusTableHeaderContext, IusTableRowClick, IusTableRowKey, IusTableRowStyle, IusTableSize, IusTableSortChange, IusTableSortDirection, IusTableSummaryCell, IusTableTone, IusTabsAccent, IusTabsSize, IusTagRole, IusTagShape, IusTagSize, IusTagState, IusTagTone, IusTagVariant, IusTextAlign, IusTextAreaSize, IusTextAreaState, IusTextButtonSize, IusTextButtonType, IusTextColor, IusTextFieldSize, IusTextFieldType, IusTextTag, IusTextVariant, IusTextWeight, IusTimeValue, IusTimelineAccent, IusTimelineAssignee, IusTimelineAttachment, IusTimelineAttachmentClick, IusTimelineItem, IusTimelineItemState, IusTimelineSize, IusTimelineTag, IusTimelineTagTone, IusToastItem, IusToastOptions, IusToastPosition, IusToastTone, IusTooltipTrigger, IusUploadFile, IusUploadStatus, IusUploader, IusUploaderHelpers, IusUserMenuAccount, IusUserMenuAccountOption, IusUserMenuItem, IusUserMenuOrigin, IusUserMenuService, IusUserMenuUser, Naturaleza, NaturalezaDef, NaturalezaOption, NaturalezaTone, OrbMood, OrbPose, SegmentedOption, SelectOption, SelectOptionGroup, SourceKey, SourceMeta, StatusMeta, StatusOption, StatusTone, StatusToneVars, StatusVocabMap, StatusVocabName, UseWizardOptions, WizardApi, WizardStep };