@acorex/components 7.5.1 → 7.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/badge/lib/badge.component.d.ts +3 -3
  2. package/button/lib/button-item.component.d.ts +3 -1
  3. package/calendar/lib/calendar.component.d.ts +6 -4
  4. package/chips/lib/chips.component.d.ts +1 -1
  5. package/collapse/lib/collapse.component.d.ts +15 -2
  6. package/collapse/lib/collapse.module.d.ts +2 -1
  7. package/common/index.d.ts +1 -0
  8. package/common/lib/classes/datalist.class.d.ts +0 -31
  9. package/common/lib/classes/datasource.class.d.ts +55 -0
  10. package/common/lib/classes/styles.class.d.ts +1 -1
  11. package/common/lib/components/interactive-component.class.d.ts +1 -7
  12. package/common/lib/components/selection-base.component.class.d.ts +4 -6
  13. package/common/lib/directives/ripple.directive.d.ts +2 -1
  14. package/datetime-box/lib/datetime-box.component.d.ts +2 -1
  15. package/datetime-input/lib/datetime-input.component.d.ts +2 -1
  16. package/esm2022/action-sheet/lib/action-sheet.component.mjs +2 -2
  17. package/esm2022/alert/lib/alert.component.mjs +4 -5
  18. package/esm2022/avatar/lib/avatar.component.mjs +4 -4
  19. package/esm2022/badge/lib/badge.component.mjs +6 -6
  20. package/esm2022/button/lib/button-item.component.mjs +12 -3
  21. package/esm2022/button/lib/button.component.mjs +2 -2
  22. package/esm2022/button-group/lib/button-group.component.mjs +2 -2
  23. package/esm2022/calendar/lib/calendar.class.mjs +1 -58
  24. package/esm2022/calendar/lib/calendar.component.mjs +27 -16
  25. package/esm2022/chips/lib/chips.component.mjs +4 -4
  26. package/esm2022/collapse/lib/collapse-group.component.mjs +8 -4
  27. package/esm2022/collapse/lib/collapse.component.mjs +63 -15
  28. package/esm2022/collapse/lib/collapse.module.mjs +5 -4
  29. package/esm2022/color-box/lib/color-box.module.mjs +1 -1
  30. package/esm2022/common/index.mjs +2 -1
  31. package/esm2022/common/lib/classes/datalist.class.mjs +2 -41
  32. package/esm2022/common/lib/classes/datasource.class.mjs +106 -0
  33. package/esm2022/common/lib/classes/styles.class.mjs +1 -1
  34. package/esm2022/common/lib/components/interactive-component.class.mjs +13 -13
  35. package/esm2022/common/lib/components/selection-base.component.class.mjs +55 -27
  36. package/esm2022/common/lib/directives/ripple.directive.mjs +14 -8
  37. package/esm2022/datetime-box/lib/datetime-box.component.mjs +6 -3
  38. package/esm2022/datetime-input/lib/datetime-input.component.mjs +11 -4
  39. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +3 -3
  40. package/esm2022/list/lib/list.component.mjs +34 -60
  41. package/esm2022/menu/index.mjs +1 -2
  42. package/esm2022/menu/lib/class/root-menu.class.mjs +1 -1
  43. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +60 -18
  44. package/esm2022/menu/lib/menu.component.mjs +37 -342
  45. package/esm2022/menu/lib/menu.module.mjs +3 -4
  46. package/esm2022/notification/lib/notification.component.mjs +2 -2
  47. package/esm2022/otp/lib/otp.component.mjs +4 -3
  48. package/esm2022/otp/lib/otp.module.mjs +4 -3
  49. package/esm2022/picker/lib/picker.component.mjs +2 -2
  50. package/esm2022/progress-bar/lib/progress-bar.component.mjs +2 -2
  51. package/esm2022/range-slider/lib/range-slider.component.mjs +2 -2
  52. package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
  53. package/esm2022/search-box/lib/search-box.component.mjs +5 -4
  54. package/esm2022/select-box/index.mjs +2 -2
  55. package/esm2022/select-box/lib/select-box.component.mjs +168 -308
  56. package/esm2022/select-box/lib/select-box.module.mjs +5 -6
  57. package/esm2022/selection-list/lib/selection-list.component.mjs +11 -1
  58. package/esm2022/side-menu/acorex-components-side-menu.mjs +5 -0
  59. package/esm2022/side-menu/index.mjs +4 -0
  60. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +116 -0
  61. package/esm2022/side-menu/lib/side-menu.component.mjs +15 -0
  62. package/esm2022/side-menu/lib/side-menu.module.mjs +23 -0
  63. package/esm2022/skeleton/acorex-components-skeleton.mjs +5 -0
  64. package/esm2022/skeleton/index.mjs +3 -0
  65. package/esm2022/skeleton/lib/skeleton.component.mjs +24 -0
  66. package/esm2022/skeleton/lib/skeleton.module.mjs +18 -0
  67. package/esm2022/tabs/lib/tab-item.component.mjs +9 -2
  68. package/esm2022/tag/lib/tag.component.mjs +6 -12
  69. package/esm2022/toast/lib/toast.component.mjs +3 -3
  70. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  71. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  72. package/fesm2022/acorex-components-alert.mjs +3 -4
  73. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  74. package/fesm2022/acorex-components-avatar.mjs +3 -3
  75. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  76. package/fesm2022/acorex-components-badge.mjs +5 -5
  77. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  78. package/fesm2022/acorex-components-button-group.mjs +2 -2
  79. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  80. package/fesm2022/acorex-components-button.mjs +13 -4
  81. package/fesm2022/acorex-components-button.mjs.map +1 -1
  82. package/fesm2022/acorex-components-calendar.mjs +27 -73
  83. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  84. package/fesm2022/acorex-components-chips.mjs +3 -3
  85. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  86. package/fesm2022/acorex-components-collapse.mjs +74 -21
  87. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  88. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  89. package/fesm2022/acorex-components-common.mjs +161 -62
  90. package/fesm2022/acorex-components-common.mjs.map +1 -1
  91. package/fesm2022/acorex-components-datetime-box.mjs +5 -2
  92. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  93. package/fesm2022/acorex-components-datetime-input.mjs +10 -3
  94. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  95. package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
  96. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  97. package/fesm2022/acorex-components-list.mjs +33 -59
  98. package/fesm2022/acorex-components-list.mjs.map +1 -1
  99. package/fesm2022/acorex-components-menu.mjs +78 -381
  100. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  101. package/fesm2022/acorex-components-notification.mjs +2 -2
  102. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  103. package/fesm2022/acorex-components-otp.mjs +6 -4
  104. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  105. package/fesm2022/acorex-components-picker.mjs +2 -2
  106. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  107. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  108. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  109. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  110. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  111. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  112. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  113. package/fesm2022/acorex-components-search-box.mjs +4 -4
  114. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  115. package/fesm2022/acorex-components-select-box.mjs +96 -417
  116. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  117. package/fesm2022/acorex-components-selection-list.mjs +10 -0
  118. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  119. package/fesm2022/acorex-components-side-menu.mjs +153 -0
  120. package/fesm2022/acorex-components-side-menu.mjs.map +1 -0
  121. package/fesm2022/acorex-components-skeleton.mjs +46 -0
  122. package/fesm2022/acorex-components-skeleton.mjs.map +1 -0
  123. package/fesm2022/acorex-components-tabs.mjs +8 -1
  124. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  125. package/fesm2022/acorex-components-tag.mjs +5 -11
  126. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  127. package/fesm2022/acorex-components-toast.mjs +2 -2
  128. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  129. package/list/lib/list.component.d.ts +11 -23
  130. package/menu/index.d.ts +0 -1
  131. package/menu/lib/class/root-menu.class.d.ts +2 -0
  132. package/menu/lib/menu-item/menu-item.component.d.ts +19 -6
  133. package/menu/lib/menu.component.d.ts +10 -40
  134. package/menu/lib/menu.module.d.ts +7 -8
  135. package/mixin/lib/base-components.class.d.ts +2 -2
  136. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  137. package/mixin/lib/button-mixin.class.d.ts +2 -2
  138. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  139. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  140. package/mixin/lib/datalist-component.class.d.ts +10 -10
  141. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  142. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  143. package/mixin/lib/mixin.class.d.ts +61 -61
  144. package/mixin/lib/page-component.class.d.ts +2 -2
  145. package/mixin/lib/selection-component.class.d.ts +2 -2
  146. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  147. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  148. package/mixin/lib/value-mixin.class.d.ts +8 -8
  149. package/otp/lib/otp.module.d.ts +2 -1
  150. package/package.json +13 -7
  151. package/search-box/lib/search-box.component.d.ts +2 -1
  152. package/select-box/index.d.ts +1 -1
  153. package/select-box/lib/select-box.component.d.ts +37 -59
  154. package/select-box/lib/select-box.module.d.ts +14 -15
  155. package/selection-list/lib/selection-list.component.d.ts +3 -0
  156. package/side-menu/README.md +3 -0
  157. package/side-menu/index.d.ts +3 -0
  158. package/side-menu/lib/side-menu-item/side-menu-item.compoent.d.ts +37 -0
  159. package/side-menu/lib/side-menu.component.d.ts +8 -0
  160. package/side-menu/lib/side-menu.module.d.ts +10 -0
  161. package/skeleton/README.md +3 -0
  162. package/skeleton/index.d.ts +2 -0
  163. package/skeleton/lib/skeleton.component.d.ts +8 -0
  164. package/skeleton/lib/skeleton.module.d.ts +8 -0
  165. package/tabs/lib/tab-item.component.d.ts +2 -1
  166. package/tag/lib/tag.component.d.ts +3 -4
  167. package/context-menu/README.md +0 -3
  168. package/context-menu/index.d.ts +0 -2
  169. package/context-menu/lib/context-menu.component.d.ts +0 -34
  170. package/context-menu/lib/context-menu.module.d.ts +0 -13
  171. package/esm2022/context-menu/acorex-components-context-menu.mjs +0 -5
  172. package/esm2022/context-menu/index.mjs +0 -3
  173. package/esm2022/context-menu/lib/context-menu.component.mjs +0 -262
  174. package/esm2022/context-menu/lib/context-menu.module.mjs +0 -26
  175. package/esm2022/menu/lib/menu2.component.mjs +0 -45
  176. package/esm2022/select-box/lib/select-box2.component.mjs +0 -191
  177. package/fesm2022/acorex-components-context-menu.mjs +0 -290
  178. package/fesm2022/acorex-components-context-menu.mjs.map +0 -1
  179. package/menu/lib/menu2.component.d.ts +0 -12
  180. package/select-box/lib/select-box2.component.d.ts +0 -44
