@neural-ui/core 1.2.0 → 1.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.
@@ -7,9 +7,9 @@ import { SafeHtml } from '@angular/platform-browser';
7
7
  import { DialogRef } from '@angular/cdk/dialog';
8
8
 
9
9
  interface NeuralUIConfig {
10
- /** Tamaño por defecto de los iconos. Por defecto: '1.25rem' */
10
+ /** Tamaño por defecto de los iconos. Por defecto: '1.25rem' / Default icon size. Default: '1.25rem' */
11
11
  iconSize?: string;
12
- /** Grosor de trazo de los iconos. Por defecto: '2' */
12
+ /** Grosor de trazo de los iconos. Por defecto: '2' / Icon stroke width. Default: '2' */
13
13
  iconStrokeWidth?: string;
14
14
  }
15
15
  /**
@@ -86,13 +86,13 @@ declare class NeuUrlStateService {
86
86
  type NeuToastType = 'success' | 'error' | 'info' | 'warning';
87
87
  type NeuToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
88
88
  interface NeuToastOptions {
89
- /** Mensaje del toast */
89
+ /** Mensaje del toast / Toast message */
90
90
  message: string;
91
- /** Tipo semántico — controla color e icono */
91
+ /** Tipo semántico — controla color e icono / Semantic type — controls color and icon */
92
92
  type?: NeuToastType;
93
- /** Duración en ms antes de ocultarse automáticamente. 0 = sin auto-hide */
93
+ /** Duración en ms antes de ocultarse automáticamente. 0 = sin auto-hide / Duration in ms before auto-hiding. 0 = no auto-hide */
94
94
  duration?: number;
95
- /** Título opcional */
95
+ /** Título opcional / Optional title */
96
96
  title?: string;
97
97
  }
