@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.
- package/components/button/button.component.d.ts +27 -23
- package/components/list-attachments/list-attachments.component.d.ts +2 -2
- package/esm2022/components/button/button.component.mjs +34 -12
- package/esm2022/components/list-attachments/list-attachments.component.mjs +20 -21
- package/esm2022/components/row-list-sorting/row-list-sorting.component.mjs +2 -2
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs +56 -34
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
|
17
|
+
anchor?: string | boolean | {
|
|
18
|
+
href: string;
|
|
19
|
+
target: string;
|
|
20
|
+
};
|
|
17
21
|
click: EventEmitter<PointerEvent>;
|
|
18
|
-
isCompact:
|
|
19
|
-
isSmall:
|
|
20
|
-
isPrimary:
|
|
21
|
-
isSecondary:
|
|
22
|
-
isTertiary:
|
|
23
|
-
isAnchor:
|
|
24
|
-
hasIconLeft:
|
|
25
|
-
hasIconRight:
|
|
26
|
-
hasIconCompact:
|
|
27
|
-
isIconSmall
|
|
28
|
-
hasLabel:
|
|
29
|
-
useContent:
|
|
30
|
-
href
|
|
31
|
-
target
|
|
32
|
-
|
|
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
|
-
|
|
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; }; "
|
|
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.
|
|
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 =
|
|
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 =
|
|
52
|
-
this.target =
|
|
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
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7OztBQXNCN0YsTUFBTSxPQUFPLGVBQWdCLFNBQVEsMkJBQTJCO0lBcEJoRTs7UUFxQkksU0FBSSxHQUFHLE1BQU0sQ0FBRSxNQUFNLENBQUUsQ0FBQTtRQVNtQixZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHMUQsMERBQTBEO1FBQzFELHlDQUF5QztRQUMvQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUE7UUFFeEMsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUFDbkIsaUJBQVksR0FBRyxLQUFLLENBQUE7UUFDcEIsbUJBQWMsR0FB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d0JBQ3hDLG9CQUFvQixFQUFJLGFBQWE7cUJBQ3hDOzhCQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNvQyxPQUFPO3NCQUFoRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNHLFNBQVM7c0JBQWxELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0csUUFBUTtzQkFBakQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRyxRQUFRO3NCQUFqRCxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM5QixNQUFNO3NCQUFkLEtBQUs7Z0JBSUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TdWJzY3JpYmVyQmFzZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvY29uZmlndXJhdGlvbi1zdWJzY3JpYmVyLmJhc2UnO1xuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6ICducmNsLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICAgICAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLnByaW1hcnldJzogICAgICAnaXNQcmltYXJ5JyxcbiAgICAgICAgJ1tjbGFzcy5zZWNvbmRhcnldJzogICAgJ2lzU2Vjb25kYXJ5JyxcbiAgICAgICAgJ1tjbGFzcy50ZXJ0aWFyeV0nOiAgICAgJ2lzVGVydGlhcnknLFxuICAgICAgICAnW2NsYXNzLmFuY2hvcl0nOiAgICAgICAnaXNBbmNob3InLFxuICAgICAgICAnW2NsYXNzLm5vcm1hbF0nOiAgICAgICAnIWlzQ29tcGFjdCAmJiAhaXNTbWFsbCcsXG4gICAgICAgICdbY2xhc3MuY29tcGFjdF0nOiAgICAgICdpc0NvbXBhY3QnLFxuICAgICAgICAnW2NsYXNzLnNtYWxsXSc6ICAgICAgICAnaXNTbWFsbCAmJiAhaXNDb21wYWN0JyxcbiAgICAgICAgJ1tjbGFzcy5sYWJlbF0nOiAgICAgICAgJ2hhc0xhYmVsJyxcbiAgICAgICAgJ1tjbGFzcy5pY29uLWxlZnRdJzogICAgJ2hhc0ljb25MZWZ0JyxcbiAgICAgICAgJ1tjbGFzcy5pY29uLXJpZ2h0XSc6ICAgJ2hhc0ljb25SaWdodCcsXG4gICAgICAgICdbY2xhc3MuaWNvbi1jb21wYWN0XSc6ICdoYXNJY29uQ29tcGFjdCcsXG4gICAgICAgICdbY2xhc3MuaWNvbi1zbWFsbF0nOiAgICdpc0ljb25TbWFsbCcsXG4gICAgfVxufSApXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICB6b25lID0gaW5qZWN0KCBOZ1pvbmUgKVxuXG4gICAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBpY29uPzogc3RyaW5nXG4gICAgQElucHV0KCkgaWNvblJpZ2h0Pzogc3RyaW5nXG4gICAgQElucHV0KCkgaWNvbkNvbXBhY3Q/OiBzdHJpbmdcbiAgICBASW5wdXQoKSB0b29sdGlwPzogc3RyaW5nIHwgYm9vbGVhblxuICAgIEBJbnB1dCgpIGNvbXBhY3Q/OiBzdHJpbmcgfCBib29sZWFuXG4gICAgQElucHV0KCkgc21hbGw/OiBzdHJpbmcgfCBib29sZWFuXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgcHJpbWFyeSA9IGZhbHNlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgc2Vjb25kYXJ5ID0gZmFsc2VcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSB0ZXJ0aWFyeSA9IGZhbHNlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgZGlzYWJsZWQgPSBmYWxzZVxuICAgIEBJbnB1dCgpIGFuY2hvcj86IHN0cmluZyB8IGJvb2xlYW4gfCB7IGhyZWY6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcgfVxuXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIGFscmVhZHkgZGVmaW5lZCBmb3IgdGhlIGhvc3QgZWxlbWVudFxuICAgIC8vIHRoaXMgZGVjbGFyYXRpb24gbWFrZXMgc3Rvcnlib29rIGhhcHB5XG4gICAgQE91dHB1dCgpIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxQb2ludGVyRXZlbnQ+KClcblxuICAgIHByb3RlY3RlZCBpc0NvbXBhY3QgPSBmYWxzZVxuICAgIHByb3RlY3RlZCBpc1NtYWxsID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNQcmltYXJ5ID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNTZWNvbmRhcnkgPSBmYWxzZVxuICAgIHByb3RlY3RlZCBpc1RlcnRpYXJ5ID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNBbmNob3IgPSBmYWxzZVxuICAgIHByb3RlY3RlZCBoYXNJY29uTGVmdCA9IGZhbHNlXG4gICAgcHJvdGVjdGVkIGhhc0ljb25SaWdodCA9IGZhbHNlXG4gICAgcHJvdGVjdGVkIGhhc0ljb25Db21wYWN0ID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgaXNJY29uU21hbGw/OiBib29sZWFuXG4gICAgcHJvdGVjdGVkIGhhc0xhYmVsID0gZmFsc2VcbiAgICBwcm90ZWN0ZWQgdXNlQ29udGVudCA9IGZhbHNlXG4gICAgcHJvdGVjdGVkIGhyZWY/OiBzdHJpbmdcbiAgICBwcm90ZWN0ZWQgdGFyZ2V0Pzogc3RyaW5nXG4gICAgcHJvdGVjdGVkIHRvb2x0aXBWYWw/OiBzdHJpbmdcblxuICAgIG5nT25DaGFuZ2VzKCBjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzICk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKClcbiAgICB9XG5cbiAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIC8vIGFwcGFyZW50bHkgdGhpcyBpcyBuZWVkZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGhvc3QgYmluZGluZyB1cGRhdGVzIHByb3Blcmx5XG4gICAgICAgIHRoaXMuem9uZS5ydW4oICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoKVxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICB9IClcbiAgICB9XG5cbiAgICB1cGRhdGVTdGF0ZSgpIHtcbiAgICAgICAgaWYgKCB0aGlzLnRvb2x0aXAgPT0gbnVsbCB8fCB0aGlzLnRvb2x0aXAgPT09IGZhbHNlICkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwVmFsID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIHRoaXMudG9vbHRpcCA9PSAnJyB8fCB0aGlzLnRvb2x0aXAgPT09IHRydWUgKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBWYWwgPSB0aGlzLmxhYmVsXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBWYWwgPSB0aGlzLnRvb2x0aXBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggdGhpcy5jb21wYWN0ID09IG51bGwgfHwgdGhpcy5jb21wYWN0ID09PSBmYWxzZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb21wYWN0ID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICggdGhpcy5jb21wYWN0ID09ICcnIHx8IHRoaXMuY29tcGFjdCA9PT0gdHJ1ZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb21wYWN0ID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc0NvbXBhY3QgPSB0aGlzLmNvbXBhY3QgPT0gdGhpcy5jb25maWd1cmF0aW9uPy5kaXNwbGF5TW9kZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCB0aGlzLnNtYWxsID09IG51bGwgKSB7XG4gICAgICAgICAgICB0aGlzLmlzU21hbGwgPSBmYWxzZVxuICAgICAgICAgICAgdGhpcy5pc0ljb25TbWFsbCA9IHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCB0aGlzLnNtYWxsID09PSBmYWxzZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNTbWFsbCA9IGZhbHNlXG4gICAgICAgICAgICB0aGlzLmlzSWNvblNtYWxsID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNTbWFsbCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuaXNJY29uU21hbGwgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhyZWYgPSB1bmRlZmluZWRcbiAgICAgICAgdGhpcy50YXJnZXQgPSB1bmRlZmluZWRcbiAgICAgICAgaWYgKCB0aGlzLmFuY2hvciA9PSBudWxsIHx8IHRoaXMuYW5jaG9yID09PSBmYWxzZSB8fCB0aGlzLnByaW1hcnkgfHwgdGhpcy5zZWNvbmRhcnkgfHwgdGhpcy50ZXJ0aWFyeSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNBbmNob3IgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCB0aGlzLmFuY2hvciA9PSAnJyB8fCB0aGlzLmFuY2hvciA9PT0gdHJ1ZSApIHtcbiAgICAgICAgICAgIHRoaXMuaXNBbmNob3IgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzQW5jaG9yID0gdHJ1ZVxuICAgICAgICAgICAgaWYgKCB0eXBlb2YgdGhpcy5hbmNob3IgPT0gJ3N0cmluZycgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ocmVmID0gdGhpcy5hbmNob3JcbiAgICAgICAgICAgICAgICB0aGlzLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICggdHlwZW9mIHRoaXMuYW5jaG9yID09ICdib29sZWFuJyApIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaHJlZiA9IHRoaXMuYW5jaG9yLmhyZWZcbiAgICAgICAgICAgICAgICB0aGlzLnRhcmdldCA9ICggJ3RhcmdldCcgaW4gdGhpcy5hbmNob3IgKSA/IHRoaXMuYW5jaG9yLnRhcmdldCA6ICdfYmxhbmsnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzUHJpbWFyeSA9IHRoaXMucHJpbWFyeVxuICAgICAgICB0aGlzLmlzU2Vjb25kYXJ5ID0gKCB0aGlzLnNlY29uZGFyeSAmJiAhdGhpcy5wcmltYXJ5ICkgfHwgKCAhdGhpcy5wcmltYXJ5ICYmICF0aGlzLnRlcnRpYXJ5ICYmICF0aGlzLmlzU21hbGwgJiYgIXRoaXMuaXNDb21wYWN0ICYmICF0aGlzLmlzQW5jaG9yIClcbiAgICAgICAgdGhpcy5pc1RlcnRpYXJ5ID0gKCB0aGlzLnRlcnRpYXJ5IHx8IHRoaXMuaXNTbWFsbCB8fCB0aGlzLmlzQ29tcGFjdCApICYmICF0aGlzLnByaW1hcnkgJiYgIXRoaXMuc2Vjb25kYXJ5IFxuXG4gICAgICAgIHRoaXMuaGFzTGFiZWwgPSAhIXRoaXMubGFiZWxcbiAgICAgICAgdGhpcy5oYXNJY29uTGVmdCA9ICEhdGhpcy5pY29uICYmICF0aGlzLmlzQ29tcGFjdFxuICAgICAgICB0aGlzLmhhc0ljb25SaWdodCA9ICEhdGhpcy5pY29uUmlnaHQgJiYgdGhpcy5oYXNMYWJlbCAmJiAhdGhpcy5pc0NvbXBhY3RcbiAgICAgICAgdGhpcy5oYXNJY29uQ29tcGFjdCA9ICggISF0aGlzLmljb25Db21wYWN0IHx8ICEhdGhpcy5pY29uICkgJiYgdGhpcy5pc0NvbXBhY3RcbiAgICAgICAgaWYgKCB0aGlzLmlzSWNvblNtYWxsID09IG51bGwgKSB7XG4gICAgICAgICAgICB0aGlzLmlzSWNvblNtYWxsID0gdGhpcy5pc0FuY2hvclxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51c2VDb250ZW50ID0gIXRoaXMuaGFzTGFiZWwgJiYgIXRoaXMuaGFzSWNvbkxlZnQgJiYgIXRoaXMuaGFzSWNvblJpZ2h0ICYmICF0aGlzLmhhc0ljb25Db21wYWN0XG4gICAgfVxufVxuIiwiQGlmICggIWlzQW5jaG9yICkge1xuICAgIDxidXR0b25cbiAgICAgICAgbWF0UmlwcGxlXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBWYWxcIlxuICAgID5cbiAgICAgICAgQGlmICggdXNlQ29udGVudCApIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmICggaGFzSWNvbkxlZnQgKSB7XG4gICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cImxlZnRcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uIH19PC9ucmNsLWljb24+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIGhhc0ljb25SaWdodCApIHtcbiAgICAgICAgICAgICAgICA8bnJjbC1pY29uIGNsYXNzPVwicmlnaHRcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uUmlnaHQgfX08L25yY2wtaWNvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICggaGFzSWNvbkNvbXBhY3QgKSB7XG4gICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cImNvbXBhY3RcIiBbc21hbGxdPVwiaXNJY29uU21hbGxcIj57eyBpY29uQ29tcGFjdCB8fCBpY29uIH19PC9ucmNsLWljb24+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIGhhc0xhYmVsICkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvYnV0dG9uPlxufVxuQGVsc2Uge1xuICAgIDxhIFxuICAgICAgICBbYXR0ci5ocmVmXT1cImhyZWZcIiBcbiAgICAgICAgW2F0dHIudGFyZ2V0XT1cImhyZWYgJiYgdGFyZ2V0XCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcFZhbFwiXG4gICAgPlxuICAgICAgICBAaWYgKCBoYXNJY29uTGVmdCApIHtcbiAgICAgICAgICAgIDxucmNsLWljb24gY2xhc3M9XCJsZWZ0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICggaGFzSWNvblJpZ2h0ICkge1xuICAgICAgICAgICAgPG5yY2wtaWNvbiBjbGFzcz1cInJpZ2h0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvblJpZ2h0IH19PC9ucmNsLWljb24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCBoYXNJY29uQ29tcGFjdCApIHtcbiAgICAgICAgICAgIDxucmNsLWljb24gY2xhc3M9XCJjb21wYWN0XCIgW3NtYWxsXT1cImlzSWNvblNtYWxsXCI+e3sgaWNvbkNvbXBhY3QgfHwgaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICggaGFzTGFiZWwgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L2E+XG59Il19
|