@@ -1,8 +1,8 @@
1
- import { MXColorComponent } from '@acorex/components/common';
1
+ import { MXColorLookComponent } from '@acorex/components/common';
2
2
  import * as i0 from "@angular/core";
3
- export declare class AXBadgeComponent extends MXColorComponent {
3
+ export declare class AXBadgeComponent extends MXColorLookComponent {
4
4
  text: string;
5
5
  private get __hostClass();
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AXBadgeComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<AXBadgeComponent, "ax-badge", never, { "color": { "alias": "color"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, {}, never, ["ax-prefix", "ax-suffix"], false, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXBadgeComponent, "ax-badge", never, { "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, {}, never, ["ax-prefix", "ax-suffix"], false, never>;
8
8
  }
@@ -1,4 +1,5 @@
1
- import { MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';
1
+ import { AXClickEvent, MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';
2
+ import { EventEmitter } from '@angular/core';
2
3
  import * as i0 from "@angular/core";
3
4
  declare const AXButtonItemComponent_base: import("polytype").Polytype.ClusteredConstructor<[typeof MXInteractiveComponent, typeof MXColorComponent]>;
4
5
  export declare class AXButtonItemComponent extends AXButtonItemComponent_base {
@@ -9,6 +10,7 @@ export declare class AXButtonItemComponent extends AXButtonItemComponent_base {
9
10
  divided: boolean;
10
11
  data: unknown;
11
12
  name: string;
13
+ onClick: EventEmitter<AXClickEvent>;
12
14
  private __hostClick;
13
15
  private __hostFocus;
14
16
  private __hostBlur;
@@ -1,6 +1,7 @@
1
- import { AXClickEvent, AXOptionChangedEvent, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';
1
+ import { AXClickEvent, MXComponentOptionChanged, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';
2
2
  import { AXDateTime, AXDateTimeRange } from '@acorex/core/dateTime';
3
3
  import { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';
4
+ import { AXUnsubscriber } from '@acorex/core/utils';
4
5
  import * as i0 from "@angular/core";
5
6
  declare const AXCalendarComponent_base: import("polytype").Polytype.ClusteredConstructor<[{
6
7
  new (): MXValueComponent<Date>;
@@ -18,17 +19,18 @@ export declare class AXCalendarComponent extends AXCalendarComponent_base {
18
19
  protected _dayNames: string[];
19
20
  private _initValues;
20
21
  private _refresh;
21
- constructor();
22
+ constructor(unsubscriber: AXUnsubscriber);
22
23
  protected ngOnInit(): void;
23
24
  protected ngAfterViewInit(): void;
25
+ protected ngOnDestroy(): void;
24
26
  render(): void;
25
27
  protected _handlePrevClick(): void;
26
28
  protected _handleNextClick(): void;
27
29
  protected _handleSlotClick(e: MouseEvent, slot: AXCalendarViewSlot): void;
28
30
  protected _handleNavClick(e: AXClickEvent | any, view: AXCalendarViewType): void;
29
31
  toggleView(): void;
30
- protected _handleOnOptionChanged(e: AXOptionChangedEvent): void;
31
- private _handleOnValueChanged;
32
+ protected internalOptionChanged(e: MXComponentOptionChanged): void;
33
+ protected internalValueChanged(value?: Date): void;
32
34
  protected _handleGoToday(): void;
33
35
  next(): void;
34
36
  prev(): void;
@@ -1,7 +1,7 @@
1
1
  import { MXColorComponent } from '@acorex/components/common';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AXChipsComponent extends MXColorComponent {
4
- look: 'default' | 'outline';
4
+ look: 'solid' | 'outline' | 'twotone';
5
5
  text: string;
6
6
  constructor();
7
7
  private get __hostClass();
@@ -1,12 +1,15 @@
1
1
  import { AXClickEvent, MXInteractiveComponent } from '@acorex/components/common';
2
2
  import { EventEmitter, TemplateRef } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
+ export declare class AXCollapseClickEvent extends AXClickEvent {
5
+ handled: boolean;
6
+ }
4
7
  export declare class AXCollapseComponent extends MXInteractiveComponent {
5
8
  /**
6
9
  * Fires each time the user clicks the panel header.
7
10
  * @event
8
11
  */
9
- onClick: EventEmitter<AXClickEvent>;
12
+ onClick: EventEmitter<AXCollapseClickEvent>;
10
13
  isCollapsedChange: EventEmitter<any>;
11
14
  private _isCollapsed;
12
15
  /**
@@ -16,8 +19,18 @@ export declare class AXCollapseComponent extends MXInteractiveComponent {
16
19
  set isCollapsed(v: boolean);
17
20
  caption: string;
18
21
  icon: string;
22
+ private _isLoading;
23
+ /**
24
+ * Providing a boolean value for its collapse state
25
+ */
26
+ get isLoading(): boolean;
27
+ set isLoading(v: boolean);
19
28
  headerTemplate: TemplateRef<any>;
20
29
  handleHeaderClick(e: MouseEvent): void;
30
+ open(): void;
31
+ close(): void;
32
+ toggle(): void;
33
+ get __hostClass(): string[];
21
34
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCollapseComponent, "ax-collapse", never, { "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "isCollapsedChange": "isCollapsedChange"; }, never, ["*"], false, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCollapseComponent, "ax-collapse", never, { "disabled": { "alias": "disabled"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "onClick": "onClick"; "isCollapsedChange": "isCollapsedChange"; }, never, ["*"], false, never>;
23
36
  }
@@ -2,8 +2,9 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./collapse.component";
3
3
  import * as i2 from "./collapse-group.component";
4
4
  import * as i3 from "@angular/common";
5
+ import * as i4 from "@acorex/components/loading";
5
6
  export declare class AXCollapseModule {
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXCollapseModule, [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent], [typeof i3.CommonModule], [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXCollapseModule, [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent], [typeof i3.CommonModule, typeof i4.AXLoadingModule], [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent]>;
8
9
  static ɵinj: i0.ɵɵInjectorDeclaration<AXCollapseModule>;
9
10
  }
package/common/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './lib/types/range';
5
5
  export * from './lib/types/selection-mode';
6
6
  export * from './lib/classes/components.class';
7
7
  export * from './lib/classes/datalist.class';
8
+ export * from './lib/classes/datasource.class';
8
9
  export * from './lib/classes/events.class';
9
10
  export * from './lib/classes/styles.class';
10
11
  export * from './lib/common.module';
@@ -1,4 +1,3 @@
1
- import { BehaviorSubject } from 'rxjs';
2
1
  export interface AXDataListQuery {
3
2
  take?: number;
4
3
  skip?: number;
@@ -10,33 +9,3 @@ export interface AXDataListFetchCallbackResult {
10
9
  }
11
10
  export type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<AXDataListFetchCallbackResult>;
12
11
  export type AXDataListItems = Array<any> | AXDataListFetchDataCallback;
13
- export interface AXDataSourceQuery {
14
- take?: number;
15
- skip?: number;
16
- searchQuery?: string;
17
- }
18
- export interface AXDataSourceCallbackResult<T> {
19
- items: Array<T>;
20
- total: number;
21
- }
22
- export type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery) => Promise<AXDataSourceCallbackResult<T>>;
23
- export type AXDataSourceByKeyCallback<T> = (key: unknown) => Promise<T>;
24
- export interface AXDateSourceConfig<T = unknown> {
25
- key: string;
26
- pageSize: number;
27
- load: AXDataSourceLoadCallback<T>;
28
- byKey: AXDataSourceByKeyCallback<T>;
29
- }
30
- export declare class AXDateSource<T = unknown> {
31
- private config;
32
- private _totalCount;
33
- private _items;
34
- get items(): T[];
35
- private fetchedPages;
36
- private _query;
37
- loadingChanged: BehaviorSubject<boolean>;
38
- dataStream: BehaviorSubject<T[]>;
39
- constructor(config: AXDateSourceConfig<T>);
40
- fetchPage(page: number): Promise<void>;
41
- }
42
- export declare function convertArrayToDataSource<T>(key: string, items: T[]): AXDateSource;
@@ -0,0 +1,55 @@
1
+ import { ListIterateeCustom } from "lodash";
2
+ import { Subject } from "rxjs";
3
+ export type AXDateSourceFilterPredicate<T> = ListIterateeCustom<T, boolean>;
4
+ export interface AXDataSourceQuery<T> {
5
+ take?: number;
6
+ skip?: number;
7
+ predicate?: AXDateSourceFilterPredicate<T>;
8
+ }
9
+ export interface AXDataSourceCallbackResult<T> {
10
+ items: Array<T>;
11
+ total: number;
12
+ }
13
+ export type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery<T>) => Promise<AXDataSourceCallbackResult<T>>;
14
+ export type AXDataSourceByKeyCallback<T> = (key: unknown) => Promise<T>;
15
+ export interface AXDateSourceConfig<T = unknown> {
16
+ key?: string;
17
+ pageSize: number;
18
+ load: AXDataSourceLoadCallback<T>;
19
+ byKey?: AXDataSourceByKeyCallback<T>;
20
+ }
21
+ export interface AXDateSourceChangedEvent<T = unknown> {
22
+ cachedItems: Array<T>;
23
+ items: Array<T>;
24
+ totalCount: number;
25
+ totalPages: number;
26
+ page: number;
27
+ }
28
+ export declare class AXDateSource<T = unknown> {
29
+ config: AXDateSourceConfig<T>;
30
+ private _totalCount;
31
+ private get totalCount();
32
+ private get totalPages();
33
+ private _cachedItems;
34
+ get cachedItems(): T[];
35
+ private _items;
36
+ get items(): T[];
37
+ private fetchedPages;
38
+ private _page;
39
+ private _query;
40
+ onChanged: Subject<AXDateSourceChangedEvent<T>>;
41
+ onLoadingChanged: Subject<boolean>;
42
+ private _isLoading;
43
+ get isLoading(): boolean;
44
+ constructor(config: AXDateSourceConfig<T>);
45
+ private load;
46
+ private setLoadingState;
47
+ setPage(page: number): void;
48
+ filter(predicate?: AXDateSourceFilterPredicate<T>): void;
49
+ reset(): void;
50
+ find(key: unknown): T | Promise<T>;
51
+ }
52
+ export declare function convertArrayToDataSource<T>(items: T[], options?: {
53
+ key: string;
54
+ pageSize: number;
55
+ }): AXDateSource;
@@ -3,6 +3,6 @@ export declare const AX_STYLE_COLOR_TYPES: string[];
3
3
  * A token that specifies the color style of component.
4
4
  */
5
5
  export type AXStyleColorType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost';
6
- export type AXStyleLookType = 'solid' | 'blank' | 'outline' | 'flat' | 'fill' | 'none';
6
+ export type AXStyleLookType = 'solid' | 'blank' | 'outline' | 'twotone' | 'flat' | 'fill' | 'none';
7
7
  export declare const AX_LOCATIONS: string[];
8
8
  export type AXLocation = 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end' | 'center-end' | 'center-start';
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { AXClickEvent, AXFocusEvent } from '../classes/events.class';
2
+ import { AXFocusEvent } from '../classes/events.class';
3
3
  import { MXBaseComponent } from './base-component.class';
4
4
  export declare class MXInteractiveComponent extends MXBaseComponent {
5
5
  protected onTouchedCallback: () => void;
@@ -33,12 +33,6 @@ export declare class MXInteractiveComponent extends MXBaseComponent {
33
33
  */
34
34
  onBlur: EventEmitter<AXFocusEvent>;
35
35
  protected emitOnBlurEvent(e: FocusEvent): void;
36
- /**
37
- * Fires each time the user clicks the button.
38
- * @event
39
- */
40
- onClick: EventEmitter<AXClickEvent>;
41
- protected emitOnClickEvent(e: MouseEvent): void;
42
36
  focus(): void;
43
37
  blur(): void;
44
38
  /**
@@ -11,9 +11,6 @@ export declare abstract class MXSelectionValueComponent<T = unknown> extends MXV
11
11
  private _textField;
12
12
  get textField(): string;
13
13
  set textField(v: string);
14
- private _hintField;
15
- get hintField(): string;
16
- set hintField(v: string);
17
14
  private _disabledField;
18
15
  get disabledField(): string;
19
16
  set disabledField(v: string);
@@ -22,10 +19,11 @@ export declare abstract class MXSelectionValueComponent<T = unknown> extends MXV
22
19
  set multiple(v: boolean);
23
20
  _selectedItems: unknown[];
24
21
  get selectedItems(): unknown[];
25
- internalSetValue(value: unknown): unknown;
22
+ internalSetValue(value: unknown): any;
26
23
  emitOnValueChangedEvent(oldValue?: unknown, newValue?: unknown): void;
27
- abstract getItemByKey(key: unknown): unknown;
28
- protected normalizeItemsList(items: unknown[]): unknown[];
24
+ abstract getItemByKey(key: unknown): unknown | Promise<unknown>;
25
+ private _cacheList;
26
+ protected normalizeItemsList(items: unknown[], findBykey?: boolean): unknown[];
29
27
  private normalizeItem;
30
28
  private _normalizeSelectedItems;
31
29
  unselectItems(...items: T[]): void;
@@ -2,9 +2,10 @@ import { ElementRef, OnDestroy } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AXRippleDirective implements OnDestroy {
4
4
  private el;
5
+ axRippleColor: string;
5
6
  constructor(el: ElementRef<HTMLElement>);
6
7
  ngOnDestroy(): void;
7
8
  private createRipple;
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<AXRippleDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXRippleDirective, "[axRipple]", never, {}, {}, never, never, false, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXRippleDirective, "[axRipple]", never, { "axRippleColor": { "alias": "axRippleColor"; "required": false; }; }, {}, never, never, false, never>;
10
11
  }
@@ -1,5 +1,5 @@
1
1
  import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';
2
- import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/components/common';
2
+ import { AXClickEvent, MXInputBaseValueComponent, MXLookComponent } from '@acorex/components/common';
3
3
  import { AXDateTimeInputComponent } from '@acorex/components/datetime-input';
4
4
  import { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';
5
5
  import { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';
@@ -29,6 +29,7 @@ export declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base
29
29
  protected _handleOnClosedEvent(): void;
30
30
  protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent): void;
31
31
  internalValueChanged(): void;
32
+ protected _handleInputOnClick(e: AXClickEvent): void;
32
33
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDateTimeBoxComponent, never>;
33
34
  static ɵcmp: i0.ɵɵComponentDeclaration<AXDateTimeBoxComponent, "ax-datetime-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "formatChange": "formatChange"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], false, never>;
34
35
  }
@@ -1,4 +1,4 @@
1
- import { MXInputBaseValueComponent } from '@acorex/components/common';
1
+ import { AXClickEvent, MXInputBaseValueComponent } from '@acorex/components/common';
2
2
  import { ElementRef, EventEmitter } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {
@@ -23,6 +23,7 @@ export declare class AXDateTimeInputComponent extends MXInputBaseValueComponent<
23
23
  get maxValue(): Date;
24
24
  set maxValue(v: Date);
25
25
  formatChange: EventEmitter<string>;
26
+ onClick: EventEmitter<AXClickEvent>;
26
27
  private _format;
27
28
  get format(): string;
28
29
  set format(v: string);
@@ -71,7 +71,7 @@ export class AXActionSheetComponent extends MXBaseComponent {
71
71
  provide: AXFocusableComponent,
72
72
  useExisting: AXActionSheetComponent,
73
73
  },
74
- ], usesInheritance: true, ngImport: i0, template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: [".ax-dark ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-gray-950))}ax-action-sheet{display:block}@media (max-width: 599px){ax-action-sheet{width:100vw}}@media (min-width: 600px){ax-action-sheet{width:75vw}}@media (min-width: 1200px){ax-action-sheet{width:30vw}}@media (min-width: 1800px){ax-action-sheet{width:25vw}}ax-action-sheet ax-header{padding:1rem;font-size:1.125rem;font-weight:500;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-suffix{align-items:flex-end}@media (max-width: 599px){ax-action-sheet ax-header{font-size:1rem}}ax-action-sheet .ax-action-sheet-items{padding:.5rem 0}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{-webkit-user-select:none;user-select:none;cursor:pointer;padding:.75rem 1rem;display:flex}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{font-size:1.5rem;margin-inline-end:.75rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
+ ], usesInheritance: true, ngImport: i0, template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: ["ax-action-sheet{display:block}@media (max-width: 599px){ax-action-sheet{width:100vw}}@media (min-width: 600px){ax-action-sheet{width:75vw}}@media (min-width: 1200px){ax-action-sheet{width:30vw}}@media (min-width: 1800px){ax-action-sheet{width:25vw}}ax-action-sheet ax-header{padding:1rem;font-size:1.125rem;font-weight:500;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-suffix{align-items:flex-end}@media (max-width: 599px){ax-action-sheet ax-header{font-size:1rem}}ax-action-sheet .ax-action-sheet-items{padding:.5rem 0}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{-webkit-user-select:none;user-select:none;cursor:pointer;padding:.75rem 1rem;display:flex}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{font-size:1.5rem;margin-inline-end:.75rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
75
75
  }
76
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXActionSheetComponent, decorators: [{
77
77
  type: Component,
@@ -84,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
84
84
  provide: AXFocusableComponent,
85
85
  useExisting: AXActionSheetComponent,
86
86
  },
87
- ], template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: [".ax-dark ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-gray-950))}ax-action-sheet{display:block}@media (max-width: 599px){ax-action-sheet{width:100vw}}@media (min-width: 600px){ax-action-sheet{width:75vw}}@media (min-width: 1200px){ax-action-sheet{width:30vw}}@media (min-width: 1800px){ax-action-sheet{width:25vw}}ax-action-sheet ax-header{padding:1rem;font-size:1.125rem;font-weight:500;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-suffix{align-items:flex-end}@media (max-width: 599px){ax-action-sheet ax-header{font-size:1rem}}ax-action-sheet .ax-action-sheet-items{padding:.5rem 0}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{-webkit-user-select:none;user-select:none;cursor:pointer;padding:.75rem 1rem;display:flex}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{font-size:1.5rem;margin-inline-end:.75rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"] }]
87
+ ], template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: ["ax-action-sheet{display:block}@media (max-width: 599px){ax-action-sheet{width:100vw}}@media (min-width: 600px){ax-action-sheet{width:75vw}}@media (min-width: 1200px){ax-action-sheet{width:30vw}}@media (min-width: 1800px){ax-action-sheet{width:25vw}}ax-action-sheet ax-header{padding:1rem;font-size:1.125rem;font-weight:500;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-suffix{align-items:flex-end}@media (max-width: 599px){ax-action-sheet ax-header{font-size:1rem}}ax-action-sheet .ax-action-sheet-items{padding:.5rem 0}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{-webkit-user-select:none;user-select:none;cursor:pointer;padding:.75rem 1rem;display:flex}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{font-size:1.5rem;margin-inline-end:.75rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"] }]
88
88
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
89
89
  type: Inject,
90
90
  args: [DIALOG_DATA]
@@ -19,8 +19,7 @@ export class AXAlertComponent extends MXColorComponent {
19
19
  * @ignore
20
20
  */
21
21
  get __hostClass() {
22
- const _class = `ax-${this.color}-default`;
23
- return `ax-alert ax-none ${_class}`;
22
+ return `ax-alert ax-none ax-${this.color}-solid`;
24
23
  }
25
24
  get timeOut() {
26
25
  return this._timeOut;
@@ -158,11 +157,11 @@ export class AXAlertComponent extends MXColorComponent {
158
157
  this.onOptionChanged?.unsubscribe();
159
158
  }
160
159
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXAlertComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXAlertComponent, selector: "ax-alert", inputs: { color: "color", timeOut: "timeOut", visible: "visible" }, outputs: { colorChange: "colorChange", onClosed: "onClosed" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], queries: [{ propertyName: "_iconComp", first: true, predicate: ["ax-icon"], descendants: true }, { propertyName: "_titleComp", first: true, predicate: ["ax-title"], descendants: true }, { propertyName: "_contentComp", first: true, predicate: ["ax-content"], descendants: true }, { propertyName: "_footerComp", first: true, predicate: ["ax-footer"], descendants: true }, { propertyName: "_buttonComps", predicate: AXButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-default{background-color:rgba(var(--ax-color-primary-900),.25);border-color:rgba(var(--ax-color-primary-500))}.ax-dark ax-alert.ax-primary-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-primary-default .ax-alert-progress{background-color:rgba(var(--ax-color-primary-fore))}.ax-dark ax-alert.ax-secondary-default{background-color:rgba(var(--ax-color-secondary-900),.25);border-color:rgba(var(--ax-color-secondary-500))}.ax-dark ax-alert.ax-secondary-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-secondary-default .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-fore))}.ax-dark ax-alert.ax-success-default{background-color:rgba(var(--ax-color-success-900),.25);border-color:rgba(var(--ax-color-success-500))}.ax-dark ax-alert.ax-success-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-success-default .ax-alert-progress{background-color:rgba(var(--ax-color-success-fore))}.ax-dark ax-alert.ax-warning-default{background-color:rgba(var(--ax-color-warning-900),.25);border-color:rgba(var(--ax-color-warning-500))}.ax-dark ax-alert.ax-warning-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-warning-default .ax-alert-progress{background-color:rgba(var(--ax-color-warning-fore))}.ax-dark ax-alert.ax-danger-default{background-color:rgba(var(--ax-color-danger-900),.25);border-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-alert.ax-danger-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-danger-default .ax-alert-progress{background-color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-alert.ax-info-default{background-color:rgba(var(--ax-color-info-900),.25);border-color:rgba(var(--ax-color-info-500))}.ax-dark ax-alert.ax-info-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-info-default .ax-alert-progress{background-color:rgba(var(--ax-color-info-fore))}ax-alert{position:relative;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;display:flex;gap:1rem;overflow:hidden;border:1px solid}ax-alert .ax-alert-inline{display:flex;align-items:center;align-content:center;flex:1}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column}ax-alert .ax-alert-block .ax-alert-content ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{border-radius:99rem;display:grid;font-size:1.25rem;line-height:1.25rem;padding-inline-end:.5rem}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex-direction:column;flex:1}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{width:0px;height:.25rem;position:absolute;inset-inline-start:0px;bottom:0;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-alert.ax-primary-default{background-color:rgba(var(--ax-color-primary-100));border-color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-default .ax-alert-icon{color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-default .ax-alert-progress{background-color:rgba(var(--ax-color-primary-900))}ax-alert.ax-secondary-default{background-color:rgba(var(--ax-color-secondary-100));border-color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-default .ax-alert-icon{color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-default .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-900))}ax-alert.ax-success-default{background-color:rgba(var(--ax-color-success-100));border-color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-default .ax-alert-icon{color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-default .ax-alert-progress{background-color:rgba(var(--ax-color-success-900))}ax-alert.ax-warning-default{background-color:rgba(var(--ax-color-warning-100));border-color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-default ax-button[class$=blank]{color:rgba(var(--ax-color-warning-fore))}ax-alert.ax-warning-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-default .ax-alert-icon{color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-default .ax-alert-progress{background-color:rgba(var(--ax-color-warning-900))}ax-alert.ax-danger-default{background-color:rgba(var(--ax-color-danger-100));border-color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-default .ax-alert-icon{color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-default .ax-alert-progress{background-color:rgba(var(--ax-color-danger-900))}ax-alert.ax-info-default{background-color:rgba(var(--ax-color-info-100));border-color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-default .ax-alert-icon{color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-default .ax-alert-progress{background-color:rgba(var(--ax-color-info-900))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXAlertComponent, selector: "ax-alert", inputs: { color: "color", timeOut: "timeOut", visible: "visible" }, outputs: { colorChange: "colorChange", onClosed: "onClosed" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], queries: [{ propertyName: "_iconComp", first: true, predicate: ["ax-icon"], descendants: true }, { propertyName: "_titleComp", first: true, predicate: ["ax-title"], descendants: true }, { propertyName: "_contentComp", first: true, predicate: ["ax-content"], descendants: true }, { propertyName: "_footerComp", first: true, predicate: ["ax-footer"], descendants: true }, { propertyName: "_buttonComps", predicate: AXButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-900),.25);border-color:rgba(var(--ax-color-primary-500))}.ax-dark ax-alert.ax-primary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-fore))}.ax-dark ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-900),.25);border-color:rgba(var(--ax-color-secondary-500))}.ax-dark ax-alert.ax-secondary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-fore))}.ax-dark ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-900),.25);border-color:rgba(var(--ax-color-success-500))}.ax-dark ax-alert.ax-success-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-fore))}.ax-dark ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-900),.25);border-color:rgba(var(--ax-color-warning-500))}.ax-dark ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-fore))}.ax-dark ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-900),.25);border-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-alert.ax-danger-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-900),.25);border-color:rgba(var(--ax-color-info-500))}.ax-dark ax-alert.ax-info-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-fore))}ax-alert{position:relative;padding:1rem;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;display:flex;gap:1rem;overflow:hidden}ax-alert .ax-alert-inline{display:flex;align-items:center;align-content:center;flex:1}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column}ax-alert .ax-alert-block .ax-alert-content ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{border-radius:99rem;display:grid;font-size:1.25rem;line-height:1.25rem;padding-inline-end:.5rem}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex-direction:column;flex:1}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{width:0px;height:.25rem;position:absolute;inset-inline-start:0px;bottom:0;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-100));border-color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid .ax-alert-icon{color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-900))}ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-100));border-color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid .ax-alert-icon{color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-900))}ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-100));border-color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid .ax-alert-icon{color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-900))}ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-100));border-color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-warning-fore))}ax-alert.ax-warning-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid .ax-alert-icon{color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-900))}ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-100));border-color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid .ax-alert-icon{color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-900))}ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-100));border-color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid .ax-alert-icon{color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-900))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
162
161
  }