98
98
  interface NeuToastItem extends Required<Omit<NeuToastOptions, 'title'>> {
@@ -112,9 +112,9 @@ interface NeuToastItem extends Required<Omit<NeuToastOptions, 'title'>> {
112
112
  * toast.error('Ha ocurrido un error', { title: 'Error', duration: 8000 });
113
113
  */
114
114
  declare class NeuToastService {
115
- /** Lista reactiva de toasts activos */
115
+ /** Lista reactiva de toasts activos / Reactive list of active toasts */
116
116
  readonly toasts: _angular_core.WritableSignal<NeuToastItem[]>;
117
- /** Posición del contenedor de toasts */
117
+ /** Posición del contenedor de toasts / Toast container position */
118
118
  readonly position: _angular_core.WritableSignal<NeuToastPosition>;
119
119
  setPosition(position: NeuToastPosition): void;
120
120
  show(options: NeuToastOptions): string;
@@ -142,7 +142,7 @@ declare class NeuCheckboxComponent implements ControlValueAccessor {
142
142
  readonly disabled: _angular_core.InputSignal<boolean>;
143
143
  readonly _id: string;
144
144
  protected readonly _checked: _angular_core.WritableSignal<boolean>;
145
- /** Estado disabled interno — combina el input `disabled` con el CVA setDisabledState */
145
+ /** Estado disabled interno — combina el input `disabled` con el CVA setDisabledState / Internal disabled state — combines the `disabled` input with CVA setDisabledState */
146
146
  private readonly _cvaDisabled;
147
147
  protected readonly _isDisabled: _angular_core.Signal<boolean>;
148
148
  private _onChange;
@@ -170,29 +170,29 @@ interface DrumSlot {
170
170
  }
171
171
  declare class NeuDateInputComponent implements ControlValueAccessor {
172
172
  private readonly el;
173
- /** Tipo: date | time | datetime-local */
173
+ /** Tipo: date | time | datetime-local / Type: date | time | datetime-local */
174
174
  type: _angular_core.InputSignal<"date" | "time" | "datetime-local">;
175
- /** Etiqueta del campo */
175
+ /** Etiqueta del campo / Field label */
176
176
  label: _angular_core.InputSignal<string>;
177
- /** Texto de ayuda */
177
+ /** Texto de ayuda / Help text */
178
178
  hint: _angular_core.InputSignal<string>;
179
- /** Mensaje de error */
179
+ /** Mensaje de error / Error message */
180
180
  errorMessage: _angular_core.InputSignal<string>;
181
- /** Deshabilita el campo */
181
+ /** Deshabilita el campo / Disables the field */
182
182
  disabled: _angular_core.InputSignal<boolean>;
183
- /** Solo lectura */
183
+ /** Solo lectura / Read only */
184
184
  readonly: _angular_core.InputSignal<boolean>;
185
- /** Nombre del campo (formularios nativos) */
185
+ /** Nombre del campo (formularios nativos) / Field name (native forms) */
186
186
  name: _angular_core.InputSignal<string>;
187
- /** ID accesible */
187
+ /** ID accesible / Accessible ID */
188
188
  inputId: _angular_core.InputSignal<string>;
189
- /** Requerido */
189
+ /** Requerido / Required */
190
190
  required: _angular_core.InputSignal<boolean>;
191
- /** Mínimo (no implementado visualmente en v1) */
191
+ /** Mínimo (no implementado visualmente en v1) / Minimum (not visually implemented in v1) */
192
192
  min: _angular_core.InputSignal<string | null>;
193
- /** Máximo (no implementado visualmente en v1) */
193
+ /** Máximo (no implementado visualmente en v1) / Maximum (not visually implemented in v1) */
194
194
  max: _angular_core.InputSignal<string | null>;
195
- /** Paso */
195
+ /** Paso / Step */
196
196
  step: _angular_core.InputSignal<number | null>;
197
197
  protected readonly _id: string;
198
198
  readonly isOpen: _angular_core.WritableSignal<boolean>;
@@ -253,47 +253,47 @@ type NeuInputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | '
253
253
  * <neu-input label="Correo" [formControl]="emailCtrl" [errorMessage]="emailError()" />
254
254
  */
255
255
  declare class NeuInputComponent implements ControlValueAccessor {
256
- /** Tipo de input HTML */
256
+ /** Tipo de input HTML / HTML input type */
257
257
  type: _angular_core.InputSignal<NeuInputType>;
258
- /** Texto del floating label */
258
+ /** Texto del floating label / Floating label text */
259
259
  label: _angular_core.InputSignal<string>;
260
- /** Placeholder visible cuando floatingLabel=false */
260
+ /** Placeholder visible cuando floatingLabel=false / Visible placeholder when floatingLabel=false */
261
261
  placeholder: _angular_core.InputSignal<string>;
262
- /** Muestra el label como flotante (true) o estático encima del campo (false) */
262
+ /** Muestra el label como flotante (true) o estático encima del campo (false) / Shows the label as floating (true) or static above the field (false) */
263
263
  floatingLabel: _angular_core.InputSignal<boolean>;
264
- /** Hint de ayuda (visible cuando no hay error) */
264
+ /** Hint de ayuda (visible cuando no hay error) / Help hint (visible when there is no error) */
265
265
  hint: _angular_core.InputSignal<string>;
266
- /** Mensaje de error (activa el estado de error) */
266
+ /** Mensaje de error (activa el estado de error) / Error message (activates the error state) */
267
267
  errorMessage: _angular_core.InputSignal<string>;
268
- /** Deshabilita el campo */
268
+ /** Deshabilita el campo / Disables the field */
269
269
  disabled: _angular_core.InputSignal<boolean>;
270
- /** Atributo autocomplete HTML */
270
+ /** Atributo autocomplete HTML / HTML autocomplete attribute */
271
271
  autocomplete: _angular_core.InputSignal<string>;
272
- /** Muestra zona para icono al inicio */
272
+ /** Muestra zona para icono al inicio / Shows icon slot at the start */
273
273
  startIcon: _angular_core.InputSignal<boolean>;
274
- /** Muestra zona para icono al final */
274
+ /** Muestra zona para icono al final / Shows icon slot at the end */
275
275
  endIcon: _angular_core.InputSignal<boolean>;
276
- /** Nombre del icono lucide a renderizar dentro del campo */
276
+ /** Nombre del icono lucide a renderizar dentro del campo / Lucide icon name to render inside the field */
277
277
  icon: _angular_core.InputSignal<string>;
278
- /** Posición del icono cuando se usa `icon` */
278
+ /** Posición del icono cuando se usa `icon` / Icon position when using `icon` */
279
279
  iconPosition: _angular_core.InputSignal<"left" | "right">;
280
- /** ID accesible para el input — generado con contador estable (seguro en SSR) */
280
+ /** ID accesible para el input — generado con contador estable (seguro en SSR) / Accessible ID for the input — generated with stable counter (SSR-safe) */
281
281
  inputId: _angular_core.InputSignal<string>;
282
- /** Nombre del campo para formularios nativos */
282
+ /** Nombre del campo para formularios nativos / Field name for native forms */
283
283
  name: _angular_core.InputSignal<string>;
284
- /** Marca el campo como requerido */
284
+ /** Marca el campo como requerido / Marks the field as required */
285
285
  required: _angular_core.InputSignal<boolean>;
286
- /** Hace el campo de solo lectura */
286
+ /** Hace el campo de solo lectura / Makes the field read-only */
287
287
  readonly: _angular_core.InputSignal<boolean>;
288
- /** Longitud máxima de caracteres */
288
+ /** Longitud máxima de caracteres / Maximum character length */
289
289
  maxlength: _angular_core.InputSignal<number | null>;
290
- /** Longitud mínima de caracteres */
290
+ /** Longitud mínima de caracteres / Minimum character length */
291
291
  minlength: _angular_core.InputSignal<number | null>;
292
- /** Valor mínimo (para type=number/date) */
292
+ /** Valor mínimo (para type=number/date) / Minimum value (for type=number/date) */
293
293
  min: _angular_core.InputSignal<string | null>;
294
- /** Valor máximo (para type=number/date) */
294
+ /** Valor máximo (para type=number/date) / Maximum value (for type=number/date) */
295
295
  max: _angular_core.InputSignal<string | null>;
296
- /** Patrón de validación HTML5 */
296
+ /** Patrón de validación HTML5 / HTML5 validation pattern */
297
297
  pattern: _angular_core.InputSignal<string | null>;
298
298
  protected readonly _value: _angular_core.WritableSignal<string>;
299
299
  protected readonly _focused: _angular_core.WritableSignal<boolean>;
@@ -323,7 +323,7 @@ interface NeuSelectOption {
323
323
  label: string;
324
324
  disabled?: boolean;
325
325
  group?: string;
326
- /** Objeto de origen para adjuntar sin transformación (p.ej. entidad de la API). Accesible vía (selectionChange). */
326
+ /** Objeto de origen para adjuntar sin transformación (p.ej. entidad de la API). Accesible vía (selectionChange). / Origin object to attach without transformation (e.g. API entity). Accessible via (selectionChange). */
327
327
  data?: unknown;
328
328
  }
329
329
  interface NeuSelectGroup {
@@ -332,7 +332,7 @@ interface NeuSelectGroup {
332
332
  }
333
333
 
334
334
  /**
335
- * Directiva para personalizar el template de cada ítem del dropdown de Multiselect.
335
+ * Directiva para personalizar el template de cada ítem del dropdown de Multiselect. / Directive to customize the template of each Multiselect dropdown item.
336
336
  *
337
337
  * Uso:
338
338
  * ```html
@@ -355,8 +355,8 @@ declare class NeuMultiselectItemDirective {
355
355
  /**
356
356
  * NeuralUI Multiselect Component
357
357
  *
358
- * Dropdown de selección múltiple con chips, búsqueda integrada y soporte
359
- * completo para Angular Forms (ngModel y Reactive Forms).
358
+ * Dropdown de selección múltiple con chips, búsqueda integrada y soporte / Multiple selection dropdown with chips, integrated search and support
359
+ * completo para Angular Forms (ngModel y Reactive Forms). / for Angular Forms (ngModel and Reactive Forms).
360
360
  *
361
361
  * Uso:
362
362
  * <neu-multiselect label="Tecnologías" [options]="opts" [(ngModel)]="selected" />
@@ -367,31 +367,31 @@ declare class NeuMultiselectComponent implements ControlValueAccessor {
367
367
  constructor();
368
368
  /** @internal */
369
369
  readonly _triggerId: string;
370
- /** Template personalizado para cada opción del dropdown */
370
+ /** Template personalizado para cada opción del dropdown / Custom template for each dropdown option */
371
371
  readonly itemTpl: _angular_core.Signal<NeuMultiselectItemDirective | undefined>;
372
- /** Opciones del dropdown */
372
+ /** Opciones del dropdown / Dropdown options */
373
373
  options: _angular_core.InputSignal<NeuSelectOption[]>;
374
- /** Etiqueta del componente */
374
+ /** Etiqueta del componente / Component label */
375
375
  label: _angular_core.InputSignal<string>;
376
- /** Muestra el label como flotante dentro del campo (true) o estático encima (false) */
376
+ /** Muestra el label como flotante dentro del campo (true) o estático encima (false) / Shows the label as floating inside the field (true) or static above (false) */
377
377
  floatingLabel: _angular_core.InputSignal<boolean>;
378
- /** Placeholder cuando no hay selección */
378
+ /** Placeholder cuando no hay selección / Placeholder when there is no selection */
379
379
  placeholder: _angular_core.InputSignal<string>;
380
- /** Mensaje de error */
380
+ /** Mensaje de error / Error message */
381
381
  errorMessage: _angular_core.InputSignal<string>;
382
- /** Deshabilita el componente */
382
+ /** Deshabilita el componente / Disables the component */
383
383
  disabled: _angular_core.InputSignal<boolean>;
384
- /** Activa input de búsqueda/filtro en el panel */
384
+ /** Activa input de búsqueda/filtro en el panel / Activates the search/filter input in the panel */
385
385
  searchable: _angular_core.InputSignal<boolean>;
386
- /** Placeholder del input de búsqueda */
386
+ /** Placeholder del input de búsqueda / Search input placeholder */
387
387
  searchPlaceholder: _angular_core.InputSignal<string>;
388
- /** Texto cuando no hay opciones tras filtrar */
388
+ /** Texto cuando no hay opciones tras filtrar / Text when no options remain after filtering */
389
389
  noResultsMessage: _angular_core.InputSignal<string>;
390
- /** Texto del botón de limpiar todas las selecciones */
390
+ /** Texto del botón de limpiar todas las selecciones / Button text to clear all selections */
391
391
  clearAllLabel: _angular_core.InputSignal<string>;
392
- /** Muestra un botón × en el trigger para limpiar la selección de una vez */
392
+ /** Muestra un botón × en el trigger para limpiar la selección de una vez / Shows a × button in the trigger to clear the selection at once */
393
393
  clearable: _angular_core.InputSignal<boolean>;
394
- /** Aria-label del botón clear que aparece en el trigger */
394
+ /** Aria-label del botón clear que aparece en el trigger / Aria-label for the clear button shown in the trigger */
395
395
  clearAriaLabel: _angular_core.InputSignal<string>;
396
396
  /**
397
397
  * Sincroniza los valores seleccionados con este query param de la URL.
@@ -423,9 +423,9 @@ declare class NeuMultiselectComponent implements ControlValueAccessor {
423
423
  protected labelFor(value: string): string;
424
424
  protected isSelected(value: string): boolean;
425
425
  protected toggle(): void;
426
- /** Abre el panel y mueve el foco al primer item */
426
+ /** Abre el panel y mueve el foco al primer item / Opens the panel and moves focus to the first item */
427
427
  onTriggerKey(event: Event): void;
428
- /** Navega entre opciones con flechas */
428
+ /** Navega entre opciones con flechas / Navigates between options with arrows */
429
429
  focusOptionByIndex(event: Event, current: NeuSelectOption, dir: 1 | -1): void;
430
430
  protected close(): void;
431
431
  protected toggleOption(option: NeuSelectOption): void;
@@ -437,13 +437,13 @@ declare class NeuMultiselectComponent implements ControlValueAccessor {
437
437
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuMultiselectComponent, "neu-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "floatingLabel": { "alias": "floatingLabel"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "noResultsMessage": { "alias": "noResultsMessage"; "required": false; "isSignal": true; }; "clearAllLabel": { "alias": "clearAllLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "urlParam": { "alias": "urlParam"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["itemTpl"], never, true, never>;
438
438
  }
439
439
 
440
- /** Token para que neu-radio encuentre a su grupo padre */
440
+ /** Token para que neu-radio encuentre a su grupo padre / Token for neu-radio to find its parent group */
441
441
  declare const NEU_RADIO_GROUP: InjectionToken<NeuRadioGroupComponent>;
442
442
  declare class NeuRadioGroupComponent implements ControlValueAccessor {
443
443
  readonly direction: _angular_core.InputSignal<"row" | "column">;
444
- /** Etiqueta accesible del grupo (WCAG 4.1.2). Usar cuando no hay <legend> visible. */
444
+ /** Etiqueta accesible del grupo (WCAG 4.1.2). Usar cuando no hay <legend> visible. / Accessible label for the group (WCAG 4.1.2). Use when there is no visible <legend>. */
445
445
  readonly ariaLabel: _angular_core.InputSignal<string>;
446
- /** Nombre HTML compartido por todos los neu-radio hijos — garantiza la exclusión mutua nativa */
446
+ /** Nombre HTML compartido por todos los neu-radio hijos — garantiza la exclusión mutua nativa / HTML name shared by all child neu-radio — guarantees native mutual exclusion */
447
447
  readonly _name: string;
448
448
  readonly _value: _angular_core.WritableSignal<unknown>;
449
449
  readonly _isDisabled: _angular_core.WritableSignal<boolean>;
@@ -472,7 +472,7 @@ declare class NeuRadioComponent {
472
472
  readonly disabled: _angular_core.InputSignal<boolean>;
473
473
  readonly group: _neural_ui_core.NeuRadioGroupComponent;
474
474
  readonly _id: string;
475
- /** Toma el nombre del grupo padre — así todos los radios del grupo comparten el mismo `name` nativo */
475
+ /** Toma el nombre del grupo padre — así todos los radios del grupo comparten el mismo `name` nativo / Takes the parent group name — so all radios in the group share the same native `name` */
476
476
  readonly _groupName: string;
477
477
  readonly isChecked: _angular_core.Signal<boolean>;
478
478
  readonly isDisabled: _angular_core.Signal<boolean>;
@@ -540,31 +540,31 @@ declare class NeuSelectComponent implements ControlValueAccessor {
540
540
  constructor();
541
541
  /** @internal — ID \u00fanico para asociar label con trigger */
542
542
  readonly _triggerId: string;
543
- /** Template personalizado para cada opción del dropdown */
543
+ /** Template personalizado para cada opción del dropdown / Custom template for each dropdown option */
544
544
  readonly itemTpl: _angular_core.Signal<NeuSelectItemDirective | undefined>;
545
- /** Template personalizado para el valor seleccionado en el trigger */
545
+ /** Template personalizado para el valor seleccionado en el trigger / Custom template for the selected value in the trigger */
546
546
  readonly selectedItemTpl: _angular_core.Signal<NeuSelectSelectedDirective | undefined>;
547
- /** Opciones del dropdown */
547
+ /** Opciones del dropdown / Dropdown options */
548
548
  options: _angular_core.InputSignal<NeuSelectOption[]>;
549
- /** Texto del floating label */
549
+ /** Texto del floating label / Floating label text */
550
550
  label: _angular_core.InputSignal<string>;
551
- /** Placeholder cuando no hay selección */
551
+ /** Placeholder cuando no hay selección / Placeholder when there is no selection */
552
552
  placeholder: _angular_core.InputSignal<string>;
553
- /** Mensaje de error */
553
+ /** Mensaje de error / Error message */
554
554
  errorMessage: _angular_core.InputSignal<string>;
555
- /** Deshabilita el select */
555
+ /** Deshabilita el select / Disables the select */
556
556
  disabled: _angular_core.InputSignal<boolean>;
557
- /** Muestra el label como flotante (true) o como label estático encima (false, por defecto) */
557
+ /** Muestra el label como flotante (true) o como label estático encima (false, por defecto) / Shows the label as floating (true) or static above (false, default) */
558
558
  floatingLabel: _angular_core.InputSignal<boolean>;
559
- /** Activa input de búsqueda/filtro en el panel */
559
+ /** Activa input de búsqueda/filtro en el panel / Activates the search/filter input in the panel */
560
560
  searchable: _angular_core.InputSignal<boolean>;
561
- /** Placeholder del input de búsqueda */
561
+ /** Placeholder del input de búsqueda / Search input placeholder */
562
562
  searchPlaceholder: _angular_core.InputSignal<string>;
563
- /** Muestra un botón para limpiar la selección */
563
+ /** Muestra un botón para limpiar la selección / Shows a button to clear the selection */
564
564
  clearable: _angular_core.InputSignal<boolean>;
565
- /** Texto cuando no hay opciones tras filtrar */
565
+ /** Texto cuando no hay opciones tras filtrar / Text when no options remain after filtering */
566
566
  noResultsMessage: _angular_core.InputSignal<string>;
567
- /** Aria-label del botón de limpiar */
567
+ /** Aria-label del botón de limpiar / Aria-label for the clear button */
568
568
  clearAriaLabel: _angular_core.InputSignal<string>;
569
569
  /**
570
570
  * Sincroniza el valor seleccionado con este query param de la URL.
@@ -595,9 +595,9 @@ declare class NeuSelectComponent implements ControlValueAccessor {
595
595
  readonly isDisabledFinal: _angular_core.Signal<boolean>;
596
596
  toggle(): void;
597
597
  close(): void;
598
- /** Abre el panel y navega con flechas desde el trigger */
598
+ /** Abre el panel y navega con flechas desde el trigger / Opens the panel and navigates with arrows from the trigger */
599
599
  onTriggerKey(event: Event): void;
600
- /** Navega entre opciones con flechas */
600
+ /** Navega entre opciones con flechas / Navigates between options with arrows */
601
601
  focusOptionByIndex(event: Event, current: NeuSelectOption, dir: 1 | -1): void;
602
602
  clearValue(event: MouseEvent): void;
603
603
  selectOption(option: NeuSelectOption): void;
@@ -619,25 +619,25 @@ declare class NeuSelectComponent implements ControlValueAccessor {
619
619
  declare class NeuSliderComponent {
620
620
  private static _idCounter;
621
621
  protected readonly sliderId: string;
622
- /** Valor actual */
622
+ /** Valor actual / Current value */
623
623
  value: _angular_core.InputSignal<number>;
624
- /** Valor mínimo */
624
+ /** Valor mínimo / Minimum value */
625
625
  min: _angular_core.InputSignal<number>;
626
- /** Valor máximo */
626
+ /** Valor máximo / Maximum value */
627
627
  max: _angular_core.InputSignal<number>;
628
- /** Paso */
628
+ /** Paso / Step */
629
629
  step: _angular_core.InputSignal<number>;
630
- /** Etiqueta */
630
+ /** Etiqueta / Label */
631
631
  label: _angular_core.InputSignal<string>;
632
- /** Muestra el valor numerico */
632
+ /** Muestra el valor numerico / Shows the numeric value */
633
633
  showValue: _angular_core.InputSignal<boolean>;
634
- /** Muestra min/mid/max bajo la barra */
634
+ /** Muestra min/mid/max bajo la barra / Shows min/mid/max below the bar */
635
635
  showTicks: _angular_core.InputSignal<boolean>;
636
- /** Unidad a mostrar junto al valor */
636
+ /** Unidad a mostrar junto al valor / Unit to display next to the value */
637
637
  unit: _angular_core.InputSignal<string>;
638
- /** Deshabilitado */
638
+ /** Deshabilitado / Disabled */
639
639
  disabled: _angular_core.InputSignal<boolean>;
640
- /** Emite al mover el slider */
640
+ /** Emite al mover el slider / Emits when the slider moves */
641
641
  valueChange: _angular_core.OutputEmitterRef<number>;
642
642
  readonly fillPercent: _angular_core.Signal<number>;
643
643
  onInput(event: Event): void;
@@ -660,7 +660,7 @@ declare class NeuSwitchComponent implements ControlValueAccessor {
660
660
  readonly disabled: _angular_core.InputSignal<boolean>;
661
661
  readonly _id: string;
662
662
  protected readonly _checked: _angular_core.WritableSignal<boolean>;
663
- /** Estado disabled interno — combina el input `disabled` con el CVA setDisabledState */
663
+ /** Estado disabled interno — combina el input `disabled` con el CVA setDisabledState / Internal disabled state — combines the `disabled` input with CVA setDisabledState */
664
664
  private readonly _cvaDisabled;
665
665
  protected readonly _isDisabled: _angular_core.Signal<boolean>;
666
666
  private _onChange;
@@ -689,7 +689,7 @@ declare class NeuTextareaComponent implements ControlValueAccessor {
689
689
  readonly label: _angular_core.InputSignal<string>;
690
690
  readonly rows: _angular_core.InputSignal<number>;
691
691
  readonly autoResize: _angular_core.InputSignal<boolean>;
692
- /** Permite al usuario redimensionar el campo manualmente (por defecto: true) */
692
+ /** Permite al usuario redimensionar el campo manualmente (por defecto: true) / Allows the user to manually resize the field (default: true) */
693
693
  readonly resizable: _angular_core.InputSignal<boolean>;
694
694
  readonly errorMessage: _angular_core.InputSignal<string>;
695
695
  readonly hint: _angular_core.InputSignal<string>;
@@ -735,27 +735,27 @@ type NeuButtonIconPosition = 'left' | 'right';
735
735
  * son inputs reactivos. El estado se computa automáticamente con computed().
736
736
  */
737
737
  declare class NeuButtonComponent {
738
- /** Variante visual del botón */
738
+ /** Variante visual del botón / Visual button variant */
739
739
  variant: _angular_core.InputSignal<NeuButtonVariant>;
740
- /** Tamaño del botón */
740
+ /** Tamaño del botón / Button size */
741
741
  size: _angular_core.InputSignal<NeuButtonSize>;
742
- /** Deshabilita el botón y bloquea la interacción */
742
+ /** Deshabilita el botón y bloquea la interacción / Disables the button and blocks interaction */
743
743
  disabled: _angular_core.InputSignal<boolean>;
744
- /** Muestra un spinner y deshabilita mientras se procesa */
744
+ /** Muestra un spinner y deshabilita mientras se procesa / Shows a spinner and disables while processing */
745
745
  loading: _angular_core.InputSignal<boolean>;
746
- /** Ocupa el 100% del ancho de su contenedor */
746
+ /** Ocupa el 100% del ancho de su contenedor / Takes up 100% of its container width */
747
747
  fullWidth: _angular_core.InputSignal<boolean>;
748
- /** Nombre del icono Lucide (ej: 'lucideSave', 'lucidePlus') */
748
+ /** Nombre del icono Lucide (ej: 'lucideSave', 'lucidePlus') / Lucide icon name (e.g. 'lucideSave', 'lucidePlus') */
749
749
  icon: _angular_core.InputSignal<string>;
750
750
  /** Posición del icono respecto al texto */
751
751
  iconPosition: _angular_core.InputSignal<NeuButtonIconPosition>;
752
- /** Modo solo-icono: aplica padding cuadrado y oculta el ng-content */
752
+ /** Modo solo-icono: aplica padding cuadrado y oculta el ng-content / Icon-only mode: applies square padding and hides ng-content */
753
753
  iconOnly: _angular_core.InputSignal<boolean>;
754
- /** Etiqueta accesible obligatoria cuando se usa iconOnly (WCAG 4.1.2) */
754
+ /** Etiqueta accesible obligatoria cuando se usa iconOnly (WCAG 4.1.2) / Required accessible label when using iconOnly (WCAG 4.1.2) */
755
755
  ariaLabel: _angular_core.InputSignal<string>;
756
- /** Emite el evento de click cuando el botón está activo */
756
+ /** Emite el evento de click cuando el botón está activo / Emits the click event when the button is active */
757
757
  neuClick: _angular_core.OutputEmitterRef<MouseEvent>;
758
- /** @internal — reenvía el click nativo al output Angular */
758
+ /** @internal — reenvía el click nativo al output Angular / forwards the native click to the Angular output */
759
759
  _onHostClick(event: MouseEvent): void;
760
760
  readonly isDisabled: _angular_core.Signal<boolean>;
761
761
  readonly hasIcon: _angular_core.Signal<boolean>;
@@ -773,20 +773,20 @@ declare class NeuButtonComponent {
773
773
  }
774
774
 
775
775
  interface NeuToggleOption<T = unknown> {
776
- /** Texto visible del botón */
776
+ /** Texto visible del botón / Visible button text */
777
777
  label: string;
778
- /** Valor asociado a esta opción */
778
+ /** Valor asociado a esta opción / Value associated with this option */
779
779
  value: T;
780
- /** Nombre de icono Lucide (opcional) */
780
+ /** Nombre de icono Lucide (opcional) / Lucide icon name (optional) */
781
781
  icon?: string;
782
- /** Deshabilita solo esta opción */
782
+ /** Deshabilita solo esta opción / Disables this option only */
783
783
  disabled?: boolean;
784
784
  }
785
785
  /**
786
786
  * NeuralUI ToggleButtonGroup Component
787
787
  *
788
- * Grupo de botones de selección (single o múltiple).
789
- * Equivalente técnicamente superior al SelectButton de PrimeNG.
788
+ * Grupo de botones de selección (single o múltiple). / Selection button group (single or multiple).
789
+ * Equivalente técnicamente superior al SelectButton de PrimeNG. / Technically superior equivalent to PrimeNG's SelectButton.
790
790
  *
791
791
  * Uso (single):
792
792
  * <neu-toggle-button-group [options]="opts" [(ngModel)]="value" />
@@ -795,7 +795,7 @@ interface NeuToggleOption<T = unknown> {
795
795
  * <neu-toggle-button-group [options]="opts" [multiple]="true" [(ngModel)]="values" />
796
796
  */
797
797
  declare class NeuToggleButtonGroupComponent<T = unknown> implements ControlValueAccessor {
798
- /** Lista de opciones del grupo */
798
+ /** Lista de opciones del grupo / Group option list */
799
799
  options: _angular_core.InputSignal<NeuToggleOption<T>[]>;
800
800
  /**
801
801
  * Permite seleccionar múltiples opciones.
@@ -803,11 +803,11 @@ declare class NeuToggleButtonGroupComponent<T = unknown> implements ControlValue
803
803
  * - true: valor es `T[]`
804
804
  */
805
805
  multiple: _angular_core.InputSignal<boolean>;
806
- /** Tamaño visual */
806
+ /** Tamaño visual / Visual size */
807
807
  size: _angular_core.InputSignal<NeuButtonSize>;
808
- /** Deshabilita todo el grupo */
808
+ /** Deshabilita todo el grupo / Disables the entire group */
809
809
  disabled: _angular_core.InputSignal<boolean>;
810
- /** Emite el nuevo valor al cambiar (útil sin formControl) */
810
+ /** Emite el nuevo valor al cambiar (útil sin formControl) / Emits the new value on change (useful without formControl) */
811
811
  neuChange: _angular_core.OutputEmitterRef<T | T[] | null>;
812
812
  readonly _value: _angular_core.WritableSignal<T | T[] | null>;
813
813
  readonly _isDisabled: _angular_core.WritableSignal<boolean>;
@@ -830,13 +830,13 @@ declare class NeuToggleButtonGroupComponent<T = unknown> implements ControlValue
830
830
  }
831
831
 
832
832
  interface NeuBreadcrumbItem {
833
- /** Etiqueta visible */
833
+ /** Etiqueta visible / Visible label */
834
834
  label: string;
835
- /** Ruta interna (RouterLink) */
835
+ /** Ruta interna (RouterLink) / Internal route (RouterLink) */
836
836
  route?: string | string[];
837
- /** URL externa */
837
+ /** URL externa / External URL */
838
838
  url?: string;
839
- /** Icono Lucide opcional */
839
+ /** Icono Lucide opcional / Optional Lucide icon */
840
840
  icon?: string;
841
841
  }
842
842
  /**
@@ -855,9 +855,9 @@ interface NeuBreadcrumbItem {
855
855
  * ];
856
856
  */
857
857
  declare class NeuBreadcrumbComponent {
858
- /** Lista de ítems de navegación */
858
+ /** Lista de ítems de navegación / Navigation item list */
859
859
  items: _angular_core.InputSignal<NeuBreadcrumbItem[]>;
860
- /** Separador personalizable */
860
+ /** Separador personalizable / Customizable separator */
861
861
  separator: _angular_core.InputSignal<string>;
862
862
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuBreadcrumbComponent, never>;
863
863
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuBreadcrumbComponent, "neu-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -878,11 +878,11 @@ interface NeuNavItem {
878
878
  id: string;
879
879
  label: string;
880
880
  icon: string;
881
- /** Ruta Angular interna (RouterLink). Excluye `href`. */
881
+ /** Ruta Angular interna (RouterLink). Excluye `href`. / Internal Angular route (RouterLink). Excludes `href`. */
882
882
  route?: string;
883
- /** URL externa. Se abre en nueva pestaña. Excluye `route`. */
883
+ /** URL externa. Se abre en nueva pestaña. Excluye `route`. / External URL. Opens in a new tab. Excludes `route`. */
884
884
  href?: string;
885
- /** Ítems hijo (nivel 2). Cada hijo puede tener sus propios `children` (nivel 3). */
885
+ /** Ítems hijo (nivel 2). Cada hijo puede tener sus propios `children` (nivel 3). / Child items (level 2). Each child can have its own `children` (level 3). */
886
886
  children?: NeuNavItem[];
887
887
  badge?: string;
888
888
  badgeVariant?: 'default' | 'success' | 'warning' | 'danger' | 'info';
@@ -891,19 +891,19 @@ interface NeuNavItem {
891
891
  declare class NeuNavComponent {
892
892
  private readonly router;
893
893
  private readonly currentUrl;
894
- /** Lista de ítems de navegación */
894
+ /** Lista de ítems de navegación / Navigation item list */
895
895
  items: _angular_core.InputSignal<NeuNavItem[]>;
896
- /** Estado inicial colapsado */
896
+ /** Estado inicial colapsado / Initial collapsed state */
897
897
  collapsed: _angular_core.InputSignal<boolean>;
898
- /** Muestra el botón de colapsar/expandir */
898
+ /** Muestra el botón de colapsar/expandir / Shows the collapse/expand button */
899
899
  collapsible: _angular_core.InputSignal<boolean>;
900
- /** Etiqueta accesible del <nav> */
900
+ /** Etiqueta accesible del <nav> / Accessible label for the <nav> */
901
901
  ariaLabel: _angular_core.InputSignal<string>;
902
- /** Aria-label del botón cuando el nav está colapsado */
902
+ /** Aria-label del botón cuando el nav está colapsado / Aria-label for the button when the nav is collapsed */
903
903
  expandLabel: _angular_core.InputSignal<string>;
904
- /** Aria-label del botón cuando el nav está expandido */
904
+ /** Aria-label del botón cuando el nav está expandido / Aria-label for the button when the nav is expanded */
905
905
  collapseLabel: _angular_core.InputSignal<string>;
906
- /** Emite cuando cambia el estado colapsado */
906
+ /** Emite cuando cambia el estado colapsado / Emits when the collapsed state changes */
907
907
  collapsedChange: _angular_core.OutputEmitterRef<boolean>;
908
908
  readonly isCollapsed: _angular_core.WritableSignal<boolean>;
909
909
  private readonly openGroups;
@@ -938,15 +938,15 @@ declare class NeuNavComponent {
938
938
  * (pageChange)="currentPage = $event" />
939
939
  */
940
940
  declare class NeuPaginationComponent {
941
- /** Página actual (1-indexed) */
941
+ /** Página actual (1-indexed) / Current page (1-indexed) */
942
942
  page: _angular_core.InputSignal<number>;
943
- /** Total de ítems */
943
+ /** Total de ítems / Total items */
944
944
  total: _angular_core.InputSignal<number>;
945
- /** Ítems por página */
945
+ /** Ítems por página / Items per page */
946
946
  pageSize: _angular_core.InputSignal<number>;
947
- /** Número máximo de botones de página visibles (sin contar anterior/siguiente) */
947
+ /** Número máximo de botones de página visibles (sin contar anterior/siguiente) / Maximum number of visible page buttons (not counting prev/next) */
948
948
  maxVisible: _angular_core.InputSignal<number>;
949
- /** Emite la nueva página al hacer click */
949
+ /** Emite la nueva página al hacer click / Emits the new page on click */
950
950
  pageChange: _angular_core.OutputEmitterRef<number>;
951
951
  readonly totalPages: _angular_core.Signal<number>;
952
952
  readonly pages: _angular_core.Signal<number[]>;
@@ -958,12 +958,12 @@ declare class NeuPaginationComponent {
958
958
  /**
959
959
  * NeuralUI Sidebar Component
960
960
  *
961
- * El estado abierto/cerrado se gestiona automáticamente desde la URL
962
- * via NeuUrlStateService (?menu=open por defecto).
961
+ * El estado abierto/cerrado se gestiona automáticamente desde la URL / The open/closed state is automatically managed from the URL
962
+ * via NeuUrlStateService (?menu=open por defecto). / via NeuUrlStateService (?menu=open by default).
963
963
  *
964
964
  * Modos:
965
- * - overlay (default): panel flotante sobre el contenido con backdrop
966
- * - persistent: sidebar fijo integrado en el layout (desktop)
965
+ * - overlay (default): panel flotante sobre el contenido con backdrop / floating panel above content with backdrop
966
+ * - persistent: sidebar fijo integrado en el layout (desktop) / fixed sidebar integrated in the layout (desktop)
967
967
  *
968
968
  * Uso:
969
969
  * <neu-sidebar urlParam="menu" [persistent]="isDesktop()">
@@ -972,14 +972,14 @@ declare class NeuPaginationComponent {
972
972
  * <div neu-sidebar-footer>...</div>
973
973
  * </neu-sidebar>
974
974
  *
975
- * Abrir desde cualquier parte:
975
+ * Abrir desde cualquier parte: / Open from anywhere:
976
976
  * inject(NeuUrlStateService).setParam('menu', 'open', false);
977
977
  */
978
978
  declare class NeuSidebarComponent {
979
979
  private readonly urlState;
980
- /** Posición del sidebar: izquierda o derecha de la pantalla */
980
+ /** Posición del sidebar: izquierda o derecha de la pantalla / Sidebar position: left or right of the screen */
981
981
  side: _angular_core.InputSignal<"left" | "right">;
982
- /** QueryParam que controla el estado. Default: 'menu' (?menu=open) */
982
+ /** QueryParam que controla el estado. Default: 'menu' (?menu=open) / QueryParam that controls the state. Default: 'menu' (?menu=open) */
983
983
  urlParam: _angular_core.InputSignal<string>;
984
984
  /**
985
985
  * Modo persistente: el sidebar está siempre visible como parte del layout.
@@ -991,30 +991,30 @@ declare class NeuSidebarComponent {
991
991
  * principal y el sidebar persistente no necesita su propio header.
992
992
  */
993
993
  hideHeader: _angular_core.InputSignal<boolean>;
994
- /** Etiqueta accesible para el <aside> */
994
+ /** Etiqueta accesible para el <aside> / Accessible label for the <aside> */
995
995
  ariaLabel: _angular_core.InputSignal<string>;
996
- /** Etiqueta accesible para el botón cerrar */
996
+ /** Etiqueta accesible para el botón cerrar / Accessible label for the close button */
997
997
  closeLabel: _angular_core.InputSignal<string>;
998
- /** Emite cuando el usuario cierra el sidebar (overlay click o botón) */
998
+ /** Emite cuando el usuario cierra el sidebar (overlay click o botón) / Emits when the user closes the sidebar (overlay click or button) */
999
999
  closeRequested: _angular_core.OutputEmitterRef<void>;
1000
- /** Signal reactivo: true si el sidebar debe mostrarse */
1000
+ /** Signal reactivo: true si el sidebar debe mostrarse / Reactive signal: true if the sidebar should be shown */
1001
1001
  readonly isOpen: _angular_core.Signal<boolean>;
1002
- /** Abre el sidebar — añade ?{urlParam}=open a la URL */
1002
+ /** Abre el sidebar — añade ?{urlParam}=open a la URL / Opens the sidebar — adds ?{urlParam}=open to the URL */
1003
1003
  open(replaceUrl?: boolean): void;
1004
- /** Cierra el sidebar — elimina el parámetro de la URL */
1004
+ /** Cierra el sidebar — elimina el parámetro de la URL / Closes the sidebar — removes the URL parameter */
1005
1005
  close(): void;
1006
1006
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuSidebarComponent, never>;
1007
1007
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuSidebarComponent, "neu-sidebar", never, { "side": { "alias": "side"; "required": false; "isSignal": true; }; "urlParam": { "alias": "urlParam"; "required": false; "isSignal": true; }; "persistent": { "alias": "persistent"; "required": false; "isSignal": true; }; "hideHeader": { "alias": "hideHeader"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; }, { "closeRequested": "closeRequested"; }, never, ["[neu-sidebar-header]", "*", "[neu-sidebar-footer]"], true, never>;
1008
1008
  }
1009
1009
 
1010
1010
  interface NeuStepperStep {
1011
- /** Etiqueta del paso */
1011
+ /** Etiqueta del paso / Step label */
1012
1012
  label: string;
1013
- /** Descripción corta opcional */
1013
+ /** Descripción corta opcional / Optional short description */
1014
1014
  description?: string;
1015
- /** Marca el paso como completado externamente */
1015
+ /** Marca el paso como completado externamente / Marks the step as completed externally */
1016
1016
  completed?: boolean;
1017
- /** Desactiva el paso */
1017
+ /** Desactiva el paso / Disables the step */
1018
1018
  disabled?: boolean;
1019
1019
  }
1020
1020
  /**
@@ -1030,19 +1030,19 @@ interface NeuStepperStep {
1030
1030
  * </neu-stepper>
1031
1031
  */
1032
1032
  declare class NeuStepperComponent {
1033
- /** Pasos del wizard */
1033
+ /** Pasos del wizard / Wizard steps */
1034
1034
  steps: _angular_core.InputSignal<NeuStepperStep[]>;
1035
- /** Índice del paso activo (0-based) */
1035
+ /** Índice del paso activo (0-based) / Active step index (0-based) */
1036
1036
  activeStep: _angular_core.InputSignal<number>;
1037
- /** Si true, solo permite ir hacia adelante secuencialmente */
1037
+ /** Si true, solo permite ir hacia adelante secuencialmente / If true, only allows moving forward sequentially */
1038
1038
  linear: _angular_core.InputSignal<boolean>;
1039
- /** Emite el nuevo índice al cambiar */
1039
+ /** Emite el nuevo índice al cambiar / Emits the new index on change */
1040
1040
  stepChange: _angular_core.OutputEmitterRef<number>;
1041
- /** Set de pasos completados */
1041
+ /** Set de pasos completados / Set of completed steps */
1042
1042
  private readonly _completed;
1043
1043
  readonly isCompleted: (i: number) => boolean;
1044
1044
  goTo(i: number): void;
1045
- /** Marca el paso actual como completado y avanza al siguiente */
1045
+ /** Marca el paso actual como completado y avanza al siguiente / Marks the current step as completed and advances to the next */
1046
1046
  next(): void;
1047
1047
  prev(): void;
1048
1048
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuStepperComponent, never>;
@@ -1051,20 +1051,20 @@ declare class NeuStepperComponent {
1051
1051
 
1052
1052
  declare const NEU_TABS_CONTEXT: InjectionToken<NeuTabsComponent>;
1053
1053
  interface NeuTab {
1054
- /** ID único de la pestaña — se usa como valor en la URL */
1054
+ /** ID único de la pestaña — se usa como valor en la URL / Unique tab ID — used as the URL value */
1055
1055
  id: string;
1056
- /** Etiqueta visible */
1056
+ /** Etiqueta visible / Visible label */
1057
1057
  label: string;
1058
- /** Badge opcional junto al label */
1058
+ /** Badge opcional junto al label / Optional badge next to the label */
1059
1059
  badge?: string;
1060
- /** Deshabilita la pestaña sin ocultarla */
1060
+ /** Deshabilita la pestaña sin ocultarla / Disables the tab without hiding it */
1061
1061
  disabled?: boolean;
1062
1062
  }
1063
1063
  /**
1064
1064
  * NeuralUI Tabs Component
1065
1065
  *
1066
- * Sistema de pestañas con estado sincronizado a la URL via NeuUrlStateService.
1067
- * El panel activo se determina por ?{tabParam}={tabId}.
1066
+ * Sistema de pestañas con estado sincronizado a la URL via NeuUrlStateService. / Tab system with state synchronized to the URL via NeuUrlStateService.
1067
+ * El panel activo se determina por ?{tabParam}={tabId}. / The active panel is determined by ?{tabParam}={tabId}.
1068
1068
  *
1069
1069
  * Uso:
1070
1070
  * <neu-tabs [tabs]="tabs" tabParam="tab">
@@ -1077,19 +1077,19 @@ declare class NeuTabsComponent implements AfterViewInit, OnDestroy {
1077
1077
  private readonly elRef;
1078
1078
  private resizeObserver?;
1079
1079
  constructor();
1080
- /** Definición de pestañas */
1080
+ /** Definición de pestañas / Tab definitions */
1081
1081
  tabs: _angular_core.InputSignal<NeuTab[]>;
1082
- /** QueryParam que almacena la pestaña activa */
1082
+ /** QueryParam que almacena la pestaña activa / QueryParam that stores the active tab */
1083
1083
  tabParam: _angular_core.InputSignal<string>;
1084
- /** Si true, elimina el padding interno de los paneles */
1084
+ /** Si true, elimina el padding interno de los paneles / If true, removes the internal padding from panels */
1085
1085
  flush: _angular_core.InputSignal<boolean>;
1086
- /** Etiqueta accesible del rol tablist */
1086
+ /** Etiqueta accesible del rol tablist / Accessible label for the tablist role */
1087
1087
  ariaLabel: _angular_core.InputSignal<string>;
1088
- /** Emite al cambiar de pestaña */
1088
+ /** Emite al cambiar de pestaña / Emits when the tab changes */
1089
1089
  tabChange: _angular_core.OutputEmitterRef<string>;
1090
- /** ID de la pestaña activa (de la URL o la primera disponible) */
1090
+ /** ID de la pestaña activa (de la URL o la primera disponible) / Active tab ID (from the URL or the first available) */
1091
1091
  readonly activeTabId: _angular_core.Signal<string>;
1092
- /** Posición del indicador calculada mediante medición DOM */
1092
+ /** Posición del indicador calculada mediante medición DOM / Indicator position calculated via DOM measurement */
1093
1093
  private readonly _indicatorLeft;
1094
1094
  private readonly _indicatorWidth;
1095
1095
  readonly indicatorStyle: _angular_core.Signal<string>;
@@ -1097,7 +1097,7 @@ declare class NeuTabsComponent implements AfterViewInit, OnDestroy {
1097
1097
  ngOnDestroy(): void;
1098
1098
  private _updateIndicator;
1099
1099
  selectTab(tab: NeuTab): void;
1100
- /** Mueve el foco entre tabs con flechas (roving tabindex — WAI-ARIA Tabs Pattern) */
1100
+ /** Mueve el foco entre tabs con flechas (roving tabindex — WAI-ARIA Tabs Pattern) / Moves focus between tabs with arrows (roving tabindex — WAI-ARIA Tabs Pattern) */
1101
1101
  focusTab(event: Event, dir: 1 | -1 | 'first' | 'last'): void;
1102
1102
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuTabsComponent, never>;
1103
1103
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuTabsComponent, "neu-tabs", never, { "tabs": { "alias": "tabs"; "required": false; "isSignal": true; }; "tabParam": { "alias": "tabParam"; "required": false; "isSignal": true; }; "flush": { "alias": "flush"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "tabChange": "tabChange"; }, never, ["*"], true, never>;
@@ -1105,15 +1105,15 @@ declare class NeuTabsComponent implements AfterViewInit, OnDestroy {
1105
1105
  /**
1106
1106
  * NeuralUI Tab Panel
1107
1107
  *
1108
- * Panel de contenido asociado a una pestaña de NeuTabsComponent.
1109
- * Solo se renderiza (no oculta con CSS) cuando la pestaña está activa.
1108
+ * Panel de contenido asociado a una pestaña de NeuTabsComponent. / Content panel associated with a NeuTabsComponent tab.
1109
+ * Solo se renderiza (no oculta con CSS) cuando la pestaña está activa. / Only rendered (not hidden with CSS) when the tab is active.
1110
1110
  *
1111
1111
  * Uso: hijo directo de <neu-tabs>
1112
1112
  * <neu-tab-panel tabId="api">...</neu-tab-panel>
1113
1113
  */
1114
1114
  declare class NeuTabPanelComponent {
1115
1115
  private readonly tabs;
1116
- /** ID que debe coincidir con NeuTab.id del padre */
1116
+ /** ID que debe coincidir con NeuTab.id del padre / ID that must match the parent NeuTab.id */
1117
1117
  tabId: _angular_core.InputSignal<string>;
1118
1118
  readonly isActive: _angular_core.Signal<boolean>;
1119
1119
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuTabPanelComponent, never>;
@@ -1121,22 +1121,22 @@ declare class NeuTabPanelComponent {
1121
1121
  }
1122
1122
 
1123
1123
  interface NeuAccordionItem {
1124
- /** ID único del panel */
1124
+ /** ID único del panel / Unique panel ID */
1125
1125
  id: string;
1126
- /** Título del encabezado */
1126
+ /** Título del encabezado / Header title */
1127
1127
  title: string;
1128
- /** Contenido del cuerpo (HTML o texto plano) */
1128
+ /** Contenido del cuerpo (HTML o texto plano) / Body content (HTML or plain text) */
1129
1129
  content: string;
1130
- /** Inicia expandido */
1130
+ /** Inicia expandido / Starts expanded */
1131
1131
  expanded?: boolean;
1132
- /** Deshabilita este panel */
1132
+ /** Deshabilita este panel / Disables this panel */
1133
1133
  disabled?: boolean;
1134
1134
  }
1135
1135
  /**
1136
1136
  * NeuralUI Accordion Component
1137
1137
  *
1138
1138
  * Paneles expandibles / colapsables con animación suave.
1139
- * Soporta modo múltiple (varios abiertos a la vez) o exclusivo.
1139
+ * Soporta modo múltiple (varios abiertos a la vez) o exclusivo. / Supports multiple (several open at once) or exclusive mode.
1140
1140
  *
1141
1141
  * Uso:
1142
1142
  * <neu-accordion [items]="items" />
@@ -1144,13 +1144,13 @@ interface NeuAccordionItem {
1144
1144
  */
1145
1145
  declare class NeuAccordionComponent {
1146
1146
  private readonly _sanitizer;
1147
- /** Lista de paneles */
1147
+ /** Lista de paneles / Panel list */
1148
1148
  items: _angular_core.InputSignal<NeuAccordionItem[]>;
1149
- /** Permite varios paneles abiertos a la vez */
1149
+ /** Permite varios paneles abiertos a la vez / Allows multiple panels open at once */
1150
1150
  multiple: _angular_core.InputSignal<boolean>;
1151
- /** Borde exterior alrededor del accordion */
1151
+ /** Borde exterior alrededor del accordion / Outer border around the accordion */
1152
1152
  bordered: _angular_core.InputSignal<boolean>;
1153
- /** Emite el id del panel al abrirse/cerrarse */
1153
+ /** Emite el id del panel al abrirse/cerrarse / Emits the panel id on open/close */
1154
1154
  panelToggle: _angular_core.OutputEmitterRef<{
1155
1155
  id: string;
1156
1156
  expanded: boolean;
@@ -1185,13 +1185,13 @@ type NeuCardPadding = 'none' | 'sm' | 'md' | 'lg';
1185
1185
  * </neu-card>
1186
1186
  */
1187
1187
  declare class NeuCardComponent {
1188
- /** Espaciado interior del cuerpo */
1188
+ /** Espaciado interior del cuerpo / Inner body padding */
1189
1189
  padding: _angular_core.InputSignal<NeuCardPadding>;
1190
- /** Efecto hover con elevación de sombra */
1190
+ /** Efecto hover con elevación de sombra / Hover effect with shadow elevation */
1191
1191
  hoverable: _angular_core.InputSignal<boolean>;
1192
- /** Borde con acento de color primario */
1192
+ /** Borde con acento de color primario / Border with primary color accent */
1193
1193
  bordered: _angular_core.InputSignal<boolean>;
1194
- /** Card compacta sin bordes ni sombras */
1194
+ /** Card compacta sin bordes ni sombras / Compact card without borders or shadows */
1195
1195
  flat: _angular_core.InputSignal<boolean>;
1196
1196
  readonly hostClasses: _angular_core.Signal<{
1197
1197
  'neu-card': boolean;
@@ -1221,7 +1221,7 @@ declare class NeuDividerComponent {
1221
1221
  }
1222
1222
 
1223
1223
  type NeuDialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
1224
- /** Datos que se inyectan en el componente del diálogo */
1224
+ /** Datos que se inyectan en el componente del diálogo / Data injected into the dialog component */
1225
1225
  interface NeuDialogData<T = unknown> {
1226
1226
  title?: string;
1227
1227
  data?: T;
@@ -1238,8 +1238,8 @@ declare class NeuDialogService {
1238
1238
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<NeuDialogService>;
1239
1239
  }
1240
1240
  /**
1241
- * NeuDialogComponent — Diálogo accesible con header, body y footer.
1242
- * Úsalo directamente como componente declarativo pasando `open` como signal.
1241
+ * NeuDialogComponent — Diálogo accesible con header, body y footer. / Accessible dialog with header, body and footer.
1242
+ * Úsalo directamente como componente declarativo pasando `open` como signal. / Use it directly as a declarative component passing `open` as a signal.
1243
1243
  *
1244
1244
  * Para uso programático, utiliza NeuDialogService.open().
1245
1245
  *
@@ -1252,17 +1252,17 @@ declare class NeuDialogService {
1252
1252
  * </neu-dialog>
1253
1253
  */
1254
1254
  declare class NeuDialogComponent {
1255
- /** Controla la visibilidad del diálogo. */
1255
+ /** Controla la visibilidad del diálogo. / Controls dialog visibility. */
1256
1256
  open: _angular_core.InputSignal<boolean>;
1257
- /** Título que aparece en el header. */
1257
+ /** Título que aparece en el header. / Title shown in the header. */
1258
1258
  title: _angular_core.InputSignal<string>;
1259
- /** Tamaño del panel: sm | md | lg | xl | full. */
1259
+ /** Tamaño del panel: sm | md | lg | xl | full. / Panel size: sm | md | lg | xl | full. */
1260
1260
  size: _angular_core.InputSignal<NeuDialogSize>;
1261
- /** Si es true, el backdrop y el botón cerrar no funcionan. */
1261
+ /** Si es true, el backdrop y el botón cerrar no funcionan. / If true, the backdrop and close button do not work. */
1262
1262
  disableClose: _angular_core.InputSignal<boolean>;
1263
- /** Emite cuando el usuario cierra el diálogo. */
1263
+ /** Emite cuando el usuario cierra el diálogo. / Emits when the user closes the dialog. */
1264
1264
  closed: _angular_core.OutputEmitterRef<void>;
1265
- /** @internal — ID único para aria-labelledby */
1265
+ /** @internal — ID único para aria-labelledby / Unique ID for aria-labelledby */
1266
1266
  readonly _uid: string;
1267
1267
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDialogComponent, never>;
1268
1268
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuDialogComponent, "neu-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*", "[neu-dialog-footer]"], true, never>;
@@ -1290,24 +1290,24 @@ declare class NeuTableExpandDirective {
1290
1290
 
1291
1291
  type NeuTableBadgeVariant = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'default';
1292
1292
  interface NeuTableBadgeConfig {
1293
- /** Etiqueta a mostrar (si omit, usa el valor bruto) */
1293
+ /** Etiqueta a mostrar (si omit, usa el valor bruto) / Label to display (if omitted, uses the raw value) */
1294
1294
  label?: string;
1295
1295
  variant: NeuTableBadgeVariant;
1296
1296
  }
1297
1297
  interface NeuTableColumn<T = Record<string, unknown>> {
1298
- /** Clave del campo en el objeto de datos */
1298
+ /** Clave del campo en el objeto de datos / Field key in the data object */
1299
1299
  key: string;
1300
- /** Texto del encabezado de columna */
1300
+ /** Texto del encabezado de columna / Column header text */
1301
1301
  header: string;
1302
- /** Ancho fijo (CSS: '120px', '20%', etc.) */
1302
+ /** Ancho fijo (CSS: '120px', '20%', etc.) / Fixed width (CSS: '120px', '20%', etc.) */
1303
1303
  width?: string;
1304
- /** Alineación del contenido */
1304
+ /** Alineación del contenido / Content alignment */
1305
1305
  align?: 'left' | 'center' | 'right';
1306
- /** Renderer personalizado: recibe la fila completa y devuelve texto */
1306
+ /** Renderer personalizado: recibe la fila completa y devuelve texto / Custom renderer: receives the full row and returns text */
1307
1307
  cell?: (row: T) => string;
1308
- /** Clases CSS adicionales para las celdas de esta columna */
1308
+ /** Clases CSS adicionales para las celdas de esta columna / Additional CSS classes for cells in this column */
1309
1309
  cellClass?: string;
1310
- /** Esta columna es ordenable (requiere [sortable]=true en la tabla) */
1310
+ /** Esta columna es ordenable (requiere [sortable]=true en la tabla) / This column is sortable (requires [sortable]=true on the table) */
1311
1311
  sortable?: boolean;
1312
1312
  /**
1313
1313
  * Tipo de renderizado de la celda.
@@ -1367,15 +1367,15 @@ declare class NeuTableComponent {
1367
1367
  searchPlaceholder: _angular_core.InputSignal<string>;
1368
1368
  exactMatchable: _angular_core.InputSignal<boolean>;
1369
1369
  exactMatchLabel: _angular_core.InputSignal<string>;
1370
- /** Aria-label del input de búsqueda */
1370
+ /** Aria-label del input de búsqueda / Aria-label for the search input */
1371
1371
  searchAriaLabel: _angular_core.InputSignal<string>;
1372
- /** Aria-label del botón de limpiar búsqueda */
1372
+ /** Aria-label del botón de limpiar búsqueda / Aria-label for the search clear button */
1373
1373
  clearSearchAriaLabel: _angular_core.InputSignal<string>;
1374
- /** Texto del botón que elimina el filtro activo */
1374
+ /** Texto del botón que elimina el filtro activo / Button text that removes the active filter */
1375
1375
  clearFilterLabel: _angular_core.InputSignal<string>;
1376
- /** Aria-label del botón de página anterior */
1376
+ /** Aria-label del botón de página anterior / Aria-label for the previous page button */
1377
1377
  previousPageAriaLabel: _angular_core.InputSignal<string>;
1378
- /** Aria-label del botón de página siguiente */
1378
+ /** Aria-label del botón de página siguiente / Aria-label for the next page button */
1379
1379
  nextPageAriaLabel: _angular_core.InputSignal<string>;
1380
1380
  sortable: _angular_core.InputSignal<boolean>;
1381
1381
  selectable: _angular_core.InputSignal<boolean>;
@@ -1384,7 +1384,7 @@ declare class NeuTableComponent {
1384
1384
  exportFileName: _angular_core.InputSignal<string>;
1385
1385
  pageSizeOptions: _angular_core.InputSignal<number[]>;
1386
1386
  stickyHeader: _angular_core.InputSignal<boolean>;
1387
- /** Clave del campo que identifica de forma única cada fila */
1387
+ /** Clave del campo que identifica de forma única cada fila / Field key that uniquely identifies each row */
1388
1388
  rowKey: _angular_core.InputSignal<string>;
1389
1389
  pageParam: _angular_core.InputSignal<string>;
1390
1390
  searchParam: _angular_core.InputSignal<string>;
@@ -1443,21 +1443,21 @@ type NeuAvatarStatus = 'online' | 'offline' | 'busy' | 'away' | '';
1443
1443
  * <neu-avatar name="PM" size="lg" color="blue" status="online" />
1444
1444
  */
1445
1445
  declare class NeuAvatarComponent {
1446
- /** URL de la imagen. Si falla la carga, muestra las iniciales. */
1446
+ /** URL de la imagen. Si falla la carga, muestra las iniciales. / Image URL. If loading fails, shows the initials. */
1447
1447
  src: _angular_core.InputSignal<string>;
1448
- /** Texto alternativo de la imagen. */
1448
+ /** Texto alternativo de la imagen. / Image alternative text. */
1449
1449
  alt: _angular_core.InputSignal<string>;
1450
- /** Nombre completo — se usan las iniciales como fallback. */
1450
+ /** Nombre completo — se usan las iniciales como fallback. / Full name — initials are used as fallback. */
1451
1451
  name: _angular_core.InputSignal<string>;
1452
- /** Tamaño: xs (24) | sm (32) | md (40) | lg (48) | xl (64). Por defecto 'md'. */
1452
+ /** Tamaño: xs (24) | sm (32) | md (40) | lg (48) | xl (64). Por defecto 'md'. / Size: xs (24) | sm (32) | md (40) | lg (48) | xl (64). Default 'md'. */
1453
1453
  size: _angular_core.InputSignal<NeuAvatarSize>;
1454
- /** Forma: 'circle' (default) o 'square'. */
1454
+ /** Forma: 'circle' (default) o 'square'. / Shape: 'circle' (default) or 'square'. */
1455
1455
  shape: _angular_core.InputSignal<NeuAvatarShape>;
1456
- /** Color de fondo para iniciales. */
1456
+ /** Color de fondo para iniciales. / Background color for initials. */
1457
1457
  color: _angular_core.InputSignal<NeuAvatarColor>;
1458
- /** Indicador de presencia. */
1458
+ /** Indicador de presencia. / Presence indicator. */
1459
1459
  status: _angular_core.InputSignal<NeuAvatarStatus>;
1460
- /** @internal Imagen fallida */
1460
+ /** @internal Imagen fallida / Failed image */
1461
1461
  protected readonly imgError: _angular_core.WritableSignal<boolean>;
1462
1462
  protected readonly initials: _angular_core.Signal<string>;
1463
1463
  protected readonly hostClasses: _angular_core.Signal<string[]>;
@@ -1470,21 +1470,21 @@ type NeuBadgeSize = 'sm' | 'md';
1470
1470
  /**
1471
1471
  * NeuralUI Badge Component
1472
1472
  *
1473
- * Etiqueta de estado compacta y semántica.
1473
+ * Etiqueta de estado compacta y semántica. / Compact and semantic status label.
1474
1474
  *
1475
1475
  * Uso: <neu-badge variant="success">Activo</neu-badge>
1476
1476
  * <neu-badge variant="danger" [dot]="true">Error</neu-badge>
1477
1477
  */
1478
1478
  declare class NeuBadgeComponent {
1479
- /** Variante semántica */
1479
+ /** Variante semántica / Semantic variant */
1480
1480
  variant: _angular_core.InputSignal<NeuBadgeVariant>;
1481
- /** Tamaño */
1481
+ /** Tamaño / Size */
1482
1482
  size: _angular_core.InputSignal<NeuBadgeSize>;
1483
- /** Muestra un punto de color a la izquierda */
1483
+ /** Muestra un punto de color a la izquierda / Shows a colored dot on the left */
1484
1484
  dot: _angular_core.InputSignal<boolean>;
1485
- /** Estilo con solo borde (outline) sin relleno */
1485
+ /** Estilo con solo borde (outline) sin relleno / Border-only style (outline) without fill */
1486
1486
  outline: _angular_core.InputSignal<boolean>;
1487
- /** Estilo completamente redondeado (pill) */
1487
+ /** Estilo completamente redondeado (pill) / Fully rounded style (pill) */
1488
1488
  pill: _angular_core.InputSignal<boolean>;
1489
1489
  readonly hostClasses: _angular_core.Signal<{
1490
1490
  [x: string]: boolean;
@@ -1517,23 +1517,23 @@ interface NeuChartSeries {
1517
1517
  * />
1518
1518
  */
1519
1519
  declare class NeuChartComponent {
1520
- /** Tipo de gráfica. */
1520
+ /** Tipo de gráfica. / Chart type. */
1521
1521
  type: _angular_core.InputSignal<NeuChartType>;
1522
- /** Series para gráficas de ejes (line, area, bar, pareto…). */
1522
+ /** Series para gráficas de ejes (line, area, bar, pareto…). / Series for axis-based charts (line, area, bar, pareto…). */
1523
1523
  series: _angular_core.InputSignal<NeuChartSeries[]>;
1524
- /** Series para gráficas sin ejes (donut, pie). */
1524
+ /** Series para gráficas sin ejes (donut, pie). / Series for non-axis charts (donut, pie). */
1525
1525
  pieSeries: _angular_core.InputSignal<number[]>;
1526
- /** Etiquetas del eje X. */
1526
+ /** Etiquetas del eje X. / X-axis labels. */
1527
1527
  categories: _angular_core.InputSignal<string[]>;
1528
- /** Etiquetas para donut/pie. */
1528
+ /** Etiquetas para donut/pie. / Labels for donut/pie. */
1529
1529
  labels: _angular_core.InputSignal<string[]>;
1530
- /** Altura en px. */
1530
+ /** Altura en px. / Height in px. */
1531
1531
  height: _angular_core.InputSignal<number>;
1532
- /** Colores custom. Si no se proveen, usa la paleta Neural-Blue. */
1532
+ /** Colores custom. Si no se proveen, usa la paleta Neural-Blue. / Custom colors. If not provided, uses the Neural-Blue palette. */
1533
1533
  colors: _angular_core.InputSignal<string[]>;
1534
- /** Muestra/oculta las etiquetas de datos. */
1534
+ /** Muestra/oculta las etiquetas de datos. / Shows/hides data labels. */
1535
1535
  showDataLabels: _angular_core.InputSignal<boolean>;
1536
- /** Título de la gráfica. */
1536
+ /** Título de la gráfica. / Chart title. */
1537
1537
  title: _angular_core.InputSignal<string>;
1538
1538
  private get _isBar();
1539
1539
  private get _isStacked();
@@ -1702,21 +1702,21 @@ type NeuChipSize = 'sm' | 'md';
1702
1702
  * <neu-chip [selected]="true" (selectedChange)="toggle()">TypeScript</neu-chip>
1703
1703
  */
1704
1704
  declare class NeuChipComponent {
1705
- /** Variante de color */
1705
+ /** Variante de color / Color variant */
1706
1706
  variant: _angular_core.InputSignal<NeuChipVariant>;
1707
- /** Tamaño */
1707
+ /** Tamaño / Size */
1708
1708
  size: _angular_core.InputSignal<NeuChipSize>;
1709
- /** Estado seleccionado */
1709
+ /** Estado seleccionado / Selected state */
1710
1710
  selected: _angular_core.InputSignal<boolean>;
1711
- /** Muestra botón de cierre */
1711
+ /** Muestra botón de cierre / Shows close button */
1712
1712
  removable: _angular_core.InputSignal<boolean>;
1713
- /** Deshabilitado */
1713
+ /** Deshabilitado / Disabled */
1714
1714
  disabled: _angular_core.InputSignal<boolean>;
1715
- /** Aria-label del botón de eliminar */
1715
+ /** Aria-label del botón de eliminar / Aria-label for the delete button */
1716
1716
  removeAriaLabel: _angular_core.InputSignal<string>;
1717
- /** Emite al hacer clic o pulsar espacio/enter */
1717
+ /** Emite al hacer clic o pulsar espacio/enter / Emits on click or space/enter press */
1718
1718
  selectedChange: _angular_core.OutputEmitterRef<boolean>;
1719
- /** Emite al pulsar el botón de cierre */
1719
+ /** Emite al pulsar el botón de cierre / Emits when the close button is pressed */
1720
1720
  removed: _angular_core.OutputEmitterRef<void>;
1721
1721
  readonly hostClasses: _angular_core.Signal<{
1722
1722
  [x: string]: boolean;
@@ -1746,17 +1746,17 @@ declare class NeuChipComponent {
1746
1746
  */
1747
1747
  declare class NeuCodeBlockComponent {
1748
1748
  private readonly doc;
1749
- /** Código fuente a mostrar */
1749
+ /** Código fuente a mostrar / Source code to display */
1750
1750
  code: _angular_core.InputSignal<string>;
1751
- /** Nombre del lenguaje (decorativo) */
1751
+ /** Nombre del lenguaje (decorativo) / Language name (decorative) */
1752
1752
  lang: _angular_core.InputSignal<string>;
1753
- /** Texto del botón cuando no se ha copiado */
1753
+ /** Texto del botón cuando no se ha copiado / Button text when not yet copied */
1754
1754
  copyLabel: _angular_core.InputSignal<string>;
1755
- /** Texto del botón tras copiar */
1755
+ /** Texto del botón tras copiar / Button text after copying */
1756
1756
  copiedLabel: _angular_core.InputSignal<string>;
1757
- /** Aria-label del botón copiar */
1757
+ /** Aria-label del botón copiar / Aria-label for the copy button */
1758
1758
  copyAriaLabel: _angular_core.InputSignal<string>;
1759
- /** Aria-label del botón tras copiar */
1759
+ /** Aria-label del botón tras copiar / Aria-label for the button after copying */
1760
1760
  copiedAriaLabel: _angular_core.InputSignal<string>;
1761
1761
  protected readonly copied: _angular_core.WritableSignal<boolean>;
1762
1762
  private _copyTimer?;
@@ -1779,17 +1779,17 @@ declare class NeuCodeBlockComponent {
1779
1779
  * />
1780
1780
  */
1781
1781
  declare class NeuEmptyStateComponent {
1782
- /** Nombre del icono Lucide registrado con provideIcons(). */
1782
+ /** Nombre del icono Lucide registrado con provideIcons(). / Lucide icon name registered with provideIcons(). */
1783
1783
  icon: _angular_core.InputSignal<string>;
1784
- /** Tamaño del icono. Por defecto 3rem. */
1784
+ /** Tamaño del icono. Por defecto 3rem. / Icon size. Default 3rem. */
1785
1785
  iconSize: _angular_core.InputSignal<string>;
1786
- /** Título principal del estado vacío. */
1786
+ /** Título principal del estado vacío. / Main title of the empty state. */
1787
1787
  title: _angular_core.InputSignal<string>;
1788
- /** Descripción secundaria opcional. */
1788
+ /** Descripción secundaria opcional. / Optional secondary description. */
1789
1789
  description: _angular_core.InputSignal<string>;
1790
- /** Texto del botón de acción. Si está vacío, no se muestra el botón. */
1790
+ /** Texto del botón de acción. Si está vacío, no se muestra el botón. / Action button text. If empty, the button is not shown. */
1791
1791
  actionLabel: _angular_core.InputSignal<string>;
1792
- /** Emite cuando el usuario hace clic en el botón de acción. */
1792
+ /** Emite cuando el usuario hace clic en el botón de acción. / Emits when the user clicks the action button. */
1793
1793
  action: _angular_core.OutputEmitterRef<void>;
1794
1794
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuEmptyStateComponent, never>;
1795
1795
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuEmptyStateComponent, "neu-empty-state", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
@@ -1807,7 +1807,7 @@ declare class NeuEmptyStateComponent {
1807
1807
  * <neu-icon name="lucideAlertCircle" size="1rem" />
1808
1808
  */
1809
1809
  declare class NeuIconComponent {
1810
- /** Nombre del icono registrado con provideIcons() */
1810
+ /** Nombre del icono registrado con provideIcons() / Icon name registered with provideIcons() */
1811
1811
  name: _angular_core.InputSignal<string>;
1812
1812
  /**
1813
1813
  * Grosor del trazo. Default '2' para estética fina y técnica.
@@ -1819,7 +1819,7 @@ declare class NeuIconComponent {
1819
1819
  * Si no se especifica, usa la variable CSS `--neu-icon-size` (1.25rem por defecto).
1820
1820
  */
1821
1821
  size: _angular_core.InputSignal<string>;
1822
- /** Tamaño resuelto: usa el input `size` o cae al token CSS. */
1822
+ /** Tamaño resuelto: usa el input `size` o cae al token CSS. / Resolved size: uses the `size` input or falls back to the CSS token. */
1823
1823
  readonly resolvedSize: _angular_core.Signal<string>;
1824
1824
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuIconComponent, never>;
1825
1825
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuIconComponent, "neu-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -1838,17 +1838,17 @@ type NeuProgressVariant = 'primary' | 'success' | 'warning' | 'danger';
1838
1838
  * <neu-progress-bar [indeterminate]="true" />
1839
1839
  */
1840
1840
  declare class NeuProgressBarComponent {
1841
- /** Valor de 0 a 100 */
1841
+ /** Valor de 0 a 100 / Value from 0 to 100 */
1842
1842
  value: _angular_core.InputSignal<number>;
1843
- /** Variante de color */
1843
+ /** Variante de color / Color variant */
1844
1844
  variant: _angular_core.InputSignal<NeuProgressVariant>;
1845
- /** Etiqueta descriptiva sobre la barra */
1845
+ /** Etiqueta descriptiva sobre la barra / Descriptive label above the bar */
1846
1846
  label: _angular_core.InputSignal<string>;
1847
- /** Muestra el % a la derecha */
1847
+ /** Muestra el % a la derecha / Shows the % on the right */
1848
1848
  showValue: _angular_core.InputSignal<boolean>;
1849
- /** Modo indeterminado (animación continua) */
1849
+ /** Modo indeterminado (animación continua) / Indeterminate mode (continuous animation) */
1850
1850
  indeterminate: _angular_core.InputSignal<boolean>;
1851
- /** Altura de la barra */
1851
+ /** Altura de la barra / Bar height */
1852
1852
  size: _angular_core.InputSignal<"sm" | "md" | "lg">;
1853
1853
  readonly clampedValue: _angular_core.Signal<number>;
1854
1854
  readonly hostClasses: _angular_core.Signal<string>;
@@ -1868,13 +1868,13 @@ declare class NeuProgressBarComponent {
1868
1868
  */
1869
1869
  declare class NeuRatingComponent {
1870
1870
  protected readonly Math: Math;
1871
- /** Valor actual (1 a stars) */
1871
+ /** Valor actual (1 a stars) / Current value (1 to stars) */
1872
1872
  value: _angular_core.InputSignal<number>;
1873
- /** Número de estrellas */
1873
+ /** Número de estrellas / Number of stars */
1874
1874
  stars: _angular_core.InputSignal<number>;
1875
- /** Modo solo lectura */
1875
+ /** Modo solo lectura / Read-only mode */
1876
1876
  readonly: _angular_core.InputSignal<boolean>;
1877
- /** Emite el nuevo valor al seleccionar */
1877
+ /** Emite el nuevo valor al seleccionar / Emits the new value on selection */
1878
1878
  valueChange: _angular_core.OutputEmitterRef<number>;
1879
1879
  protected readonly hovered: _angular_core.WritableSignal<number | null>;
1880
1880
  readonly starsArray: _angular_core.Signal<number[]>;
@@ -1923,17 +1923,17 @@ type NeuSpinnerSeverity = 'primary' | 'success' | 'warning' | 'danger' | 'info';
1923
1923
  * <neu-spinner color="#ff6b35" strokeWidth="6" />
1924
1924
  */
1925
1925
  declare class NeuSpinnerComponent {
1926
- /** Variante de color semántica */
1926
+ /** Variante de color semántica / Semantic color variant */
1927
1927
  severity: _angular_core.InputSignal<NeuSpinnerSeverity>;
1928
- /** Color CSS directo — sobreescribe severity */
1928
+ /** Color CSS directo — sobreescribe severity / Direct CSS color — overrides severity */
1929
1929
  color: _angular_core.InputSignal<string>;
1930
- /** Grosor del trazo SVG (unidades SVG) */
1930
+ /** Grosor del trazo SVG (unidades SVG) / SVG stroke width (SVG units) */
1931
1931
  strokeWidth: _angular_core.InputSignal<string>;
1932
- /** Tamaño del spinner (CSS: '40px', '2rem', etc.) */
1932
+ /** Tamaño del spinner (CSS: '40px', '2rem', etc.) / Spinner size (CSS: '40px', '2rem', etc.) */
1933
1933
  size: _angular_core.InputSignal<string>;
1934
- /** Duración de la animación de rotación */
1934
+ /** Duración de la animación de rotación / Rotation animation duration */
1935
1935
  animationDuration: _angular_core.InputSignal<string>;
1936
- /** Texto accesible para lectores de pantalla */
1936
+ /** Texto accesible para lectores de pantalla / Accessible text for screen readers */
1937
1937
  ariaLabel: _angular_core.InputSignal<string>;
1938
1938
  readonly _severityColor: _angular_core.Signal<string>;
1939
1939
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuSpinnerComponent, never>;
@@ -1941,21 +1941,21 @@ declare class NeuSpinnerComponent {
1941
1941
  }
1942
1942
 
1943
1943
  interface NeuSplitButtonAction {
1944
- /** Identificador único de la acción */
1944
+ /** Identificador único de la acción / Unique action identifier */
1945
1945
  id: string;
1946
- /** Texto visible */
1946
+ /** Texto visible / Visible text */
1947
1947
  label: string;
1948
- /** Icono opcional (SVG string o nombre) */
1948
+ /** Icono opcional (SVG string o nombre) / Optional icon (SVG string or name) */
1949
1949
  icon?: string;
1950
- /** Deshabilita esta acción individualmente */
1950
+ /** Deshabilita esta acción individualmente / Disables this action individually */
1951
1951
  disabled?: boolean;
1952
- /** Separador visual encima de este item */
1952
+ /** Separador visual encima de este item / Visual separator above this item */
1953
1953
  divider?: boolean;
1954
1954
  }
1955
1955
  /**
1956
1956
  * NeuralUI SplitButton Component
1957
1957
  *
1958
- * Botón principal con un dropdown de acciones adicionales.
1958
+ * Botón principal con un dropdown de acciones adicionales. / Primary button with a dropdown of additional actions.
1959
1959
  *
1960
1960
  * Uso:
1961
1961
  * <neu-split-button
@@ -1967,25 +1967,25 @@ interface NeuSplitButtonAction {
1967
1967
  */
1968
1968
  declare class NeuSplitButtonComponent {
1969
1969
  private readonly el;
1970
- /** Texto del botón principal */
1970
+ /** Texto del botón principal / Primary button text */
1971
1971
  label: _angular_core.InputSignal<string>;
1972
- /** Variante visual */
1972
+ /** Variante visual / Visual variant */
1973
1973
  variant: _angular_core.InputSignal<NeuButtonVariant>;
1974
- /** Tamaño */
1974
+ /** Tamaño / Size */
1975
1975
  size: _angular_core.InputSignal<NeuButtonSize>;
1976
- /** Deshabilita todo el componente */
1976
+ /** Deshabilita todo el componente / Disables the entire component */
1977
1977
  disabled: _angular_core.InputSignal<boolean>;
1978
- /** Muestra spinner en el botón principal */
1978
+ /** Muestra spinner en el botón principal / Shows spinner on the primary button */
1979
1979
  loading: _angular_core.InputSignal<boolean>;
1980
- /** Acciones del dropdown */
1980
+ /** Acciones del dropdown / Dropdown actions */
1981
1981
  actions: _angular_core.InputSignal<NeuSplitButtonAction[]>;
1982
- /** Aria-label del botón de desplegable */
1982
+ /** Aria-label del botón de desplegable / Aria-label for the dropdown button */
1983
1983
  moreActionsAriaLabel: _angular_core.InputSignal<string>;
1984
- /** Aria-label del menú desplegable */
1984
+ /** Aria-label del menú desplegable / Aria-label for the dropdown menu */
1985
1985
  actionsAriaLabel: _angular_core.InputSignal<string>;
1986
- /** Emite al hacer click en el botón principal */
1986
+ /** Emite al hacer click en el botón principal / Emits on primary button click */
1987
1987
  primaryClick: _angular_core.OutputEmitterRef<MouseEvent>;
1988
- /** Emite al seleccionar una acción del dropdown */
1988
+ /** Emite al seleccionar una acción del dropdown / Emits when a dropdown action is selected */
1989
1989
  actionClick: _angular_core.OutputEmitterRef<NeuSplitButtonAction>;
1990
1990
  readonly isOpen: _angular_core.WritableSignal<boolean>;
1991
1991
  readonly isDisabled: _angular_core.Signal<boolean>;
@@ -2015,21 +2015,21 @@ type NeuStatsTrend = 'up' | 'down' | 'neutral';
2015
2015
  * />
2016
2016
  */
2017
2017
  declare class NeuStatsCardComponent {
2018
- /** Título o etiqueta de la métrica. */
2018
+ /** Título o etiqueta de la métrica. / Metric title or label. */
2019
2019
  title: _angular_core.InputSignal<string>;
2020
- /** Valor principal formateado (p.ej. "$12,450" o "98.2%"). */
2020
+ /** Valor principal formateado (p.ej. "$12,450" o "98.2%"). / Main formatted value (e.g. "$12,450" or "98.2%"). */
2021
2021
  value: _angular_core.InputSignal<string>;
2022
- /** Cambio porcentual o absoluto (p.ej. "+12.5%" o "-3"). */
2022
+ /** Cambio porcentual o absoluto (p.ej. "+12.5%" o "-3"). / Percentage or absolute change (e.g. "+12.5%" or "-3"). */
2023
2023
  change: _angular_core.InputSignal<string>;
2024
- /** Dirección del cambio. Afecta el color del change. */
2024
+ /** Dirección del cambio. Afecta el color del change. / Change direction. Affects the change color. */
2025
2025
  trend: _angular_core.InputSignal<NeuStatsTrend>;
2026
- /** Texto auxiliar bajo el cambio (p.ej. "vs. mes anterior"). */
2026
+ /** Texto auxiliar bajo el cambio (p.ej. "vs. mes anterior"). / Auxiliary text below the change (e.g. "vs. previous month"). */
2027
2027
  label: _angular_core.InputSignal<string>;
2028
- /** Nombre del icono Lucide para el encabezado. */
2028
+ /** Nombre del icono Lucide para el encabezado. / Lucide icon name for the header. */
2029
2029
  icon: _angular_core.InputSignal<string>;
2030
- /** Array de valores numéricos para la sparkline. Mín. 2 puntos. */
2030
+ /** Array de valores numéricos para la sparkline. Mín. 2 puntos. / Array of numeric values for the sparkline. Min. 2 points. */
2031
2031
  sparkData: _angular_core.InputSignal<number[]>;
2032
- /** @internal Genera los puntos SVG de la sparkline */
2032
+ /** @internal Genera los puntos SVG de la sparkline / Generates the SVG sparkline points */
2033
2033
  protected readonly sparkPoints: _angular_core.Signal<string>;
2034
2034
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuStatsCardComponent, never>;
2035
2035
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuStatsCardComponent, "neu-stats-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "change": { "alias": "change"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "sparkData": { "alias": "sparkData"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -2037,28 +2037,28 @@ declare class NeuStatsCardComponent {
2037
2037
 
2038
2038
  type NeuTimelineItemVariant = 'default' | 'success' | 'warning' | 'danger' | 'info';
2039
2039
  interface NeuTimelineItem {
2040
- /** Etiqueta de tiempo (ej. "Hace 2h", "12 Mar") */
2040
+ /** Etiqueta de tiempo (ej. "Hace 2h", "12 Mar") / Time label (e.g. "2h ago", "Mar 12") */
2041
2041
  time?: string;
2042
- /** Título del evento */
2042
+ /** Título del evento / Event title */
2043
2043
  title: string;
2044
- /** Descripción opcional */
2044
+ /** Descripción opcional / Optional description */
2045
2045
  description?: string;
2046
- /** Variante de color del punto */
2046
+ /** Variante de color del punto / Dot color variant */
2047
2047
  variant?: NeuTimelineItemVariant;
2048
- /** Icono SVG path opcional */
2048
+ /** Icono SVG path opcional / Optional SVG path icon */
2049
2049
  icon?: string;
2050
2050
  }
2051
2051
  /**
2052
2052
  * NeuralUI Timeline Component
2053
2053
  *
2054
- * Lista vertical de eventos cronológicos con línea conectora.
2054
+ * Lista vertical de eventos cronológicos con línea conectora. / Vertical list of chronological events with a connector line.
2055
2055
  *
2056
2056
  * Uso:
2057
2057
  * <neu-timeline [items]="events" />
2058
2058
  * <neu-timeline [items]="events" align="right" />
2059
2059
  */
2060
2060
  declare class NeuTimelineComponent {
2061
- /** Eventos a mostrar */
2061
+ /** Eventos a mostrar / Events to display */
2062
2062
  items: _angular_core.InputSignal<NeuTimelineItem[]>;
2063
2063
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuTimelineComponent, never>;
2064
2064
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuTimelineComponent, "neu-timeline", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -2085,7 +2085,7 @@ declare class NeuToastContainerComponent {
2085
2085
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuToastContainerComponent, "neu-toast-container", never, {}, {}, never, never, true, never>;
2086
2086
  }
2087
2087
 
2088
- /** @internal — componente flotante del tooltip, renderizado vía CDK Portal */
2088
+ /** @internal — componente flotante del tooltip, renderizado vía CDK Portal / floating tooltip component, rendered via CDK Portal */
2089
2089
  declare class NeuTooltipOverlayComponent {
2090
2090
  readonly text: _angular_core.InputSignal<string>;
2091
2091
  readonly tooltipId: _angular_core.InputSignal<string>;
@@ -2112,7 +2112,7 @@ declare class NeuTooltipDirective implements OnDestroy {
2112
2112
  private readonly _elementRef;
2113
2113
  private readonly _injector;
2114
2114
  readonly _tooltipId: string;
2115
- /** Elementos HTML nativamente focusables que no necesitan tabindex extra */
2115
+ /** Elementos HTML nativamente focusables que no necesitan tabindex extra / Natively focusable HTML elements that don't need extra tabindex */
2116
2116
  private readonly _NATIVE_FOCUSABLE;
2117
2117
  protected readonly _needsTabindex: () => boolean;
2118
2118
  private _overlayRef;