@alauda/ui 6.5.6 → 6.5.7-beta.0

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.
Files changed (31) hide show
  1. package/esm2020/autocomplete/autocomplete.component.mjs +2 -2
  2. package/esm2020/paginator/paginator.component.mjs +2 -2
  3. package/esm2020/scrolling/virtual-for-of.directive.mjs +14 -2
  4. package/esm2020/select/base-select.mjs +185 -88
  5. package/esm2020/select/index.mjs +2 -2
  6. package/esm2020/select/multi-select/multi-select.component.mjs +26 -47
  7. package/esm2020/select/option-group/option-group.component.mjs +13 -6
  8. package/esm2020/select/option-item/option-item.component.mjs +104 -0
  9. package/esm2020/select/option.component.mjs +46 -0
  10. package/esm2020/select/select.component.mjs +22 -18
  11. package/esm2020/select/select.module.mjs +14 -3
  12. package/esm2020/select/select.types.mjs +1 -1
  13. package/esm2020/select/validators.mjs +7 -4
  14. package/esm2020/tooltip/base-tooltip.mjs +5 -1
  15. package/esm2020/tree-select/tree-select.component.mjs +3 -3
  16. package/fesm2015/alauda-ui.mjs +1005 -864
  17. package/fesm2015/alauda-ui.mjs.map +1 -1
  18. package/fesm2020/alauda-ui.mjs +1003 -866
  19. package/fesm2020/alauda-ui.mjs.map +1 -1
  20. package/package.json +1 -1
  21. package/select/base-select.d.ts +55 -27
  22. package/select/index.d.ts +1 -1
  23. package/select/multi-select/multi-select.component.d.ts +3 -5
  24. package/select/option-group/option-group.component.d.ts +4 -3
  25. package/select/option-item/option-item.component.d.ts +41 -0
  26. package/select/option.component.d.ts +16 -0
  27. package/select/select.component.d.ts +6 -6
  28. package/select/select.module.d.ts +16 -13
  29. package/select/select.types.d.ts +8 -2
  30. package/esm2020/select/option/option.component.mjs +0 -112
  31. package/select/option/option.component.d.ts +0 -45
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda/ui",
3
- "version": "6.5.6",
3
+ "version": "6.5.7-beta.0",
4
4
  "description": "Angular UI components by Alauda Frontend Team.",
5
5
  "repository": "git+https://github.com/alauda/alauda-ui.git",
6
6
  "author": "Alauda Frontend",
@@ -1,65 +1,86 @@
1
1
  import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
2
2
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
3
3
  import { CommonFormControl } from '../form';
4
+ import { VirtualScrollViewportComponent } from '../scrolling/virtual-scroll-viewport.component';
4
5
  import { TooltipDirective } from '../tooltip';
5
6
  import { ComponentSize } from '../types';
6
7
  import { OptionContentDirective } from './helper-directives';
7
- import { OptionComponent } from './option/option.component';
8
- import { OptionFilterFn, SelectFilterOption, TrackFn } from './select.types';
8
+ import { OptionItemComponent } from './option-item/option-item.component';
9
+ import { OptionComponent } from './option.component';
10
+ import { CreateFn, DisplayOption, OptionFilterFn, SelectFilterOption, TrackFn } from './select.types';
9
11
  import * as i0 from "@angular/core";
