@hestia-earth/ui-components 0.27.0 → 0.27.2

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.
@@ -1,9 +1,10 @@
1
+ import { DataState } from '@hestia-earth/api';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class BlankNodeStateNoticeComponent {
3
- private dataState?;
4
- showAggregated: boolean;
5
- showDeleted: boolean;
6
- get show(): boolean;
4
+ protected dataState: import("@angular/core").InputSignal<DataState>;
5
+ protected showAggregated: import("@angular/core").InputSignal<boolean>;
6
+ protected showDeleted: import("@angular/core").InputSignal<boolean>;
7
+ protected show: import("@angular/core").Signal<boolean>;
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<BlankNodeStateNoticeComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<BlankNodeStateNoticeComponent, "he-blank-node-state-notice", never, { "dataState": { "alias": "dataState"; "required": false; }; "showAggregated": { "alias": "showAggregated"; "required": false; }; "showDeleted": { "alias": "showDeleted"; "required": false; }; }, {}, never, never, true, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<BlankNodeStateNoticeComponent, "he-blank-node-state-notice", never, { "dataState": { "alias": "dataState"; "required": false; "isSignal": true; }; "showAggregated": { "alias": "showAggregated"; "required": false; "isSignal": true; }; "showDeleted": { "alias": "showDeleted"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
10
  }
@@ -1,26 +1,24 @@
1
- import { AfterContentChecked, AfterViewInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
1
+ import { AfterContentChecked, AfterViewInit, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class DataTableComponent implements AfterViewInit, AfterContentChecked, OnChanges, OnDestroy {
3
+ export declare class DataTableComponent implements AfterViewInit, AfterContentChecked, OnChanges {
4
+ private destroyRef;
4
5
  private elementRef;
5
6
  private changeRef;
6
7
  private navigationMenuService;
7
- private subscriptions;
8
- private minHeight;
9
- private maxHeight?;
10
- private small;
11
- height: string;
12
- width: string;
8
+ protected minHeight: import("@angular/core").InputSignal<string | number>;
9
+ protected maxHeight: import("@angular/core").InputSignal<string | number>;
10
+ protected small: import("@angular/core").InputSignal<boolean>;
11
+ protected height: string;
12
+ protected width: string;
13
13
  get isSmall(): boolean;
14
14
  protected onResize(): void;
15
+ private menuCollapsed$;
15
16
  constructor();
16
- ngOnDestroy(): void;
17
17
  ngAfterViewInit(): void;
18
18
  ngAfterContentChecked(): void;
19
19
  ngOnChanges(changes: SimpleChanges): void;
20
20
  private get tableEl();
21
- get nbHeaders(): any;
22
- get rowHeight(): 30 | 42;
23
21
  private updateTableSize;
24
22
  static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "he-data-table", never, { "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "small": { "alias": "small"; "required": false; }; }, {}, never, ["*"], true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "he-data-table", never, { "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "small": { "alias": "small"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
26
24
  }
@@ -2,13 +2,13 @@ import * as i0 from "@angular/core";
2
2
  export declare class DropdownComponent {
3
3
  private elementRef;
4
4
  protected id: string;
5
- protected tooltip: string;
6
- protected dropdownClass: string;
7
- protected dropdownButtonClass: string;
8
- protected dropdownContentClass: string;
5
+ protected tooltip: import("@angular/core").InputSignal<string>;
6
+ protected dropdownClass: import("@angular/core").InputSignal<string>;
7
+ protected dropdownButtonClass: import("@angular/core").InputSignal<string>;
8
+ protected dropdownContentClass: import("@angular/core").InputSignal<string>;
9
9
  protected get menuId(): string;
10
10
  protected showDropdown: boolean;
11
11
  onClick(event: MouseEvent): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "he-dropdown", never, { "tooltip": { "alias": "tooltip"; "required": false; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; }; "dropdownButtonClass": { "alias": "dropdownButtonClass"; "required": false; }; "dropdownContentClass": { "alias": "dropdownContentClass"; "required": false; }; }, {}, never, ["[label]", "[menu]"], true, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "he-dropdown", never, { "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; "isSignal": true; }; "dropdownButtonClass": { "alias": "dropdownButtonClass"; "required": false; "isSignal": true; }; "dropdownContentClass": { "alias": "dropdownContentClass"; "required": false; "isSignal": true; }; }, {}, never, ["[label]", "[menu]"], true, never>;
14
14
  }
@@ -28,21 +28,21 @@ export declare class NavigationMenuComponent {
28
28
  protected readonly faAngleDoubleRight: import("@fortawesome/fontawesome-common-types").IconDefinition;
29
29
  protected readonly faCaretDown: import("@fortawesome/fontawesome-common-types").IconDefinition;
30
30
  protected readonly faCaretRight: import("@fortawesome/fontawesome-common-types").IconDefinition;
31
- protected sticky: boolean;
32
- protected collapsible: boolean;
33
- protected links: INavigationMenuLink[];
34
- protected routerLinkMatchOptions: IsActiveMatchOptions;
31
+ protected links: import("@angular/core").InputSignal<INavigationMenuLink[]>;
32
+ protected sticky: import("@angular/core").InputSignal<boolean>;
33
+ protected collapsible: import("@angular/core").InputSignal<boolean>;
34
+ protected routerLinkMatchOptions: import("@angular/core").InputSignal<IsActiveMatchOptions>;
35
+ withPrimaryIcons: import("@angular/core").Signal<boolean>;
35
36
  collapsed: boolean;
36
37
  opened: boolean;
37
38
  protected classes: string;
38
39
  protected get isCollapsed(): boolean;
39
40
  constructor();
40
41
  get maxHeight(): string;
41
- get withPrimaryIcons(): boolean;
42
42
  toggle(): void;
43
43
  private collapseOtherLinks;
44
44
  toggleLinks(item: INavigationMenuLink, index: number): void;
45
45
  listActiveLinkChange(item: INavigationMenuLink): void;
46
46
  static ɵfac: i0.ɵɵFactoryDeclaration<NavigationMenuComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<NavigationMenuComponent, "he-navigation-menu", never, { "sticky": { "alias": "sticky"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; "links": { "alias": "links"; "required": false; }; "routerLinkMatchOptions": { "alias": "routerLinkMatchOptions"; "required": false; }; }, {}, never, ["[outer-content]", "[inner-content]"], true, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavigationMenuComponent, "he-navigation-menu", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "routerLinkMatchOptions": { "alias": "routerLinkMatchOptions"; "required": false; "isSignal": true; }; }, {}, never, ["[outer-content]", "[inner-content]"], true, never>;
48
48
  }
@@ -1,10 +1,18 @@
1
- import { OnInit } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
- export declare class SocialTagsComponent implements OnInit {
2
+ interface ISocialTagsConfig {
3
+ 'og:type'?: string;
4
+ 'og:url'?: string;
5
+ 'og:title'?: string;
6
+ 'og:description'?: string;
7
+ 'og:image'?: string;
8
+ }
9
+ export declare class SocialTagsComponent {
4
10
  private meta;
5
- private config;
11
+ protected config: import("@angular/core").InputSignal<ISocialTagsConfig>;
6
12
  classes: string;
7
- ngOnInit(): void;
13
+ private configs;
14
+ constructor();
8
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SocialTagsComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<SocialTagsComponent, "he-social-tags", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<SocialTagsComponent, "he-social-tags", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
10
17
  }
18
+ export {};
@@ -1,25 +1,18 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
2
  import { DataState } from '@hestia-earth/api';
3
3
  import * as i0 from "@angular/core";
4
4
  export class BlankNodeStateNoticeComponent {
5
5
  constructor() {
6
- this.showAggregated = true;
7
- this.showDeleted = false;
8
- }
9
- get show() {
10
- return this.dataState !== DataState.original;
6
+ this.dataState = input();
7
+ this.showAggregated = input(true);
8
+ this.showDeleted = input(false);
9
+ this.show = computed(() => this.dataState() !== DataState.original);
11
10
  }
12
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BlankNodeStateNoticeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: BlankNodeStateNoticeComponent, isStandalone: true, selector: "he-blank-node-state-notice", inputs: { dataState: "dataState", showAggregated: "showAggregated", showDeleted: "showDeleted" }, ngImport: i0, template: "@if (show) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: BlankNodeStateNoticeComponent, isStandalone: true, selector: "he-blank-node-state-notice", inputs: { dataState: { classPropertyName: "dataState", publicName: "dataState", isSignal: true, isRequired: false, transformFunction: null }, showAggregated: { classPropertyName: "showAggregated", publicName: "showAggregated", isSignal: true, isRequired: false, transformFunction: null }, showDeleted: { classPropertyName: "showDeleted", publicName: "showDeleted", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (show()) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated()) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted()) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
13
  }
15
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BlankNodeStateNoticeComponent, decorators: [{
16
15
  type: Component,
17
- args: [{ selector: 'he-blank-node-state-notice', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (show) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n" }]
18
- }], propDecorators: { dataState: [{
19
- type: Input
20
- }], showAggregated: [{
21
- type: Input
22
- }], showDeleted: [{
23
- type: Input
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFTOUMsTUFBTSxPQUFPLDZCQUE2QjtJQVAxQztRQVdTLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBSzVCO0lBSEMsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDL0MsQ0FBQzs4R0FWVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qix3TENWMUMsOGhCQWFBOzsyRkRIYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7OEJBSVIsU0FBUztzQkFEaEIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVN0YXRlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1ibGFuay1ub2RlLXN0YXRlLW5vdGljZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJsYW5rTm9kZVN0YXRlTm90aWNlQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBkYXRhU3RhdGU/OiBEYXRhU3RhdGU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93QWdncmVnYXRlZCA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93RGVsZXRlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgc2hvdygpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3RhdGUgIT09IERhdGFTdGF0ZS5vcmlnaW5hbDtcbiAgfVxufVxuIiwiQGlmIChzaG93KSB7XG4gIDxwIGNsYXNzPVwiaXMtc2l6ZS03IGlzLWl0YWxpY1wiPlxuICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS11bmNoYWdlZFwiPuKAoCBEYXRhIHVwbG9hZGVkIGJ5IHRoZSB1c2VyPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1hZGRlZFwiPiogRGF0YSBhZGRlZCBieSBIZXN0aWE8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJwbC0xIG5vdGljZS1kYXRhLXVwZGF0ZWRcIj4qKiBEYXRhIHVwZGF0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIEBpZiAoc2hvd0FnZ3JlZ2F0ZWQpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1hZ2dyZWdhdGVkXCI+KioqIERhdGEgYWdncmVnYXRlZCBieSBIZXN0aWE8L3NwYW4+XG4gICAgfVxuICAgIEBpZiAoc2hvd0RlbGV0ZWQpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1kZWxldGVkXCI+KioqKiBEYXRhIGRlbGV0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIH1cbiAgPC9wPlxufVxuIl19
16
+ args: [{ selector: 'he-blank-node-state-notice', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (show()) {\n <p class=\"is-size-7 is-italic\">\n <span class=\"pl-1 notice-data-unchaged\">\u2020 Data uploaded by the user</span>\n <span class=\"pl-1 notice-data-added\">* Data added by Hestia</span>\n <span class=\"pl-1 notice-data-updated\">** Data updated by Hestia</span>\n @if (showAggregated()) {\n <span class=\"pl-1 notice-data-aggregated\">*** Data aggregated by Hestia</span>\n }\n @if (showDeleted()) {\n <span class=\"pl-1 notice-data-deleted\">**** Data deleted by Hestia</span>\n }\n </p>\n}\n" }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBUzlDLE1BQU0sT0FBTyw2QkFBNkI7SUFQMUM7UUFRWSxjQUFTLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsZ0JBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0IsU0FBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQzFFOzhHQU5ZLDZCQUE2QjtrR0FBN0IsNkJBQTZCLG1nQkNWMUMsb2lCQWFBOzsyRkRIYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTdGF0ZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCbGFua05vZGVTdGF0ZU5vdGljZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBkYXRhU3RhdGUgPSBpbnB1dDxEYXRhU3RhdGU+KCk7XG4gIHByb3RlY3RlZCBzaG93QWdncmVnYXRlZCA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgc2hvd0RlbGV0ZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHNob3cgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRhdGFTdGF0ZSgpICE9PSBEYXRhU3RhdGUub3JpZ2luYWwpO1xufVxuIiwiQGlmIChzaG93KCkpIHtcbiAgPHAgY2xhc3M9XCJpcy1zaXplLTcgaXMtaXRhbGljXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJwbC0xIG5vdGljZS1kYXRhLXVuY2hhZ2VkXCI+4oCgIERhdGEgdXBsb2FkZWQgYnkgdGhlIHVzZXI8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJwbC0xIG5vdGljZS1kYXRhLWFkZGVkXCI+KiBEYXRhIGFkZGVkIGJ5IEhlc3RpYTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInBsLTEgbm90aWNlLWRhdGEtdXBkYXRlZFwiPioqIERhdGEgdXBkYXRlZCBieSBIZXN0aWE8L3NwYW4+XG4gICAgQGlmIChzaG93QWdncmVnYXRlZCgpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInBsLTEgbm90aWNlLWRhdGEtYWdncmVnYXRlZFwiPioqKiBEYXRhIGFnZ3JlZ2F0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIH1cbiAgICBAaWYgKHNob3dEZWxldGVkKCkpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwicGwtMSBub3RpY2UtZGF0YS1kZWxldGVkXCI+KioqKiBEYXRhIGRlbGV0ZWQgYnkgSGVzdGlhPC9zcGFuPlxuICAgIH1cbiAgPC9wPlxufVxuIl19
@@ -1,30 +1,30 @@
1
- import { ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Input, inject } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, DestroyRef, ElementRef, HostBinding, HostListener, inject, input } from '@angular/core';
2
2
  import { NavigationMenuService } from '../navigation-menu.service';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
4
  import * as i0 from "@angular/core";
4
5
  const defaultSize = '100%';
5
6
  export class DataTableComponent {
6
7
  get isSmall() {
7
- return this.small;
8
+ return this.small();
8
9
  }
9
10
  onResize() {
10
11
  this.updateTableSize();
11
12
  }
12
13
  constructor() {
14
+ this.destroyRef = inject(DestroyRef);
13
15
  this.elementRef = inject(ElementRef);
14
16
  this.changeRef = inject(ChangeDetectorRef);
15
17
  this.navigationMenuService = inject(NavigationMenuService);
16
- this.subscriptions = [];
17
- this.minHeight = 200;
18
- this.small = false;
18
+ this.minHeight = input(200);
19
+ this.maxHeight = input();
20
+ this.small = input(false);
19
21
  this.height = defaultSize;
20
22
  this.width = defaultSize;
21
- this.subscriptions.push(this.navigationMenuService.collapsed$.subscribe(() => setTimeout(() => {
23
+ this.menuCollapsed$ = this.navigationMenuService.collapsed$.pipe(takeUntilDestroyed(this.destroyRef));
24
+ this.menuCollapsed$.subscribe(() => setTimeout(() => {
22
25
  this.updateTableSize();
23
26
  this.changeRef.detectChanges();
24
- })));
25
- }
26
- ngOnDestroy() {
27
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
27
+ }));
28
28
  }
29
29
  ngAfterViewInit() {
30
30
  this.updateTableSize();
@@ -39,37 +39,25 @@ export class DataTableComponent {
39
39
  get tableEl() {
40
40
  return this.elementRef.nativeElement.querySelector('table');
41
41
  }
42
- get nbHeaders() {
43
- return this.elementRef?.nativeElement?.querySelectorAll('.table thead tr')?.length || 1;
44
- }
45
- get rowHeight() {
46
- return this.small ? 30 : 42;
47
- }
48
42
  updateTableSize() {
49
43
  const height = this.tableEl.offsetHeight;
50
- const minHeight = this.minHeight ? +this.minHeight : height;
51
- const maxHeight = this.maxHeight ? +this.maxHeight : height;
44
+ const minHeight = this.minHeight() ? +this.minHeight() : height;
45
+ const maxHeight = this.maxHeight() ? +this.maxHeight() : height;
52
46
  this.height = `${Math.max(minHeight, Math.min(height, maxHeight))}px`;
53
47
  const width = this.elementRef?.nativeElement?.offsetWidth;
54
48
  this.width = width ? `${width}px` : defaultSize;
55
49
  }
56
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: DataTableComponent, isStandalone: true, selector: "he-data-table", inputs: { minHeight: "minHeight", maxHeight: "maxHeight", small: "small" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.is-small": "this.isSmall" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"data-table-holder\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"data-table-content\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: DataTableComponent, isStandalone: true, selector: "he-data-table", inputs: { minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.is-small": "this.isSmall" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"data-table-holder\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"data-table-content\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }); }
58
52
  }
59
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DataTableComponent, decorators: [{
60
54
  type: Component,
61
55
  args: [{ selector: 'he-data-table', standalone: true, template: "<div class=\"data-table-holder\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"data-table-content\" [style.height]=\"height\" [style.width]=\"width\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.8rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }]
62
- }], ctorParameters: () => [], propDecorators: { minHeight: [{
63
- type: Input
64
- }], maxHeight: [{
65
- type: Input
66
- }], small: [{
67
- type: Input
68
- }], isSmall: [{
56
+ }], ctorParameters: () => [], propDecorators: { isSmall: [{
69
57
  type: HostBinding,
70
58
  args: ['class.is-small']
71
59
  }], onResize: [{
72
60
  type: HostListener,
73
61
  args: ['window:resize', []]
74
62
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFRM0IsTUFBTSxPQUFPLGtCQUFrQjtJQWlCN0IsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBR1MsUUFBUTtRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEO1FBMUJRLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RDLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUduQyxjQUFTLEdBQW9CLEdBQUcsQ0FBQztRQUlqQyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWYsV0FBTSxHQUFHLFdBQVcsQ0FBQztRQUNyQixVQUFLLEdBQUcsV0FBVyxDQUFDO1FBYXpCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDbkQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsT0FBTyxVQUFVLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDNUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDOzhHQTFFVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixvUkMxQi9CLG1SQU9BOzsyRkRtQmEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGVBQWUsY0FHYixJQUFJO3dEQVVSLFNBQVM7c0JBRGhCLEtBQUs7Z0JBR0UsU0FBUztzQkFEaEIsS0FBSztnQkFHRSxLQUFLO3NCQURaLEtBQUs7Z0JBT0ssT0FBTztzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTW5CLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0aW9uTWVudVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLW1lbnUuc2VydmljZSc7XG5cbmNvbnN0IGRlZmF1bHRTaXplID0gJzEwMCUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1kYXRhLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgY2hhbmdlUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uTWVudVNlcnZpY2UgPSBpbmplY3QoTmF2aWdhdGlvbk1lbnVTZXJ2aWNlKTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHJpdmF0ZSBtaW5IZWlnaHQ6IHN0cmluZyB8IG51bWJlciA9IDIwMDtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBtYXhIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgc21hbGwgPSBmYWxzZTtcblxuICBwdWJsaWMgaGVpZ2h0ID0gZGVmYXVsdFNpemU7XG4gIHB1YmxpYyB3aWR0aCA9IGRlZmF1bHRTaXplO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc21hbGwnKVxuICBwdWJsaWMgZ2V0IGlzU21hbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuc21hbGw7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgW10pXG4gIHByb3RlY3RlZCBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLm5hdmlnYXRpb25NZW51U2VydmljZS5jb2xsYXBzZWQkLnN1YnNjcmliZSgoKSA9PlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIHRoaXMudXBkYXRlVGFibGVTaXplKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgaGFzQ2hhbmdlcyA9IE9iamVjdC52YWx1ZXMoY2hhbmdlcykuc29tZSh2ID0+ICF2LmZpcnN0Q2hhbmdlKTtcbiAgICByZXR1cm4gaGFzQ2hhbmdlcyAmJiB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGFibGVFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmJIZWFkZXJzKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJy50YWJsZSB0aGVhZCB0cicpPy5sZW5ndGggfHwgMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm93SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnNtYWxsID8gMzAgOiA0MjtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGFibGVTaXplKCkge1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMudGFibGVFbC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3QgbWluSGVpZ2h0ID0gdGhpcy5taW5IZWlnaHQgPyArdGhpcy5taW5IZWlnaHQgOiBoZWlnaHQ7XG4gICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5tYXhIZWlnaHQgPyArdGhpcy5tYXhIZWlnaHQgOiBoZWlnaHQ7XG4gICAgdGhpcy5oZWlnaHQgPSBgJHtNYXRoLm1heChtaW5IZWlnaHQsIE1hdGgubWluKGhlaWdodCwgbWF4SGVpZ2h0KSl9cHhgO1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aDtcbiAgICB0aGlzLndpZHRoID0gd2lkdGggPyBgJHt3aWR0aH1weGAgOiBkZWZhdWx0U2l6ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRhdGEtdGFibGUtaG9sZGVyXCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIj5cbiAgPGRpdiBjbGFzcz1cImRhdGEtdGFibGUtY29udGVudFwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCI+XG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBR1osTUFBTSxFQUNOLEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDO0FBUTNCLE1BQU0sT0FBTyxrQkFBa0I7SUFhN0IsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFHUyxRQUFRO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQ7UUF4QlEsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0QywwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVwRCxjQUFTLEdBQUcsS0FBSyxDQUFrQixHQUFHLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsS0FBSyxFQUFtQixDQUFDO1FBQ3JDLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckIsV0FBTSxHQUFHLFdBQVcsQ0FBQztRQUNyQixVQUFLLEdBQUcsV0FBVyxDQUFDO1FBWXRCLG1CQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFHdkcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2pDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sVUFBVSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNoRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDOzhHQTFEVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixvbEJDMUIvQixtUkFPQTs7MkZEbUJhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSTt3REFnQkwsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTW5CLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGluamVjdCxcbiAgaW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5hdmlnYXRpb25NZW51U2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRpb24tbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuY29uc3QgZGVmYXVsdFNpemUgPSAnMTAwJSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLWRhdGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBjaGFuZ2VSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIG5hdmlnYXRpb25NZW51U2VydmljZSA9IGluamVjdChOYXZpZ2F0aW9uTWVudVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBtaW5IZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KDIwMCk7XG4gIHByb3RlY3RlZCBtYXhIZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBzbWFsbCA9IGlucHV0KGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgaGVpZ2h0ID0gZGVmYXVsdFNpemU7XG4gIHByb3RlY3RlZCB3aWR0aCA9IGRlZmF1bHRTaXplO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc21hbGwnKVxuICBwdWJsaWMgZ2V0IGlzU21hbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuc21hbGwoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbXSlcbiAgcHJvdGVjdGVkIG9uUmVzaXplKCkge1xuICAgIHRoaXMudXBkYXRlVGFibGVTaXplKCk7XG4gIH1cblxuICBwcml2YXRlIG1lbnVDb2xsYXBzZWQkID0gdGhpcy5uYXZpZ2F0aW9uTWVudVNlcnZpY2UuY29sbGFwc2VkJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm1lbnVDb2xsYXBzZWQkLnN1YnNjcmliZSgoKSA9PlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVGFibGVTaXplKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIHRoaXMudXBkYXRlVGFibGVTaXplKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgaGFzQ2hhbmdlcyA9IE9iamVjdC52YWx1ZXMoY2hhbmdlcykuc29tZSh2ID0+ICF2LmZpcnN0Q2hhbmdlKTtcbiAgICByZXR1cm4gaGFzQ2hhbmdlcyAmJiB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGFibGVFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGFibGVTaXplKCkge1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMudGFibGVFbC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3QgbWluSGVpZ2h0ID0gdGhpcy5taW5IZWlnaHQoKSA/ICt0aGlzLm1pbkhlaWdodCgpIDogaGVpZ2h0O1xuICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMubWF4SGVpZ2h0KCkgPyArdGhpcy5tYXhIZWlnaHQoKSA6IGhlaWdodDtcbiAgICB0aGlzLmhlaWdodCA9IGAke01hdGgubWF4KG1pbkhlaWdodCwgTWF0aC5taW4oaGVpZ2h0LCBtYXhIZWlnaHQpKX1weGA7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldFdpZHRoO1xuICAgIHRoaXMud2lkdGggPSB3aWR0aCA/IGAke3dpZHRofXB4YCA6IGRlZmF1bHRTaXplO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0YS10YWJsZS1ob2xkZXJcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPlxuICA8ZGl2IGNsYXNzPVwiZGF0YS10YWJsZS1jb250ZW50XCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Input, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, inject, input } from '@angular/core';
2
2
  import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap';
3
3
  import { ClickOutsideDirective } from '../click-outside.directive';
4
4
  import * as i0 from "@angular/core";
@@ -7,9 +7,10 @@ export class DropdownComponent {
7
7
  constructor() {
8
8
  this.elementRef = inject(ElementRef);
9
9
  this.id = `dropdown-${dropdownId++}`;
10
- this.dropdownClass = '';
11
- this.dropdownButtonClass = '';
12
- this.dropdownContentClass = '';
10
+ this.tooltip = input();
11
+ this.dropdownClass = input('');
12
+ this.dropdownButtonClass = input('');
13
+ this.dropdownContentClass = input('');
13
14
  this.showDropdown = false;
14
15
  }
15
16
  get menuId() {
@@ -21,24 +22,16 @@ export class DropdownComponent {
21
22
  }
22
23
  }
23
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: DropdownComponent, isStandalone: true, selector: "he-dropdown", inputs: { tooltip: "tooltip", dropdownClass: "dropdownClass", dropdownButtonClass: "dropdownButtonClass", dropdownContentClass: "dropdownContentClass" }, host: { listeners: { "document:click": "onClick($event)" }, properties: { "id": "this.id" } }, ngImport: i0, template: "<div [class.is-active]=\"showDropdown\" (clickOutside)=\"showDropdown = false\" class=\"dropdown {{ dropdownClass }}\">\n <div (click)=\"showDropdown = !showDropdown\" class=\"dropdown-trigger\">\n <button\n [class.is-active]=\"showDropdown\"\n [disableTooltip]=\"showDropdown\"\n [attr.aria-controls]=\"menuId\"\n [ngbTooltip]=\"tooltip\"\n class=\"button {{ dropdownButtonClass }}\"\n aria-haspopup=\"true\"\n container=\"body\"\n placement=\"bottom\">\n <ng-content select=\"[label]\"></ng-content>\n </button>\n </div>\n\n <div class=\"dropdown-menu\" [id]=\"menuId\" role=\"menu\">\n <div (click)=\"showDropdown = false\" class=\"dropdown-content {{ dropdownContentClass }}\">\n <ng-content select=\"[menu]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".dropdown-item>span{border-left:2px solid transparent}\n"], dependencies: [{ kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideListenAfter"], outputs: ["clickOutside"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: DropdownComponent, isStandalone: true, selector: "he-dropdown", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, dropdownClass: { classPropertyName: "dropdownClass", publicName: "dropdownClass", isSignal: true, isRequired: false, transformFunction: null }, dropdownButtonClass: { classPropertyName: "dropdownButtonClass", publicName: "dropdownButtonClass", isSignal: true, isRequired: false, transformFunction: null }, dropdownContentClass: { classPropertyName: "dropdownContentClass", publicName: "dropdownContentClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:click": "onClick($event)" }, properties: { "id": "this.id" } }, ngImport: i0, template: "<div [class.is-active]=\"showDropdown\" (clickOutside)=\"showDropdown = false\" class=\"dropdown {{ dropdownClass() }}\">\n <div (click)=\"showDropdown = !showDropdown\" class=\"dropdown-trigger\">\n <button\n [class.is-active]=\"showDropdown\"\n [disableTooltip]=\"showDropdown\"\n [attr.aria-controls]=\"menuId\"\n [ngbTooltip]=\"tooltip()\"\n class=\"button {{ dropdownButtonClass() }}\"\n aria-haspopup=\"true\"\n container=\"body\"\n placement=\"bottom\">\n <ng-content select=\"[label]\"></ng-content>\n </button>\n </div>\n\n <div class=\"dropdown-menu\" [id]=\"menuId\" role=\"menu\">\n <div (click)=\"showDropdown = false\" class=\"dropdown-content {{ dropdownContentClass() }}\">\n <ng-content select=\"[menu]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".dropdown-item>span{border-left:2px solid transparent}\n"], dependencies: [{ kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideListenAfter"], outputs: ["clickOutside"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
26
  }
26
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: DropdownComponent, decorators: [{
27
28
  type: Component,
28
- args: [{ selector: 'he-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ClickOutsideDirective, NgbTooltip], template: "<div [class.is-active]=\"showDropdown\" (clickOutside)=\"showDropdown = false\" class=\"dropdown {{ dropdownClass }}\">\n <div (click)=\"showDropdown = !showDropdown\" class=\"dropdown-trigger\">\n <button\n [class.is-active]=\"showDropdown\"\n [disableTooltip]=\"showDropdown\"\n [attr.aria-controls]=\"menuId\"\n [ngbTooltip]=\"tooltip\"\n class=\"button {{ dropdownButtonClass }}\"\n aria-haspopup=\"true\"\n container=\"body\"\n placement=\"bottom\">\n <ng-content select=\"[label]\"></ng-content>\n </button>\n </div>\n\n <div class=\"dropdown-menu\" [id]=\"menuId\" role=\"menu\">\n <div (click)=\"showDropdown = false\" class=\"dropdown-content {{ dropdownContentClass }}\">\n <ng-content select=\"[menu]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".dropdown-item>span{border-left:2px solid transparent}\n"] }]
29
+ args: [{ selector: 'he-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ClickOutsideDirective, NgbTooltip], template: "<div [class.is-active]=\"showDropdown\" (clickOutside)=\"showDropdown = false\" class=\"dropdown {{ dropdownClass() }}\">\n <div (click)=\"showDropdown = !showDropdown\" class=\"dropdown-trigger\">\n <button\n [class.is-active]=\"showDropdown\"\n [disableTooltip]=\"showDropdown\"\n [attr.aria-controls]=\"menuId\"\n [ngbTooltip]=\"tooltip()\"\n class=\"button {{ dropdownButtonClass() }}\"\n aria-haspopup=\"true\"\n container=\"body\"\n placement=\"bottom\">\n <ng-content select=\"[label]\"></ng-content>\n </button>\n </div>\n\n <div class=\"dropdown-menu\" [id]=\"menuId\" role=\"menu\">\n <div (click)=\"showDropdown = false\" class=\"dropdown-content {{ dropdownContentClass() }}\">\n <ng-content select=\"[menu]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".dropdown-item>span{border-left:2px solid transparent}\n"] }]
29
30
  }], propDecorators: { id: [{
30
31
  type: HostBinding,
31
32
  args: ['id']
32
- }], tooltip: [{
33
- type: Input
34
- }], dropdownClass: [{
35
- type: Input
36
- }], dropdownButtonClass: [{
37
- type: Input
38
- }], dropdownContentClass: [{
39
- type: Input
40
33
  }], onClick: [{
41
34
  type: HostListener,
42
35
  args: ['document:click', ['$event']]
43
36
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFVbkIsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQVNVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHOUIsT0FBRSxHQUFHLFlBQVksVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUtoQyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUVuQix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFekIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBTTFCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0tBUWhDO0lBWkMsSUFBYyxNQUFNO1FBQ2xCLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUtELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDOzhHQTFCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnVUN2QjlCLHV6QkFxQkEsa0hEQVkscUJBQXFCLDJIQUFFLFVBQVU7OzJGQUVoQyxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQzs4QkFNbEMsRUFBRTtzQkFEWCxXQUFXO3VCQUFDLElBQUk7Z0JBSVAsT0FBTztzQkFEaEIsS0FBSztnQkFHSSxhQUFhO3NCQUR0QixLQUFLO2dCQUdJLG1CQUFtQjtzQkFENUIsS0FBSztnQkFHSSxvQkFBb0I7c0JBRDdCLEtBQUs7Z0JBVU4sT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcblxubGV0IGRyb3Bkb3duSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBOZ2JUb29sdGlwXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHJvdGVjdGVkIGlkID0gYGRyb3Bkb3duLSR7ZHJvcGRvd25JZCsrfWA7XG5cbiAgQElucHV0KClcbiAgcHJvdGVjdGVkIHRvb2x0aXA6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHJvdGVjdGVkIGRyb3Bkb3duQ2xhc3MgPSAnJztcbiAgQElucHV0KClcbiAgcHJvdGVjdGVkIGRyb3Bkb3duQnV0dG9uQ2xhc3MgPSAnJztcbiAgQElucHV0KClcbiAgcHJvdGVjdGVkIGRyb3Bkb3duQ29udGVudENsYXNzID0gJyc7XG5cbiAgcHJvdGVjdGVkIGdldCBtZW51SWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LW1lbnVgO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNob3dEcm9wZG93biA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzLmlzLWFjdGl2ZV09XCJzaG93RHJvcGRvd25cIiAoY2xpY2tPdXRzaWRlKT1cInNob3dEcm9wZG93biA9IGZhbHNlXCIgY2xhc3M9XCJkcm9wZG93biB7eyBkcm9wZG93bkNsYXNzIH19XCI+XG4gIDxkaXYgKGNsaWNrKT1cInNob3dEcm9wZG93biA9ICFzaG93RHJvcGRvd25cIiBjbGFzcz1cImRyb3Bkb3duLXRyaWdnZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cInNob3dEcm9wZG93blwiXG4gICAgICBbZGlzYWJsZVRvb2x0aXBdPVwic2hvd0Ryb3Bkb3duXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibWVudUlkXCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cInRvb2x0aXBcIlxuICAgICAgY2xhc3M9XCJidXR0b24ge3sgZHJvcGRvd25CdXR0b25DbGFzcyB9fVwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xhYmVsXVwiPjwvbmctY29udGVudD5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBbaWRdPVwibWVudUlkXCIgcm9sZT1cIm1lbnVcIj5cbiAgICA8ZGl2IChjbGljayk9XCJzaG93RHJvcGRvd24gPSBmYWxzZVwiIGNsYXNzPVwiZHJvcGRvd24tY29udGVudCB7eyBkcm9wZG93bkNvbnRlbnRDbGFzcyB9fVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21lbnVdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFVbkIsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQVNVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHOUIsT0FBRSxHQUFHLFlBQVksVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUVoQyxZQUFPLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLHlCQUFvQixHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU1qQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztLQVFoQztJQVpDLElBQWMsTUFBTTtRQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFLRCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQzs4R0F0QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsdXdCQ3ZCOUIsK3pCQXFCQSxrSERBWSxxQkFBcUIsMkhBQUUsVUFBVTs7MkZBRWhDLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDOzhCQU1sQyxFQUFFO3NCQURYLFdBQVc7dUJBQUMsSUFBSTtnQkFlakIsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcblxubGV0IGRyb3Bkb3duSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBOZ2JUb29sdGlwXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHJvdGVjdGVkIGlkID0gYGRyb3Bkb3duLSR7ZHJvcGRvd25JZCsrfWA7XG5cbiAgcHJvdGVjdGVkIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCBkcm9wZG93bkNsYXNzID0gaW5wdXQoJycpO1xuICBwcm90ZWN0ZWQgZHJvcGRvd25CdXR0b25DbGFzcyA9IGlucHV0KCcnKTtcbiAgcHJvdGVjdGVkIGRyb3Bkb3duQ29udGVudENsYXNzID0gaW5wdXQoJycpO1xuXG4gIHByb3RlY3RlZCBnZXQgbWVudUlkKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlkfS1tZW51YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaG93RHJvcGRvd24gPSBmYWxzZTtcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtjbGFzcy5pcy1hY3RpdmVdPVwic2hvd0Ryb3Bkb3duXCIgKGNsaWNrT3V0c2lkZSk9XCJzaG93RHJvcGRvd24gPSBmYWxzZVwiIGNsYXNzPVwiZHJvcGRvd24ge3sgZHJvcGRvd25DbGFzcygpIH19XCI+XG4gIDxkaXYgKGNsaWNrKT1cInNob3dEcm9wZG93biA9ICFzaG93RHJvcGRvd25cIiBjbGFzcz1cImRyb3Bkb3duLXRyaWdnZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cInNob3dEcm9wZG93blwiXG4gICAgICBbZGlzYWJsZVRvb2x0aXBdPVwic2hvd0Ryb3Bkb3duXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibWVudUlkXCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cInRvb2x0aXAoKVwiXG4gICAgICBjbGFzcz1cImJ1dHRvbiB7eyBkcm9wZG93bkJ1dHRvbkNsYXNzKCkgfX1cIlxuICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsYWJlbF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgW2lkXT1cIm1lbnVJZFwiIHJvbGU9XCJtZW51XCI+XG4gICAgPGRpdiAoY2xpY2spPVwic2hvd0Ryb3Bkb3duID0gZmFsc2VcIiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnQge3sgZHJvcGRvd25Db250ZW50Q2xhc3MoKSB9fVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21lbnVdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19