@alauda/ui 7.4.1-beta.2 → 7.4.1-beta.21

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 (41) hide show
  1. package/drawer/component/internal/internal.component.d.ts +4 -2
  2. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  3. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +3 -2
  4. package/esm2022/date-picker/range-picker/range-picker.component.mjs +3 -3
  5. package/esm2022/dialog/dialog.component.mjs +3 -3
  6. package/esm2022/drawer/component/drawer.component.mjs +2 -1
  7. package/esm2022/drawer/component/internal/internal.component.mjs +10 -4
  8. package/esm2022/drawer/drawer.service.mjs +3 -3
  9. package/esm2022/dropdown/menu/menu.component.mjs +2 -2
  10. package/esm2022/index.mjs +1 -2
  11. package/esm2022/input/tags-input/tags-input.component.mjs +3 -3
  12. package/esm2022/notification/notification.component.mjs +3 -3
  13. package/esm2022/radio/radio-button/radio-button.component.mjs +3 -3
  14. package/esm2022/radio/radio-group/radio-group.component.mjs +2 -2
  15. package/esm2022/select/multi-select/multi-select.component.mjs +3 -3
  16. package/esm2022/select/select.component.mjs +3 -3
  17. package/esm2022/table/table.component.mjs +3 -3
  18. package/esm2022/tabs/tab-header.component.mjs +12 -23
  19. package/esm2022/time-picker/panel/panel.component.mjs +3 -3
  20. package/esm2022/tooltip/tooltip.component.mjs +5 -6
  21. package/esm2022/tooltip/tooltip.types.mjs +2 -1
  22. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  23. package/fesm2022/alauda-ui.mjs +1737 -2082
  24. package/fesm2022/alauda-ui.mjs.map +1 -1
  25. package/index.d.ts +0 -1
  26. package/package.json +1 -1
  27. package/tabs/tab-header.component.d.ts +1 -4
  28. package/theme/_mixin.scss +7 -3
  29. package/tooltip/tooltip.types.d.ts +2 -1
  30. package/cascader/cascader.component.d.ts +0 -64
  31. package/cascader/cascader.module.d.ts +0 -10
  32. package/cascader/cascader.types.d.ts +0 -11
  33. package/cascader/index.d.ts +0 -4
  34. package/cascader/option/option.component.d.ts +0 -16
  35. package/cascader/utils.d.ts +0 -6
  36. package/esm2022/cascader/cascader.component.mjs +0 -242
  37. package/esm2022/cascader/cascader.module.mjs +0 -28
  38. package/esm2022/cascader/cascader.types.mjs +0 -2
  39. package/esm2022/cascader/index.mjs +0 -5
  40. package/esm2022/cascader/option/option.component.mjs +0 -63
  41. package/esm2022/cascader/utils.mjs +0 -36
package/index.d.ts CHANGED
@@ -5,7 +5,6 @@ export * from './back-top';
5
5
  export * from './breadcrumb';
6
6
  export * from './button';
7
7
  export * from './card';
8
- export * from './cascader';
9
8
  export * from './checkbox';
10
9
  export * from './color-picker';
11
10
  export * from './date-picker';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda/ui",