12
+ export declare const itemSizeMap: {
13
+ large: number;
14
+ medium: number;
15
+ small: number;
16
+ mini: number;
17
+ "": number;
18
+ };
10
19
  export declare abstract class BaseSelect<T, V = T> extends CommonFormControl<V> implements AfterContentInit, AfterViewInit, OnDestroy {
11
20
  get size(): ComponentSize;
12
21
  set size(val: ComponentSize);
22
+ get options(): Array<SelectFilterOption<T>>;
23
+ set options(val: Array<SelectFilterOption<T>>);
13
24
  get filterable(): boolean | '';
14
25
  set filterable(val: boolean | '');
15
26
  get clearable(): boolean | '';
16
27
  set clearable(val: boolean | '');
28
+ get allowCreate(): boolean | '';
29
+ set allowCreate(val: boolean | '');
17
30
  filterFn: OptionFilterFn<T>;
18
31
  trackFn: TrackFn<T>;
19
32
  labelFn?: (value: T) => string;
20
- get allowCreate(): boolean | '';
21
- set allowCreate(val: boolean | '');
22
- get allOptions(): OptionComponent<T>[];
23
- get opened(): boolean;
24
- get inputReadonly(): boolean;
25
- get filterString(): string;
26
- set filterString(val: string);
27
33
  loading: boolean;
28
34
  placeholder: string;
29
35
  defaultFirstOption: boolean;
30
36
  lazy: boolean;
37
+ useVirtual: boolean;
38
+ itemSize: number;
39
+ maxItemLength: number;
40
+ createFn: CreateFn<T>;
31
41
  filterChange: EventEmitter<string>;
32
42
  show: EventEmitter<void>;
33
43
  hide: EventEmitter<void>;
34
44
  protected selectRef: ElementRef<HTMLElement>;
35
45
  protected tooltipRef: TooltipDirective;
36
46
  protected optionListRef: ElementRef<HTMLDivElement>;
37
- protected inputtingOption: OptionComponent<T>;
47
+ virtualScrollViewport: VirtualScrollViewportComponent;
48
+ contentOptionItems: QueryList<ElementRef>;
38
49
  protected optionContent?: OptionContentDirective;
39
- customOptions: QueryList<OptionComponent<T>>;
40
- contentOptions: QueryList<OptionComponent<T>>;
50
+ contentTplOptions: QueryList<OptionComponent<T>>;
51
+ get opened(): boolean;
52
+ get inputReadonly(): boolean;
53
+ get _itemSize(): number;
54
+ get filterString(): string;
55
+ set filterString(val: string);
41
56
  isTemplateRef: (label: any) => label is import("@angular/core").TemplateRef<unknown>;
42
57
  isMulti: boolean;
43
- /**
44
- * Utility field to make sure the users always see the value as type array
45
- */
46
- abstract readonly values$: Observable<T[]>;
47
- allOptions$: Observable<Array<OptionComponent<T>>>;
48
- protected focusedOption: OptionComponent<T>;
58
+ protected scrolledIndex: number;
49
59
  private _size;
60
+ private _options;
50
61
  private _filterable;
51
62
  private _clearable;
52
63
  private _allowCreate;
53
64
  private _filterString;
65
+ selectableOptions: Array<DisplayOption<T>>;
66
+ /**
67
+ * Utility field to make sure the users always see the value as type array
68
+ */
69
+ abstract readonly values$: Observable<T[]>;
70
+ protected contentOptions$: Observable<Array<DisplayOption<T>>>;
71
+ protected customOptions$: Observable<Array<DisplayOption<T>>>;
72
+ protected inputtingOption$: Observable<DisplayOption<T>>;
73
+ containerWidth: string;
54
74
  protected destroy$$: Subject<void>;
55
75
  protected size$$: BehaviorSubject<ComponentSize>;
76
+ protected options$$: BehaviorSubject<DisplayOption<T>[]>;
56
77
  private readonly filterString$$;
57
78
  size$: Observable<ComponentSize>;
79
+ options$: Observable<DisplayOption<T>[]>;
58
80
  filterString$: Observable<string>;
59
- hasVisibleOption$: Observable<boolean>;
60
- hasMatchedOption$: Observable<boolean>;
61
- customCreatedOptions$: Observable<Array<SelectFilterOption<T>>>;
62
- containerWidth: string;
81
+ allOptions$: BehaviorSubject<DisplayOption<T>[]>;
82
+ filterOptions$: BehaviorSubject<DisplayOption<T>[]>;
83
+ focused$: BehaviorSubject<DisplayOption<T>>;
63
84
  ngAfterContentInit(): void;
64
85
  ngAfterViewInit(): void;
65
86
  ngOnDestroy(): void;
@@ -69,17 +90,24 @@ export declare abstract class BaseSelect<T, V = T> extends CommonFormControl<V>
69
90
  onHideOptions(): void;
70
91
  onInput(event: Event): void;
71
92
  onKeyDown(event: KeyboardEvent): void;
72
- onOptionClick(option: OptionComponent<T>): void;
93
+ onOptionClick(option: OptionItemComponent<T>): void;
73
94
  protected autoFocusFirstOption(): void;
74
95
  protected focusOptionDir(dir: 'down' | 'up'): void;
75
- protected resetFocusedOption(focusedOption?: OptionComponent<T>): void;
76
- protected scrollToOption(option: OptionComponent<T>): void;
96
+ isFocus: (value: DisplayOption<T>['value'], focusOption?: DisplayOption<T>) => boolean;
97
+ protected resetFocusedOption(focusedOption?: DisplayOption<T>): void;
98
+ onScrolledIndexChange(index: number): void;
99
+ protected scrollToOption(option: DisplayOption<T>): void;
77
100
  protected selectFocusedOption(): void;
101
+ getSelected(value: DisplayOption<T>['value'], values: Array<DisplayOption<T>['value']>): boolean;
102
+ focus(option: DisplayOption<T>): void;
103
+ blur(): void;
104
+ getLabelByValue(value: T): string;
78
105
  protected escSelect(): void;
79
106
  private _trackFn;
107
+ private _createFn;
80
108
  private _filterFn;
81
- abstract selectOption(option: OptionComponent<T>): void;
109
+ abstract selectOption(option: DisplayOption<T>): void;
82
110
  abstract clearValue(event: Event): void;
83
111
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseSelect<any, any>, never>;
84
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSelect<any, any>, never, never, { "size": "size"; "filterable": "filterable"; "clearable": "clearable"; "filterFn": "filterFn"; "trackFn": "trackFn"; "labelFn": "labelFn"; "allowCreate": "allowCreate"; "loading": "loading"; "placeholder": "placeholder"; "defaultFirstOption": "defaultFirstOption"; "lazy": "lazy"; }, { "filterChange": "filterChange"; "show": "show"; "hide": "hide"; }, ["optionContent", "contentOptions"]>;
112
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSelect<any, any>, never, never, { "size": "size"; "options": "options"; "filterable": "filterable"; "clearable": "clearable"; "allowCreate": "allowCreate"; "filterFn": "filterFn"; "trackFn": "trackFn"; "labelFn": "labelFn"; "loading": "loading"; "placeholder": "placeholder"; "defaultFirstOption": "defaultFirstOption"; "lazy": "lazy"; "useVirtual": "useVirtual"; "itemSize": "itemSize"; "maxItemLength": "maxItemLength"; "createFn": "createFn"; }, { "filterChange": "filterChange"; "show": "show"; "hide": "hide"; }, ["optionContent", "contentTplOptions"]>;
85
113
  }
