@m1z23r/ngx-ui 1.1.32 → 1.1.34

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m1z23r/ngx-ui",
3
- "version": "1.1.32",
3
+ "version": "1.1.34",
4
4
  "description": "A modern Angular UI component library with themeable components and responsive layout system",
5
5
  "license": "MIT",
6
6
  "author": "m1z23r",
@@ -811,8 +811,26 @@ declare class OptionComponent<T = unknown> {
811
811
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OptionComponent<any>, "ui-option", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "deleteClicked": "deleteClicked"; }, never, ["*"], true, never>;
812
812
  }
813
813
 
814
+ interface OptionTemplateContext<T> {
815
+ $implicit: T;
816
+ option: T;
817
+ selected: boolean;
818
+ disabled: boolean;
819
+ }
820
+ declare class OptionTemplateDirective<T = unknown> {
821
+ readonly templateRef: TemplateRef<any>;
822
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OptionTemplateDirective<any>, never>;
823
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OptionTemplateDirective<any>, "[uiOptionTemplate]", never, {}, {}, never, never, true, never>;
824
+ }
825
+
814
826
  type SelectVariant = 'default' | 'outlined' | 'filled';
815
827
  type SelectSize = 'sm' | 'md' | 'lg';
828
+ interface AsyncSelectOption<T = unknown> {
829
+ value: T;
830
+ label: string;
831
+ disabled?: boolean;
832
+ }
833
+ type AsyncSearchFn<T> = (query: string) => Promise<AsyncSelectOption<T>[]>;
816
834
  declare class SelectComponent<T = unknown> implements AfterContentInit, OnDestroy {
817
835
  readonly variant: _angular_core.InputSignal<SelectVariant>;
818
836
  readonly size: _angular_core.InputSignal<SelectSize>;
@@ -827,18 +845,27 @@ declare class SelectComponent<T = unknown> implements AfterContentInit, OnDestro
827
845
  readonly creatable: _angular_core.InputSignal<boolean>;
828
846
  readonly deletable: _angular_core.InputSignal<boolean>;
829
847
  readonly selectable: _angular_core.InputSignal<boolean>;
848
+ readonly asyncSearch: _angular_core.InputSignal<AsyncSearchFn<T> | null>;
849
+ readonly debounceTime: _angular_core.InputSignal<number>;
850
+ readonly minSearchLength: _angular_core.InputSignal<number>;
830
851
  readonly value: _angular_core.ModelSignal<T | T[] | null>;
831
852
  readonly opened: _angular_core.OutputEmitterRef<void>;
832
853
  readonly closed: _angular_core.OutputEmitterRef<void>;
833
854
  readonly created: _angular_core.OutputEmitterRef<string>;
834
855
  readonly deleted: _angular_core.OutputEmitterRef<T>;
835
856
  readonly options: _angular_core.Signal<readonly OptionComponent<any>[]>;
857
+ readonly optionTemplate: _angular_core.Signal<OptionTemplateDirective<any> | undefined>;
836
858
  triggerRef: ElementRef<HTMLElement>;
837
859
  dropdownRef: ElementRef<HTMLElement>;
838
860
  searchInputRef?: ElementRef<HTMLInputElement>;
839
861
  readonly isOpen: _angular_core.WritableSignal<boolean>;
840
862
  readonly searchQuery: _angular_core.WritableSignal<string>;
841
863
  readonly focusedIndex: _angular_core.WritableSignal<number>;
864
+ readonly asyncLoading: _angular_core.WritableSignal<boolean>;
865
+ readonly asyncOptions: _angular_core.WritableSignal<AsyncSelectOption<T>[]>;
866
+ readonly asyncError: _angular_core.WritableSignal<string | null>;
867
+ private asyncSearchAbortController;
868
+ private debounceTimer;
842
869
  private readonly elementRef;
843
870
  private positionCleanup;
844
871
  private readonly initializedOptions;
@@ -850,41 +877,39 @@ declare class SelectComponent<T = unknown> implements AfterContentInit, OnDestro
850
877
  protected readonly hasValue: _angular_core.Signal<boolean>;
851
878
  protected readonly displayValue: _angular_core.Signal<string>;
852
879
  protected readonly inputPlaceholder: _angular_core.Signal<string>;
880
+ protected readonly isAsyncMode: _angular_core.Signal<boolean>;
853
881
  protected readonly visibleOptions: _angular_core.Signal<OptionComponent<any>[]>;
882
+ protected readonly visibleAsyncOptions: _angular_core.Signal<AsyncSelectOption<T>[]>;
854
883
  protected readonly exactMatchExists: _angular_core.Signal<boolean>;
884
+ protected readonly totalVisibleCount: _angular_core.Signal<number>;
855
885
  onDocumentClick(event: MouseEvent): void;
856
886
  toggle(): void;
857
887
  open(): void;
858
888
  close(): void;
889
+ private cancelAsyncSearch;
859
890
  selectOption(option: OptionComponent<T>, event?: MouseEvent): void;
860
891
  clear(event: MouseEvent): void;
892
+ selectAsyncOption(option: AsyncSelectOption<T>, event?: MouseEvent): void;
893
+ isAsyncOptionSelected(option: AsyncSelectOption<T>): boolean;
861
894
  deleteOption(optionValue: T): void;
862
895
  protected handleTriggerKeydown(event: KeyboardEvent): void;
863
896
  protected handleSearchInputKeydown(event: KeyboardEvent): void;
897
+ private selectFocusedOption;
864
898
  protected onSearchInput(value: string): void;
899
+ private triggerAsyncSearch;
900
+ private executeAsyncSearch;
865
901
  protected handleCreate(): void;
866
902
  private focusNext;
867
903
  private focusPrevious;
868
904
  private scrollToFocused;
905
+ private scrollToFocusedAsync;
869
906
  private portalDropdown;
870
907
  private unportalDropdown;
871
908
  private updateDropdownPosition;
872
909
  private addPositionListeners;
873
910
  private removePositionListeners;
874
911
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent<any>, never>;
875
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent<any>, "ui-select", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "creatable": { "alias": "creatable"; "required": false; "isSignal": true; }; "deletable": { "alias": "deletable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "opened": "opened"; "closed": "closed"; "created": "created"; "deleted": "deleted"; }, ["options"], ["*"], true, never>;
876
- }
877
-
878
- interface OptionTemplateContext<T> {
879
- $implicit: T;
880
- option: T;
881
- selected: boolean;
882
- disabled: boolean;
883
- }
884
- declare class OptionTemplateDirective<T = unknown> {
885
- readonly templateRef: TemplateRef<any>;
886
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OptionTemplateDirective<any>, never>;
887
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OptionTemplateDirective<any>, "[uiOptionTemplate]", never, {}, {}, never, never, true, never>;
912
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent<any>, "ui-select", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "creatable": { "alias": "creatable"; "required": false; "isSignal": true; }; "deletable": { "alias": "deletable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "asyncSearch": { "alias": "asyncSearch"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "minSearchLength": { "alias": "minSearchLength"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "opened": "opened"; "closed": "closed"; "created": "created"; "deleted": "deleted"; }, ["options", "optionTemplate"], ["*"], true, never>;
888
913
  }
889
914
 
890
915
  declare class DropdownTriggerDirective {
@@ -2012,4 +2037,4 @@ declare class TemplateInputComponent implements OnDestroy {
2012
2037
  }
2013
2038
 
2014
2039
  export { AccordionComponent, AccordionHeaderDirective, AccordionItemComponent, AlertComponent, BadgeComponent, ButtonComponent, CardComponent, CellTemplateDirective, CellValuePipe, CheckboxComponent, ChipInputComponent, ChipTemplateDirective, CircularProgressComponent, ContentComponent, ContextMenuDirective, DIALOG_DATA, DIALOG_REF, DatepickerComponent, DatetimepickerComponent, DialogRef, DialogService, DropdownComponent, DropdownDividerComponent, DropdownItemComponent, DropdownTriggerDirective, DynamicTabsComponent, FileChooserComponent, FilePreviewPipe, FileSizePipe, FooterComponent, InputComponent, LOADABLE, LoadingDirective, LoadingService, ModalComponent, NavbarComponent, OptionComponent, OptionTemplateDirective, PaginationComponent, ProgressComponent, RadioComponent, RadioGroupComponent, SelectComponent, ShellComponent, SidebarComponent, SidebarService, SidebarToggleComponent, SliderComponent, SpinnerComponent, SplitComponent, SplitPaneComponent, SwitchComponent, TAB_DATA, TAB_REF, TREE_HOST, TabActivePipe, TabComponent, TabIconDirective, TabRef, TableComponent, TabsComponent, TabsService, TemplateInputComponent, TextareaComponent, TimepickerComponent, ToastRef, ToastService, TooltipDirective, TreeComponent, TreeNodeComponent, Validators, VariablePopoverDirective };
2015
- export type { AccordionVariant, AlertVariant, BadgeSize, BadgeVariant, ButtonColor, ButtonSize, ButtonVariant, CardPadding, CardVariant, CheckboxSize, ChipInputSize, ChipInputVariant, ChipTemplateContext, CircularProgressSize, CircularProgressVariant, DateRange, DatepickerSize, DatepickerVariant, DatepickerView, DatetimepickerSize, DatetimepickerVariant, DatetimepickerView, DialogConfig, DropdownAlign, DropdownPosition, DynamicTabConfig, DynamicTabsSize, DynamicTabsVariant, FileChooserSize, FileChooserVariant, InputType, Loadable, ModalSize, OptionTemplateContext, PaginationSize, ProgressSize, ProgressVariant, RadioGroupOrientation, RadioGroupSize, RadioGroupVariant, SelectSize, SelectVariant, ShellVariant, SliderSize, SortDirection, SortState, SpinnerSize, SpinnerVariant, SplitGutterSize, SplitOrientation, SplitSizeChange, SwitchSize, TabRenderMode, TableColumn, TabsSize, TabsVariant, TemplateVariable, TextareaResize, TimeFormat, TimeValue, TimepickerSize, TimepickerVariant, ToastConfig, ToastPosition, ToastVariant, TooltipPosition, TreeDropPosition, TreeNode, TreeNodeDropEvent, ValidationError, ValidationState, ValidatorFn, VariablePopoverContext, VariableState };
2040
+ export type { AccordionVariant, AlertVariant, AsyncSearchFn, AsyncSelectOption, BadgeSize, BadgeVariant, ButtonColor, ButtonSize, ButtonVariant, CardPadding, CardVariant, CheckboxSize, ChipInputSize, ChipInputVariant, ChipTemplateContext, CircularProgressSize, CircularProgressVariant, DateRange, DatepickerSize, DatepickerVariant, DatepickerView, DatetimepickerSize, DatetimepickerVariant, DatetimepickerView, DialogConfig, DropdownAlign, DropdownPosition, DynamicTabConfig, DynamicTabsSize, DynamicTabsVariant, FileChooserSize, FileChooserVariant, InputType, Loadable, ModalSize, OptionTemplateContext, PaginationSize, ProgressSize, ProgressVariant, RadioGroupOrientation, RadioGroupSize, RadioGroupVariant, SelectSize, SelectVariant, ShellVariant, SliderSize, SortDirection, SortState, SpinnerSize, SpinnerVariant, SplitGutterSize, SplitOrientation, SplitSizeChange, SwitchSize, TabRenderMode, TableColumn, TabsSize, TabsVariant, TemplateVariable, TextareaResize, TimeFormat, TimeValue, TimepickerSize, TimepickerVariant, ToastConfig, ToastPosition, ToastVariant, TooltipPosition, TreeDropPosition, TreeNode, TreeNodeDropEvent, ValidationError, ValidationState, ValidatorFn, VariablePopoverContext, VariableState };