@hestia-earth/ui-components 0.9.7 → 0.10.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 (34) hide show
  1. package/common/blank-node-state/blank-node-state.component.d.ts +11 -10
  2. package/common/link-key-value/link-key-value.component.d.ts +3 -1
  3. package/common/popover/popover.component.d.ts +1 -1
  4. package/common/popover-confirm/popover-confirm.component.d.ts +1 -0
  5. package/cycles/cycles-activity-logs/cycles-activity-logs.component.d.ts +9 -8
  6. package/cycles/cycles-completeness/cycles-completeness.component.d.ts +1 -0
  7. package/cycles/cycles-emissions-logs/cycles-emissions-logs.component.d.ts +9 -8
  8. package/cycles/cycles-practices-logs/cycles-practices-logs.component.d.ts +9 -8
  9. package/engine/engine.service.d.ts +7 -3
  10. package/esm2020/common/blank-node-state/blank-node-state.component.mjs +6 -4
  11. package/esm2020/common/data-table/data-table.component.mjs +2 -2
  12. package/esm2020/common/link-key-value/link-key-value.component.mjs +9 -7
  13. package/esm2020/common/popover/popover.component.mjs +3 -3
  14. package/esm2020/common/popover-confirm/popover-confirm.component.mjs +4 -1
  15. package/esm2020/cycles/cycles-activity/cycles-activity.component.mjs +3 -3
  16. package/esm2020/cycles/cycles-completeness/cycles-completeness.component.mjs +7 -4
  17. package/esm2020/cycles/cycles-emissions/cycles-emissions.component.mjs +3 -3
  18. package/esm2020/cycles/cycles-practices/cycles-practices.component.mjs +3 -3
  19. package/esm2020/cycles/cycles-practices-timeline/cycles-practices-timeline.component.mjs +1 -1
  20. package/esm2020/engine/engine.service.mjs +22 -8
  21. package/esm2020/files/files-error.model.mjs +4 -4
  22. package/esm2020/impact-assessments/impact-assessments-products/impact-assessments-products.component.mjs +3 -3
  23. package/esm2020/node/node-logs-file/node-logs-file.component.mjs +3 -3
  24. package/esm2020/node/node-logs-models/node-logs-models.model.mjs +32 -10
  25. package/esm2020/node/node-value-details/node-value-details.component.mjs +3 -3
  26. package/esm2020/sites/sites-measurements/sites-measurements.component.mjs +1 -1
  27. package/esm2020/terms/terms.model.mjs +3 -3
  28. package/fesm2015/hestia-earth-ui-components.mjs +98 -51
  29. package/fesm2015/hestia-earth-ui-components.mjs.map +1 -1
  30. package/fesm2020/hestia-earth-ui-components.mjs +97 -51
  31. package/fesm2020/hestia-earth-ui-components.mjs.map +1 -1
  32. package/impact-assessments/impact-assessments-products-logs/impact-assessments-products-logs.component.d.ts +5 -5
  33. package/package.json +7 -7
  34. package/sites/sites-measurements-logs/sites-measurements-logs.component.d.ts +5 -5
@@ -9,20 +9,21 @@ export declare class BlankNodeStateComponent {
9
9
  private nodeType?;
10
10
  private dataKey?;
11
11
  private key?;
12
- node?: blankNode;
12
+ protected node?: blankNode;
13
13
  /**
14
14
  * Force override state.
15
15
  */
16
- state?: NodeKeyState;
17
- NodeKeyState: typeof NodeKeyState;
16
+ protected state?: NodeKeyState;
17
+ protected linkClass?: string;
18
+ protected NodeKeyState: typeof NodeKeyState;
18
19
  constructor(aggregationEngineService: HeAggregationEngineService, engineService: HeEngineService);
19
- get show(): boolean;
20
- is(state: NodeKeyState): any;
21
- get stars(): number[];
22
- get showLink(): boolean;
20
+ protected get show(): boolean;
21
+ protected is(state: NodeKeyState): any;
22
+ protected get stars(): number[];
23
+ protected get showLink(): boolean;
23
24
  private get aggregatedModelParams();
24
- get aggregatedModel$(): import("rxjs").Observable<import("../../engine/aggregation-engine.service").IAggregationModel>;
25
- get engineModel$(): import("rxjs").Observable<import("../../engine/engine.service").IModel>;
25
+ protected get aggregatedModel$(): import("rxjs").Observable<import("../../engine/aggregation-engine.service").IAggregationModel>;
26
+ protected get engineModel$(): import("rxjs").Observable<import("../../engine/engine.service").IModel>;
26
27
  static ɵfac: i0.ɵɵFactoryDeclaration<BlankNodeStateComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<BlankNodeStateComponent, "he-blank-node-state", never, { "dataState": "dataState"; "nodeType": "nodeType"; "dataKey": "dataKey"; "key": "key"; "node": "node"; "state": "state"; }, {}, never, never, false>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<BlankNodeStateComponent, "he-blank-node-state", never, { "dataState": "dataState"; "nodeType": "nodeType"; "dataKey": "dataKey"; "key": "key"; "node": "node"; "state": "state"; "linkClass": "linkClass"; }, {}, never, never, false>;
28
29
  }
@@ -6,15 +6,17 @@ export declare class LinkKeyValueComponent {
6
6
  dataKey?: string;
7
7
  key?: string;
8
8
  defaultValue?: any;
9
+ isExpandable: (val: any) => boolean;
10
+ valueLink: (value: any) => string;
9
11
  get isInlineBlock(): boolean;
10
12
  baseUrl: string;
11
13
  toString: (value: any) => any;
12
14
  get type(): any;
13
15
  get value(): any;
14
16
  get valueString(): any;
15
- get valueLink(): string;
16
17
  get isArray(): boolean;
17
18
  get isUndefined(): boolean;
19
+ isBlankNode(value: any): boolean;
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<LinkKeyValueComponent, never>;
19
21
  static ɵcmp: i0.ɵɵComponentDeclaration<LinkKeyValueComponent, "he-link-key-value", never, { "node": "node"; "nodeType": "nodeType"; "dataKey": "dataKey"; "key": "key"; "defaultValue": "defaultValue"; }, {}, never, never, false>;
20
22
  }