package/select/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './helper-directives';
2
2
  export * from './multi-select/multi-select.component';
3
- export * from './option/option.component';
3
+ export * from './option.component';
4
4
  export * from './option-group/option-group.component';
5
5
  export * from './option-placeholder.component';
6
6
  export * from './select.component';
@@ -2,8 +2,7 @@ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, Rendere
2
2
  import { Observable } from 'rxjs';
3
3
  import { Bem } from '../../utils';
4
4
  import { BaseSelect } from '../base-select';
5
- import { OptionComponent } from '../option/option.component';
6
- import { SelectAllStatus, SelectFilterOption, TagClassFn } from '../select.types';
5
+ import { DisplayOption, SelectAllStatus, SelectFilterOption, TagClassFn } from '../select.types';
7
6
  import * as i0 from "@angular/core";
8
7
  export declare class MultiSelectComponent<T = unknown> extends BaseSelect<T, T[]> implements AfterContentInit, AfterViewInit {
9
8
  private readonly renderer;
@@ -45,15 +44,14 @@ export declare class MultiSelectComponent<T = unknown> extends BaseSelect<T, T[]
45
44
  onInputFocus(): void;
46
45
  onInputBlur(): void;
47
46
  onKeyDown(event: KeyboardEvent): void;
48
- selectOption(option: OptionComponent<T>): void;
47
+ selectOption(option: DisplayOption<T>): void;
49
48
  addValue(value: T): void;
50
49
  removeValue(value: T): void;
51
50
  clearValue(event: Event): void;
52
51
  onSelectAllClick(): void;
53
- private includes;
54
52
  protected valueIn(v: T[]): T[];
55
53
  private resetInput;
56
54
  private setInputWidth;
57
55
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectComponent<any>, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectComponent<any>, "aui-multi-select", never, { "tagClassFn": "tagClassFn"; "maxRowCount": "maxRowCount"; "customRowHeight": "customRowHeight"; "allowSelectAll": "allowSelectAll"; }, {}, never, ["*", "aui-option-placeholder"]>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectComponent<any>, "aui-multi-select", never, { "tagClassFn": "tagClassFn"; "maxRowCount": "maxRowCount"; "customRowHeight": "customRowHeight"; "allowSelectAll": "allowSelectAll"; }, {}, never, ["aui-option-placeholder"]>;
59
57
  }
@@ -1,11 +1,12 @@
1
- import { AfterContentInit, QueryList } from '@angular/core';
1
+ import { AfterContentInit, QueryList, ElementRef } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- import { OptionComponent } from '../option/option.component';
3
+ import { OptionComponent } from '../option.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class OptionGroupComponent<T> implements AfterContentInit {
6
6
  options: QueryList<OptionComponent<T>>;
7
+ groupTitle: ElementRef;
7
8
  hasVisibleOption$: Observable<boolean>;
8
9
  ngAfterContentInit(): void;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<OptionGroupComponent<any>, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<OptionGroupComponent<any>, "aui-option-group", never, {}, {}, ["options"], ["[auiOptionGroupTitle]", "*"]>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<OptionGroupComponent<any>, "aui-option-group", never, {}, {}, ["groupTitle", "options"], ["[auiOptionGroupTitle]", "*"]>;
11
12
  }
