pdm-ui-kit 0.1.20 → 0.1.22

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.
@@ -30,23 +30,40 @@ export class PdmButtonComponent {
30
30
  get isDisabled() {
31
31
  return this.disabled || this.loading || this.variant === 'loading';
32
32
  }
33
+ get resolvedVariant() {
34
+ return this.isValidVariant(this.variant) ? this.variant : 'default';
35
+ }
36
+ get resolvedState() {
37
+ return this.state === 'hover' ? 'hover' : 'default';
38
+ }
39
+ get resolvedSize() {
40
+ if (this.size === 'small' || this.size === 'large') {
41
+ return this.size;
42
+ }
43
+ return 'default';
44
+ }
45
+ get showsIconSlot() {
46
+ const variant = this.resolvedVariant;
47
+ return variant === 'with-icon' || variant === 'icon' || variant === 'icon-circle' || variant === 'rounded';
48
+ }
33
49
  get rootClasses() {
34
- const currentState = this.state === 'hover' ? 'hover' : 'default';
35
- const toneClass = this.toneClassMap[this.variant][currentState];
50
+ const currentState = this.resolvedState;
51
+ const variant = this.resolvedVariant;
52
+ const toneClass = this.toneClassMap[variant][currentState];
36
53
  return [
37
54
  'inline-flex items-center justify-center gap-2 rounded-md border text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-clip-padding',
38
- this.variant === 'link' ? 'px-4 py-2 h-9' : '',
39
- this.variant === 'icon' ? 'h-9 w-9 p-0' : '',
40
- this.variant === 'icon-circle' ? 'h-10 w-10 rounded-full p-0' : '',
41
- this.variant === 'rounded' ? 'h-9 w-9 rounded-full p-0' : '',
42
- this.variant !== 'icon' && this.variant !== 'icon-circle' && this.variant !== 'rounded'
43
- ? this.size === 'small'
55
+ variant === 'link' ? 'px-4 py-2 h-9' : '',
56
+ variant === 'icon' ? 'h-9 w-9 p-0' : '',
57
+ variant === 'icon-circle' ? 'h-10 w-10 rounded-full p-0' : '',
58
+ variant === 'rounded' ? 'h-9 w-9 rounded-full p-0' : '',
59
+ variant !== 'icon' && variant !== 'icon-circle' && variant !== 'rounded'
60
+ ? this.resolvedSize === 'small'
44
61
  ? 'h-8 px-3 text-xs'
45
- : this.size === 'large'
62
+ : this.resolvedSize === 'large'
46
63
  ? 'h-10 px-8'
47
64
  : 'h-9 px-4'
48
65
  : '',
49
- this.variant === 'link' && this.state === 'hover' ? 'underline underline-offset-4' : '',
66
+ variant === 'link' && currentState === 'hover' ? 'underline underline-offset-4' : '',
50
67
  toneClass,
51
68
  this.className
52
69
  ];
@@ -56,12 +73,27 @@ export class PdmButtonComponent {
56
73
  this.pressed.emit(event);
57
74
  }
58
75
  }
76
+ isValidVariant(value) {
77
+ return (value === 'default' ||
78
+ value === 'primary' ||
79
+ value === 'destructive' ||
80
+ value === 'outline' ||
81
+ value === 'subtle' ||
82
+ value === 'secondary' ||
83
+ value === 'ghost' ||
84
+ value === 'link' ||
85
+ value === 'with-icon' ||
86
+ value === 'icon' ||
87
+ value === 'icon-circle' ||
88
+ value === 'rounded' ||
89
+ value === 'loading');
90
+ }
59
91
  }
60
92
  PdmButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
- PdmButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonComponent, selector: "pdm-button", inputs: { type: "type", variant: "variant", state: "state", size: "size", disabled: "disabled", loading: "loading", className: "className" }, outputs: { pressed: "pressed" }, ngImport: i0, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"variant === 'with-icon' || variant === 'icon' || variant === 'icon-circle' || variant === 'rounded'\"></ng-content>\n <ng-content></ng-content>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
+ PdmButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonComponent, selector: "pdm-button", inputs: { type: "type", variant: "variant", state: "state", size: "size", disabled: "disabled", loading: "loading", className: "className" }, outputs: { pressed: "pressed" }, ngImport: i0, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonComponent, decorators: [{
63
95
  type: Component,
64
- args: [{ selector: 'pdm-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"variant === 'with-icon' || variant === 'icon' || variant === 'icon-circle' || variant === 'rounded'\"></ng-content>\n <ng-content></ng-content>\n</button>\n" }]
96
+ args: [{ selector: 'pdm-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"showsIconSlot\"></ng-content>\n <ng-content></ng-content>\n</button>\n" }]
65
97
  }], propDecorators: { type: [{
66
98
  type: Input
67
99
  }], variant: [{
@@ -79,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
79
111
  }], pressed: [{
80
112
  type: Output
81
113
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQXdCaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU1XLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQy9DLFlBQU8sR0FBcUIsU0FBUyxDQUFDO1FBQ3RDLFVBQUssR0FBbUIsU0FBUyxDQUFDO1FBQ2xDLFNBQUksR0FBa0IsU0FBUyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUMsaUJBQVksR0FBaUU7WUFDcEYsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLEtBQUssRUFBRSw4REFBOEQsRUFBRTtZQUNoSixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsbURBQW1ELEVBQUUsS0FBSyxFQUFFLDhEQUE4RCxFQUFFO1lBQ2hKLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSwwREFBMEQsRUFBRSxLQUFLLEVBQUUscUVBQXFFLEVBQUU7WUFDbEssT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLEtBQUssRUFBRSx3Q0FBd0MsRUFBRTtZQUNwSCxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUseURBQXlELEVBQUUsS0FBSyxFQUFFLGdEQUFnRCxF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O3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblZhcmlhbnQgPVxuICB8ICdkZWZhdWx0J1xuICB8ICdwcmltYXJ5J1xuICB8ICdkZXN0cnVjdGl2ZSdcbiAgfCAnb3V0bGluZSdcbiAgfCAnc3VidGxlJ1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2dob3N0J1xuICB8ICdsaW5rJ1xuICB8ICd3aXRoLWljb24nXG4gIHwgJ2ljb24nXG4gIHwgJ2ljb24tY2lyY2xlJ1xuICB8ICdyb3VuZGVkJ1xuICB8ICdsb2FkaW5nJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnIHwgJ2hvdmVyJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblNpemUgPSAnc21hbGwnIHwgJ2RlZmF1bHQnIHwgJ2xhcmdlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25WYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzdGF0ZTogUGRtQnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHNpemU6IFBkbUJ1dHRvblNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgQE91dHB1dCgpIHByZXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgdG9uZUNsYXNzTWFwOiBSZWNvcmQ8UGRtQnV0dG9uVmFyaWFudCwgeyBkZWZhdWx0OiBzdHJpbmc7IGhvdmVyOiBzdHJpbmcgfT4gPSB7XG4gICAgZGVmYXVsdDogeyBkZWZhdWx0OiAnYm9yZGVyLXByaW1hcnkgYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLXByaW1hcnkgYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBvcGFjaXR5LTkwJyB9LFxuICAgIHByaW1hcnk6IHsgZGVmYXVsdDogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBkZXN0cnVjdGl2ZTogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIG9wYWNpdHktOTAnIH0sXG4gICAgb3V0bGluZTogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLWJvcmRlciBiZy1tdXRlZCB0ZXh0LWZvcmVncm91bmQnIH0sXG4gICAgc3VidGxlOiB7IGRlZmF1bHQ6ICdib3JkZXItc2Vjb25kYXJ5IGJnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXItYWNjZW50IGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIHNlY29uZGFyeTogeyBkZWZhdWx0OiAnYm9yZGVyLXNlY29uZGFyeSBiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLWFjY2VudCBiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcgfSxcbiAgICBnaG9zdDogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy10cmFuc3BhcmVudCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgbGluazogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy10cmFuc3BhcmVudCB0ZXh0LXByaW1hcnknLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctdHJhbnNwYXJlbnQgdGV4dC1wcmltYXJ5IHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTQnIH0sXG4gICAgJ3dpdGgtaWNvbic6IHsgZGVmYXVsdDogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBpY29uOiB7IGRlZmF1bHQ6ICdib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXItYm9yZGVyIGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgICdpY29uLWNpcmNsZSc6IHsgZGVmYXVsdDogJ2JvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgcm91bmRlZDogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLWJvcmRlciBiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcgfSxcbiAgICBsb2FkaW5nOiB7IGRlZmF1bHQ6ICdib3JkZXItcHJpbWFyeSBiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIG9wYWNpdHktNzAnLCBob3ZlcjogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS03MCcgfVxuICB9O1xuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZyB8fCB0aGlzLnZhcmlhbnQgPT09ICdsb2FkaW5nJztcbiAgfVxuXG4gIGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSA9PT0gJ2hvdmVyJyA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgY29uc3QgdG9uZUNsYXNzID0gdGhpcy50b25lQ2xhc3NNYXBbdGhpcy52YXJpYW50XVtjdXJyZW50U3RhdGVdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcm91bmRlZC1tZCBib3JkZXIgdGV4dC1zbSBmb250LW1lZGl1bSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy1bM3B4XSBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIGJnLWNsaXAtcGFkZGluZycsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdsaW5rJyA/ICdweC00IHB5LTIgaC05JyA6ICcnLFxuICAgICAgdGhpcy52YXJpYW50ID09PSAnaWNvbicgPyAnaC05IHctOSBwLTAnIDogJycsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdpY29uLWNpcmNsZScgPyAnaC0xMCB3LTEwIHJvdW5kZWQtZnVsbCBwLTAnIDogJycsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdyb3VuZGVkJyA/ICdoLTkgdy05IHJvdW5kZWQtZnVsbCBwLTAnIDogJycsXG4gICAgICB0aGlzLnZhcmlhbnQgIT09ICdpY29uJyAmJiB0aGlzLnZhcmlhbnQgIT09ICdpY29uLWNpcmNsZScgJiYgdGhpcy52YXJpYW50ICE9PSAncm91bmRlZCdcbiAgICAgICAgPyB0aGlzLnNpemUgPT09ICdzbWFsbCdcbiAgICAgICAgICA/ICdoLTggcHgtMyB0ZXh0LXhzJ1xuICAgICAgICAgIDogdGhpcy5zaXplID09PSAnbGFyZ2UnXG4gICAgICAgICAgICA/ICdoLTEwIHB4LTgnXG4gICAgICAgICAgICA6ICdoLTkgcHgtNCdcbiAgICAgICAgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ2xpbmsnICYmIHRoaXMuc3RhdGUgPT09ICdob3ZlcicgPyAndW5kZXJsaW5lIHVuZGVybGluZS1vZmZzZXQtNCcgOiAnJyxcbiAgICAgIHRvbmVDbGFzcyxcbiAgICAgIHRoaXMuY2xhc3NOYW1lXG4gICAgXTtcbiAgfVxuXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5wcmVzc2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICBbdHlwZV09XCJ0eXBlXCJcbiAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWJ1c3ldPVwibG9hZGluZ1wiXG4gIFtuZ0NsYXNzXT1cInJvb3RDbGFzc2VzXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICBjbGFzcz1cImlubGluZS1ibG9jayBoLTQgdy00IGFuaW1hdGUtc3BpbiByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLWN1cnJlbnQgYm9yZGVyLXItdHJhbnNwYXJlbnRcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gID48L3NwYW4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltwZG1CdXR0b25JY29uXVwiICpuZ0lmPVwidmFyaWFudCA9PT0gJ3dpdGgtaWNvbicgfHwgdmFyaWFudCA9PT0gJ2ljb24nIHx8IHZhcmlhbnQgPT09ICdpY29uLWNpcmNsZScgfHwgdmFyaWFudCA9PT0gJ3JvdW5kZWQnXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2J1dHRvbj5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQXdCaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU1XLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQy9DLFlBQU8sR0FBOEIsU0FBUyxDQUFDO1FBQy9DLFVBQUssR0FBNEIsU0FBUyxDQUFDO1FBQzNDLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUMsaUJBQVksR0FBaUU7WUFDcEYsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLEtBQUssRUFBRSw4REFBOEQsRUFBRTtZQUNoSixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsbURBQW1ELEVBQUUsS0FBSyxFQUFFLDhEQUE4RCxFQUFFO1lBQ2hKLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSwwREFBMEQsRUFBRSxLQUFLLEVBQUUscUVBQXFFLEVBQUU7WUFDbEssT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLEtBQUssRUFBRSx3Q0FBd0MsRUFBRTtZQUNwSCxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUseURBQXlELEVBQUUsS0FBSyxFQUFFLGdEQUFnRCxF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akIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblZhcmlhbnQgPVxuICB8ICdkZWZhdWx0J1xuICB8ICdwcmltYXJ5J1xuICB8ICdkZXN0cnVjdGl2ZSdcbiAgfCAnb3V0bGluZSdcbiAgfCAnc3VidGxlJ1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2dob3N0J1xuICB8ICdsaW5rJ1xuICB8ICd3aXRoLWljb24nXG4gIHwgJ2ljb24nXG4gIHwgJ2ljb24tY2lyY2xlJ1xuICB8ICdyb3VuZGVkJ1xuICB8ICdsb2FkaW5nJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnIHwgJ2hvdmVyJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblNpemUgPSAnc21hbGwnIHwgJ2RlZmF1bHQnIHwgJ2xhcmdlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25WYXJpYW50IHwgc3RyaW5nID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzdGF0ZTogUGRtQnV0dG9uU3RhdGUgfCBzdHJpbmcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHNpemU6IFBkbUJ1dHRvblNpemUgfCBzdHJpbmcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgQE91dHB1dCgpIHByZXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgdG9uZUNsYXNzTWFwOiBSZWNvcmQ8UGRtQnV0dG9uVmFyaWFudCwgeyBkZWZhdWx0OiBzdHJpbmc7IGhvdmVyOiBzdHJpbmcgfT4gPSB7XG4gICAgZGVmYXVsdDogeyBkZWZhdWx0OiAnYm9yZGVyLXByaW1hcnkgYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLXByaW1hcnkgYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBvcGFjaXR5LTkwJyB9LFxuICAgIHByaW1hcnk6IHsgZGVmYXVsdDogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBkZXN0cnVjdGl2ZTogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIG9wYWNpdHktOTAnIH0sXG4gICAgb3V0bGluZTogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLWJvcmRlciBiZy1tdXRlZCB0ZXh0LWZvcmVncm91bmQnIH0sXG4gICAgc3VidGxlOiB7IGRlZmF1bHQ6ICdib3JkZXItc2Vjb25kYXJ5IGJnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXItYWNjZW50IGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIHNlY29uZGFyeTogeyBkZWZhdWx0OiAnYm9yZGVyLXNlY29uZGFyeSBiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLWFjY2VudCBiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcgfSxcbiAgICBnaG9zdDogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy10cmFuc3BhcmVudCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgbGluazogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy10cmFuc3BhcmVudCB0ZXh0LXByaW1hcnknLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctdHJhbnNwYXJlbnQgdGV4dC1wcmltYXJ5IHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTQnIH0sXG4gICAgJ3dpdGgtaWNvbic6IHsgZGVmYXVsdDogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBpY29uOiB7IGRlZmF1bHQ6ICdib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXItYm9yZGVyIGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgICdpY29uLWNpcmNsZSc6IHsgZGVmYXVsdDogJ2JvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlci1ib3JkZXIgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgcm91bmRlZDogeyBkZWZhdWx0OiAnYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyLWJvcmRlciBiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcgfSxcbiAgICBsb2FkaW5nOiB7IGRlZmF1bHQ6ICdib3JkZXItcHJpbWFyeSBiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIG9wYWNpdHktNzAnLCBob3ZlcjogJ2JvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS03MCcgfVxuICB9O1xuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZyB8fCB0aGlzLnZhcmlhbnQgPT09ICdsb2FkaW5nJztcbiAgfVxuXG4gIGdldCByZXNvbHZlZFZhcmlhbnQoKTogUGRtQnV0dG9uVmFyaWFudCB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFZhcmlhbnQodGhpcy52YXJpYW50KSA/IHRoaXMudmFyaWFudCA6ICdkZWZhdWx0JztcbiAgfVxuXG4gIGdldCByZXNvbHZlZFN0YXRlKCk6IFBkbUJ1dHRvblN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gJ2hvdmVyJyA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRTaXplKCk6IFBkbUJ1dHRvblNpemUge1xuICAgIGlmICh0aGlzLnNpemUgPT09ICdzbWFsbCcgfHwgdGhpcy5zaXplID09PSAnbGFyZ2UnKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaXplO1xuICAgIH1cblxuICAgIHJldHVybiAnZGVmYXVsdCc7XG4gIH1cblxuICBnZXQgc2hvd3NJY29uU2xvdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCB2YXJpYW50ID0gdGhpcy5yZXNvbHZlZFZhcmlhbnQ7XG4gICAgcmV0dXJuIHZhcmlhbnQgPT09ICd3aXRoLWljb24nIHx8IHZhcmlhbnQgPT09ICdpY29uJyB8fCB2YXJpYW50ID09PSAnaWNvbi1jaXJjbGUnIHx8IHZhcmlhbnQgPT09ICdyb3VuZGVkJztcbiAgfVxuXG4gIGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5yZXNvbHZlZFN0YXRlO1xuICAgIGNvbnN0IHZhcmlhbnQgPSB0aGlzLnJlc29sdmVkVmFyaWFudDtcbiAgICBjb25zdCB0b25lQ2xhc3MgPSB0aGlzLnRvbmVDbGFzc01hcFt2YXJpYW50XVtjdXJyZW50U3RhdGVdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcm91bmRlZC1tZCBib3JkZXIgdGV4dC1zbSBmb250LW1lZGl1bSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy1bM3B4XSBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIGJnLWNsaXAtcGFkZGluZycsXG4gICAgICB2YXJpYW50ID09PSAnbGluaycgPyAncHgtNCBweS0yIGgtOScgOiAnJyxcbiAgICAgIHZhcmlhbnQgPT09ICdpY29uJyA/ICdoLTkgdy05IHAtMCcgOiAnJyxcbiAgICAgIHZhcmlhbnQgPT09ICdpY29uLWNpcmNsZScgPyAnaC0xMCB3LTEwIHJvdW5kZWQtZnVsbCBwLTAnIDogJycsXG4gICAgICB2YXJpYW50ID09PSAncm91bmRlZCcgPyAnaC05IHctOSByb3VuZGVkLWZ1bGwgcC0wJyA6ICcnLFxuICAgICAgdmFyaWFudCAhPT0gJ2ljb24nICYmIHZhcmlhbnQgIT09ICdpY29uLWNpcmNsZScgJiYgdmFyaWFudCAhPT0gJ3JvdW5kZWQnXG4gICAgICAgID8gdGhpcy5yZXNvbHZlZFNpemUgPT09ICdzbWFsbCdcbiAgICAgICAgICA/ICdoLTggcHgtMyB0ZXh0LXhzJ1xuICAgICAgICAgIDogdGhpcy5yZXNvbHZlZFNpemUgPT09ICdsYXJnZSdcbiAgICAgICAgICAgID8gJ2gtMTAgcHgtOCdcbiAgICAgICAgICAgIDogJ2gtOSBweC00J1xuICAgICAgICA6ICcnLFxuICAgICAgdmFyaWFudCA9PT0gJ2xpbmsnICYmIGN1cnJlbnRTdGF0ZSA9PT0gJ2hvdmVyJyA/ICd1bmRlcmxpbmUgdW5kZXJsaW5lLW9mZnNldC00JyA6ICcnLFxuICAgICAgdG9uZUNsYXNzLFxuICAgICAgdGhpcy5jbGFzc05hbWVcbiAgICBdO1xuICB9XG5cbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnByZXNzZWQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkVmFyaWFudCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFBkbUJ1dHRvblZhcmlhbnQge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSA9PT0gJ2RlZmF1bHQnIHx8XG4gICAgICB2YWx1ZSA9PT0gJ3ByaW1hcnknIHx8XG4gICAgICB2YWx1ZSA9PT0gJ2Rlc3RydWN0aXZlJyB8fFxuICAgICAgdmFsdWUgPT09ICdvdXRsaW5lJyB8fFxuICAgICAgdmFsdWUgPT09ICdzdWJ0bGUnIHx8XG4gICAgICB2YWx1ZSA9PT0gJ3NlY29uZGFyeScgfHxcbiAgICAgIHZhbHVlID09PSAnZ2hvc3QnIHx8XG4gICAgICB2YWx1ZSA9PT0gJ2xpbmsnIHx8XG4gICAgICB2YWx1ZSA9PT0gJ3dpdGgtaWNvbicgfHxcbiAgICAgIHZhbHVlID09PSAnaWNvbicgfHxcbiAgICAgIHZhbHVlID09PSAnaWNvbi1jaXJjbGUnIHx8XG4gICAgICB2YWx1ZSA9PT0gJ3JvdW5kZWQnIHx8XG4gICAgICB2YWx1ZSA9PT0gJ2xvYWRpbmcnXG4gICAgKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICBbdHlwZV09XCJ0eXBlXCJcbiAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWJ1c3ldPVwibG9hZGluZ1wiXG4gIFtuZ0NsYXNzXT1cInJvb3RDbGFzc2VzXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICBjbGFzcz1cImlubGluZS1ibG9jayBoLTQgdy00IGFuaW1hdGUtc3BpbiByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLWN1cnJlbnQgYm9yZGVyLXItdHJhbnNwYXJlbnRcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gID48L3NwYW4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltwZG1CdXR0b25JY29uXVwiICpuZ0lmPVwic2hvd3NJY29uU2xvdFwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=