@@ -9,7 +9,7 @@ export declare class PopoverComponent {
9
9
  content?: TemplateRef<ContentContext>;
10
10
  data: any;
11
11
  position: 'top' | 'right' | 'bottom' | 'left';
12
- onClick($event: any): void;
12
+ protected onClick($event: any): void;
13
13
  active: boolean;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<PopoverComponent, never>;
15
15
  static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "he-popover", never, { "message": "message"; "content": "content"; "data": "data"; "position": "position"; }, {}, never, ["*", "[actions]"], false>;
@@ -10,6 +10,7 @@ export declare class PopoverConfirmComponent {
10
10
  confirmed: EventEmitter<any>;
11
11
  data: any;
12
12
  confirm(): void;
13
+ get active(): boolean;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<PopoverConfirmComponent, never>;
14
15
  static ɵcmp: i0.ɵɵComponentDeclaration<PopoverConfirmComponent, "he-popover-confirm", never, { "message": "message"; "content": "content"; "position": "position"; "popoverClass": "popoverClass"; }, { "confirmed": "confirmed"; }, never, ["*"], false>;
15
16
  }
@@ -18,26 +18,28 @@ export declare class CyclesActivityLogsComponent {
18
18
  dataState: DataState;
19
19
  description?: string;
20
20
  treatment?: string;
21
- site?: import("@hestia-earth/schema").Site;
22
- otherSites?: import("@hestia-earth/schema").Site[];
23
- siteDuration?: number;
24
- otherSitesDuration?: number[];
25
- harvestedArea?: number;
26
- defaultSource?: import("@hestia-earth/schema").Source;
27
21
  endDate?: string;
28
22
  startDate?: string;
29
23
  startDateDefinition?: import("@hestia-earth/schema").CycleStartDateDefinition;
30
24
  cycleDuration?: number;
25
+ site?: import("@hestia-earth/schema").Site;
26
+ otherSites?: import("@hestia-earth/schema").Site[];
27
+ siteDuration?: number;
28
+ otherSitesDuration?: number[];
31
29
  functionalUnit?: import("@hestia-earth/schema").CycleFunctionalUnit;
32
30
  functionalUnitDetails?: string;
33
31
  numberOfCycles?: number;
34
32
  numberOfReplications?: number;
35
- dataCompleteness?: import("@hestia-earth/schema").Completeness;
33
+ harvestedArea?: number;
34
+ defaultMethodClassification?: import("@hestia-earth/schema").CycleDefaultMethodClassification;
35
+ defaultSource?: import("@hestia-earth/schema").Source;
36
+ completeness?: import("@hestia-earth/schema").Completeness;
36
37
  inputs?: import("@hestia-earth/schema").Input[];
37
38
  emissions?: import("@hestia-earth/schema").Emission[];
38
39
  products?: import("@hestia-earth/schema").Product[];
39
40
  practices?: import("@hestia-earth/schema").Practice[];
40
41
  transformations?: import("@hestia-earth/schema").Transformation[];
42
+ dataPrivate?: boolean;
41
43
  originalId?: string;
42
44
  schemaVersion?: string;
43
45
  added?: string[];
@@ -47,7 +49,6 @@ export declare class CyclesActivityLogsComponent {
47
49
  aggregated?: boolean;
48
50
  aggregatedVersion?: string;
49
51
  aggregatedQualityScore?: number;
50
- dataPrivate?: boolean;
51
52
  '@context': string | (string | import("@hestia-earth/schema").IContext)[];
52
53
  '@id': string;
53
54
  name: string;
@@ -7,6 +7,7 @@ export declare class CyclesCompletenessComponent {
7
7
  baseUrl: string;
8
8
  defaultLabel: (node?: any) => any;
9
9
  keyToLabel: (key: string) => string;
10
+ getCompleteness: (cycle: any) => any;
10
11
  trackById(_index: number, item: ICycleJSONLD): string;
11
12
  get completenessKeys(): string[];
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<CyclesCompletenessComponent, never>;
@@ -20,26 +20,28 @@ export declare class CyclesEmissionsLogsComponent implements OnInit {
20
20
  dataState: DataState;
21
21
  description?: string;
22
22
  treatment?: string;
23
- site?: import("@hestia-earth/schema").Site;
24
- otherSites?: import("@hestia-earth/schema").Site[];
25
- siteDuration?: number;
26
- otherSitesDuration?: number[];
27
- harvestedArea?: number;
28
- defaultSource?: import("@hestia-earth/schema").Source;
29
23
  endDate?: string;
30
24
  startDate?: string;
31
25
  startDateDefinition?: import("@hestia-earth/schema").CycleStartDateDefinition;
32
26
  cycleDuration?: number;
27
+ site?: import("@hestia-earth/schema").Site;
28
+ otherSites?: import("@hestia-earth/schema").Site[];
29
+ siteDuration?: number;
30
+ otherSitesDuration?: number[];
33
31
  functionalUnit?: import("@hestia-earth/schema").CycleFunctionalUnit;
34
32
  functionalUnitDetails?: string;
35
33
  numberOfCycles?: number;
36
34
  numberOfReplications?: number;
37
- dataCompleteness?: import("@hestia-earth/schema").Completeness;
35
+ harvestedArea?: number;
36
+ defaultMethodClassification?: import("@hestia-earth/schema").CycleDefaultMethodClassification;
37
+ defaultSource?: import("@hestia-earth/schema").Source;
38
+ completeness?: import("@hestia-earth/schema").Completeness;
38
39
  inputs?: import("@hestia-earth/schema").Input[];
39
40
  emissions?: Emission[];
40
41
  products?: import("@hestia-earth/schema").Product[];
41
42
  practices?: import("@hestia-earth/schema").Practice[];
42
43
  transformations?: import("@hestia-earth/schema").Transformation[];
44
+ dataPrivate?: boolean;
43
45
  originalId?: string;
44
46
  schemaVersion?: string;
45
47
  added?: string[];
@@ -49,7 +51,6 @@ export declare class CyclesEmissionsLogsComponent implements OnInit {
49
51
  aggregated?: boolean;
50
52
  aggregatedVersion?: string;
51
53
  aggregatedQualityScore?: number;
52
- dataPrivate?: boolean;
53
54
  '@context': string | (string | import("@hestia-earth/schema").IContext)[];
54
55
  '@id': string;
55
56
  name: string;
@@ -13,26 +13,28 @@ export declare class CyclesPracticesLogsComponent {
13
13
  dataState: DataState;
14
14
  description?: string;
15
15
  treatment?: string;
16
- site?: import("@hestia-earth/schema").Site;
17
- otherSites?: import("@hestia-earth/schema").Site[];
18
- siteDuration?: number;
19
- otherSitesDuration?: number[];
20
- harvestedArea?: number;
21
- defaultSource?: import("@hestia-earth/schema").Source;
22
16
  endDate?: string;
23
17
  startDate?: string;
24
18
  startDateDefinition?: import("@hestia-earth/schema").CycleStartDateDefinition;
25
19
  cycleDuration?: number;
20
+ site?: import("@hestia-earth/schema").Site;
21
+ otherSites?: import("@hestia-earth/schema").Site[];
22
+ siteDuration?: number;
23
+ otherSitesDuration?: number[];
26
24
  functionalUnit?: import("@hestia-earth/schema").CycleFunctionalUnit;
27
25
  functionalUnitDetails?: string;
28
26
  numberOfCycles?: number;
29
27
  numberOfReplications?: number;
30
- dataCompleteness?: import("@hestia-earth/schema").Completeness;
28
+ harvestedArea?: number;
29
+ defaultMethodClassification?: import("@hestia-earth/schema").CycleDefaultMethodClassification;
30
+ defaultSource?: import("@hestia-earth/schema").Source;
31
+ completeness?: import("@hestia-earth/schema").Completeness;
31
32
  inputs?: import("@hestia-earth/schema").Input[];
32
33
  emissions?: import("@hestia-earth/schema").Emission[];
33
34
  products?: import("@hestia-earth/schema").Product[];
34
35
  practices?: Practice[];
35
36
  transformations?: import("@hestia-earth/schema").Transformation[];
37
+ dataPrivate?: boolean;
36
38
  originalId?: string;
37
39
  schemaVersion?: string;
38
40
  added?: string[];
@@ -42,7 +44,6 @@ export declare class CyclesPracticesLogsComponent {
42
44
  aggregated?: boolean;
43
45
  aggregatedVersion?: string;
44
46
  aggregatedQualityScore?: number;
45
- dataPrivate?: boolean;
46
47
  '@context': string | (string | import("@hestia-earth/schema").IContext)[];
47
48
  '@id': string;
48
49
  name: string;
@@ -1,7 +1,7 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import { Observable } from 'rxjs';
4
- import { EmissionMethodTier, NodeType, SchemaType, SiteSiteType, TermTermType } from '@hestia-earth/schema';
4
+ import { EmissionMethodTier, JSONLD, NodeType, SchemaType, SiteSiteType, TermTermType } from '@hestia-earth/schema';
5
5
  import { blankNode } from '../common/node-utils';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare const HE_CALCULATIONS_BASE_URL: InjectionToken<string>;
@@ -94,6 +94,8 @@ export declare class HeEngineService {
94
94
  private modelsLoading;
95
95
  private modelsLoaded;
96
96
  private _models;
97
+ private _recommendations;
98
+ private _requirements;
97
99
  latestVersion$: Observable<string>;
98
100
  constructor(_calculationsBaseUrl: string, _orchestratorBaseUrl: string, http: HttpClient);
99
101
  private init;
@@ -107,8 +109,10 @@ export declare class HeEngineService {
107
109
  listModels(params: ICalculationsModelsParams): Promise<{
108
110
  models: ICalculationsModel[];
109
111
  }>;
110
- getRequirements(params: ICalculationsRequirementsParams): Promise<any>;
111
- getTermIds(params: ICalculationsRequirementsParams): Promise<string[]>;
112
+ getRequirements$(params: ICalculationsRequirementsParams): Observable<JSONLD<NodeType>>;
113
+ getRequirements(params: ICalculationsRequirementsParams): Promise<JSONLD<NodeType>>;
114
+ getTermIds$(params: ICalculationsRequirementsParams): Observable<string[]>;
115
+ getTermIds(params: ICalculationsRequirementsParams): Promise<any[] | string[]>;
112
116
  orchestratorConfigUrl(type?: NodeType): string;
113
117
  ochestratorConfig(type: NodeType): Promise<IOrchestratorConfig>;
114
118
  static ɵfac: i0.ɵɵFactoryDeclaration<HeEngineService, never>;
@@ -34,7 +34,7 @@ export class BlankNodeStateComponent {
34
34
  : [];
35
35
  }
36
36
  get showLink() {
37
- return !!this.dataKey;
37
+ return !!this.dataKey && ['term', 'value'].includes(this.key);
38
38
  }
39
39
  get aggregatedModelParams() {
40
40
  return filterParams({
@@ -50,10 +50,10 @@ export class BlankNodeStateComponent {
50
50
  }
51
51
  }
52
52
  BlankNodeStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BlankNodeStateComponent, deps: [{ token: i1.HeAggregationEngineService }, { token: i2.HeEngineService }], target: i0.ɵɵFactoryTarget.Component });
53
- BlankNodeStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BlankNodeStateComponent, selector: "he-blank-node-state", inputs: { dataState: "dataState", nodeType: "nodeType", dataKey: "dataKey", key: "key", node: "node", state: "state" }, ngImport: i0, template: "<ng-container *ngIf=\"show\">\n <ng-container *bindOnce=\"node\">\n <span *ngFor=\"let star of stars\">*</span>\n <span *ngIf=\"stars.length === 0 || is(NodeKeyState.unchanged)\">\u2020</span>\n\n <ng-container *ngIf=\"showLink\">\n <!-- <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.aggregated)\">\n <ng-container *ngIf=\"aggregatedModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span> -->\n\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.added); else showUpdated\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #showUpdated>\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.updated)\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #docsLink let-model>\n <a [href]=\"model.apiDocsPath || model.docPath || model.path\" target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n >\n <span>Docs</span>\n <fa-icon class=\"ml-2\" icon=\"external-link-alt\" size=\"sm\"></fa-icon>\n </a>\n</ng-template>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i5.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
+ BlankNodeStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: BlankNodeStateComponent, selector: "he-blank-node-state", inputs: { dataState: "dataState", nodeType: "nodeType", dataKey: "dataKey", key: "key", node: "node", state: "state", linkClass: "linkClass" }, ngImport: i0, template: "<ng-container *ngIf=\"show\">\n <ng-container *bindOnce=\"node\">\n <span *ngFor=\"let star of stars\">*</span>\n <span *ngIf=\"stars.length === 0 || is(NodeKeyState.unchanged)\">\u2020</span>\n\n <ng-container *ngIf=\"showLink\">\n <!-- <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.aggregated)\">\n <ng-container *ngIf=\"aggregatedModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span> -->\n\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.added); else showUpdated\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #showUpdated>\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.updated)\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #docsLink let-model>\n <a [ngClass]=\"linkClass\"\n [href]=\"model.apiDocsPath || model.docPath || model.path\" target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n >\n <span>Docs</span>\n <fa-icon class=\"ml-2\" icon=\"external-link-alt\" size=\"sm\"></fa-icon>\n </a>\n</ng-template>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i5.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: BlankNodeStateComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 'he-blank-node-state', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"show\">\n <ng-container *bindOnce=\"node\">\n <span *ngFor=\"let star of stars\">*</span>\n <span *ngIf=\"stars.length === 0 || is(NodeKeyState.unchanged)\">\u2020</span>\n\n <ng-container *ngIf=\"showLink\">\n <!-- <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.aggregated)\">\n <ng-container *ngIf=\"aggregatedModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span> -->\n\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.added); else showUpdated\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #showUpdated>\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.updated)\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #docsLink let-model>\n <a [href]=\"model.apiDocsPath || model.docPath || model.path\" target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n >\n <span>Docs</span>\n <fa-icon class=\"ml-2\" icon=\"external-link-alt\" size=\"sm\"></fa-icon>\n </a>\n</ng-template>\n", styles: [":host{display:inline-block}\n"] }]
56
+ args: [{ selector: 'he-blank-node-state', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"show\">\n <ng-container *bindOnce=\"node\">\n <span *ngFor=\"let star of stars\">*</span>\n <span *ngIf=\"stars.length === 0 || is(NodeKeyState.unchanged)\">\u2020</span>\n\n <ng-container *ngIf=\"showLink\">\n <!-- <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.aggregated)\">\n <ng-container *ngIf=\"aggregatedModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span> -->\n\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.added); else showUpdated\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #showUpdated>\n <span class=\"ml-2\" *ngIf=\"is(NodeKeyState.updated)\">\n <ng-container *ngIf=\"engineModel$ | async as model\">\n <ng-container *ngTemplateOutlet=\"docsLink; context: {$implicit: model}\"></ng-container>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #docsLink let-model>\n <a [ngClass]=\"linkClass\"\n [href]=\"model.apiDocsPath || model.docPath || model.path\" target=\"_blank\"\n (click)=\"$event.stopPropagation()\"\n >\n <span>Docs</span>\n <fa-icon class=\"ml-2\" icon=\"external-link-alt\" size=\"sm\"></fa-icon>\n </a>\n</ng-template>\n", styles: [":host{display:inline-block}\n"] }]
57
57
  }], ctorParameters: function () { return [{ type: i1.HeAggregationEngineService }, { type: i2.HeEngineService }]; }, propDecorators: { dataState: [{
58
58
  type: Input
59
59
  }], nodeType: [{
@@ -66,5 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
66
66
  type: Input
67
67
  }], state: [{
68
68
  type: Input
69
+ }], linkClass: [{
70
+ type: Input
69
71
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUvYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUvYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLOUMsT0FBTyxFQUFFLFlBQVksRUFBYSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sdUJBQXVCO0lBbUJsQyxZQUNVLHdCQUFvRCxFQUNwRCxhQUE4QjtRQUQ5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTRCO1FBQ3BELGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUpqQyxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUsvQixDQUFDO0lBRUwsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUVNLEVBQUUsQ0FBQyxLQUFtQjtRQUMzQixPQUFPO1FBQ0wsZ0JBQWdCO1FBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUNyQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ1IsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdEQUFnRDtvQkFDbkYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQzt3QkFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNMLENBQUMsQ0FBQyxFQUFFLENBQ0g7SUFDTCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVkscUJBQXFCO1FBQy9CLE9BQU8sWUFBWSxDQUFDO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNuQixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUM3RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDOztvSEFqRVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbUxDZnBDLHM3Q0FxQ0E7MkZEdEJhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTsrSUFJdkMsU0FBUztzQkFEaEIsS0FBSztnQkFHRSxRQUFRO3NCQURmLEtBQUs7Z0JBR0UsT0FBTztzQkFEZCxLQUFLO2dCQUdFLEdBQUc7c0JBRFYsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTdGF0ZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvYXBpJztcbmltcG9ydCB7IE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuXG5pbXBvcnQgeyBIZUFnZ3JlZ2F0aW9uRW5naW5lU2VydmljZSB9IGZyb20gJy4uLy4uL2VuZ2luZS9hZ2dyZWdhdGlvbi1lbmdpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBIZUVuZ2luZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbmdpbmUvZW5naW5lLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZUtleVN0YXRlLCBibGFua05vZGUsIGlzU3RhdGUgfSBmcm9tICcuLi9ub2RlLXV0aWxzJztcbmltcG9ydCB7IGZpbHRlclBhcmFtcyB9IGZyb20gJy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtYmxhbmstbm9kZS1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibGFuay1ub2RlLXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCbGFua05vZGVTdGF0ZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgZGF0YVN0YXRlPzogRGF0YVN0YXRlO1xuICBASW5wdXQoKVxuICBwcml2YXRlIG5vZGVUeXBlPzogTm9kZVR5cGU7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgZGF0YUtleT86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBrZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBub2RlPzogYmxhbmtOb2RlO1xuICAvKipcbiAgICogRm9yY2Ugb3ZlcnJpZGUgc3RhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhdGU/OiBOb2RlS2V5U3RhdGU7XG5cbiAgcHVibGljIE5vZGVLZXlTdGF0ZSA9IE5vZGVLZXlTdGF0ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFnZ3JlZ2F0aW9uRW5naW5lU2VydmljZTogSGVBZ2dyZWdhdGlvbkVuZ2luZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbmdpbmVTZXJ2aWNlOiBIZUVuZ2luZVNlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0IHNob3coKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVN0YXRlICE9PSBEYXRhU3RhdGUub3JpZ2luYWw7XG4gIH1cblxuICBwdWJsaWMgaXMoc3RhdGU6IE5vZGVLZXlTdGF0ZSkge1xuICAgIHJldHVybiAoXG4gICAgICAvLyBmb3JjaW5nIHN0YXRlXG4gICAgICAhIXRoaXMuc3RhdGUgJiYgdGhpcy5zdGF0ZSA9PT0gc3RhdGVcbiAgICApIHx8IGlzU3RhdGUodGhpcy5ub2RlLCB0aGlzLmtleSwgc3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGFycygpIHtcbiAgICByZXR1cm4gdGhpcy5pcyhOb2RlS2V5U3RhdGUuZGVsZXRlZClcbiAgICAgID8gWzAsIDEsIDIsIDNdXG4gICAgICA6IHRoaXMuaXMoTm9kZUtleVN0YXRlLnVwZGF0ZWQpXG4gICAgICA/IFswLCAxXVxuICAgICAgOiB0aGlzLmlzKE5vZGVLZXlTdGF0ZS5hZ2dyZWdhdGVkKSAvLyBoYW5kbGUgaGVyZSBiZWNhdXNlIGFnZ3JlZ2F0ZWQgY2FuIGJlIHVwZGF0ZWRcbiAgICAgID8gWzAsIDEsIDJdXG4gICAgICA6IHRoaXMuaXMoTm9kZUtleVN0YXRlLmFkZGVkKVxuICAgICAgPyBbMF1cbiAgICAgIDogW11cbiAgICAgIDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd0xpbmsoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5kYXRhS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYWdncmVnYXRlZE1vZGVsUGFyYW1zKCkge1xuICAgIHJldHVybiBmaWx0ZXJQYXJhbXMoe1xuICAgICAgdHlwZTogdGhpcy5ub2RlVHlwZSxcbiAgICAgIGRhdGFQYXRoOiBbdGhpcy5kYXRhS2V5LCB0aGlzLmtleV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJy4nKVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBhZ2dyZWdhdGVkTW9kZWwkKCkge1xuICAgIHJldHVybiB0aGlzLmFnZ3JlZ2F0aW9uRW5naW5lU2VydmljZS5tb2RlbCQodGhpcy5hZ2dyZWdhdGVkTW9kZWxQYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmdpbmVNb2RlbCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5naW5lU2VydmljZS5ub2RlTW9kZWwkKHRoaXMubm9kZSwgdGhpcy5rZXkpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1wiPlxuICA8bmctY29udGFpbmVyICpiaW5kT25jZT1cIm5vZGVcIj5cbiAgICA8c3BhbiAqbmdGb3I9XCJsZXQgc3RhciBvZiBzdGFyc1wiPio8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJzdGFycy5sZW5ndGggPT09IDAgfHwgaXMoTm9kZUtleVN0YXRlLnVuY2hhbmdlZClcIj7igKA8L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0xpbmtcIj5cbiAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJtbC0yXCIgKm5nSWY9XCJpcyhOb2RlS2V5U3RhdGUuYWdncmVnYXRlZClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0ZWRNb2RlbCQgfCBhc3luYyBhcyBtb2RlbFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkb2NzTGluazsgY29udGV4dDogeyRpbXBsaWNpdDogbW9kZWx9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPiAtLT5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCIgKm5nSWY9XCJpcyhOb2RlS2V5U3RhdGUuYWRkZWQpOyBlbHNlIHNob3dVcGRhdGVkXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbmdpbmVNb2RlbCQgfCBhc3luYyBhcyBtb2RlbFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkb2NzTGluazsgY29udGV4dDogeyRpbXBsaWNpdDogbW9kZWx9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3Nob3dVcGRhdGVkPlxuICA8c3BhbiBjbGFzcz1cIm1sLTJcIiAqbmdJZj1cImlzKE5vZGVLZXlTdGF0ZS51cGRhdGVkKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbmdpbmVNb2RlbCQgfCBhc3luYyBhcyBtb2RlbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRvY3NMaW5rOyBjb250ZXh0OiB7JGltcGxpY2l0OiBtb2RlbH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkb2NzTGluayBsZXQtbW9kZWw+XG4gIDxhIFtocmVmXT1cIm1vZGVsLmFwaURvY3NQYXRoIHx8IG1vZGVsLmRvY1BhdGggfHwgbW9kZWwucGF0aFwiIHRhcmdldD1cIl9ibGFua1wiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gID5cbiAgICA8c3Bhbj5Eb2NzPC9zcGFuPlxuICAgIDxmYS1pY29uIGNsYXNzPVwibWwtMlwiIGljb249XCJleHRlcm5hbC1saW5rLWFsdFwiIHNpemU9XCJzbVwiPjwvZmEtaWNvbj5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUvYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2JsYW5rLW5vZGUtc3RhdGUvYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLOUMsT0FBTyxFQUFFLFlBQVksRUFBYSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUNVLHdCQUFvRCxFQUNwRCxhQUE4QjtRQUQ5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTRCO1FBQ3BELGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUo5QixpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUtsQyxDQUFDO0lBRUwsSUFBYyxJQUFJO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFUyxFQUFFLENBQUMsS0FBbUI7UUFDOUIsT0FBTztRQUNMLGdCQUFnQjtRQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FDckMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFjLEtBQUs7UUFDakIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDUixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsZ0RBQWdEO29CQUNuRixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO3dCQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FDSDtJQUNMLENBQUM7SUFFRCxJQUFjLFFBQVE7UUFDcEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFZLHFCQUFxQjtRQUMvQixPQUFPLFlBQVksQ0FBQztZQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbkIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDN0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQWMsZ0JBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBYyxZQUFZO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7b0hBbkVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDJNQ2ZwQyxtOUNBc0NBOzJGRHZCYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07K0lBSXZDLFNBQVM7c0JBRGhCLEtBQUs7Z0JBR0UsUUFBUTtzQkFEZixLQUFLO2dCQUdFLE9BQU87c0JBRGQsS0FBSztnQkFHRSxHQUFHO3NCQURWLEtBQUs7Z0JBR0ksSUFBSTtzQkFEYixLQUFLO2dCQU1JLEtBQUs7c0JBRGQsS0FBSztnQkFHSSxTQUFTO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTdGF0ZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvYXBpJztcbmltcG9ydCB7IE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuXG5pbXBvcnQgeyBIZUFnZ3JlZ2F0aW9uRW5naW5lU2VydmljZSB9IGZyb20gJy4uLy4uL2VuZ2luZS9hZ2dyZWdhdGlvbi1lbmdpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBIZUVuZ2luZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbmdpbmUvZW5naW5lLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZUtleVN0YXRlLCBibGFua05vZGUsIGlzU3RhdGUgfSBmcm9tICcuLi9ub2RlLXV0aWxzJztcbmltcG9ydCB7IGZpbHRlclBhcmFtcyB9IGZyb20gJy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtYmxhbmstbm9kZS1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibGFuay1ub2RlLXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCbGFua05vZGVTdGF0ZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgZGF0YVN0YXRlPzogRGF0YVN0YXRlO1xuICBASW5wdXQoKVxuICBwcml2YXRlIG5vZGVUeXBlPzogTm9kZVR5cGU7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgZGF0YUtleT86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBrZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHByb3RlY3RlZCBub2RlPzogYmxhbmtOb2RlO1xuICAvKipcbiAgICogRm9yY2Ugb3ZlcnJpZGUgc3RhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgc3RhdGU/OiBOb2RlS2V5U3RhdGU7XG4gIEBJbnB1dCgpXG4gIHByb3RlY3RlZCBsaW5rQ2xhc3M/OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIE5vZGVLZXlTdGF0ZSA9IE5vZGVLZXlTdGF0ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFnZ3JlZ2F0aW9uRW5naW5lU2VydmljZTogSGVBZ2dyZWdhdGlvbkVuZ2luZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbmdpbmVTZXJ2aWNlOiBIZUVuZ2luZVNlcnZpY2VcbiAgKSB7IH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNob3coKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVN0YXRlICE9PSBEYXRhU3RhdGUub3JpZ2luYWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXMoc3RhdGU6IE5vZGVLZXlTdGF0ZSkge1xuICAgIHJldHVybiAoXG4gICAgICAvLyBmb3JjaW5nIHN0YXRlXG4gICAgICAhIXRoaXMuc3RhdGUgJiYgdGhpcy5zdGF0ZSA9PT0gc3RhdGVcbiAgICApIHx8IGlzU3RhdGUodGhpcy5ub2RlLCB0aGlzLmtleSwgc3RhdGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzdGFycygpIHtcbiAgICByZXR1cm4gdGhpcy5pcyhOb2RlS2V5U3RhdGUuZGVsZXRlZClcbiAgICAgID8gWzAsIDEsIDIsIDNdXG4gICAgICA6IHRoaXMuaXMoTm9kZUtleVN0YXRlLnVwZGF0ZWQpXG4gICAgICA/IFswLCAxXVxuICAgICAgOiB0aGlzLmlzKE5vZGVLZXlTdGF0ZS5hZ2dyZWdhdGVkKSAvLyBoYW5kbGUgaGVyZSBiZWNhdXNlIGFnZ3JlZ2F0ZWQgY2FuIGJlIHVwZGF0ZWRcbiAgICAgID8gWzAsIDEsIDJdXG4gICAgICA6IHRoaXMuaXMoTm9kZUtleVN0YXRlLmFkZGVkKVxuICAgICAgPyBbMF1cbiAgICAgIDogW11cbiAgICAgIDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvd0xpbmsoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5kYXRhS2V5ICYmIFsndGVybScsICd2YWx1ZSddLmluY2x1ZGVzKHRoaXMua2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFnZ3JlZ2F0ZWRNb2RlbFBhcmFtcygpIHtcbiAgICByZXR1cm4gZmlsdGVyUGFyYW1zKHtcbiAgICAgIHR5cGU6IHRoaXMubm9kZVR5cGUsXG4gICAgICBkYXRhUGF0aDogW3RoaXMuZGF0YUtleSwgdGhpcy5rZXldLmZpbHRlcihCb29sZWFuKS5qb2luKCcuJylcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYWdncmVnYXRlZE1vZGVsJCgpIHtcbiAgICByZXR1cm4gdGhpcy5hZ2dyZWdhdGlvbkVuZ2luZVNlcnZpY2UubW9kZWwkKHRoaXMuYWdncmVnYXRlZE1vZGVsUGFyYW1zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZW5naW5lTW9kZWwkKCkge1xuICAgIHJldHVybiB0aGlzLmVuZ2luZVNlcnZpY2Uubm9kZU1vZGVsJCh0aGlzLm5vZGUsIHRoaXMua2V5KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dcIj5cbiAgPG5nLWNvbnRhaW5lciAqYmluZE9uY2U9XCJub2RlXCI+XG4gICAgPHNwYW4gKm5nRm9yPVwibGV0IHN0YXIgb2Ygc3RhcnNcIj4qPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwic3RhcnMubGVuZ3RoID09PSAwIHx8IGlzKE5vZGVLZXlTdGF0ZS51bmNoYW5nZWQpXCI+4oCgPC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dMaW5rXCI+XG4gICAgICA8IS0tIDxzcGFuIGNsYXNzPVwibWwtMlwiICpuZ0lmPVwiaXMoTm9kZUtleVN0YXRlLmFnZ3JlZ2F0ZWQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGVkTW9kZWwkIHwgYXN5bmMgYXMgbW9kZWxcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZG9jc0xpbms7IGNvbnRleHQ6IHskaW1wbGljaXQ6IG1vZGVsfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Bhbj4gLS0+XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiICpuZ0lmPVwiaXMoTm9kZUtleVN0YXRlLmFkZGVkKTsgZWxzZSBzaG93VXBkYXRlZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW5naW5lTW9kZWwkIHwgYXN5bmMgYXMgbW9kZWxcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZG9jc0xpbms7IGNvbnRleHQ6IHskaW1wbGljaXQ6IG1vZGVsfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaG93VXBkYXRlZD5cbiAgPHNwYW4gY2xhc3M9XCJtbC0yXCIgKm5nSWY9XCJpcyhOb2RlS2V5U3RhdGUudXBkYXRlZClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW5naW5lTW9kZWwkIHwgYXN5bmMgYXMgbW9kZWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkb2NzTGluazsgY29udGV4dDogeyRpbXBsaWNpdDogbW9kZWx9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZG9jc0xpbmsgbGV0LW1vZGVsPlxuICA8YSBbbmdDbGFzc109XCJsaW5rQ2xhc3NcIlxuICAgIFtocmVmXT1cIm1vZGVsLmFwaURvY3NQYXRoIHx8IG1vZGVsLmRvY1BhdGggfHwgbW9kZWwucGF0aFwiIHRhcmdldD1cIl9ibGFua1wiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gID5cbiAgICA8c3Bhbj5Eb2NzPC9zcGFuPlxuICAgIDxmYS1pY29uIGNsYXNzPVwibWwtMlwiIGljb249XCJleHRlcm5hbC1saW5rLWFsdFwiIHNpemU9XCJzbVwiPjwvZmEtaWNvbj5cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -43,10 +43,10 @@ export class DataTableComponent {
43
43
  }
44
44
  }
45
45
  DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
46
- DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: DataTableComponent, selector: "he-data-table", inputs: { minHeight: "minHeight", maxHeight: "maxHeight", nbRows: "nbRows", small: "small", height: "height", width: "width" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.is-small": "this.isSmall" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"data-table-holder\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n>\n <div class=\"data-table-content\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n >\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 .table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep .table{width:100%}:host ::ng-deep .table th,:host ::ng-deep .table td{border:none;height:42px;white-space:nowrap}:host ::ng-deep .table th span:first-child,:host ::ng-deep .table td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table .fixed-column{position:sticky}:host ::ng-deep .table tbody tr td{z-index:10}:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{z-index:11}:host ::ng-deep .table thead tr th{top:0;z-index:12}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column{z-index:13}:host ::ng-deep .table thead tr:last-child th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep .table thead tr th.has-border-right:after,:host ::ng-deep .table tbody tr td.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{left:0;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{max-width:120px;width:120px}}:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:120px}}:host ::ng-deep .table tbody tr{background-color:transparent!important}:host ::ng-deep .table thead tr+tr th{top:42px}:host ::ng-deep .table thead tr+tr+tr th{top:84px}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td{background-color:#fff}:host ::ng-deep .table.is-hoverable tbody tr:not(.is-selected):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-striped tbody tr:not(.is-selected):nth-child(even) td{background-color:#fefcf7}:host ::ng-deep .table.is-striped.is-hoverable tr:not(.is-selected):nth-child(even):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-narrow{font-size:.8rem}:host ::ng-deep .table.is-narrow th,:host ::ng-deep .table.is-narrow td{height:30px}:host ::ng-deep .table.is-narrow thead tr+tr th{top:30px}:host ::ng-deep .table.is-narrow thead tr+tr+tr th{top:60px}:host ::ng-deep .table.is-narrow .select,:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{height:30px;font-size:.8rem}:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] });
46
+ DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: DataTableComponent, selector: "he-data-table", inputs: { minHeight: "minHeight", maxHeight: "maxHeight", nbRows: "nbRows", small: "small", height: "height", width: "width" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.is-small": "this.isSmall" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"data-table-holder\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n>\n <div class=\"data-table-content\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n >\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 .table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep .table{width:100%}:host ::ng-deep .table th,:host ::ng-deep .table td{border:none;height:42px;white-space:nowrap}:host ::ng-deep .table th span:first-child,:host ::ng-deep .table td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table .fixed-column{position:sticky}:host ::ng-deep .table tbody tr td{z-index:10}:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{z-index:11}:host ::ng-deep .table thead tr th{top:0;z-index:12}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column{z-index:13}:host ::ng-deep .table thead tr th.has-border-right,:host ::ng-deep .table tbody tr td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{left:0;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{max-width:120px;width:120px}}:host ::ng-deep .table thead tr th:first-child.has-border-right,:host ::ng-deep .table thead tr th.fixed-column.has-border-right,:host ::ng-deep .table tbody tr td:first-child.has-border-right,:host ::ng-deep .table tbody tr td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep .table thead tr th:first-child.has-border-right:after,:host ::ng-deep .table thead tr th.fixed-column.has-border-right:after,:host ::ng-deep .table tbody tr td:first-child.has-border-right:after,:host ::ng-deep .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 .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:120px}}:host ::ng-deep .table thead tr:last-child th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep .table thead tr:last-child th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep .table thead tr:last-child th:first-child.has-border-right:after,:host ::ng-deep .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 .table tbody tr{background-color:transparent!important}:host ::ng-deep .table thead tr+tr th{top:42px}:host ::ng-deep .table thead tr+tr+tr th{top:84px}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td{background-color:#fff}:host ::ng-deep .table.is-hoverable tbody tr:not(.is-selected):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-striped tbody tr:not(.is-selected):nth-child(even) td{background-color:#fefcf7}:host ::ng-deep .table.is-striped.is-hoverable tr:not(.is-selected):nth-child(even):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-narrow{font-size:.8rem}:host ::ng-deep .table.is-narrow th,:host ::ng-deep .table.is-narrow td{height:30px}:host ::ng-deep .table.is-narrow thead tr+tr th{top:30px}:host ::ng-deep .table.is-narrow thead tr+tr+tr th{top:60px}:host ::ng-deep .table.is-narrow .select,:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{height:30px;font-size:.8rem}:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] });
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DataTableComponent, decorators: [{
48
48
  type: Component,
49
- args: [{ selector: 'he-data-table', template: "<div class=\"data-table-holder\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n>\n <div class=\"data-table-content\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n >\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 .table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep .table{width:100%}:host ::ng-deep .table th,:host ::ng-deep .table td{border:none;height:42px;white-space:nowrap}:host ::ng-deep .table th span:first-child,:host ::ng-deep .table td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table .fixed-column{position:sticky}:host ::ng-deep .table tbody tr td{z-index:10}:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{z-index:11}:host ::ng-deep .table thead tr th{top:0;z-index:12}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column{z-index:13}:host ::ng-deep .table thead tr:last-child th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep .table thead tr th.has-border-right:after,:host ::ng-deep .table tbody tr td.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{left:0;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{max-width:120px;width:120px}}:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:120px}}:host ::ng-deep .table tbody tr{background-color:transparent!important}:host ::ng-deep .table thead tr+tr th{top:42px}:host ::ng-deep .table thead tr+tr+tr th{top:84px}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td{background-color:#fff}:host ::ng-deep .table.is-hoverable tbody tr:not(.is-selected):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-striped tbody tr:not(.is-selected):nth-child(even) td{background-color:#fefcf7}:host ::ng-deep .table.is-striped.is-hoverable tr:not(.is-selected):nth-child(even):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-narrow{font-size:.8rem}:host ::ng-deep .table.is-narrow th,:host ::ng-deep .table.is-narrow td{height:30px}:host ::ng-deep .table.is-narrow thead tr+tr th{top:30px}:host ::ng-deep .table.is-narrow thead tr+tr+tr th{top:60px}:host ::ng-deep .table.is-narrow .select,:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{height:30px;font-size:.8rem}:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }]
49
+ args: [{ selector: 'he-data-table', template: "<div class=\"data-table-holder\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n>\n <div class=\"data-table-content\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n >\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 .table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep .table{width:100%}:host ::ng-deep .table th,:host ::ng-deep .table td{border:none;height:42px;white-space:nowrap}:host ::ng-deep .table th span:first-child,:host ::ng-deep .table td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table .fixed-column{position:sticky}:host ::ng-deep .table tbody tr td{z-index:10}:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{z-index:11}:host ::ng-deep .table thead tr th{top:0;z-index:12}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column{z-index:13}:host ::ng-deep .table thead tr th.has-border-right,:host ::ng-deep .table tbody tr td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{left:0;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th:first-child,:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td:first-child,:host ::ng-deep .table tbody tr td.fixed-column{max-width:120px;width:120px}}:host ::ng-deep .table thead tr th:first-child.has-border-right,:host ::ng-deep .table thead tr th.fixed-column.has-border-right,:host ::ng-deep .table tbody tr td:first-child.has-border-right,:host ::ng-deep .table tbody tr td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep .table thead tr th:first-child.has-border-right:after,:host ::ng-deep .table thead tr th.fixed-column.has-border-right:after,:host ::ng-deep .table tbody tr td:first-child.has-border-right:after,:host ::ng-deep .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 .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep .table thead tr th.fixed-column,:host ::ng-deep .table tbody tr td.fixed-column{left:120px}}:host ::ng-deep .table thead tr:last-child th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep .table thead tr:last-child th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep .table thead tr:last-child th:first-child.has-border-right:after,:host ::ng-deep .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 .table tbody tr{background-color:transparent!important}:host ::ng-deep .table thead tr+tr th{top:42px}:host ::ng-deep .table thead tr+tr+tr th{top:84px}:host ::ng-deep .table thead tr th,:host ::ng-deep .table tbody tr td{background-color:#fff}:host ::ng-deep .table.is-hoverable tbody tr:not(.is-selected):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-striped tbody tr:not(.is-selected):nth-child(even) td{background-color:#fefcf7}:host ::ng-deep .table.is-striped.is-hoverable tr:not(.is-selected):nth-child(even):hover td{background-color:#f3f5f7}:host ::ng-deep .table.is-narrow{font-size:.8rem}:host ::ng-deep .table.is-narrow th,:host ::ng-deep .table.is-narrow td{height:30px}:host ::ng-deep .table.is-narrow thead tr+tr th{top:30px}:host ::ng-deep .table.is-narrow thead tr+tr+tr th{top:60px}:host ::ng-deep .table.is-narrow .select,:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{height:30px;font-size:.8rem}:host ::ng-deep .table.is-narrow .select select,:host ::ng-deep .table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }]
50
50
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { minHeight: [{
51
51
  type: Input
52
52
  }], maxHeight: [{
@@ -9,7 +9,7 @@ import * as i2 from "../bind-once.directive";
9
9
  import * as i3 from "../blank-node-state/blank-node-state.component";
10
10
  import * as i4 from "../precision.pipe";
11
11
  const valueLink = (value) => isExpandable(value) && value['@id'] ? [baseUrl(), value['@type'].toLowerCase(), value['@id']].join('/') : null;
12
- const valueLinkRef = (value, href) => href ? `<a href="${href}">${value.name || value['@id']}</a>` : null;
12
+ const valueLinkRef = (value, href) => href ? `<a class="is-dark" href="${href}">${value.name || value['@id']}</a>` : null;
13
13
  const valueValue = (value) => Array.isArray(value) ? value.map(valueValue).join(', ') : toPrecision(value);
14
14
  const stringMapper = {
15
15
  undefined: () => '',
@@ -28,6 +28,8 @@ const toString = (value) => typeof value in stringMapper ? stringMapper[typeof v
28
28
  export class LinkKeyValueComponent {
29
29
  constructor() {
30
30
  this.defaultValue = '';
31
+ this.isExpandable = isExpandable;
32
+ this.valueLink = valueLink;
31
33
  this.baseUrl = baseUrl();
32
34
  this.toString = toString;
33
35
  }
@@ -43,21 +45,21 @@ export class LinkKeyValueComponent {
43
45
  get valueString() {
44
46
  return toString(this.value);
45
47
  }
46
- get valueLink() {
47
- return valueLink(this.value);
48
- }
49
48
  get isArray() {
50
49
  return Array.isArray(this.value) && this.value.length > 1;
51
50
  }
52
51
  get isUndefined() {
53
52
  return isUndefined(this.value);
54
53
  }
54
+ isBlankNode(value) {
55
+ return isExpandable(value) && 'term' in value;
56
+ }
55
57
  }
56
58
  LinkKeyValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LinkKeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- LinkKeyValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: LinkKeyValueComponent, selector: "he-link-key-value", inputs: { node: "node", nodeType: "nodeType", dataKey: "dataKey", key: "key", defaultValue: "defaultValue" }, host: { properties: { "class.is-inline-block": "this.isInlineBlock" } }, ngImport: i0, template: "<ng-container *ngIf=\"!isUndefined; else showDefault\">\n <ng-container *bindOnce=\"node\">\n <a class=\"has-text-white is-underlined\" [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n <span class=\"pr-2\">:</span>\n\n <ng-container *ngIf=\"isArray; else singleValue\">\n <div class=\"array-container pl-2\">\n <p *ngFor=\"let v of value\" [innerHtml]=\"toString(v) | precision:3\"></p>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #singleValue>\n <div class=\"is-inline-block pr-1\" [innerHtml]=\"valueString | precision:3\"></div>\n\n <he-blank-node-state\n [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"\n ></he-blank-node-state>\n</ng-template>\n\n<ng-template #showDefault>\n <span>{{defaultValue}}</span>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep a,:host a{color:#fff!important;text-decoration:underline!important}.array-container{max-height:100px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { kind: "component", type: i3.BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["dataState", "nodeType", "dataKey", "key", "node", "state"] }, { kind: "pipe", type: i4.PrecisionPipe, name: "precision" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ LinkKeyValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: LinkKeyValueComponent, selector: "he-link-key-value", inputs: { node: "node", nodeType: "nodeType", dataKey: "dataKey", key: "key", defaultValue: "defaultValue" }, host: { properties: { "class.is-inline-block": "this.isInlineBlock" } }, ngImport: i0, template: "<ng-container *ngIf=\"!isUndefined; else showDefault\">\n <ng-container *bindOnce=\"node\">\n <a class=\"is-dark\" [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n <span class=\"pr-2\">:</span>\n\n <ng-container *ngIf=\"isArray; else singleValue\">\n <div class=\"array-container pl-2\">\n <ng-container *ngFor=\"let v of value\">\n <ng-template #stringValue>\n <p [innerHtml]=\"toString(v) | precision:3\"></p>\n </ng-template>\n <ng-container *ngIf=\"isBlankNode(v); stringValue\">\n <div>\n <a class=\"is-dark\" href=\"valueLink(v.term)\">{{v.term.name || v.term['@id']}}</a>\n <span class=\"pr-2\">:</span>\n <div class=\"is-inline-block is-nowrap\" [innerHtml]=\"toString(v.value) | precision:3\"></div>\n\n <he-blank-node-state class=\"pl-1\"\n [node]=\"v\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" key=\"value\" linkClass=\"is-dark\"\n ></he-blank-node-state>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #singleValue>\n <div class=\"is-inline-block is-nowrap\" [innerHtml]=\"valueString | precision:3\"></div>\n\n <he-blank-node-state class=\"pl-1\"\n [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\" linkClass=\"is-dark\"\n ></he-blank-node-state>\n</ng-template>\n\n<ng-template #showDefault>\n <span>{{defaultValue}}</span>\n</ng-template>\n", styles: [":host{display:block}:host a.has-text-white:hover,:host a.has-text-white.is-hovered{text-decoration:underline}.array-container{max-height:100px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { kind: "component", type: i3.BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["dataState", "nodeType", "dataKey", "key", "node", "state", "linkClass"] }, { kind: "pipe", type: i4.PrecisionPipe, name: "precision" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LinkKeyValueComponent, decorators: [{
59
61
  type: Component,
60
- args: [{ selector: 'he-link-key-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!isUndefined; else showDefault\">\n <ng-container *bindOnce=\"node\">\n <a class=\"has-text-white is-underlined\" [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n <span class=\"pr-2\">:</span>\n\n <ng-container *ngIf=\"isArray; else singleValue\">\n <div class=\"array-container pl-2\">\n <p *ngFor=\"let v of value\" [innerHtml]=\"toString(v) | precision:3\"></p>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #singleValue>\n <div class=\"is-inline-block pr-1\" [innerHtml]=\"valueString | precision:3\"></div>\n\n <he-blank-node-state\n [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"\n ></he-blank-node-state>\n</ng-template>\n\n<ng-template #showDefault>\n <span>{{defaultValue}}</span>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep a,:host a{color:#fff!important;text-decoration:underline!important}.array-container{max-height:100px;overflow-y:auto}\n"] }]
62
+ args: [{ selector: 'he-link-key-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!isUndefined; else showDefault\">\n <ng-container *bindOnce=\"node\">\n <a class=\"is-dark\" [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n <span class=\"pr-2\">:</span>\n\n <ng-container *ngIf=\"isArray; else singleValue\">\n <div class=\"array-container pl-2\">\n <ng-container *ngFor=\"let v of value\">\n <ng-template #stringValue>\n <p [innerHtml]=\"toString(v) | precision:3\"></p>\n </ng-template>\n <ng-container *ngIf=\"isBlankNode(v); stringValue\">\n <div>\n <a class=\"is-dark\" href=\"valueLink(v.term)\">{{v.term.name || v.term['@id']}}</a>\n <span class=\"pr-2\">:</span>\n <div class=\"is-inline-block is-nowrap\" [innerHtml]=\"toString(v.value) | precision:3\"></div>\n\n <he-blank-node-state class=\"pl-1\"\n [node]=\"v\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" key=\"value\" linkClass=\"is-dark\"\n ></he-blank-node-state>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #singleValue>\n <div class=\"is-inline-block is-nowrap\" [innerHtml]=\"valueString | precision:3\"></div>\n\n <he-blank-node-state class=\"pl-1\"\n [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\" linkClass=\"is-dark\"\n ></he-blank-node-state>\n</ng-template>\n\n<ng-template #showDefault>\n <span>{{defaultValue}}</span>\n</ng-template>\n", styles: [":host{display:block}:host a.has-text-white:hover,:host a.has-text-white.is-hovered{text-decoration:underline}.array-container{max-height:100px;overflow-y:auto}\n"] }]
61
63
  }], propDecorators: { node: [{
62
64
  type: Input
63
65
  }], nodeType: [{
@@ -72,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
72
74
  type: HostBinding,
73
75
  args: ['class.is-inline-block']
74
76
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1rZXktdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9saW5rLWtleS12YWx1ZS9saW5rLWtleS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFFN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0FBRW5DLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDL0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFakgsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFVLEVBQUUsSUFBYSxFQUFFLEVBQUUsQ0FDakQsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFdEUsTUFBTSxV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Q0FBQzs7a0hBMUNVLHFCQUFxQjtzR0FBckIscUJBQXFCLGdQQ3pDbEMsdTJCQXdCQTsyRkRpQmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxHQUFHO3NCQURULEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFJRixhQUFhO3NCQURoQixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFeHBhbmRhYmxlLCBOb2RlVHlwZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkLCB0b1ByZWNpc2lvbiB9IGZyb20gJ0BoZXN0aWEtZWFydGgvdXRpbHMnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2guZ2V0JztcblxuaW1wb3J0IHsgYmFzZVVybCB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgdmFsdWVMaW5rID0gKHZhbHVlOiBhbnkpID0+XG4gIGlzRXhwYW5kYWJsZSh2YWx1ZSkgJiYgdmFsdWVbJ0BpZCddID8gW2Jhc2VVcmwoKSwgdmFsdWVbJ0B0eXBlJ10udG9Mb3dlckNhc2UoKSwgdmFsdWVbJ0BpZCddXS5qb2luKCcvJykgOiBudWxsO1xuXG5jb25zdCB2YWx1ZUxpbmtSZWYgPSAodmFsdWU6IGFueSwgaHJlZj86IHN0cmluZykgPT5cbiAgaHJlZiA/IGA8YSBocmVmPVwiJHtocmVmfVwiPiR7dmFsdWUubmFtZSB8fCB2YWx1ZVsnQGlkJ119PC9hPmAgOiBudWxsO1xuXG5jb25zdCB2YWx1ZVZhbHVlID0gKHZhbHVlOiBhbnkpID0+IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubWFwKHZhbHVlVmFsdWUpLmpvaW4oJywgJykgOiB0b1ByZWNpc2lvbih2YWx1ZSk7XG5cbmNvbnN0IHN0cmluZ01hcHBlcjoge1xuICBbdHlwZTogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiBzdHJpbmc7XG59ID0ge1xuICB1bmRlZmluZWQ6ICgpID0+ICcnLFxuICBibGFua05vZGU6IHZhbHVlID0+XG4gICAgJ3Rlcm0nIGluIHZhbHVlXG4gICAgICA/IGAke3ZhbHVlTGlua1JlZih2YWx1ZS50ZXJtLCB2YWx1ZUxpbmsodmFsdWUudGVybSkpfSR7J3ZhbHVlJyBpbiB2YWx1ZSA/IGA6ICR7dmFsdWVWYWx1ZSh2YWx1ZS52YWx1ZSl9YCA6ICcnfWBcbiAgICAgIDogdmFsdWVMaW5rUmVmKHZhbHVlLCB2YWx1ZUxpbmsodmFsdWUpKSB8fCB2YWx1ZS5uYW1lIHx8IHZhbHVlWydAaWQnXSxcbiAgb2JqZWN0OiB2YWx1ZSA9PlxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCh0b1N0cmluZykuam9pbignLCAnKVxuICAgICAgOiB2YWx1ZSBpbnN0YW5jZW9mIERhdGVcbiAgICAgID8gdmFsdWUudG9KU09OKClcbiAgICAgIDogaXNFeHBhbmRhYmxlKHZhbHVlKVxuICAgICAgPyBzdHJpbmdNYXBwZXIuYmxhbmtOb2RlKHZhbHVlKVxuICAgICAgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgbnVsbCwgMilcbn07XG5cbmNvbnN0IHRvU3RyaW5nID0gKHZhbHVlOiBhbnkpID0+IHR5cGVvZiB2YWx1ZSBpbiBzdHJpbmdNYXBwZXIgPyBzdHJpbmdNYXBwZXJbdHlwZW9mIHZhbHVlXSh2YWx1ZSkgOiB2YWx1ZS50b1N0cmluZygpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1saW5rLWtleS12YWx1ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLWtleS12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpbmtLZXlWYWx1ZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBub2RlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBub2RlVHlwZT86IE5vZGVUeXBlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YUtleT86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIGtleT86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRWYWx1ZT86IGFueSA9ICcnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtaW5saW5lLWJsb2NrJylcbiAgZ2V0IGlzSW5saW5lQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNBcnJheTtcbiAgfVxuXG4gIHB1YmxpYyBiYXNlVXJsID0gYmFzZVVybCgpO1xuICBwdWJsaWMgdG9TdHJpbmcgPSB0b1N0cmluZztcblxuICBwdWJsaWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZVsnQHR5cGUnXSB8fCB0aGlzLm5vZGUudHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIGdldCh0aGlzLm5vZGUsIHRoaXMua2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRvU3RyaW5nKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZUxpbmsoKSB7XG4gICAgcmV0dXJuIHZhbHVlTGluayh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBcnJheSgpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVW5kZWZpbmVkKCkge1xuICAgIHJldHVybiBpc1VuZGVmaW5lZCh0aGlzLnZhbHVlKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1VuZGVmaW5lZDsgZWxzZSBzaG93RGVmYXVsdFwiPlxuICA8bmctY29udGFpbmVyICpiaW5kT25jZT1cIm5vZGVcIj5cbiAgICA8YSBjbGFzcz1cImhhcy10ZXh0LXdoaXRlIGlzLXVuZGVybGluZWRcIiBbaHJlZl09XCJiYXNlVXJsICsgJy9zY2hlbWEvJyArIHR5cGUgKyAnIycgKyBrZXlcIiB0YXJnZXQ9XCJfYmxhbmtcIj48Yj57e2tleX19PC9iPjwvYT5cbiAgICA8c3BhbiBjbGFzcz1cInByLTJcIj46PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXJyYXk7IGVsc2Ugc2luZ2xlVmFsdWVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcnJheS1jb250YWluZXIgcGwtMlwiPlxuICAgICAgICA8cCAqbmdGb3I9XCJsZXQgdiBvZiB2YWx1ZVwiIFtpbm5lckh0bWxdPVwidG9TdHJpbmcodikgfCBwcmVjaXNpb246M1wiPjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3NpbmdsZVZhbHVlPlxuICA8ZGl2IGNsYXNzPVwiaXMtaW5saW5lLWJsb2NrIHByLTFcIiBbaW5uZXJIdG1sXT1cInZhbHVlU3RyaW5nIHwgcHJlY2lzaW9uOjNcIj48L2Rpdj5cblxuICA8aGUtYmxhbmstbm9kZS1zdGF0ZVxuICAgIFtub2RlXT1cIm5vZGVcIiBbbm9kZVR5cGVdPVwibm9kZVR5cGVcIiBbZGF0YUtleV09XCJkYXRhS2V5XCIgW2tleV09XCJrZXlcIlxuICA+PC9oZS1ibGFuay1ub2RlLXN0YXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaG93RGVmYXVsdD5cbiAgPHNwYW4+e3tkZWZhdWx0VmFsdWV9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1rZXktdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9saW5rLWtleS12YWx1ZS9saW5rLWtleS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFFN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0FBRW5DLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDL0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFakgsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFVLEVBQUUsSUFBYSxFQUFFLEVBQUUsQ0FDakQsSUFBSSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUV0RixNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUVoSCxNQUFNLFlBQVksR0FFZDtJQUNGLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQ25CLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUNqQixNQUFNLElBQUksS0FBSztRQUNiLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQy9HLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztJQUN6RSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FDZCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxLQUFLLFlBQVksSUFBSTtZQUN2QixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDckIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztDQUNyQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQVFySCxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBZ0JTLGlCQUFZLEdBQVMsRUFBRSxDQUFDO1FBRXhCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFPdEIsWUFBTyxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxRQUFRLENBQUM7S0F5QjVCO0lBL0JDLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBS0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBVTtRQUMzQixPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDO0lBQ2hELENBQUM7O2tIQTdDVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixnUEN6Q2xDLCtqREF1Q0E7MkZERWEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxHQUFHO3NCQURULEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFPRixhQUFhO3NCQURoQixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFeHBhbmRhYmxlLCBOb2RlVHlwZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkLCB0b1ByZWNpc2lvbiB9IGZyb20gJ0BoZXN0aWEtZWFydGgvdXRpbHMnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2guZ2V0JztcblxuaW1wb3J0IHsgYmFzZVVybCB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgdmFsdWVMaW5rID0gKHZhbHVlOiBhbnkpID0+XG4gIGlzRXhwYW5kYWJsZSh2YWx1ZSkgJiYgdmFsdWVbJ0BpZCddID8gW2Jhc2VVcmwoKSwgdmFsdWVbJ0B0eXBlJ10udG9Mb3dlckNhc2UoKSwgdmFsdWVbJ0BpZCddXS5qb2luKCcvJykgOiBudWxsO1xuXG5jb25zdCB2YWx1ZUxpbmtSZWYgPSAodmFsdWU6IGFueSwgaHJlZj86IHN0cmluZykgPT5cbiAgaHJlZiA/IGA8YSBjbGFzcz1cImlzLWRhcmtcIiBocmVmPVwiJHtocmVmfVwiPiR7dmFsdWUubmFtZSB8fCB2YWx1ZVsnQGlkJ119PC9hPmAgOiBudWxsO1xuXG5jb25zdCB2YWx1ZVZhbHVlID0gKHZhbHVlOiBhbnkpID0+IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubWFwKHZhbHVlVmFsdWUpLmpvaW4oJywgJykgOiB0b1ByZWNpc2lvbih2YWx1ZSk7XG5cbmNvbnN0IHN0cmluZ01hcHBlcjoge1xuICBbdHlwZTogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiBzdHJpbmc7XG59ID0ge1xuICB1bmRlZmluZWQ6ICgpID0+ICcnLFxuICBibGFua05vZGU6IHZhbHVlID0+XG4gICAgJ3Rlcm0nIGluIHZhbHVlXG4gICAgICA/IGAke3ZhbHVlTGlua1JlZih2YWx1ZS50ZXJtLCB2YWx1ZUxpbmsodmFsdWUudGVybSkpfSR7J3ZhbHVlJyBpbiB2YWx1ZSA/IGA6ICR7dmFsdWVWYWx1ZSh2YWx1ZS52YWx1ZSl9YCA6ICcnfWBcbiAgICAgIDogdmFsdWVMaW5rUmVmKHZhbHVlLCB2YWx1ZUxpbmsodmFsdWUpKSB8fCB2YWx1ZS5uYW1lIHx8IHZhbHVlWydAaWQnXSxcbiAgb2JqZWN0OiB2YWx1ZSA9PlxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCh0b1N0cmluZykuam9pbignLCAnKVxuICAgICAgOiB2YWx1ZSBpbnN0YW5jZW9mIERhdGVcbiAgICAgID8gdmFsdWUudG9KU09OKClcbiAgICAgIDogaXNFeHBhbmRhYmxlKHZhbHVlKVxuICAgICAgPyBzdHJpbmdNYXBwZXIuYmxhbmtOb2RlKHZhbHVlKVxuICAgICAgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgbnVsbCwgMilcbn07XG5cbmNvbnN0IHRvU3RyaW5nID0gKHZhbHVlOiBhbnkpID0+IHR5cGVvZiB2YWx1ZSBpbiBzdHJpbmdNYXBwZXIgPyBzdHJpbmdNYXBwZXJbdHlwZW9mIHZhbHVlXSh2YWx1ZSkgOiB2YWx1ZS50b1N0cmluZygpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1saW5rLWtleS12YWx1ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLWtleS12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpbmtLZXlWYWx1ZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBub2RlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBub2RlVHlwZT86IE5vZGVUeXBlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YUtleT86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIGtleT86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRWYWx1ZT86IGFueSA9ICcnO1xuXG4gIHB1YmxpYyBpc0V4cGFuZGFibGUgPSBpc0V4cGFuZGFibGU7XG4gIHB1YmxpYyB2YWx1ZUxpbmsgPSB2YWx1ZUxpbms7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1pbmxpbmUtYmxvY2snKVxuICBnZXQgaXNJbmxpbmVCbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5pc0FycmF5O1xuICB9XG5cbiAgcHVibGljIGJhc2VVcmwgPSBiYXNlVXJsKCk7XG4gIHB1YmxpYyB0b1N0cmluZyA9IHRvU3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlWydAdHlwZSddIHx8IHRoaXMubm9kZS50eXBlO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gZ2V0KHRoaXMubm9kZSwgdGhpcy5rZXkpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZVN0cmluZygpIHtcbiAgICByZXR1cm4gdG9TdHJpbmcodGhpcy52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXJyYXkoKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAxO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1VuZGVmaW5lZCgpIHtcbiAgICByZXR1cm4gaXNVbmRlZmluZWQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgaXNCbGFua05vZGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiBpc0V4cGFuZGFibGUodmFsdWUpICYmICd0ZXJtJyBpbiB2YWx1ZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1VuZGVmaW5lZDsgZWxzZSBzaG93RGVmYXVsdFwiPlxuICA8bmctY29udGFpbmVyICpiaW5kT25jZT1cIm5vZGVcIj5cbiAgICA8YSBjbGFzcz1cImlzLWRhcmtcIiBbaHJlZl09XCJiYXNlVXJsICsgJy9zY2hlbWEvJyArIHR5cGUgKyAnIycgKyBrZXlcIiB0YXJnZXQ9XCJfYmxhbmtcIj48Yj57e2tleX19PC9iPjwvYT5cbiAgICA8c3BhbiBjbGFzcz1cInByLTJcIj46PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXJyYXk7IGVsc2Ugc2luZ2xlVmFsdWVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcnJheS1jb250YWluZXIgcGwtMlwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2IG9mIHZhbHVlXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzdHJpbmdWYWx1ZT5cbiAgICAgICAgICAgIDxwIFtpbm5lckh0bWxdPVwidG9TdHJpbmcodikgfCBwcmVjaXNpb246M1wiPjwvcD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0JsYW5rTm9kZSh2KTsgc3RyaW5nVmFsdWVcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiaXMtZGFya1wiIGhyZWY9XCJ2YWx1ZUxpbmsodi50ZXJtKVwiPnt7di50ZXJtLm5hbWUgfHwgdi50ZXJtWydAaWQnXX19PC9hPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByLTJcIj46PC9zcGFuPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXMtaW5saW5lLWJsb2NrIGlzLW5vd3JhcFwiIFtpbm5lckh0bWxdPVwidG9TdHJpbmcodi52YWx1ZSkgfCBwcmVjaXNpb246M1wiPjwvZGl2PlxuXG4gICAgICAgICAgICAgIDxoZS1ibGFuay1ub2RlLXN0YXRlIGNsYXNzPVwicGwtMVwiXG4gICAgICAgICAgICAgICAgW25vZGVdPVwidlwiIFtub2RlVHlwZV09XCJub2RlVHlwZVwiIFtkYXRhS2V5XT1cImRhdGFLZXlcIiBrZXk9XCJ2YWx1ZVwiIGxpbmtDbGFzcz1cImlzLWRhcmtcIlxuICAgICAgICAgICAgICA+PC9oZS1ibGFuay1ub2RlLXN0YXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlVmFsdWU+XG4gIDxkaXYgY2xhc3M9XCJpcy1pbmxpbmUtYmxvY2sgaXMtbm93cmFwXCIgW2lubmVySHRtbF09XCJ2YWx1ZVN0cmluZyB8IHByZWNpc2lvbjozXCI+PC9kaXY+XG5cbiAgPGhlLWJsYW5rLW5vZGUtc3RhdGUgY2xhc3M9XCJwbC0xXCJcbiAgICBbbm9kZV09XCJub2RlXCIgW25vZGVUeXBlXT1cIm5vZGVUeXBlXCIgW2RhdGFLZXldPVwiZGF0YUtleVwiIFtrZXldPVwia2V5XCIgbGlua0NsYXNzPVwiaXMtZGFya1wiXG4gID48L2hlLWJsYW5rLW5vZGUtc3RhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3Nob3dEZWZhdWx0PlxuICA8c3Bhbj57e2RlZmF1bHRWYWx1ZX19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -14,10 +14,10 @@ export class PopoverComponent {
14
14
  }
15
15
  }
16
16
  PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: PopoverComponent, selector: "he-popover", inputs: { message: "message", content: "content", data: "data", position: "position" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"is-inline-block popover is-popover-{{position}}\" [class.is-popover-active]=\"active\">\n <ng-content></ng-content>\n\n <div class=\"popover-content\">\n\n <ng-template\n [ngTemplateOutlet]=\"content || ct\"\n [ngTemplateOutletContext]=\"{message: message, data: data}\"\n ></ng-template>\n\n <footer>\n <ng-content select=\"[actions]\"></ng-content>\n <button class=\"button is-small\" (click)=\"$event.stopPropagation(); active = false\">\n <span>Close</span>\n </button>\n </footer>\n </div>\n</div>\n\n<ng-template #ct>\n <p class=\"mb-2 is-pre-wrap\" [innerHtml]=\"message\"></p>\n</ng-template>\n", styles: [":host{cursor:pointer;display:block}.popover{position:relative;display:inline-block}.popover .popover-content{z-index:99999;position:absolute;display:none;font-size:.75rem;padding:.4rem .8rem;color:#4a4a4a;background-color:#fff;border-radius:4px;box-shadow:0 2px 3px #0a0a0a1a,0 0 0 1px #0a0a0a1a;width:max-content;max-width:24rem}.popover .popover-content:before{position:absolute;content:\"\";border-style:solid;pointer-events:none;height:0;width:0;top:100%;left:50%;border-color:transparent;border-bottom-color:#fff;border-left-color:#fff;border-width:.4rem;margin-left:-.4rem;margin-top:-.4rem;transform-origin:center;box-shadow:-1px 1px 2px #0a0a0a33}.popover .popover-content{inset:auto auto 100% 50%!important;transform:translate(-50%,-.7rem)!important}.popover .popover-content:before{inset:100% auto auto 50%!important;transform:rotate(-45deg)}.popover.is-popover-right .popover-content{inset:auto auto 50% 100%!important;transform:translate(.7rem,50%)!important}.popover.is-popover-right .popover-content:before{inset:50% auto auto 0!important;transform:rotate(45deg)}.popover.is-popover-bottom .popover-content{inset:100% auto auto 50%!important;transform:translate(-50%,.7rem)!important}.popover.is-popover-bottom .popover-content:before{inset:0 auto auto 50%!important;transform:rotate(135deg)}.popover.is-popover-left .popover-content{inset:auto 100% 50% auto!important;transform:translate(-.7rem,50%)!important}.popover.is-popover-left .popover-content:before{inset:50% auto auto 100%!important;transform:rotate(-135deg)}.popover.is-popover-active .popover-content,.popover.is-popover-hover:hover .popover-content,.popover .popover-trigger:focus~.popover-content{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
17
+ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: PopoverComponent, selector: "he-popover", inputs: { message: "message", content: "content", data: "data", position: "position" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"is-inline-block is-relative popover is-popover-{{position}}\" [class.is-popover-active]=\"active\">\n <ng-content></ng-content>\n\n <div class=\"popover-content\">\n\n <ng-template\n [ngTemplateOutlet]=\"content || ct\"\n [ngTemplateOutletContext]=\"{message: message, data: data}\"\n ></ng-template>\n\n <footer>\n <ng-content select=\"[actions]\"></ng-content>\n <button class=\"button is-small is-info\" (click)=\"$event.stopPropagation(); active = false\">\n <span i18n=\"@@close\">Close</span>\n </button>\n </footer>\n </div>\n</div>\n\n<ng-template #ct>\n <p class=\"mb-2 is-pre-wrap\" [innerHtml]=\"message\"></p>\n</ng-template>\n", styles: [":host{cursor:pointer;display:block}.popover .popover-content{z-index:99999;position:absolute;display:none;font-size:.8rem;padding:.4rem .8rem;color:#fff;background-color:#193957;border-radius:6px;box-shadow:8px 8px 12px #0000001a;width:max-content;max-width:24rem}.popover .popover-content:before{position:absolute;content:\"\";border-style:solid;pointer-events:none;height:0;width:0;top:100%;left:50%;border-color:transparent;border-bottom-color:#193957;border-left-color:#193957;border-width:.4rem;margin-left:-.4rem;margin-top:-.4rem;transform-origin:center}.popover .popover-content{inset:auto auto 100% 50%!important;transform:translate(-50%,-.7rem)!important}.popover .popover-content:before{inset:100% auto auto 50%!important;transform:rotate(-45deg)}.popover.is-popover-right .popover-content{inset:auto auto 50% 100%!important;transform:translate(.7rem,50%)!important}.popover.is-popover-right .popover-content:before{inset:50% auto auto 0!important;transform:rotate(45deg)}.popover.is-popover-bottom .popover-content{inset:100% auto auto 50%!important;transform:translate(-50%,.7rem)!important}.popover.is-popover-bottom .popover-content:before{inset:0 auto auto 50%!important;transform:rotate(135deg)}.popover.is-popover-left .popover-content{inset:auto 100% 50% auto!important;transform:translate(-.7rem,50%)!important}.popover.is-popover-left .popover-content:before{inset:50% auto auto 100%!important;transform:rotate(-135deg)}.popover.is-popover-active .popover-content,.popover.is-popover-hover:hover .popover-content,.popover .popover-trigger:focus~.popover-content{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: PopoverComponent, decorators: [{
19
19
  type: Component,
20
- args: [{ selector: 'he-popover', template: "<div class=\"is-inline-block popover is-popover-{{position}}\" [class.is-popover-active]=\"active\">\n <ng-content></ng-content>\n\n <div class=\"popover-content\">\n\n <ng-template\n [ngTemplateOutlet]=\"content || ct\"\n [ngTemplateOutletContext]=\"{message: message, data: data}\"\n ></ng-template>\n\n <footer>\n <ng-content select=\"[actions]\"></ng-content>\n <button class=\"button is-small\" (click)=\"$event.stopPropagation(); active = false\">\n <span>Close</span>\n </button>\n </footer>\n </div>\n</div>\n\n<ng-template #ct>\n <p class=\"mb-2 is-pre-wrap\" [innerHtml]=\"message\"></p>\n</ng-template>\n", styles: [":host{cursor:pointer;display:block}.popover{position:relative;display:inline-block}.popover .popover-content{z-index:99999;position:absolute;display:none;font-size:.75rem;padding:.4rem .8rem;color:#4a4a4a;background-color:#fff;border-radius:4px;box-shadow:0 2px 3px #0a0a0a1a,0 0 0 1px #0a0a0a1a;width:max-content;max-width:24rem}.popover .popover-content:before{position:absolute;content:\"\";border-style:solid;pointer-events:none;height:0;width:0;top:100%;left:50%;border-color:transparent;border-bottom-color:#fff;border-left-color:#fff;border-width:.4rem;margin-left:-.4rem;margin-top:-.4rem;transform-origin:center;box-shadow:-1px 1px 2px #0a0a0a33}.popover .popover-content{inset:auto auto 100% 50%!important;transform:translate(-50%,-.7rem)!important}.popover .popover-content:before{inset:100% auto auto 50%!important;transform:rotate(-45deg)}.popover.is-popover-right .popover-content{inset:auto auto 50% 100%!important;transform:translate(.7rem,50%)!important}.popover.is-popover-right .popover-content:before{inset:50% auto auto 0!important;transform:rotate(45deg)}.popover.is-popover-bottom .popover-content{inset:100% auto auto 50%!important;transform:translate(-50%,.7rem)!important}.popover.is-popover-bottom .popover-content:before{inset:0 auto auto 50%!important;transform:rotate(135deg)}.popover.is-popover-left .popover-content{inset:auto 100% 50% auto!important;transform:translate(-.7rem,50%)!important}.popover.is-popover-left .popover-content:before{inset:50% auto auto 100%!important;transform:rotate(-135deg)}.popover.is-popover-active .popover-content,.popover.is-popover-hover:hover .popover-content,.popover .popover-trigger:focus~.popover-content{display:block}\n"] }]
20
+ args: [{ selector: 'he-popover', template: "<div class=\"is-inline-block is-relative popover is-popover-{{position}}\" [class.is-popover-active]=\"active\">\n <ng-content></ng-content>\n\n <div class=\"popover-content\">\n\n <ng-template\n [ngTemplateOutlet]=\"content || ct\"\n [ngTemplateOutletContext]=\"{message: message, data: data}\"\n ></ng-template>\n\n <footer>\n <ng-content select=\"[actions]\"></ng-content>\n <button class=\"button is-small is-info\" (click)=\"$event.stopPropagation(); active = false\">\n <span i18n=\"@@close\">Close</span>\n </button>\n </footer>\n </div>\n</div>\n\n<ng-template #ct>\n <p class=\"mb-2 is-pre-wrap\" [innerHtml]=\"message\"></p>\n</ng-template>\n", styles: [":host{cursor:pointer;display:block}.popover .popover-content{z-index:99999;position:absolute;display:none;font-size:.8rem;padding:.4rem .8rem;color:#fff;background-color:#193957;border-radius:6px;box-shadow:8px 8px 12px #0000001a;width:max-content;max-width:24rem}.popover .popover-content:before{position:absolute;content:\"\";border-style:solid;pointer-events:none;height:0;width:0;top:100%;left:50%;border-color:transparent;border-bottom-color:#193957;border-left-color:#193957;border-width:.4rem;margin-left:-.4rem;margin-top:-.4rem;transform-origin:center}.popover .popover-content{inset:auto auto 100% 50%!important;transform:translate(-50%,-.7rem)!important}.popover .popover-content:before{inset:100% auto auto 50%!important;transform:rotate(-45deg)}.popover.is-popover-right .popover-content{inset:auto auto 50% 100%!important;transform:translate(.7rem,50%)!important}.popover.is-popover-right .popover-content:before{inset:50% auto auto 0!important;transform:rotate(45deg)}.popover.is-popover-bottom .popover-content{inset:100% auto auto 50%!important;transform:translate(-50%,.7rem)!important}.popover.is-popover-bottom .popover-content:before{inset:0 auto auto 50%!important;transform:rotate(135deg)}.popover.is-popover-left .popover-content{inset:auto 100% 50% auto!important;transform:translate(-.7rem,50%)!important}.popover.is-popover-left .popover-content:before{inset:50% auto auto 100%!important;transform:rotate(-135deg)}.popover.is-popover-active .popover-content,.popover.is-popover-hover:hover .popover-content,.popover .popover-trigger:focus~.popover-content{display:block}\n"] }]
21
21
  }], propDecorators: { message: [{
22
22
  type: Input
23
23
  }], content: [{
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
30
30
  type: HostListener,
31
31
  args: ['click', ['$event']]
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBT1MsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUliLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZixhQUFRLEdBQWtDLE1BQU0sQ0FBQztRQVFqRCxXQUFNLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCO0lBTkMsT0FBTyxDQUFDLE1BQU07UUFDWixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQzs7NkdBZFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsK0xDWjdCLHlwQkFzQkE7MkZEVmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFlBQVk7OEJBTWYsT0FBTztzQkFEYixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudENvbnRleHQge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGRhdGE6IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29udGVudD86IFRlbXBsYXRlUmVmPENvbnRlbnRDb250ZXh0PjtcbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IGFueSA9IHt9O1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9zaXRpb246ICd0b3AnfCdyaWdodCd8J2JvdHRvbSd8J2xlZnQnID0gJ2xlZnQnO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljaygkZXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xufVxuIiwiPGRpdiBjbGFzcz1cImlzLWlubGluZS1ibG9jayBwb3BvdmVyIGlzLXBvcG92ZXIte3twb3NpdGlvbn19XCIgW2NsYXNzLmlzLXBvcG92ZXItYWN0aXZlXT1cImFjdGl2ZVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgPGRpdiBjbGFzcz1cInBvcG92ZXItY29udGVudFwiPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50IHx8IGN0XCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bWVzc2FnZTogbWVzc2FnZSwgZGF0YTogZGF0YX1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuXG4gICAgPGZvb3Rlcj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY3Rpb25zXVwiPjwvbmctY29udGVudD5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtc21hbGxcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBhY3RpdmUgPSBmYWxzZVwiPlxuICAgICAgICA8c3Bhbj5DbG9zZTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZm9vdGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2N0PlxuICA8cCBjbGFzcz1cIm1iLTIgaXMtcHJlLXdyYXBcIiBbaW5uZXJIdG1sXT1cIm1lc3NhZ2VcIj48L3A+XG48L25nLXRlbXBsYXRlPlxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBT1MsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUliLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZixhQUFRLEdBQWtDLE1BQU0sQ0FBQztRQVFqRCxXQUFNLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCO0lBTlcsT0FBTyxDQUFDLE1BQU07UUFDdEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7OzZHQWRVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLCtMQ1o3Qiw4ckJBc0JBOzJGRFZhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxZQUFZOzhCQU1mLE9BQU87c0JBRGIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFJSSxPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb250ZW50Q29udGV4dCB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGF0YTogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXNzYWdlID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250ZW50PzogVGVtcGxhdGVSZWY8Q29udGVudENvbnRleHQ+O1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YTogYW55ID0ge307XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb3NpdGlvbjogJ3RvcCd8J3JpZ2h0J3wnYm90dG9tJ3wnbGVmdCcgPSAnbGVmdCc7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25DbGljaygkZXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xufVxuIiwiPGRpdiBjbGFzcz1cImlzLWlubGluZS1ibG9jayBpcy1yZWxhdGl2ZSBwb3BvdmVyIGlzLXBvcG92ZXIte3twb3NpdGlvbn19XCIgW2NsYXNzLmlzLXBvcG92ZXItYWN0aXZlXT1cImFjdGl2ZVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgPGRpdiBjbGFzcz1cInBvcG92ZXItY29udGVudFwiPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50IHx8IGN0XCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bWVzc2FnZTogbWVzc2FnZSwgZGF0YTogZGF0YX1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuXG4gICAgPGZvb3Rlcj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY3Rpb25zXVwiPjwvbmctY29udGVudD5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtc21hbGwgaXMtaW5mb1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGFjdGl2ZSA9IGZhbHNlXCI+XG4gICAgICAgIDxzcGFuIGkxOG49XCJAQGNsb3NlXCI+Q2xvc2U8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Zvb3Rlcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjdD5cbiAgPHAgY2xhc3M9XCJtYi0yIGlzLXByZS13cmFwXCIgW2lubmVySHRtbF09XCJtZXNzYWdlXCI+PC9wPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -11,6 +11,9 @@ export class PopoverConfirmComponent {
11
11
  this.confirmed.next(this.data);
12
12
  this.popover.active = false;
13
13
  }
14
+ get active() {
15
+ return this.popover?.active;
16
+ }
14
17
  }
15
18
  PopoverConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: PopoverConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
19
  PopoverConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: PopoverConfirmComponent, selector: "he-popover-confirm", inputs: { message: "message", content: "content", position: "position", popoverClass: "popoverClass" }, outputs: { confirmed: "confirmed" }, viewQueries: [{ propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: "<he-popover [message]=\"message\" [content]=\"content\" [data]=\"data\" [position]=\"position\" [class]=\"popoverClass\">\n <ng-content></ng-content>\n\n <ng-container actions>\n <button class=\"button is-small is-primary mr-2\" (click)=\"$event.stopPropagation(); confirm()\">\n <span>Confirm</span>\n </button>\n </ng-container>\n</he-popover>\n", styles: ["he-popover{height:100%;width:100%}\n"], dependencies: [{ kind: "component", type: i1.PopoverComponent, selector: "he-popover", inputs: ["message", "content", "data", "position"] }] });
@@ -31,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
31
34
  }], confirmed: [{
32
35
  type: Output
33
36
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vcG9wb3Zlci1jb25maXJtL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXItY29uZmlybS9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0YsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFPaEYsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQW1CUyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwQyxTQUFJLEdBQVEsRUFBRSxDQUFDO0tBTXZCO0lBSlEsT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7b0hBckJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGdQQUN2QixnQkFBZ0IsZ0RDVjdCLDJXQVNBOzJGREFhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBTXRCLE9BQU87c0JBRGQsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSXBCLE9BQU87c0JBRGIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udGVudENvbnRleHQsIFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtcG9wb3Zlci1jb25maXJtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb25maXJtQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChQb3BvdmVyQ29tcG9uZW50KVxuICBwcml2YXRlIHBvcG92ZXI/OiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXNzYWdlPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29udGVudD86IFRlbXBsYXRlUmVmPENvbnRlbnRDb250ZXh0PjtcbiAgQElucHV0KClcbiAgcHVibGljIHBvc2l0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9wb3ZlckNsYXNzPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY29uZmlybWVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIGRhdGE6IGFueSA9IHt9O1xuXG4gIHB1YmxpYyBjb25maXJtKCkge1xuICAgIHRoaXMuY29uZmlybWVkLm5leHQodGhpcy5kYXRhKTtcbiAgICB0aGlzLnBvcG92ZXIhLmFjdGl2ZSA9IGZhbHNlO1xuICB9XG59XG4iLCI8aGUtcG9wb3ZlciBbbWVzc2FnZV09XCJtZXNzYWdlXCIgW2NvbnRlbnRdPVwiY29udGVudFwiIFtkYXRhXT1cImRhdGFcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBbY2xhc3NdPVwicG9wb3ZlckNsYXNzXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICA8bmctY29udGFpbmVyIGFjdGlvbnM+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1zbWFsbCBpcy1wcmltYXJ5IG1yLTJcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjb25maXJtKClcIj5cbiAgICAgIDxzcGFuPkNvbmZpcm08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9oZS1wb3BvdmVyPlxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vcG9wb3Zlci1jb25maXJtL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXItY29uZmlybS9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0YsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFPaEYsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQW1CUyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwQyxTQUFJLEdBQVEsRUFBRSxDQUFDO0tBVXZCO0lBUlEsT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDOUIsQ0FBQzs7b0hBekJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGdQQUN2QixnQkFBZ0IsZ0RDVjdCLDJXQVNBOzJGREFhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBTXRCLE9BQU87c0JBRGQsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSXBCLE9BQU87c0JBRGIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udGVudENvbnRleHQsIFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtcG9wb3Zlci1jb25maXJtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb25maXJtQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChQb3BvdmVyQ29tcG9uZW50KVxuICBwcml2YXRlIHBvcG92ZXI/OiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXNzYWdlPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29udGVudD86IFRlbXBsYXRlUmVmPENvbnRlbnRDb250ZXh0PjtcbiAgQElucHV0KClcbiAgcHVibGljIHBvc2l0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9wb3ZlckNsYXNzPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY29uZmlybWVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIGRhdGE6IGFueSA9IHt9O1xuXG4gIHB1YmxpYyBjb25maXJtKCkge1xuICAgIHRoaXMuY29uZmlybWVkLm5leHQodGhpcy5kYXRhKTtcbiAgICB0aGlzLnBvcG92ZXIhLmFjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMucG9wb3Zlcj8uYWN0aXZlO1xuICB9XG59XG4iLCI8aGUtcG9wb3ZlciBbbWVzc2FnZV09XCJtZXNzYWdlXCIgW2NvbnRlbnRdPVwiY29udGVudFwiIFtkYXRhXT1cImRhdGFcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBbY2xhc3NdPVwicG9wb3ZlckNsYXNzXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICA8bmctY29udGFpbmVyIGFjdGlvbnM+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1zbWFsbCBpcy1wcmltYXJ5IG1yLTJcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjb25maXJtKClcIj5cbiAgICAgIDxzcGFuPkNvbmZpcm08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9oZS1wb3BvdmVyPlxuIl19