@@ -0,0 +1,41 @@
1
+ import { DomPortal } from '@angular/cdk/portal';
2
+ import { ElementRef, TemplateRef, OnChanges } from '@angular/core';
3
+ import { Observable, Subject } from 'rxjs';
4
+ import { ComponentSize } from '../../types';
5
+ import { Bem } from '../../utils';
6
+ import * as i0 from "@angular/core";
7
+ export declare class OptionItemComponent<T> implements OnChanges {
8
+ changes: Subject<unknown>;
9
+ bem: Bem;
10
+ private _label;
11
+ private _labelContext;
12
+ private _value;
13
+ private readonly label$$;
14
+ private readonly labelContext$$;
15
+ private readonly value$$;
16
+ get label(): string | TemplateRef<unknown>;
17
+ set label(val: string | TemplateRef<unknown>);
18
+ get labelContext(): unknown;
19
+ set labelContext(val: unknown);
20
+ get value(): T;
21
+ set value(val: T);
22
+ disabled: boolean;
23
+ focused: boolean;
24
+ selected: boolean;
25
+ groupTitle: ElementRef;
26
+ contentTemplate: TemplateRef<any>;
27
+ elRef: ElementRef<HTMLDivElement>;
28
+ get groupTitlePortal(): "" | DomPortal<any>;
29
+ _focused: boolean;
30
+ isMulti: boolean;
31
+ private readonly select;
32
+ size: ComponentSize;
33
+ size$: Observable<ComponentSize>;
34
+ constructor(select: any);
35
+ ngOnChanges(): void;
36
+ onClick(): void;
37
+ focus(): void;
38
+ blur(): void;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<OptionItemComponent<any>, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<OptionItemComponent<any>, "aui-option-item", never, { "label": "label"; "labelContext": "labelContext"; "value": "value"; "disabled": "disabled"; "focused": "focused"; "selected": "selected"; "groupTitle": "groupTitle"; "contentTemplate": "contentTemplate"; }, {}, never, ["*"]>;
41
+ }
@@ -0,0 +1,16 @@
1
+ import { ElementRef, OnChanges, TemplateRef } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { SelectOption } from './select.types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class OptionComponent<T> implements OnChanges {
6
+ changes: Subject<unknown>;
7
+ template: TemplateRef<any>;
8
+ label: SelectOption['label'];
9
+ value: T;
10
+ disabled: boolean;
11
+ labelContext: unknown;
12
+ groupTitle: ElementRef;
13
+ ngOnChanges(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<OptionComponent<any>, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<OptionComponent<any>, "aui-option", never, { "label": "label"; "value": "value"; "disabled": "disabled"; "labelContext": "labelContext"; }, {}, never, ["*"]>;
16
+ }
@@ -1,11 +1,11 @@
1
- import { AfterContentInit } from '@angular/core';
1
+ import { AfterViewInit } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { InputComponent } from '../input';
4
4
  import { BaseSelect } from './base-select';
5
- import { OptionComponent } from './option/option.component';
5
+ import { OptionItemComponent } from './option-item/option-item.component';
6
6
  import { SelectOption } from './select.types';
7
7
  import * as i0 from "@angular/core";