163
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXAlertComponent, decorators: [{
164
163
  type: Component,
165
- args: [{ selector: 'ax-alert', inputs: ['color'], outputs: ['colorChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-default{background-color:rgba(var(--ax-color-primary-900),.25);border-color:rgba(var(--ax-color-primary-500))}.ax-dark ax-alert.ax-primary-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-primary-default .ax-alert-progress{background-color:rgba(var(--ax-color-primary-fore))}.ax-dark ax-alert.ax-secondary-default{background-color:rgba(var(--ax-color-secondary-900),.25);border-color:rgba(var(--ax-color-secondary-500))}.ax-dark ax-alert.ax-secondary-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-secondary-default .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-fore))}.ax-dark ax-alert.ax-success-default{background-color:rgba(var(--ax-color-success-900),.25);border-color:rgba(var(--ax-color-success-500))}.ax-dark ax-alert.ax-success-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-success-default .ax-alert-progress{background-color:rgba(var(--ax-color-success-fore))}.ax-dark ax-alert.ax-warning-default{background-color:rgba(var(--ax-color-warning-900),.25);border-color:rgba(var(--ax-color-warning-500))}.ax-dark ax-alert.ax-warning-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-warning-default .ax-alert-progress{background-color:rgba(var(--ax-color-warning-fore))}.ax-dark ax-alert.ax-danger-default{background-color:rgba(var(--ax-color-danger-900),.25);border-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-alert.ax-danger-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-danger-default .ax-alert-progress{background-color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-alert.ax-info-default{background-color:rgba(var(--ax-color-info-900),.25);border-color:rgba(var(--ax-color-info-500))}.ax-dark ax-alert.ax-info-default ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-info-default .ax-alert-progress{background-color:rgba(var(--ax-color-info-fore))}ax-alert{position:relative;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;display:flex;gap:1rem;overflow:hidden;border:1px solid}ax-alert .ax-alert-inline{display:flex;align-items:center;align-content:center;flex:1}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column}ax-alert .ax-alert-block .ax-alert-content ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{border-radius:99rem;display:grid;font-size:1.25rem;line-height:1.25rem;padding-inline-end:.5rem}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex-direction:column;flex:1}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{width:0px;height:.25rem;position:absolute;inset-inline-start:0px;bottom:0;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-alert.ax-primary-default{background-color:rgba(var(--ax-color-primary-100));border-color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-default .ax-alert-icon{color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-default .ax-alert-progress{background-color:rgba(var(--ax-color-primary-900))}ax-alert.ax-secondary-default{background-color:rgba(var(--ax-color-secondary-100));border-color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-default .ax-alert-icon{color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-default .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-900))}ax-alert.ax-success-default{background-color:rgba(var(--ax-color-success-100));border-color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-default .ax-alert-icon{color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-default .ax-alert-progress{background-color:rgba(var(--ax-color-success-900))}ax-alert.ax-warning-default{background-color:rgba(var(--ax-color-warning-100));border-color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-default ax-button[class$=blank]{color:rgba(var(--ax-color-warning-fore))}ax-alert.ax-warning-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-default .ax-alert-icon{color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-default .ax-alert-progress{background-color:rgba(var(--ax-color-warning-900))}ax-alert.ax-danger-default{background-color:rgba(var(--ax-color-danger-100));border-color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-default .ax-alert-icon{color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-default .ax-alert-progress{background-color:rgba(var(--ax-color-danger-900))}ax-alert.ax-info-default{background-color:rgba(var(--ax-color-info-100));border-color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-default ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-default ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-default .ax-alert-icon{color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-default .ax-alert-progress{background-color:rgba(var(--ax-color-info-900))}\n"] }]
164
+ args: [{ selector: 'ax-alert', inputs: ['color'], outputs: ['colorChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-900),.25);border-color:rgba(var(--ax-color-primary-500))}.ax-dark ax-alert.ax-primary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-fore))}.ax-dark ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-900),.25);border-color:rgba(var(--ax-color-secondary-500))}.ax-dark ax-alert.ax-secondary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-fore))}.ax-dark ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-900),.25);border-color:rgba(var(--ax-color-success-500))}.ax-dark ax-alert.ax-success-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-fore))}.ax-dark ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-900),.25);border-color:rgba(var(--ax-color-warning-500))}.ax-dark ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-fore))}.ax-dark ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-900),.25);border-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-alert.ax-danger-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-900),.25);border-color:rgba(var(--ax-color-info-500))}.ax-dark ax-alert.ax-info-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-fore))}ax-alert{position:relative;padding:1rem;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;display:flex;gap:1rem;overflow:hidden}ax-alert .ax-alert-inline{display:flex;align-items:center;align-content:center;flex:1}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column}ax-alert .ax-alert-block .ax-alert-content ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{border-radius:99rem;display:grid;font-size:1.25rem;line-height:1.25rem;padding-inline-end:.5rem}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex-direction:column;flex:1}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{width:0px;height:.25rem;position:absolute;inset-inline-start:0px;bottom:0;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-100));border-color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid .ax-alert-icon{color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-900))}ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-100));border-color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid .ax-alert-icon{color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-900))}ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-100));border-color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid .ax-alert-icon{color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-900))}ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-100));border-color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-warning-fore))}ax-alert.ax-warning-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid .ax-alert-icon{color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-900))}ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-100));border-color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid .ax-alert-icon{color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-900))}ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-100));border-color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid .ax-alert-icon{color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-900))}\n"] }]
166
165
  }], propDecorators: { _iconComp: [{
167
166
  type: ContentChild,
168
167
  args: ['ax-icon']
@@ -188,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
188
187
  }], visible: [{
189
188
  type: Input
190
189
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFXLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdEcsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBVnREOztRQTBCWSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUc5QixhQUFRLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7S0F1Sy9EO0lBbEtDOztPQUVHO0lBQ0gsSUFDSSxXQUFXO1FBQ2IsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxVQUFVLENBQUM7UUFDMUMsT0FBTyxvQkFBb0IsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUdELElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLENBQVM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLENBQUM7WUFDUixjQUFjLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQy9CLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7WUFDRCxhQUFhLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksUUFBUSxFQUFFO29CQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZixDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNsQjtZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBS0Q7O09BRUc7SUFDSCxJQUNXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxDQUFVO1FBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUMzQztTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3JFLE1BQU0sUUFBUSxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDaEMsS0FBSyxNQUFNLFFBQVEsSUFBSSxZQUFZLEVBQUU7Z0JBQ25DLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDbkI7YUFDRjtRQUNILENBQUMsQ0FBQztRQUVGLDhEQUE4RDtRQUM5RCxJQUFJLE9BQU8sZ0JBQWdCLEtBQUssV0FBVyxFQUFFO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRDtRQUVELDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEQsRUFBRTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7UUFDRCxFQUFFO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7UUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRVMsc0JBQXNCO1FBQzlCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUVqRixRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDbEIsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLG1DQUFtQyxDQUFDO2dCQUMxRCxNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO2dCQUNuRCxNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLDhCQUE4QixDQUFDO2dCQUNyRCxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO2dCQUM3QyxNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxtQ0FBbUMsQ0FBQztnQkFDOUUsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQjtRQUN2Qix5REFBeUQ7UUFDekQsMEJBQTBCO1FBQzFCLCtDQUErQztRQUMvQyxNQUFNO0lBQ1IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7OEdBekxVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDZOQUZoQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLCtaQU0zRCxpQkFBaUIsdUVDdkNwQyxxdURBa0RBOzsyRkRmYSxnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0UsVUFBVSxVQUdaLENBQUMsT0FBTyxDQUFDLFdBQ1IsQ0FBQyxhQUFhLENBQUMsbUJBQ1AsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsa0JBQWtCLEVBQUUsQ0FBQzs4QkFJcEUsU0FBUztzQkFEaEIsWUFBWTt1QkFBQyxTQUFTO2dCQUlmLFlBQVk7c0JBRG5CLGVBQWU7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxVQUFVO3NCQURuQixZQUFZO3VCQUFDLFVBQVU7Z0JBSWQsWUFBWTtzQkFEckIsWUFBWTt1QkFBQyxZQUFZO2dCQUloQixXQUFXO3NCQURwQixZQUFZO3VCQUFDLFdBQVc7Z0JBTXpCLFFBQVE7c0JBRFAsTUFBTTtnQkFVSCxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFRVCxPQUFPO3NCQURqQixLQUFLO2dCQTZCSyxPQUFPO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2xvc2JhbGVDb21wb25lbnQsIEFYRXZlbnQsIE1YQ29sb3JDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudCwgQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFJlZ3VsYXIgZGVzY3JpcHRpb25cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1hbGVydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FsZXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydjb2xvciddLFxuICBvdXRwdXRzOiBbJ2NvbG9yQ2hhbmdlJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWEFsZXJ0Q29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWEFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgTVhDb2xvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQENvbnRlbnRDaGlsZCgnYXgtaWNvbicpXG4gIHByaXZhdGUgX2ljb25Db21wOiBBWERlY29yYXRvckljb25Db21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihBWEJ1dHRvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9idXR0b25Db21wcyE6IFF1ZXJ5TGlzdDxBWEJ1dHRvbkNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZCgnYXgtdGl0bGUnKVxuICBwcm90ZWN0ZWQgX3RpdGxlQ29tcCE6IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKCdheC1jb250ZW50JylcbiAgcHJvdGVjdGVkIF9jb250ZW50Q29tcCE6IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKCdheC1mb290ZXInKVxuICBwcm90ZWN0ZWQgX2Zvb3RlckNvbXAhOiBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIF9zaG93SW5saW5lID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBfY3VzdG9tSWNvbjogc3RyaW5nO1xuICBwcml2YXRlIF90aW1lT3V0UmVmOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgX2NsYXNzID0gYGF4LSR7dGhpcy5jb2xvcn0tZGVmYXVsdGA7XG4gICAgcmV0dXJuIGBheC1hbGVydCBheC1ub25lICR7X2NsYXNzfWA7XG4gIH1cblxuICBwcml2YXRlIF90aW1lT3V0OiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdGltZU91dCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90aW1lT3V0O1xuICB9XG4gIHB1YmxpYyBzZXQgdGltZU91dCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAndGltZU91dCcsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGJlZm9yZUNhbGxiYWNrOiAob2xkVmFsdWUsIG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lT3V0UmVmKTtcbiAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xuICAgICAgfSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6IChvbGRWYWx1ZSwgbmV3VmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fdGltZU91dFJlZiA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9LCB0aGlzLnRpbWVPdXQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlOiBib29sZWFuO1xuICAvKipcbiAgICogIHNldCB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgQWxlcnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBwdWJsaWMgc2V0IHZpc2libGUodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl92aXNpYmxlICE9IHYpIHtcbiAgICAgIHRoaXMuX3Zpc2libGUgPSB2O1xuICAgICAgY29uc3QgaG9zdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgIGlmICh2KSB7XG4gICAgICAgIGhvc3QuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtaGlkZGVuJyk7XG4gICAgICAgIGhvc3QuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtdmlzaWJsZScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1oaWRkZW4nKTtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QudG9nZ2xlKCdheC1zdGF0ZS12aXNpYmxlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBjb25zdCBjb25maWcgPSB7IGF0dHJpYnV0ZXM6IGZhbHNlLCBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfTtcbiAgICBjb25zdCBjYWxsYmFjayA9IChtdXRhdGlvbkxpc3QpID0+IHtcbiAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25MaXN0KSB7XG4gICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgIHRoaXMuX3NldExheW91dCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIENyZWF0ZSBhbiBvYnNlcnZlciBpbnN0YW5jZSBsaW5rZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uXG4gICAgaWYgKHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihjYWxsYmFjayk7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgb2JzZXJ2aW5nIHRoZSB0YXJnZXQgbm9kZSBmb3IgY29uZmlndXJlZCBtdXRhdGlvbnNcbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSwgY29uZmlnKTtcbiAgICAvL1xuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVPbk9wdGlvbkNoYW5nZWQuYmluZCh0aGlzKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMudmlzaWJsZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy5fY3VzdG9tSWNvbiA9IHRoaXMuX2ljb25Db21wPy5pY29uO1xuICAgIHRoaXMuX3NldExheW91dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TGF5b3V0KCkge1xuICAgIHRoaXMuX3NldEljb24oKTtcbiAgICB0aGlzLl9hcHBseUJ1dHRvblN0eWxlKCk7XG4gICAgdGhpcy5fc2hvd0lubGluZSA9IHRoaXMuX2NvbnRlbnRDb21wID09IG51bGwgJiYgdGhpcy5fZm9vdGVyQ29tcCA9PSBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVPbk9wdGlvbkNoYW5nZWQoKSB7XG4gICAgdGhpcy5fc2V0SWNvbigpO1xuICAgIHRoaXMuX2FwcGx5QnV0dG9uU3R5bGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEljb24oKSB7XG4gICAgaWYgKCF0aGlzLl9pY29uQ29tcCB8fCB0aGlzLl9pY29uQ29tcC5nZXRIb3N0RWxlbWVudCgpLmZpcnN0RWxlbWVudENoaWxkKSByZXR1cm47XG5cbiAgICBzd2l0Y2ggKHRoaXMuY29sb3IpIHtcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICB0aGlzLl9pY29uQ29tcC5pY29uID0gJ2F4LWljb24gYXgtaWNvbi1jaGVjay1jaXJjbGUtZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9ICdheC1pY29uIGF4LWljb24tZXJyb3ItZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSAnYXgtaWNvbiBheC1pY29uLXdhcm5pbmctZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSAnYXgtaWNvbiBheC1pY29uLWluZm8nO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSB0aGlzLl9jdXN0b21JY29uIHx8ICdheC1pY29uIGF4LWljb24tY2hlY2stY2lyY2xlLWZpbGwnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUJ1dHRvblN0eWxlKCkge1xuICAgIC8vIHRoaXMuX2J1dHRvbkNvbXBzPy5mb3JFYWNoKChjOiBBWEJ1dHRvbkNvbXBvbmVudCkgPT4ge1xuICAgIC8vICAgYy5jb2xvciA9IHRoaXMuY29sb3I7XG4gICAgLy8gICBjLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYXgtc20nKTtcbiAgICAvLyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgUmVtb3ZlIHRoZSBhbGVydCBmcm9tIHRoZSBjb250YWluZXJcbiAgICovXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmdldEhvc3RFbGVtZW50KCk7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgY29uc3QgZnVuYyA9ICgpID0+IHtcbiAgICAgIGhvc3QucGFyZW50RWxlbWVudD8ucmVtb3ZlQ2hpbGQoaG9zdCk7XG4gICAgICB0aGlzLm9uQ2xvc2VkLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICB9KTtcbiAgICAgIGhvc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIGZ1bmMpO1xuICAgIH07XG4gICAgaG9zdC5hZGRFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgZnVuYyk7XG4gIH1cblxuICAvKipcbiAgICogIEhpZGUgdGhlIGFsZXJ0XG4gICAqL1xuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqICBTaG93IHRoZSBhbGVydFxuICAgKi9cbiAgc2hvdygpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLm9uT3B0aW9uQ2hhbmdlZD8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zaG93SW5saW5lOyBlbHNlIGVsc2VUcGxcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWlubGluZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1pY29uXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtdGl0bGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbG9zZUJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Vsc2VUcGw+XG4gIDxkaXYgY2xhc3M9XCJheC1hbGVydC1ibG9ja1wiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1pY29uXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LXRpdGxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbG9zZUJ1dHRvblwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48ZGl2IGNsYXNzPVwiYXgtYWxlcnQtcHJvZ3Jlc3NcIiBbc3R5bGUuYW5pbWF0aW9uLWR1cmF0aW9uLm1zXT1cInRpbWVPdXRcIiAqbmdJZj1cInRpbWVPdXRcIj48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNidXR0b25zPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1idXR0b25cIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY2xvc2VCdXR0b24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNsb3NlLWJ1dHRvblwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN0aXRsZT5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdGl0bGVcIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaWNvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaWNvblwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jb250ZW50XCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Zvb3Rlcj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFXLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdEcsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBVnREOztRQTBCWSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUc5QixhQUFRLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7S0FzSy9EO0lBaktDOztPQUVHO0lBQ0gsSUFDSSxXQUFXO1FBQ2IsT0FBTyx1QkFBdUIsSUFBSSxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFHRCxJQUNXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxDQUFTO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxDQUFDO1lBQ1IsY0FBYyxFQUFFLENB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WTt1QkFBQyxVQUFVO2dCQUlkLFlBQVk7c0JBRHJCLFlBQVk7dUJBQUMsWUFBWTtnQkFJaEIsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxXQUFXO2dCQU16QixRQUFRO3NCQURQLE1BQU07Z0JBVUgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBT1QsT0FBTztzQkFEakIsS0FBSztnQkE2QkssT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENsb3NiYWxlQ29tcG9uZW50LCBBWEV2ZW50LCBNWENvbG9yQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZWd1bGFyIGRlc2NyaXB0aW9uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnY29sb3InXSxcbiAgb3V0cHV0czogWydjb2xvckNoYW5nZSddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENsb3NiYWxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhBbGVydENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhBbGVydENvbXBvbmVudCBleHRlbmRzIE1YQ29sb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoJ2F4LWljb24nKVxuICBwcml2YXRlIF9pY29uQ29tcDogQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhCdXR0b25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfYnV0dG9uQ29tcHMhOiBRdWVyeUxpc3Q8QVhCdXR0b25Db21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2F4LXRpdGxlJylcbiAgcHJvdGVjdGVkIF90aXRsZUNvbXAhOiBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZCgnYXgtY29udGVudCcpXG4gIHByb3RlY3RlZCBfY29udGVudENvbXAhOiBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZCgnYXgtZm9vdGVyJylcbiAgcHJvdGVjdGVkIF9mb290ZXJDb21wITogQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50O1xuXG4gIHByb3RlY3RlZCBfc2hvd0lubGluZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsb3NlZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xuXG4gIHByaXZhdGUgX2N1c3RvbUljb246IHN0cmluZztcbiAgcHJpdmF0ZSBfdGltZU91dFJlZjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtYWxlcnQgYXgtbm9uZSBheC0ke3RoaXMuY29sb3J9LXNvbGlkYDtcbiAgfVxuXG4gIHByaXZhdGUgX3RpbWVPdXQ6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCB0aW1lT3V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWVPdXQ7XG4gIH1cbiAgcHVibGljIHNldCB0aW1lT3V0KHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICd0aW1lT3V0JyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYmVmb3JlQ2FsbGJhY2s6IChvbGRWYWx1ZSwgbmV3VmFsdWUpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVPdXRSZWYpO1xuICAgICAgICByZXR1cm4gbmV3VmFsdWU7XG4gICAgICB9LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKG9sZFZhbHVlLCBuZXdWYWx1ZSkgPT4ge1xuICAgICAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl90aW1lT3V0UmVmID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH0sIHRoaXMudGltZU91dCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICBwcm90ZWN0ZWQgX3Zpc2libGU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgc2V0IHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBBbGVydFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG4gIHB1YmxpYyBzZXQgdmlzaWJsZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuX3Zpc2libGUgIT0gdikge1xuICAgICAgdGhpcy5fdmlzaWJsZSA9IHY7XG4gICAgICBjb25zdCBob3N0ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuICAgICAgaWYgKHYpIHtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1oaWRkZW4nKTtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS12aXNpYmxlJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBob3N0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWhpZGRlbicpO1xuICAgICAgICBob3N0LmNsYXNzTGlzdC50b2dnbGUoJ2F4LXN0YXRlLXZpc2libGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogZmFsc2UsIGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9O1xuICAgIGNvbnN0IGNhbGxiYWNrID0gKG11dGF0aW9uTGlzdCkgPT4ge1xuICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbkxpc3QpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgdGhpcy5fc2V0TGF5b3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gQ3JlYXRlIGFuIG9ic2VydmVyIGluc3RhbmNlIGxpbmtlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb25cbiAgICBpZiAodHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICAvLyBTdGFydCBvYnNlcnZpbmcgdGhlIHRhcmdldCBub2RlIGZvciBjb25maWd1cmVkIG11dGF0aW9uc1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5nZXRIb3N0RWxlbWVudCgpLCBjb25maWcpO1xuICAgIC8vXG4gICAgdGhpcy5vbk9wdGlvbkNoYW5nZWQuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZU9uT3B0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy52aXNpYmxlID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB9XG4gICAgLy9cbiAgICB0aGlzLl9jdXN0b21JY29uID0gdGhpcy5faWNvbkNvbXA/Lmljb247XG4gICAgdGhpcy5fc2V0TGF5b3V0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRMYXlvdXQoKSB7XG4gICAgdGhpcy5fc2V0SWNvbigpO1xuICAgIHRoaXMuX2FwcGx5QnV0dG9uU3R5bGUoKTtcbiAgICB0aGlzLl9zaG93SW5saW5lID0gdGhpcy5fY29udGVudENvbXAgPT0gbnVsbCAmJiB0aGlzLl9mb290ZXJDb21wID09IG51bGw7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZU9uT3B0aW9uQ2hhbmdlZCgpIHtcbiAgICB0aGlzLl9zZXRJY29uKCk7XG4gICAgdGhpcy5fYXBwbHlCdXR0b25TdHlsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0SWNvbigpIHtcbiAgICBpZiAoIXRoaXMuX2ljb25Db21wIHx8IHRoaXMuX2ljb25Db21wLmdldEhvc3RFbGVtZW50KCkuZmlyc3RFbGVtZW50Q2hpbGQpIHJldHVybjtcblxuICAgIHN3aXRjaCAodGhpcy5jb2xvcikge1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSAnYXgtaWNvbiBheC1pY29uLWNoZWNrLWNpcmNsZS1maWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkYW5nZXInOlxuICAgICAgICB0aGlzLl9pY29uQ29tcC5pY29uID0gJ2F4LWljb24gYXgtaWNvbi1lcnJvci1maWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd3YXJuaW5nJzpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9ICdheC1pY29uIGF4LWljb24td2FybmluZy1maWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9ICdheC1pY29uIGF4LWljb24taW5mbyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9IHRoaXMuX2N1c3RvbUljb24gfHwgJ2F4LWljb24gYXgtaWNvbi1jaGVjay1jaXJjbGUtZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5QnV0dG9uU3R5bGUoKSB7XG4gICAgLy8gdGhpcy5fYnV0dG9uQ29tcHM/LmZvckVhY2goKGM6IEFYQnV0dG9uQ29tcG9uZW50KSA9PiB7XG4gICAgLy8gICBjLmNvbG9yID0gdGhpcy5jb2xvcjtcbiAgICAvLyAgIGMuZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdheC1zbScpO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBSZW1vdmUgdGhlIGFsZXJ0IGZyb20gdGhlIGNvbnRhaW5lclxuICAgKi9cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICBjb25zdCBmdW5jID0gKCkgPT4ge1xuICAgICAgaG9zdC5wYXJlbnRFbGVtZW50Py5yZW1vdmVDaGlsZChob3N0KTtcbiAgICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIH0pO1xuICAgICAgaG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgZnVuYyk7XG4gICAgfTtcbiAgICBob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBmdW5jKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgSGlkZSB0aGUgYWxlcnRcbiAgICovXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogIFNob3cgdGhlIGFsZXJ0XG4gICAqL1xuICBzaG93KCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX3Nob3dJbmxpbmU7IGVsc2UgZWxzZVRwbFwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtaW5saW5lXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWljb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC10aXRsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1idXR0b25zXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNsb3NlQnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZWxzZVRwbD5cbiAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWJsb2NrXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWljb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtdGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdj48bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNsb3NlQnV0dG9uXCI+PC9uZy1jb250YWluZXI+PC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXYgY2xhc3M9XCJheC1hbGVydC1wcm9ncmVzc1wiIFtzdHlsZS5hbmltYXRpb24tZHVyYXRpb24ubXNdPVwidGltZU91dFwiICpuZ0lmPVwidGltZU91dFwiPjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbnM+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWJ1dHRvblwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNjbG9zZUJ1dHRvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2xvc2UtYnV0dG9uXCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3RpdGxlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC10aXRsZVwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNpY29uPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1pY29uXCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNvbnRlbnRcIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1mb290ZXJcIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==