ngx-dsxlibrary 2.21.69 → 2.21.71

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.
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "ngx-dsxlibrary",
4
- "version": "2.21.69",
4
+ "version": "2.21.71",
5
5
  "description": "Libreria para control de código automatizado.",
6
6
  "author": "DevSoftXela",
7
7
  "dependencies": {
@@ -8,8 +8,6 @@ import * as rxjs from 'rxjs';
8
8
  import { Observable, Subject } from 'rxjs';
9
9
  import { SweetAlertIcon, SweetAlertTheme, SweetAlertResult } from 'sweetalert2';
10
10
  import { HttpClient, HttpInterceptorFn, HttpParams, HttpHeaders, HttpErrorResponse, HttpResponse } from '@angular/common/http';
11
- import * as i2 from 'primeng/autocomplete';
12
- import { AutoCompleteCompleteEvent as AutoCompleteCompleteEvent$1 } from 'primeng/autocomplete';
13
11
  import * as i17 from 'primeng/fileupload';
14
12
  import { FileUpload } from 'primeng/fileupload';
15
13
  import { AnimationOptions } from 'ngx-lottie';
@@ -19,6 +17,8 @@ import { JwtHelperService } from '@auth0/angular-jwt';
19
17
  import { CookieService } from 'ngx-cookie-service';
20
18
  import * as i8 from '@angular/common';
21
19
  import * as i1 from 'primeng/accordion';
20
+ import * as i2 from 'primeng/autocomplete';
21
+ import { AutoCompleteCompleteEvent as AutoCompleteCompleteEvent$1 } from 'primeng/autocomplete';
22
22
  import * as i3 from 'primeng/autofocus';
23
23
  import * as i4 from 'primeng/avatargroup';
24
24
  import * as i5 from 'primeng/avatar';
@@ -496,14 +496,10 @@ declare const DSX_PALETTE: {
496
496
  type DsxColorToken = keyof typeof DSX_PALETTE;
497
497
  type DsxButtonConfig = {
498
498
  label: string;
499
- /** Nombre de icono para Material Symbols (fallback cuando no se define primeIcon). */
500
499
  icon: string;
501
500
  tooltip: string;
502
- /** Token de la paleta corporativa que determina el color del botón. */
503
501
  colorToken: DsxColorToken;
504
- /** Clase de PrimeIcons para renderizado por `p-button` ([icon]). */
505
502
  primeIcon?: string;
506
- /** Si es `true`, el botón se renderiza con contorno en lugar de relleno sólido. */
507
503
  outlined?: boolean;
508
504
  };
509
505
  declare class DsxButtonComponent {
@@ -511,6 +507,8 @@ declare class DsxButtonComponent {
511
507
  private renderCount;
512
508
  private readonly _paramService;
513
509
  private readonly _router;
510
+ private readonly _isDev;
511
+ private lastValidationState;
514
512
  size: _angular_core.InputSignal<"small" | "large" | undefined>;
515
513
  private readonly _environment;
516
514
  constructor();
@@ -518,17 +516,7 @@ declare class DsxButtonComponent {
518
516
  type: _angular_core.InputSignal<ActionType>;
519
517
  disabled: _angular_core.InputSignal<boolean>;
520
518
  routerLink: _angular_core.InputSignal<string | any[] | undefined>;
521
- /**
522
- * Ruta de navegación simplificada. La `/` inicial se agrega automáticamente.
523
- * Cada segmento solo admite: letras, números, `-`, `_`, `.` y `:` (params de ruta).
524
- * Ejemplos válidos: `'home'`, `'container/nuevo'`, `'item/123'`
525
- * Ejemplos inválidos: `'item/*'`, `'item?foo=bar'`, `'item/../other'`
526
- * Para rutas dinámicas complejas usa `[routerLink]` directamente.
527
- */
528
519
  routerPath: _angular_core.InputSignal<string | undefined>;
529
- /** Ancho del botón. Usa `rem` para que escale con la preferencia de fuente del usuario.
530
- * Ejemplo: `'8rem'`, `'12rem'`. Valor por defecto: `'9rem'`.
531
- */
532
520
  width: _angular_core.InputSignal<string>;
533
521
  iconOnly: _angular_core.InputSignal<boolean>;
534
522
  iconOnlyWidth: _angular_core.InputSignal<string>;
@@ -544,24 +532,12 @@ declare class DsxButtonComponent {
544
532
  tooltipOverride: _angular_core.InputSignal<string | undefined>;
545
533
  iconOverride: _angular_core.InputSignal<string | undefined>;
546
534
  primeIconOverride: _angular_core.InputSignal<string | undefined>;
547
- /** Permite personalizar el color usando únicamente tokens de la paleta DSX. */
548
- colorOverride: _angular_core.InputSignal<"view" | "success" | "info" | "danger" | "details" | "warning" | "return" | "restore" | "download" | "import" | "caution" | "primary" | "neutral" | "excel" | "magenta" | "cyan" | "olive" | "brown" | "slate" | undefined>;
549
- /** Permite forzar estilo outlined o sólido por instancia. */
535
+ colorOverride: _angular_core.InputSignal<"view" | "success" | "info" | "danger" | "details" | "return" | "restore" | "download" | "import" | "warning" | "caution" | "primary" | "neutral" | "excel" | "magenta" | "cyan" | "olive" | "brown" | "slate" | undefined>;
550
536
  outlinedOverride: _angular_core.InputSignal<boolean | undefined>;
551
- /**
552
- * Override por instancia para el botón `validate`.
553
- * Tiene prioridad sobre `environment.showValidateButton`.
554
- */
555
537
  showValidateButtonOverride: _angular_core.InputSignal<boolean | undefined>;
556
- /**
557
- * Override por instancia para el botón `restore`.
558
- * Tiene prioridad sobre `environment.showRestoreButton`.
559
- */
560
538
  showRestoreButtonOverride: _angular_core.InputSignal<boolean | undefined>;
561
539
  action: _angular_core.OutputEmitterRef<void>;
562
- /** Valida y normaliza `routerPath`: agrega `/` inicial y rechaza caracteres inválidos. */
563
540
  readonly resolvedRouterLink: _angular_core.Signal<string | undefined>;
564
- /** Prioriza routerPath (validado) sobre routerLink (libre). */
565
541
  readonly effectiveRouterLink: _angular_core.Signal<string | any[] | undefined>;
566
542
  readonly buttonStyleComputed: _angular_core.Signal<{
567
543
  width: string;
@@ -591,13 +567,12 @@ declare class DsxButtonComponent {
591
567
  private getIdFromNavigationTarget;
592
568
  private parseFiniteNumber;
593
569
  private getNormalizedId;
594
- private hasExplicitIdInput;
595
570
  private navigateToTarget;
596
571
  private passesParameterValidation;
572
+ private logFullState;
573
+ private logValidationIssues;
597
574
  private log;
598
575
  private warn;
599
- private time;
600
- private timeEnd;
601
576
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsxButtonComponent, never>;
602
577
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsxButtonComponent, "dsx-button", never, { "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerPath": { "alias": "routerPath"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "iconOnlyWidth": { "alias": "iconOnlyWidth"; "required": false; "isSignal": true; }; "raised": { "alias": "raised"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "parameterName": { "alias": "parameterName"; "required": false; "isSignal": true; }; "parameterExpectedValue": { "alias": "parameterExpectedValue"; "required": false; "isSignal": true; }; "parameterIndex": { "alias": "parameterIndex"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "requireIdInput": { "alias": "requireIdInput"; "required": false; "isSignal": true; }; "requiresIdGreaterThanZero": { "alias": "requiresIdGreaterThanZero"; "required": false; "isSignal": true; }; "labelOverride": { "alias": "labelOverride"; "required": false; "isSignal": true; }; "tooltipOverride": { "alias": "tooltipOverride"; "required": false; "isSignal": true; }; "iconOverride": { "alias": "iconOverride"; "required": false; "isSignal": true; }; "primeIconOverride": { "alias": "primeIconOverride"; "required": false; "isSignal": true; }; "colorOverride": { "alias": "colorOverride"; "required": false; "isSignal": true; }; "outlinedOverride": { "alias": "outlinedOverride"; "required": false; "isSignal": true; }; "showValidateButtonOverride": { "alias": "showValidateButtonOverride"; "required": false; "isSignal": true; }; "showRestoreButtonOverride": { "alias": "showRestoreButtonOverride"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
603
578
  }
@@ -628,37 +603,6 @@ declare class IconDsxComponent {
628
603
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconDsxComponent, "icon-dsx", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
629
604
  }
630
605
 
631
- declare class DsxAutocomplete<T extends Record<string, any>> implements ControlValueAccessor {
632
- datasource: _angular_core.InputSignal<T[]>;
633
- optionLabel: _angular_core.InputSignal<keyof T & string>;
634
- label: _angular_core.InputSignal<string>;
635
- delay: _angular_core.InputSignal<number>;
636
- idKey: _angular_core.InputSignal<keyof T & string>;
637
- dataKey: _angular_core.InputSignal<"" | (keyof T & string)>;
638
- permitirCrear: _angular_core.InputSignal<boolean>;
639
- debug: _angular_core.InputSignal<boolean>;
640
- factoryNuevoRegistro: _angular_core.InputSignal<((valor: string) => T) | undefined>;
641
- dataFiltrada: _angular_core.WritableSignal<T[]>;
642
- value: T[];
643
- onChange: any;
644
- onTouched: any;
645
- disabled: boolean;
646
- private lastLogTime;
647
- private timeoutLimpieza;
648
- private logDebug;
649
- searchRequisitos(event: AutoCompleteCompleteEvent$1): void;
650
- evaluarYAgregar(event: any): void;
651
- onHide(): void;
652
- onShow(): void;
653
- private actualizarFormulario;
654
- writeValue(value: T[]): void;
655
- registerOnChange(fn: any): void;
656
- registerOnTouched(fn: any): void;
657
- setDisabledState?(isDisabled: boolean): void;
658
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsxAutocomplete<any>, never>;
659
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsxAutocomplete<any>, "dsx-autocomplete", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "idKey": { "alias": "idKey"; "required": true; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "permitirCrear": { "alias": "permitirCrear"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "factoryNuevoRegistro": { "alias": "factoryNuevoRegistro"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
660
- }
661
-
662
606
  declare class FileComponent implements ControlValueAccessor, Validator, AfterViewInit, OnDestroy {
663
607
  existingFile: _angular_core.InputSignal<File | null>;
664
608
  existingFileName: _angular_core.InputSignal<string | null>;
@@ -2310,6 +2254,76 @@ declare class DsxInputCurrency implements ControlValueAccessor, AfterViewInit {
2310
2254
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsxInputCurrency, "dsx-input-currency", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "selectAllOnFocus": { "alias": "selectAllOnFocus"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "showError": { "alias": "showError"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "focus": "focus"; "blur": "blur"; }, never, never, true, never>;
2311
2255
  }
2312
2256
 
2257
+ declare class DsxAutocomplete<T extends Record<string, any>> implements ControlValueAccessor, AfterViewInit, OnInit {
2258
+ private injector;
2259
+ private cdr;
2260
+ private ngControl;
2261
+ private readonly isDevModeInternal;
2262
+ private controlSignal;
2263
+ private pendingIdsInternal;
2264
+ private pendingValue;
2265
+ private pendingLogs;
2266
+ datasource: _angular_core.InputSignal<T[]>;
2267
+ optionLabel: _angular_core.InputSignal<keyof T & string>;
2268
+ label: _angular_core.InputSignal<string>;
2269
+ delay: _angular_core.InputSignal<number>;
2270
+ idKey: _angular_core.InputSignal<keyof T & string>;
2271
+ dataKey: _angular_core.InputSignal<"" | (keyof T & string)>;
2272
+ permitirCrear: _angular_core.InputSignal<boolean>;
2273
+ isMultiple: _angular_core.InputSignal<boolean>;
2274
+ debug: _angular_core.InputSignal<boolean>;
2275
+ factoryNuevoRegistro: _angular_core.InputSignal<((valor: string) => T) | undefined>;
2276
+ returnID: _angular_core.InputSignal<boolean>;
2277
+ readonly showError: _angular_core.InputSignal<boolean>;
2278
+ readonly errorControl: _angular_core.Signal<_angular_forms.AbstractControl<any, any, any> | null>;
2279
+ get isDevMode(): boolean;
2280
+ get pendingIds(): number[];
2281
+ get pendingLogsInfo(): string;
2282
+ get formValue(): any;
2283
+ get controlName(): string | null;
2284
+ get controlValid(): boolean;
2285
+ get controlTouched(): boolean;
2286
+ get controlDirty(): boolean;
2287
+ get controlErrors(): any;
2288
+ get controlValue(): any;
2289
+ get controlStatus(): string;
2290
+ dataFiltrada: _angular_core.WritableSignal<T[]>;
2291
+ value: T[] | T | null;
2292
+ onChange: any;
2293
+ onTouched: any;
2294
+ disabled: boolean;
2295
+ private lastLogTime;
2296
+ private timeoutLimpieza;
2297
+ private initialValueSet;
2298
+ constructor();
2299
+ ngOnInit(): void;
2300
+ ngAfterViewInit(): void;
2301
+ private shouldDebug;
2302
+ private logDebug;
2303
+ private logPending;
2304
+ private procesarIdsPendientes;
2305
+ searchRequisitos(event: AutoCompleteCompleteEvent$1): void;
2306
+ private normalizarTexto;
2307
+ evaluarYAgregar(event: any): void;
2308
+ clearSelection(): void;
2309
+ onNgModelChange(selectedItems: T[] | T | null): void;
2310
+ private getOutputValue;
2311
+ private obtenerArrayValue;
2312
+ getValueLength(): number;
2313
+ getValueDisplay(type: 'id' | 'nombre'): string;
2314
+ onHide(): void;
2315
+ onShow(): void;
2316
+ private actualizarFormulario;
2317
+ private getFormControlName;
2318
+ writeValue(value: T[] | T | number[] | number | null | undefined): void;
2319
+ forceReload(): void;
2320
+ registerOnChange(fn: any): void;
2321
+ registerOnTouched(fn: any): void;
2322
+ setDisabledState?(isDisabled: boolean): void;
2323
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsxAutocomplete<any>, never>;
2324
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsxAutocomplete<any>, "dsx-autocomplete", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "idKey": { "alias": "idKey"; "required": true; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "permitirCrear": { "alias": "permitirCrear"; "required": false; "isSignal": true; }; "isMultiple": { "alias": "isMultiple"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "factoryNuevoRegistro": { "alias": "factoryNuevoRegistro"; "required": false; "isSignal": true; }; "returnID": { "alias": "returnID"; "required": false; "isSignal": true; }; "showError": { "alias": "showError"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2325
+ }
2326
+
2313
2327
  declare class DsxSelect implements OnDestroy {
2314
2328
  private injector;
2315
2329
  private ngControl;
Binary file