8
- export declare class SelectComponent<T = unknown> extends BaseSelect<T> implements AfterContentInit {
8
+ export declare class SelectComponent<T = unknown> extends BaseSelect<T> implements AfterViewInit {
9
9
  inputRef: InputComponent;
10
10
  values$: Observable<T[]>;
11
11
  selectedOption$: Observable<SelectOption>;
@@ -13,12 +13,12 @@ export declare class SelectComponent<T = unknown> extends BaseSelect<T> implemen
13
13
  get rootClass(): string;
14
14
  get containerClass(): string;
15
15
  isClearable: (hasSelected: boolean) => boolean;
16
- ngAfterContentInit(): void;
16
+ ngAfterViewInit(): void;
17
17
  onShowOptions(): void;
18
18
  onHideOptions(): void;
19
19
  protected valueIn(v: T): T;
20
- selectOption(option: OptionComponent<T>): void;
20
+ selectOption(option: OptionItemComponent<T>): void;
21
21
  clearValue(event: Event): void;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent<any>, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent<any>, "aui-select", never, {}, {}, never, ["*", "aui-option-placeholder"]>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent<any>, "aui-select", never, {}, {}, never, ["aui-option-placeholder"]>;
24
24
  }
@@ -1,19 +1,22 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./select.component";
3
- import * as i2 from "./option/option.component";
4
- import * as i3 from "./option-group/option-group.component";
5
- import * as i4 from "./option-placeholder.component";
6
- import * as i5 from "./multi-select/multi-select.component";
7
- import * as i6 from "./validators";
8
- import * as i7 from "./helper-directives";
9
- import * as i8 from "@angular/common";
10
- import * as i9 from "../input/input.module";
11
- import * as i10 from "../i18n/i18n.module";
12
- import * as i11 from "../icon/icon.module";
13
- import * as i12 from "../tooltip/tooltip.module";
14
- import * as i13 from "../tag/tag.module";
3
+ import * as i2 from "./option.component";
4
+ import * as i3 from "./option-item/option-item.component";
5
+ import * as i4 from "./option-group/option-group.component";
6
+ import * as i5 from "./option-placeholder.component";
7
+ import * as i6 from "./multi-select/multi-select.component";
8
+ import * as i7 from "./validators";
9
+ import * as i8 from "./helper-directives";
10
+ import * as i9 from "@angular/common";
11
+ import * as i10 from "../input/input.module";
12
+ import * as i11 from "../i18n/i18n.module";
13
+ import * as i12 from "../icon/icon.module";
14
+ import * as i13 from "../tooltip/tooltip.module";
15
+ import * as i14 from "../tag/tag.module";
16
+ import * as i15 from "../scrolling/scrolling.module";
17
+ import * as i16 from "@angular/cdk/portal";
15
18
  export declare class SelectModule {
16
19
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, [typeof i1.SelectComponent, typeof i2.OptionComponent, typeof i3.OptionGroupComponent, typeof i4.OptionPlaceholderComponent, typeof i5.MultiSelectComponent, typeof i6.IncludesDirective, typeof i7.OptionGroupTitleDirective, typeof i7.OptionContentDirective], [typeof i8.CommonModule, typeof i9.InputModule, typeof i10.I18nModule, typeof i11.IconModule, typeof i12.TooltipModule, typeof i13.TagModule], [typeof i1.SelectComponent, typeof i2.OptionComponent, typeof i3.OptionGroupComponent, typeof i4.OptionPlaceholderComponent, typeof i5.MultiSelectComponent, typeof i6.IncludesDirective, typeof i7.OptionGroupTitleDirective, typeof i7.OptionContentDirective]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, [typeof i1.SelectComponent, typeof i2.OptionComponent, typeof i3.OptionItemComponent, typeof i4.OptionGroupComponent, typeof i5.OptionPlaceholderComponent, typeof i6.MultiSelectComponent, typeof i7.IncludesDirective, typeof i8.OptionGroupTitleDirective, typeof i8.OptionContentDirective], [typeof i9.CommonModule, typeof i10.InputModule, typeof i11.I18nModule, typeof i12.IconModule, typeof i13.TooltipModule, typeof i14.TagModule, typeof i15.ScrollingModule, typeof i16.PortalModule], [typeof i1.SelectComponent, typeof i2.OptionComponent, typeof i4.OptionGroupComponent, typeof i5.OptionPlaceholderComponent, typeof i6.MultiSelectComponent, typeof i7.IncludesDirective, typeof i8.OptionGroupTitleDirective, typeof i8.OptionContentDirective]>;
18
21
  static ɵinj: i0.ɵɵInjectorDeclaration<SelectModule>;
19
22
  }
@@ -1,14 +1,20 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { ElementRef, TemplateRef } from '@angular/core';
2
2
  export interface SelectOption {
3
- label: string | TemplateRef<unknown>;
3
+ label?: string | TemplateRef<unknown>;
4
4
  labelContext?: unknown;
5
5
  }
6
6
  export interface SelectFilterOption<T> extends SelectOption {
7
7
  disabled?: boolean;
8
8
  value: T;
9
9
  }
10
+ export interface DisplayOption<T> extends SelectFilterOption<T> {
11
+ selected?: boolean;
12
+ groupTitle?: ElementRef;
13
+ contentTemplate?: TemplateRef<any>;
14
+ }
10
15
  export declare type OptionFilterFn<T> = (filter: string, option: SelectFilterOption<T>) => boolean;
11
16
  export declare type TrackFn<T, R = unknown> = (value: T) => R;
17
+ export declare type CreateFn<T> = (input: string) => DisplayOption<T>;
12
18
  export declare type TagClassFn<V, T extends string | TemplateRef<unknown> = string | TemplateRef<unknown>> = (label: T, value: V) => string | string[] | Set<string> | {
13
19
  [className: string]: unknown;
14
20
  };
@@ -1,112 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Inject, Input, ViewChild, ViewEncapsulation, forwardRef, } from '@angular/core';
2
- import { BehaviorSubject, combineLatest, distinctUntilChanged, map, tap, } from 'rxjs';
3
- import { ComponentSize } from '../../types';
4
- import { buildBem, coerceAttrBoolean, publishRef } from '../../utils';
5
- import { BaseSelect } from '../base-select';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../icon/icon.component";
8
- import * as i2 from "@angular/common";
9
- export class OptionComponent {
10
- constructor(cdr, select) {
11
- this.cdr = cdr;
12
- this.bem = buildBem('aui-option');
13
- this._disabled = false;
14
- this._label = '';
15
- this._labelContext = {};
16
- this.label$$ = new BehaviorSubject(this.label);
17
- this.labelContext$$ = new BehaviorSubject(this.labelContext);
18
- this.value$$ = new BehaviorSubject(this.value);
19
- this.disabled$$ = new BehaviorSubject(this.disabled);
20
- this.isMulti = false;
21
- this.selected = false;
22
- this.visible = true;
23
- this.size = ComponentSize.Medium;
24
- this.focused = false;
25
- this.value$ = this.value$$.asObservable();
26
- this.label$ = this.label$$.asObservable();
27
- this.labelContext$ = this.labelContext$$.asObservable();
28
- this.disabled$ = this.disabled$$.asObservable();
29
- this.isMulti = select.isMulti;
30
- this.select = select;
31
- this.selected$ = combineLatest([this.select.values$, this.value$$]).pipe(map(([selectValue, selfValue]) => selectValue
32
- ?.map(this.select.trackFn)
33
- .includes(this.select.trackFn(selfValue))), distinctUntilChanged(), tap(selected => {
34
- this.selected = selected;
35
- }), publishRef());
36
- this.size$ = this.select.size$.pipe(tap(size => {
37
- this.size = size;
38
- }));
39
- this.visible$ = combineLatest([
40
- this.select.filterString$,
41
- combineLatest([this.label$, this.value$, this.labelContext$]).pipe(map(([label, value, labelContext]) => ({ label, value, labelContext }))),
42
- ]).pipe(map(([filterString, option]) => this.select.filterFn(filterString, option)), distinctUntilChanged(), tap(visible => {
43
- this.visible = visible;
44
- }), publishRef());
45
- }
46
- get label() {
47
- return this._label;
48
- }
49
- set label(val) {
50
- this._label = val;
51
- this.label$$.next(val);
52
- }
53
- get labelContext() {
54
- return this._labelContext;
55
- }
56
- set labelContext(val) {
57
- this._labelContext = val;
58
- this.labelContext$$.next(val);
59
- }
60
- get value() {
61
- return this._value;
62
- }
63
- set value(val) {
64
- this._value = val;
65
- this.value$$.next(val);
66
- }
67
- get disabled() {
68
- return this._disabled;
69
- }
70
- set disabled(val) {
71
- this._disabled = coerceAttrBoolean(val);
72
- this.disabled$$.next(this._disabled);
73
- }
74
- onClick() {
75
- if (this.disabled) {
76
- return;
77
- }
78
- this.select.onOptionClick(this);
79
- }
80
- focus() {
81
- if (this.disabled) {
82
- return;
83
- }
84
- this.focused = true;
85
- this.cdr.markForCheck();
86
- }
87
- blur() {
88
- this.focused = false;
89
- this.cdr.markForCheck();
90
- }
91
- }
92
- OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: OptionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: forwardRef(() => BaseSelect) }], target: i0.ɵɵFactoryTarget.Component });
93
- OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: OptionComponent, selector: "aui-option", inputs: { label: "label", labelContext: "labelContext", value: "value", disabled: "disabled" }, viewQueries: [{ propertyName: "elRef", first: true, predicate: ["elRef"], descendants: true, static: true }], ngImport: i0, template: "<div\n #elRef\n [hidden]=\"!(visible$ | async)\"\n [class]=\"bem.block(size$ | async)\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"selected$ | async\"\n [class.isMulti]=\"isMulti\"\n [class.isFocused]=\"focused\"\n (click)=\"onClick()\"\n>\n <i\n *ngIf=\"isMulti\"\n class=\"aui-option__pointer\"\n >\n <aui-icon\n [hidden]=\"!(selected$ | async)\"\n icon=\"check\"\n ></aui-icon>\n </i>\n <ng-content></ng-content>\n</div>\n", styles: [".aui-option{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-option--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-option--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-option:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-option:hover,.aui-option.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-option.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-option__pointer{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-option.cdk-keyboard-focused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-option.isSelected .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-option.isIndeterminate .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-main-bg))}.aui-option.isIndeterminate .aui-option__pointer:before{content:\"\";display:block;width:8px;height:8px;border-radius:1px;background-color:rgb(var(--aui-color-primary))}.aui-option.isSelected.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-option.isDisabled .aui-option__label{cursor:not-allowed}.aui-option.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-option:not(.isDisabled):hover .aui-option__pointer,.aui-option:not(.isDisabled).isFocused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}\n"], components: [{ type: i1.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: OptionComponent, decorators: [{
95
- type: Component,
96
- args: [{ selector: 'aui-option', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div\n #elRef\n [hidden]=\"!(visible$ | async)\"\n [class]=\"bem.block(size$ | async)\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"selected$ | async\"\n [class.isMulti]=\"isMulti\"\n [class.isFocused]=\"focused\"\n (click)=\"onClick()\"\n>\n <i\n *ngIf=\"isMulti\"\n class=\"aui-option__pointer\"\n >\n <aui-icon\n [hidden]=\"!(selected$ | async)\"\n icon=\"check\"\n ></aui-icon>\n </i>\n <ng-content></ng-content>\n</div>\n", styles: [".aui-option{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-option--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-option--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-option:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-option:hover,.aui-option.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-option.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-option__pointer{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-option.cdk-keyboard-focused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-option.isSelected .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-option.isIndeterminate .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-main-bg))}.aui-option.isIndeterminate .aui-option__pointer:before{content:\"\";display:block;width:8px;height:8px;border-radius:1px;background-color:rgb(var(--aui-color-primary))}.aui-option.isSelected.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-option.isDisabled .aui-option__label{cursor:not-allowed}.aui-option.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-option:not(.isDisabled):hover .aui-option__pointer,.aui-option:not(.isDisabled).isFocused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}\n"] }]
97
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
98
- type: Inject,
99
- args: [forwardRef(() => BaseSelect)]
100
- }] }]; }, propDecorators: { label: [{
101
- type: Input
102
- }], labelContext: [{
103
- type: Input
104
- }], value: [{
105
- type: Input
106
- }], disabled: [{
107
- type: Input
108
- }], elRef: [{
109
- type: ViewChild,
110
- args: ['elRef', { static: true }]
111
- }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvc2VsZWN0L29wdGlvbi9vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxFQUVmLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFPLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVTVDLE1BQU0sT0FBTyxlQUFlO0lBMkUxQixZQUNtQixHQUFzQixFQUV2QyxNQUFXO1FBRk0sUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEzRXpDLFFBQUcsR0FBUSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFMUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQWtDLEVBQUUsQ0FBQztRQUMzQyxrQkFBYSxHQUFZLEVBQUUsQ0FBQztRQUVuQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXhELFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQTBDakUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU1oQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixTQUFJLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDM0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkQsY0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFXekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQy9CLFdBQVc7WUFDVCxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDNUMsRUFDRCxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMzQixDQUFDLENBQUMsRUFDRixVQUFVLEVBQUUsQ0FDYixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWE7WUFDekIsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEUsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQ3hFO1NBQ0YsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FDM0MsRUFDRCxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixVQUFVLEVBQUUsQ0FDYixDQUFDO0lBQ0osQ0FBQztJQW5HRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxHQUFHO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFpQjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBK0RELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7NEdBdElVLGVBQWUsbURBNkVoQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO2dHQTdFM0IsZUFBZSxnUUNqQzVCLDJkQXFCQTsyRkRZYSxlQUFlO2tCQVIzQixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSzs7MEJBK0V2QixNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7NENBN0RsQyxLQUFLO3NCQURSLEtBQUs7Z0JBV0YsWUFBWTtzQkFEZixLQUFLO2dCQVdGLEtBQUs7c0JBRFIsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7Z0JBYU4sS0FBSztzQkFESixTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSwgY29lcmNlQXR0ckJvb2xlYW4sIHB1Ymxpc2hSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0IH0gZnJvbSAnLi4vYmFzZS1zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktb3B0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29wdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkNvbXBvbmVudDxUPiB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1vcHRpb24nKTtcblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9sYWJlbDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gPSAnJztcbiAgcHJpdmF0ZSBfbGFiZWxDb250ZXh0OiB1bmtub3duID0ge307XG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhYmVsJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMubGFiZWwpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFiZWxDb250ZXh0JCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMubGFiZWxDb250ZXh0KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudmFsdWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzYWJsZWQkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5kaXNhYmxlZCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGxhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgfVxuXG4gIHNldCBsYWJlbCh2YWwpIHtcbiAgICB0aGlzLl9sYWJlbCA9IHZhbDtcbiAgICB0aGlzLmxhYmVsJCQubmV4dCh2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGxhYmVsQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxDb250ZXh0O1xuICB9XG5cbiAgc2V0IGxhYmVsQ29udGV4dCh2YWwpIHtcbiAgICB0aGlzLl9sYWJlbENvbnRleHQgPSB2YWw7XG4gICAgdGhpcy5sYWJlbENvbnRleHQkJC5uZXh0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbCkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICAgIHRoaXMudmFsdWUkJC5uZXh0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICAgIHRoaXMuZGlzYWJsZWQkJC5uZXh0KHRoaXMuX2Rpc2FibGVkKTtcbiAgfVxuXG4gIGlzTXVsdGkgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdlbFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGVsUmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdDogQmFzZVNlbGVjdDxUPjtcbiAgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgdmlzaWJsZSA9IHRydWU7XG4gIHNpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcbiAgZm9jdXNlZCA9IGZhbHNlO1xuXG4gIHZhbHVlJCA9IHRoaXMudmFsdWUkJC5hc09ic2VydmFibGUoKTtcbiAgbGFiZWwkID0gdGhpcy5sYWJlbCQkLmFzT2JzZXJ2YWJsZSgpO1xuICBsYWJlbENvbnRleHQkID0gdGhpcy5sYWJlbENvbnRleHQkJC5hc09ic2VydmFibGUoKTtcbiAgZGlzYWJsZWQkID0gdGhpcy5kaXNhYmxlZCQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHNlbGVjdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc2l6ZSQ6IE9ic2VydmFibGU8Q29tcG9uZW50U2l6ZT47XG4gIHZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gQmFzZVNlbGVjdCkpXG4gICAgc2VsZWN0OiBhbnksIC8vIEZJWE1FOiB3b3JrYXJvdW5kIHRlbXBvcmFyaWx5XG4gICkge1xuICAgIHRoaXMuaXNNdWx0aSA9IHNlbGVjdC5pc011bHRpO1xuICAgIHRoaXMuc2VsZWN0ID0gc2VsZWN0O1xuICAgIHRoaXMuc2VsZWN0ZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3QudmFsdWVzJCwgdGhpcy52YWx1ZSQkXSkucGlwZShcbiAgICAgIG1hcCgoW3NlbGVjdFZhbHVlLCBzZWxmVmFsdWVdKSA9PlxuICAgICAgICBzZWxlY3RWYWx1ZVxuICAgICAgICAgID8ubWFwKHRoaXMuc2VsZWN0LnRyYWNrRm4pXG4gICAgICAgICAgLmluY2x1ZGVzKHRoaXMuc2VsZWN0LnRyYWNrRm4oc2VsZlZhbHVlKSksXG4gICAgICApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRhcChzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH0pLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gICAgdGhpcy5zaXplJCA9IHRoaXMuc2VsZWN0LnNpemUkLnBpcGUoXG4gICAgICB0YXAoc2l6ZSA9PiB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gICAgICB9KSxcbiAgICApO1xuICAgIHRoaXMudmlzaWJsZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc2VsZWN0LmZpbHRlclN0cmluZyQsXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmxhYmVsJCwgdGhpcy52YWx1ZSQsIHRoaXMubGFiZWxDb250ZXh0JF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW2xhYmVsLCB2YWx1ZSwgbGFiZWxDb250ZXh0XSkgPT4gKHsgbGFiZWwsIHZhbHVlLCBsYWJlbENvbnRleHQgfSkpLFxuICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZmlsdGVyU3RyaW5nLCBvcHRpb25dKSA9PlxuICAgICAgICB0aGlzLnNlbGVjdC5maWx0ZXJGbihmaWx0ZXJTdHJpbmcsIG9wdGlvbiksXG4gICAgICApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRhcCh2aXNpYmxlID0+IHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgIH0pLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH1cblxuICBvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0Lm9uT3B0aW9uQ2xpY2sodGhpcyk7XG4gIH1cblxuICBmb2N1cygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYmx1cigpIHtcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGRpdlxuICAjZWxSZWZcbiAgW2hpZGRlbl09XCIhKHZpc2libGUkIHwgYXN5bmMpXCJcbiAgW2NsYXNzXT1cImJlbS5ibG9jayhzaXplJCB8IGFzeW5jKVwiXG4gIFtjbGFzcy5pc0Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmlzU2VsZWN0ZWRdPVwic2VsZWN0ZWQkIHwgYXN5bmNcIlxuICBbY2xhc3MuaXNNdWx0aV09XCJpc011bHRpXCJcbiAgW2NsYXNzLmlzRm9jdXNlZF09XCJmb2N1c2VkXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4+XG4gIDxpXG4gICAgKm5nSWY9XCJpc011bHRpXCJcbiAgICBjbGFzcz1cImF1aS1vcHRpb25fX3BvaW50ZXJcIlxuICA+XG4gICAgPGF1aS1pY29uXG4gICAgICBbaGlkZGVuXT1cIiEoc2VsZWN0ZWQkIHwgYXN5bmMpXCJcbiAgICAgIGljb249XCJjaGVja1wiXG4gICAgPjwvYXVpLWljb24+XG4gIDwvaT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,45 +0,0 @@
1
- import { ChangeDetectorRef, ElementRef, TemplateRef } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { ComponentSize } from '../../types';
4
- import { Bem } from '../../utils';
5
- import * as i0 from "@angular/core";
6
- export declare class OptionComponent<T> {
7
- private readonly cdr;
8
- bem: Bem;
9
- private _disabled;
10
- private _label;
11
- private _labelContext;
12
- private _value;
13
- private readonly label$$;
14
- private readonly labelContext$$;
15
- private readonly value$$;
16
- private readonly disabled$$;
17
- get label(): string | TemplateRef<unknown>;
18
- set label(val: string | TemplateRef<unknown>);
19
- get labelContext(): unknown;
20
- set labelContext(val: unknown);
21
- get value(): T;
22
- set value(val: T);
23
- get disabled(): boolean;
24
- set disabled(val: boolean | '');
25
- isMulti: boolean;
26
- elRef: ElementRef<HTMLDivElement>;
27
- private readonly select;
28
- selected: boolean;
29
- visible: boolean;
30
- size: ComponentSize;
31
- focused: boolean;
32
- value$: Observable<T>;
33
- label$: Observable<string | TemplateRef<unknown>>;
34
- labelContext$: Observable<unknown>;
35
- disabled$: Observable<boolean>;
36
- selected$: Observable<boolean>;
37
- size$: Observable<ComponentSize>;
38
- visible$: Observable<boolean>;
39
- constructor(cdr: ChangeDetectorRef, select: any);
40
- onClick(): void;
41
- focus(): void;
42
- blur(): void;
43
- static ɵfac: i0.ɵɵFactoryDeclaration<OptionComponent<any>, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<OptionComponent<any>, "aui-option", never, { "label": "label"; "labelContext": "labelContext"; "value": "value"; "disabled": "disabled"; }, {}, never, ["*"]>;
45
- }