3
- "version": "7.4.1-beta.2",
3
+ "version": "7.4.1-beta.21",
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,4 +1,3 @@
1
- import { ViewportRuler } from '@angular/cdk/scrolling';
2
1
  import { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
3
2
  import { Bem } from '../internal/utils';
4
3
  import { TabHeaderAddonDirective, TabLabelWrapperDirective, TabTitleDirective } from './tab-body.component';
@@ -8,7 +7,6 @@ import * as i0 from "@angular/core";
8
7
  export type ScrollDirection = 'after' | 'before';
9
8
  export declare class TabHeaderComponent implements OnDestroy, AfterContentChecked, AfterContentInit {
10
9
  private readonly _changeDetectorRef;
11
- private readonly _viewportRuler;
12
10
  bem: Bem;
13
11
  _showAddon: boolean;
14
12
  _showPaginationControls: boolean;
@@ -20,7 +18,6 @@ export declare class TabHeaderComponent implements OnDestroy, AfterContentChecke
20
18
  private _selectedIndex;
21
19
  private readonly _destroyed;
22
20
  private _keyManager;
23
- private _tabLabelCount;
24
21
  type: TabType;
25
22
  size: TabSize;
26
23
  get selectedIndex(): number;
@@ -55,7 +52,7 @@ export declare class TabHeaderComponent implements OnDestroy, AfterContentChecke
55
52
  _getMaxScrollDistance(): number;
56
53
  _updateTabScrollPosition(): void;
57
54
  _alignActiveIndicatorToSelectedTab(): void;
58
- constructor(_changeDetectorRef: ChangeDetectorRef, _viewportRuler: ViewportRuler);
55
+ constructor(_changeDetectorRef: ChangeDetectorRef);
59
56
  static ɵfac: i0.ɵɵFactoryDeclaration<TabHeaderComponent, never>;
60
57
  static ɵcmp: i0.ɵɵComponentDeclaration<TabHeaderComponent, "aui-tab-header", never, { "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; }, { "selectFocusedIndex": "selectFocusedIndex"; "indexFocused": "indexFocused"; }, ["_headerAddon", "_title", "_labelWrappers"], ["*"], true, never>;
61
58
  }
package/theme/_mixin.scss CHANGED
@@ -152,17 +152,21 @@
152
152
  transform: translate(-50%, -50%);
153
153
  }
154
154
 
155
- @mixin scroll-bar($color: #{use-rgba(n-1, 0.2)}) {
155
+ @mixin scroll-bar($color: #{use-rgb(n-7)}, $hover-color: #{use-rgb(n-5)}) {
156
156
  &::-webkit-scrollbar {
157
- width: 4px;
157
+ width: 8px;
158
158
  height: 4px;
159
159
  }
160
160
 
161
161
  &::-webkit-scrollbar-thumb {
162
- border-radius: 2px;
162
+ border-radius: 4px;
163
163
  background-color: $color;
164
164
  }
165
165
 
166
+ &::-webkit-scrollbar-thumb:hover {
167
+ background-color: $hover-color;
168
+ }
169
+
166
170
  &::-webkit-scrollbar-corner {
167
171
  background-color: transparent;
168
172
  }
@@ -5,7 +5,8 @@ export declare enum TooltipType {
5
5
  Warning = "warning",
6
6
  Error = "error",
7
7
  Info = "info",
8
- Plain = "plain"
8
+ Plain = "plain",
9
+ Empty = "empty"
9
10
  }
10
11
  export declare enum TooltipTrigger {
11
12
  Hover = "hover",
@@ -1,64 +0,0 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { CommonFormControl } from '../form';
4
- import { InputComponent } from '../input';
5
- import { ComponentSize } from '../internal/types';
6
- import { CascaderOption, SearchedCascaderOption } from './cascader.types';
7
- import { trackByOption, trackByOptions } from './utils';
8
- import * as i0 from "@angular/core";
9
- export declare class CascaderComponent<T = unknown> extends CommonFormControl<T[]> {
10
- get size(): ComponentSize;
11
- set size(val: ComponentSize);
12
- filterable: boolean;
13
- clearable: boolean;
14
- onlyShowLastLabel: boolean;
15
- changeOnSelect: boolean;
16
- loading: boolean;
17
- placeholder: string;
18
- loadData: (selectedOption: CascaderOption<T>) => PromiseLike<Array<CascaderOption<T>>> | Observable<Array<CascaderOption<T>>>;
19
- get options(): CascaderOption<T>[];
20
- set options(val: CascaderOption<T>[]);
21
- inputRef: InputComponent;
22
- private readonly tooltipRef;
23
- protected selectRef: ElementRef<HTMLElement>;
24
- filterChange: EventEmitter<string>;
25
- get rootClass(): string;
26
- get containerClass(): string;
27
- get opened(): boolean;
28
- get inaction(): boolean;
29
- get filterString(): string;
30
- set filterString(val: string);
31
- trackByOptions: typeof trackByOptions;
32
- trackByOption: typeof trackByOption;
33
- $$size: import("@angular/core").WritableSignal<ComponentSize>;
34
- $$filterString: import("@angular/core").WritableSignal<string>;
35
- $$options: import("@angular/core").WritableSignal<CascaderOption<T>[]>;
36
- $$columns: import("@angular/core").WritableSignal<CascaderOption<T>[][]>;
37
- $model: import("@angular/core").Signal<T[]>;
38
- $selectedOptions: import("@angular/core").Signal<CascaderOption<T>[]>;
39
- $searchedOptions: import("@angular/core").Signal<SearchedCascaderOption<T, T[]>[]>;
40
- $optionsVisible: import("@angular/core").Signal<boolean>;
41
- $hasSelected: import("@angular/core").Signal<boolean>;
42
- $inSearching: import("@angular/core").Signal<boolean>;
43
- $containerWidth: import("@angular/core").Signal<string>;
44
- $OptionsContentClass: import("@angular/core").Signal<"aui-cascader-option-container__search-content" | "aui-cascader-option-container__content">;
45
- $visibleColumns: import("@angular/core").Signal<CascaderOption<T>[][] | SearchedCascaderOption<T, T[]>[][]>;
46
- activatedOptions: Array<CascaderOption<T>>;
47
- clearValue(event: Event): void;
48
- closeOption(): void;
49
- onOptionsVisibleChange(visible: boolean): void;
50
- onOptionClick(option: CascaderOption<T> | SearchedCascaderOption<T, T[]>, columnIndex: number): void;
51
- isOptionActivated(option: CascaderOption<T> | SearchedCascaderOption<T, T[]>, columnIndex: number): boolean;
52
- onInput(event: Event): void;
53
- private checkOptionActivated;
54
- private checkSearchedOptionActivated;
55
- private onClickOption;
56
- private onClickSearchedOption;
57
- private setColumnsData;
58
- static ɵfac: i0.ɵɵFactoryDeclaration<CascaderComponent<any>, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<CascaderComponent<any>, "aui-cascader", never, { "size": { "alias": "size"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "onlyShowLastLabel": { "alias": "onlyShowLastLabel"; "required": false; }; "changeOnSelect": { "alias": "changeOnSelect"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "loadData": { "alias": "loadData"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "filterChange": "filterChange"; }, never, ["aui-option-placeholder"], true, never>;
60
- static ngAcceptInputType_filterable: unknown;
61
- static ngAcceptInputType_clearable: unknown;
62
- static ngAcceptInputType_onlyShowLastLabel: unknown;
63
- static ngAcceptInputType_changeOnSelect: unknown;
64
- }
@@ -1,10 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common";
3
- import * as i2 from "../icon/icon.module";
4
- import * as i3 from "./cascader.component";
5
- import * as i4 from "./option/option.component";
6
- export declare class CascaderModule {
7
- static ɵfac: i0.ɵɵFactoryDeclaration<CascaderModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<CascaderModule, never, [typeof i1.CommonModule, typeof i2.IconModule, typeof i3.CascaderComponent, typeof i4.CascaderOptionComponent], [typeof i3.CascaderComponent, typeof i4.CascaderOptionComponent]>;
9
- static ɵinj: i0.ɵɵInjectorDeclaration<CascaderModule>;
10
- }
@@ -1,11 +0,0 @@
1
- export interface CascaderOption<T> {
2
- label: string;
3
- value: T;
4
- disabled?: boolean;
5
- loading?: boolean;
6
- isLeaf?: boolean;
7
- children?: Array<CascaderOption<T>>;
8
- }
9
- export interface SearchedCascaderOption<R, T extends R[]> extends CascaderOption<T> {
10
- path: Array<CascaderOption<R>>;
11
- }
@@ -1,4 +0,0 @@
1
- export * from './cascader.component';
2
- export * from './cascader.module';
3
- export * from './cascader.types';
4
- export * from './option/option.component';
@@ -1,16 +0,0 @@
1
- import { Bem } from '../../internal/utils';
2
- import { CascaderOption } from '../cascader.types';
3
- import * as i0 from "@angular/core";
4
- export declare class CascaderOptionComponent<T> {
5
- bem: Bem;
6
- get option(): CascaderOption<T>;
7
- set option(val: CascaderOption<T>);
8
- activated: boolean;
9
- className: string;
10
- get isDisabled(): boolean;
11
- get isActivated(): boolean;
12
- $$option: import("@angular/core").WritableSignal<CascaderOption<T>>;
13
- $isParent: import("@angular/core").Signal<boolean>;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<CascaderOptionComponent<any>, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<CascaderOptionComponent<any>, "aui-cascader-option", never, { "option": { "alias": "option"; "required": false; }; "activated": { "alias": "activated"; "required": false; }; }, {}, never, never, true, never>;
16
- }
@@ -1,6 +0,0 @@
1
- import { CascaderOption, SearchedCascaderOption } from './cascader.types';
2
- export declare function isParentOption<T>(option: CascaderOption<T>): boolean;
3
- export declare function dropRestItems<T>(arr: T[], index: number): T[];
4
- export declare function searchCascadeOptions<T>(root: Array<CascaderOption<T>>, filterString: string): SearchedCascaderOption<T, T[]>[];
5
- export declare function trackByOptions<T>(_: number, options: Array<CascaderOption<T> | SearchedCascaderOption<T, T[]>>): string;
6
- export declare function trackByOption<T>(_: number, option: CascaderOption<T>): string;
@@ -1,242 +0,0 @@
1
- import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, computed, forwardRef, signal, } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
- import { from } from 'rxjs';
6
- import { CommonFormControl } from '../form';
7
- import { IconComponent } from '../icon';
8
- import { InputComponent, InputSuffixDirective, InputGroupComponent, } from '../input';
9
- import { ComponentSize } from '../internal/types';
10
- import { coerceAttrBoolean } from '../internal/utils';
11
- import { TooltipDirective } from '../tooltip';
12
- import { CascaderOptionComponent } from './option/option.component';
13
- import { dropRestItems, isParentOption, searchCascadeOptions, trackByOption, trackByOptions, } from './utils';
14
- import * as i0 from "@angular/core";
15
- export class CascaderComponent extends CommonFormControl {
16
- get size() {
17
- return this.$$size();
18
- }
19
- set size(val) {
20
- if (!val || this.$$size() === val) {
21
- return;
22
- }
23
- this.$$size.set(val);
24
- }
25
- filterable = true;
26
- clearable;
27
- onlyShowLastLabel = false;
28
- changeOnSelect = false;
29
- loading = false;
30
- placeholder = '';
31
- loadData;
32
- get options() {
33
- return this.$$options();
34
- }
35
- set options(val) {
36
- this.$$options.set(val);
37
- this.$$columns.set([val]);
38
- }
39
- inputRef;
40
- tooltipRef;
41
- selectRef;
42
- filterChange = new EventEmitter();
43
- get rootClass() {
44
- return `aui-cascader aui-cascader--${this.$$size()}`;
45
- }
46
- get containerClass() {
47
- return `aui-cascader-option-container aui-cascader-option-container--${this.$$size()}`;
48
- }
49
- get opened() {
50
- return this.tooltipRef.isCreated;
51
- }
52
- get inaction() {
53
- return !(this.filterable && this.opened);
54
- }
55
- get filterString() {
56
- return this.$$filterString();
57
- }
58
- set filterString(val) {
59
- if (val !== this.$$filterString()) {
60
- this.$$filterString.set(val);
61
- this.filterChange.emit(val);
62
- }
63
- }
64
- trackByOptions = trackByOptions;
65
- trackByOption = trackByOption;
66
- $$size = signal(ComponentSize.Medium);
67
- $$filterString = signal('');
68
- $$options = signal([]);
69
- $$columns = signal([]);
70
- $model = toSignal(this.model$);
71
- $selectedOptions = computed(() => {
72
- const selectedOptions = [];
73
- let currentColumnOptions = this.$$options();
74
- this.$model()?.forEach(value => {
75
- const currentColumnOption = currentColumnOptions?.find(option => option.value === value);
76
- selectedOptions.push(currentColumnOption);
77
- currentColumnOptions = currentColumnOption.children;
78
- });
79
- return selectedOptions;
80
- });
81
- $searchedOptions = computed(() => this.$inSearching()
82
- ? searchCascadeOptions(this.$$options(), this.$$filterString())
83
- : []);
84
- $optionsVisible = computed(() => this.$$options().length > 0 &&
85
- (!this.$$filterString() || this.$searchedOptions().length > 0));
86
- $hasSelected = computed(() => this.$selectedOptions().length > 0);
87
- $inSearching = computed(() => !!this.$$filterString());
88
- $containerWidth = computed(() => this.$$options().length === 0 || !!this.$$filterString()
89
- ? this.selectRef.nativeElement.offsetWidth + 'px'
90
- : null);
91
- $OptionsContentClass = computed(() => this.$inSearching()
92
- ? 'aui-cascader-option-container__search-content'
93
- : 'aui-cascader-option-container__content');
94
- $visibleColumns = computed(() => this.$searchedOptions().length > 0
95
- ? [this.$searchedOptions()]
96
- : this.$$columns());
97
- activatedOptions = [];
98
- clearValue(event) {
99
- this.emitValue(null);
100
- event.stopPropagation();
101
- event.preventDefault();
102
- }
103
- closeOption() {
104
- this.tooltipRef.hide();
105
- }
106
- onOptionsVisibleChange(visible) {
107
- if (!visible) {
108
- this.filterString = '';
109
- this.inputRef.elementRef.nativeElement.value = '';
110
- this.activatedOptions = [];
111
- this.$$columns.set([]);
112
- return;
113
- }
114
- this.activatedOptions = [...this.$selectedOptions()];
115
- this.$$columns.set([this.options].concat(this.activatedOptions.map(option => option.children).filter(Boolean)));
116
- }
117
- onOptionClick(option, columnIndex) {
118
- if (option.disabled) {
119
- return;
120
- }
121
- this.$inSearching()
122
- ? this.onClickSearchedOption(option)
123
- : this.onClickOption(option, columnIndex);
124
- }
125
- isOptionActivated(option, columnIndex) {
126
- return this.$inSearching()
127
- ? this.checkSearchedOptionActivated(option)
128
- : this.checkOptionActivated(option, columnIndex);
129
- }
130
- onInput(event) {
131
- this.filterString = event.target.value;
132
- }
133
- checkOptionActivated(option, columnIndex) {
134
- return this.activatedOptions[columnIndex] === option;
135
- }
136
- checkSearchedOptionActivated(searchedOption) {
137
- return (searchedOption.path.length === this.activatedOptions.length &&
138
- searchedOption.path.every((option, index) => option === this.activatedOptions[index]));
139
- }
140
- onClickOption(option, columnIndex) {
141
- if (this.checkOptionActivated(option, columnIndex)) {
142
- return;
143
- }
144
- this.activatedOptions[columnIndex] = option;
145
- const isParent = isParentOption(option);
146
- const performChange = !isParent || this.changeOnSelect;
147
- if (isParent && option.children?.length > 0) {
148
- this.setColumnsData(option, columnIndex);
149
- }
150
- else if (isParent && !!this.loadData) {
151
- option.loading = true;
152
- from(this.loadData(option)).subscribe(childrenOptions => {
153
- option.loading = false;
154
- option.children = childrenOptions;
155
- this.setColumnsData(option, columnIndex);
156
- });
157
- }
158
- else {
159
- this.activatedOptions = dropRestItems(this.activatedOptions, columnIndex);
160
- this.closeOption();
161
- }
162
- if (performChange) {
163
- this.emitValue(this.activatedOptions.map(activatedOption => activatedOption.value));
164
- }
165
- }
166
- onClickSearchedOption(searchedOption) {
167
- if (this.checkSearchedOptionActivated(searchedOption)) {
168
- return;
169
- }
170
- this.activatedOptions = [...searchedOption.path];
171
- this.closeOption();
172
- this.emitValue(this.activatedOptions.map(activatedOption => activatedOption.value));
173
- }
174
- setColumnsData(option, columnIndex) {
175
- this.$$columns.update(columns => {
176
- columns[columnIndex + 1] = option.children;
177
- return dropRestItems(columns, columnIndex + 1);
178
- });
179
- }
180
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CascaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
181
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.3", type: CascaderComponent, isStandalone: true, selector: "aui-cascader", inputs: { size: "size", filterable: ["filterable", "filterable", coerceAttrBoolean], clearable: ["clearable", "clearable", coerceAttrBoolean], onlyShowLastLabel: ["onlyShowLastLabel", "onlyShowLastLabel", coerceAttrBoolean], changeOnSelect: ["changeOnSelect", "changeOnSelect", coerceAttrBoolean], loading: "loading", placeholder: "placeholder", loadData: "loadData", options: "options" }, outputs: { filterChange: "filterChange" }, providers: [
182
- {
183
- provide: NG_VALUE_ACCESSOR,
184
- useExisting: forwardRef(() => CascaderComponent),
185
- multi: true,
186
- },
187
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }, { propertyName: "tooltipRef", first: true, predicate: ["tooltipRef"], descendants: true, static: true }, { propertyName: "selectRef", first: true, predicate: ["selectRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n [class]=\"rootClass\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"$hasSelected() && this.clearable && !this.disabled\"\n [class.isFilterable]=\"filterable\"\n [class.isOpened]=\"opened\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n auiTooltipAnimType=\"scaleY\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onOptionsVisibleChange($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-cascader__input\"\n [class.aui-cascader__input-inaction]=\"inaction\"\n autocomplete=\"off\"\n aui-input\n [disabled]=\"disabled\"\n [size]=\"size\"\n [readonly]=\"readonly || inaction\"\n [placeholder]=\"placeholder\"\n (input)=\"onInput($event)\"\n (blur)=\"closeOption()\"\n />\n <span\n auiInputSuffix\n class=\"aui-cascader__icon-container\"\n >\n <aui-icon\n class=\"aui-cascader__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-cascader__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n <div\n *ngIf=\"$hasSelected() && !filterString\"\n class=\"aui-cascader__label-container aui-input aui-input--{{ size }}\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.readonly]=\"readonly ? true : null\"\n >\n <div class=\"aui-cascader__label\">\n <ng-container *ngIf=\"onlyShowLastLabel; else label\">\n {{ $selectedOptions()?.at(-1)?.label }}\n </ng-container>\n <ng-template #label>\n <ng-container\n *ngFor=\"let option of $selectedOptions(); let i = index\"\n >\n <span *ngIf=\"i !== 0\">/</span>\n {{ option.label }}\n </ng-container>\n </ng-template>\n </div>\n </div>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n [class]=\"containerClass\"\n [style.minWidth]=\"$containerWidth()\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n *ngIf=\"$optionsVisible() && !loading\"\n [class]=\"$OptionsContentClass()\"\n >\n <div\n class=\"aui-cascader-option-container__column\"\n *ngFor=\"\n let columnOptions of $any($visibleColumns());\n let columnIndex = index;\n trackBy: trackByOptions\n \"\n >\n <aui-cascader-option\n *ngFor=\"let option of columnOptions; trackBy: trackByOption\"\n [option]=\"option\"\n (click)=\"onOptionClick(option, columnIndex)\"\n [activated]=\"isOptionActivated(option, columnIndex)\"\n ></aui-cascader-option>\n </div>\n </div>\n\n <div\n *ngIf=\"!$optionsVisible() || loading\"\n class=\"aui-cascader-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-cascader{display:inline-block;position:relative;width:100%}.aui-cascader__icon-container{display:block;position:relative;pointer-events:none!important}.aui-cascader__icon-container .aui-icon{margin:0!important}.aui-cascader.isDisabled .aui-cascader__icon-container{color:rgb(var(--aui-color-n-4))}.aui-cascader__indicator{display:flex}.aui-cascader__clear{display:none}.aui-cascader__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-cascader__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-cascader.isClearable:not(.isDisabled):hover .aui-cascader__indicator{display:none}.aui-cascader.isClearable:not(.isDisabled):hover .aui-cascader__clear{display:flex;pointer-events:auto}.aui-cascader__label-container.aui-input{position:absolute;top:0;left:0;display:inline-flex;align-items:center;pointer-events:none;background-color:transparent;border-color:transparent}.aui-cascader__label-container.aui-input[readonly]{pointer-events:auto}.aui-cascader.isFilterable.isOpened .aui-cascader__label-container.aui-input{color:rgb(var(--aui-color-n-4))}.aui-cascader__label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-cascader__input-inaction{background-color:rgb(var(--aui-color-main-bg));border-color:rgb(var(--aui-color-n-7))!important;cursor:text}.aui-cascader__input-inaction:focus{border-color:rgb(var(--aui-color-primary))}.aui-cascader__input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))}aui-cascader.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-cascader.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-cascader.ng-invalid.ng-dirty .aui-input:focus,:root aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-cascader.ng-invalid .aui-input:focus,:root .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-cascader.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-cascader.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-cascader.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-cascader.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-cascader.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-cascader.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}.aui-cascader-option-container{padding:8px 0;max-width:90vw;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-cascader-option-container__content{display:flex;flex-direction:row;max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-cascader-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-cascader-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-cascader-option-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-cascader-option-container__search-content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-cascader-option-container__search-content::-webkit-scrollbar{width:4px;height:4px}.aui-cascader-option-container__search-content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-cascader-option-container__search-content::-webkit-scrollbar-corner{background-color:transparent}.aui-cascader-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center;display:inline-block;position:relative;width:100%}.aui-cascader-option-container__content .aui-cascader-option-container__column{min-width:92px;max-width:246px}.aui-cascader-option-container__search-content .aui-cascader-option-container__column{min-width:0;max-width:90vw}.aui-cascader-option-container__column+.aui-cascader-option-container__column{border-left:1px solid rgb(var(--aui-color-border))}\n"], dependencies: [{ kind: "component", type: CascaderOptionComponent, selector: "aui-cascader-option", inputs: ["option", "activated"] }, { kind: "directive", type: TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiTooltipAnimType"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }, { kind: "component", type: InputGroupComponent, selector: "aui-input-group" }, { kind: "component", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }, { kind: "directive", type: InputSuffixDirective, selector: "[auiInputSuffix]" }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
188
- }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CascaderComponent, decorators: [{
190
- type: Component,
191
- args: [{ selector: 'aui-cascader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, providers: [
192
- {
193
- provide: NG_VALUE_ACCESSOR,
194
- useExisting: forwardRef(() => CascaderComponent),
195
- multi: true,
196
- },
197
- ], standalone: true, imports: [
198
- CascaderOptionComponent,
199
- TooltipDirective,
200
- InputGroupComponent,
201
- InputComponent,
202
- InputSuffixDirective,
203
- IconComponent,
204
- NgIf,
205
- NgTemplateOutlet,
206
- NgFor,
207
- ], template: "<div\n [class]=\"rootClass\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"$hasSelected() && this.clearable && !this.disabled\"\n [class.isFilterable]=\"filterable\"\n [class.isOpened]=\"opened\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n auiTooltipAnimType=\"scaleY\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onOptionsVisibleChange($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-cascader__input\"\n [class.aui-cascader__input-inaction]=\"inaction\"\n autocomplete=\"off\"\n aui-input\n [disabled]=\"disabled\"\n [size]=\"size\"\n [readonly]=\"readonly || inaction\"\n [placeholder]=\"placeholder\"\n (input)=\"onInput($event)\"\n (blur)=\"closeOption()\"\n />\n <span\n auiInputSuffix\n class=\"aui-cascader__icon-container\"\n >\n <aui-icon\n class=\"aui-cascader__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-cascader__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n <div\n *ngIf=\"$hasSelected() && !filterString\"\n class=\"aui-cascader__label-container aui-input aui-input--{{ size }}\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.readonly]=\"readonly ? true : null\"\n >\n <div class=\"aui-cascader__label\">\n <ng-container *ngIf=\"onlyShowLastLabel; else label\">\n {{ $selectedOptions()?.at(-1)?.label }}\n </ng-container>\n <ng-template #label>\n <ng-container\n *ngFor=\"let option of $selectedOptions(); let i = index\"\n >\n <span *ngIf=\"i !== 0\">/</span>\n {{ option.label }}\n </ng-container>\n </ng-template>\n </div>\n </div>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n [class]=\"containerClass\"\n [style.minWidth]=\"$containerWidth()\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n *ngIf=\"$optionsVisible() && !loading\"\n [class]=\"$OptionsContentClass()\"\n >\n <div\n class=\"aui-cascader-option-container__column\"\n *ngFor=\"\n let columnOptions of $any($visibleColumns());\n let columnIndex = index;\n trackBy: trackByOptions\n \"\n >\n <aui-cascader-option\n *ngFor=\"let option of columnOptions; trackBy: trackByOption\"\n [option]=\"option\"\n (click)=\"onOptionClick(option, columnIndex)\"\n [activated]=\"isOptionActivated(option, columnIndex)\"\n ></aui-cascader-option>\n </div>\n </div>\n\n <div\n *ngIf=\"!$optionsVisible() || loading\"\n class=\"aui-cascader-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-cascader{display:inline-block;position:relative;width:100%}.aui-cascader__icon-container{display:block;position:relative;pointer-events:none!important}.aui-cascader__icon-container .aui-icon{margin:0!important}.aui-cascader.isDisabled .aui-cascader__icon-container{color:rgb(var(--aui-color-n-4))}.aui-cascader__indicator{display:flex}.aui-cascader__clear{display:none}.aui-cascader__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-cascader__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-cascader.isClearable:not(.isDisabled):hover .aui-cascader__indicator{display:none}.aui-cascader.isClearable:not(.isDisabled):hover .aui-cascader__clear{display:flex;pointer-events:auto}.aui-cascader__label-container.aui-input{position:absolute;top:0;left:0;display:inline-flex;align-items:center;pointer-events:none;background-color:transparent;border-color:transparent}.aui-cascader__label-container.aui-input[readonly]{pointer-events:auto}.aui-cascader.isFilterable.isOpened .aui-cascader__label-container.aui-input{color:rgb(var(--aui-color-n-4))}.aui-cascader__label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-cascader__input-inaction{background-color:rgb(var(--aui-color-main-bg));border-color:rgb(var(--aui-color-n-7))!important;cursor:text}.aui-cascader__input-inaction:focus{border-color:rgb(var(--aui-color-primary))}.aui-cascader__input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))}aui-cascader.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-cascader.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-cascader.ng-invalid.ng-dirty .aui-input:focus,:root aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-cascader.ng-invalid .aui-input:focus,:root .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-cascader.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-cascader.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-cascader.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-cascader.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-cascader.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-cascader.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-cascader.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-cascader.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}.aui-cascader-option-container{padding:8px 0;max-width:90vw;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-cascader-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-cascader-option-container__content{display:flex;flex-direction:row;max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-cascader-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-cascader-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-cascader-option-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-cascader-option-container__search-content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-cascader-option-container__search-content::-webkit-scrollbar{width:4px;height:4px}.aui-cascader-option-container__search-content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-cascader-option-container__search-content::-webkit-scrollbar-corner{background-color:transparent}.aui-cascader-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center;display:inline-block;position:relative;width:100%}.aui-cascader-option-container__content .aui-cascader-option-container__column{min-width:92px;max-width:246px}.aui-cascader-option-container__search-content .aui-cascader-option-container__column{min-width:0;max-width:90vw}.aui-cascader-option-container__column+.aui-cascader-option-container__column{border-left:1px solid rgb(var(--aui-color-border))}\n"] }]
208
- }], propDecorators: { size: [{
209
- type: Input
210
- }], filterable: [{
211
- type: Input,
212
- args: [{ transform: coerceAttrBoolean }]
213
- }], clearable: [{
214
- type: Input,
215
- args: [{ transform: coerceAttrBoolean }]
216
- }], onlyShowLastLabel: [{
217
- type: Input,
218
- args: [{ transform: coerceAttrBoolean }]
219
- }], changeOnSelect: [{
220
- type: Input,
221
- args: [{ transform: coerceAttrBoolean }]
222
- }], loading: [{
223
- type: Input
224
- }], placeholder: [{
225
- type: Input
226
- }], loadData: [{
227
- type: Input
228
- }], options: [{
229
- type: Input
230
- }], inputRef: [{
231
- type: ViewChild,
232
- args: ['inputRef', { static: true }]
233
- }], tooltipRef: [{
234
- type: ViewChild,
235
- args: ['tooltipRef', { static: true }]
236
- }], selectRef: [{
237
- type: ViewChild,
238
- args: ['selectRef', { static: true }]
239
- }], filterChange: [{
240
- type: Output
241
- }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nhc2NhZGVyL2Nhc2NhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9jYXNjYWRlci9jYXNjYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3BCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUNMLGFBQWEsRUFDYixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGFBQWEs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O3NCQUQxQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9CLFNBQVM7c0JBRGxCLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJeEMsWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgZm9yd2FyZFJlZixcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1vbkZvcm1Db250cm9sIH0gZnJvbSAnLi4vZm9ybSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQge1xuICBJbnB1dENvbXBvbmVudCxcbiAgSW5wdXRTdWZmaXhEaXJlY3RpdmUsXG4gIElucHV0R3JvdXBDb21wb25lbnQsXG59IGZyb20gJy4uL2lucHV0JztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi9pbnRlcm5hbC90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJy4uL2ludGVybmFsL3V0aWxzJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwJztcblxuaW1wb3J0IHsgQ2FzY2FkZXJPcHRpb24sIFNlYXJjaGVkQ2FzY2FkZXJPcHRpb24gfSBmcm9tICcuL2Nhc2NhZGVyLnR5cGVzJztcbmltcG9ydCB7IENhc2NhZGVyT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBkcm9wUmVzdEl0ZW1zLFxuICBpc1BhcmVudE9wdGlvbixcbiAgc2VhcmNoQ2FzY2FkZU9wdGlvbnMsXG4gIHRyYWNrQnlPcHRpb24sXG4gIHRyYWNrQnlPcHRpb25zLFxufSBmcm9tICcuL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWNhc2NhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdjYXNjYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjYXNjYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2FzY2FkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENhc2NhZGVyT3B0aW9uQ29tcG9uZW50LFxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgSW5wdXRHcm91cENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBJbnB1dFN1ZmZpeERpcmVjdGl2ZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBOZ0ZvcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzY2FkZXJDb21wb25lbnQ8VCA9IHVua25vd24+IGV4dGVuZHMgQ29tbW9uRm9ybUNvbnRyb2w8VFtdPiB7XG4gIEBJbnB1dCgpXG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLiQkc2l6ZSgpO1xuICB9XG5cbiAgc2V0IHNpemUodmFsKSB7XG4gICAgaWYgKCF2YWwgfHwgdGhpcy4kJHNpemUoKSA9PT0gdmFsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuJCRzaXplLnNldCh2YWwpO1xuICB9XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VBdHRyQm9vbGVhbiB9KVxuICBmaWx0ZXJhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUF0dHJCb29sZWFuIH0pXG4gIGNsZWFyYWJsZTogYm9vbGVhbjtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUF0dHJCb29sZWFuIH0pXG4gIG9ubHlTaG93TGFzdExhYmVsID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VBdHRyQm9vbGVhbiB9KVxuICBjaGFuZ2VPblNlbGVjdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlciA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWREYXRhOiAoXG4gICAgc2VsZWN0ZWRPcHRpb246IENhc2NhZGVyT3B0aW9uPFQ+LFxuICApID0+XG4gICAgfCBQcm9taXNlTGlrZTxBcnJheTxDYXNjYWRlck9wdGlvbjxUPj4+XG4gICAgfCBPYnNlcnZhYmxlPEFycmF5PENhc2NhZGVyT3B0aW9uPFQ+Pj47XG5cbiAgQElucHV0KClcbiAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuJCRvcHRpb25zKCk7XG4gIH1cblxuICBzZXQgb3B0aW9ucyh2YWwpIHtcbiAgICB0aGlzLiQkb3B0aW9ucy5zZXQodmFsKTtcbiAgICB0aGlzLiQkY29sdW1ucy5zZXQoW3ZhbF0pO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFJlZjogSW5wdXRDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgdG9vbHRpcFJlZjogVG9vbHRpcERpcmVjdGl2ZTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3RSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgc2VsZWN0UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAT3V0cHV0KClcbiAgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgZ2V0IHJvb3RDbGFzcygpIHtcbiAgICByZXR1cm4gYGF1aS1jYXNjYWRlciBhdWktY2FzY2FkZXItLSR7dGhpcy4kJHNpemUoKX1gO1xuICB9XG5cbiAgZ2V0IGNvbnRhaW5lckNsYXNzKCkge1xuICAgIHJldHVybiBgYXVpLWNhc2NhZGVyLW9wdGlvbi1jb250YWluZXIgYXVpLWNhc2NhZGVyLW9wdGlvbi1jb250YWluZXItLSR7dGhpcy4kJHNpemUoKX1gO1xuICB9XG5cbiAgZ2V0IG9wZW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwUmVmLmlzQ3JlYXRlZDtcbiAgfVxuXG4gIGdldCBpbmFjdGlvbigpIHtcbiAgICByZXR1cm4gISh0aGlzLmZpbHRlcmFibGUgJiYgdGhpcy5vcGVuZWQpO1xuICB9XG5cbiAgZ2V0IGZpbHRlclN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy4kJGZpbHRlclN0cmluZygpO1xuICB9XG5cbiAgc2V0IGZpbHRlclN0cmluZyh2YWwpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLiQkZmlsdGVyU3RyaW5nKCkpIHtcbiAgICAgIHRoaXMuJCRmaWx0ZXJTdHJpbmcuc2V0KHZhbCk7XG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeU9wdGlvbnMgPSB0cmFja0J5T3B0aW9ucztcbiAgdHJhY2tCeU9wdGlvbiA9IHRyYWNrQnlPcHRpb247XG5cbiAgJCRzaXplID0gc2lnbmFsPENvbXBvbmVudFNpemU+KENvbXBvbmVudFNpemUuTWVkaXVtKTtcbiAgJCRmaWx0ZXJTdHJpbmcgPSBzaWduYWwoJycpO1xuICAkJG9wdGlvbnMgPSBzaWduYWw8QXJyYXk8Q2FzY2FkZXJPcHRpb248VD4+PihbXSk7XG4gICQkY29sdW1ucyA9IHNpZ25hbDxBcnJheTxBcnJheTxDYXNjYWRlck9wdGlvbjxUPj4+PihbXSk7XG5cbiAgJG1vZGVsID0gdG9TaWduYWwodGhpcy5tb2RlbCQpO1xuXG4gICRzZWxlY3RlZE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zOiBBcnJheTxDYXNjYWRlck9wdGlvbjxUPj4gPSBbXTtcbiAgICBsZXQgY3VycmVudENvbHVtbk9wdGlvbnMgPSB0aGlzLiQkb3B0aW9ucygpO1xuICAgIHRoaXMuJG1vZGVsKCk/LmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgY29uc3QgY3VycmVudENvbHVtbk9wdGlvbiA9IGN1cnJlbnRDb2x1bW5PcHRpb25zPy5maW5kKFxuICAgICAgICBvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSxcbiAgICAgICk7XG4gICAgICBzZWxlY3RlZE9wdGlvbnMucHVzaChjdXJyZW50Q29sdW1uT3B0aW9uKTtcbiAgICAgIGN1cnJlbnRDb2x1bW5PcHRpb25zID0gY3VycmVudENvbHVtbk9wdGlvbi5jaGlsZHJlbjtcbiAgICB9KTtcbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zO1xuICB9KTtcblxuICAkc2VhcmNoZWRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLiRpblNlYXJjaGluZygpXG4gICAgICA/IHNlYXJjaENhc2NhZGVPcHRpb25zKHRoaXMuJCRvcHRpb25zKCksIHRoaXMuJCRmaWx0ZXJTdHJpbmcoKSlcbiAgICAgIDogW10sXG4gICk7XG5cbiAgJG9wdGlvbnNWaXNpYmxlID0gY29tcHV0ZWQoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuJCRvcHRpb25zKCkubGVuZ3RoID4gMCAmJlxuICAgICAgKCF0aGlzLiQkZmlsdGVyU3RyaW5nKCkgfHwgdGhpcy4kc2VhcmNoZWRPcHRpb25zKCkubGVuZ3RoID4gMCksXG4gICk7XG5cbiAgJGhhc1NlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4kc2VsZWN0ZWRPcHRpb25zKCkubGVuZ3RoID4gMCk7XG4gICRpblNlYXJjaGluZyA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy4kJGZpbHRlclN0cmluZygpKTtcblxuICAkY29udGFpbmVyV2lkdGggPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuJCRvcHRpb25zKCkubGVuZ3RoID09PSAwIHx8ICEhdGhpcy4kJGZpbHRlclN0cmluZygpXG4gICAgICA/IHRoaXMuc2VsZWN0UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAncHgnXG4gICAgICA6IG51bGwsXG4gICk7XG5cbiAgJE9wdGlvbnNDb250ZW50Q2xhc3MgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuJGluU2VhcmNoaW5nKClcbiAgICAgID8gJ2F1aS1jYXNjYWRlci1vcHRpb24tY29udGFpbmVyX19zZWFyY2gtY29udGVudCdcbiAgICAgIDogJ2F1aS1jYXNjYWRlci1vcHRpb24tY29udGFpbmVyX19jb250ZW50JyxcbiAgKTtcblxuICAkdmlzaWJsZUNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuJHNlYXJjaGVkT3B0aW9ucygpLmxlbmd0aCA+IDBcbiAgICAgID8gW3RoaXMuJHNlYXJjaGVkT3B0aW9ucygpXVxuICAgICAgOiB0aGlzLiQkY29sdW1ucygpLFxuICApO1xuXG4gIGFjdGl2YXRlZE9wdGlvbnM6IEFycmF5PENhc2NhZGVyT3B0aW9uPFQ+PiA9IFtdO1xuXG4gIGNsZWFyVmFsdWUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5lbWl0VmFsdWUobnVsbCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIGNsb3NlT3B0aW9uKCkge1xuICAgIHRoaXMudG9vbHRpcFJlZi5oaWRlKCk7XG4gIH1cblxuICBvbk9wdGlvbnNWaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXZpc2libGUpIHtcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgICB0aGlzLmlucHV0UmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgdGhpcy5hY3RpdmF0ZWRPcHRpb25zID0gW107XG4gICAgICB0aGlzLiQkY29sdW1ucy5zZXQoW10pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZhdGVkT3B0aW9ucyA9IFsuLi50aGlzLiRzZWxlY3RlZE9wdGlvbnMoKV07XG4gICAgdGhpcy4kJGNvbHVtbnMuc2V0KFxuICAgICAgW3RoaXMub3B0aW9uc10uY29uY2F0KFxuICAgICAgICB0aGlzLmFjdGl2YXRlZE9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24uY2hpbGRyZW4pLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIG9uT3B0aW9uQ2xpY2soXG4gICAgb3B0aW9uOiBDYXNjYWRlck9wdGlvbjxUPiB8IFNlYXJjaGVkQ2FzY2FkZXJPcHRpb248VCwgVFtdPixcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyLFxuICApIHtcbiAgICBpZiAob3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuJGluU2VhcmNoaW5nKClcbiAgICAgID8gdGhpcy5vbkNsaWNrU2VhcmNoZWRPcHRpb24ob3B0aW9uIGFzIFNlYXJjaGVkQ2FzY2FkZXJPcHRpb248VCwgVFtdPilcbiAgICAgIDogdGhpcy5vbkNsaWNrT3B0aW9uKG9wdGlvbiBhcyBDYXNjYWRlck9wdGlvbjxUPiwgY29sdW1uSW5kZXgpO1xuICB9XG5cbiAgaXNPcHRpb25BY3RpdmF0ZWQoXG4gICAgb3B0aW9uOiBDYXNjYWRlck9wdGlvbjxUPiB8IFNlYXJjaGVkQ2FzY2FkZXJPcHRpb248VCwgVFtdPixcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy4kaW5TZWFyY2hpbmcoKVxuICAgICAgPyB0aGlzLmNoZWNrU2VhcmNoZWRPcHRpb25BY3RpdmF0ZWQoXG4gICAgICAgICAgb3B0aW9uIGFzIFNlYXJjaGVkQ2FzY2FkZXJPcHRpb248VCwgVFtdPixcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLmNoZWNrT3B0aW9uQWN0aXZhdGVkKG9wdGlvbiBhcyBDYXNjYWRlck9wdGlvbjxUPiwgY29sdW1uSW5kZXgpO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmZpbHRlclN0cmluZyA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrT3B0aW9uQWN0aXZhdGVkKG9wdGlvbjogQ2FzY2FkZXJPcHRpb248VD4sIGNvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmF0ZWRPcHRpb25zW2NvbHVtbkluZGV4XSA9PT0gb3B0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1NlYXJjaGVkT3B0aW9uQWN0aXZhdGVkKFxuICAgIHNlYXJjaGVkT3B0aW9uOiBTZWFyY2hlZENhc2NhZGVyT3B0aW9uPFQsIFRbXT4sXG4gICkge1xuICAgIHJldHVybiAoXG4gICAgICBzZWFyY2hlZE9wdGlvbi5wYXRoLmxlbmd0aCA9PT0gdGhpcy5hY3RpdmF0ZWRPcHRpb25zLmxlbmd0aCAmJlxuICAgICAgc2VhcmNoZWRPcHRpb24ucGF0aC5ldmVyeShcbiAgICAgICAgKG9wdGlvbiwgaW5kZXgpID0+IG9wdGlvbiA9PT0gdGhpcy5hY3RpdmF0ZWRPcHRpb25zW2luZGV4XSxcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNsaWNrT3B0aW9uKG9wdGlvbjogQ2FzY2FkZXJPcHRpb248VD4sIGNvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5jaGVja09wdGlvbkFjdGl2YXRlZChvcHRpb24sIGNvbHVtbkluZGV4KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2YXRlZE9wdGlvbnNbY29sdW1uSW5kZXhdID0gb3B0aW9uO1xuXG4gICAgY29uc3QgaXNQYXJlbnQgPSBpc1BhcmVudE9wdGlvbihvcHRpb24pO1xuICAgIGNvbnN0IHBlcmZvcm1DaGFuZ2UgPSAhaXNQYXJlbnQgfHwgdGhpcy5jaGFuZ2VPblNlbGVjdDtcblxuICAgIGlmIChpc1BhcmVudCAmJiBvcHRpb24uY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2V0Q29sdW1uc0RhdGEob3B0aW9uLCBjb2x1bW5JbmRleCk7XG4gICAgfSBlbHNlIGlmIChpc1BhcmVudCAmJiAhIXRoaXMubG9hZERhdGEpIHtcbiAgICAgIC8vIOmcgOimgeaHkuWKoOi9vSBjaGlsZHJlbiDnmoToioLngrnpnIDopoHmmL7lvI/nmoTlo7DmmI4gaXNMZWFmOiBmYWxzZVxuICAgICAgb3B0aW9uLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgZnJvbSh0aGlzLmxvYWREYXRhKG9wdGlvbikpLnN1YnNjcmliZShjaGlsZHJlbk9wdGlvbnMgPT4ge1xuICAgICAgICBvcHRpb24ubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBvcHRpb24uY2hpbGRyZW4gPSBjaGlsZHJlbk9wdGlvbnM7XG4gICAgICAgIHRoaXMuc2V0Q29sdW1uc0RhdGEob3B0aW9uLCBjb2x1bW5JbmRleCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hY3RpdmF0ZWRPcHRpb25zID0gZHJvcFJlc3RJdGVtcyh0aGlzLmFjdGl2YXRlZE9wdGlvbnMsIGNvbHVtbkluZGV4KTtcbiAgICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgICB9XG5cbiAgICBpZiAocGVyZm9ybUNoYW5nZSkge1xuICAgICAgdGhpcy5lbWl0VmFsdWUoXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkT3B0aW9ucy5tYXAoYWN0aXZhdGVkT3B0aW9uID0+IGFjdGl2YXRlZE9wdGlvbi52YWx1ZSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25DbGlja1NlYXJjaGVkT3B0aW9uKFxuICAgIHNlYXJjaGVkT3B0aW9uOiBTZWFyY2hlZENhc2NhZGVyT3B0aW9uPFQsIFRbXT4sXG4gICkge1xuICAgIGlmICh0aGlzLmNoZWNrU2VhcmNoZWRPcHRpb25BY3RpdmF0ZWQoc2VhcmNoZWRPcHRpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWN0aXZhdGVkT3B0aW9ucyA9IFsuLi5zZWFyY2hlZE9wdGlvbi5wYXRoXTtcbiAgICB0aGlzLmNsb3NlT3B0aW9uKCk7XG4gICAgdGhpcy5lbWl0VmFsdWUoXG4gICAgICB0aGlzLmFjdGl2YXRlZE9wdGlvbnMubWFwKGFjdGl2YXRlZE9wdGlvbiA9PiBhY3RpdmF0ZWRPcHRpb24udmFsdWUpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbHVtbnNEYXRhKG9wdGlvbjogQ2FzY2FkZXJPcHRpb248VD4sIGNvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLiQkY29sdW1ucy51cGRhdGUoY29sdW1ucyA9PiB7XG4gICAgICBjb2x1bW5zW2NvbHVtbkluZGV4ICsgMV0gPSBvcHRpb24uY2hpbGRyZW47XG4gICAgICByZXR1cm4gZHJvcFJlc3RJdGVtcyhjb2x1bW5zLCBjb2x1bW5JbmRleCArIDEpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICBbY2xhc3MuaXNEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5pc0NsZWFyYWJsZV09XCIkaGFzU2VsZWN0ZWQoKSAmJiB0aGlzLmNsZWFyYWJsZSAmJiAhdGhpcy5kaXNhYmxlZFwiXG4gIFtjbGFzcy5pc0ZpbHRlcmFibGVdPVwiZmlsdGVyYWJsZVwiXG4gIFtjbGFzcy5pc09wZW5lZF09XCJvcGVuZWRcIlxuICAjc2VsZWN0UmVmXG4gICN0b29sdGlwUmVmPVwiYXVpVG9vbHRpcFwiXG4gIFthdWlUb29sdGlwXT1cInRlbXBsYXRlUmVmXCJcbiAgYXVpVG9vbHRpcEFuaW1UeXBlPVwic2NhbGVZXCJcbiAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIGF1aVRvb2x0aXBUcmlnZ2VyPVwiY2xpY2tcIlxuICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuICBhdWlUb29sdGlwVHlwZT1cInBsYWluXCJcbiAgKGF1aVRvb2x0aXBWaXNpYmxlQ2hhbmdlKT1cIm9uT3B0aW9uc1Zpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gIDxhdWktaW5wdXQtZ3JvdXA+XG4gICAgPGlucHV0XG4gICAgICAjaW5wdXRSZWZcbiAgICAgIGNsYXNzPVwiYXVpLWNhc2NhZGVyX19pbnB1dFwiXG4gICAgICBbY2xhc3MuYXVpLWNhc2NhZGVyX19pbnB1dC1pbmFjdGlvbl09XCJpbmFjdGlvblwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXVpLWlucHV0XG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgaW5hY3Rpb25cIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgKGJsdXIpPVwiY2xvc2VPcHRpb24oKVwiXG4gICAgLz5cbiAgICA8c3BhblxuICAgICAgYXVpSW5wdXRTdWZmaXhcbiAgICAgIGNsYXNzPVwiYXVpLWNhc2NhZGVyX19pY29uLWNvbnRhaW5lclwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgIGNsYXNzPVwiYXVpLWNhc2NhZGVyX19pbmRpY2F0b3JcIlxuICAgICAgICBbaWNvbl09XCJsb2FkaW5nID8gJ3NwaW5uZXInIDogJ2NhcmV0X2Rvd25fcydcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktY2FzY2FkZXJfX2NsZWFyXCJcbiAgICAgICAgaWNvbj1cInhtYXJrX3NtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIkaGFzU2VsZWN0ZWQoKSAmJiAhZmlsdGVyU3RyaW5nXCJcbiAgICAgIGNsYXNzPVwiYXVpLWNhc2NhZGVyX19sYWJlbC1jb250YWluZXIgYXVpLWlucHV0IGF1aS1pbnB1dC0te3sgc2l6ZSB9fVwiXG4gICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gdHJ1ZSA6IG51bGxcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJhdWktY2FzY2FkZXJfX2xhYmVsXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvbmx5U2hvd0xhc3RMYWJlbDsgZWxzZSBsYWJlbFwiPlxuICAgICAgICAgIHt7ICRzZWxlY3RlZE9wdGlvbnMoKT8uYXQoLTEpPy5sYWJlbCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNsYWJlbD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mICRzZWxlY3RlZE9wdGlvbnMoKTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpICE9PSAwXCI+Lzwvc3Bhbj5cbiAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYXVpLWlucHV0LWdyb3VwPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBbY2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIlxuICAgIFtzdHlsZS5taW5XaWR0aF09XCIkY29udGFpbmVyV2lkdGgoKVwiXG4gICAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiRvcHRpb25zVmlzaWJsZSgpICYmICFsb2FkaW5nXCJcbiAgICAgIFtjbGFzc109XCIkT3B0aW9uc0NvbnRlbnRDbGFzcygpXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYXVpLWNhc2NhZGVyLW9wdGlvbi1jb250YWluZXJfX2NvbHVtblwiXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBjb2x1bW5PcHRpb25zIG9mICRhbnkoJHZpc2libGVDb2x1bW5zKCkpO1xuICAgICAgICAgIGxldCBjb2x1bW5JbmRleCA9IGluZGV4O1xuICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlPcHRpb25zXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxhdWktY2FzY2FkZXItb3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjb2x1bW5PcHRpb25zOyB0cmFja0J5OiB0cmFja0J5T3B0aW9uXCJcbiAgICAgICAgICBbb3B0aW9uXT1cIm9wdGlvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uT3B0aW9uQ2xpY2sob3B0aW9uLCBjb2x1bW5JbmRleClcIlxuICAgICAgICAgIFthY3RpdmF0ZWRdPVwiaXNPcHRpb25BY3RpdmF0ZWQob3B0aW9uLCBjb2x1bW5JbmRleClcIlxuICAgICAgICA+PC9hdWktY2FzY2FkZXItb3B0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiEkb3B0aW9uc1Zpc2libGUoKSB8fCBsb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYXVpLWNhc2NhZGVyLW9wdGlvbi1jb250YWluZXJfX3BsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhdWktb3B0aW9uLXBsYWNlaG9sZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,28 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { IconModule } from '../icon';
4
- import { CascaderComponent } from './cascader.component';
5
- import { CascaderOptionComponent } from './option/option.component';
6
- import * as i0 from "@angular/core";
7
- export class CascaderModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CascaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: CascaderModule, imports: [CommonModule,
10
- IconModule,
11
- CascaderComponent,
12
- CascaderOptionComponent], exports: [CascaderComponent, CascaderOptionComponent] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CascaderModule, imports: [CommonModule,
14
- IconModule] });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CascaderModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- imports: [
20
- CommonModule,
21
- IconModule,
22
- CascaderComponent,
23
- CascaderOptionComponent,
24
- ],
25
- exports: [CascaderComponent, CascaderOptionComponent],
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nhc2NhZGVyL2Nhc2NhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVdwRSxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsWUFQdkIsWUFBWTtZQUNaLFVBQVU7WUFDVixpQkFBaUI7WUFDakIsdUJBQXVCLGFBRWYsaUJBQWlCLEVBQUUsdUJBQXVCO3dHQUV6QyxjQUFjLFlBUHZCLFlBQVk7WUFDWixVQUFVOzsyRkFNRCxjQUFjO2tCQVQxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7IENhc2NhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNjYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzY2FkZXJPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIENhc2NhZGVyQ29tcG9uZW50LFxuICAgIENhc2NhZGVyT3B0aW9uQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbQ2FzY2FkZXJDb21wb25lbnQsIENhc2NhZGVyT3B0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzY2FkZXJNb2R1bGUge31cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FzY2FkZXJPcHRpb248VD4ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogVDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgaXNMZWFmPzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBBcnJheTxDYXNjYWRlck9wdGlvbjxUPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoZWRDYXNjYWRlck9wdGlvbjxSLCBUIGV4dGVuZHMgUltdPlxuICBleHRlbmRzIENhc2NhZGVyT3B0aW9uPFQ+IHtcbiAgcGF0aDogQXJyYXk8Q2FzY2FkZXJPcHRpb248Uj4+O1xufVxuIl19
@@ -1,5 +0,0 @@
1
- export * from './cascader.component';
2
- export * from './cascader.module';
3
- export * from './cascader.types';
4
- export * from './option/option.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2FzY2FkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FzY2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzY2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzY2FkZXIudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG4iXX0=