ngx-tethys 17.0.6 → 17.0.8

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 (53) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/breadcrumb/breadcrumb.component.d.ts +30 -2
  3. package/breadcrumb/module.d.ts +3 -1
  4. package/breadcrumb/styles/breadcrumb.scss +8 -0
  5. package/date-picker/abstract-picker.component.d.ts +8 -1
  6. package/date-picker/date-picker.config.d.ts +1 -0
  7. package/date-picker/date-picker.service.d.ts +1 -0
  8. package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
  9. package/date-picker/picker.util.d.ts +2 -0
  10. package/esm2022/breadcrumb/breadcrumb.component.mjs +73 -32
  11. package/esm2022/breadcrumb/module.mjs +6 -4
  12. package/esm2022/cascader/cascader-search-option.component.mjs +2 -2
  13. package/esm2022/cascader/cascader.component.mjs +3 -3
  14. package/esm2022/date-picker/abstract-picker.component.mjs +20 -10
  15. package/esm2022/date-picker/abstract-picker.directive.mjs +3 -2
  16. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  17. package/esm2022/date-picker/date-picker.config.mjs +2 -1
  18. package/esm2022/date-picker/date-picker.service.mjs +4 -1
  19. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +7 -4
  20. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  21. package/esm2022/date-picker/picker.util.mjs +14 -2
  22. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  23. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  24. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  25. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  26. package/esm2022/pagination/pagination.class.mjs +1 -1
  27. package/esm2022/pagination/pagination.component.mjs +15 -3
  28. package/esm2022/pagination/pagination.config.mjs +3 -2
  29. package/esm2022/table/table-skeleton.component.mjs +4 -4
  30. package/esm2022/table/table.component.mjs +6 -4
  31. package/esm2022/util/helpers/helpers.mjs +2 -2
  32. package/esm2022/version.mjs +2 -2
  33. package/fesm2022/ngx-tethys-breadcrumb.mjs +117 -77
  34. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  35. package/fesm2022/ngx-tethys-cascader.mjs +3 -3
  36. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  37. package/fesm2022/ngx-tethys-date-picker.mjs +54 -25
  38. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  39. package/fesm2022/ngx-tethys-pagination.mjs +16 -3
  40. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  41. package/fesm2022/ngx-tethys-table.mjs +8 -6
  42. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  43. package/fesm2022/ngx-tethys-util.mjs +1 -1
  44. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys.mjs +1 -1
  46. package/fesm2022/ngx-tethys.mjs.map +1 -1
  47. package/package.json +1 -1
  48. package/pagination/pagination.class.d.ts +4 -0
  49. package/pagination/pagination.component.d.ts +6 -1
  50. package/schematics/version.d.ts +1 -1
  51. package/schematics/version.js +1 -1
  52. package/table/table.component.d.ts +3 -1
  53. package/util/helpers/helpers.d.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,37 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
3
+ All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
+
5
+ ## [17.0.8](https://github.com/atinc/ngx-tethys/compare/17.0.7...17.0.8) (2024-05-31)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **date-picker:** handle range directive add timestampPrecision (#INFR-11707) ([#3099](https://github.com/atinc/ngx-tethys/issues/3099)) ([38bd5dd](https://github.com/atinc/ngx-tethys/commit/38bd5dd8408acb22f4c49503c6854f42354e711f)), closes [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707)
11
+
12
+
13
+ ### Features
14
+
15
+ * **breadcrumb:** 面包屑导航支持传入items时省略展示 #INFR-12463 [@wangkai](https://github.com/wangkai) [@xuhaifeng](https://github.com/xuhaifeng) [@wumeimin](https://github.com/wumeimin) ([#3098](https://github.com/atinc/ngx-tethys/issues/3098)) ([c3da50f](https://github.com/atinc/ngx-tethys/commit/c3da50f2625fbc5cd4d7c25215758401176c132e)), closes [#INFR-12463](https://github.com/atinc/ngx-tethys/issues/INFR-12463)
16
+
17
+
18
+
19
+ ## [17.0.7](https://github.com/atinc/ngx-tethys/compare/17.0.6...17.0.7) (2024-05-28)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * **cascader:** remove divider when set thyCustomOptions to undefined #INFR-12299 ([#3085](https://github.com/atinc/ngx-tethys/issues/3085)) ([80813dd](https://github.com/atinc/ngx-tethys/commit/80813dd425695e88f040983ac0b2e5428c3889af)), closes [#INFR-12299](https://github.com/atinc/ngx-tethys/issues/INFR-12299)
25
+ * **table:** change bind style with ngStyle #INFR-12443 ([d91d142](https://github.com/atinc/ngx-tethys/commit/d91d142dc65c289a98b9adfd04d948386a9a0507)), closes [#INFR-12443](https://github.com/atinc/ngx-tethys/issues/INFR-12443)
26
+
27
+
28
+ ### Features
29
+
30
+ * **date-picker:** support set time tamp length default length to 10 #INFR-11707 [@wumeimin](https://github.com/wumeimin) [@xuhaifeng](https://github.com/xuhaifeng) (#INFR-11707) ([#3089](https://github.com/atinc/ngx-tethys/issues/3089)) ([44b05f7](https://github.com/atinc/ngx-tethys/commit/44b05f7b635af17a8502d09ffe62c99308a0ab64)), closes [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707) [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707) [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707) [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707) [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707) [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707) [#INFR-11707](https://github.com/atinc/ngx-tethys/issues/INFR-11707)
31
+ * **pagination:** support pagination custom suffix unit(#INFR-12336) ([#3091](https://github.com/atinc/ngx-tethys/issues/3091)) ([88f4db0](https://github.com/atinc/ngx-tethys/commit/88f4db0d8caa2720c523a5e8c28cc240abdf2fbf)), closes [#INFR-12336](https://github.com/atinc/ngx-tethys/issues/INFR-12336)
32
+ * **util:** remove deprecated for coerceBooleanProperty #INFR-12378 ([#3088](https://github.com/atinc/ngx-tethys/issues/3088)) ([921945a](https://github.com/atinc/ngx-tethys/commit/921945a5cd461ea31829aef9fac42eb4e3bf233f)), closes [#INFR-12378](https://github.com/atinc/ngx-tethys/issues/INFR-12378)
33
+
34
+
4
35
 
5
36
  ## [17.0.6](https://github.com/atinc/ngx-tethys/compare/17.0.5...17.0.6) (2024-04-22)
6
37
 
@@ -1,10 +1,13 @@
1
+ import { TemplateRef, OnChanges, SimpleChanges, OnInit, ChangeDetectorRef } from '@angular/core';
2
+ import { SafeAny } from 'ngx-tethys/types';
1
3
  import * as i0 from "@angular/core";
2
4
  /**
3
5
  * 面包屑组件
4
6
  * @name thy-breadcrumb
5
7
  * @order 10
6
8
  */
7
- export declare class ThyBreadcrumb {
9
+ export declare class ThyBreadcrumb implements OnInit, OnChanges {
10
+ private cdr;
8
11
  iconClasses: string[];
9
12
  svgIconName: string;
10
13
  /**
@@ -16,7 +19,32 @@ export declare class ThyBreadcrumb {
16
19
  * @type slash | backslash | vertical-line
17
20
  */
18
21
  thySeparator: 'slash' | 'backslash' | 'vertical-line';
22
+ /**
23
+ * 面包屑的每一项数据
24
+ */
25
+ items: SafeAny[];
26
+ /**
27
+ * 最大显示数量,超出此数量后,面包屑会被省略, 0 表示不省略(仅当传入 thyItems 时有效)
28
+ */
29
+ thyMaxCount: number;
30
+ /**
31
+ * 是否可点击弹出已被省略的面包屑项(仅当传入 thyItems 时有效)
32
+ */
33
+ thyExpandable: boolean;
34
+ /**
35
+ * 面包屑的每一项模板(仅当传入 thyItems 时有效)
36
+ */
37
+ itemTemplate: TemplateRef<SafeAny>;
38
+ ellipsisItemId: string;
39
+ ellipsisItems: SafeAny[];
40
+ showItems: SafeAny[];
41
+ constructor(cdr: ChangeDetectorRef);
42
+ ngOnInit(): void;
43
+ ngOnChanges(changes: SimpleChanges): void;
19
44
  private setIcon;
45
+ private resetItems;
20
46
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyBreadcrumb, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<ThyBreadcrumb, "thy-breadcrumb", ["ThyBreadcrumb"], { "thyIcon": { "alias": "thyIcon"; "required": false; }; "thySeparator": { "alias": "thySeparator"; "required": false; }; }, {}, never, ["*"], true, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<ThyBreadcrumb, "thy-breadcrumb", ["ThyBreadcrumb"], { "thyIcon": { "alias": "thyIcon"; "required": false; }; "thySeparator": { "alias": "thySeparator"; "required": false; }; "items": { "alias": "thyItems"; "required": false; }; "thyMaxCount": { "alias": "thyMaxCount"; "required": false; }; "thyExpandable": { "alias": "thyExpandable"; "required": false; }; }, {}, ["itemTemplate"], ["*"], true, never>;
48
+ static ngAcceptInputType_thyMaxCount: unknown;
49
+ static ngAcceptInputType_thyExpandable: boolean | string | number;
22
50
  }
@@ -3,8 +3,10 @@ import * as i1 from "@angular/common";
3
3
  import * as i2 from "ngx-tethys/icon";
4
4
  import * as i3 from "./breadcrumb.component";
5
5
  import * as i4 from "./breadcrumb-item.component";
6
+ import * as i5 from "ngx-tethys/action";
7
+ import * as i6 from "ngx-tethys/dropdown";
6
8
  export declare class ThyBreadcrumbModule {
7
9
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyBreadcrumbModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<ThyBreadcrumbModule, never, [typeof i1.CommonModule, typeof i2.ThyIconModule, typeof i3.ThyBreadcrumb, typeof i4.ThyBreadcrumbItem], [typeof i3.ThyBreadcrumb, typeof i4.ThyBreadcrumbItem]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ThyBreadcrumbModule, never, [typeof i1.CommonModule, typeof i2.ThyIconModule, typeof i3.ThyBreadcrumb, typeof i4.ThyBreadcrumbItem, typeof i5.ThyActionModule, typeof i6.ThyDropdownModule], [typeof i3.ThyBreadcrumb, typeof i4.ThyBreadcrumbItem]>;
9
11
  static ɵinj: i0.ɵɵInjectorDeclaration<ThyBreadcrumbModule>;
10
12
  }
@@ -38,6 +38,14 @@
38
38
  color: variables.$breadcrumb-separator-color;
39
39
  font-size: variables.$font-size-base;
40
40
  }
41
+
42
+ &.thy-breadcrumb-item-ellipsis .ellipsis-action {
43
+ opacity: unset;
44
+ .thy-icon {
45
+ margin-left: 0;
46
+ margin-right: 0;
47
+ }
48
+ }
41
49
  }
