@litigiovirtual/ius-design-components 1.0.288 → 1.0.290

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,20 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnDestroy, ViewContainerRef } from '@angular/core';
2
+ import { Overlay } from '@angular/cdk/overlay';
2
3
  import * as i0 from "@angular/core";
3
- export declare class CustomDropdownComponent {
4
+ export declare class CustomDropdownComponent implements OnDestroy {
5
+ private readonly _el;
6
+ private readonly _overlay;
7
+ private readonly _vcr;
4
8
  isFocused: boolean;
5
9
  isAlertText: boolean;
6
- showList: boolean;
7
10
  hasClickedInside: boolean;
8
11
  selected: boolean;
12
+ private listPanel;
13
+ private _overlayRef;
14
+ private _scrollListener;
15
+ private _debounceTimer;
16
+ private _scrolledEndCooldown;
17
+ get showList(): boolean;
9
18
  componentId: string;
10
19
  required: boolean;
11
20
  disabled: boolean;
@@ -21,12 +30,20 @@ export declare class CustomDropdownComponent {
21
30
  textBtnAdd: string;
22
31
  textInput: string;
23
32
  element: string;
33
+ debounceMs: number;
34
+ enableInfiniteScroll: boolean;
35
+ loading: boolean;
24
36
  onChangesValueEvent: EventEmitter<any>;
25
37
  onEnterKey: EventEmitter<string>;
26
38
  onAddElement: EventEmitter<string>;
27
39
  onBlurEvent: EventEmitter<void>;
40
+ onFocusEvent: EventEmitter<void>;
41
+ onScrolledToEnd: EventEmitter<void>;
42
+ constructor(_el: ElementRef, _overlay: Overlay, _vcr: ViewContainerRef);
28
43
  onClickOutside(event: Event): void;
44
+ closeList(event?: Event): void;
29
45
  onInput(): void;
46
+ onListScroll(event: Event): void;
30
47
  onFocus(): void;
31
48
  onBlur(): void;
32
49
  onKeyPress(event: KeyboardEvent): void;
@@ -35,6 +52,9 @@ export declare class CustomDropdownComponent {
35
52
  addElementText(): void;
36
53
  addText(): void;
37
54
  onSelectOption(): void;
55
+ private _openPanel;
56
+ private _closePanel;
57
+ ngOnDestroy(): void;
38
58
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomDropdownComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomDropdownComponent, "ius-custom-dropdown", never, { "componentId": { "alias": "componentId"; "required": true; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showHelpText": { "alias": "showHelpText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "labelSuperior": { "alias": "labelSuperior"; "required": false; }; "labelInferior": { "alias": "labelInferior"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "labelInput": { "alias": "labelInput"; "required": false; }; "iconInput": { "alias": "iconInput"; "required": false; }; "placeholderAddText": { "alias": "placeholderAddText"; "required": false; }; "iconBtnAdd": { "alias": "iconBtnAdd"; "required": false; }; "textBtnAdd": { "alias": "textBtnAdd"; "required": false; }; "textInput": { "alias": "textInput"; "required": false; }; "element": { "alias": "element"; "required": false; }; }, { "onChangesValueEvent": "onChangesValueEvent"; "onEnterKey": "onEnterKey"; "onAddElement": "onAddElement"; "onBlurEvent": "onBlurEvent"; }, never, ["*"], true, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomDropdownComponent, "ius-custom-dropdown", never, { "componentId": { "alias": "componentId"; "required": true; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showHelpText": { "alias": "showHelpText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "labelSuperior": { "alias": "labelSuperior"; "required": false; }; "labelInferior": { "alias": "labelInferior"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "labelInput": { "alias": "labelInput"; "required": false; }; "iconInput": { "alias": "iconInput"; "required": false; }; "placeholderAddText": { "alias": "placeholderAddText"; "required": false; }; "iconBtnAdd": { "alias": "iconBtnAdd"; "required": false; }; "textBtnAdd": { "alias": "textBtnAdd"; "required": false; }; "textInput": { "alias": "textInput"; "required": false; }; "element": { "alias": "element"; "required": false; }; "debounceMs": { "alias": "debounceMs"; "required": false; }; "enableInfiniteScroll": { "alias": "enableInfiniteScroll"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "onChangesValueEvent": "onChangesValueEvent"; "onEnterKey": "onEnterKey"; "onAddElement": "onAddElement"; "onBlurEvent": "onBlurEvent"; "onFocusEvent": "onFocusEvent"; "onScrolledToEnd": "onScrolledToEnd"; }, never, ["*"], true, never>;
40
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@litigiovirtual/ius-design-components",
3
- "version": "1.0.288",
3
+ "version": "1.0.290",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": ">=17.0.0 <20.0.0",
6
6
  "@angular/common": ">=17.0.0 <20.0.0",
@@ -23,12 +23,17 @@ export declare class ListFilter<T> {
23
23
  private readonly match;
24
24
  private _term;
25
25
  private _reopened;
26
+ private _hasCache;
27
+ private _cache;
28
+ private _cacheSrc;
29
+ private _cacheTerm;
30
+ private _cacheReopened;
26
31
  /**
27
32
  * @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).
28
33
  * @param match Predicado de coincidencia. `term` llega ya en minúsculas.
29
34
  */
30
35
  constructor(source: () => T[], match: (item: T, term: string) => boolean);
31
- /** Lista a renderizar en el `@for`. */
36
+ /** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */
32
37
  get visible(): T[];
33
38
  /** Término de filtro actual (sin normalizar). */
34
39
  get term(): string;