@bcgov/nr-ngx-component-lib 0.0.53 → 0.0.55

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.
@@ -2,34 +2,38 @@ import { EventEmitter, NgZone, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { ConfigurationSubscriberBase } from '../../directives/configuration-subscriber.base';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ButtonComponent extends ConfigurationSubscriberBase implements OnChanges {
5
- label: any;
6
- icon: any;
7
- iconRight: any;
8
- iconCompact: any;
9
- tooltip: any;
10
- compact: any;
11
- small: any;
5
+ zone: NgZone;
6
+ label?: string;
7
+ icon?: string;
8
+ iconRight?: string;
9
+ iconCompact?: string;
10
+ tooltip?: string | boolean;
11
+ compact?: string | boolean;
12
+ small?: string | boolean;
12
13
  primary: boolean;
13
14
  secondary: boolean;
14
15
  tertiary: boolean;
15
16
  disabled: boolean;
16
- anchor: any;
17
+ anchor?: string | boolean | {
18
+ href: string;
19
+ target: string;
20
+ };
17
21
  click: EventEmitter<PointerEvent>;
18
- isCompact: any;
19
- isSmall: any;
20
- isPrimary: any;
21
- isSecondary: any;
22
- isTertiary: any;
23
- isAnchor: any;
24
- hasIconLeft: any;
25
- hasIconRight: any;
26
- hasIconCompact: any;
27
- isIconSmall: any;
28
- hasLabel: any;
29
- useContent: any;
30
- href: any;
31
- target: any;
32
- zone: NgZone;
22
+ protected isCompact: boolean;
23
+ protected isSmall: boolean;
24
+ protected isPrimary: boolean;
25
+ protected isSecondary: boolean;
26
+ protected isTertiary: boolean;
27
+ protected isAnchor: boolean;
28
+ protected hasIconLeft: boolean;
29
+ protected hasIconRight: boolean;
30
+ protected hasIconCompact: boolean;
31
+ protected isIconSmall?: boolean;
32
+ protected hasLabel: boolean;
33
+ protected useContent: boolean;
34
+ protected href?: string;
35
+ protected target?: string;
36
+ protected tooltipVal?: string;
33
37
  ngOnChanges(changes: SimpleChanges): void;
34
38
  onConfigurationChange(): void;
35
39
  updateState(): void;
@@ -30,7 +30,7 @@ export declare class ListAttachmentsComponent extends RowListBase<{}, Attachment
30
30
  rowListProvider?: AttachmentRowListProvider<AttachmentsTableRow>;
31
31
  canDelete: boolean;
32
32
  canDownload: boolean;
33
- isPrepSheet: boolean;
33
+ showOrgUnit: boolean;
34
34
  noRowsMessage: string;
35
35
  DATE_FORMATS: {
36
36
  fullPickerInput: string;
@@ -59,5 +59,5 @@ export declare class ListAttachmentsComponent extends RowListBase<{}, Attachment
59
59
  onDeleteClick(item: AttachmentsTableRow): any;
60
60
  savePageState(): void;
61
61
  static ɵfac: i0.ɵɵFactoryDeclaration<ListAttachmentsComponent, never>;
62
- static ɵcmp: i0.ɵɵComponentDeclaration<ListAttachmentsComponent, "nrcl-list-attachments", never, { "rowListProvider": { "alias": "rowListProvider"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; "isPrepSheet": { "alias": "isPrepSheet"; "required": false; }; "noRowsMessage": { "alias": "noRowsMessage"; "required": false; }; }, {}, never, never, false, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListAttachmentsComponent, "nrcl-list-attachments", never, { "rowListProvider": { "alias": "rowListProvider"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; "showOrgUnit": { "alias": "showOrgUnit"; "required": false; }; "noRowsMessage": { "alias": "noRowsMessage"; "required": false; }; }, {}, never, never, false, never>;
63
63
  }
@@ -7,6 +7,7 @@ import * as i3 from "../icon/icon.component";
7
7
  export class ButtonComponent extends ConfigurationSubscriberBase {
8
8
  constructor() {
9
9
  super(...arguments);
10
+ this.zone = inject(NgZone);
10
11
  this.primary = false;
11
12
  this.secondary = false;
12
13
  this.tertiary = false;
@@ -14,7 +15,17 @@ export class ButtonComponent extends ConfigurationSubscriberBase {
14
15
  // the click event is already defined for the host element
15
16
  // this declaration makes storybook happy
16
17
  this.click = new EventEmitter();
17
- this.zone = inject(NgZone);
18
+ this.isCompact = false;
19
+ this.isSmall = false;
20
+ this.isPrimary = false;
21
+ this.isSecondary = false;
22
+ this.isTertiary = false;
23
+ this.isAnchor = false;
24
+ this.hasIconLeft = false;
25
+ this.hasIconRight = false;
26
+ this.hasIconCompact = false;
27
+ this.hasLabel = false;
28
+ this.useContent = false;
18
29
  }
19
30
  ngOnChanges(changes) {
20
31
  this.updateState();
@@ -27,6 +38,15 @@ export class ButtonComponent extends ConfigurationSubscriberBase {
27
38
  });
28
39
  }
29
40
  updateState() {
41
+ if (this.tooltip == null || this.tooltip === false) {
42
+ this.tooltipVal = undefined;
43
+ }
44
+ else if (this.tooltip == '' || this.tooltip === true) {
45
+ this.tooltipVal = this.label;
46
+ }
47
+ else {
48
+ this.tooltipVal = this.tooltip;
49
+ }
30
50
  if (this.compact == null || this.compact === false) {
31
51
  this.isCompact = false;
32
52
  }
@@ -38,7 +58,7 @@ export class ButtonComponent extends ConfigurationSubscriberBase {
38
58
  }
39
59
  if (this.small == null) {
40
60
  this.isSmall = false;
41
- this.isIconSmall = null;
61
+ this.isIconSmall = undefined;
42
62
  }
43
63
  else if (this.small === false) {
44
64
  this.isSmall = false;
@@ -48,8 +68,8 @@ export class ButtonComponent extends ConfigurationSubscriberBase {
48
68
  this.isSmall = true;
49
69
  this.isIconSmall = true;
50
70
  }
51
- this.href = null;
52
- this.target = null;
71
+ this.href = undefined;
72
+ this.target = undefined;
53
73
  if (this.anchor == null || this.anchor === false || this.primary || this.secondary || this.tertiary) {
54
74
  this.isAnchor = false;
55
75
  }
@@ -58,14 +78,16 @@ export class ButtonComponent extends ConfigurationSubscriberBase {
58
78
  }
59
79
  else {
60
80
  this.isAnchor = true;
61
- if (this.anchor.href) {
62
- this.href = this.anchor.href;
63
- this.target = ('target' in this.anchor) ? this.anchor.target : '_blank';
64
- }
65
- else {
81
+ if (typeof this.anchor == 'string') {
66
82
  this.href = this.anchor;
67
83
  this.target = '_blank';
68
84
  }
85
+ else if (typeof this.anchor == 'boolean') {
86
+ }
87
+ else {
88
+ this.href = this.anchor.href;
89
+ this.target = ('target' in this.anchor) ? this.anchor.target : '_blank';
90
+ }
69
91
  }
70
92
  this.isPrimary = this.primary;
71
93
  this.isSecondary = (this.secondary && !this.primary) || (!this.primary && !this.tertiary && !this.isSmall && !this.isCompact && !this.isAnchor);
@@ -80,7 +102,7 @@ export class ButtonComponent extends ConfigurationSubscriberBase {
80
102
  this.useContent = !this.hasLabel && !this.hasIconLeft && !this.hasIconRight && !this.hasIconCompact;
81
103
  }
82
104
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, selector: "nrcl-button", inputs: { label: "label", icon: "icon", iconRight: "iconRight", iconCompact: "iconCompact", tooltip: "tooltip", compact: "compact", small: "small", primary: ["primary", "primary", booleanAttribute], secondary: ["secondary", "secondary", booleanAttribute], tertiary: ["tertiary", "tertiary", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], anchor: "anchor" }, outputs: { click: "click" }, host: { properties: { "class.disabled": "disabled", "class.primary": "isPrimary", "class.secondary": "isSecondary", "class.tertiary": "isTertiary", "class.anchor": "isAnchor", "class.normal": "!isCompact && !isSmall", "class.compact": "isCompact", "class.small": "isSmall && !isCompact", "class.label": "hasLabel", "class.icon-left": "hasIconLeft", "class.icon-right": "hasIconRight", "class.icon-compact": "hasIconCompact", "class.icon-small": "isIconSmall" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a [attr.href]=\"href\" [attr.target]=\"href && target\">\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #027DB4;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #F59A23;--nrcl-button-anchor-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);white-space:nowrap;font-weight:500}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px;--nrcl-button-normal-padding-horizontal: 0;--nrcl-button-normal-icon-padding-horizontal: 0}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}\n"], dependencies: [{ kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }] }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, selector: "nrcl-button", inputs: { label: "label", icon: "icon", iconRight: "iconRight", iconCompact: "iconCompact", tooltip: "tooltip", compact: "compact", small: "small", primary: ["primary", "primary", booleanAttribute], secondary: ["secondary", "secondary", booleanAttribute], tertiary: ["tertiary", "tertiary", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], anchor: "anchor" }, outputs: { click: "click" }, host: { properties: { "class.disabled": "disabled", "class.primary": "isPrimary", "class.secondary": "isSecondary", "class.tertiary": "isTertiary", "class.anchor": "isAnchor", "class.normal": "!isCompact && !isSmall", "class.compact": "isCompact", "class.small": "isSmall && !isCompact", "class.label": "hasLabel", "class.icon-left": "hasIconLeft", "class.icon-right": "hasIconRight", "class.icon-compact": "hasIconCompact", "class.icon-small": "isIconSmall" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a \n [attr.href]=\"href\" \n [attr.target]=\"href && target\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #027DB4;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #F59A23;--nrcl-button-anchor-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-font-weight: 500;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);font-weight:var(--nrcl-button-font-weight);width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px}:host.anchor a{box-sizing:border-box}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}:host.disabled button,:host.disabled a{cursor:default}:host.disabled button:hover,:host.disabled a:hover{color:var(--nrcl-button-foreground-color)}\n"], dependencies: [{ kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }] }); }
84
106
  }
85
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
86
108
  type: Component,
@@ -98,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
98
120
  '[class.icon-right]': 'hasIconRight',
99
121
  '[class.icon-compact]': 'hasIconCompact',
100
122
  '[class.icon-small]': 'isIconSmall',
101
- }, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a [attr.href]=\"href\" [attr.target]=\"href && target\">\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #027DB4;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #F59A23;--nrcl-button-anchor-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);white-space:nowrap;font-weight:500}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px;--nrcl-button-normal-padding-horizontal: 0;--nrcl-button-normal-icon-padding-horizontal: 0}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}\n"] }]
123
+ }, template: "@if ( !isAnchor ) {\n <button\n matRipple\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( useContent ) {\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n }\n @else {\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n }\n </button>\n}\n@else {\n <a \n [attr.href]=\"href\" \n [attr.target]=\"href && target\"\n [matTooltip]=\"tooltipVal\"\n >\n @if ( hasIconLeft ) {\n <nrcl-icon class=\"left\" [small]=\"isIconSmall\">{{ icon }}</nrcl-icon>\n }\n\n @if ( hasIconRight ) {\n <nrcl-icon class=\"right\" [small]=\"isIconSmall\">{{ iconRight }}</nrcl-icon>\n }\n\n @if ( hasIconCompact ) {\n <nrcl-icon class=\"compact\" [small]=\"isIconSmall\">{{ iconCompact || icon }}</nrcl-icon>\n }\n\n @if ( hasLabel ) {\n <span class=\"label\">{{ label }}</span>\n }\n </a>\n}", styles: ["::ng-deep :root{--nrcl-button-normal-height: 36px;--nrcl-button-normal-padding-horizontal: 16px;--nrcl-button-normal-icon-padding-horizontal: 36px;--nrcl-button-normal-font-size: var( --nrcl-font-size );--nrcl-button-normal-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-small-height: 24px;--nrcl-button-small-padding-horizontal: 8px;--nrcl-button-small-icon-padding-horizontal: 24px;--nrcl-button-small-font-size: var( --nrcl-font-size-small );--nrcl-button-small-icon-size: var( --nrcl-icon-small-size );--nrcl-button-compact-height: 44px;--nrcl-button-compact-padding-horizontal: 8px;--nrcl-button-compact-font-size: var( --nrcl-font-size-small );--nrcl-button-compact-icon-size: var( --nrcl-icon-normal-size );--nrcl-button-primary-foreground-color: white;--nrcl-button-primary-background-color: #003366;--nrcl-button-primary-border-color: #003366;--nrcl-button-primary-hover-background-color: #144a89cc;--nrcl-button-primary-disabled-foreground-color: #7E7E7E;--nrcl-button-primary-disabled-background-color: #CCCCCC;--nrcl-button-primary-disabled-border-color: #CCCCCC;--nrcl-button-primary-disabled-hover-background-color: #CCCCCC;--nrcl-button-secondary-foreground-color: black;--nrcl-button-secondary-background-color: white;--nrcl-button-secondary-border-color: #003366;--nrcl-button-secondary-hover-background-color: #f5f5f5;--nrcl-button-secondary-disabled-foreground-color: #7E7E7E;--nrcl-button-secondary-disabled-background-color: #CCCCCC;--nrcl-button-secondary-disabled-border-color: #CCCCCC;--nrcl-button-secondary-disabled-hover-background-color: #CCCCCC;--nrcl-button-tertiary-foreground-color: black;--nrcl-button-tertiary-background-color: transparent;--nrcl-button-tertiary-border-color: transparent;--nrcl-button-tertiary-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-tertiary-disabled-foreground-color: #7E7E7E;--nrcl-button-tertiary-disabled-background-color: transparent;--nrcl-button-tertiary-disabled-border-color: transparent;--nrcl-button-tertiary-disabled-hover-background-color: transparent;--nrcl-button-anchor-foreground-color: #027DB4;--nrcl-button-anchor-background-color: transparent;--nrcl-button-anchor-border-color: transparent;--nrcl-button-anchor-hover-foreground-color: #F59A23;--nrcl-button-anchor-hover-background-color: rgba(0, 0, 0, .04);--nrcl-button-anchor-disabled-foreground-color: #7E7E7E;--nrcl-button-anchor-disabled-background-color: transparent;--nrcl-button-anchor-disabled-border-color: transparent;--nrcl-button-anchor-disabled-hover-background-color: transparent}:host{--nrcl-button-height: 50px;--nrcl-icon-padding: 50px;--nrcl-button-font-size: 40px;--nrcl-button-font-weight: 500;--nrcl-button-padding-left: 50px;--nrcl-button-padding-right: 50px;--nrcl-button-foreground-color: #red;--nrcl-button-background-color: #green;--nrcl-button-border-color: #yellow;--nrcl-button-hover-background-color: #blue}:host button,:host a{display:inline-flex;align-items:center;position:relative;height:var(--nrcl-button-height);min-width:var(--nrcl-button-height);width:var(--nrcl-button-width);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;padding:0;background-color:var(--nrcl-button-background-color);color:var(--nrcl-button-foreground-color);border-color:var(--nrcl-button-border-color);border-width:1px;border-style:solid;border-radius:4px}:host button:hover,:host a:hover{background-color:var(--nrcl-button-hover-background-color)}:host button .label,:host button .content,:host a .label,:host a .content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-button-font-size);font-weight:var(--nrcl-button-font-weight);width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}:host button .content,:host a .content{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right);display:flex;align-items:center}:host.normal{--nrcl-button-height: var( --nrcl-button-normal-height );--nrcl-button-padding-left: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-normal-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-normal-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size );--nrcl-icon-padding: var( --nrcl-button-normal-icon-padding-horizontal )}:host.small{--nrcl-button-height: var( --nrcl-button-small-height );--nrcl-button-font-size: var( --nrcl-button-small-font-size )}:host.icon-small{--nrcl-button-padding-left: var( --nrcl-button-small-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-small-padding-horizontal );--nrcl-button-icon-size: var( --nrcl-button-small-icon-size );--nrcl-icon-padding: var( --nrcl-button-small-icon-padding-horizontal )}:host.compact{--nrcl-button-height: var( --nrcl-button-compact-height );--nrcl-button-padding-left: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-padding-right: var( --nrcl-button-compact-padding-horizontal );--nrcl-button-font-size: var( --nrcl-button-compact-font-size );--nrcl-button-icon-size: var( --nrcl-button-normal-icon-size )}:host.compact button{flex-direction:column;justify-content:center}:host.label button,:host.label a{padding-left:var(--nrcl-button-padding-left);padding-right:var(--nrcl-button-padding-right)}:host.icon-left button,:host.icon-left a{--nrcl-button-padding-left: var( --nrcl-icon-padding )}:host.icon-left button .content,:host.icon-left a .content{padding-left:0}:host.icon-left button ::ng-deep .mat-icon.left,:host.icon-left button ::ng-deep nrcl-icon.left,:host.icon-left a ::ng-deep .mat-icon.left,:host.icon-left a ::ng-deep nrcl-icon.left{position:absolute;left:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.icon-right button,:host.icon-right a{--nrcl-button-padding-right: var( --nrcl-icon-padding )}:host.icon-right button .content,:host.icon-right a .content{padding-right:0}:host.icon-right button ::ng-deep .mat-icon.right,:host.icon-right button ::ng-deep nrcl-icon.right,:host.icon-right a ::ng-deep .mat-icon.right,:host.icon-right a ::ng-deep nrcl-icon.right{position:absolute;right:calc((var(--nrcl-icon-padding) - var(--nrcl-button-icon-size)) / 2 - 1px)}:host.primary{--nrcl-button-foreground-color: var( --nrcl-button-primary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-hover-background-color )}:host.primary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.primary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-primary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-primary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-primary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-primary-disabled-hover-background-color )}:host.secondary{--nrcl-button-foreground-color: var( --nrcl-button-secondary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-hover-background-color )}:host.secondary button{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host.secondary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-secondary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-secondary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-secondary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-secondary-disabled-hover-background-color )}:host.tertiary{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-hover-background-color )}:host.tertiary.disabled{--nrcl-button-foreground-color: var( --nrcl-button-tertiary-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-tertiary-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-tertiary-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-tertiary-disabled-hover-background-color )}:host.anchor{--nrcl-button-foreground-color: var( --nrcl-button-anchor-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-hover-background-color );--nrcl-button-padding-left: 0;--nrcl-button-padding-right: 0;--nrcl-button-normal-height: 20px}:host.anchor a{box-sizing:border-box}:host.anchor a:hover{color:var(--nrcl-button-anchor-hover-foreground-color)}:host.anchor a .label,:host.anchor a .content{text-decoration:underline}:host.anchor.disabled{--nrcl-button-foreground-color: var( --nrcl-button-anchor-disabled-foreground-color );--nrcl-button-background-color: var( --nrcl-button-anchor-disabled-background-color );--nrcl-button-border-color: var( --nrcl-button-anchor-disabled-border-color );--nrcl-button-hover-background-color: var( --nrcl-button-anchor-disabled-hover-background-color )}:host.disabled button,:host.disabled a{cursor:default}:host.disabled button:hover,:host.disabled a:hover{color:var(--nrcl-button-foreground-color)}\n"] }]
102
124
  }], propDecorators: { label: [{
103
125
  type: Input
104
126
  }], icon: [{
@@ -130,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
130
152
  }], click: [{
131
153
  type: Output
132
154
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7OztBQXNCN0YsTUFBTSxPQUFPLGVBQWdCLFNBQVEsMkJBQTJCO0lBcEJoRTs7UUE0QjhDLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixjQUFTLEdBQUcsS0FBSyxDQUFBO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUcxRCwwREFBMEQ7UUFDMUQseUNBQXlDO1FBQy9CLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQTtRQWlCbEQsU0FBSSxHQUFHLE1BQU0sQ0FBRSxNQUFNLENBQUUsQ0FBQTtLQXdFMUI7SUF0RUcsV0FBVyxDQUFFLE9BQXNCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLDZFQUE2RTtRQUM3RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRSxHQUFHLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUN6QyxD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QUUsYUFBYTt3QkFDbEMsa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsZ0JBQWdCLEVBQUUsVUFBVTt3QkFDNUIsZ0JBQWdCLEVBQUUsd0JBQXdCO3dCQUMxQyxpQkFBaUIsRUFBRSxXQUFXO3dCQUM5QixlQUFlLEVBQUUsdUJBQXVCO3dCQUN4QyxlQUFlLEVBQUUsVUFBVTt3QkFDM0IsbUJBQW1CLEVBQUUsYUFBYTt3QkFDbEMsb0JBQW9CLEVBQUUsY0FBYzt3QkFDcEMsc0JBQXNCLEVBQUUsZ0JBQWdCO3dCQUN4QyxvQkFBb0IsRUFBRSxhQUFhO3FCQUN0Qzs4QkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDb0MsT0FBTztzQkFBaEQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRyxTQUFTO3NCQUFsRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNHLFFBQVE7c0JBQWpELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0csUUFBUTtzQkFBakQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDOUIsTUFBTTtzQkFBZCxLQUFLO2dCQUlJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU3Vic2NyaWJlckJhc2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NvbmZpZ3VyYXRpb24tc3Vic2NyaWJlci5iYXNlJztcblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiAnbnJjbC1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9idXR0b24uY29tcG9uZW50LnNjc3MnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLnByaW1hcnldJzogJ2lzUHJpbWFyeScsXG4gICAgICAgICdbY2xhc3Muc2Vjb25kYXJ5XSc6ICdpc1NlY29uZGFyeScsXG4gICAgICAgICdbY2xhc3MudGVydGlhcnldJzogJ2lzVGVydGlhcnknLFxuICAgICAgICAnW2NsYXNzLmFuY2hvcl0nOiAnaXNBbmNob3InLFxuICAgICAgICAnW2NsYXNzLm5vcm1hbF0nOiAnIWlzQ29tcGFjdCAmJiAhaXNTbWFsbCcsXG4gICAgICAgICdbY2xhc3MuY29tcGFjdF0nOiAnaXNDb21wYWN0JyxcbiAgICAgICAgJ1tjbGFzcy5zbWFsbF0nOiAnaXNTbWFsbCAmJiAhaXNDb21wYWN0JyxcbiAgICAgICAgJ1tjbGFzcy5sYWJlbF0nOiAnaGFzTGFiZWwnLFxuICAgICAgICAnW2NsYXNzLmljb24tbGVmdF0nOiAnaGFzSWNvbkxlZnQnLFxuICAgICAgICAnW2NsYXNzLmljb24tcmlnaHRdJzogJ2hhc0ljb25SaWdodCcsXG4gICAgICAgICdbY2xhc3MuaWNvbi1jb21wYWN0XSc6ICdoYXNJY29uQ29tcGFjdCcsXG4gICAgICAgICdbY2xhc3MuaWNvbi1zbWFsbF0nOiAnaXNJY29uU21hbGwnLFxuICAgIH1cbn0gKVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25TdWJzY3JpYmVyQmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgbGFiZWxcbiAgICBASW5wdXQoKSBpY29uXG4gICAgQElucHV0KCkgaWNvblJpZ2h0XG4gICAgQElucHV0KCkgaWNvbkNvbXBhY3RcbiAgICBASW5wdXQoKSB0b29sdGlwXG4gICAgQElucHV0KCkgY29tcGFjdFxuICAgIEBJbnB1dCgpIHNtYWxsXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgcHJpbWFyeSA9IGZhbHNlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgc2Vjb25kYXJ5ID0gZmFsc2VcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSB0ZXJ0aWFyeSA9IGZhbHNlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgZGlzYWJsZWQgPSBmYWxzZVxuICAgIEBJbnB1dCgpIGFuY2hvclxuXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIGFscmVhZHkgZGVmaW5lZCBmb3IgdGhlIGhvc3QgZWxlbWVudFxuICAgIC8vIHRoaXMgZGVjbGFyYXRpb24gbWFrZXMgc3Rvcnlib29rIGhhcHB5XG4gICAgQE91dHB1dCgpIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxQb2ludGVyRXZlbnQ+KClcblxuICAgIGlzQ29tcGFjdFxuICAgIGlzU21hbGxcbiAgICBpc1ByaW1hcnlcbiAgICBpc1NlY29uZGFyeVxuICAgIGlzVGVydGlhcnlcbiAgICBpc0FuY2hvclxuICAgIGhhc0ljb25MZWZ0XG4gICAgaGFzSWNvblJpZ2h0XG4gICAgaGFzSWNvbkNvbXBhY3RcbiAgICBpc0ljb25TbWFsbFxuICAgIGhhc0xhYmVsXG4gICAgdXNlQ29udGVudFxuICAgIGhyZWZcbiAgICB0YXJnZXQgXG5cbiAgICB6b25lID0gaW5qZWN0KCBOZ1pvbmUgKVxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoKVxuICAgIH1cblxuICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gYXBwYXJlbnRseSB0aGlzIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhhdCB0aGUgaG9zdCBiaW5kaW5nIHVwZGF0ZXMgcHJvcGVybHlcbiAgICAgICAgdGhpcy56b25lLnJ1biggKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSgpXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgIH0gKVxuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKCkge1xuICAgICAgICBpZiAoIHRoaXMuY29tcGFjdCA9PSBudWxsIHx8IHRoaXMuY29tcGFjdCA9PT0gZmFsc2UgKSB7XG4gICAgICAgICAgICB0aGlzLmlzQ29tcGFjdCA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIHRoaXMuY29tcGFjdCA9PSAnJyB8fCB0aGlzLmNvbXBhY3QgPT09IHRydWUgKSB7XG4gICAgICAgICAgICB0aGlzLmlzQ29tcGFjdCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb21wYWN0ID0gdGhpcy5jb21wYWN0ID09IHRoaXMuY29uZmlndXJhdGlvbj8uZGlzcGxheU1vZGVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggdGhpcy5zbWFsbCA9PSBudWxsICkge1xuICAgICAgICAgICAgdGhpcy5pc1NtYWxsID0gZmFsc2VcbiAgICAgICAgICAgIHRoaXMuaXNJY29uU21hbGwgPSBudWxsXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIHRoaXMuc21hbGwgPT09IGZhbHNlICkge1xuICAgICAgICAgICAgdGhpcy5pc1NtYWxsID0gZmFsc2VcbiAgICAgICAgICAgIHRoaXMuaXNJY29uU21hbGwgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc1NtYWxsID0gdHJ1ZVxuICAgICAgICAgICAgdGhpcy5pc0ljb25TbWFsbCA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaHJlZiA9IG51bGxcbiAgICAgICAgdGhpcy50YXJnZXQgPSBudWxsXG4gICAgICAgIGlmICggdGhpcy5hbmNob3IgPT0gbnVsbCB8fCB0aGlzLmFuY2hvciA9PT0gZmFsc2UgfHwgdGhpcy5wcmltYXJ5IHx8IHRoaXMuc2Vjb25kYXJ5IHx8IHRoaXMudGVydGlhcnkgKSB7XG4gICAgICAgICAgICB0aGlzLmlzQW5jaG9yID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICggdGhpcy5hbmNob3IgPT0gJycgfHwgdGhpcy5hbmNob3IgPT09IHRydWUgKSB7XG4gICAgICAgICAgICB0aGlzLmlzQW5jaG9yID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc0FuY2hvciA9IHRydWVcbiAgICAgICAgICAgIGlmICggdGhpcy5hbmNob3IuaHJlZiApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhyZWYgPSB0aGlzLmFuY2hvci5ocmVmXG4gICAgICAgICAgICAgICAgdGhpcy50YXJnZXQgPSAoICd0YXJnZXQnIGluIHRoaXMuYW5jaG9yICkgPyB0aGlzLmFuY2hvci50YXJnZXQgOiAnX2JsYW5rJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ocmVmID0gdGhpcy5hbmNob3JcbiAgICAgICAgICAgICAgICB0aGlzLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzUHJpbWFyeSA9IHRoaXMucHJpbWFyeVxuICAgICAgICB0aGlzLmlzU2Vjb25kYXJ5ID0gKCB0aGlzLnNlY29uZGFyeSAmJiAhdGhpcy5wcmltYXJ5ICkgfHwgKCAhdGhpcy5wcmltYXJ5ICYmICF0aGlzLnRlcnRpYXJ5ICYmICF0aGlzLmlzU21hbGwgJiYgIXRoaXMuaXNDb21wYWN0ICYmICF0aGlzLmlzQW5jaG9yIClcbiAgICAgICAgdGhpcy5pc1RlcnRpYXJ5ID0gKCB0aGlzLnRlcnRpYXJ5IHx8IHRoaXMuaXNTbWFsbCB8fCB0aGlzLmlzQ29tcGFjdCApICYmICF0aGlzLnByaW1hcnkgJiYgIXRoaXMuc2Vjb25kYXJ5IFxuXG4gICAgICAgIHRoaXMuaGFzTGFiZWwgPSAhIXRoaXMubGFiZWxcbiAgICAgICAgdGhpcy5oYXNJY29uTGVmdCA9ICEhdGhpcy5pY29uICYmICF0aGlzLmlzQ29tcGFjdFxuICAgICAgICB0aGlzLmhhc0ljb25SaWdodCA9ICEhdGhpcy5pY29uUmlnaHQgJiYgdGhpcy5oYXNMYWJlbCAmJiAhdGhpcy5pc0NvbXBhY3RcbiAgICAgICAgdGhpcy5oYXNJY29uQ29tcGFjdCA9ICggISF0aGlzLmljb25Db21wYWN0IHx8ICEhdGhpcy5pY29uICkgJiYgdGhpcy5pc0NvbXBhY3RcbiAgICAgICAgaWYgKCB0aGlzLmlzSWNvblNtYWxsID09IG51bGwgKSB7XG4gICAgICAgICAgICB0aGlzLmlzSWNvblNtYWxsID0gdGhpcy5pc0FuY2hvclxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51c2VDb250ZW50ID0gIXRoaXMuaGFzTGFiZWwgJiYgIXRoaXMuaGFzSWNvbkxlZnQgJiYgIXRoaXMuaGFzSWNvblJpZ2h0ICYmICF0aGlzLmhhc0ljb25Db21wYWN0XG4gICAgfVxufVxuIiwiQGlmICggIWlzQW5jaG9yICkge1xuICAgIDxidXR0b25cbiAgICAgICAgbWF0UmlwcGxlXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIlxuICAgID5cbiAgICAgICAgQGlmICggdXNlQ29udGVudCApIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmICggaGFzSWNvbkxlZnQgKSB7XG4gICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cImxlZnRcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uIH19PC9ucmNsLWljb24+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIGhhc0ljb25SaWdodCApIHtcbiAgICAgICAgICAgICAgICA8bnJjbC1pY29uIGNsYXNzPVwicmlnaHRcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uUmlnaHQgfX08L25yY2wtaWNvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICggaGFzSWNvbkNvbXBhY3QgKSB7XG4gICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cImNvbXBhY3RcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uQ29tcGFjdCB8fCBpY29uIH19PC9ucmNsLWljb24+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIGhhc0xhYmVsICkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvYnV0dG9uPlxufVxuQGVsc2Uge1xuICAgIDxhIFthdHRyLmhyZWZdPVwiaHJlZlwiIFthdHRyLnRhcmdldF09XCJocmVmICYmIHRhcmdldFwiPlxuICAgICAgICBAaWYgKCBoYXNJY29uTGVmdCApIHtcbiAgICAgICAgICAgIDxucmNsLWljb24gY2xhc3M9XCJsZWZ0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICggaGFzSWNvblJpZ2h0ICkge1xuICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cInJpZ2h0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvblJpZ2h0IH19PC9ucmNsLWljb24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCBoYXNJY29uQ29tcGFjdCApIHtcbiAgICAgICAgICAgIDxucmNsLWljb24gY2xhc3M9XCJjb21wYWN0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvbkNvbXBhY3QgfHwgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICggaGFzTGFiZWwgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L2E+XG59Il19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7OztBQXNCN0YsTUFBTSxPQUFPLGVBQWdCLFNBQVEsMkJBQTJCO0lBcEJoRTs7UUFxQkksU0FBSSxHQUFHLE1BQU0sQ0FBRSxNQUFNLENBQUUsQ0FBQTtRQVNtQixZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHMUQsMERBQTBEO1FBQzFELHlDQUF5QztRQUMvQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUE7UUFFeEMsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUFDbkIsaUJBQVksR0FBRyxLQUFLLENBQUE7UUFDcEIsbUJBQWMsR0FBRyxLQUFLLENBQUE7UUFFdEIsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFBO0tBdUYvQjtJQWxGRyxXQUFXLENBQUUsT0FBc0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsNkVBQTZFO1FBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFFLEdBQUcsRUFBRTtZQUNoQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ3pDLENBQUMsQ0FBRSxDQUFBO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFLLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFHLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDL0IsQ0FBQzthQUNJLElBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUcsQ0FBQztZQUNyRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDaEMsQ0FBQzthQUNJLENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDbEMsQ0FBQztRQUVELElBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUcsQ0FBQztZQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtRQUMxQixDQUFDO2FBQ0ksSUFBSyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRyxDQUFDO1lBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLENBQUM7YUFDSSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFBO1FBQ3BFLENBQUM7UUFFRCxJQUFLLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUE7UUFDaEMsQ0FBQzthQUNJLElBQUssSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUcsQ0FBQztZQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtRQUM1QixDQUFDO2FBQ0ksQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQTtRQUN2QixJQUFLLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFHLENBQUM7WUFDcEcsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7UUFDekIsQ0FBQzthQUNJLElBQUssSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUcsQ0FBQztZQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUN4QixDQUFDO2FBQ0ksQ0FBQztZQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1lBQ3BCLElBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFBO1lBQzFCLENBQUM7aUJBQ0ksSUFBSyxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFHLENBQUM7WUFDN0MsQ0FBQztpQkFDSSxDQUFDO2dCQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUE7Z0JBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBRSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO1lBQzdFLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBRSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBRSxJQUFJLENBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBRSxDQUFBO1FBQ25KLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUE7UUFFekcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUE7UUFDN0UsSUFBSyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRyxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQTtRQUNwQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDdkcsQ0FBQzsrR0FySFEsZUFBZTttR0FBZixlQUFlLCtNQVVILGdCQUFnQix5Q0FDaEIsZ0JBQWdCLHNDQUNoQixnQkFBZ0Isc0NBQ2hCLGdCQUFnQix3a0JDcEN6QywrL0NBb0RDOzs0RkQ3QlksZUFBZTtrQkFwQjNCLFNBQVM7K0JBQ0ksYUFBYSxRQUdqQjt3QkFDRixrQkFBa0IsRUFBTSxVQUFVO3dCQUNsQyxpQkFBaUIsRUFBTyxXQUFXO3dCQUNuQyxtQkFBbUIsRUFBSyxhQUFhO3dCQUNyQyxrQkFBa0IsRUFBTSxZQUFZO3dCQUNwQyxnQkFBZ0IsRUFBUSxVQUFVO3dCQUNsQyxnQkFBZ0IsRUFBUSx3QkFBd0I7d0JBQ2hELGlCQUFpQixFQUFPLFdBQVc7d0JBQ25DLGVBQWUsRUFBUyx1QkFBdUI7d0JBQy9DLGVBQWUsRUFBUyxVQUFVO3dCQUNsQyxtQkFBbUIsRUFBSyxhQUFhO3dCQUNyQyxvQkFBb0IsRUFBSSxjQUFjO3dCQUN0QyxzQkFBc0IsRUFBRSxnQkFBZ0I7d0JBQ3hDLG9CQUFvQixFQUFJLGFBQWE7cUJBQ3hDOzhCQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNvQyxPQUFPO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNHLFNBQVM7c0JBQWxELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0csUUFBUTtzQkFBakQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRyxRQUFRO3NCQUFqRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM5QixNQUFNO3NCQUFkLEtBQUs7Z0JBSUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TdWJzY3JpYmVyQmFzZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvY29uZmlndXJhdGlvbi1zdWJzY3JpYmVyLmJhc2UnO1xuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6ICducmNsLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICAgICAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLnByaW1hcnldJzogICAgICAnaXNQcmltYXJ5JyxcbiAgICAgICAgJ1tjbGFzcy5zZWNvbmRhcnldJzogICAgJ2lzU2Vjb25kYXJ5JyxcbiAgICAgICAgJ1tjbGFzcy50ZXJ0aWFyeV0nOiAgICAgJ2lzVGVydGlhcnknLFxuICAgICAgICAnW2NsYXNzLmFuY2hvcl0nOiAgICAgICAnaXNBbmNob3InLFxuICAgICAgICAnW2NsYXNzLm5vcm1hbF0nOiAgICAgICAnIWlzQ29tcGFjdCAmJiAhaXNTbWFsbCcsXG4gICAgICAgICdbY2xhc3MuY29tcGFjdF0nOiAgICAgICdpc0NvbXBhY3QnLFxuICAgICAgICAnW2NsYXNzLnNtYWxsXSc6ICAgICAgICAnaXNTbWFsbCAmJiAhaXNDb21wYWN0JyxcbiAgICAgICAgJ1tjbGFzcy5sYWJlbF0nOiAgICAgICAgJ2hhc0xhYmVsJyxcbiAgICAgICAgJ1tjbGFzcy5pY29uLWxlZnRdJzogICAgJ2hhc0ljb25MZWZ0JyxcbiAgICAgICAgJ1tjbGFzcy5pY29uLXJpZ2h0XSc6ICAgJ2hhc0ljb25SaWdodCcsXG4gICAgICAgICdbY2xhc3MuaWNvbi1jb21wYWN0XSc6ICdoYXNJY29uQ29tcGFjdCcsXG4gICAgICAgICdbY2xhc3MuaWNvbi1zbWFsbF0nOiAgICdpc0ljb25TbWFsbCcsXG4gICAgfVxufSApXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICB6b25lID0gaW5qZWN0KCBOZ1pvbmUgKVxuXG4gICAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBpY29uPzogc3RyaW5nXG4gICAgQElucHV0KCkgaWNvblJpZ2h0Pzogc3RyaW5nXG4gICAgQElucHV0KCkgaWNvbkNvbXBhY3Q/OiBzdHJpbmdcbiAgICBASW5wdXQoKSB0b29sdGlwPzogc3RyaW5nIHwgYm9vbGVhblxuICAgIEBJbnB1dCgpIGNvbXBhY3Q/OiBzdHJpbmcgfCBib29sZWFuXG4gICAgQElucHV0KCkgc21hbGw/OiBzdHJpbmcgfCBib29sZWFuXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgcHJpbWFyeSA9IGZhbHNlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgc2Vjb25kYXJ5ID0gZmFsc2VcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSB0ZXJ0aWFyeSA9IGZhbHNlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgZGlzYWJsZWQgPSBmYWxzZVxuICAgIEBJbnB1dCgpIGFuY2hvcj86IHN0cmluZyB8IGJvb2xlYW4gfCB7IGhyZWY6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcgfVxuXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIGFscmVhZHkgZGVmaW5lZCBmb3IgdGhlIGhvc3QgZWxlbWVudFxuICAgIC8vIHRoaXMgZGVjbGFyYXRpb24gbWFrZXMgc3Rvcnlib29rIGhhcHB5XG4gICAgQE91dHB1dCgpIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxQb2ludGVyRXZlbnQ+KClcblxuICAgIHByb3RlY3RlZCBpc0NvbXBhY3QgPSBmYWxzZVxuICAgIHByb3RlY3RlZCBpc1NtYWxsID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNQcmltYXJ5ID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNTZWNvbmRhcnkgPSBmYWxzZVxuICAgIHByb3RlY3RlZCBpc1RlcnRpYXJ5ID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNBbmNob3IgPSBmYWxzZVxuICAgIHByb3RlY3RlZCBoYXNJY29uTGVmdCA9IGZhbHNlXG4gICAgcHJvdGVjdGVkIGhhc0ljb25SaWdodCA9IGZhbHNlXG4gICAgcHJvdGVjdGVkIGhhc0ljb25Db21wYWN0ID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNJY29uU21hbGw/OiBib29sZWFuXG4gICAgcHJvdGVjdGVkIGhhc0xhYmVsID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgdXNlQ29udGVudCA9IGZhbHNlXG4gICAgcHJvdGVjdGVkIGhyZWY/OiBzdHJpbmdcbiAgICBwcm90ZWN0ZWQgdGFyZ2V0Pzogc3RyaW5nXG4gICAgcHJvdGVjdGVkIHRvb2x0aXBWYWw/OiBzdHJpbmdcblxuICAgIG5nT25DaGFuZ2VzKCBjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzICk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKClcbiAgICB9XG5cbiAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIC8vIGFwcGFyZW50bHkgdGhpcyBpcyBuZWVkZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGhvc3QgYmluZGluZyB1cGRhdGVzIHByb3Blcmx5XG4gICAgICAgIHRoaXMuem9uZS5ydW4oICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoKVxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICB9IClcbiAgICB9XG5cbiAgICB1cGRhdGVTdGF0ZSgpIHtcbiAgICAgICAgaWYgKCB0aGlzLnRvb2x0aXAgPT0gbnVsbCB8fCB0aGlzLnRvb2x0aXAgPT09IGZhbHNlICkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwVmFsID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIHRoaXMudG9vbHRpcCA9PSAnJyB8fCB0aGlzLnRvb2x0aXAgPT09IHRydWUgKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBWYWwgPSB0aGlzLmxhYmVsXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBWYWwgPSB0aGlzLnRvb2x0aXBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggdGhpcy5jb21wYWN0ID09IG51bGwgfHwgdGhpcy5jb21wYWN0ID09PSBmYWxzZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb21wYWN0ID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICggdGhpcy5jb21wYWN0ID09ICcnIHx8IHRoaXMuY29tcGFjdCA9PT0gdHJ1ZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb21wYWN0ID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc0NvbXBhY3QgPSB0aGlzLmNvbXBhY3QgPT0gdGhpcy5jb25maWd1cmF0aW9uPy5kaXNwbGF5TW9kZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCB0aGlzLnNtYWxsID09IG51bGwgKSB7XG4gICAgICAgICAgICB0aGlzLmlzU21hbGwgPSBmYWxzZVxuICAgICAgICAgICAgdGhpcy5pc0ljb25TbWFsbCA9IHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCB0aGlzLnNtYWxsID09PSBmYWxzZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNTbWFsbCA9IGZhbHNlXG4gICAgICAgICAgICB0aGlzLmlzSWNvblNtYWxsID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNTbWFsbCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuaXNJY29uU21hbGwgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhyZWYgPSB1bmRlZmluZWRcbiAgICAgICAgdGhpcy50YXJnZXQgPSB1bmRlZmluZWRcbiAgICAgICAgaWYgKCB0aGlzLmFuY2hvciA9PSBudWxsIHx8IHRoaXMuYW5jaG9yID09PSBmYWxzZSB8fCB0aGlzLnByaW1hcnkgfHwgdGhpcy5zZWNvbmRhcnkgfHwgdGhpcy50ZXJ0aWFyeSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNBbmNob3IgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCB0aGlzLmFuY2hvciA9PSAnJyB8fCB0aGlzLmFuY2hvciA9PT0gdHJ1ZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNBbmNob3IgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzQW5jaG9yID0gdHJ1ZVxuICAgICAgICAgICAgaWYgKCB0eXBlb2YgdGhpcy5hbmNob3IgPT0gJ3N0cmluZycgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ocmVmID0gdGhpcy5hbmNob3JcbiAgICAgICAgICAgICAgICB0aGlzLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICggdHlwZW9mIHRoaXMuYW5jaG9yID09ICdib29sZWFuJyApIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaHJlZiA9IHRoaXMuYW5jaG9yLmhyZWZcbiAgICAgICAgICAgICAgICB0aGlzLnRhcmdldCA9ICggJ3RhcmdldCcgaW4gdGhpcy5hbmNob3IgKSA/IHRoaXMuYW5jaG9yLnRhcmdldCA6ICdfYmxhbmsnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzUHJpbWFyeSA9IHRoaXMucHJpbWFyeVxuICAgICAgICB0aGlzLmlzU2Vjb25kYXJ5ID0gKCB0aGlzLnNlY29uZGFyeSAmJiAhdGhpcy5wcmltYXJ5ICkgfHwgKCAhdGhpcy5wcmltYXJ5ICYmICF0aGlzLnRlcnRpYXJ5ICYmICF0aGlzLmlzU21hbGwgJiYgIXRoaXMuaXNDb21wYWN0ICYmICF0aGlzLmlzQW5jaG9yIClcbiAgICAgICAgdGhpcy5pc1RlcnRpYXJ5ID0gKCB0aGlzLnRlcnRpYXJ5IHx8IHRoaXMuaXNTbWFsbCB8fCB0aGlzLmlzQ29tcGFjdCApICYmICF0aGlzLnByaW1hcnkgJiYgIXRoaXMuc2Vjb25kYXJ5IFxuXG4gICAgICAgIHRoaXMuaGFzTGFiZWwgPSAhIXRoaXMubGFiZWxcbiAgICAgICAgdGhpcy5oYXNJY29uTGVmdCA9ICEhdGhpcy5pY29uICYmICF0aGlzLmlzQ29tcGFjdFxuICAgICAgICB0aGlzLmhhc0ljb25SaWdodCA9ICEhdGhpcy5pY29uUmlnaHQgJiYgdGhpcy5oYXNMYWJlbCAmJiAhdGhpcy5pc0NvbXBhY3RcbiAgICAgICAgdGhpcy5oYXNJY29uQ29tcGFjdCA9ICggISF0aGlzLmljb25Db21wYWN0IHx8ICEhdGhpcy5pY29uICkgJiYgdGhpcy5pc0NvbXBhY3RcbiAgICAgICAgaWYgKCB0aGlzLmlzSWNvblNtYWxsID09IG51bGwgKSB7XG4gICAgICAgICAgICB0aGlzLmlzSWNvblNtYWxsID0gdGhpcy5pc0FuY2hvclxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51c2VDb250ZW50ID0gIXRoaXMuaGFzTGFiZWwgJiYgIXRoaXMuaGFzSWNvbkxlZnQgJiYgIXRoaXMuaGFzSWNvblJpZ2h0ICYmICF0aGlzLmhhc0ljb25Db21wYWN0XG4gICAgfVxufVxuIiwiQGlmICggIWlzQW5jaG9yICkge1xuICAgIDxidXR0b25cbiAgICAgICAgbWF0UmlwcGxlXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBWYWxcIlxuICAgID5cbiAgICAgICAgQGlmICggdXNlQ29udGVudCApIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmICggaGFzSWNvbkxlZnQgKSB7XG4gICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cImxlZnRcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uIH19PC9ucmNsLWljb24+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIGhhc0ljb25SaWdodCApIHtcbiAgICAgICAgICAgICAgICA8bnJjbC1pY29uIGNsYXNzPVwicmlnaHRcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uUmlnaHQgfX08L25yY2wtaWNvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICggaGFzSWNvbkNvbXBhY3QgKSB7XG4gICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cImNvbXBhY3RcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uQ29tcGFjdCB8fCBpY29uIH19PC9ucmNsLWljb24+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIGhhc0xhYmVsICkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvYnV0dG9uPlxufVxuQGVsc2Uge1xuICAgIDxhIFxuICAgICAgICBbYXR0ci5ocmVmXT1cImhyZWZcIiBcbiAgICAgICAgW2F0dHIudGFyZ2V0XT1cImhyZWYgJiYgdGFyZ2V0XCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcFZhbFwiXG4gICAgPlxuICAgICAgICBAaWYgKCBoYXNJY29uTGVmdCApIHtcbiAgICAgICAgICAgIDxucmNsLWljb24gY2xhc3M9XCJsZWZ0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICggaGFzSWNvblJpZ2h0ICkge1xuICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cInJpZ2h0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvblJpZ2h0IH19PC9ucmNsLWljb24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCBoYXNJY29uQ29tcGFjdCApIHtcbiAgICAgICAgICAgIDxucmNsLWljb24gY2xhc3M9XCJjb21wYWN0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvbkNvbXBhY3QgfHwgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICggaGFzTGFiZWwgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L2E+XG59Il19