42
50
 
43
51
  &.thy-breadcrumb-separator {
@@ -14,6 +14,7 @@ export declare abstract class AbstractPickerComponent extends TabIndexDisabledCo
14
14
  cdr: ChangeDetectorRef;
15
15
  thyValue: CompatibleValue | null;
16
16
  _panelMode: ThyPanelMode;
17
+ private datePickerConfigService;
17
18
  /**
18
19
  * 模式
19
20
  * @type decade | year | month | date | week | flexible
@@ -64,6 +65,11 @@ export declare abstract class AbstractPickerComponent extends TabIndexDisabledCo
64
65
  * @type xs | sm | md | lg | default
65
66
  */
66
67
  thySize: 'lg' | 'md' | 'sm' | 'xs' | 'default';
68
+ /**
69
+ * 设置时间戳精度
70
+ * @default seconds 10位
71
+ */
72
+ thyTimestampPrecision: 'seconds' | 'milliseconds';
67
73
  /**
68
74
  * 展示的日期格式
69
75
  * @default yyyy-MM-dd
@@ -145,8 +151,9 @@ export declare abstract class AbstractPickerComponent extends TabIndexDisabledCo
145
151
  setDisabledState(disabled: boolean): void;
146
152
  private setDefaultPlaceHolder;
147
153
  setValue(value: CompatibleDate): void;
154
+ private setValueByPrecision;
148
155
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractPickerComponent, never>;
149
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPickerComponent, never, never, { "thyMode": { "alias": "thyMode"; "required": false; }; "thyAllowClear": { "alias": "thyAllowClear"; "required": false; }; "thyAutoFocus": { "alias": "thyAutoFocus"; "required": false; }; "thyOpen": { "alias": "thyOpen"; "required": false; }; "thyDisabledDate": { "alias": "thyDisabledDate"; "required": false; }; "thyMinDate": { "alias": "thyMinDate"; "required": false; }; "thyMaxDate": { "alias": "thyMaxDate"; "required": false; }; "thyPlaceHolder": { "alias": "thyPlaceHolder"; "required": false; }; "thyReadonly": { "alias": "thyReadonly"; "required": false; }; "thyOriginClassName": { "alias": "thyOriginClassName"; "required": false; }; "thyPanelClassName": { "alias": "thyPanelClassName"; "required": false; }; "thySize": { "alias": "thySize"; "required": false; }; "thyFormat": { "alias": "thyFormat"; "required": false; }; "thyAutoStartAndEnd": { "alias": "thyAutoStartAndEnd"; "required": false; }; "thyDefaultPickerValue": { "alias": "thyDefaultPickerValue"; "required": false; }; "thySuffixIcon": { "alias": "thySuffixIcon"; "required": false; }; "thyShowShortcut": { "alias": "thyShowShortcut"; "required": false; }; "thyShortcutPosition": { "alias": "thyShortcutPosition"; "required": false; }; "thyShortcutPresets": { "alias": "thyShortcutPresets"; "required": false; }; "thyDisabled": { "alias": "thyDisabled"; "required": false; }; }, { "thyDateChange": "thyDateChange"; "thyOpenChange": "thyOpenChange"; }, never, never, false, never>;
156
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPickerComponent, never, never, { "thyMode": { "alias": "thyMode"; "required": false; }; "thyAllowClear": { "alias": "thyAllowClear"; "required": false; }; "thyAutoFocus": { "alias": "thyAutoFocus"; "required": false; }; "thyOpen": { "alias": "thyOpen"; "required": false; }; "thyDisabledDate": { "alias": "thyDisabledDate"; "required": false; }; "thyMinDate": { "alias": "thyMinDate"; "required": false; }; "thyMaxDate": { "alias": "thyMaxDate"; "required": false; }; "thyPlaceHolder": { "alias": "thyPlaceHolder"; "required": false; }; "thyReadonly": { "alias": "thyReadonly"; "required": false; }; "thyOriginClassName": { "alias": "thyOriginClassName"; "required": false; }; "thyPanelClassName": { "alias": "thyPanelClassName"; "required": false; }; "thySize": { "alias": "thySize"; "required": false; }; "thyTimestampPrecision": { "alias": "thyTimestampPrecision"; "required": false; }; "thyFormat": { "alias": "thyFormat"; "required": false; }; "thyAutoStartAndEnd": { "alias": "thyAutoStartAndEnd"; "required": false; }; "thyDefaultPickerValue": { "alias": "thyDefaultPickerValue"; "required": false; }; "thySuffixIcon": { "alias": "thySuffixIcon"; "required": false; }; "thyShowShortcut": { "alias": "thyShowShortcut"; "required": false; }; "thyShortcutPosition": { "alias": "thyShortcutPosition"; "required": false; }; "thyShortcutPresets": { "alias": "thyShortcutPresets"; "required": false; }; "thyDisabled": { "alias": "thyDisabled"; "required": false; }; }, { "thyDateChange": "thyDateChange"; "thyOpenChange": "thyOpenChange"; }, never, never, false, never>;
150
157
  static ngAcceptInputType_thyAllowClear: unknown;
151
158
  static ngAcceptInputType_thyAutoFocus: unknown;
152
159
  static ngAcceptInputType_thyOpen: unknown;
@@ -7,6 +7,7 @@ export interface ThyDatePickerConfig {
7
7
  shortcutRangesPresets: CompatiblePresets;
8
8
  showShortcut: boolean;
9
9
  weekStartsOn: WeekDayIndex;
10
+ timestampPrecision: 'seconds' | 'milliseconds';
10
11
  }
11
12
  export declare const DEFAULT_DATE_PICKER_CONFIG: ThyDatePickerConfig;
12
13
  export declare const THY_DATE_PICKER_CONFIG: InjectionToken<ThyDatePickerConfig>;
@@ -7,6 +7,7 @@ export declare class ThyDatePickerConfigService {
7
7
  get shortcutPosition(): import("ngx-tethys/date-picker").ThyShortcutPosition;
8
8
  get showShortcut(): boolean;
9
9
  get shortcutRangesPresets(): import("ngx-tethys/date-picker").CompatiblePresets;
10
+ get timestampPrecision(): "seconds" | "milliseconds";
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDatePickerConfigService, [{ optional: true; }]>;
11
12
  static ɵprov: i0.ɵɵInjectableDeclaration<ThyDatePickerConfigService>;
12
13
  }
@@ -35,6 +35,7 @@ export declare class DatePopup implements OnChanges, OnInit {
35
35
  shortcutPosition: ThyShortcutPosition;
36
36
  flexible: boolean;
37
37
  flexibleDateGranularity: ThyDateGranularity;
38
+ timestampPrecision: 'seconds' | 'milliseconds';
38
39
  readonly panelModeChange: EventEmitter<ThyPanelMode | ThyPanelMode[]>;
39
40
  readonly calendarChange: EventEmitter<CompatibleValue>;
40
41
  readonly valueChange: EventEmitter<CompatibleValue | RangeAdvancedValue>;
@@ -92,5 +93,5 @@ export declare class DatePopup implements OnChanges, OnInit {
92
93
  shortcutSetValue(shortcutPresets: ThyShortcutPreset): void;
93
94
  trackByFn(index: number): number;
94
95
  static ɵfac: i0.ɵɵFactoryDeclaration<DatePopup, never>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<DatePopup, "date-popup", ["datePopup"], { "isRange": { "alias": "isRange"; "required": false; }; "showWeek": { "alias": "showWeek"; "required": false; }; "format": { "alias": "format"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "showToday": { "alias": "showToday"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "mustShowTime": { "alias": "mustShowTime"; "required": false; }; "dateRender": { "alias": "dateRender"; "required": false; }; "className": { "alias": "className"; "required": false; }; "panelMode": { "alias": "panelMode"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultPickerValue": { "alias": "defaultPickerValue"; "required": false; }; "showShortcut": { "alias": "showShortcut"; "required": false; }; "shortcutPresets": { "alias": "shortcutPresets"; "required": false; }; "shortcutPosition": { "alias": "shortcutPosition"; "required": false; }; "flexible": { "alias": "flexible"; "required": false; }; "flexibleDateGranularity": { "alias": "flexibleDateGranularity"; "required": false; }; }, { "panelModeChange": "panelModeChange"; "calendarChange": "calendarChange"; "valueChange": "valueChange"; "resultOk": "resultOk"; "showTimePickerChange": "showTimePickerChange"; "dateValueChange": "dateValueChange"; }, never, never, true, never>;
96
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatePopup, "date-popup", ["datePopup"], { "isRange": { "alias": "isRange"; "required": false; }; "showWeek": { "alias": "showWeek"; "required": false; }; "format": { "alias": "format"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "showToday": { "alias": "showToday"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "mustShowTime": { "alias": "mustShowTime"; "required": false; }; "dateRender": { "alias": "dateRender"; "required": false; }; "className": { "alias": "className"; "required": false; }; "panelMode": { "alias": "panelMode"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultPickerValue": { "alias": "defaultPickerValue"; "required": false; }; "showShortcut": { "alias": "showShortcut"; "required": false; }; "shortcutPresets": { "alias": "shortcutPresets"; "required": false; }; "shortcutPosition": { "alias": "shortcutPosition"; "required": false; }; "flexible": { "alias": "flexible"; "required": false; }; "flexibleDateGranularity": { "alias": "flexibleDateGranularity"; "required": false; }; "timestampPrecision": { "alias": "timestampPrecision"; "required": false; }; }, { "panelModeChange": "panelModeChange"; "calendarChange": "calendarChange"; "valueChange": "valueChange"; "resultOk": "resultOk"; "showTimePickerChange": "showTimePickerChange"; "dateValueChange": "dateValueChange"; }, never, never, true, never>;
96
97
  }
@@ -1,6 +1,7 @@
1
1
  import { CompatibleDate, DateEntry, ThyDateRangeEntry, ThyPanelMode, ThyDateGranularity, ThyShortcutValue } from './standard-types';
2
2
  import { TinyDate } from 'ngx-tethys/util';
3
3
  import { CompatibleValue, RangeAdvancedValue } from './inner-types';
4
+ import { SafeAny } from 'ngx-tethys/types';
4
5
  export declare function transformDateValue(value: CompatibleDate | CompatibleValue | number | DateEntry | ThyDateRangeEntry | RangeAdvancedValue): {
5
6
  value: CompatibleDate;
6
7
  withTime?: boolean;
@@ -24,3 +25,4 @@ export declare function getShortcutValue(value: ThyShortcutValue): number | Date
24
25
  export declare function isValidStringDate(dateStr: string): boolean;
25
26
  export declare function parseStringDate(dateStr: string): TinyDate;
26
27
  export declare function hasTimeInStringDate(dateStr: string): boolean;
28
+ export declare function setValueByTimestampPrecision(date: CompatibleDate | number | Date | DateEntry | ThyDateRangeEntry | SafeAny, isRange: boolean, timestampPrecision: 'seconds' | 'milliseconds'): number | number[];
@@ -1,7 +1,13 @@
1
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Input, ContentChild, TemplateRef, numberAttribute, ChangeDetectorRef } from '@angular/core';
2
2
  import { ThyIcon } from 'ngx-tethys/icon';
3
- import { NgIf, NgClass } from '@angular/common';
3
+ import { NgIf, NgClass, NgTemplateOutlet, NgFor } from '@angular/common';
4
+ import { ThyBreadcrumbItem } from './breadcrumb-item.component';
5
+ import { ThyDropdownDirective, ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemNameDirective } from 'ngx-tethys/dropdown';
6
+ import { ThyAction } from 'ngx-tethys/action';
7
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
4
8
  import * as i0 from "@angular/core";
9
+ const THY_BREADCRUMB_ITEM_ELLIPSIS_ID = 'THY_BREADCRUMB_ITEM_ELLIPSIS_ID';
10
+ const ELLIPSIS_ITEM = { _id: THY_BREADCRUMB_ITEM_ELLIPSIS_ID };
5
11
  /**
6
12
  * 面包屑组件
7
13
  * @name thy-breadcrumb
@@ -14,6 +20,26 @@ export class ThyBreadcrumb {
14
20
  set thyIcon(icon) {
15
21
  this.setIcon(icon);
16
22
  }
23
+ constructor(cdr) {
24
+ this.cdr = cdr;
25
+ /**
26
+ * 最大显示数量,超出此数量后,面包屑会被省略, 0 表示不省略(仅当传入 thyItems 时有效)
27
+ */
28
+ this.thyMaxCount = 4;
29
+ /**
30
+ * 是否可点击弹出已被省略的面包屑项(仅当传入 thyItems 时有效)
31
+ */
32
+ this.thyExpandable = true;
33
+ this.ellipsisItemId = THY_BREADCRUMB_ITEM_ELLIPSIS_ID;
34
+ }
35
+ ngOnInit() {
36
+ this.resetItems();
37
+ }
38
+ ngOnChanges(changes) {
39
+ if ((changes.items && !changes.items.firstChange) || (changes.thyMaxCount && !changes.thyMaxCount.firstChange)) {
40
+ this.resetItems();
41
+ }
42
+ }
17
43
  setIcon(icon) {
18
44
  if (icon) {
19
45
  if (icon.includes('wtf')) {
@@ -32,45 +58,60 @@ export class ThyBreadcrumb {
32
58
  this.svgIconName = null;
33
59
  }
34
60
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumb, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyBreadcrumb, isStandalone: true, selector: "thy-breadcrumb", inputs: { thyIcon: "thyIcon", thySeparator: "thySeparator" }, host: { properties: { "class.thy-breadcrumb-separator": "!!thySeparator", "class.thy-breadcrumb-separator-slash": "thySeparator === \"slash\"", "class.thy-breadcrumb-separator-backslash": "thySeparator === \"backslash\"", "class.thy-breadcrumb-separator-vertical-line": "thySeparator === \"vertical-line\"" }, classAttribute: "thy-breadcrumb" }, exportAs: ["ThyBreadcrumb"], ngImport: i0, template: `
37
- <div class="thy-breadcrumb-icon" *ngIf="svgIconName || iconClasses">
38
- <thy-icon *ngIf="svgIconName; else iconFont" [thyIconName]="svgIconName"></thy-icon>
39
- <ng-template #iconFont>
40
- <i [ngClass]="iconClasses"></i>
41
- </ng-template>
42
- </div>
43
- <ng-content></ng-content>
44
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ resetItems() {
62
+ if (!this.items?.length) {
63
+ return;
64
+ }
65
+ if (this.thyMaxCount && this.items.length > this.thyMaxCount) {
66
+ const ellipsisIndex = this.items.length - this.thyMaxCount + 2;
67
+ this.ellipsisItems = this.items.slice(1, ellipsisIndex);
68
+ this.showItems = [this.items[0], ELLIPSIS_ITEM, ...this.items.slice(ellipsisIndex)];
69
+ }
70
+ else {
71
+ this.showItems = [...this.items];
72
+ this.ellipsisItems = [];
73
+ }
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyBreadcrumb, isStandalone: true, selector: "thy-breadcrumb", inputs: { thyIcon: "thyIcon", thySeparator: "thySeparator", items: ["thyItems", "items"], thyMaxCount: ["thyMaxCount", "thyMaxCount", numberAttribute], thyExpandable: ["thyExpandable", "thyExpandable", coerceBooleanProperty] }, host: { properties: { "class.thy-breadcrumb-separator": "!!thySeparator", "class.thy-breadcrumb-separator-slash": "thySeparator === \"slash\"", "class.thy-breadcrumb-separator-backslash": "thySeparator === \"backslash\"", "class.thy-breadcrumb-separator-vertical-line": "thySeparator === \"vertical-line\"" }, classAttribute: "thy-breadcrumb" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true }], exportAs: ["ThyBreadcrumb"], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-breadcrumb-icon\" *ngIf=\"svgIconName || iconClasses\">\n <thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n <ng-template #iconFont>\n <i [ngClass]=\"iconClasses\"></i>\n </ng-template>\n</div>\n\n<ng-container *ngFor=\"let item of showItems\">\n <thy-breadcrumb-item class=\"thy-breadcrumb-item-ellipsis\">\n <ng-container *ngIf=\"item?._id !== ellipsisItemId; else ellipsisTpl\">\n <ng-container *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-template #ellipsisTpl>\n <a\n thyAction\n href=\"javascript:;\"\n thyActionIcon=\"more\"\n thyActiveClass=\"active\"\n [class.disabled]=\"!thyExpandable\"\n class=\"ellipsis-action ml-n1 mr-n1\"\n [thyDropdown]=\"ellipsisList\"\n ></a>\n </ng-template>\n </thy-breadcrumb-item>\n</ng-container>\n\n<ng-template #ellipsisList>\n <thy-dropdown-menu thyImmediateRender>\n <a thyDropdownMenuItem *ngFor=\"let item of ellipsisItems\" href=\"javascript:;\">\n <ng-template *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-template>\n </a>\n </thy-dropdown-menu>\n</ng-template>\n\n<ng-template #itemContentTpl let-item>\n <ng-container *ngIf=\"itemTemplate; else defaultItemTpl\">\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-template>\n </ng-container>\n <ng-template #defaultItemTpl>\n <thy-icon *ngIf=\"item?.icon\" [thyIconName]=\"item.icon\" class=\"mr-2\"></thy-icon>\n <span *ngIf=\"item?.name\">{{ item.name }}</span>\n </ng-template>\n</ng-template>\n\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
77
  }
46
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumb, decorators: [{
47
79
  type: Component,
48
- args: [{
49
- selector: 'thy-breadcrumb',
50
- template: `
51
- <div class="thy-breadcrumb-icon" *ngIf="svgIconName || iconClasses">
52
- <thy-icon *ngIf="svgIconName; else iconFont" [thyIconName]="svgIconName"></thy-icon>
53
- <ng-template #iconFont>
54
- <i [ngClass]="iconClasses"></i>
55
- </ng-template>
56
- </div>
57
- <ng-content></ng-content>
58
- `,
59
- exportAs: 'ThyBreadcrumb',
60
- changeDetection: ChangeDetectionStrategy.OnPush,
61
- host: {
80
+ args: [{ selector: 'thy-breadcrumb', exportAs: 'ThyBreadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, host: {
62
81
  class: 'thy-breadcrumb',
63
82
  '[class.thy-breadcrumb-separator]': '!!thySeparator',
64
83
  '[class.thy-breadcrumb-separator-slash]': 'thySeparator === "slash"',
65
84
  '[class.thy-breadcrumb-separator-backslash]': 'thySeparator === "backslash"',
66
85
  '[class.thy-breadcrumb-separator-vertical-line]': 'thySeparator === "vertical-line"'
67
- },
68
- standalone: true,
69
- imports: [NgIf, ThyIcon, NgClass]
70
- }]
71
- }], propDecorators: { thyIcon: [{
86
+ }, standalone: true, imports: [
87
+ NgIf,
88
+ NgFor,
89
+ ThyIcon,
90
+ NgClass,
91
+ ThyBreadcrumbItem,
92
+ NgTemplateOutlet,
93
+ ThyAction,
94
+ ThyDropdownDirective,
95
+ ThyDropdownMenuItemDirective,
96
+ ThyDropdownMenuItemNameDirective,
97
+ ThyDropdownMenuComponent,
98
+ ThyIcon
99
+ ], template: "<div class=\"thy-breadcrumb-icon\" *ngIf=\"svgIconName || iconClasses\">\n <thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n <ng-template #iconFont>\n <i [ngClass]=\"iconClasses\"></i>\n </ng-template>\n</div>\n\n<ng-container *ngFor=\"let item of showItems\">\n <thy-breadcrumb-item class=\"thy-breadcrumb-item-ellipsis\">\n <ng-container *ngIf=\"item?._id !== ellipsisItemId; else ellipsisTpl\">\n <ng-container *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-template #ellipsisTpl>\n <a\n thyAction\n href=\"javascript:;\"\n thyActionIcon=\"more\"\n thyActiveClass=\"active\"\n [class.disabled]=\"!thyExpandable\"\n class=\"ellipsis-action ml-n1 mr-n1\"\n [thyDropdown]=\"ellipsisList\"\n ></a>\n </ng-template>\n </thy-breadcrumb-item>\n</ng-container>\n\n<ng-template #ellipsisList>\n <thy-dropdown-menu thyImmediateRender>\n <a thyDropdownMenuItem *ngFor=\"let item of ellipsisItems\" href=\"javascript:;\">\n <ng-template *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-template>\n </a>\n </thy-dropdown-menu>\n</ng-template>\n\n<ng-template #itemContentTpl let-item>\n <ng-container *ngIf=\"itemTemplate; else defaultItemTpl\">\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-template>\n </ng-container>\n <ng-template #defaultItemTpl>\n <thy-icon *ngIf=\"item?.icon\" [thyIconName]=\"item.icon\" class=\"mr-2\"></thy-icon>\n <span *ngIf=\"item?.name\">{{ item.name }}</span>\n </ng-template>\n</ng-template>\n\n<ng-content></ng-content>" }]
100
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { thyIcon: [{
72
101
  type: Input
73
102
  }], thySeparator: [{
74
103
  type: Input
104
+ }], items: [{
105
+ type: Input,
106
+ args: [{ alias: 'thyItems' }]
107
+ }], thyMaxCount: [{
108
+ type: Input,
109
+ args: [{ transform: numberAttribute }]
110
+ }], thyExpandable: [{
111
+ type: Input,
112
+ args: [{ transform: coerceBooleanProperty }]
113
+ }], itemTemplate: [{
114
+ type: ContentChild,
115
+ args: ['item']
75
116
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFaEQ7Ozs7R0FJRztBQXdCSCxNQUFNLE9BQU8sYUFBYTtJQUl0Qjs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBUU8sT0FBTyxDQUFDLElBQVk7UUFDeEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7WUFDL0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDOzhHQWpDUSxhQUFhO2tHQUFiLGFBQWEsK2ZBckJaOzs7Ozs7OztLQVFULDREQVdTLElBQUksNkZBQUUsT0FBTyxzTUFBRSxPQUFPOzsyRkFFdkIsYUFBYTtrQkF2QnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO29CQUNELFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxnQkFBZ0I7d0JBQ3ZCLGtDQUFrQyxFQUFFLGdCQUFnQjt3QkFDcEQsd0NBQXdDLEVBQUUsMEJBQTBCO3dCQUNwRSw0Q0FBNEMsRUFBRSw4QkFBOEI7d0JBQzVFLGdEQUFnRCxFQUFFLGtDQUFrQztxQkFDdkY7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO2lCQUNwQzs4QkFTTyxPQUFPO3NCQURWLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOmdouWMheWxkee7hOS7tlxuICogQG5hbWUgdGh5LWJyZWFkY3J1bWJcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1icmVhZGNydW1iJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwidGh5LWJyZWFkY3J1bWItaWNvblwiICpuZ0lmPVwic3ZnSWNvbk5hbWUgfHwgaWNvbkNsYXNzZXNcIj5cbiAgICAgICAgICAgIDx0aHktaWNvbiAqbmdJZj1cInN2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCIgW3RoeUljb25OYW1lXT1cInN2Z0ljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkZvbnQ+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvbkNsYXNzZXNcIj48L2k+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIGAsXG4gICAgZXhwb3J0QXM6ICdUaHlCcmVhZGNydW1iJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWJyZWFkY3J1bWInLFxuICAgICAgICAnW2NsYXNzLnRoeS1icmVhZGNydW1iLXNlcGFyYXRvcl0nOiAnISF0aHlTZXBhcmF0b3InLFxuICAgICAgICAnW2NsYXNzLnRoeS1icmVhZGNydW1iLXNlcGFyYXRvci1zbGFzaF0nOiAndGh5U2VwYXJhdG9yID09PSBcInNsYXNoXCInLFxuICAgICAgICAnW2NsYXNzLnRoeS1icmVhZGNydW1iLXNlcGFyYXRvci1iYWNrc2xhc2hdJzogJ3RoeVNlcGFyYXRvciA9PT0gXCJiYWNrc2xhc2hcIicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yLXZlcnRpY2FsLWxpbmVdJzogJ3RoeVNlcGFyYXRvciA9PT0gXCJ2ZXJ0aWNhbC1saW5lXCInXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlJY29uLCBOZ0NsYXNzXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlCcmVhZGNydW1iIHtcbiAgICBpY29uQ2xhc3Nlczogc3RyaW5nW107XG4gICAgc3ZnSWNvbk5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOmdouWMheWxkeeahOWJjee8gCDlsZXnpLrlm77moIfvvIzlpoIgZm9sZGVyLWZpbGxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldEljb24oaWNvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Z2i5YyF5bGR55qE5YiG6ZqU56ym77yM5LiN5Lyg5YC86buY6K6k5Li6IFwiPlwiXG4gICAgICogQHR5cGUgc2xhc2ggfCBiYWNrc2xhc2ggfCB2ZXJ0aWNhbC1saW5lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2VwYXJhdG9yOiAnc2xhc2gnIHwgJ2JhY2tzbGFzaCcgfCAndmVydGljYWwtbGluZSc7XG5cbiAgICBwcml2YXRlIHNldEljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICBpZiAoaWNvbi5pbmNsdWRlcygnd3RmJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gaWNvbi5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnVuc2hpZnQoJ3d0ZicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsZUFBZSxFQUlmLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxFQUNILG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNuQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFeEQsTUFBTSwrQkFBK0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUUxRSxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsRUFBRSwrQkFBK0IsRUFBRSxDQUFDO0FBRS9EOzs7O0dBSUc7QUE2QkgsTUFBTSxPQUFPLGFBQWE7SUFJdEI7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQWtDRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJCMUM7O1dBRUc7UUFDb0MsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDMEMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFPM0QsbUJBQWMsR0FBRywrQkFBK0IsQ0FBQztJQU1YLENBQUM7SUFFOUMsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDN0csSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDTCxDQUFDO0lBRU8sT0FBTyxDQUFDLElBQVk7UUFDeEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7WUFDL0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDOzhHQXJGUSxhQUFhO2tHQUFiLGFBQWEsd0xBMEJGLGVBQWUscURBS2YscUJBQXFCLDJnQkM3RjdDLHNyREE0Q3lCLDRDRElqQixJQUFJLDZGQUNKLEtBQUssbUhBQ0wsT0FBTyxzTUFDUCxPQUFPLG9GQUNQLGlCQUFpQixxSEFDakIsZ0JBQWdCLG9KQUNoQixTQUFTLGdNQUNULG9CQUFvQixtUkFDcEIsNEJBQTRCLHNHQUU1Qix3QkFBd0I7OzJGQUluQixhQUFhO2tCQTVCekIsU0FBUzsrQkFDSSxnQkFBZ0IsWUFFaEIsZUFBZSxtQkFDUix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxnQkFBZ0I7d0JBQ3ZCLGtDQUFrQyxFQUFFLGdCQUFnQjt3QkFDcEQsd0NBQXdDLEVBQUUsMEJBQTBCO3dCQUNwRSw0Q0FBNEMsRUFBRSw4QkFBOEI7d0JBQzVFLGdEQUFnRCxFQUFFLGtDQUFrQztxQkFDdkYsY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixLQUFLO3dCQUNMLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxvQkFBb0I7d0JBQ3BCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyx3QkFBd0I7d0JBQ3hCLE9BQU87cUJBQ1Y7c0ZBVUcsT0FBTztzQkFEVixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS3dCLEtBQUs7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2dCQUtXLFdBQVc7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUtRLGFBQWE7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS3JCLFlBQVk7c0JBQWpDLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIElucHV0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQge1xuICAgIFRoeURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlXG59IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuaW1wb3J0IHsgVGh5QWN0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9hY3Rpb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuY29uc3QgVEhZX0JSRUFEQ1JVTUJfSVRFTV9FTExJUFNJU19JRCA9ICdUSFlfQlJFQURDUlVNQl9JVEVNX0VMTElQU0lTX0lEJztcblxuY29uc3QgRUxMSVBTSVNfSVRFTSA9IHsgX2lkOiBUSFlfQlJFQURDUlVNQl9JVEVNX0VMTElQU0lTX0lEIH07XG5cbi8qKlxuICog6Z2i5YyF5bGR57uE5Lu2XG4gKiBAbmFtZSB0aHktYnJlYWRjcnVtYlxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWJyZWFkY3J1bWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBleHBvcnRBczogJ1RoeUJyZWFkY3J1bWInLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYnJlYWRjcnVtYicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yXSc6ICchIXRoeVNlcGFyYXRvcicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yLXNsYXNoXSc6ICd0aHlTZXBhcmF0b3IgPT09IFwic2xhc2hcIicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yLWJhY2tzbGFzaF0nOiAndGh5U2VwYXJhdG9yID09PSBcImJhY2tzbGFzaFwiJyxcbiAgICAgICAgJ1tjbGFzcy50aHktYnJlYWRjcnVtYi1zZXBhcmF0b3ItdmVydGljYWwtbGluZV0nOiAndGh5U2VwYXJhdG9yID09PSBcInZlcnRpY2FsLWxpbmVcIidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgVGh5QnJlYWRjcnVtYkl0ZW0sXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFRoeUFjdGlvbixcbiAgICAgICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgICAgIFRoeUljb25cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJyZWFkY3J1bWIgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgaWNvbkNsYXNzZXM6IHN0cmluZ1tdO1xuICAgIHN2Z0ljb25OYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDpnaLljIXlsZHnmoTliY3nvIAg5bGV56S65Zu+5qCH77yM5aaCIGZvbGRlci1maWxsXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRJY29uKGljb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmdouWMheWxkeeahOWIhumalOespu+8jOS4jeS8oOWAvOm7mOiupOS4uiBcIj5cIlxuICAgICAqIEB0eXBlIHNsYXNoIHwgYmFja3NsYXNoIHwgdmVydGljYWwtbGluZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNlcGFyYXRvcjogJ3NsYXNoJyB8ICdiYWNrc2xhc2gnIHwgJ3ZlcnRpY2FsLWxpbmUnO1xuXG4gICAgLyoqXG4gICAgICog6Z2i5YyF5bGR55qE5q+P5LiA6aG55pWw5o2uXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlJdGVtcycgfSkgaXRlbXM6IFNhZmVBbnlbXTtcblxuICAgIC8qKlxuICAgICAqIOacgOWkp+aYvuekuuaVsOmHj++8jOi2heWHuuatpOaVsOmHj+WQju+8jOmdouWMheWxkeS8muiiq+ecgeeVpSwgMCDooajnpLrkuI3nnIHnlaXvvIjku4XlvZPkvKDlhaUgdGh5SXRlbXMg5pe25pyJ5pWI77yJXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5TWF4Q291bnQgPSA0O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5Y+v54K55Ye75by55Ye65bey6KKr55yB55Wl55qE6Z2i5YyF5bGR6aG577yI5LuF5b2T5Lyg5YWlIHRoeUl0ZW1zIOaXtuacieaViO+8iVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6Z2i5YyF5bGR55qE5q+P5LiA6aG55qih5p2/77yI5LuF5b2T5Lyg5YWlIHRoeUl0ZW1zIOaXtuacieaViO+8iVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2l0ZW0nKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuXG4gICAgcHVibGljIGVsbGlwc2lzSXRlbUlkID0gVEhZX0JSRUFEQ1JVTUJfSVRFTV9FTExJUFNJU19JRDtcblxuICAgIHB1YmxpYyBlbGxpcHNpc0l0ZW1zOiBTYWZlQW55W107XG5cbiAgICBwdWJsaWMgc2hvd0l0ZW1zOiBTYWZlQW55W107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5yZXNldEl0ZW1zKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoKGNoYW5nZXMuaXRlbXMgJiYgIWNoYW5nZXMuaXRlbXMuZmlyc3RDaGFuZ2UpIHx8IChjaGFuZ2VzLnRoeU1heENvdW50ICYmICFjaGFuZ2VzLnRoeU1heENvdW50LmZpcnN0Q2hhbmdlKSkge1xuICAgICAgICAgICAgdGhpcy5yZXNldEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICBpZiAoaWNvbi5pbmNsdWRlcygnd3RmJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gaWNvbi5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnVuc2hpZnQoJ3d0ZicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldEl0ZW1zKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeU1heENvdW50ICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gdGhpcy50aHlNYXhDb3VudCkge1xuICAgICAgICAgICAgY29uc3QgZWxsaXBzaXNJbmRleCA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gdGhpcy50aHlNYXhDb3VudCArIDI7XG4gICAgICAgICAgICB0aGlzLmVsbGlwc2lzSXRlbXMgPSB0aGlzLml0ZW1zLnNsaWNlKDEsIGVsbGlwc2lzSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5zaG93SXRlbXMgPSBbdGhpcy5pdGVtc1swXSwgRUxMSVBTSVNfSVRFTSwgLi4udGhpcy5pdGVtcy5zbGljZShlbGxpcHNpc0luZGV4KV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dJdGVtcyA9IFsuLi50aGlzLml0ZW1zXTtcbiAgICAgICAgICAgIHRoaXMuZWxsaXBzaXNJdGVtcyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1icmVhZGNydW1iLWljb25cIiAqbmdJZj1cInN2Z0ljb25OYW1lIHx8IGljb25DbGFzc2VzXCI+XG4gIDx0aHktaWNvbiAqbmdJZj1cInN2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCIgW3RoeUljb25OYW1lXT1cInN2Z0ljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgPG5nLXRlbXBsYXRlICNpY29uRm9udD5cbiAgICA8aSBbbmdDbGFzc109XCJpY29uQ2xhc3Nlc1wiPjwvaT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNob3dJdGVtc1wiPlxuICA8dGh5LWJyZWFkY3J1bWItaXRlbSBjbGFzcz1cInRoeS1icmVhZGNydW1iLWl0ZW0tZWxsaXBzaXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uX2lkICE9PSBlbGxpcHNpc0l0ZW1JZDsgZWxzZSBlbGxpcHNpc1RwbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1Db250ZW50VHBsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNlbGxpcHNpc1RwbD5cbiAgICAgIDxhXG4gICAgICAgIHRoeUFjdGlvblxuICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgdGh5QWN0aW9uSWNvbj1cIm1vcmVcIlxuICAgICAgICB0aHlBY3RpdmVDbGFzcz1cImFjdGl2ZVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhdGh5RXhwYW5kYWJsZVwiXG4gICAgICAgIGNsYXNzPVwiZWxsaXBzaXMtYWN0aW9uIG1sLW4xIG1yLW4xXCJcbiAgICAgICAgW3RoeURyb3Bkb3duXT1cImVsbGlwc2lzTGlzdFwiXG4gICAgICA+PC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvdGh5LWJyZWFkY3J1bWItaXRlbT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2VsbGlwc2lzTGlzdD5cbiAgPHRoeS1kcm9wZG93bi1tZW51IHRoeUltbWVkaWF0ZVJlbmRlcj5cbiAgICA8YSB0aHlEcm9wZG93bk1lbnVJdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGVsbGlwc2lzSXRlbXNcIiBocmVmPVwiamF2YXNjcmlwdDo7XCI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtQ29udGVudFRwbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9hPlxuICA8L3RoeS1kcm9wZG93bi1tZW51PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtQ29udGVudFRwbCBsZXQtaXRlbT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0SXRlbVRwbFwiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVHBsPlxuICAgIDx0aHktaWNvbiAqbmdJZj1cIml0ZW0/Lmljb25cIiBbdGh5SWNvbk5hbWVdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJtci0yXCI+PC90aHktaWNvbj5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0/Lm5hbWVcIj57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
@@ -3,17 +3,19 @@ import { CommonModule } from '@angular/common';
3
3
  import { ThyBreadcrumb } from './breadcrumb.component';
4
4
  import { ThyBreadcrumbItem } from './breadcrumb-item.component';
5
5
  import { ThyIconModule } from 'ngx-tethys/icon';
6
+ import { ThyActionModule } from 'ngx-tethys/action';
7
+ import { ThyDropdownModule } from 'ngx-tethys/dropdown';
6
8
  import * as i0 from "@angular/core";
7
9
  export class ThyBreadcrumbModule {
8
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem], exports: [ThyBreadcrumb, ThyBreadcrumbItem] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem] }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem, ThyActionModule, ThyDropdownModule], exports: [ThyBreadcrumb, ThyBreadcrumbItem] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem, ThyActionModule, ThyDropdownModule] }); }
11
13
  }
12
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyBreadcrumbModule, decorators: [{
13
15
  type: NgModule,
14
16
  args: [{
15
- imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem],
17
+ imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem, ThyActionModule, ThyDropdownModule],
16
18
  exports: [ThyBreadcrumb, ThyBreadcrumbItem]
17
19
  }]
18
20
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JyZWFkY3J1bWIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTWhELE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLFlBSGxCLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixhQUM3RCxhQUFhLEVBQUUsaUJBQWlCOytHQUVqQyxtQkFBbUIsWUFIbEIsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsaUJBQWlCOzsyRkFHOUQsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO29CQUN4RSxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLENBQUM7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlCcmVhZGNydW1iIH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaHlJY29uTW9kdWxlLCBUaHlCcmVhZGNydW1iLCBUaHlCcmVhZGNydW1iSXRlbV0sXG4gICAgZXhwb3J0czogW1RoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlCcmVhZGNydW1iTW9kdWxlIHt9XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JyZWFkY3J1bWIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU14RCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQUhsQixZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLGFBQ2pHLGFBQWEsRUFBRSxpQkFBaUI7K0dBRWpDLG1CQUFtQixZQUhsQixZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCOzsyRkFHbEcsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztvQkFDNUcsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5QnJlYWRjcnVtYiB9IGZyb20gJy4vYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5QnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlBY3Rpb25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2FjdGlvbic7XG5pbXBvcnQgeyBUaHlEcm9wZG93bk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRoeUljb25Nb2R1bGUsIFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtLCBUaHlBY3Rpb25Nb2R1bGUsIFRoeURyb3Bkb3duTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGh5QnJlYWRjcnVtYiwgVGh5QnJlYWRjcnVtYkl0ZW1dXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJyZWFkY3J1bWJNb2R1bGUge31cbiJdfQ==
@@ -36,7 +36,7 @@ export class ThyCascaderSearchOptionComponent {
36
36
  this.toggleSelectChange.emit(this.option);
37
37
  }
38
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderSearchOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyCascaderSearchOptionComponent, isStandalone: true, selector: "[thy-cascader-search-option]", inputs: { option: "option", multiple: ["multiple", "multiple", booleanAttribute], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", booleanAttribute], active: ["active", "active", booleanAttribute], optionRender: "optionRender" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { listeners: { "click": "toggleClick($event)" }, properties: { "class.multiple": "this.multiple", "class": "this.className", "class.active": "this.active" } }, ngImport: i0, template: "<label *ngIf=\"multiple\" class=\"mr-1\" thyCheckbox [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\" (click)=\"clickCheckbox($event)\" (ngModelChange)=\"toggleOption($event)\" [thyLabelText]=\"''\"></label>\n\n<thy-breadcrumb thySeparator=\"slash\">\n <ng-container *ngFor=\"let label of option.labelList; index as i\">\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\">\n <ng-container *ngIf=\"!optionRender; else optionTemplate\">\n <span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span>\n </ng-container>\n <ng-template #optionTemplate>\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option: option.thyRowValue[i] }\">\n </ng-template>\n </ng-template>\n </thy-breadcrumb-item>\n </ng-container>\n</thy-breadcrumb>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyBreadcrumb, selector: "thy-breadcrumb", inputs: ["thyIcon", "thySeparator"], exportAs: ["ThyBreadcrumb"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyCascaderSearchOptionComponent, isStandalone: true, selector: "[thy-cascader-search-option]", inputs: { option: "option", multiple: ["multiple", "multiple", booleanAttribute], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", booleanAttribute], active: ["active", "active", booleanAttribute], optionRender: "optionRender" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { listeners: { "click": "toggleClick($event)" }, properties: { "class.multiple": "this.multiple", "class": "this.className", "class.active": "this.active" } }, ngImport: i0, template: "<label *ngIf=\"multiple\" class=\"mr-1\" thyCheckbox [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\" (click)=\"clickCheckbox($event)\" (ngModelChange)=\"toggleOption($event)\" [thyLabelText]=\"''\"></label>\n\n<thy-breadcrumb thySeparator=\"slash\">\n <ng-container *ngFor=\"let label of option.labelList; index as i\">\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\">\n <ng-container *ngIf=\"!optionRender; else optionTemplate\">\n <span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span>\n </ng-container>\n <ng-template #optionTemplate>\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option: option.thyRowValue[i] }\">\n </ng-template>\n </ng-template>\n </thy-breadcrumb-item>\n </ng-container>\n</thy-breadcrumb>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyBreadcrumb, selector: "thy-breadcrumb", inputs: ["thyIcon", "thySeparator", "thyItems", "thyMaxCount", "thyExpandable"], exportAs: ["ThyBreadcrumb"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
40
  }
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderSearchOptionComponent, decorators: [{
42
42
  type: Component,
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
69
69
  }], toggleSelectChange: [{
70
70
  type: Output
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSTFDOztHQUVHO0FBVUgsTUFBTSxPQUFPLGdDQUFnQztJQW1CbEMsV0FBVyxDQUFDLE1BQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBSUQ7UUF2QkEsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDRixjQUFTLEdBQUcsNkVBQTZFLENBQUM7UUFJaEgsV0FBTSxHQUFZLEtBQUssQ0FBQztRQWFkLHVCQUFrQixHQUEwQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFFLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFTixhQUFhLENBQUMsS0FBWTtRQUM3QixtQkFBbUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0ExQ1EsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsK0hBSXJCLGdCQUFnQiw4REFHaEIsZ0JBQWdCLGdDQUtoQixnQkFBZ0Isd1JDOUN4QywyN0JBZ0JBLDRDRGdCYyxJQUFJLDZGQUFFLEtBQUssbUhBQUUsZUFBZSxtT0FBRSxXQUFXLG9IQUFFLGFBQWEsNkhBQUUsaUJBQWlCLG9IQUFXLFdBQVcsK1ZBQUUsZ0JBQWdCOzsyRkFFcEgsZ0NBQWdDO2tCQVQ1QyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksWUFFM0IsOEJBQThCLGNBRTVCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQzt3REFHckgsTUFBTTtzQkFBZCxLQUFLO2dCQUlOLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUM1QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxnQkFBZ0I7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFaEIsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQUlwQixNQUFNO3NCQUZMLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFlBQVk7c0JBRFgsS0FBSztnQkFJQyxXQUFXO3NCQURqQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRdkIsa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnbmd4LXRldGh5cy9icmVhZGNydW1iJztcbmltcG9ydCB7IFRoeUNoZWNrYm94IH0gZnJvbSAnbmd4LXRldGh5cy9jaGVja2JveCc7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlDYXNjYWRlclNlYXJjaE9wdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbdGh5LWNhc2NhZGVyLXNlYXJjaC1vcHRpb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFRoeUZsZXhpYmxlVGV4dCwgVGh5Q2hlY2tib3gsIFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtLCBUaHlJY29uLCBGb3Jtc01vZHVsZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIG9wdGlvbjogVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb247XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm11bHRpcGxlJylcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNPbmx5U2VsZWN0TGVhZiA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICd0aHktY2FzY2FkZXItc2VhcmNoLWxpc3QtaXRlbSBweC00IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXInO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBvcHRpb25SZW5kZXI6IFRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyB0b2dnbGVDbGljaygkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2dnbGVTZWxlY3RDaGFuZ2UuZW1pdCh0aGlzLm9wdGlvbik7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHRvZ2dsZVNlbGVjdENoYW5nZTogRXZlbnRFbWl0dGVyPFRoeUNhc2NhZGVyU2VhcmNoT3B0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIHB1YmxpYyBjbGlja0NoZWNrYm94KGV2ZW50OiBFdmVudCkge1xuICAgICAgICAvLyDlt7LpgInkuK3nmoTlnKjmkJzntKLmg4XlhrXkuIvkuI3og73lj5bmtojpgInmi6lcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlT3B0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0Q2hhbmdlLmVtaXQodGhpcy5vcHRpb24pO1xuICAgIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cIm11bHRpcGxlXCIgY2xhc3M9XCJtci0xXCIgdGh5Q2hlY2tib3ggW2Rpc2FibGVkXT1cIm9wdGlvbi50aHlSb3dWYWx1ZVtvcHRpb24udGh5Um93VmFsdWUubGVuZ3RoIC0gMV0uZGlzYWJsZWRcIlxuICBbbmdNb2RlbF09XCJhY3RpdmVcIiAoY2xpY2spPVwiY2xpY2tDaGVja2JveCgkZXZlbnQpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlT3B0aW9uKCRldmVudClcIiBbdGh5TGFiZWxUZXh0XT1cIicnXCI+PC9sYWJlbD5cblxuPHRoeS1icmVhZGNydW1iIHRoeVNlcGFyYXRvcj1cInNsYXNoXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIG9wdGlvbi5sYWJlbExpc3Q7IGluZGV4IGFzIGlcIj5cbiAgICA8dGh5LWJyZWFkY3J1bWItaXRlbSBbbmdDbGFzc109XCJ7ICd0ZXh0LW11dGVkJzogIShvcHRpb24udGh5Um93VmFsdWVbaV0uaXNMZWFmICYmIGlzT25seVNlbGVjdExlYWYpIH1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uUmVuZGVyOyBlbHNlIG9wdGlvblRlbXBsYXRlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLWxhYmVsLWl0ZW1cIiB0aHlGbGV4aWJsZVRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25SZW5kZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbi50aHlSb3dWYWx1ZVtpXSB9XCI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdGh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPC9uZy1jb250YWluZXI+XG48L3RoeS1icmVhZGNydW1iPlxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY2FzY2FkZXIvY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSTFDOztHQUVHO0FBVUgsTUFBTSxPQUFPLGdDQUFnQztJQW1CbEMsV0FBVyxDQUFDLE1BQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBSUQ7UUF2QkEsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDRixjQUFTLEdBQUcsNkVBQTZFLENBQUM7UUFJaEgsV0FBTSxHQUFZLEtBQUssQ0FBQztRQWFkLHVCQUFrQixHQUEwQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFFLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFTixhQUFhLENBQUMsS0FBWTtRQUM3QixtQkFBbUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0ExQ1EsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsK0hBSXJCLGdCQUFnQiw4REFHaEIsZ0JBQWdCLGdDQUtoQixnQkFBZ0Isd1JDOUN4QywyN0JBZ0JBLDRDRGdCYyxJQUFJLDZGQUFFLEtBQUssbUhBQUUsZUFBZSxtT0FBRSxXQUFXLG9IQUFFLGFBQWEseUtBQUUsaUJBQWlCLG9IQUFXLFdBQVcsK1ZBQUUsZ0JBQWdCOzsyRkFFcEgsZ0NBQWdDO2tCQVQ1QyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksWUFFM0IsOEJBQThCLGNBRTVCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQzt3REFHckgsTUFBTTtzQkFBZCxLQUFLO2dCQUlOLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUM1QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxnQkFBZ0I7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFaEIsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQUlwQixNQUFNO3NCQUZMLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFlBQVk7c0JBRFgsS0FBSztnQkFJQyxXQUFXO3NCQURqQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRdkIsa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnbmd4LXRldGh5cy9icmVhZGNydW1iJztcbmltcG9ydCB7IFRoeUNoZWNrYm94IH0gZnJvbSAnbmd4LXRldGh5cy9jaGVja2JveCc7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlDYXNjYWRlclNlYXJjaE9wdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbdGh5LWNhc2NhZGVyLXNlYXJjaC1vcHRpb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FzY2FkZXItc2VhcmNoLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFRoeUZsZXhpYmxlVGV4dCwgVGh5Q2hlY2tib3gsIFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtLCBUaHlJY29uLCBGb3Jtc01vZHVsZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIG9wdGlvbjogVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb247XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm11bHRpcGxlJylcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNPbmx5U2VsZWN0TGVhZiA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICd0aHktY2FzY2FkZXItc2VhcmNoLWxpc3QtaXRlbSBweC00IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXInO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBvcHRpb25SZW5kZXI6IFRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyB0b2dnbGVDbGljaygkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2dnbGVTZWxlY3RDaGFuZ2UuZW1pdCh0aGlzLm9wdGlvbik7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHRvZ2dsZVNlbGVjdENoYW5nZTogRXZlbnRFbWl0dGVyPFRoeUNhc2NhZGVyU2VhcmNoT3B0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIHB1YmxpYyBjbGlja0NoZWNrYm94KGV2ZW50OiBFdmVudCkge1xuICAgICAgICAvLyDlt7LpgInkuK3nmoTlnKjmkJzntKLmg4XlhrXkuIvkuI3og73lj5bmtojpgInmi6lcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlT3B0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0Q2hhbmdlLmVtaXQodGhpcy5vcHRpb24pO1xuICAgIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cIm11bHRpcGxlXCIgY2xhc3M9XCJtci0xXCIgdGh5Q2hlY2tib3ggW2Rpc2FibGVkXT1cIm9wdGlvbi50aHlSb3dWYWx1ZVtvcHRpb24udGh5Um93VmFsdWUubGVuZ3RoIC0gMV0uZGlzYWJsZWRcIlxuICBbbmdNb2RlbF09XCJhY3RpdmVcIiAoY2xpY2spPVwiY2xpY2tDaGVja2JveCgkZXZlbnQpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlT3B0aW9uKCRldmVudClcIiBbdGh5TGFiZWxUZXh0XT1cIicnXCI+PC9sYWJlbD5cblxuPHRoeS1icmVhZGNydW1iIHRoeVNlcGFyYXRvcj1cInNsYXNoXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIG9wdGlvbi5sYWJlbExpc3Q7IGluZGV4IGFzIGlcIj5cbiAgICA8dGh5LWJyZWFkY3J1bWItaXRlbSBbbmdDbGFzc109XCJ7ICd0ZXh0LW11dGVkJzogIShvcHRpb24udGh5Um93VmFsdWVbaV0uaXNMZWFmICYmIGlzT25seVNlbGVjdExlYWYpIH1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uUmVuZGVyOyBlbHNlIG9wdGlvblRlbXBsYXRlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLWxhYmVsLWl0ZW1cIiB0aHlGbGV4aWJsZVRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25SZW5kZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbi50aHlSb3dWYWx1ZVtpXSB9XCI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdGh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPC9uZy1jb250YWluZXI+XG48L3RoeS1icmVhZGNydW1iPlxuIl19