@energinet/watt 4.1.6 → 4.1.8

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.
@@ -62,7 +62,7 @@ export class WattButtonComponent {
62
62
  }
63
63
  </div>
64
64
  </button>
65
- `, isInline: true, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s)}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"], dependencies: [{ kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
65
+ `, isInline: true, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s);white-space:nowrap}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"], dependencies: [{ kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
66
  }
67
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattButtonComponent, decorators: [{
68
68
  type: Component,
@@ -90,6 +90,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
90
90
  }
91
91
  </div>
92
92
  </button>
93
- `, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s)}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"] }]
93
+ `, styles: [":root{--watt-button-color: var(--watt-color-primary);--watt-button-text-hover-color: var(--watt-color-primary-dark);--watt-button-text-focus-color: var(--watt-color-primary);--watt-button-text-transform: none;--watt-button-primary-disabled-color: var(--watt-color-neutral-grey-500)}watt-button{display:inline-block}watt-button.watt-button--primary.watt-button--disabled .mat-mdc-button.mat-primary{background-color:transparent;color:var(--watt-button-primary-disabled-color)}watt-button.watt-button--primary watt-spinner{--watt-spinner-circle-color: var(--watt-color-neutral-white)}watt-button.watt-button--primary .mat-mdc-button.mat-primary{color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);--mat-button-text-label-text-color: var(--watt-color-primary-contrast)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-secondary)}watt-button.watt-button--primary .mat-mdc-button.mat-primary:hover,watt-button.watt-button--primary .mat-mdc-button.mat-primary:focus-visible{background:var(--watt-color-primary-dark)}watt-button.watt-button--secondary.watt-button--disabled .mat-mdc-button.mat-secondary{background-color:transparent;border-color:var(--watt-color-neutral-grey-300);color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary{border:1px solid var(--watt-color-primary);color:var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light);outline:1px solid var(--watt-color-primary)}watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:hover,watt-button.watt-button--secondary .mat-mdc-button.mat-secondary:focus-visible{background:var(--watt-color-primary-light)}watt-button.watt-button--text.watt-button--disabled .mat-mdc-button.mat-text{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--text .mat-mdc-button.mat-text{color:var(--watt-button-color);text-transform:var(--watt-button-text-transform);outline:2px solid transparent}watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color);outline:2px solid var(--watt-button-text-focus-color)}watt-button.watt-button--text .mat-mdc-button.mat-text:hover,watt-button.watt-button--text .mat-mdc-button.mat-text:focus-visible{color:var(--watt-button-text-hover-color)}watt-button.watt-button--icon.watt-button--disabled .mat-mdc-button.mat-icon{background-color:transparent;color:var(--watt-color-neutral-grey-500)}watt-button.watt-button--icon .mat-mdc-button.mat-icon{color:var(--watt-color-primary);padding:var(--watt-space-s)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark);outline:2px solid var(--watt-color-primary)}watt-button.watt-button--icon .mat-mdc-button.mat-icon:hover,watt-button.watt-button--icon .mat-mdc-button.mat-icon:focus-visible{color:var(--watt-color-primary-dark)}watt-button.watt-button--icon .mat-mdc-button.mat-icon.mat-button{min-width:44px}watt-button .mdc-button{font-weight:600;font-size:1rem;line-height:1.5rem;padding:var(--watt-space-s) var(--watt-space-m)}watt-button .mdc-button.mat-mdc-button{min-width:44px;height:44px;--mat-button-text-label-text-tracking: 0;--mat-button-text-state-layer-color: var(--watt-ripple-color);--mat-button-text-ripple-color: var(--watt-ripple-color)}watt-button .mdc-button watt-spinner{position:absolute}watt-button .mdc-button .mat-button-focus-overlay{background:transparent}watt-button .mdc-button .mdc-button__label{display:flex;justify-content:center;align-items:center}watt-button .mdc-button .mdc-button__label .content-wrapper{display:flex;gap:var(--watt-space-s);white-space:nowrap}watt-button .mdc-button .mdc-button__label .content-wrapper--loading{visibility:hidden}watt-button .mdc-button .mdc-button__label watt-icon{margin:-5px}watt-button.watt-button-size--small .mdc-button.mat-mdc-button{height:var(--watt-space-l)}\n"] }]
94
94
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], formId: [{ type: i0.Input, args: [{ isSignal: true, alias: "formId", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvYnV0dG9uL3dhdHQtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQVksaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBc0NqRixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLElBQUksR0FBRyxLQUFLLDBEQUFZLENBQUM7SUFDekIsT0FBTyxHQUFHLEtBQUssQ0FBb0IsU0FBUyxtREFBQyxDQUFDO0lBQzlDLElBQUksR0FBRyxLQUFLLENBQWlCLFFBQVEsZ0RBQUMsQ0FBQztJQUN2QyxJQUFJLEdBQUcsS0FBSyxDQUFpQixRQUFRLGdEQUFDLENBQUM7SUFDdkMsTUFBTSxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxrREFBQyxDQUFDO0lBQ3BDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBRXZCLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxtREFBQyxDQUFDO0lBRTVGLDBGQUEwRjtJQUMxRiw0REFBNEQ7SUFDNUQsa0dBQWtHO0lBQ2xHLGlFQUFpRTtJQUNqRSxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5REFBQyxDQUFDO0lBRXBFOztPQUVHO0lBQ0gsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxtREFBQyxDQUFDO3VHQXBCN0IsbUJBQW1COzJGQUFuQixtQkFBbUIsa2pDQXRCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JULG1qSUFyQlMsaUJBQWlCLGtHQUFFLG9CQUFvQiw2RkFBRSxlQUFlOzsyRkF1QnZELG1CQUFtQjtrQkFqQy9CLFNBQVM7K0JBQ0UsYUFBYSxpQkFDUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBRXpDO3dCQUNKLFNBQVMsRUFBRSxXQUFXO3dCQUN0QiwrQkFBK0IsRUFBRSxZQUFZO3dCQUM3Qyx3QkFBd0IsRUFBRSxpQkFBaUI7cUJBQzVDLFdBQ1EsQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUMsWUFDekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIGNvbXB1dGVkLFxuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgV2F0dFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvc3Bpbm5lcic7XG5pbXBvcnQgeyBXYXR0SWNvbiwgV2F0dEljb25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvaWNvbic7XG5cbmV4cG9ydCBjb25zdCBXYXR0QnV0dG9uVHlwZXMgPSBbJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ3RleHQnLCAnaWNvbiddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgV2F0dEJ1dHRvblZhcmlhbnQgPSAodHlwZW9mIFdhdHRCdXR0b25UeXBlcylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFdhdHRCdXR0b25UeXBlID0gJ2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCc7XG5leHBvcnQgdHlwZSBXYXR0QnV0dG9uU2l6ZSA9ICdzbWFsbCcgfCAnbWVkaXVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2F0dC1idXR0b24nLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ2NsYXNzZXMoKScsXG4gICAgJ1tjbGFzcy53YXR0LWJ1dHRvbi0tZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICdbc3R5bGUucG9pbnRlci1ldmVudHNdJzogJ3BvaW50ZXJFdmVudHMoKScsXG4gIH0sXG4gIGltcG9ydHM6IFtXYXR0SWNvbkNvbXBvbmVudCwgV2F0dFNwaW5uZXJDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgW3R5cGVdPVwidHlwZSgpXCJcbiAgICAgIFtjb2xvcl09XCJ2YXJpYW50KClcIlxuICAgICAgW2F0dHIuZm9ybV09XCJ0eXBlKCkgPT09ICdzdWJtaXQnID8gZm9ybUlkKCkgOiBudWxsXCJcbiAgICA+XG4gICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICA8d2F0dC1zcGlubmVyIFtkaWFtZXRlcl09XCIxOFwiIC8+XG4gICAgICB9XG4gICAgICA8ZGl2IFtjbGFzcy5jb250ZW50LXdyYXBwZXJdPVwiIWxvYWRpbmcoKVwiIFtjbGFzcy5jb250ZW50LXdyYXBwZXItLWxvYWRpbmddPVwibG9hZGluZygpXCI+XG4gICAgICAgIEBpZiAoaGFzSWNvbigpKSB7XG4gICAgICAgICAgPHdhdHQtaWNvbiBbbmFtZV09XCJpY29uKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodmFyaWFudCgpICE9PSAnaWNvbicpIHtcbiAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dEJ1dHRvbkNvbXBvbmVudCB7XG4gIGljb24gPSBpbnB1dDxXYXR0SWNvbj4oKTtcbiAgdmFyaWFudCA9IGlucHV0PFdhdHRCdXR0b25WYXJpYW50PigncHJpbWFyeScpO1xuICBzaXplID0gaW5wdXQ8V2F0dEJ1dHRvblNpemU+KCdtZWRpdW0nKTtcbiAgdHlwZSA9IGlucHV0PFdhdHRCdXR0b25UeXBlPignYnV0dG9uJyk7XG4gIGZvcm1JZCA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgbG9hZGluZyA9IGlucHV0KGZhbHNlKTtcblxuICBjbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4gYHdhdHQtYnV0dG9uLS0ke3RoaXMudmFyaWFudCgpfSB3YXR0LWJ1dHRvbi1zaXplLS0ke3RoaXMuc2l6ZSgpfWApO1xuXG4gIC8vIFByZXZlbnRzIGVtaXR0aW5nIGEgY2xpY2sgZXZlbnQgaW4gQ2hyb21lL0VkZ2UvU2FmYXJpIHdoZW4gYSBkaXNhYmxlZCBidXR0b24gaXMgY2xpY2tlZFxuICAvLyBXZWJLaXQgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkwNDFcbiAgLy8gTm90ZTogVGhpcyBzb2x1dGlvbiBpcyBwcmVmZXJyZWQgKGluIHRoaXMgcGFydGljdWxhciBjYXNlKSBvdmVyIGFkZGluZyBzdHlsaW5nIHRvIHRoZSBTY3NzIGZpbGVcbiAgLy8gYmVjYXVzZSB0aGUgcHJlc2VuY2Ugb2YgaW5saW5lIHN0eWxlcyBjYW4gYmUgdGVzdGVkIHdpdGggSmVzdC5cbiAgcG9pbnRlckV2ZW50cyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRpc2FibGVkKCkgPyAnbm9uZScgOiAnYXV0bycpKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGFzSWNvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5pY29uKCkpO1xufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvYnV0dG9uL3dhdHQtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQVksaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBc0NqRixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLElBQUksR0FBRyxLQUFLLDBEQUFZLENBQUM7SUFDekIsT0FBTyxHQUFHLEtBQUssQ0FBb0IsU0FBUyxtREFBQyxDQUFDO0lBQzlDLElBQUksR0FBRyxLQUFLLENBQWlCLFFBQVEsZ0RBQUMsQ0FBQztJQUN2QyxJQUFJLEdBQUcsS0FBSyxDQUFpQixRQUFRLGdEQUFDLENBQUM7SUFDdkMsTUFBTSxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxrREFBQyxDQUFDO0lBQ3BDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxvREFBQyxDQUFDO0lBQ3hCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBRXZCLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxtREFBQyxDQUFDO0lBRTVGLDBGQUEwRjtJQUMxRiw0REFBNEQ7SUFDNUQsa0dBQWtHO0lBQ2xHLGlFQUFpRTtJQUNqRSxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5REFBQyxDQUFDO0lBRXBFOztPQUVHO0lBQ0gsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxtREFBQyxDQUFDO3VHQXBCN0IsbUJBQW1COzJGQUFuQixtQkFBbUIsa2pDQXRCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JULHNrSUFyQlMsaUJBQWlCLGtHQUFFLG9CQUFvQiw2RkFBRSxlQUFlOzsyRkF1QnZELG1CQUFtQjtrQkFqQy9CLFNBQVM7K0JBQ0UsYUFBYSxpQkFDUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBRXpDO3dCQUNKLFNBQVMsRUFBRSxXQUFXO3dCQUN0QiwrQkFBK0IsRUFBRSxZQUFZO3dCQUM3Qyx3QkFBd0IsRUFBRSxpQkFBaUI7cUJBQzVDLFdBQ1EsQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUMsWUFDekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIGNvbXB1dGVkLFxuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgV2F0dFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvc3Bpbm5lcic7XG5pbXBvcnQgeyBXYXR0SWNvbiwgV2F0dEljb25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvaWNvbic7XG5cbmV4cG9ydCBjb25zdCBXYXR0QnV0dG9uVHlwZXMgPSBbJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ3RleHQnLCAnaWNvbiddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgV2F0dEJ1dHRvblZhcmlhbnQgPSAodHlwZW9mIFdhdHRCdXR0b25UeXBlcylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFdhdHRCdXR0b25UeXBlID0gJ2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCc7XG5leHBvcnQgdHlwZSBXYXR0QnV0dG9uU2l6ZSA9ICdzbWFsbCcgfCAnbWVkaXVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2F0dC1idXR0b24nLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ2NsYXNzZXMoKScsXG4gICAgJ1tjbGFzcy53YXR0LWJ1dHRvbi0tZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICdbc3R5bGUucG9pbnRlci1ldmVudHNdJzogJ3BvaW50ZXJFdmVudHMoKScsXG4gIH0sXG4gIGltcG9ydHM6IFtXYXR0SWNvbkNvbXBvbmVudCwgV2F0dFNwaW5uZXJDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgW3R5cGVdPVwidHlwZSgpXCJcbiAgICAgIFtjb2xvcl09XCJ2YXJpYW50KClcIlxuICAgICAgW2F0dHIuZm9ybV09XCJ0eXBlKCkgPT09ICdzdWJtaXQnID8gZm9ybUlkKCkgOiBudWxsXCJcbiAgICA+XG4gICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICA8d2F0dC1zcGlubmVyIFtkaWFtZXRlcl09XCIxOFwiIC8+XG4gICAgICB9XG4gICAgICA8ZGl2IFtjbGFzcy5jb250ZW50LXdyYXBwZXJdPVwiIWxvYWRpbmcoKVwiIFtjbGFzcy5jb250ZW50LXdyYXBwZXItLWxvYWRpbmddPVwibG9hZGluZygpXCI+XG4gICAgICAgIEBpZiAoaGFzSWNvbigpKSB7XG4gICAgICAgICAgPHdhdHQtaWNvbiBbbmFtZV09XCJpY29uKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodmFyaWFudCgpICE9PSAnaWNvbicpIHtcbiAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dEJ1dHRvbkNvbXBvbmVudCB7XG4gIGljb24gPSBpbnB1dDxXYXR0SWNvbj4oKTtcbiAgdmFyaWFudCA9IGlucHV0PFdhdHRCdXR0b25WYXJpYW50PigncHJpbWFyeScpO1xuICBzaXplID0gaW5wdXQ8V2F0dEJ1dHRvblNpemU+KCdtZWRpdW0nKTtcbiAgdHlwZSA9IGlucHV0PFdhdHRCdXR0b25UeXBlPignYnV0dG9uJyk7XG4gIGZvcm1JZCA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgbG9hZGluZyA9IGlucHV0KGZhbHNlKTtcblxuICBjbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4gYHdhdHQtYnV0dG9uLS0ke3RoaXMudmFyaWFudCgpfSB3YXR0LWJ1dHRvbi1zaXplLS0ke3RoaXMuc2l6ZSgpfWApO1xuXG4gIC8vIFByZXZlbnRzIGVtaXR0aW5nIGEgY2xpY2sgZXZlbnQgaW4gQ2hyb21lL0VkZ2UvU2FmYXJpIHdoZW4gYSBkaXNhYmxlZCBidXR0b24gaXMgY2xpY2tlZFxuICAvLyBXZWJLaXQgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkwNDFcbiAgLy8gTm90ZTogVGhpcyBzb2x1dGlvbiBpcyBwcmVmZXJyZWQgKGluIHRoaXMgcGFydGljdWxhciBjYXNlKSBvdmVyIGFkZGluZyBzdHlsaW5nIHRvIHRoZSBTY3NzIGZpbGVcbiAgLy8gYmVjYXVzZSB0aGUgcHJlc2VuY2Ugb2YgaW5saW5lIHN0eWxlcyBjYW4gYmUgdGVzdGVkIHdpdGggSmVzdC5cbiAgcG9pbnRlckV2ZW50cyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRpc2FibGVkKCkgPyAnbm9uZScgOiAnYXV0bycpKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGFzSWNvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5pY29uKCkpO1xufVxuIl19
@@ -20,10 +20,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
20
20
  import * as i0 from "@angular/core";
21
21
  export class WattDrawerHeadingComponent {
22
22
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: WattDrawerHeadingComponent, isStandalone: true, selector: "watt-drawer-heading", ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: WattDrawerHeadingComponent, isStandalone: true, selector: "watt-drawer-heading", ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["watt-drawer-heading{width:100%;display:block}watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerHeadingComponent, decorators: [{
26
26
  type: Component,
27
- args: [{ selector: 'watt-drawer-heading', encapsulation: ViewEncapsulation.None, template: `<ng-content />`, styles: ["watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"] }]
27
+ args: [{ selector: 'watt-drawer-heading', encapsulation: ViewEncapsulation.None, template: `<ng-content />`, styles: ["watt-drawer-heading{width:100%;display:block}watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"] }]
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9kcmF3ZXIvd2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW9CN0QsTUFBTSxPQUFPLDBCQUEwQjt1R0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEIsK0VBZjNCLGdCQUFnQjs7MkZBZWYsMEJBQTBCO2tCQWxCdEMsU0FBUzsrQkFDRSxxQkFBcUIsaUJBQ2hCLGlCQUFpQixDQUFDLElBQUksWUFDM0IsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YXR0LWRyYXdlci1oZWFkaW5nJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHdhdHQtZHJhd2VyLWhlYWRpbmcgaDEsXG4gICAgICB3YXR0LWRyYXdlci1oZWFkaW5nIGgyLFxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyBoMyxcbiAgICAgIHdhdHQtZHJhd2VyLWhlYWRpbmcgaDQsXG4gICAgICB3YXR0LWRyYXdlci1oZWFkaW5nIGg1LFxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyBoNiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsgLyogYWxpZ24gd2l0aCBhY3Rpb25zICovXG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERyYXdlckhlYWRpbmdDb21wb25lbnQge31cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9kcmF3ZXIvd2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXlCN0QsTUFBTSxPQUFPLDBCQUEwQjt1R0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEIsK0VBcEIzQixnQkFBZ0I7OzJGQW9CZiwwQkFBMEI7a0JBdkJ0QyxTQUFTOytCQUNFLHFCQUFxQixpQkFDaEIsaUJBQWlCLENBQUMsSUFBSSxZQUMzQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtZHJhd2VyLWhlYWRpbmcnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IC8+YCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyBoMSxcbiAgICAgIHdhdHQtZHJhd2VyLWhlYWRpbmcgaDIsXG4gICAgICB3YXR0LWRyYXdlci1oZWFkaW5nIGgzLFxuICAgICAgd2F0dC1kcmF3ZXItaGVhZGluZyBoNCxcbiAgICAgIHdhdHQtZHJhd2VyLWhlYWRpbmcgaDUsXG4gICAgICB3YXR0LWRyYXdlci1oZWFkaW5nIGg2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweCAhaW1wb3J0YW50OyAvKiBhbGlnbiB3aXRoIGFjdGlvbnMgKi9cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCB7fVxuIl19
@@ -161,7 +161,7 @@ export class WattDrawerComponent {
161
161
  this.writableIsOpen.set(false);
162
162
  }
163
163
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
164
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattDrawerComponent, isStandalone: true, selector: "watt-drawer", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autoOpen: { classPropertyName: "autoOpen", publicName: "autoOpen", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, animateOnKeyChange: { classPropertyName: "animateOnKeyChange", publicName: "animateOnKeyChange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "document:click": "handleDocumentClick($event)", "keydown.escape": "handleEscKeyPressed()" } }, queries: [{ propertyName: "content", first: true, predicate: WattDrawerContentComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "heading", first: true, predicate: WattDrawerHeadingComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "topBar", first: true, predicate: WattDrawerTopbarComponent, descendants: true, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-stack direction=\"row\" offset=\"ml\" justify=\"space-between\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </vater-stack>\n </header>\n <ng-content />\n <ng-content select=\"watt-drawer-content\" />\n </article>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--normal{width:906px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer header{flex:0;border-bottom:1px solid var(--watt-color-neutral-grey-300)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i2.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: VaterFlexComponent, selector: "vater-flex, [vater-flex]", inputs: ["autoSize"] }, { kind: "component", type: VaterStackComponent, selector: "vater-stack, [vater-stack]" }, { kind: "component", type: VaterSpacerComponent, selector: "vater-spacer, [vater-spacer]" }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattDrawerComponent, isStandalone: true, selector: "watt-drawer", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autoOpen: { classPropertyName: "autoOpen", publicName: "autoOpen", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, animateOnKeyChange: { classPropertyName: "animateOnKeyChange", publicName: "animateOnKeyChange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "document:click": "handleDocumentClick($event)", "keydown.escape": "handleEscKeyPressed()" } }, queries: [{ propertyName: "content", first: true, predicate: WattDrawerContentComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "heading", first: true, predicate: WattDrawerHeadingComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "topBar", first: true, predicate: WattDrawerTopbarComponent, descendants: true, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-flex\n autoSize\n direction=\"row\"\n offset=\"ml\"\n justify=\"space-between\"\n gap=\"s\"\n align=\"center\"\n >\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </vater-flex>\n </header>\n <ng-content />\n <ng-content select=\"watt-drawer-content\" />\n </article>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--normal{width:906px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer header{flex:0;border-bottom:1px solid var(--watt-color-neutral-grey-300)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i2.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: VaterFlexComponent, selector: "vater-flex, [vater-flex]", inputs: ["autoSize"] }, { kind: "component", type: VaterStackComponent, selector: "vater-stack, [vater-stack]" }, { kind: "component", type: VaterSpacerComponent, selector: "vater-spacer, [vater-spacer]" }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
165
  }
166
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattDrawerComponent, decorators: [{
167
167
  type: Component,
@@ -177,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
177
177
  VaterUtilityDirective,
178
178
  WattButtonComponent,
179
179
  WattSpinnerComponent,
180
- ], template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-stack direction=\"row\" offset=\"ml\" justify=\"space-between\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </vater-stack>\n </header>\n <ng-content />\n <ng-content select=\"watt-drawer-content\" />\n </article>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--normal{width:906px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer header{flex:0;border-bottom:1px solid var(--watt-color-neutral-grey-300)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"] }]
180
+ ], template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <article vater-flex fill=\"vertical\">\n <header vater-stack align=\"stretch\" offset=\"m\" gap=\"s\">\n <vater-stack direction=\"row\" offset=\"ml\" gap=\"s\" align=\"center\">\n <ng-content select=\"watt-drawer-topbar\" />\n <vater-spacer />\n <watt-button variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </vater-stack>\n <vater-flex\n autoSize\n direction=\"row\"\n offset=\"ml\"\n justify=\"space-between\"\n gap=\"s\"\n align=\"center\"\n >\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </vater-flex>\n </header>\n <ng-content />\n <ng-content select=\"watt-drawer-content\" />\n </article>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--normal{width:906px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer header{flex:0;border-bottom:1px solid var(--watt-color-neutral-grey-300)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"] }]
181
181
  }], ctorParameters: () => [], propDecorators: { content: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattDrawerContentComponent), { ...{ read: ElementRef }, isSignal: true }] }], heading: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattDrawerHeadingComponent), { ...{ read: ElementRef }, isSignal: true }] }], topBar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattDrawerTopbarComponent), { ...{ read: ElementRef }, isSignal: true }] }], cdkTrapFocus: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkTrapFocus), { isSignal: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], autoOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOpen", required: false }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], animateOnKeyChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "animateOnKeyChange", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
182
182
  export const WATT_DRAWER = [
183
183
  WattDrawerComponent,
@@ -186,4 +186,4 @@ export const WATT_DRAWER = [
186
186
  WattDrawerContentComponent,
187
187
  WattDrawerHeadingComponent,
188
188
  ];
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZHJhd2VyL3dhdHQtZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2RyYXdlci93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFD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LG1CQUFtQix1RUFDbkIsb0JBQW9CLHlFQUVwQixtQkFBbUIsc0lBQ25CLG9CQUFvQjs7MkZBR1gsbUJBQW1CO2tCQXBCL0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGFBQWEsUUFHakI7d0JBQ0osa0JBQWtCLEVBQUUsNkJBQTZCO3dCQUNqRCxrQkFBa0IsRUFBRSx1QkFBdUI7cUJBQzVDLFdBQ1E7d0JBQ1AsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixvQkFBb0I7cUJBQ3JCO3NIQUs4QiwwQkFBMEIsUUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsc0ZBQ2hELDBCQUEwQixRQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxxRkFDakQseUJBQXlCLFFBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLHdGQUNuQyxZQUFZO0FBc0l4RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDBCQUEwQjtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgdmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbnRlbnRDaGlsZCxcbiAgZWZmZWN0LFxuICBhZnRlclJlbmRlckVmZmVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDZGtUcmFwRm9jdXMsIEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5cbmltcG9ydCB7XG4gIFZhdGVyRmxleENvbXBvbmVudCxcbiAgVmF0ZXJTcGFjZXJDb21wb25lbnQsXG4gIFZhdGVyU3RhY2tDb21wb25lbnQsXG4gIFZhdGVyVXRpbGl0eURpcmVjdGl2ZSxcbn0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3ZhdGVyJztcbmltcG9ydCB7IFdhdHRCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvYnV0dG9uJztcbmltcG9ydCB7IFdhdHRTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3NwaW5uZXInO1xuXG5pbXBvcnQgeyBXYXR0RHJhd2VyVG9wYmFyQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci10b3BiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFdhdHREcmF3ZXJBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXYXR0RHJhd2VyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kcmF3ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERyYXdlckhlYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLWhlYWRpbmcuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgV2F0dERyYXdlclNpemUgPSAnc21hbGwnIHwgJ25vcm1hbCcgfCAnbGFyZ2UnO1xuXG5jb25zdCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZID0gMjUwO1xuY29uc3QgQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMgPSB7XG4gIHRyYW5zZm9ybTogWyd0cmFuc2xhdGVYKDMwcHgpJywgJ3RyYW5zbGF0ZVgoMCknXSxcbiAgb3BhY2l0eTogWycwJywgJzEnXSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICd3YXR0LWRyYXdlcicsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtZHJhd2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdoYW5kbGVEb2N1bWVudENsaWNrKCRldmVudCknLFxuICAgICcoa2V5ZG93bi5lc2NhcGUpJzogJ2hhbmRsZUVzY0tleVByZXNzZWQoKScsXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBBMTF5TW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgVmF0ZXJGbGV4Q29tcG9uZW50LFxuICAgIFZhdGVyU3RhY2tDb21wb25lbnQsXG4gICAgVmF0ZXJTcGFjZXJDb21wb25lbnQsXG4gICAgVmF0ZXJVdGlsaXR5RGlyZWN0aXZlLFxuICAgIFdhdHRCdXR0b25Db21wb25lbnQsXG4gICAgV2F0dFNwaW5uZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFdhdHREcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lciA9IGluamVjdChPdmVybGF5Q29udGFpbmVyKTtcbiAgcHJpdmF0ZSBjb250ZW50ID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJDb250ZW50Q29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHByaXZhdGUgaGVhZGluZyA9IGNvbnRlbnRDaGlsZChXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICBwcml2YXRlIHRvcEJhciA9IGNvbnRlbnRDaGlsZChXYXR0RHJhd2VyVG9wYmFyQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHByaXZhdGUgY2RrVHJhcEZvY3VzID0gdmlld0NoaWxkLnJlcXVpcmVkKENka1RyYXBGb2N1cyk7XG4gIHByaXZhdGUgYnlwYXNzQ2xpY2tDaGVjayA9IGZhbHNlO1xuICBwcml2YXRlIHdyaXRhYmxlSXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcblxuICAvLyBNdWx0aXBsZSBkcmF3ZXJzIG9wZW4gYXQgdGhlIHNhbWUgdGltZSBhcmUgbm90IGFsbG93ZWQuIFRoaXMga2VlcHMgdHJhY2sgb2ZcbiAgLy8gdGhlIGN1cnJlbnRseSBvcGVuZWQgZHJhd2VyIGFuZCBjbG9zZXMgaXQgd2hlbiBhIG5ldyBkcmF3ZXIgaXMgb3BlbmVkLlxuICBwcml2YXRlIHN0YXRpYyBjdXJyZW50RHJhd2VyPzogV2F0dERyYXdlckNvbXBvbmVudDtcblxuICAvKiogVXNlZCB0byBhZGp1c3QgZHJhd2VyIHNpemUgdG8gYmVzdCBmaXQgdGhlIGNvbnRlbnQuICovXG4gIHNpemUgPSBpbnB1dDxXYXR0RHJhd2VyU2l6ZT4oJ25vcm1hbCcpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBkcmF3ZXIgc2hvdWxkIG9wZW4gYXV0b21hdGljYWxseS4gSWYgYGtleWAgaXMgcHJvdmlkZWQgYW5kXG4gICAqIGBhdXRvT3BlbmAgaXMgdHJ1ZSwgdGhlIGRyYXdlciB3aWxsIG9wZW4gZXZlcnkgdGltZSB0aGUga2V5IGNoYW5nZXMuXG4gICAqL1xuICBhdXRvT3BlbiA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogVXNlZCB0byB0cmFjayB0aGUgY3VycmVudCBkcmF3ZXIgd2hlbiByZXVzaW5nIHRoZSBzYW1lIGRyYXdlciBpbnN0YW5jZSB0b1xuICAgKiByZW5kZXIgZGlmZmVyZW50IGNvbnRlbnQuIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiBpbnRlcmFjdGlvbnMgb3V0c2lkZSB0aGVcbiAgICogZHJhd2VyIHNob3VsZCByZXN1bHQgaW4gdXBkYXRpbmcgdGhlIGRyYXdlcidzIGNvbnRlbnQgaW5zdGVhZCBvZiBjbG9zaW5nIGl0LlxuICAgKi9cbiAga2V5ID0gaW5wdXQ8dW5rbm93bj4oKTtcblxuICAvKiogV2hldGhlciB0aGUgZHJhd2VyIHNob3VsZCBzaG93IGEgbG9hZGluZyBzdGF0ZS4gKi9cbiAgbG9hZGluZyA9IGlucHV0KGZhbHNlKTtcblxuICAvKiogQWRkcyBhIGJyaWVmIGFuaW1hdGlvbiB0byBpbmRpY2F0ZSB0aGF0IHRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLiAqL1xuICBhbmltYXRlT25LZXlDaGFuZ2UgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBkcmF3ZXIgaXMgZnVsbHkgY2xvc2VkLiAqL1xuICBjbG9zZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAvKiogV2hldGhlciB0aGUgZHJhd2VyIGlzIG9wZW4uICAqL1xuICBpc09wZW4gPSB0aGlzLndyaXRhYmxlSXNPcGVuLmFzUmVhZG9ubHkoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlclJlbmRlckVmZmVjdCh7XG4gICAgICByZWFkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMua2V5KCk7XG4gICAgICAgIGlmICh0aGlzLmF1dG9PcGVuKCkpIHRoaXMub3BlbigpO1xuICAgICAgICBpZiAoIXRoaXMuYW5pbWF0ZU9uS2V5Q2hhbmdlKCkpIHJldHVybjtcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHJldHVybjtcbiAgICAgICAgICB0aGlzLmNvbnRlbnQoKT8ubmF0aXZlRWxlbWVudC5hbmltYXRlKEFQUEVBUl9BTklNQVRJT05fRlJBTUVTLCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZKTtcbiAgICAgICAgICB0aGlzLmhlYWRpbmcoKT8ubmF0aXZlRWxlbWVudC5hbmltYXRlKEFQUEVBUl9BTklNQVRJT05fRlJBTUVTLCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZKTtcbiAgICAgICAgICB0aGlzLnRvcEJhcigpPy5uYXRpdmVFbGVtZW50LmFuaW1hdGUoQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMsIEFQUEVBUl9BTklNQVRJT05fREVMQVkpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBXaG8gZG9lc24ndCBsb3ZlIGEgZ29vZCB3b3JrYXJvdW5kLCByaWdodD9cbiAgICAvLyBMZXQncyBtYWtlIHRoZSBkcmF3ZXIgcmVzaXplIGl0c2VsZiB3aGVuZXZlciB0aGUgYHNpemVgIGlucHV0IGNoYW5nZXMuXG4gICAgLy9cbiAgICAvLyBUaGUgYG1hdC1kcmF3ZXJgIGNvbXBvbmVudCBvZmZlcnMgdGhlIGBhdXRvc2l6ZWAgaW5wdXQgZm9yIHRoaXMuXG4gICAgLy8gSG93ZXZlciwgaXQgaXMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCB0aGF0IHRoaXMgb3B0aW9ucyBzaG91bGQgYmUgdXNlZCBhdCBvd24gcmlzayxcbiAgICAvLyBhcyBpdCBjb3VsZCBjYXVzZSBwZXJmb3JtYW5jZSBpc3N1ZXMuXG4gICAgLy8gU2VlOiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuZGV2L2NvbXBvbmVudHMvc2lkZW5hdi9vdmVydmlldyNyZXNpemluZy1hbi1vcGVuLXNpZGVuYXZcbiAgICAvL1xuICAgIC8vIFNvIHRvIHdvcmsgYXJvdW5kIHRoaXMsIGEgc2ltcGxlIGByZXNpemVgIGV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbmV2ZXIgdGhlIGBzaXplYCBpbnB1dCBjaGFuZ2VzLlxuICAgIC8vIFRoaXMgd29ya3MgYmVjYXVzZSBgbWF0LWRyYXdlcmAgdXNlcyBgVmlld3BvcnRSdWxlcmAgZnJvbSBgQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ2BcbiAgICAvLyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi8xOS4yLjEvc3JjL21hdGVyaWFsL3NpZGVuYXYvZHJhd2VyLnRzI0w4MTEtTDgxNilcbiAgICAvLyB0byBsaXN0ZW4gdG8gYHJlc2l6ZWAgZXZlbnRzIGFuZCByZS1jYWxjdWxhdGVzIG1hcmdpbnMgYXBwbGllZCB0byB0aGUgZHJhd2VyIGNvbnRlbnRcbiAgICAvLyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi8yMC4wLjAtcmMuMi9zcmMvY2RrL3Njcm9sbGluZy92aWV3cG9ydC1ydWxlci50cyNMNTAtTDUzKS5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zaXplKCk7XG5cbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgaGFuZGxlRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIC8vIFByZXZlbnQgY2xvc2luZyB3aGVuIHRoZSBjbGljayB0cmlnZ2VyZWQgYSBjYWxsIHRvIGBvcGVuYFxuICAgIGlmICh0aGlzLmJ5cGFzc0NsaWNrQ2hlY2spIHJldHVybjtcblxuICAgIC8vIENoZWNrIGlmIHRoZSBjbGljayBvcmlnaW5hdGVkIGZyb20gd2l0aGluIHRoZSBkcmF3ZXIgZWxlbWVudFxuICAgIGNvbnN0IGlzQ2xpY2tJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgIGlmIChpc0NsaWNrSW5zaWRlKSByZXR1cm47XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgb3JpZ2luYXRlZCBmcm9tIHdpdGhpbiBhbiBvdmVybGF5IChzdWNoIGFzIGEgbW9kYWwpXG4gICAgY29uc3Qgb3ZlcmxheUNvbnRhaW5lckVsID0gdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKTtcbiAgICBjb25zdCBpc092ZXJsYXlDbGljayA9IG92ZXJsYXlDb250YWluZXJFbC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgaWYgKGlzT3ZlcmxheUNsaWNrKSByZXR1cm47XG5cbiAgICAvLyBDbGljayBpcyBhbGxvd2VkIHRvIGNsb3NlIHRoZSBkcmF3ZXIgbm93XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgaGFuZGxlRXNjS2V5UHJlc3NlZCgpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID09PSB0aGlzKSB7XG4gICAgICBXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIE9wZW5zIHRoZSBkcmF3ZXIuIFN1YnNlcXVlbnQgY2FsbHMgYXJlIGlnbm9yZWQgd2hpbGUgdGhlIGRyYXdlciBpcyBvcGVuZWQuICovXG4gIG9wZW4oKSB7XG4gICAgLy8gVHJhcCBmb2N1cyB3aGVuZXZlciBvcGVuIGlzIGNhbGxlZC4gVGhpcyBkb2Vzbid0IHdvcmsgb24gdGhlXG4gICAgLy8gaW5pdGlhbCBjYWxsICh3aGVuIGZpcnN0IG9wZW5pbmcgdGhlIGRyYXdlciksIGJ1dCB0aGlzIGlzXG4gICAgLy8gaGFuZGxlZCBieSB0aGUgYXV0b0ZvY3VzIHByb3BlcnR5IG9uIG1hdC1kcmF3ZXIuXG4gICAgdGhpcy5jZGtUcmFwRm9jdXMoKS5mb2N1c1RyYXAuZm9jdXNJbml0aWFsRWxlbWVudFdoZW5SZWFkeSgpO1xuXG4gICAgLy8gRGlzYWJsZSBjbGljayBvdXRzaWRlIGNoZWNrIHVudGlsIHRoZSBjdXJyZW50IGV2ZW50IGxvb3AgaXMgZmluaXNoZWQuXG4gICAgLy8gVGhpcyBtaWdodCBzZWVtIGhhY2tpc2gsIGJ1dCB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uIGlzIHN0YWJsZSBoZXJlLlxuICAgIC8vIEFsc28gcHJldmVudHMgYW4gaXNzdWUgd2hlbiB0aGUgZHJhd2VyIGlzIGRlc3Ryb3llZCBhbmQgdGhlbiByZWNyZWF0ZWQsXG4gICAgLy8gY2F1c2luZyB0aGUgY2xpY2sgb3V0c2lkZSBjaGVjayB0byB0cmlnZ2VyIGltbWVkaWF0ZWx5IGlmIHRoZSBkcmF3ZXJcbiAgICAvLyBpcyBjcmVhdGVkIGFuZCBvcGVuZWQgaW4gcmVzcG9uc2UgdG8gYSBjbGljayBldmVudC5cbiAgICB0aGlzLmJ5cGFzc0NsaWNrQ2hlY2sgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5ieXBhc3NDbGlja0NoZWNrID0gZmFsc2U7XG4gICAgfSwgMCk7XG5cbiAgICAvLyBXaXRob3V0IGB1bnRyYWNrZWRgLCBpZiB0aGlzIGlzIGNhbGxlZCBpbiBhIHJlYWN0aXZlIGNvbnRleHQgKHN1Y2ggYXMgYW4gYGVmZmVjdGApLFxuICAgIC8vIGl0IHdpbGwgYmUgdHJpZ2dlcmVkIHR3aWNlIGR1ZSB0byBgaXNPcGVuYCBiZWluZyB0cmFja2VkIGFuZCBpbW1lZGlhdGVseSB1cGRhdGVkLlxuICAgIGlmICh1bnRyYWNrZWQodGhpcy5pc09wZW4pKSByZXR1cm47XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyPy5jbG9zZSgpO1xuICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9IHRoaXM7XG4gICAgdGhpcy53cml0YWJsZUlzT3Blbi5zZXQodHJ1ZSk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBkcmF3ZXIuICovXG4gIGNsb3NlKCkge1xuICAgIGlmICghdW50cmFja2VkKHRoaXMuaXNPcGVuKSkgcmV0dXJuO1xuICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLndyaXRhYmxlSXNPcGVuLnNldChmYWxzZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFdBVFRfRFJBV0VSID0gW1xuICBXYXR0RHJhd2VyQ29tcG9uZW50LFxuICBXYXR0RHJhd2VyVG9wYmFyQ29tcG9uZW50LFxuICBXYXR0RHJhd2VyQWN0aW9uc0NvbXBvbmVudCxcbiAgV2F0dERyYXdlckNvbnRlbnRDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJIZWFkaW5nQ29tcG9uZW50LFxuXTtcbiIsIjwhLS1cbkBsaWNlbnNlXG5Db3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS0+XG48bWF0LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJ3YXR0LWRyYXdlci1jb250YWluZXJcIiBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIj5cbiAgPG1hdC1kcmF3ZXJcbiAgICBjbGFzcz1cIndhdHQtZHJhd2VyIHdhdHQtZHJhd2VyLS17eyBzaXplKCkgfX1cIlxuICAgIG1vZGU9XCJzaWRlXCJcbiAgICBwb3NpdGlvbj1cImVuZFwiXG4gICAgW29wZW5lZF09XCJpc09wZW4oKVwiXG4gICAgKGNsb3NlZCk9XCJjbG9zZWQuZW1pdCgpXCJcbiAgICBbZGlzYWJsZUNsb3NlXT1cInRydWVcIlxuICAgIFthdXRvRm9jdXNdPVwidHJ1ZVwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJ0cnVlXCJcbiAgPlxuICAgIDxhcnRpY2xlIHZhdGVyLWZsZXggZmlsbD1cInZlcnRpY2FsXCI+XG4gICAgICA8aGVhZGVyIHZhdGVyLXN0YWNrIGFsaWduPVwic3RyZXRjaFwiIG9mZnNldD1cIm1cIiBnYXA9XCJzXCI+XG4gICAgICAgIDx2YXRlci1zdGFjayBkaXJlY3Rpb249XCJyb3dcIiBvZmZzZXQ9XCJtbFwiIGdhcD1cInNcIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLXRvcGJhclwiIC8+XG4gICAgICAgICAgPHZhdGVyLXNwYWNlciAvPlxuICAgICAgICAgIDx3YXR0LWJ1dHRvbiB2YXJpYW50PVwiaWNvblwiIGljb249XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCIgLz5cbiAgICAgICAgPC92YXRlci1zdGFjaz5cbiAgICAgICAgPHZhdGVyLXN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIG9mZnNldD1cIm1sXCIganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBnYXA9XCJzXCIgYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1oZWFkaW5nXCIgLz5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1hY3Rpb25zXCIgLz5cbiAgICAgICAgPC92YXRlci1zdGFjaz5cbiAgICAgIDwvaGVhZGVyPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLWNvbnRlbnRcIiAvPlxuICAgIDwvYXJ0aWNsZT5cblxuICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwid2F0dC1kcmF3ZXJfX3NwaW5uZXJcIj5cbiAgICAgICAgPHdhdHQtc3Bpbm5lciAvPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L21hdC1kcmF3ZXI+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuIl19
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZHJhd2VyL3dhdHQtZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2RyYXdlci93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFD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bUJBQW1CLHVFQUNuQixvQkFBb0IseUVBRXBCLG1CQUFtQixzSUFDbkIsb0JBQW9COzsyRkFHWCxtQkFBbUI7a0JBcEIvQixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsYUFBYSxRQUdqQjt3QkFDSixrQkFBa0IsRUFBRSw2QkFBNkI7d0JBQ2pELGtCQUFrQixFQUFFLHVCQUF1QjtxQkFDNUMsV0FDUTt3QkFDUCxVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDckI7c0hBSzhCLDBCQUEwQixRQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxzRkFDaEQsMEJBQTBCLFFBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLHFGQUNqRCx5QkFBeUIsUUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsd0ZBQ25DLFlBQVk7QUFzSXhELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0NBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICB2aWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29udGVudENoaWxkLFxuICBlZmZlY3QsXG4gIGFmdGVyUmVuZGVyRWZmZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENka1RyYXBGb2N1cywgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcblxuaW1wb3J0IHtcbiAgVmF0ZXJGbGV4Q29tcG9uZW50LFxuICBWYXRlclNwYWNlckNvbXBvbmVudCxcbiAgVmF0ZXJTdGFja0NvbXBvbmVudCxcbiAgVmF0ZXJVdGlsaXR5RGlyZWN0aXZlLFxufSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvdmF0ZXInO1xuaW1wb3J0IHsgV2F0dEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9idXR0b24nO1xuaW1wb3J0IHsgV2F0dFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvc3Bpbm5lcic7XG5cbmltcG9ydCB7IFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLXRvcGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERyYXdlckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFdhdHREcmF3ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBXYXR0RHJhd2VyU2l6ZSA9ICdzbWFsbCcgfCAnbm9ybWFsJyB8ICdsYXJnZSc7XG5cbmNvbnN0IEFQUEVBUl9BTklNQVRJT05fREVMQVkgPSAyNTA7XG5jb25zdCBBUFBFQVJfQU5JTUFUSU9OX0ZSQU1FUyA9IHtcbiAgdHJhbnNmb3JtOiBbJ3RyYW5zbGF0ZVgoMzBweCknLCAndHJhbnNsYXRlWCgwKSddLFxuICBvcGFjaXR5OiBbJzAnLCAnMSddLFxufTtcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ3dhdHQtZHJhd2VyJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ2hhbmRsZURvY3VtZW50Q2xpY2soJGV2ZW50KScsXG4gICAgJyhrZXlkb3duLmVzY2FwZSknOiAnaGFuZGxlRXNjS2V5UHJlc3NlZCgpJyxcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICBWYXRlckZsZXhDb21wb25lbnQsXG4gICAgVmF0ZXJTdGFja0NvbXBvbmVudCxcbiAgICBWYXRlclNwYWNlckNvbXBvbmVudCxcbiAgICBWYXRlclV0aWxpdHlEaXJlY3RpdmUsXG4gICAgV2F0dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBXYXR0U3Bpbm5lckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyID0gaW5qZWN0KE92ZXJsYXlDb250YWluZXIpO1xuICBwcml2YXRlIGNvbnRlbnQgPSBjb250ZW50Q2hpbGQoV2F0dERyYXdlckNvbnRlbnRDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgcHJpdmF0ZSBoZWFkaW5nID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJIZWFkaW5nQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHByaXZhdGUgdG9wQmFyID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgcHJpdmF0ZSBjZGtUcmFwRm9jdXMgPSB2aWV3Q2hpbGQucmVxdWlyZWQoQ2RrVHJhcEZvY3VzKTtcbiAgcHJpdmF0ZSBieXBhc3NDbGlja0NoZWNrID0gZmFsc2U7XG4gIHByaXZhdGUgd3JpdGFibGVJc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8vIE11bHRpcGxlIGRyYXdlcnMgb3BlbiBhdCB0aGUgc2FtZSB0aW1lIGFyZSBub3QgYWxsb3dlZC4gVGhpcyBrZWVwcyB0cmFjayBvZlxuICAvLyB0aGUgY3VycmVudGx5IG9wZW5lZCBkcmF3ZXIgYW5kIGNsb3NlcyBpdCB3aGVuIGEgbmV3IGRyYXdlciBpcyBvcGVuZWQuXG4gIHByaXZhdGUgc3RhdGljIGN1cnJlbnREcmF3ZXI/OiBXYXR0RHJhd2VyQ29tcG9uZW50O1xuXG4gIC8qKiBVc2VkIHRvIGFkanVzdCBkcmF3ZXIgc2l6ZSB0byBiZXN0IGZpdCB0aGUgY29udGVudC4gKi9cbiAgc2l6ZSA9IGlucHV0PFdhdHREcmF3ZXJTaXplPignbm9ybWFsJyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGRyYXdlciBzaG91bGQgb3BlbiBhdXRvbWF0aWNhbGx5LiBJZiBga2V5YCBpcyBwcm92aWRlZCBhbmRcbiAgICogYGF1dG9PcGVuYCBpcyB0cnVlLCB0aGUgZHJhd2VyIHdpbGwgb3BlbiBldmVyeSB0aW1lIHRoZSBrZXkgY2hhbmdlcy5cbiAgICovXG4gIGF1dG9PcGVuID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHRyYWNrIHRoZSBjdXJyZW50IGRyYXdlciB3aGVuIHJldXNpbmcgdGhlIHNhbWUgZHJhd2VyIGluc3RhbmNlIHRvXG4gICAqIHJlbmRlciBkaWZmZXJlbnQgY29udGVudC4gVGhpcyBpcyByZXF1aXJlZCB3aGVuIGludGVyYWN0aW9ucyBvdXRzaWRlIHRoZVxuICAgKiBkcmF3ZXIgc2hvdWxkIHJlc3VsdCBpbiB1cGRhdGluZyB0aGUgZHJhd2VyJ3MgY29udGVudCBpbnN0ZWFkIG9mIGNsb3NpbmcgaXQuXG4gICAqL1xuICBrZXkgPSBpbnB1dDx1bmtub3duPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgc2hvdWxkIHNob3cgYSBsb2FkaW5nIHN0YXRlLiAqL1xuICBsb2FkaW5nID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBBZGRzIGEgYnJpZWYgYW5pbWF0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGNoYW5nZWQuICovXG4gIGFuaW1hdGVPbktleUNoYW5nZSA9IGlucHV0KGZhbHNlKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGRyYXdlciBpcyBmdWxseSBjbG9zZWQuICovXG4gIGNsb3NlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgaXMgb3Blbi4gICovXG4gIGlzT3BlbiA9IHRoaXMud3JpdGFibGVJc09wZW4uYXNSZWFkb25seSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyUmVuZGVyRWZmZWN0KHtcbiAgICAgIHJlYWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5rZXkoKTtcbiAgICAgICAgaWYgKHRoaXMuYXV0b09wZW4oKSkgdGhpcy5vcGVuKCk7XG4gICAgICAgIGlmICghdGhpcy5hbmltYXRlT25LZXlDaGFuZ2UoKSkgcmV0dXJuO1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkgcmV0dXJuO1xuICAgICAgICAgIHRoaXMuY29udGVudCgpPy5uYXRpdmVFbGVtZW50LmFuaW1hdGUoQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMsIEFQUEVBUl9BTklNQVRJT05fREVMQVkpO1xuICAgICAgICAgIHRoaXMuaGVhZGluZygpPy5uYXRpdmVFbGVtZW50LmFuaW1hdGUoQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMsIEFQUEVBUl9BTklNQVRJT05fREVMQVkpO1xuICAgICAgICAgIHRoaXMudG9wQmFyKCk/Lm5hdGl2ZUVsZW1lbnQuYW5pbWF0ZShBUFBFQVJfQU5JTUFUSU9OX0ZSQU1FUywgQVBQRUFSX0FOSU1BVElPTl9ERUxBWSk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIFdobyBkb2Vzbid0IGxvdmUgYSBnb29kIHdvcmthcm91bmQsIHJpZ2h0P1xuICAgIC8vIExldCdzIG1ha2UgdGhlIGRyYXdlciByZXNpemUgaXRzZWxmIHdoZW5ldmVyIHRoZSBgc2l6ZWAgaW5wdXQgY2hhbmdlcy5cbiAgICAvL1xuICAgIC8vIFRoZSBgbWF0LWRyYXdlcmAgY29tcG9uZW50IG9mZmVycyB0aGUgYGF1dG9zaXplYCBpbnB1dCBmb3IgdGhpcy5cbiAgICAvLyBIb3dldmVyLCBpdCBpcyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIHRoYXQgdGhpcyBvcHRpb25zIHNob3VsZCBiZSB1c2VkIGF0IG93biByaXNrLFxuICAgIC8vIGFzIGl0IGNvdWxkIGNhdXNlIHBlcmZvcm1hbmNlIGlzc3Vlcy5cbiAgICAvLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5kZXYvY29tcG9uZW50cy9zaWRlbmF2L292ZXJ2aWV3I3Jlc2l6aW5nLWFuLW9wZW4tc2lkZW5hdlxuICAgIC8vXG4gICAgLy8gU28gdG8gd29yayBhcm91bmQgdGhpcywgYSBzaW1wbGUgYHJlc2l6ZWAgZXZlbnQgaXMgZGlzcGF0Y2hlZCB3aGVuZXZlciB0aGUgYHNpemVgIGlucHV0IGNoYW5nZXMuXG4gICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNlIGBtYXQtZHJhd2VyYCB1c2VzIGBWaWV3cG9ydFJ1bGVyYCBmcm9tIGBAYW5ndWxhci9jZGsvc2Nyb2xsaW5nYFxuICAgIC8vIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iLzE5LjIuMS9zcmMvbWF0ZXJpYWwvc2lkZW5hdi9kcmF3ZXIudHMjTDgxMS1MODE2KVxuICAgIC8vIHRvIGxpc3RlbiB0byBgcmVzaXplYCBldmVudHMgYW5kIHJlLWNhbGN1bGF0ZXMgbWFyZ2lucyBhcHBsaWVkIHRvIHRoZSBkcmF3ZXIgY29udGVudFxuICAgIC8vIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iLzIwLjAuMC1yYy4yL3NyYy9jZGsvc2Nyb2xsaW5nL3ZpZXdwb3J0LXJ1bGVyLnRzI0w1MC1MNTMpLlxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNpemUoKTtcblxuICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBoYW5kbGVEb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgLy8gUHJldmVudCBjbG9zaW5nIHdoZW4gdGhlIGNsaWNrIHRyaWdnZXJlZCBhIGNhbGwgdG8gYG9wZW5gXG4gICAgaWYgKHRoaXMuYnlwYXNzQ2xpY2tDaGVjaykgcmV0dXJuO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIG9yaWdpbmF0ZWQgZnJvbSB3aXRoaW4gdGhlIGRyYXdlciBlbGVtZW50XG4gICAgY29uc3QgaXNDbGlja0luc2lkZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgaWYgKGlzQ2xpY2tJbnNpZGUpIHJldHVybjtcblxuICAgIC8vIENoZWNrIGlmIHRoZSBjbGljayBvcmlnaW5hdGVkIGZyb20gd2l0aGluIGFuIG92ZXJsYXkgKHN1Y2ggYXMgYSBtb2RhbClcbiAgICBjb25zdCBvdmVybGF5Q29udGFpbmVyRWwgPSB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpO1xuICAgIGNvbnN0IGlzT3ZlcmxheUNsaWNrID0gb3ZlcmxheUNvbnRhaW5lckVsLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKTtcbiAgICBpZiAoaXNPdmVybGF5Q2xpY2spIHJldHVybjtcblxuICAgIC8vIENsaWNrIGlzIGFsbG93ZWQgdG8gY2xvc2UgdGhlIGRyYXdlciBub3dcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBoYW5kbGVFc2NLZXlQcmVzc2VkKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmIChXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXIgPT09IHRoaXMpIHtcbiAgICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIGRyYXdlci4gU3Vic2VxdWVudCBjYWxscyBhcmUgaWdub3JlZCB3aGlsZSB0aGUgZHJhd2VyIGlzIG9wZW5lZC4gKi9cbiAgb3BlbigpIHtcbiAgICAvLyBUcmFwIGZvY3VzIHdoZW5ldmVyIG9wZW4gaXMgY2FsbGVkLiBUaGlzIGRvZXNuJ3Qgd29yayBvbiB0aGVcbiAgICAvLyBpbml0aWFsIGNhbGwgKHdoZW4gZmlyc3Qgb3BlbmluZyB0aGUgZHJhd2VyKSwgYnV0IHRoaXMgaXNcbiAgICAvLyBoYW5kbGVkIGJ5IHRoZSBhdXRvRm9jdXMgcHJvcGVydHkgb24gbWF0LWRyYXdlci5cbiAgICB0aGlzLmNka1RyYXBGb2N1cygpLmZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KCk7XG5cbiAgICAvLyBEaXNhYmxlIGNsaWNrIG91dHNpZGUgY2hlY2sgdW50aWwgdGhlIGN1cnJlbnQgZXZlbnQgbG9vcCBpcyBmaW5pc2hlZC5cbiAgICAvLyBUaGlzIG1pZ2h0IHNlZW0gaGFja2lzaCwgYnV0IHRoZSBvcmRlciBvZiBleGVjdXRpb24gaXMgc3RhYmxlIGhlcmUuXG4gICAgLy8gQWxzbyBwcmV2ZW50cyBhbiBpc3N1ZSB3aGVuIHRoZSBkcmF3ZXIgaXMgZGVzdHJveWVkIGFuZCB0aGVuIHJlY3JlYXRlZCxcbiAgICAvLyBjYXVzaW5nIHRoZSBjbGljayBvdXRzaWRlIGNoZWNrIHRvIHRyaWdnZXIgaW1tZWRpYXRlbHkgaWYgdGhlIGRyYXdlclxuICAgIC8vIGlzIGNyZWF0ZWQgYW5kIG9wZW5lZCBpbiByZXNwb25zZSB0byBhIGNsaWNrIGV2ZW50LlxuICAgIHRoaXMuYnlwYXNzQ2xpY2tDaGVjayA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmJ5cGFzc0NsaWNrQ2hlY2sgPSBmYWxzZTtcbiAgICB9LCAwKTtcblxuICAgIC8vIFdpdGhvdXQgYHVudHJhY2tlZGAsIGlmIHRoaXMgaXMgY2FsbGVkIGluIGEgcmVhY3RpdmUgY29udGV4dCAoc3VjaCBhcyBhbiBgZWZmZWN0YCksXG4gICAgLy8gaXQgd2lsbCBiZSB0cmlnZ2VyZWQgdHdpY2UgZHVlIHRvIGBpc09wZW5gIGJlaW5nIHRyYWNrZWQgYW5kIGltbWVkaWF0ZWx5IHVwZGF0ZWQuXG4gICAgaWYgKHVudHJhY2tlZCh0aGlzLmlzT3BlbikpIHJldHVybjtcbiAgICBXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXI/LmNsb3NlKCk7XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID0gdGhpcztcbiAgICB0aGlzLndyaXRhYmxlSXNPcGVuLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIGRyYXdlci4gKi9cbiAgY2xvc2UoKSB7XG4gICAgaWYgKCF1bnRyYWNrZWQodGhpcy5pc09wZW4pKSByZXR1cm47XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMud3JpdGFibGVJc09wZW4uc2V0KGZhbHNlKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgV0FUVF9EUkFXRVIgPSBbXG4gIFdhdHREcmF3ZXJDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJBY3Rpb25zQ29tcG9uZW50LFxuICBXYXR0RHJhd2VyQ29udGVudENvbXBvbmVudCxcbiAgV2F0dERyYXdlckhlYWRpbmdDb21wb25lbnQsXG5dO1xuIiwiPCEtLVxuQGxpY2Vuc2VcbkNvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLT5cbjxtYXQtZHJhd2VyLWNvbnRhaW5lciBjbGFzcz1cIndhdHQtZHJhd2VyLWNvbnRhaW5lclwiIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiPlxuICA8bWF0LWRyYXdlclxuICAgIGNsYXNzPVwid2F0dC1kcmF3ZXIgd2F0dC1kcmF3ZXItLXt7IHNpemUoKSB9fVwiXG4gICAgbW9kZT1cInNpZGVcIlxuICAgIHBvc2l0aW9uPVwiZW5kXCJcbiAgICBbb3BlbmVkXT1cImlzT3BlbigpXCJcbiAgICAoY2xvc2VkKT1cImNsb3NlZC5lbWl0KClcIlxuICAgIFtkaXNhYmxlQ2xvc2VdPVwidHJ1ZVwiXG4gICAgW2F1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICBbY2RrVHJhcEZvY3VzXT1cInRydWVcIlxuICA+XG4gICAgPGFydGljbGUgdmF0ZXItZmxleCBmaWxsPVwidmVydGljYWxcIj5cbiAgICAgIDxoZWFkZXIgdmF0ZXItc3RhY2sgYWxpZ249XCJzdHJldGNoXCIgb2Zmc2V0PVwibVwiIGdhcD1cInNcIj5cbiAgICAgICAgPHZhdGVyLXN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIG9mZnNldD1cIm1sXCIgZ2FwPVwic1wiIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1kcmF3ZXItdG9wYmFyXCIgLz5cbiAgICAgICAgICA8dmF0ZXItc3BhY2VyIC8+XG4gICAgICAgICAgPHdhdHQtYnV0dG9uIHZhcmlhbnQ9XCJpY29uXCIgaWNvbj1cImNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIiAvPlxuICAgICAgICA8L3ZhdGVyLXN0YWNrPlxuICAgICAgICA8dmF0ZXItZmxleFxuICAgICAgICAgIGF1dG9TaXplXG4gICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICBvZmZzZXQ9XCJtbFwiXG4gICAgICAgICAganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICAgIGdhcD1cInNcIlxuICAgICAgICAgIGFsaWduPVwiY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLWhlYWRpbmdcIiAvPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLWFjdGlvbnNcIiAvPlxuICAgICAgICA8L3ZhdGVyLWZsZXg+XG4gICAgICA8L2hlYWRlcj5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1jb250ZW50XCIgLz5cbiAgICA8L2FydGljbGU+XG5cbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cIndhdHQtZHJhd2VyX19zcGlubmVyXCI+XG4gICAgICAgIDx3YXR0LXNwaW5uZXIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9tYXQtZHJhd2VyPlxuPC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cbiJdfQ==
@@ -302,7 +302,7 @@ export class WattTableComponent {
302
302
  */
303
303
  toggleSelection = (row) => this.selection.update((s) => (s.includes(row) ? s.filter((r) => r !== row) : s.concat(row)));
304
304
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
305
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattTableComponent, isStandalone: true, selector: "watt-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, stickyFooter: { classPropertyName: "stickyFooter", publicName: "stickyFooter", isSignal: true, isRequired: false, transformFunction: null }, resolveHeader: { classPropertyName: "resolveHeader", publicName: "resolveHeader", isSignal: true, isRequired: false, transformFunction: null }, sortBy: { classPropertyName: "sortBy", publicName: "sortBy", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortClear: { classPropertyName: "sortClear", publicName: "sortClear", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, suppressRowHoverHighlight: { classPropertyName: "suppressRowHoverHighlight", publicName: "suppressRowHoverHighlight", isSignal: true, isRequired: false, transformFunction: null }, activeRow: { classPropertyName: "activeRow", publicName: "activeRow", isSignal: true, isRequired: false, transformFunction: null }, activeRowComparator: { classPropertyName: "activeRowComparator", publicName: "activeRowComparator", isSignal: true, isRequired: false, transformFunction: null }, hideColumnHeaders: { classPropertyName: "hideColumnHeaders", publicName: "hideColumnHeaders", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", expanded: "expandedChange", rowClick: "rowClick", sortChange: "sortChange" }, host: { properties: { "class.watt-table-variant-zebra": "variant() === \"zebra\"", "style.--watt-table-grid-template-columns": "sizing().join(\" \")" } }, queries: [{ propertyName: "cells", predicate: (WattTableCellDirective), isSignal: true }, { propertyName: "toolbar", first: true, predicate: (WattTableToolbarDirective), descendants: true, isSignal: true }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }, { propertyName: "tableCellElements", predicate: ["td"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n </div>\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" />\n }\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n 'watt-table-no-end-divider': hideColumnHeaders(),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer),watt-table .mat-mdc-table tr.mdc-data-table__row:last-child .mat-mdc-cell{border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-no-end-divider:last-child .mat-mdc-cell{border-bottom:0px solid var(--watt-color-neutral-grey-300)!important}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i3.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "directive", type: i3.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattCheckboxComponent, selector: "watt-checkbox", inputs: ["required"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [NgTemplateOutlet]] });
305
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattTableComponent, isStandalone: true, selector: "watt-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, stickyFooter: { classPropertyName: "stickyFooter", publicName: "stickyFooter", isSignal: true, isRequired: false, transformFunction: null }, resolveHeader: { classPropertyName: "resolveHeader", publicName: "resolveHeader", isSignal: true, isRequired: false, transformFunction: null }, sortBy: { classPropertyName: "sortBy", publicName: "sortBy", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortClear: { classPropertyName: "sortClear", publicName: "sortClear", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, suppressRowHoverHighlight: { classPropertyName: "suppressRowHoverHighlight", publicName: "suppressRowHoverHighlight", isSignal: true, isRequired: false, transformFunction: null }, activeRow: { classPropertyName: "activeRow", publicName: "activeRow", isSignal: true, isRequired: false, transformFunction: null }, activeRowComparator: { classPropertyName: "activeRowComparator", publicName: "activeRowComparator", isSignal: true, isRequired: false, transformFunction: null }, hideColumnHeaders: { classPropertyName: "hideColumnHeaders", publicName: "hideColumnHeaders", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", expanded: "expandedChange", rowClick: "rowClick", sortChange: "sortChange" }, host: { properties: { "class.watt-table-variant-zebra": "variant() === \"zebra\"", "style.--watt-table-grid-template-columns": "sizing().join(\" \")" } }, queries: [{ propertyName: "cells", predicate: (WattTableCellDirective), isSignal: true }, { propertyName: "toolbar", first: true, predicate: (WattTableToolbarDirective), descendants: true, isSignal: true }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }, { propertyName: "tableCellElements", predicate: ["td"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n </div>\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" />\n }\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n 'watt-table-no-end-divider': hideColumnHeaders(),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer),watt-table .mat-mdc-table tr.mdc-data-table__row:last-child .mat-mdc-cell{border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-no-end-divider:last-child .mat-mdc-cell{border-bottom:0px solid var(--watt-color-neutral-grey-300)!important}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i3.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "directive", type: i3.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattCheckboxComponent, selector: "watt-checkbox", inputs: ["required"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [NgTemplateOutlet]] });
306
306
  }
307
307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattTableComponent, decorators: [{
308
308
  type: Component,
@@ -318,7 +318,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
318
318
  ], encapsulation: ViewEncapsulation.None, selector: 'watt-table', host: {
319
319
  '[class.watt-table-variant-zebra]': 'variant() === "zebra"',
320
320
  '[style.--watt-table-grid-template-columns]': 'sizing().join(" ")',
321
- }, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n </div>\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" />\n }\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n 'watt-table-no-end-divider': hideColumnHeaders(),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer),watt-table .mat-mdc-table tr.mdc-data-table__row:last-child .mat-mdc-cell{border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-no-end-divider:last-child .mat-mdc-cell{border-bottom:0px solid var(--watt-color-neutral-grey-300)!important}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"] }]
321
+ }, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<table\n mat-table\n matSort\n role=\"treegrid\"\n [ngClass]=\"{ 'watt-table-has-selection': getSelectionState() !== false }\"\n [matSortActive]=\"sortBy()\"\n [matSortDirection]=\"sortDirection()\"\n [matSortDisableClear]=\"!sortClear()\"\n [dataSource]=\"dataSource()\"\n [attr.aria-label]=\"description()\"\n (matSortChange)=\"sortChange.emit($event)\"\n>\n @if (selectable()) {\n <ng-container [matColumnDef]=\"checkboxColumn\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"getSelectionState()\"\n (ngModelChange)=\"$event ? selection.set(dataSource().filteredData) : clearSelection()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"watt-table-checkbox-cell\">\n <watt-checkbox\n [ngModel]=\"selection().includes(row)\"\n (ngModelChange)=\"toggleSelection(row)\"\n (click)=\"$event.stopPropagation()\"\n />\n </td>\n </ng-container>\n }\n\n <ng-container [matColumnDef]=\"expandableColumn\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n (click)=\"onRowClick(row)\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n >\n <watt-icon name=\"right\" size=\"xs\" />\n </td>\n </ng-container>\n\n @for (column of columns() | keyvalue; track column.key) {\n <ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.value.stickyEnd?.()\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{\n column.value.headerCellClass\n }}\"\n >\n @if (column.value.helperAction; as action) {\n <watt-icon name=\"help\" (click)=\"action()\" />\n }\n\n <div\n class=\"watt-table-header-cell\"\n mat-sort-header\n [arrowPosition]=\"column.value.align === 'right' ? 'before' : 'after'\"\n [disabled]=\"!column.value.accessor || column.value.sort === false\"\n >\n {{ getColumnHeader(column) }}\n </div>\n @if (column.value.tooltip; as tooltip) {\n <watt-icon [title]=\"tooltip\" name=\"info\" />\n }\n </th>\n\n <td\n #td\n mat-cell\n *matCellDef=\"let row; let index = index\"\n [attr.data-key]=\"getRowKey(index, row)\"\n [attr.data-row-index]=\"index\"\n [class.watt-table-cell--expanded]=\"expanded().includes(row)\"\n [class.watt-table-cell--expandable]=\"column.value.expandable\"\n class=\"watt-table-align-{{ column.value.align ?? 'left' }} {{ column.value.dataCellClass }}\"\n (click)=\"!column.value.expandable && onRowClick(row)\"\n >\n @if (isExpandable()) {\n @defer (when !column.value.expandable || expanded().includes(row)) {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n } @else {\n @if (getColumnTemplate(column.value); as template) {\n <div class=\"watt-table-cell-wrapper\">\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: row, index }\" />\n </div>\n } @else {\n {{ getColumnCell(column.value, row) }}\n }\n }\n </td>\n\n @if (hasFooter()) {\n <td\n mat-footer-cell\n *matFooterCellDef\n class=\"{{ column.value.footer?.class }} watt-table-align-{{\n column.value.align ?? 'left'\n }} \"\n >\n {{ column.value.footer?.value?.() }}\n </td>\n }\n </ng-container>\n }\n\n <ng-container matColumnDef=\"spacer\">\n <td class=\"watt-table-footer-spacer\" mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideColumnHeaders()) {\n <tr mat-header-row *matHeaderRowDef=\"renderedColumns()\"></tr>\n }\n <tr\n mat-row\n *matRowDef=\"let row; columns: renderedColumns()\"\n [attr.aria-selected]=\"row === activeRow()\"\n [ngClass]=\"{\n 'watt-table-highlight-row': !disabled() && !suppressRowHoverHighlight(),\n 'watt-table-clickable-row': !disabled() && rowClick$.observed,\n 'watt-table-active-row': isActiveRow(row),\n 'watt-table-no-end-divider': hideColumnHeaders(),\n }\"\n ></tr>\n\n @if (toolbar()) {\n <tr mat-footer-row *matFooterRowDef=\"['spacer']\"></tr>\n }\n\n @if (hasFooter()) {\n <tr\n mat-footer-row\n [class.watt-table-hide-footer]=\"loading() || dataSource().filteredData.length === 0\"\n *matFooterRowDef=\"renderedColumns(); sticky: stickyFooter()\"\n ></tr>\n }\n\n <ng-container *matNoDataRow>\n @if (loading()) {\n @for (i of [1, 2, 3]; track i) {\n <tr class=\"mat-mdc-row\">\n @for (_ of renderedColumns(); track _; let i = $index) {\n <td class=\"mat-mdc-cell\" [class.watt-table-loading-cell]=\"i > 0 || !selectable()\"></td>\n }\n </tr>\n }\n }\n </ng-container>\n</table>\n\n@if (toolbar(); as toolbar) {\n <div class=\"watt-table-toolbar\" role=\"toolbar\">\n <ng-container\n *ngTemplateOutlet=\"\n toolbar.templateRef;\n context: { $implicit: filterSelectionBy(dataSource().filteredData) }\n \"\n />\n </div>\n}\n", styles: ["watt-table{--mat-table-row-item-label-text-font: $primary-font-family;--mat-table-row-item-outline-color: var(--watt-color-neutral-grey-300);--mat-table-header-headline-font: $primary-font-family}watt-table,watt-table .mat-mdc-table{display:grid;position:relative;overflow:auto;min-height:44px}watt-table .mat-mdc-table{grid-template-columns:var(--watt-table-grid-template-columns);grid-auto-rows:max-content;max-height:100%;z-index:1}watt-table .mat-mdc-table thead,watt-table .mat-mdc-table tbody,watt-table .mat-mdc-table tfoot,watt-table .mat-mdc-table tr.mat-mdc-row,watt-table .mat-mdc-table tr.mat-mdc-header-row,watt-table .mat-mdc-table tr.mat-mdc-footer-row{display:contents}watt-table .mat-mdc-table tr.watt-table-hide-footer{display:none}watt-table .mat-mdc-table tr.mat-mdc-header-row{flex:0 0 auto}watt-table .mat-mdc-table th.mat-mdc-header-cell{color:var(--watt-typography-label-color);font-size:.875rem;line-height:1.25rem;font-weight:600;box-sizing:border-box;display:flex;position:sticky;top:0;padding:0 var(--watt-space-s);height:auto;background:var(--watt-color-primary-ultralight);box-shadow:0 -1px #0000001f inset;border:0;z-index:2!important;white-space:nowrap;-webkit-user-select:none;user-select:none}watt-table .mat-mdc-table td.mat-mdc-footer-cell,watt-table .mat-mdc-table td.mat-mdc-cell{display:flex;align-items:center;min-height:48px;padding:var(--watt-space-xs) var(--watt-space-m);line-height:18px}watt-table .mat-mdc-table td.mat-mdc-cell.watt-table-cell--expandable{padding:0}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer),watt-table .mat-mdc-table tr.mdc-data-table__row:last-child .mat-mdc-cell{border-bottom:1px solid var(--watt-color-neutral-grey-300)}watt-table .mat-mdc-table td.mat-mdc-footer-cell:not(.watt-table-footer-spacer){font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:2px solid var(--watt-color-neutral-grey-300);background-color:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-no-end-divider:last-child .mat-mdc-cell{border-bottom:0px solid var(--watt-color-neutral-grey-300)!important}watt-table .mat-mdc-table .watt-table-clickable-row>td:not(.watt-table-cell--expandable),watt-table .mat-mdc-table tr:has(>.watt-table-cell--expandable)>td:not(.watt-table-cell--expandable){cursor:pointer;-webkit-user-select:text;user-select:text}watt-table .mat-mdc-table .watt-table-highlight-row:hover:not(.watt-table-active-row,:has(>.watt-table-cell--expandable:hover))>td{background:var(--watt-color-neutral-grey-100)}watt-table .mat-mdc-table .watt-table-active-row>td{background:var(--watt-color-secondary-ultralight)}watt-table .mat-mdc-table .mat-column-__expandableColumn__>watt-icon{transition:transform .2s}watt-table .mat-mdc-table .mat-column-__expandableColumn__.watt-table-cell--expanded>watt-icon{transform:rotate(90deg)}watt-table .mat-mdc-table .mat-sort-header-arrow{margin:0}watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-arrow{margin-right:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-arrow,watt-table .mat-mdc-table .watt-table-align-left .mat-sort-header-arrow{margin-left:var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-header-cell{padding:.75rem var(--watt-space-s)}watt-table .mat-mdc-table .watt-table-checkbox-cell{justify-content:center}watt-table .mat-mdc-table th.watt-table-checkbox-cell{display:flex;align-items:center}watt-table .mat-mdc-table .watt-table-align-center,watt-table .mat-mdc-table .watt-table-align-center .mat-sort-header-container{justify-content:center;text-align:center}watt-table .mat-mdc-table .watt-table-align-right,watt-table .mat-mdc-table .watt-table-align-right .mat-sort-header-container{justify-content:right;text-align:right}.watt-table-variant-zebra>table>tbody>tr:nth-child(2n):not(.watt-table-active-row)>td{background-color:var(--watt-color-neutral-grey-50)}watt-table .mat-mdc-table th.watt-table-cell--expandable{display:none}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable{position:relative;min-height:0;max-height:0;border-bottom-width:0;overflow:hidden;pointer-events:none;grid-column:1/-1;background:transparent;flex:1 1 auto;opacity:0;will-change:opacity;transition:opacity .2s cubic-bezier(.4,0,.2,1),overflow 0s .3s allow-discrete}watt-table .mat-mdc-table tr.mat-mdc-row td.mat-mdc-cell.watt-table-cell--expandable>.watt-table-cell-wrapper{position:absolute;top:0;width:100%}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded{height:auto;max-height:initial;opacity:1;border-bottom-width:1px;pointer-events:all;overflow:visible}watt-table .mat-mdc-table tr.mat-mdc-row td.watt-table-cell--expandable.watt-table-cell--expanded>.watt-table-cell-wrapper{position:relative}.watt-table-cell-wrapper{width:100%}.watt-table-footer-spacer{display:none;height:76px;border:0}.watt-table-has-selection .watt-table-footer-spacer{display:block}.watt-table-has-selection+.watt-table-toolbar{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(0,0,.2,1),visibility .5s}.watt-table-toolbar{position:absolute;bottom:var(--watt-space-m);left:50%;transform:translate(-50%);display:flex;align-items:center;padding:0 var(--watt-space-m);min-height:44px;border-radius:22px;color:var(--watt-color-primary-contrast);background-color:var(--watt-color-primary);z-index:1;opacity:0;visibility:hidden;transition:none}.watt-table-toolbar .watt-button--disabled{opacity:.4;--watt-button-primary-disabled-color: #fff}.watt-table-loading-cell:before{content:\"\";flex:1;display:block;max-width:200px;height:var(--watt-space-m);border-radius:var(--watt-space-m);opacity:.75;animation:shine 2s infinite linear;background-color:var(--watt-color-neutral-grey-200);background-size:300px;background-position:-100px;background-image:linear-gradient(90deg,var(--watt-color-neutral-grey-300) 0px,var(--watt-color-neutral-grey-200) 40px,var(--watt-color-neutral-grey-300) 80px)}@keyframes shine{40%,to{background-position:200px}}\n"] }]
322
322
  }], ctorParameters: () => [], propDecorators: { dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], displayedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayedColumns", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], stickyFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyFooter", required: false }] }], resolveHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "resolveHeader", required: false }] }], sortBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortBy", required: false }] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }], sortClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortClear", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], suppressRowHoverHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "suppressRowHoverHighlight", required: false }] }], activeRow: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeRow", required: false }] }], activeRowComparator: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeRowComparator", required: false }] }], hideColumnHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideColumnHeaders", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }], trackBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackBy", required: false }] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }], cells: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => WattTableCellDirective), { isSignal: true }] }], toolbar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => WattTableToolbarDirective), { isSignal: true }] }], sort: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSort), { isSignal: true }] }], tableCellElements: [{ type: i0.ViewChildren, args: ['td', { isSignal: true }] }] } });
323
323
  export const WATT_TABLE = [WattTableComponent, WattTableCellDirective, WattTableToolbarDirective];
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS90YWJsZS93YXR0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3RhYmxlL3dhdHQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQVksWUFBWSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFFTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF3QixtQkFBbUIsRUFBRSxNQUFN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c0JBQXNCLEVBQUUseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7IEtleVZhbHVlLCBLZXlWYWx1ZVBpcGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgU2lnbmFsLCBUcmFja0J5RnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG91dHB1dEZyb21PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTb3J0LCBNYXRTb3J0TW9kdWxlLCBTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgV2F0dENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2NoZWNrYm94JztcbmltcG9ydCB7IHdhdHRGb3JtYXREYXRlIH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2NvcmUvZGF0ZSc7XG5pbXBvcnQgeyBXYXR0SWNvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uJztcbmltcG9ydCB7IElXYXR0VGFibGVEYXRhU291cmNlLCBXYXR0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi93YXR0LXRhYmxlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IGFuaW1hdGVFeHBhbmRhYmxlQ2VsbHMgfSBmcm9tICcuL3dhdHQtdGFibGUtZXhwYW5kLWFuaW1hdGlvbic7XG5cbi8qKiBDbGFzcyBuYW1lIGZvciBleHBhbmRhYmxlIGNlbGxzLiAqL1xuZXhwb3J0IGNvbnN0IEVYUEFOREFCTEVfQ0xBU1MgPSAnd2F0dC10YWJsZS1jZWxsLS1leHBhbmRhYmxlJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXR0VGFibGVDb2x1bW48VD4ge1xuICAvKipcbiAgICogVGhlIGRhdGEgdGhhdCB0aGlzIGNvbHVtbiBzaG91bGQgYmUgYm91bmQgdG8sIGVpdGhlciBhcyBhIHByb3BlcnR5IG9mIGBUYFxuICAgKiBvciBkZXJpdmVkIGZyb20gZWFjaCByb3cgb2YgYFRgIHVzaW5nIGFuIGFjY2Vzc29yIGZ1bmN0aW9uLiAgVXNlIGBudWxsYFxuICAgKiBmb3IgY29sdW1ucyB0aGF0IHNob3VsZCBub3QgYmUgYXNzb2NpYXRlZCB3aXRoIGRhdGEsIGJ1dCBub3RlIHRoYXQgdGhpc1xuICAgKiB3aWxsIGRpc2FibGUgc29ydGluZyBhbmQgYXV0b21hdGljIGNlbGwgcG9wdWxhdGlvbi5cbiAgICovXG4gIGFjY2Vzc29yOiBrZXlvZiBUIHwgKChyb3c6IFQpID0+IHVua25vd24pIHwgbnVsbDtcblxuICAvKipcbiAgICogUmVzb2x2ZSB0aGUgaGVhZGVyIHRleHQgdG8gYSBzdGF0aWMgZGlzcGxheSB2YWx1ZS4gVGhpcyB3aWxsIHByZXZlbnRcbiAgICogdGhlIGByZXNvbHZlSGVhZGVyYCBpbnB1dCBmdW5jdGlvbiBmcm9tIGJlaW5nIGNhbGxlZCBmb3IgdGhpcyBjb2x1bW4uXG4gICAqL1xuICBoZWFkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZvciBkZXRlcm1pbmluZyBjZWxsIGNvbnRlbnQgd2hlbiBub3QgdXNpbmcgdGVtcGxhdGUuIEJ5IGRlZmF1bHQsXG4gICAqIGNlbGwgY29udGVudCBpcyBmb3VuZCB1c2luZyB0aGUgYGFjY2Vzc29yYCAodW5sZXNzIGl0IGlzIGBudWxsYCkuXG4gICAqL1xuICBjZWxsPzogKHJvdzogVCkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzb3J0aW5nIGZvciB0aGlzIGNvbHVtbi4gRGVmYXVsdHMgdG8gYHRydWVgXG4gICAqIHVubGVzcyBgYWNjZXNzb3JgIGlzIGBudWxsYC5cbiAgICovXG4gIHNvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbHVtbiBzaXplIHVzaW5nIGdyaWQgc2l6aW5nIHZhbHVlcy4gRGVmYXVsdHMgdG8gYFwiYXV0b1wiYC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQWNjZXB0cyBhbGwgb2YgdGhlIENTUyBncmlkIHRyYWNrIHNpemUga2V5d29yZHMgKHN1Y2ggYXMgYG1pbi1jb250ZW50YCxcbiAgICogYG1heC1jb250ZW50YCwgYG1pbm1heCgpYCkgYXMgd2VsbCBhcyBmcmFjdGlvbmFsIChgZnJgKSwgcGVyY2VudGFnZSAoYCVgKVxuICAgKiBhbmQgbGVuZ3RoIChgcHhgLCBgZW1gLCBldGMpIHVuaXRzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jdHJhY2stc2l6ZXNcbiAgICovXG4gIHNpemU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvcml6b250YWxseSBhbGlnbiB0aGUgY29udGVudHMgb2YgdGhlIGNvbHVtbi4gRGVmYXVsdHMgdG8gYFwibGVmdFwiYC5cbiAgICovXG4gIGFsaWduPzogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuXG4gIC8qKlxuICAgKiBIZWxwZXIgaWNvbiB3aWxsIGJlIHNob3duIGluIHRoZSBoZWFkZXIgY2VsbCwgd2l0aCBhbiBjbGljayBldmVudC5cbiAgICovXG4gIGhlbHBlckFjdGlvbj86ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgaGVhZGVyIGNlbGwgZWxlbWVudC5cbiAgICovXG4gIGhlYWRlckNlbGxDbGFzcz86IHN0cmluZztcblxuICAvKipcbiAgICogQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSBkYXRhIGNlbGwgZWxlbWVudC5cbiAgICovXG4gIGRhdGFDZWxsQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvb3RlciBjb25maWd1cmF0aW9uIGZvciB0aGUgY29sdW1uLlxuICAgKi9cbiAgZm9vdGVyPzogV2F0dFRhYmxlQ29sdW1uRm9vdGVyO1xuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIHRoZSBjb2x1bW4gcmVtYWlucyB2aXNpYmxlIHdoZW4gaG9yaXpvbnRhbGx5IHNjcm9sbGluZy5cbiAgICovXG4gIHN0aWNreUVuZD86IFNpZ25hbDxib29sZWFuPjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHRoZSBjZWxsIGlzIHJlcGxhY2VkIHdpdGggYW4gZXhwYW5kYWJsZSBhcnJvdyBhbmQgdGhlIGNvbnRlbnQgaXMgZGVmZXJyZWQuXG4gICAqIENsaWNraW5nIG9uIHRoZSBhcnJvdyByZXZlYWxzIHRoZSBjb250ZW50IGJlbG93IHRoZSBjdXJyZW50IHJvdy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gcHJvdmlkZSBhIGN1c3RvbSBgdHJhY2tCeWAgZnVuY3Rpb24gd2hlbiB1c2luZyBgZXhwYW5kYWJsZWAsXG4gICAqIG90aGVyd2lzZSBhbmltYXRpb25zIGNhbiBiZSBpbmFjY3VyYXRlIHdoZW4gZGF0YSBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgZXhwYW5kYWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRvb2x0aXAgdGV4dCB0byBzaG93IG9uIGhvdmVyIG9mIHRoZSBoZWFkZXIgY2VsbC5cbiAgICovXG4gIHRvb2x0aXA/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGZvb3RlciBjZWxsIG9mIGEgY29sdW1uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhdHRUYWJsZUNvbHVtbkZvb3RlciB7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgZm9vdGVyIGNlbGwuXG4gICAqL1xuICB2YWx1ZT86IFNpZ25hbDxzdHJpbmcgfCBudW1iZXI+O1xuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIGZvb3RlciBjZWxsLlxuICAgKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVjb3JkIGZvciBkZWZpbmluZyBjb2x1bW5zIHdpdGgga2V5cyB1c2VkIGFzIGNvbHVtbiBpZGVudGlmaWVycy5cbiAqL1xuZXhwb3J0IHR5cGUgV2F0dFRhYmxlQ29sdW1uRGVmPFQ+ID0gUmVjb3JkPHN0cmluZywgV2F0dFRhYmxlQ29sdW1uPFQ+PjtcblxuLy8gVXNlZCBmb3Igc3Ryb25nbHkgdHlwaW5nIHRoZSBzdHJ1Y3R1cmFsIGRpcmVjdGl2ZVxuaW50ZXJmYWNlIFdhdHRUYWJsZUNlbGxDb250ZXh0PFQ+IHtcbiAgJGltcGxpY2l0OiBUO1xufVxuXG5pbnRlcmZhY2UgV2F0dFRhYmxlVG9vbGJhckNvbnRleHQ8VD4ge1xuICAkaW1wbGljaXQ6IFQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3YXR0VGFibGVDZWxsXScsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRUYWJsZUNlbGxEaXJlY3RpdmU8VD4ge1xuICB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxXYXR0VGFibGVDZWxsQ29udGV4dDxUPj4pO1xuXG4gIC8qKlxuICAgKiBUaGUgV2F0dFRhYmxlQ29sdW1uIHRoaXMgdGVtcGxhdGUgYXBwbGllcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGNvbHVtbiA9IGlucHV0LnJlcXVpcmVkPFdhdHRUYWJsZUNvbHVtbjxUPj4oeyBhbGlhczogJ3dhdHRUYWJsZUNlbGwnIH0pO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBoZWFkZXIgdGV4dCBmb3IgdGhlIGNvbHVtbi5cbiAgICovXG4gIHJlYWRvbmx5IGhlYWRlciA9IGlucHV0PHN0cmluZz4odW5kZWZpbmVkLCB7IGFsaWFzOiAnd2F0dFRhYmxlQ2VsbEhlYWRlcicgfSk7XG5cbiAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8VD4oXG4gICAgX2RpcmVjdGl2ZTogV2F0dFRhYmxlQ2VsbERpcmVjdGl2ZTxUPixcbiAgICBjb250ZXh0OiB1bmtub3duXG4gICk6IGNvbnRleHQgaXMgV2F0dFRhYmxlQ2VsbENvbnRleHQ8VD4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3YXR0VGFibGVUb29sYmFyXScsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRUYWJsZVRvb2xiYXJEaXJlY3RpdmU8VD4ge1xuICB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxXYXR0VGFibGVUb29sYmFyQ29udGV4dDxUW10+Pik7XG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KFxuICAgIF9kaXJlY3RpdmU6IFdhdHRUYWJsZVRvb2xiYXJEaXJlY3RpdmU8VD4sXG4gICAgY29udGV4dDogdW5rbm93blxuICApOiBjb250ZXh0IGlzIFdhdHRUYWJsZVRvb2xiYXJDb250ZXh0PFRbXT4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8qKlxuICogVXNhZ2U6XG4gKiBgaW1wb3J0IHsgV0FUVF9UQUJMRSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC90YWJsZSc7YFxuICovXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBLZXlWYWx1ZVBpcGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBXYXR0SWNvbkNvbXBvbmVudCxcbiAgICBXYXR0Q2hlY2tib3hDb21wb25lbnQsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnd2F0dC10YWJsZScsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy53YXR0LXRhYmxlLXZhcmlhbnQtemVicmFdJzogJ3ZhcmlhbnQoKSA9PT0gXCJ6ZWJyYVwiJyxcbiAgICAnW3N0eWxlLi0td2F0dC10YWJsZS1ncmlkLXRlbXBsYXRlLWNvbHVtbnNdJzogJ3NpemluZygpLmpvaW4oXCIgXCIpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dFRhYmxlQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIFRoZSB0YWJsZSdzIHNvdXJjZSBvZiBkYXRhLiBQcm9wZXJ0eSBzaG91bGQgbm90IGJlIGNoYW5nZWQgYWZ0ZXJcbiAgICogaW5pdGlhbGl6YXRpb24sIGluc3RlYWQgdXBkYXRlIHRoZSBkYXRhIG9uIHRoZSBpbnN0YW5jZSBpdHNlbGYuXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlID0gaW5wdXQucmVxdWlyZWQ8SVdhdHRUYWJsZURhdGFTb3VyY2U8VD4+KCk7XG5cbiAgLyoqXG4gICAqIENvbHVtbiBkZWZpbml0aW9uIHJlY29yZCB3aXRoIGtleXMgcmVwcmVzZW50aW5nIHRoZSBjb2x1bW4gaWRlbnRpZmllcnNcbiAgICogYW5kIHZhbHVlcyBiZWluZyB0aGUgY29sdW1uIGNvbmZpZ3VyYXRpb24uIFRoZSBvcmRlciBvZiB0aGUgY29sdW1uc1xuICAgKiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBwcm9wZXJ0eSBvcmRlciwgYnV0IGNhbiBiZSBvdmVycnVsZWQgYnkgdGhlXG4gICAqIGBkaXNwbGF5ZWRDb2x1bW5zYCBpbnB1dC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbHVtbnMgPSBpbnB1dDxXYXR0VGFibGVDb2x1bW5EZWY8VD4+KHt9KTtcblxuICAvKipcbiAgICogVXNlZCBmb3IgaGlkaW5nIG9yIHJlb3JkZXJpbmcgY29sdW1ucyBkZWZpbmVkIGluIHRoZSBgY29sdW1uc2AgaW5wdXQuXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5ZWRDb2x1bW5zID0gaW5wdXQ8c3RyaW5nW10+KCk7XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIGRpc2FibGluZyB0aGUgdGFibGUuIFRoaXMgd2lsbCBkaXNhYmxlIGFsbCB1c2VyIGludGVyYWN0aW9uXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogUHJvdmlkZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSB0YWJsZSBmb3IgdmlzdWFsbHkgaW1wYWlyZWQgdXNlcnMuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbiA9IGlucHV0KCcnKTtcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGB0cnVlYCwgdGhlIHRhYmxlIHdpbGwgc2hvdyBhIGxvYWRpbmcgaW5kaWNhdG9yXG4gICAqIHdoZW4gdGhlcmUgaXMgbm8gZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIElmIHRydWUgdGhlIGZvb3RlciB3aWxsIGJlIHN0aWNreVxuICAgKi9cbiAgcmVhZG9ubHkgc3RpY2t5Rm9vdGVyID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjYWxsYmFjayBmb3IgZGV0ZXJtaW5pbmcgaGVhZGVyIHRleHQgZm9yIGNvbHVtbnMgdGhhdFxuICAgKiBkbyBub3QgaGF2ZSBhIHN0YXRpYyBoZWFkZXIgdGV4dCBzZXQgaW4gdGhlIGNvbHVtbiBkZWZpbml0aW9uLlxuICAgKiBVc2VmdWwgZm9yIHByb3ZpZGluZyB0cmFuc2xhdGlvbnMgb2YgY29sdW1uIGhlYWRlcnMuXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlSGVhZGVyID0gaW5wdXQ8KGtleTogc3RyaW5nKSA9PiBzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIGNvbHVtbiB0aGF0IHNob3VsZCBiZSBzb3J0ZWQgaW5pdGlhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydEJ5ID0gaW5wdXQoJycpO1xuXG4gIC8qKlxuICAgKiBUaGUgc29ydCBkaXJlY3Rpb24gb2YgdGhlIGluaXRpYWxseSBzb3J0ZWQgY29sdW1uLlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydERpcmVjdGlvbiA9IGlucHV0PFNvcnREaXJlY3Rpb24+KCcnKTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgdXNlciB0byBjbGVhciB0aGUgc29ydC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydENsZWFyID0gaW5wdXQodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhYmxlIHNob3VsZCBpbmNsdWRlIGEgY2hlY2tib3ggY29sdW1uIGZvciByb3cgc2VsZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0YWJsZSA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VsZWN0ZWQgcm93cy4gT25seSBhcHBsaWNhYmxlIHdoZW4gc2VsZWN0YWJsZSBpcyBgdHJ1ZWAuXG4gICAqL1xuICByZWFkb25seSBzZWxlY3Rpb24gPSBtb2RlbDxUW10+KFtdKTtcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgdG8gZGlzYWJsZSByb3cgaG92ZXIgaGlnaGxpZ2h0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NSb3dIb3ZlckhpZ2hsaWdodCA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogSGlnaGxpZ2h0cyB0aGUgY3VycmVudGx5IGFjdGl2ZSByb3cuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmVSb3cgPSBpbnB1dDxUPigpO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gY29tcGFyYXRvciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgdHdvIHJvd3MgYXJlIGVxdWFsLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgZGV0ZXJtaW5pbmcgdGhlIGFjdGl2ZSByb3cgaXMgdG8gY29tcGFyZVxuICAgKiB0aGUgdHdvIHJvdyBvYmplY3RzIHVzaW5nIHN0cmljdCBlcXVhbGl0eSBjaGVjay4gVGhpcyBpcyBzdWZmaWNpZW50XG4gICAqIGFzIGxvbmcgYXMgdGhlIGluc3RhbmNlcyByZW1haW4gdGhlIHNhbWUsIHdoaWNoIG1heSBub3QgYmUgdGhlIGNhc2VcbiAgICogaWYgcm93IGRhdGEgaXMgcmVjcmVhdGVkIG9yIHJlYnVpbHQgZnJvbSBzZXJpYWxpemF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aXZlUm93Q29tcGFyYXRvciA9IGlucHV0PChjdXJyZW50Um93OiBULCBhY3RpdmVSb3c6IFQpID0+IGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBjb2x1bW4gaGVhZGVycyB3aWxsIG5vdCBiZSBzaG93bi4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgaGlkZUNvbHVtbkhlYWRlcnMgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIENob29zZSBmcm9tIGEgcHJlZGVmaW5lZCBzZXQgb2YgZGlzcGxheSB2YXJpYW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDwnemVicmEnPigpO1xuXG4gIC8qKlxuICAgKiBBcnJheSBvZiByb3dzIHRoYXQgYXJlIGN1cnJlbnRseSBleHBhbmRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4cGFuZGVkID0gbW9kZWw8VFtdPihbXSk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIGZvciB1bmlxdWVseSBpZGVudGlmeWluZyByb3dzLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhY2tCeSA9IGlucHV0PFRyYWNrQnlGdW5jdGlvbjxUPiB8IGtleW9mIFQ+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICogVGhlIGBvYnNlcnZlZGAgYm9vbGVhbiBmcm9tIHRoZSBgU3ViamVjdGAgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgYSByb3cgaXNcbiAgICogY2xpY2thYmxlIG9yIG5vdC4gVGhpcyBpcyBhdmFpbGFibGUgb24gYEV2ZW50RW1pdHRlcmAsIGJ1dCBub3Qgb24gYG91dHB1dGAsXG4gICAqIHdoaWNoIGlzIHdoeSB0aGlzIHdvcmthcm91bmQgaXMgdXNlZC5cbiAgICovXG4gIHByb3RlY3RlZCByb3dDbGljayQgPSBuZXcgU3ViamVjdDxUPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuZXZlciBhIHJvdyBpcyBjbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcm93Q2xpY2sgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLnJvd0NsaWNrJCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBhY3RpdmUgc29ydCBvciBzb3J0IGRpcmVjdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHNvcnRDaGFuZ2UgPSBvdXRwdXQ8U29ydD4oKTtcblxuICAvLyBRdWVyaWVzXG4gIHByb3RlY3RlZCBjZWxscyA9IGNvbnRlbnRDaGlsZHJlbihXYXR0VGFibGVDZWxsRGlyZWN0aXZlPFQ+KTtcbiAgcHJvdGVjdGVkIHRvb2xiYXIgPSBjb250ZW50Q2hpbGQoV2F0dFRhYmxlVG9vbGJhckRpcmVjdGl2ZTxUPik7XG4gIHByb3RlY3RlZCBzb3J0ID0gdmlld0NoaWxkKE1hdFNvcnQpO1xuXG4gIC8vIEVuYWJsZXMgYW5pbWF0aW9uIGZvciBleHBhbmRpbmcvY29sbGFwc2luZyBjZWxsc1xuICBwcm90ZWN0ZWQgdGFibGVDZWxsRWxlbWVudHMgPSB2aWV3Q2hpbGRyZW48RWxlbWVudFJlZjxIVE1MVGFibGVDZWxsRWxlbWVudD4+KCd0ZCcpO1xuICBwcm90ZWN0ZWQgYW5pbWF0aW9uRWZmZWN0ID0gYW5pbWF0ZUV4cGFuZGFibGVDZWxscyh0aGlzLnRhYmxlQ2VsbEVsZW1lbnRzLCB0aGlzLmV4cGFuZGVkKTtcblxuICAvLyBTZWxlY3RhYmxlXG4gIHByb3RlY3RlZCBmaWx0ZXJTZWxlY3Rpb25CeSA9IChyb3dzOiBUW10pID0+IHJvd3MuZmlsdGVyKChyb3cpID0+IHRoaXMuc2VsZWN0aW9uKCkuaW5jbHVkZXMocm93KSk7XG4gIHByb3RlY3RlZCBnZXRTZWxlY3Rpb25TdGF0ZSA9ICgpID0+IHtcbiAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSB0aGlzLmRhdGFTb3VyY2UoKS5maWx0ZXJlZERhdGE7XG4gICAgY29uc3QgZmlsdGVyZWRTZWxlY3Rpb24gPSB0aGlzLmZpbHRlclNlbGVjdGlvbkJ5KGZpbHRlcmVkRGF0YSk7XG4gICAgaWYgKCFmaWx0ZXJlZFNlbGVjdGlvbi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gZmlsdGVyZWRTZWxlY3Rpb24ubGVuZ3RoID09PSB0aGlzLmRhdGFTb3VyY2UoKS5maWx0ZXJlZERhdGEubGVuZ3RoID8gdHJ1ZSA6IG51bGw7XG4gIH07XG5cbiAgLy8gVW5pcXVlIG5hbWVzIGZvciBzcGVjaWFsIGNvbHVtbnNcbiAgcHJvdGVjdGVkIGNoZWNrYm94Q29sdW1uID0gJ19fY2hlY2tib3hDb2x1bW5fXyc7XG4gIHByb3RlY3RlZCBleHBhbmRhYmxlQ29sdW1uID0gJ19fZXhwYW5kYWJsZUNvbHVtbl9fJztcblxuICBwcm90ZWN0ZWQgaGFzRm9vdGVyID0gY29tcHV0ZWQoKCkgPT4gT2JqZWN0LnZhbHVlcyh0aGlzLmNvbHVtbnMoKSkuc29tZSgoYykgPT4gYy5mb290ZXIpKTtcbiAgcHJvdGVjdGVkIGlzRXhwYW5kYWJsZSA9IGNvbXB1dGVkKCgpID0+IE9iamVjdC52YWx1ZXModGhpcy5jb2x1bW5zKCkpLnNvbWUoKGMpID0+IGMuZXhwYW5kYWJsZSkpO1xuICBwcm90ZWN0ZWQgcmVuZGVyZWRDb2x1bW5zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmRpc3BsYXllZENvbHVtbnMoKSA/PyBPYmplY3Qua2V5cyh0aGlzLmNvbHVtbnMoKSk7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLnNlbGVjdGFibGUoKSA/IFt0aGlzLmNoZWNrYm94Q29sdW1uXSA6IFtdKSxcbiAgICAgIC4uLmNvbHVtbnMuZmlsdGVyKChrZXkpID0+ICF0aGlzLmNvbHVtbnMoKVtrZXldLmV4cGFuZGFibGUpLFxuICAgICAgLi4uKHRoaXMuaXNFeHBhbmRhYmxlKCkgPyBbdGhpcy5leHBhbmRhYmxlQ29sdW1uXSA6IFtdKSxcbiAgICAgIC4uLmNvbHVtbnMuZmlsdGVyKChrZXkpID0+IHRoaXMuY29sdW1ucygpW2tleV0uZXhwYW5kYWJsZSksXG4gICAgXTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHNpemluZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5jb2x1bW5zKCk7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyZWRDb2x1bW5zKClcbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gIWNvbHVtbnNba2V5XT8uZXhwYW5kYWJsZSlcbiAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgdGhpcy5jaGVja2JveENvbHVtbjpcbiAgICAgICAgICAgIHJldHVybiAndmFyKC0td2F0dC1zcGFjZS14bCknO1xuICAgICAgICAgIGNhc2UgdGhpcy5leHBhbmRhYmxlQ29sdW1uOlxuICAgICAgICAgICAgcmV0dXJuICdtaW4tY29udGVudCc7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW5zW2tleV0/LnNpemUgPz8gJ2F1dG8nO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfSk7XG5cbiAgLyoqIFRyeSB0byBnZXQgY2VsbCBkYXRhIGZvciBhIHNwZWNpZmljIGBjb2x1bW5gIGFuZCBgcm93YC4gKi9cbiAgcHJpdmF0ZSBnZXRDZWxsRGF0YSA9IChjb2x1bW46IFdhdHRUYWJsZUNvbHVtbjxUPiwgcm93OiBUKSA9PiB7XG4gICAgaWYgKGNvbHVtbi5jZWxsKSByZXR1cm4gY29sdW1uLmNlbGwocm93KTtcbiAgICByZXR1cm4gIWNvbHVtbi5hY2Nlc3NvclxuICAgICAgPyAnJ1xuICAgICAgOiB0eXBlb2YgY29sdW1uLmFjY2Vzc29yID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gY29sdW1uLmFjY2Vzc29yKHJvdylcbiAgICAgICAgOiByb3dbY29sdW1uLmFjY2Vzc29yXTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uVGVtcGxhdGUgPSAoY29sdW1uOiBXYXR0VGFibGVDb2x1bW48VD4pID0+XG4gICAgdGhpcy5jZWxscygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY29sdW1uKCkgPT09IGNvbHVtbik/LnRlbXBsYXRlUmVmO1xuXG4gIHByb3RlY3RlZCBnZXRDb2x1bW5IZWFkZXIgPSAoY29sdW1uOiBLZXlWYWx1ZTxzdHJpbmcsIFdhdHRUYWJsZUNvbHVtbjxUPj4pID0+IHtcbiAgICBpZiAodHlwZW9mIGNvbHVtbi52YWx1ZS5oZWFkZXIgPT09ICdzdHJpbmcnKSByZXR1cm4gY29sdW1uLnZhbHVlLmhlYWRlcjtcbiAgICBjb25zdCBjZWxsID0gdGhpcy5jZWxscygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY29sdW1uKCkgPT09IGNvbHVtbi52YWx1ZSk7XG4gICAgcmV0dXJuIGNlbGw/LmhlYWRlcigpID8/IHRoaXMucmVzb2x2ZUhlYWRlcigpPy4oY29sdW1uLmtleSkgPz8gY29sdW1uLmtleTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uQ2VsbCA9IChjb2x1bW46IFdhdHRUYWJsZUNvbHVtbjxUPiwgcm93OiBUKSA9PiB7XG4gICAgY29uc3QgY2VsbCA9IHRoaXMuZ2V0Q2VsbERhdGEoY29sdW1uLCByb3cpO1xuICAgIGlmIChjZWxsID09PSB1bmRlZmluZWQgfHwgY2VsbCA9PT0gbnVsbCkgcmV0dXJuICfigJQnO1xuICAgIGlmIChjZWxsIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHdhdHRGb3JtYXREYXRlKGNlbGwpO1xuICAgIHJldHVybiBjZWxsO1xuICB9O1xuXG4gIHByb3RlY3RlZCBnZXRSb3dLZXkgPSAoaW5kZXg6IG51bWJlciwgcm93OiBUKSA9PiB7XG4gICAgY29uc3QgdHJhY2tCeSA9IHRoaXMudHJhY2tCeSgpO1xuICAgIGlmICh0eXBlb2YgdHJhY2tCeSA9PT0gJ3N0cmluZycpIHJldHVybiByb3dbdHJhY2tCeV07XG4gICAgaWYgKHR5cGVvZiB0cmFja0J5ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gdHJhY2tCeShpbmRleCwgcm93KTtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlKCkuZGF0YS5pbmRleE9mKHJvdyk7XG4gIH07XG5cbiAgcHJvdGVjdGVkIGlzQWN0aXZlUm93ID0gKHJvdzogVCkgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZVJvdyA9IHRoaXMuYWN0aXZlUm93KCk7XG4gICAgY29uc3QgYWN0aXZlUm93Q29tcGFyYXRvciA9IHRoaXMuYWN0aXZlUm93Q29tcGFyYXRvcigpO1xuICAgIGlmICghYWN0aXZlUm93KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGFjdGl2ZVJvd0NvbXBhcmF0b3IgPyBhY3RpdmVSb3dDb21wYXJhdG9yKHJvdywgYWN0aXZlUm93KSA6IHJvdyA9PT0gYWN0aXZlUm93O1xuICB9O1xuXG4gIHByb3RlY3RlZCBvblJvd0NsaWNrID0gKHJvdzogVCkgPT4ge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgd2luZG93LmdldFNlbGVjdGlvbigpPy50b1N0cmluZygpICE9PSAnJykgcmV0dXJuO1xuICAgIGlmICh0aGlzLmlzRXhwYW5kYWJsZSgpKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkLnVwZGF0ZSgocm93cykgPT5cbiAgICAgICAgcm93cy5pbmNsdWRlcyhyb3cpID8gcm93cy5maWx0ZXIoKHIpID0+IHIgIT0gcm93KSA6IFsuLi5yb3dzLCByb3ddXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucm93Q2xpY2skLm5leHQocm93KTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgZGF0YVNvdXJjZSA9IHRoaXMuZGF0YVNvdXJjZSgpO1xuICAgICAgZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0KCk7XG4gICAgICBpZiAoIShkYXRhU291cmNlIGluc3RhbmNlb2YgV2F0dFRhYmxlRGF0YVNvdXJjZSkpIHJldHVybjtcbiAgICAgIGRhdGFTb3VyY2Uuc29ydGluZ0RhdGFBY2Nlc3NvciA9IChyb3c6IFQsIHNvcnRIZWFkZXJJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuY29sdW1ucygpW3NvcnRIZWFkZXJJZF07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRDZWxsRGF0YShjb2x1bW4sIHJvdyk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSByZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKTsgLy8gY2FzZSBpbnNlbnNpdGl2ZSBzb3J0aW5nXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiB2YWx1ZS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiB2YWx1ZSBhcyBudW1iZXI7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgc2VsZWN0aW9uLCBlbWl0dGluZyBgc2VsZWN0aW9uQ2hhbmdlYCBpZiBgc2VsZWN0aW9uYCB3YXMgbm90IGVtcHR5LlxuICAgKi9cbiAgY2xlYXJTZWxlY3Rpb24gPSAoKSA9PiB0aGlzLnNlbGVjdGlvbi51cGRhdGUoKHMpID0+ICghcy5sZW5ndGggPyBzIDogW10pKTtcblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgc2VsZWN0aW9uIG9mIGEgcm93LlxuICAgKi9cbiAgdG9nZ2xlU2VsZWN0aW9uID0gKHJvdzogVCkgPT5cbiAgICB0aGlzLnNlbGVjdGlvbi51cGRhdGUoKHMpID0+IChzLmluY2x1ZGVzKHJvdykgPyBzLmZpbHRlcigocikgPT4gciAhPT0gcm93KSA6IHMuY29uY2F0KHJvdykpKTtcbn1cblxuZXhwb3J0IGNvbnN0IFdBVFRfVEFCTEUgPSBbV2F0dFRhYmxlQ29tcG9uZW50LCBXYXR0VGFibGVDZWxsRGlyZWN0aXZlLCBXYXR0VGFibGVUb29sYmFyRGlyZWN0aXZlXTtcbiIsIjwhLS1cbkBsaWNlbnNlXG5Db3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS0+XG48dGFibGVcbiAgbWF0LXRhYmxlXG4gIG1hdFNvcnRcbiAgcm9sZT1cInRyZWVncmlkXCJcbiAgW25nQ2xhc3NdPVwieyAnd2F0dC10YWJsZS1oYXMtc2VsZWN0aW9uJzogZ2V0U2VsZWN0aW9uU3RhdGUoKSAhPT0gZmFsc2UgfVwiXG4gIFttYXRTb3J0QWN0aXZlXT1cInNvcnRCeSgpXCJcbiAgW21hdFNvcnREaXJlY3Rpb25dPVwic29ydERpcmVjdGlvbigpXCJcbiAgW21hdFNvcnREaXNhYmxlQ2xlYXJdPVwiIXNvcnRDbGVhcigpXCJcbiAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZSgpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvbigpXCJcbiAgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENoYW5nZS5lbWl0KCRldmVudClcIlxuPlxuICBAaWYgKHNlbGVjdGFibGUoKSkge1xuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjaGVja2JveENvbHVtblwiIFtzdGlja3ldPVwidHJ1ZVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cIndhdHQtdGFibGUtY2hlY2tib3gtY2VsbFwiPlxuICAgICAgICA8d2F0dC1jaGVja2JveFxuICAgICAgICAgIFtuZ01vZGVsXT1cImdldFNlbGVjdGlvblN0YXRlKClcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi5zZXQoZGF0YVNvdXJjZSgpLmZpbHRlcmVkRGF0YSkgOiBjbGVhclNlbGVjdGlvbigpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJ3YXR0LXRhYmxlLWNoZWNrYm94LWNlbGxcIj5cbiAgICAgICAgPHdhdHQtY2hlY2tib3hcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3Rpb24oKS5pbmNsdWRlcyhyb3cpXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGVTZWxlY3Rpb24ocm93KVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIC8+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImV4cGFuZGFibGVDb2x1bW5cIj5cbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgPHRkXG4gICAgICAjdGRcbiAgICAgIG1hdC1jZWxsXG4gICAgICAqbWF0Q2VsbERlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgIFthdHRyLmRhdGEta2V5XT1cImdldFJvd0tleShpbmRleCwgcm93KVwiXG4gICAgICBbYXR0ci5kYXRhLXJvdy1pbmRleF09XCJpbmRleFwiXG4gICAgICAoY2xpY2spPVwib25Sb3dDbGljayhyb3cpXCJcbiAgICAgIFtjbGFzcy53YXR0LXRhYmxlLWNlbGwtLWV4cGFuZGVkXT1cImV4cGFuZGVkKCkuaW5jbHVkZXMocm93KVwiXG4gICAgPlxuICAgICAgPHdhdHQtaWNvbiBuYW1lPVwicmlnaHRcIiBzaXplPVwieHNcIiAvPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zKCkgfCBrZXl2YWx1ZTsgdHJhY2sgY29sdW1uLmtleSkge1xuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCIgW3N0aWNreUVuZF09XCJjb2x1bW4udmFsdWUuc3RpY2t5RW5kPy4oKVwiPlxuICAgICAgPHRoXG4gICAgICAgIG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICBbY2xhc3Mud2F0dC10YWJsZS1jZWxsLS1leHBhbmRhYmxlXT1cImNvbHVtbi52YWx1ZS5leHBhbmRhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJ3YXR0LXRhYmxlLWFsaWduLXt7IGNvbHVtbi52YWx1ZS5hbGlnbiA/PyAnbGVmdCcgfX0ge3tcbiAgICAgICAgICBjb2x1bW4udmFsdWUuaGVhZGVyQ2VsbENsYXNzXG4gICAgICAgIH19XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChjb2x1bW4udmFsdWUuaGVscGVyQWN0aW9uOyBhcyBhY3Rpb24pIHtcbiAgICAgICAgICA8d2F0dC1pY29uIG5hbWU9XCJoZWxwXCIgKGNsaWNrKT1cImFjdGlvbigpXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIndhdHQtdGFibGUtaGVhZGVyLWNlbGxcIlxuICAgICAgICAgIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgIFthcnJvd1Bvc2l0aW9uXT1cImNvbHVtbi52YWx1ZS5hbGlnbiA9PT0gJ3JpZ2h0JyA/ICdiZWZvcmUnIDogJ2FmdGVyJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFjb2x1bW4udmFsdWUuYWNjZXNzb3IgfHwgY29sdW1uLnZhbHVlLnNvcnQgPT09IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldENvbHVtbkhlYWRlcihjb2x1bW4pIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKGNvbHVtbi52YWx1ZS50b29sdGlwOyBhcyB0b29sdGlwKSB7XG4gICAgICAgICAgPHdhdHQtaWNvbiBbdGl0bGVdPVwidG9vbHRpcFwiIG5hbWU9XCJpbmZvXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC90aD5cblxuICAgICAgPHRkXG4gICAgICAgICN0ZFxuICAgICAgICBtYXQtY2VsbFxuICAgICAgICAqbWF0Q2VsbERlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgW2F0dHIuZGF0YS1rZXldPVwiZ2V0Um93S2V5KGluZGV4LCByb3cpXCJcbiAgICAgICAgW2F0dHIuZGF0YS1yb3ctaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICBbY2xhc3Mud2F0dC10YWJsZS1jZWxsLS1leHBhbmRlZF09XCJleHBhbmRlZCgpLmluY2x1ZGVzKHJvdylcIlxuICAgICAgICBbY2xhc3Mud2F0dC10YWJsZS1jZWxsLS1leHBhbmRhYmxlXT1cImNvbHVtbi52YWx1ZS5leHBhbmRhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJ3YXR0LXRhYmxlLWFsaWduLXt7IGNvbHVtbi52YWx1ZS5hbGlnbiA/PyAnbGVmdCcgfX0ge3sgY29sdW1uLnZhbHVlLmRhdGFDZWxsQ2xhc3MgfX1cIlxuICAgICAgICAoY2xpY2spPVwiIWNvbHVtbi52YWx1ZS5leHBhbmRhYmxlICYmIG9uUm93Q2xpY2socm93KVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoaXNFeHBhbmRhYmxlKCkpIHtcbiAgICAgICAgICBAZGVmZXIgKHdoZW4gIWNvbHVtbi52YWx1ZS5leHBhbmRhYmxlIHx8IGV4cGFuZGVkKCkuaW5jbHVkZXMocm93KSkge1xuICAgICAgICAgICAgQGlmIChnZXRDb2x1bW5UZW1wbGF0ZShjb2x1bW4udmFsdWUpOyBhcyB0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2F0dC10YWJsZS1jZWxsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb3cgfVwiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIHt7IGdldENvbHVtbkNlbGwoY29sdW1uLnZhbHVlLCByb3cpIH19XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKGdldENvbHVtblRlbXBsYXRlKGNvbHVtbi52YWx1ZSk7IGFzIHRlbXBsYXRlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2F0dC10YWJsZS1jZWxsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogcm93IH1cIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICB7eyBnZXRDb2x1bW5DZWxsKGNvbHVtbi52YWx1ZSwgcm93KSB9fVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC90ZD5cblxuICAgICAgQGlmIChoYXNGb290ZXIoKSkge1xuICAgICAgICA8dGRcbiAgICAgICAgICBtYXQtZm9vdGVyLWNlbGxcbiAgICAgICAgICAqbWF0Rm9vdGVyQ2VsbERlZlxuICAgICAgICAgIGNsYXNzPVwie3sgY29sdW1uLnZhbHVlLmZvb3Rlcj8uY2xhc3MgfX0gd2F0dC10YWJsZS1hbGlnbi17e1xuICAgICAgICAgICAgY29sdW1uLnZhbHVlLmFsaWduID8/ICdsZWZ0J1xuICAgICAgICAgIH19IFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjb2x1bW4udmFsdWUuZm9vdGVyPy52YWx1ZT8uKCkgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIH1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgfVxuXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic3BhY2VyXCI+XG4gICAgPHRkIGNsYXNzPVwid2F0dC10YWJsZS1mb290ZXItc3BhY2VyXCIgbWF0LWZvb3Rlci1jZWxsICptYXRGb290ZXJDZWxsRGVmPjwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIEBpZiAoIWhpZGVDb2x1bW5IZWFkZXJzKCkpIHtcbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cInJlbmRlcmVkQ29sdW1ucygpXCI+PC90cj5cbiAgfVxuICA8dHJcbiAgICBtYXQtcm93XG4gICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IHJlbmRlcmVkQ29sdW1ucygpXCJcbiAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInJvdyA9PT0gYWN0aXZlUm93KClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd3YXR0LXRhYmxlLWhpZ2hsaWdodC1yb3cnOiAhZGlzYWJsZWQoKSAmJiAhc3VwcHJlc3NSb3dIb3ZlckhpZ2hsaWdodCgpLFxuICAgICAgJ3dhdHQtdGFibGUtY2xpY2thYmxlLXJvdyc6ICFkaXNhYmxlZCgpICYmIHJvd0NsaWNrJC5vYnNlcnZlZCxcbiAgICAgICd3YXR0LXRhYmxlLWFjdGl2ZS1yb3cnOiBpc0FjdGl2ZVJvdyhyb3cpLFxuICAgICAgJ3dhdHQtdGFibGUtbm8tZW5kLWRpdmlkZXInOiBoaWRlQ29sdW1uSGVhZGVycygpLFxuICAgIH1cIlxuICA+PC90cj5cblxuICBAaWYgKHRvb2xiYXIoKSkge1xuICAgIDx0ciBtYXQtZm9vdGVyLXJvdyAqbWF0Rm9vdGVyUm93RGVmPVwiWydzcGFjZXInXVwiPjwvdHI+XG4gIH1cblxuICBAaWYgKGhhc0Zvb3RlcigpKSB7XG4gICAgPHRyXG4gICAgICBtYXQtZm9vdGVyLXJvd1xuICAgICAgW2NsYXNzLndhdHQtdGFibGUtaGlkZS1mb290ZXJdPVwibG9hZGluZygpIHx8IGRhdGFTb3VyY2UoKS5maWx0ZXJlZERhdGEubGVuZ3RoID09PSAwXCJcbiAgICAgICptYXRGb290ZXJSb3dEZWY9XCJyZW5kZXJlZENvbHVtbnMoKTsgc3RpY2t5OiBzdGlja3lGb290ZXIoKVwiXG4gICAgPjwvdHI+XG4gIH1cblxuICA8bmctY29udGFpbmVyICptYXROb0RhdGFSb3c+XG4gICAgQGlmIChsb2FkaW5nKCkpIHtcbiAgICAgIEBmb3IgKGkgb2YgWzEsIDIsIDNdOyB0cmFjayBpKSB7XG4gICAgICAgIDx0ciBjbGFzcz1cIm1hdC1tZGMtcm93XCI+XG4gICAgICAgICAgQGZvciAoXyBvZiByZW5kZXJlZENvbHVtbnMoKTsgdHJhY2sgXzsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiIFtjbGFzcy53YXR0LXRhYmxlLWxvYWRpbmctY2VsbF09XCJpID4gMCB8fCAhc2VsZWN0YWJsZSgpXCI+PC90ZD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdHI+XG4gICAgICB9XG4gICAgfVxuICA8L25nLWNvbnRhaW5lcj5cbjwvdGFibGU+XG5cbkBpZiAodG9vbGJhcigpOyBhcyB0b29sYmFyKSB7XG4gIDxkaXYgY2xhc3M9XCJ3YXR0LXRhYmxlLXRvb2xiYXJcIiByb2xlPVwidG9vbGJhclwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHRvb2xiYXIudGVtcGxhdGVSZWY7XG4gICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBmaWx0ZXJTZWxlY3Rpb25CeShkYXRhU291cmNlKCkuZmlsdGVyZWREYXRhKSB9XG4gICAgICBcIlxuICAgIC8+XG4gIDwvZGl2PlxufVxuIl19
324
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS90YWJsZS93YXR0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3RhYmxlL3dhdHQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQVksWUFBWSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFFTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF3QixtQkFBbUIsRUFBRSxNQUFN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c0JBQXNCLEVBQUUseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7IEtleVZhbHVlLCBLZXlWYWx1ZVBpcGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgU2lnbmFsLCBUcmFja0J5RnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG91dHB1dEZyb21PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTb3J0LCBNYXRTb3J0TW9kdWxlLCBTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgV2F0dENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2NoZWNrYm94JztcbmltcG9ydCB7IHdhdHRGb3JtYXREYXRlIH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2NvcmUvZGF0ZSc7XG5pbXBvcnQgeyBXYXR0SWNvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uJztcbmltcG9ydCB7IElXYXR0VGFibGVEYXRhU291cmNlLCBXYXR0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi93YXR0LXRhYmxlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IGFuaW1hdGVFeHBhbmRhYmxlQ2VsbHMgfSBmcm9tICcuL3dhdHQtdGFibGUtZXhwYW5kLWFuaW1hdGlvbic7XG5cbi8qKiBDbGFzcyBuYW1lIGZvciBleHBhbmRhYmxlIGNlbGxzLiAqL1xuZXhwb3J0IGNvbnN0IEVYUEFOREFCTEVfQ0xBU1MgPSAnd2F0dC10YWJsZS1jZWxsLS1leHBhbmRhYmxlJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXR0VGFibGVDb2x1bW48VD4ge1xuICAvKipcbiAgICogVGhlIGRhdGEgdGhhdCB0aGlzIGNvbHVtbiBzaG91bGQgYmUgYm91bmQgdG8sIGVpdGhlciBhcyBhIHByb3BlcnR5IG9mIGBUYFxuICAgKiBvciBkZXJpdmVkIGZyb20gZWFjaCByb3cgb2YgYFRgIHVzaW5nIGFuIGFjY2Vzc29yIGZ1bmN0aW9uLiAgVXNlIGBudWxsYFxuICAgKiBmb3IgY29sdW1ucyB0aGF0IHNob3VsZCBub3QgYmUgYXNzb2NpYXRlZCB3aXRoIGRhdGEsIGJ1dCBub3RlIHRoYXQgdGhpc1xuICAgKiB3aWxsIGRpc2FibGUgc29ydGluZyBhbmQgYXV0b21hdGljIGNlbGwgcG9wdWxhdGlvbi5cbiAgICovXG4gIGFjY2Vzc29yOiBrZXlvZiBUIHwgKChyb3c6IFQpID0+IHVua25vd24pIHwgbnVsbDtcblxuICAvKipcbiAgICogUmVzb2x2ZSB0aGUgaGVhZGVyIHRleHQgdG8gYSBzdGF0aWMgZGlzcGxheSB2YWx1ZS4gVGhpcyB3aWxsIHByZXZlbnRcbiAgICogdGhlIGByZXNvbHZlSGVhZGVyYCBpbnB1dCBmdW5jdGlvbiBmcm9tIGJlaW5nIGNhbGxlZCBmb3IgdGhpcyBjb2x1bW4uXG4gICAqL1xuICBoZWFkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZvciBkZXRlcm1pbmluZyBjZWxsIGNvbnRlbnQgd2hlbiBub3QgdXNpbmcgdGVtcGxhdGUuIEJ5IGRlZmF1bHQsXG4gICAqIGNlbGwgY29udGVudCBpcyBmb3VuZCB1c2luZyB0aGUgYGFjY2Vzc29yYCAodW5sZXNzIGl0IGlzIGBudWxsYCkuXG4gICAqL1xuICBjZWxsPzogKHJvdzogVCkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzb3J0aW5nIGZvciB0aGlzIGNvbHVtbi4gRGVmYXVsdHMgdG8gYHRydWVgXG4gICAqIHVubGVzcyBgYWNjZXNzb3JgIGlzIGBudWxsYC5cbiAgICovXG4gIHNvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbHVtbiBzaXplIHVzaW5nIGdyaWQgc2l6aW5nIHZhbHVlcy4gRGVmYXVsdHMgdG8gYFwiYXV0b1wiYC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQWNjZXB0cyBhbGwgb2YgdGhlIENTUyBncmlkIHRyYWNrIHNpemUga2V5d29yZHMgKHN1Y2ggYXMgYG1pbi1jb250ZW50YCxcbiAgICogYG1heC1jb250ZW50YCwgYG1pbm1heCgpYCkgYXMgd2VsbCBhcyBmcmFjdGlvbmFsIChgZnJgKSwgcGVyY2VudGFnZSAoYCVgKVxuICAgKiBhbmQgbGVuZ3RoIChgcHhgLCBgZW1gLCBldGMpIHVuaXRzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jdHJhY2stc2l6ZXNcbiAgICovXG4gIHNpemU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvcml6b250YWxseSBhbGlnbiB0aGUgY29udGVudHMgb2YgdGhlIGNvbHVtbi4gRGVmYXVsdHMgdG8gYFwibGVmdFwiYC5cbiAgICovXG4gIGFsaWduPzogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuXG4gIC8qKlxuICAgKiBIZWxwZXIgaWNvbiB3aWxsIGJlIHNob3duIGluIHRoZSBoZWFkZXIgY2VsbCwgd2l0aCBhbiBjbGljayBldmVudC5cbiAgICovXG4gIGhlbHBlckFjdGlvbj86ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgaGVhZGVyIGNlbGwgZWxlbWVudC5cbiAgICovXG4gIGhlYWRlckNlbGxDbGFzcz86IHN0cmluZztcblxuICAvKipcbiAgICogQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSBkYXRhIGNlbGwgZWxlbWVudC5cbiAgICovXG4gIGRhdGFDZWxsQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvb3RlciBjb25maWd1cmF0aW9uIGZvciB0aGUgY29sdW1uLlxuICAgKi9cbiAgZm9vdGVyPzogV2F0dFRhYmxlQ29sdW1uRm9vdGVyO1xuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIHRoZSBjb2x1bW4gcmVtYWlucyB2aXNpYmxlIHdoZW4gaG9yaXpvbnRhbGx5IHNjcm9sbGluZy5cbiAgICovXG4gIHN0aWNreUVuZD86IFNpZ25hbDxib29sZWFuPjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHRoZSBjZWxsIGlzIHJlcGxhY2VkIHdpdGggYW4gZXhwYW5kYWJsZSBhcnJvdyBhbmQgdGhlIGNvbnRlbnQgaXMgZGVmZXJyZWQuXG4gICAqIENsaWNraW5nIG9uIHRoZSBhcnJvdyByZXZlYWxzIHRoZSBjb250ZW50IGJlbG93IHRoZSBjdXJyZW50IHJvdy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gcHJvdmlkZSBhIGN1c3RvbSBgdHJhY2tCeWAgZnVuY3Rpb24gd2hlbiB1c2luZyBgZXhwYW5kYWJsZWAsXG4gICAqIG90aGVyd2lzZSBhbmltYXRpb25zIGNhbiBiZSBpbmFjY3VyYXRlIHdoZW4gZGF0YSBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgZXhwYW5kYWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRvb2x0aXAgdGV4dCB0byBzaG93IG9uIGhvdmVyIG9mIHRoZSBoZWFkZXIgY2VsbC5cbiAgICovXG4gIHRvb2x0aXA/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGZvb3RlciBjZWxsIG9mIGEgY29sdW1uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhdHRUYWJsZUNvbHVtbkZvb3RlciB7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgZm9vdGVyIGNlbGwuXG4gICAqL1xuICB2YWx1ZT86IFNpZ25hbDxzdHJpbmcgfCBudW1iZXI+O1xuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIGZvb3RlciBjZWxsLlxuICAgKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVjb3JkIGZvciBkZWZpbmluZyBjb2x1bW5zIHdpdGgga2V5cyB1c2VkIGFzIGNvbHVtbiBpZGVudGlmaWVycy5cbiAqL1xuZXhwb3J0IHR5cGUgV2F0dFRhYmxlQ29sdW1uRGVmPFQ+ID0gUmVjb3JkPHN0cmluZywgV2F0dFRhYmxlQ29sdW1uPFQ+PjtcblxuLy8gVXNlZCBmb3Igc3Ryb25nbHkgdHlwaW5nIHRoZSBzdHJ1Y3R1cmFsIGRpcmVjdGl2ZVxuaW50ZXJmYWNlIFdhdHRUYWJsZUNlbGxDb250ZXh0PFQ+IHtcbiAgJGltcGxpY2l0OiBUO1xuICBpbmRleDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgV2F0dFRhYmxlVG9vbGJhckNvbnRleHQ8VD4ge1xuICAkaW1wbGljaXQ6IFQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3YXR0VGFibGVDZWxsXScsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRUYWJsZUNlbGxEaXJlY3RpdmU8VD4ge1xuICB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxXYXR0VGFibGVDZWxsQ29udGV4dDxUPj4pO1xuXG4gIC8qKlxuICAgKiBUaGUgV2F0dFRhYmxlQ29sdW1uIHRoaXMgdGVtcGxhdGUgYXBwbGllcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGNvbHVtbiA9IGlucHV0LnJlcXVpcmVkPFdhdHRUYWJsZUNvbHVtbjxUPj4oeyBhbGlhczogJ3dhdHRUYWJsZUNlbGwnIH0pO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBoZWFkZXIgdGV4dCBmb3IgdGhlIGNvbHVtbi5cbiAgICovXG4gIHJlYWRvbmx5IGhlYWRlciA9IGlucHV0PHN0cmluZz4odW5kZWZpbmVkLCB7IGFsaWFzOiAnd2F0dFRhYmxlQ2VsbEhlYWRlcicgfSk7XG5cbiAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8VD4oXG4gICAgX2RpcmVjdGl2ZTogV2F0dFRhYmxlQ2VsbERpcmVjdGl2ZTxUPixcbiAgICBjb250ZXh0OiB1bmtub3duXG4gICk6IGNvbnRleHQgaXMgV2F0dFRhYmxlQ2VsbENvbnRleHQ8VD4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3YXR0VGFibGVUb29sYmFyXScsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRUYWJsZVRvb2xiYXJEaXJlY3RpdmU8VD4ge1xuICB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxXYXR0VGFibGVUb29sYmFyQ29udGV4dDxUW10+Pik7XG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KFxuICAgIF9kaXJlY3RpdmU6IFdhdHRUYWJsZVRvb2xiYXJEaXJlY3RpdmU8VD4sXG4gICAgY29udGV4dDogdW5rbm93blxuICApOiBjb250ZXh0IGlzIFdhdHRUYWJsZVRvb2xiYXJDb250ZXh0PFRbXT4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8qKlxuICogVXNhZ2U6XG4gKiBgaW1wb3J0IHsgV0FUVF9UQUJMRSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC90YWJsZSc7YFxuICovXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBLZXlWYWx1ZVBpcGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBXYXR0SWNvbkNvbXBvbmVudCxcbiAgICBXYXR0Q2hlY2tib3hDb21wb25lbnQsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnd2F0dC10YWJsZScsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy53YXR0LXRhYmxlLXZhcmlhbnQtemVicmFdJzogJ3ZhcmlhbnQoKSA9PT0gXCJ6ZWJyYVwiJyxcbiAgICAnW3N0eWxlLi0td2F0dC10YWJsZS1ncmlkLXRlbXBsYXRlLWNvbHVtbnNdJzogJ3NpemluZygpLmpvaW4oXCIgXCIpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dFRhYmxlQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIFRoZSB0YWJsZSdzIHNvdXJjZSBvZiBkYXRhLiBQcm9wZXJ0eSBzaG91bGQgbm90IGJlIGNoYW5nZWQgYWZ0ZXJcbiAgICogaW5pdGlhbGl6YXRpb24sIGluc3RlYWQgdXBkYXRlIHRoZSBkYXRhIG9uIHRoZSBpbnN0YW5jZSBpdHNlbGYuXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlID0gaW5wdXQucmVxdWlyZWQ8SVdhdHRUYWJsZURhdGFTb3VyY2U8VD4+KCk7XG5cbiAgLyoqXG4gICAqIENvbHVtbiBkZWZpbml0aW9uIHJlY29yZCB3aXRoIGtleXMgcmVwcmVzZW50aW5nIHRoZSBjb2x1bW4gaWRlbnRpZmllcnNcbiAgICogYW5kIHZhbHVlcyBiZWluZyB0aGUgY29sdW1uIGNvbmZpZ3VyYXRpb24uIFRoZSBvcmRlciBvZiB0aGUgY29sdW1uc1xuICAgKiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBwcm9wZXJ0eSBvcmRlciwgYnV0IGNhbiBiZSBvdmVycnVsZWQgYnkgdGhlXG4gICAqIGBkaXNwbGF5ZWRDb2x1bW5zYCBpbnB1dC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbHVtbnMgPSBpbnB1dDxXYXR0VGFibGVDb2x1bW5EZWY8VD4+KHt9KTtcblxuICAvKipcbiAgICogVXNlZCBmb3IgaGlkaW5nIG9yIHJlb3JkZXJpbmcgY29sdW1ucyBkZWZpbmVkIGluIHRoZSBgY29sdW1uc2AgaW5wdXQuXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5ZWRDb2x1bW5zID0gaW5wdXQ8c3RyaW5nW10+KCk7XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIGRpc2FibGluZyB0aGUgdGFibGUuIFRoaXMgd2lsbCBkaXNhYmxlIGFsbCB1c2VyIGludGVyYWN0aW9uXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogUHJvdmlkZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSB0YWJsZSBmb3IgdmlzdWFsbHkgaW1wYWlyZWQgdXNlcnMuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbiA9IGlucHV0KCcnKTtcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGB0cnVlYCwgdGhlIHRhYmxlIHdpbGwgc2hvdyBhIGxvYWRpbmcgaW5kaWNhdG9yXG4gICAqIHdoZW4gdGhlcmUgaXMgbm8gZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIElmIHRydWUgdGhlIGZvb3RlciB3aWxsIGJlIHN0aWNreVxuICAgKi9cbiAgcmVhZG9ubHkgc3RpY2t5Rm9vdGVyID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjYWxsYmFjayBmb3IgZGV0ZXJtaW5pbmcgaGVhZGVyIHRleHQgZm9yIGNvbHVtbnMgdGhhdFxuICAgKiBkbyBub3QgaGF2ZSBhIHN0YXRpYyBoZWFkZXIgdGV4dCBzZXQgaW4gdGhlIGNvbHVtbiBkZWZpbml0aW9uLlxuICAgKiBVc2VmdWwgZm9yIHByb3ZpZGluZyB0cmFuc2xhdGlvbnMgb2YgY29sdW1uIGhlYWRlcnMuXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlSGVhZGVyID0gaW5wdXQ8KGtleTogc3RyaW5nKSA9PiBzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIGNvbHVtbiB0aGF0IHNob3VsZCBiZSBzb3J0ZWQgaW5pdGlhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydEJ5ID0gaW5wdXQoJycpO1xuXG4gIC8qKlxuICAgKiBUaGUgc29ydCBkaXJlY3Rpb24gb2YgdGhlIGluaXRpYWxseSBzb3J0ZWQgY29sdW1uLlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydERpcmVjdGlvbiA9IGlucHV0PFNvcnREaXJlY3Rpb24+KCcnKTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgdXNlciB0byBjbGVhciB0aGUgc29ydC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydENsZWFyID0gaW5wdXQodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRhYmxlIHNob3VsZCBpbmNsdWRlIGEgY2hlY2tib3ggY29sdW1uIGZvciByb3cgc2VsZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0YWJsZSA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VsZWN0ZWQgcm93cy4gT25seSBhcHBsaWNhYmxlIHdoZW4gc2VsZWN0YWJsZSBpcyBgdHJ1ZWAuXG4gICAqL1xuICByZWFkb25seSBzZWxlY3Rpb24gPSBtb2RlbDxUW10+KFtdKTtcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgdG8gZGlzYWJsZSByb3cgaG92ZXIgaGlnaGxpZ2h0LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NSb3dIb3ZlckhpZ2hsaWdodCA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogSGlnaGxpZ2h0cyB0aGUgY3VycmVudGx5IGFjdGl2ZSByb3cuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmVSb3cgPSBpbnB1dDxUPigpO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gY29tcGFyYXRvciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgdHdvIHJvd3MgYXJlIGVxdWFsLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgZGV0ZXJtaW5pbmcgdGhlIGFjdGl2ZSByb3cgaXMgdG8gY29tcGFyZVxuICAgKiB0aGUgdHdvIHJvdyBvYmplY3RzIHVzaW5nIHN0cmljdCBlcXVhbGl0eSBjaGVjay4gVGhpcyBpcyBzdWZmaWNpZW50XG4gICAqIGFzIGxvbmcgYXMgdGhlIGluc3RhbmNlcyByZW1haW4gdGhlIHNhbWUsIHdoaWNoIG1heSBub3QgYmUgdGhlIGNhc2VcbiAgICogaWYgcm93IGRhdGEgaXMgcmVjcmVhdGVkIG9yIHJlYnVpbHQgZnJvbSBzZXJpYWxpemF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aXZlUm93Q29tcGFyYXRvciA9IGlucHV0PChjdXJyZW50Um93OiBULCBhY3RpdmVSb3c6IFQpID0+IGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBjb2x1bW4gaGVhZGVycyB3aWxsIG5vdCBiZSBzaG93bi4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgaGlkZUNvbHVtbkhlYWRlcnMgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIENob29zZSBmcm9tIGEgcHJlZGVmaW5lZCBzZXQgb2YgZGlzcGxheSB2YXJpYW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDwnemVicmEnPigpO1xuXG4gIC8qKlxuICAgKiBBcnJheSBvZiByb3dzIHRoYXQgYXJlIGN1cnJlbnRseSBleHBhbmRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4cGFuZGVkID0gbW9kZWw8VFtdPihbXSk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIGZvciB1bmlxdWVseSBpZGVudGlmeWluZyByb3dzLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhY2tCeSA9IGlucHV0PFRyYWNrQnlGdW5jdGlvbjxUPiB8IGtleW9mIFQ+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICogVGhlIGBvYnNlcnZlZGAgYm9vbGVhbiBmcm9tIHRoZSBgU3ViamVjdGAgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgYSByb3cgaXNcbiAgICogY2xpY2thYmxlIG9yIG5vdC4gVGhpcyBpcyBhdmFpbGFibGUgb24gYEV2ZW50RW1pdHRlcmAsIGJ1dCBub3Qgb24gYG91dHB1dGAsXG4gICAqIHdoaWNoIGlzIHdoeSB0aGlzIHdvcmthcm91bmQgaXMgdXNlZC5cbiAgICovXG4gIHByb3RlY3RlZCByb3dDbGljayQgPSBuZXcgU3ViamVjdDxUPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuZXZlciBhIHJvdyBpcyBjbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcm93Q2xpY2sgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLnJvd0NsaWNrJCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBhY3RpdmUgc29ydCBvciBzb3J0IGRpcmVjdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHNvcnRDaGFuZ2UgPSBvdXRwdXQ8U29ydD4oKTtcblxuICAvLyBRdWVyaWVzXG4gIHByb3RlY3RlZCBjZWxscyA9IGNvbnRlbnRDaGlsZHJlbihXYXR0VGFibGVDZWxsRGlyZWN0aXZlPFQ+KTtcbiAgcHJvdGVjdGVkIHRvb2xiYXIgPSBjb250ZW50Q2hpbGQoV2F0dFRhYmxlVG9vbGJhckRpcmVjdGl2ZTxUPik7XG4gIHByb3RlY3RlZCBzb3J0ID0gdmlld0NoaWxkKE1hdFNvcnQpO1xuXG4gIC8vIEVuYWJsZXMgYW5pbWF0aW9uIGZvciBleHBhbmRpbmcvY29sbGFwc2luZyBjZWxsc1xuICBwcm90ZWN0ZWQgdGFibGVDZWxsRWxlbWVudHMgPSB2aWV3Q2hpbGRyZW48RWxlbWVudFJlZjxIVE1MVGFibGVDZWxsRWxlbWVudD4+KCd0ZCcpO1xuICBwcm90ZWN0ZWQgYW5pbWF0aW9uRWZmZWN0ID0gYW5pbWF0ZUV4cGFuZGFibGVDZWxscyh0aGlzLnRhYmxlQ2VsbEVsZW1lbnRzLCB0aGlzLmV4cGFuZGVkKTtcblxuICAvLyBTZWxlY3RhYmxlXG4gIHByb3RlY3RlZCBmaWx0ZXJTZWxlY3Rpb25CeSA9IChyb3dzOiBUW10pID0+IHJvd3MuZmlsdGVyKChyb3cpID0+IHRoaXMuc2VsZWN0aW9uKCkuaW5jbHVkZXMocm93KSk7XG4gIHByb3RlY3RlZCBnZXRTZWxlY3Rpb25TdGF0ZSA9ICgpID0+IHtcbiAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSB0aGlzLmRhdGFTb3VyY2UoKS5maWx0ZXJlZERhdGE7XG4gICAgY29uc3QgZmlsdGVyZWRTZWxlY3Rpb24gPSB0aGlzLmZpbHRlclNlbGVjdGlvbkJ5KGZpbHRlcmVkRGF0YSk7XG4gICAgaWYgKCFmaWx0ZXJlZFNlbGVjdGlvbi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gZmlsdGVyZWRTZWxlY3Rpb24ubGVuZ3RoID09PSB0aGlzLmRhdGFTb3VyY2UoKS5maWx0ZXJlZERhdGEubGVuZ3RoID8gdHJ1ZSA6IG51bGw7XG4gIH07XG5cbiAgLy8gVW5pcXVlIG5hbWVzIGZvciBzcGVjaWFsIGNvbHVtbnNcbiAgcHJvdGVjdGVkIGNoZWNrYm94Q29sdW1uID0gJ19fY2hlY2tib3hDb2x1bW5fXyc7XG4gIHByb3RlY3RlZCBleHBhbmRhYmxlQ29sdW1uID0gJ19fZXhwYW5kYWJsZUNvbHVtbl9fJztcblxuICBwcm90ZWN0ZWQgaGFzRm9vdGVyID0gY29tcHV0ZWQoKCkgPT4gT2JqZWN0LnZhbHVlcyh0aGlzLmNvbHVtbnMoKSkuc29tZSgoYykgPT4gYy5mb290ZXIpKTtcbiAgcHJvdGVjdGVkIGlzRXhwYW5kYWJsZSA9IGNvbXB1dGVkKCgpID0+IE9iamVjdC52YWx1ZXModGhpcy5jb2x1bW5zKCkpLnNvbWUoKGMpID0+IGMuZXhwYW5kYWJsZSkpO1xuICBwcm90ZWN0ZWQgcmVuZGVyZWRDb2x1bW5zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmRpc3BsYXllZENvbHVtbnMoKSA/PyBPYmplY3Qua2V5cyh0aGlzLmNvbHVtbnMoKSk7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLnNlbGVjdGFibGUoKSA/IFt0aGlzLmNoZWNrYm94Q29sdW1uXSA6IFtdKSxcbiAgICAgIC4uLmNvbHVtbnMuZmlsdGVyKChrZXkpID0+ICF0aGlzLmNvbHVtbnMoKVtrZXldLmV4cGFuZGFibGUpLFxuICAgICAgLi4uKHRoaXMuaXNFeHBhbmRhYmxlKCkgPyBbdGhpcy5leHBhbmRhYmxlQ29sdW1uXSA6IFtdKSxcbiAgICAgIC4uLmNvbHVtbnMuZmlsdGVyKChrZXkpID0+IHRoaXMuY29sdW1ucygpW2tleV0uZXhwYW5kYWJsZSksXG4gICAgXTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHNpemluZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5jb2x1bW5zKCk7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyZWRDb2x1bW5zKClcbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gIWNvbHVtbnNba2V5XT8uZXhwYW5kYWJsZSlcbiAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgdGhpcy5jaGVja2JveENvbHVtbjpcbiAgICAgICAgICAgIHJldHVybiAndmFyKC0td2F0dC1zcGFjZS14bCknO1xuICAgICAgICAgIGNhc2UgdGhpcy5leHBhbmRhYmxlQ29sdW1uOlxuICAgICAgICAgICAgcmV0dXJuICdtaW4tY29udGVudCc7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW5zW2tleV0/LnNpemUgPz8gJ2F1dG8nO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfSk7XG5cbiAgLyoqIFRyeSB0byBnZXQgY2VsbCBkYXRhIGZvciBhIHNwZWNpZmljIGBjb2x1bW5gIGFuZCBgcm93YC4gKi9cbiAgcHJpdmF0ZSBnZXRDZWxsRGF0YSA9IChjb2x1bW46IFdhdHRUYWJsZUNvbHVtbjxUPiwgcm93OiBUKSA9PiB7XG4gICAgaWYgKGNvbHVtbi5jZWxsKSByZXR1cm4gY29sdW1uLmNlbGwocm93KTtcbiAgICByZXR1cm4gIWNvbHVtbi5hY2Nlc3NvclxuICAgICAgPyAnJ1xuICAgICAgOiB0eXBlb2YgY29sdW1uLmFjY2Vzc29yID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gY29sdW1uLmFjY2Vzc29yKHJvdylcbiAgICAgICAgOiByb3dbY29sdW1uLmFjY2Vzc29yXTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uVGVtcGxhdGUgPSAoY29sdW1uOiBXYXR0VGFibGVDb2x1bW48VD4pID0+XG4gICAgdGhpcy5jZWxscygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY29sdW1uKCkgPT09IGNvbHVtbik/LnRlbXBsYXRlUmVmO1xuXG4gIHByb3RlY3RlZCBnZXRDb2x1bW5IZWFkZXIgPSAoY29sdW1uOiBLZXlWYWx1ZTxzdHJpbmcsIFdhdHRUYWJsZUNvbHVtbjxUPj4pID0+IHtcbiAgICBpZiAodHlwZW9mIGNvbHVtbi52YWx1ZS5oZWFkZXIgPT09ICdzdHJpbmcnKSByZXR1cm4gY29sdW1uLnZhbHVlLmhlYWRlcjtcbiAgICBjb25zdCBjZWxsID0gdGhpcy5jZWxscygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY29sdW1uKCkgPT09IGNvbHVtbi52YWx1ZSk7XG4gICAgcmV0dXJuIGNlbGw/LmhlYWRlcigpID8/IHRoaXMucmVzb2x2ZUhlYWRlcigpPy4oY29sdW1uLmtleSkgPz8gY29sdW1uLmtleTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uQ2VsbCA9IChjb2x1bW46IFdhdHRUYWJsZUNvbHVtbjxUPiwgcm93OiBUKSA9PiB7XG4gICAgY29uc3QgY2VsbCA9IHRoaXMuZ2V0Q2VsbERhdGEoY29sdW1uLCByb3cpO1xuICAgIGlmIChjZWxsID09PSB1bmRlZmluZWQgfHwgY2VsbCA9PT0gbnVsbCkgcmV0dXJuICfigJQnO1xuICAgIGlmIChjZWxsIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHdhdHRGb3JtYXREYXRlKGNlbGwpO1xuICAgIHJldHVybiBjZWxsO1xuICB9O1xuXG4gIHByb3RlY3RlZCBnZXRSb3dLZXkgPSAoaW5kZXg6IG51bWJlciwgcm93OiBUKSA9PiB7XG4gICAgY29uc3QgdHJhY2tCeSA9IHRoaXMudHJhY2tCeSgpO1xuICAgIGlmICh0eXBlb2YgdHJhY2tCeSA9PT0gJ3N0cmluZycpIHJldHVybiByb3dbdHJhY2tCeV07XG4gICAgaWYgKHR5cGVvZiB0cmFja0J5ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gdHJhY2tCeShpbmRleCwgcm93KTtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlKCkuZGF0YS5pbmRleE9mKHJvdyk7XG4gIH07XG5cbiAgcHJvdGVjdGVkIGlzQWN0aXZlUm93ID0gKHJvdzogVCkgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZVJvdyA9IHRoaXMuYWN0aXZlUm93KCk7XG4gICAgY29uc3QgYWN0aXZlUm93Q29tcGFyYXRvciA9IHRoaXMuYWN0aXZlUm93Q29tcGFyYXRvcigpO1xuICAgIGlmICghYWN0aXZlUm93KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGFjdGl2ZVJvd0NvbXBhcmF0b3IgPyBhY3RpdmVSb3dDb21wYXJhdG9yKHJvdywgYWN0aXZlUm93KSA6IHJvdyA9PT0gYWN0aXZlUm93O1xuICB9O1xuXG4gIHByb3RlY3RlZCBvblJvd0NsaWNrID0gKHJvdzogVCkgPT4ge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgd2luZG93LmdldFNlbGVjdGlvbigpPy50b1N0cmluZygpICE9PSAnJykgcmV0dXJuO1xuICAgIGlmICh0aGlzLmlzRXhwYW5kYWJsZSgpKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkLnVwZGF0ZSgocm93cykgPT5cbiAgICAgICAgcm93cy5pbmNsdWRlcyhyb3cpID8gcm93cy5maWx0ZXIoKHIpID0+IHIgIT0gcm93KSA6IFsuLi5yb3dzLCByb3ddXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucm93Q2xpY2skLm5leHQocm93KTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgZGF0YVNvdXJjZSA9IHRoaXMuZGF0YVNvdXJjZSgpO1xuICAgICAgZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0KCk7XG4gICAgICBpZiAoIShkYXRhU291cmNlIGluc3RhbmNlb2YgV2F0dFRhYmxlRGF0YVNvdXJjZSkpIHJldHVybjtcbiAgICAgIGRhdGFTb3VyY2Uuc29ydGluZ0RhdGFBY2Nlc3NvciA9IChyb3c6IFQsIHNvcnRIZWFkZXJJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuY29sdW1ucygpW3NvcnRIZWFkZXJJZF07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRDZWxsRGF0YShjb2x1bW4sIHJvdyk7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSByZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKTsgLy8gY2FzZSBpbnNlbnNpdGl2ZSBzb3J0aW5nXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiB2YWx1ZS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiB2YWx1ZSBhcyBudW1iZXI7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgc2VsZWN0aW9uLCBlbWl0dGluZyBgc2VsZWN0aW9uQ2hhbmdlYCBpZiBgc2VsZWN0aW9uYCB3YXMgbm90IGVtcHR5LlxuICAgKi9cbiAgY2xlYXJTZWxlY3Rpb24gPSAoKSA9PiB0aGlzLnNlbGVjdGlvbi51cGRhdGUoKHMpID0+ICghcy5sZW5ndGggPyBzIDogW10pKTtcblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgc2VsZWN0aW9uIG9mIGEgcm93LlxuICAgKi9cbiAgdG9nZ2xlU2VsZWN0aW9uID0gKHJvdzogVCkgPT5cbiAgICB0aGlzLnNlbGVjdGlvbi51cGRhdGUoKHMpID0+IChzLmluY2x1ZGVzKHJvdykgPyBzLmZpbHRlcigocikgPT4gciAhPT0gcm93KSA6IHMuY29uY2F0KHJvdykpKTtcbn1cblxuZXhwb3J0IGNvbnN0IFdBVFRfVEFCTEUgPSBbV2F0dFRhYmxlQ29tcG9uZW50LCBXYXR0VGFibGVDZWxsRGlyZWN0aXZlLCBXYXR0VGFibGVUb29sYmFyRGlyZWN0aXZlXTtcbiIsIjwhLS1cbkBsaWNlbnNlXG5Db3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS0+XG48dGFibGVcbiAgbWF0LXRhYmxlXG4gIG1hdFNvcnRcbiAgcm9sZT1cInRyZWVncmlkXCJcbiAgW25nQ2xhc3NdPVwieyAnd2F0dC10YWJsZS1oYXMtc2VsZWN0aW9uJzogZ2V0U2VsZWN0aW9uU3RhdGUoKSAhPT0gZmFsc2UgfVwiXG4gIFttYXRTb3J0QWN0aXZlXT1cInNvcnRCeSgpXCJcbiAgW21hdFNvcnREaXJlY3Rpb25dPVwic29ydERpcmVjdGlvbigpXCJcbiAgW21hdFNvcnREaXNhYmxlQ2xlYXJdPVwiIXNvcnRDbGVhcigpXCJcbiAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZSgpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvbigpXCJcbiAgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENoYW5nZS5lbWl0KCRldmVudClcIlxuPlxuICBAaWYgKHNlbGVjdGFibGUoKSkge1xuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjaGVja2JveENvbHVtblwiIFtzdGlja3ldPVwidHJ1ZVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cIndhdHQtdGFibGUtY2hlY2tib3gtY2VsbFwiPlxuICAgICAgICA8d2F0dC1jaGVja2JveFxuICAgICAgICAgIFtuZ01vZGVsXT1cImdldFNlbGVjdGlvblN0YXRlKClcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi5zZXQoZGF0YVNvdXJjZSgpLmZpbHRlcmVkRGF0YSkgOiBjbGVhclNlbGVjdGlvbigpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJ3YXR0LXRhYmxlLWNoZWNrYm94LWNlbGxcIj5cbiAgICAgICAgPHdhdHQtY2hlY2tib3hcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3Rpb24oKS5pbmNsdWRlcyhyb3cpXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGVTZWxlY3Rpb24ocm93KVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIC8+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImV4cGFuZGFibGVDb2x1bW5cIj5cbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgPHRkXG4gICAgICAjdGRcbiAgICAgIG1hdC1jZWxsXG4gICAgICAqbWF0Q2VsbERlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgIFthdHRyLmRhdGEta2V5XT1cImdldFJvd0tleShpbmRleCwgcm93KVwiXG4gICAgICBbYXR0ci5kYXRhLXJvdy1pbmRleF09XCJpbmRleFwiXG4gICAgICAoY2xpY2spPVwib25Sb3dDbGljayhyb3cpXCJcbiAgICAgIFtjbGFzcy53YXR0LXRhYmxlLWNlbGwtLWV4cGFuZGVkXT1cImV4cGFuZGVkKCkuaW5jbHVkZXMocm93KVwiXG4gICAgPlxuICAgICAgPHdhdHQtaWNvbiBuYW1lPVwicmlnaHRcIiBzaXplPVwieHNcIiAvPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zKCkgfCBrZXl2YWx1ZTsgdHJhY2sgY29sdW1uLmtleSkge1xuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCIgW3N0aWNreUVuZF09XCJjb2x1bW4udmFsdWUuc3RpY2t5RW5kPy4oKVwiPlxuICAgICAgPHRoXG4gICAgICAgIG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICBbY2xhc3Mud2F0dC10YWJsZS1jZWxsLS1leHBhbmRhYmxlXT1cImNvbHVtbi52YWx1ZS5leHBhbmRhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJ3YXR0LXRhYmxlLWFsaWduLXt7IGNvbHVtbi52YWx1ZS5hbGlnbiA/PyAnbGVmdCcgfX0ge3tcbiAgICAgICAgICBjb2x1bW4udmFsdWUuaGVhZGVyQ2VsbENsYXNzXG4gICAgICAgIH19XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChjb2x1bW4udmFsdWUuaGVscGVyQWN0aW9uOyBhcyBhY3Rpb24pIHtcbiAgICAgICAgICA8d2F0dC1pY29uIG5hbWU9XCJoZWxwXCIgKGNsaWNrKT1cImFjdGlvbigpXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIndhdHQtdGFibGUtaGVhZGVyLWNlbGxcIlxuICAgICAgICAgIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgIFthcnJvd1Bvc2l0aW9uXT1cImNvbHVtbi52YWx1ZS5hbGlnbiA9PT0gJ3JpZ2h0JyA/ICdiZWZvcmUnIDogJ2FmdGVyJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFjb2x1bW4udmFsdWUuYWNjZXNzb3IgfHwgY29sdW1uLnZhbHVlLnNvcnQgPT09IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldENvbHVtbkhlYWRlcihjb2x1bW4pIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKGNvbHVtbi52YWx1ZS50b29sdGlwOyBhcyB0b29sdGlwKSB7XG4gICAgICAgICAgPHdhdHQtaWNvbiBbdGl0bGVdPVwidG9vbHRpcFwiIG5hbWU9XCJpbmZvXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC90aD5cblxuICAgICAgPHRkXG4gICAgICAgICN0ZFxuICAgICAgICBtYXQtY2VsbFxuICAgICAgICAqbWF0Q2VsbERlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgW2F0dHIuZGF0YS1rZXldPVwiZ2V0Um93S2V5KGluZGV4LCByb3cpXCJcbiAgICAgICAgW2F0dHIuZGF0YS1yb3ctaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICBbY2xhc3Mud2F0dC10YWJsZS1jZWxsLS1leHBhbmRlZF09XCJleHBhbmRlZCgpLmluY2x1ZGVzKHJvdylcIlxuICAgICAgICBbY2xhc3Mud2F0dC10YWJsZS1jZWxsLS1leHBhbmRhYmxlXT1cImNvbHVtbi52YWx1ZS5leHBhbmRhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJ3YXR0LXRhYmxlLWFsaWduLXt7IGNvbHVtbi52YWx1ZS5hbGlnbiA/PyAnbGVmdCcgfX0ge3sgY29sdW1uLnZhbHVlLmRhdGFDZWxsQ2xhc3MgfX1cIlxuICAgICAgICAoY2xpY2spPVwiIWNvbHVtbi52YWx1ZS5leHBhbmRhYmxlICYmIG9uUm93Q2xpY2socm93KVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoaXNFeHBhbmRhYmxlKCkpIHtcbiAgICAgICAgICBAZGVmZXIgKHdoZW4gIWNvbHVtbi52YWx1ZS5leHBhbmRhYmxlIHx8IGV4cGFuZGVkKCkuaW5jbHVkZXMocm93KSkge1xuICAgICAgICAgICAgQGlmIChnZXRDb2x1bW5UZW1wbGF0ZShjb2x1bW4udmFsdWUpOyBhcyB0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2F0dC10YWJsZS1jZWxsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb3csIGluZGV4IH1cIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICB7eyBnZXRDb2x1bW5DZWxsKGNvbHVtbi52YWx1ZSwgcm93KSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQGlmIChnZXRDb2x1bW5UZW1wbGF0ZShjb2x1bW4udmFsdWUpOyBhcyB0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndhdHQtdGFibGUtY2VsbC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdywgaW5kZXggfVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHt7IGdldENvbHVtbkNlbGwoY29sdW1uLnZhbHVlLCByb3cpIH19XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L3RkPlxuXG4gICAgICBAaWYgKGhhc0Zvb3RlcigpKSB7XG4gICAgICAgIDx0ZFxuICAgICAgICAgIG1hdC1mb290ZXItY2VsbFxuICAgICAgICAgICptYXRGb290ZXJDZWxsRGVmXG4gICAgICAgICAgY2xhc3M9XCJ7eyBjb2x1bW4udmFsdWUuZm9vdGVyPy5jbGFzcyB9fSB3YXR0LXRhYmxlLWFsaWduLXt7XG4gICAgICAgICAgICBjb2x1bW4udmFsdWUuYWxpZ24gPz8gJ2xlZnQnXG4gICAgICAgICAgfX0gXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNvbHVtbi52YWx1ZS5mb290ZXI/LnZhbHVlPy4oKSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgfVxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzcGFjZXJcIj5cbiAgICA8dGQgY2xhc3M9XCJ3YXR0LXRhYmxlLWZvb3Rlci1zcGFjZXJcIiBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgQGlmICghaGlkZUNvbHVtbkhlYWRlcnMoKSkge1xuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwicmVuZGVyZWRDb2x1bW5zKClcIj48L3RyPlxuICB9XG4gIDx0clxuICAgIG1hdC1yb3dcbiAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogcmVuZGVyZWRDb2x1bW5zKClcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwicm93ID09PSBhY3RpdmVSb3coKVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3dhdHQtdGFibGUtaGlnaGxpZ2h0LXJvdyc6ICFkaXNhYmxlZCgpICYmICFzdXBwcmVzc1Jvd0hvdmVySGlnaGxpZ2h0KCksXG4gICAgICAnd2F0dC10YWJsZS1jbGlja2FibGUtcm93JzogIWRpc2FibGVkKCkgJiYgcm93Q2xpY2skLm9ic2VydmVkLFxuICAgICAgJ3dhdHQtdGFibGUtYWN0aXZlLXJvdyc6IGlzQWN0aXZlUm93KHJvdyksXG4gICAgICAnd2F0dC10YWJsZS1uby1lbmQtZGl2aWRlcic6IGhpZGVDb2x1bW5IZWFkZXJzKCksXG4gICAgfVwiXG4gID48L3RyPlxuXG4gIEBpZiAodG9vbGJhcigpKSB7XG4gICAgPHRyIG1hdC1mb290ZXItcm93ICptYXRGb290ZXJSb3dEZWY9XCJbJ3NwYWNlciddXCI+PC90cj5cbiAgfVxuXG4gIEBpZiAoaGFzRm9vdGVyKCkpIHtcbiAgICA8dHJcbiAgICAgIG1hdC1mb290ZXItcm93XG4gICAgICBbY2xhc3Mud2F0dC10YWJsZS1oaWRlLWZvb3Rlcl09XCJsb2FkaW5nKCkgfHwgZGF0YVNvdXJjZSgpLmZpbHRlcmVkRGF0YS5sZW5ndGggPT09IDBcIlxuICAgICAgKm1hdEZvb3RlclJvd0RlZj1cInJlbmRlcmVkQ29sdW1ucygpOyBzdGlja3k6IHN0aWNreUZvb3RlcigpXCJcbiAgICA+PC90cj5cbiAgfVxuXG4gIDxuZy1jb250YWluZXIgKm1hdE5vRGF0YVJvdz5cbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgQGZvciAoaSBvZiBbMSwgMiwgM107IHRyYWNrIGkpIHtcbiAgICAgICAgPHRyIGNsYXNzPVwibWF0LW1kYy1yb3dcIj5cbiAgICAgICAgICBAZm9yIChfIG9mIHJlbmRlcmVkQ29sdW1ucygpOyB0cmFjayBfOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsXCIgW2NsYXNzLndhdHQtdGFibGUtbG9hZGluZy1jZWxsXT1cImkgPiAwIHx8ICFzZWxlY3RhYmxlKClcIj48L3RkPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90cj5cbiAgICAgIH1cbiAgICB9XG4gIDwvbmctY29udGFpbmVyPlxuPC90YWJsZT5cblxuQGlmICh0b29sYmFyKCk7IGFzIHRvb2xiYXIpIHtcbiAgPGRpdiBjbGFzcz1cIndhdHQtdGFibGUtdG9vbGJhclwiIHJvbGU9XCJ0b29sYmFyXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgdG9vbGJhci50ZW1wbGF0ZVJlZjtcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGZpbHRlclNlbGVjdGlvbkJ5KGRhdGFTb3VyY2UoKS5maWx0ZXJlZERhdGEpIH1cbiAgICAgIFwiXG4gICAgLz5cbiAgPC9kaXY+XG59XG4iXX0=
@@ -16,73 +16,68 @@
16
16
  * limitations under the License.
17
17
  */
18
18
  //#endregion
19
- import { Component, ElementRef, HostBinding, inject, Input, Renderer2, ViewChild, } from '@angular/core';
19
+ import { Component, computed, DestroyRef, effect, ElementRef, inject, input, Renderer2, } from '@angular/core';
20
20
  import { createPopper } from '@popperjs/core';
21
21
  import { Platform } from '@angular/cdk/platform';
22
22
  import { FocusMonitor } from '@angular/cdk/a11y';
23
- import { Subject, takeUntil } from 'rxjs';
23
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
24
24
  import * as i0 from "@angular/core";
25
25
  export class WattTooltipComponent {
26
26
  static nextId = 0;
27
- text;
28
- target;
29
- position;
30
- variant;
31
- arrow;
27
+ text = input.required(...(ngDevMode ? [{ debugName: "text" }] : []));
28
+ target = input.required(...(ngDevMode ? [{ debugName: "target" }] : []));
29
+ position = input.required(...(ngDevMode ? [{ debugName: "position" }] : []));
30
+ variant = input.required(...(ngDevMode ? [{ debugName: "variant" }] : []));
32
31
  id = `watt-tooltip-${WattTooltipComponent.nextId++}`; // used by aria-describedby
33
- role = 'tooltip';
34
- get hostClass() {
35
- return `tooltip-${this.variant}`;
36
- }
32
+ hostClass = computed(() => `tooltip-${this.variant()}`, ...(ngDevMode ? [{ debugName: "hostClass" }] : []));
37
33
  element = inject(ElementRef).nativeElement;
38
34
  platform = inject(Platform);
39
35
  renderer = inject(Renderer2);
40
36
  focusMonitor = inject(FocusMonitor);
41
- /** Emits when the component is destroyed. */
42
- destroyed = new Subject();
37
+ destroyRef = inject(DestroyRef);
43
38
  listeners = [];
44
39
  showClass = 'show';
45
40
  popper = null;
46
- ngAfterViewInit() {
47
- this.setupEventListeners();
48
- this.focusMonitor
49
- .monitor(this.target, true)
50
- .pipe(takeUntil(this.destroyed))
51
- .subscribe((origin) => {
52
- if (!origin) {
53
- this.hide();
54
- }
55
- else if (origin === 'keyboard') {
56
- this.show();
57
- }
41
+ constructor() {
42
+ this.destroyRef.onDestroy(() => {
43
+ this.popper?.destroy();
44
+ this.listeners.forEach((listener) => listener());
45
+ });
46
+ effect(() => {
47
+ this.setupEventListeners();
48
+ this.focusMonitor
49
+ .monitor(this.target(), true)
50
+ .pipe(takeUntilDestroyed(this.destroyRef))
51
+ .subscribe((origin) => {
52
+ if (!origin) {
53
+ this.hide();
54
+ }
55
+ else if (origin === 'keyboard') {
56
+ this.show();
57
+ }
58
+ });
58
59
  });
59
- }
60
- ngOnDestroy() {
61
- this.popper?.destroy();
62
- this.listeners.forEach((listener) => listener());
63
- this.destroyed.next();
64
- this.destroyed.complete();
65
60
  }
66
61
  setupEventListeners() {
67
62
  // The mouse events shouldn't be bound on mobile devices, because they can prevent the
68
63
  // first tap from firing its click event or can cause the tooltip to open for clicks.
69
64
  if (this.platformSupportsMouseEvents()) {
70
- const mouseEnter = this.renderer.listen(this.target, 'mouseenter', this.show.bind(this));
71
- const mouseLeave = this.renderer.listen(this.target, 'mouseleave', this.hide.bind(this));
72
- const wheel = this.renderer.listen(this.target, 'wheel', this.hide.bind(this));
65
+ const mouseEnter = this.renderer.listen(this.target(), 'mouseenter', this.show.bind(this));
66
+ const mouseLeave = this.renderer.listen(this.target(), 'mouseleave', this.hide.bind(this));
67
+ const wheel = this.renderer.listen(this.target(), 'wheel', this.hide.bind(this));
73
68
  this.listeners.push(mouseEnter, mouseLeave, wheel);
74
69
  }
75
70
  else {
76
- const touchStart = this.renderer.listen(this.target, 'touchstart', this.show.bind(this));
77
- const touchEnd = this.renderer.listen(this.target, 'touchend', this.hide.bind(this));
78
- const touchCancel = this.renderer.listen(this.target, 'touchcancel', this.hide.bind(this));
71
+ const touchStart = this.renderer.listen(this.target(), 'touchstart', this.show.bind(this));
72
+ const touchEnd = this.renderer.listen(this.target(), 'touchend', this.hide.bind(this));
73
+ const touchCancel = this.renderer.listen(this.target(), 'touchcancel', this.hide.bind(this));
79
74
  this.listeners.push(touchStart, touchEnd, touchCancel);
80
75
  }
81
76
  }
82
77
  show() {
83
78
  if (!this.popper) {
84
- this.popper = createPopper(this.target, this.element, {
85
- placement: this.position,
79
+ this.popper = createPopper(this.target(), this.element, {
80
+ placement: this.position(),
86
81
  });
87
82
  }
88
83
  else {
@@ -97,35 +92,20 @@ export class WattTooltipComponent {
97
92
  return !this.platform.IOS && !this.platform.ANDROID;
98
93
  }
99
94
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
100
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: WattTooltipComponent, isStandalone: true, selector: "watt-tooltip", inputs: { text: "text", target: "target", position: "position", variant: "variant" }, host: { properties: { "id": "this.id", "attr.role": "this.role", "class": "this.hostClass" } }, viewQueries: [{ propertyName: "arrow", first: true, predicate: ["arrow"], descendants: true }], ngImport: i0, template: `
101
- {{ text }}
102
- <div class="arrow"></div>
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: WattTooltipComponent, isStandalone: true, selector: "watt-tooltip", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: true, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "id": "id", "attr.role": "\"tooltip\"", "class": "hostClass()" } }, ngImport: i0, template: `
96
+ {{ text() }}
97
+ <div #arrow class="arrow"></div>
103
98
  `, isInline: true, styles: [":host{position:absolute;left:0;pointer-events:none;z-index:1000;display:inline-block;line-height:18px;border-radius:6px;padding:var(--watt-space-xs) var(--watt-space-s);font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;opacity:0;transition:opacity .3s ease-in-out}:host.tooltip-dark{background:var(--watt-color-primary-dark);color:var(--watt-color-primary-dark-contrast)}:host.tooltip-light{background:var(--watt-color-neutral-white);color:var(--watt-color-primary-light-contrast)}:host.show{opacity:1}:host[data-popper-placement^=top]{inset-block-end:6px!important}:host[data-popper-placement^=bottom]{inset-block-start:6px!important}:host[data-popper-placement^=bottom]>.arrow{top:-4px}:host[data-popper-placement^=left]{inset-inline-end:6px!important}:host[data-popper-placement^=left]>.arrow{right:-4px}:host[data-popper-placement^=right]{inset-inline-start:6px!important}:host[data-popper-placement^=right]>.arrow{left:-4px}:host[data-popper-placement=left]>.arrow,:host[data-popper-placement=right]>.arrow{top:calc(50% - 4px)}:host[data-popper-placement=top]>.arrow,:host[data-popper-placement=bottom]>.arrow{left:calc(50% - 4px)!important}:host[data-popper-placement=top-end]>.arrow,:host[data-popper-placement=bottom-end]>.arrow{left:10px!important}:host[data-popper-placement=top-start]>.arrow,:host[data-popper-placement=bottom-start]>.arrow{left:calc(100% - 18px)}.arrow,.arrow:before{position:absolute;width:8px;height:8px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:\"\";transform:rotate(45deg)}\n"] });
104
99
  }
105
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattTooltipComponent, decorators: [{
106
101
  type: Component,
107
102
  args: [{ template: `
108
- {{ text }}
109
- <div class="arrow"></div>
110
- `, selector: 'watt-tooltip', styles: [":host{position:absolute;left:0;pointer-events:none;z-index:1000;display:inline-block;line-height:18px;border-radius:6px;padding:var(--watt-space-xs) var(--watt-space-s);font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;opacity:0;transition:opacity .3s ease-in-out}:host.tooltip-dark{background:var(--watt-color-primary-dark);color:var(--watt-color-primary-dark-contrast)}:host.tooltip-light{background:var(--watt-color-neutral-white);color:var(--watt-color-primary-light-contrast)}:host.show{opacity:1}:host[data-popper-placement^=top]{inset-block-end:6px!important}:host[data-popper-placement^=bottom]{inset-block-start:6px!important}:host[data-popper-placement^=bottom]>.arrow{top:-4px}:host[data-popper-placement^=left]{inset-inline-end:6px!important}:host[data-popper-placement^=left]>.arrow{right:-4px}:host[data-popper-placement^=right]{inset-inline-start:6px!important}:host[data-popper-placement^=right]>.arrow{left:-4px}:host[data-popper-placement=left]>.arrow,:host[data-popper-placement=right]>.arrow{top:calc(50% - 4px)}:host[data-popper-placement=top]>.arrow,:host[data-popper-placement=bottom]>.arrow{left:calc(50% - 4px)!important}:host[data-popper-placement=top-end]>.arrow,:host[data-popper-placement=bottom-end]>.arrow{left:10px!important}:host[data-popper-placement=top-start]>.arrow,:host[data-popper-placement=bottom-start]>.arrow{left:calc(100% - 18px)}.arrow,.arrow:before{position:absolute;width:8px;height:8px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:\"\";transform:rotate(45deg)}\n"] }]
111
- }], propDecorators: { text: [{
112
- type: Input
113
- }], target: [{
114
- type: Input
115
- }], position: [{
116
- type: Input
117
- }], variant: [{
118
- type: Input
119
- }], arrow: [{
120
- type: ViewChild,
121
- args: ['arrow']
122
- }], id: [{
123
- type: HostBinding
124
- }], role: [{
125
- type: HostBinding,
126
- args: ['attr.role']
127
- }], hostClass: [{
128
- type: HostBinding,
129
- args: ['class']
130
- }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10b29sdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3Rvb2x0aXAvd2F0dC10b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBWTFDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFVCxJQUFJLENBQVU7SUFDZCxNQUFNLENBQWU7SUFDckIsUUFBUSxDQUF1QjtJQUMvQixPQUFPLENBQXNCO0lBRWxCLEtBQUssQ0FBMkI7SUFFckMsRUFBRSxHQUFHLGdCQUFnQixvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsMkJBQTJCO0lBQ3RFLElBQUksR0FBRyxTQUFTLENBQUM7SUFDM0MsSUFBMEIsU0FBUztRQUNqQyxPQUFPLFdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxPQUFPLEdBQWdCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDeEQsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixRQUFRLEdB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QUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNwRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTywyQkFBMkI7UUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDdEQsQ0FBQzt1R0FuRlUsb0JBQW9COzJGQUFwQixvQkFBb0IsOFZBUHJCOzs7R0FHVDs7MkZBSVUsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFOzs7R0FHVCxZQUNTLGNBQWM7O3NCQU12QixLQUFLOztzQkFDTCxLQUFLOztzQkFDTCxLQUFLOztzQkFDTCxLQUFLOztzQkFFTCxTQUFTO3VCQUFDLE9BQU87O3NCQUVqQixXQUFXOztzQkFDWCxXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZVBvcHBlciwgSW5zdGFuY2UgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbmltcG9ydCB7IHdhdHRUb29sdGlwUG9zaXRpb24sIHdhdHRUb29sdGlwVmFyaWFudCB9IGZyb20gJy4vd2F0dC10b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxudHlwZSB1bmxpc3RlbmVyRnVuY3Rpb24gPSAoKSA9PiB2b2lkO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICB7eyB0ZXh0IH19XG4gICAgPGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+XG4gIGAsXG4gIHNlbGVjdG9yOiAnd2F0dC10b29sdGlwJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC10b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRUb29sdGlwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgQElucHV0KCkgdGV4dCE6IHN0cmluZztcbiAgQElucHV0KCkgdGFyZ2V0ITogSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHBvc2l0aW9uITogd2F0dFRvb2x0aXBQb3NpdGlvbjtcbiAgQElucHV0KCkgdmFyaWFudCE6IHdhdHRUb29sdGlwVmFyaWFudDtcblxuICBAVmlld0NoaWxkKCdhcnJvdycpIGFycm93ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgd2F0dC10b29sdGlwLSR7V2F0dFRvb2x0aXBDb21wb25lbnQubmV4dElkKyt9YDsgLy8gdXNlZCBieSBhcmlhLWRlc2NyaWJlZGJ5XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICd0b29sdGlwJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBob3N0Q2xhc3MoKSB7XG4gICAgcmV0dXJuIGB0b29sdGlwLSR7dGhpcy52YXJpYW50fWA7XG4gIH1cblxuICBwcml2YXRlIGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm0pO1xuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgbGlzdGVuZXJzOiB1bmxpc3RlbmVyRnVuY3Rpb25bXSA9IFtdO1xuICBwcml2YXRlIHNob3dDbGFzcyA9ICdzaG93JztcblxuICBwcml2YXRlIHBvcHBlcjogSW5zdGFuY2UgfCBudWxsID0gbnVsbDtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICB0aGlzLmZvY3VzTW9uaXRvclxuICAgICAgLm1vbml0b3IodGhpcy50YXJnZXQsIHRydWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZSgob3JpZ2luKSA9PiB7XG4gICAgICAgIGlmICghb3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5wb3BwZXI/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIoKSk7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLy8gVGhlIG1vdXNlIGV2ZW50cyBzaG91bGRuJ3QgYmUgYm91bmQgb24gbW9iaWxlIGRldmljZXMsIGJlY2F1c2UgdGhleSBjYW4gcHJldmVudCB0aGVcbiAgICAvLyBmaXJzdCB0YXAgZnJvbSBmaXJpbmcgaXRzIGNsaWNrIGV2ZW50IG9yIGNhbiBjYXVzZSB0aGUgdG9vbHRpcCB0byBvcGVuIGZvciBjbGlja3MuXG4gICAgaWYgKHRoaXMucGxhdGZvcm1TdXBwb3J0c01vdXNlRXZlbnRzKCkpIHtcbiAgICAgIGNvbnN0IG1vdXNlRW50ZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLnRhcmdldCwgJ21vdXNlZW50ZXInLCB0aGlzLnNob3cuYmluZCh0aGlzKSk7XG4gICAgICBjb25zdCBtb3VzZUxlYXZlID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy50YXJnZXQsICdtb3VzZWxlYXZlJywgdGhpcy5oaWRlLmJpbmQodGhpcykpO1xuICAgICAgY29uc3Qgd2hlZWwgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLnRhcmdldCwgJ3doZWVsJywgdGhpcy5oaWRlLmJpbmQodGhpcykpO1xuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaChtb3VzZUVudGVyLCBtb3VzZUxlYXZlLCB3aGVlbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRvdWNoU3RhcnQgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLnRhcmdldCwgJ3RvdWNoc3RhcnQnLCB0aGlzLnNob3cuYmluZCh0aGlzKSk7XG4gICAgICBjb25zdCB0b3VjaEVuZCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMudGFyZ2V0LCAndG91Y2hlbmQnLCB0aGlzLmhpZGUuYmluZCh0aGlzKSk7XG4gICAgICBjb25zdCB0b3VjaENhbmNlbCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMudGFyZ2V0LCAndG91Y2hjYW5jZWwnLCB0aGlzLmhpZGUuYmluZCh0aGlzKSk7XG4gICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKHRvdWNoU3RhcnQsIHRvdWNoRW5kLCB0b3VjaENhbmNlbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wb3BwZXIpIHtcbiAgICAgIHRoaXMucG9wcGVyID0gY3JlYXRlUG9wcGVyKHRoaXMudGFyZ2V0LCB0aGlzLmVsZW1lbnQsIHtcbiAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBvc2l0aW9uLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucG9wcGVyLmZvcmNlVXBkYXRlKCk7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50LCB0aGlzLnNob3dDbGFzcyk7XG4gIH1cblxuICBwcml2YXRlIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnQsIHRoaXMuc2hvd0NsYXNzKTtcbiAgfVxuXG4gIHByaXZhdGUgcGxhdGZvcm1TdXBwb3J0c01vdXNlRXZlbnRzKCkge1xuICAgIHJldHVybiAhdGhpcy5wbGF0Zm9ybS5JT1MgJiYgIXRoaXMucGxhdGZvcm0uQU5EUk9JRDtcbiAgfVxufVxuIl19
103
+ {{ text() }}
104
+ <div #arrow class="arrow"></div>
105
+ `, selector: 'watt-tooltip', host: {
106
+ '[id]': 'id',
107
+ '[attr.role]': '"tooltip"',
108
+ '[class]': 'hostClass()',
109
+ }, styles: [":host{position:absolute;left:0;pointer-events:none;z-index:1000;display:inline-block;line-height:18px;border-radius:6px;padding:var(--watt-space-xs) var(--watt-space-s);font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;opacity:0;transition:opacity .3s ease-in-out}:host.tooltip-dark{background:var(--watt-color-primary-dark);color:var(--watt-color-primary-dark-contrast)}:host.tooltip-light{background:var(--watt-color-neutral-white);color:var(--watt-color-primary-light-contrast)}:host.show{opacity:1}:host[data-popper-placement^=top]{inset-block-end:6px!important}:host[data-popper-placement^=bottom]{inset-block-start:6px!important}:host[data-popper-placement^=bottom]>.arrow{top:-4px}:host[data-popper-placement^=left]{inset-inline-end:6px!important}:host[data-popper-placement^=left]>.arrow{right:-4px}:host[data-popper-placement^=right]{inset-inline-start:6px!important}:host[data-popper-placement^=right]>.arrow{left:-4px}:host[data-popper-placement=left]>.arrow,:host[data-popper-placement=right]>.arrow{top:calc(50% - 4px)}:host[data-popper-placement=top]>.arrow,:host[data-popper-placement=bottom]>.arrow{left:calc(50% - 4px)!important}:host[data-popper-placement=top-end]>.arrow,:host[data-popper-placement=bottom-end]>.arrow{left:10px!important}:host[data-popper-placement=top-start]>.arrow,:host[data-popper-placement=bottom-start]>.arrow{left:calc(100% - 18px)}.arrow,.arrow:before{position:absolute;width:8px;height:8px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:\"\";transform:rotate(45deg)}\n"] }]
110
+ }], ctorParameters: () => [], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: true }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: true }] }] } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10b29sdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3Rvb2x0aXAvd2F0dC10b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWlCaEUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVsQixJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsK0NBQVUsQ0FBQztJQUNoQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsaURBQWUsQ0FBQztJQUN2QyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsbURBQXVCLENBQUM7SUFDakQsT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLGtEQUFzQixDQUFDO0lBRXRDLEVBQUUsR0FBRyxnQkFBZ0Isb0JBQW9CLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQjtJQUMxRixTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLHFEQUFDLENBQUM7SUFFaEQsT0FBTyxHQUFnQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3hELFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsUUFBUSxHQUFjLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxZQUFZLEdBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWhDLFNBQVMsR0FBeUIsRUFBRSxDQUFDO0lBQ3JDLFNBQVMsR0FBRyxNQUFNLENBQUM7SUFDbkIsTUFBTSxHQUFvQixJQUFJLENBQUM7SUFFdkM7UUFDRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUUzQixJQUFJLENBQUMsWUFBWTtpQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQztpQkFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDekMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDWixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2QsQ0FBQztxQkFBTSxJQUFJLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixzRkFBc0Y7UUFDdEYscUZBQXFGO1FBQ3JGLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDM0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN2RixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN0RCxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTthQUMzQixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxJQUFJO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUN0RCxDQUFDO3VHQTVFVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix5cEJBWnJCOzs7R0FHVDs7MkZBU1Usb0JBQW9CO2tCQWJoQyxTQUFTOytCQUNFOzs7R0FHVCxZQUNTLGNBQWMsUUFFbEI7d0JBQ0osTUFBTSxFQUFFLElBQUk7d0JBQ1osYUFBYSxFQUFFLFdBQVc7d0JBQzFCLFNBQVMsRUFBRSxhQUFhO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZVBvcHBlciwgSW5zdGFuY2UgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbmltcG9ydCB7IHdhdHRUb29sdGlwUG9zaXRpb24sIHdhdHRUb29sdGlwVmFyaWFudCB9IGZyb20gJy4vd2F0dC10b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbnR5cGUgdW5saXN0ZW5lckZ1bmN0aW9uID0gKCkgPT4gdm9pZDtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAge3sgdGV4dCgpIH19XG4gICAgPGRpdiAjYXJyb3cgY2xhc3M9XCJhcnJvd1wiPjwvZGl2PlxuICBgLFxuICBzZWxlY3RvcjogJ3dhdHQtdG9vbHRpcCcsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7XG4gICAgJ1tpZF0nOiAnaWQnLFxuICAgICdbYXR0ci5yb2xlXSc6ICdcInRvb2x0aXBcIicsXG4gICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0VG9vbHRpcENvbXBvbmVudCB7XG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gIHRleHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHRhcmdldCA9IGlucHV0LnJlcXVpcmVkPEhUTUxFbGVtZW50PigpO1xuICBwb3NpdGlvbiA9IGlucHV0LnJlcXVpcmVkPHdhdHRUb29sdGlwUG9zaXRpb24+KCk7XG4gIHZhcmlhbnQgPSBpbnB1dC5yZXF1aXJlZDx3YXR0VG9vbHRpcFZhcmlhbnQ+KCk7XG5cbiAgcmVhZG9ubHkgaWQgPSBgd2F0dC10b29sdGlwLSR7V2F0dFRvb2x0aXBDb21wb25lbnQubmV4dElkKyt9YDsgLy8gdXNlZCBieSBhcmlhLWRlc2NyaWJlZGJ5XG4gIGhvc3RDbGFzcyA9IGNvbXB1dGVkKCgpID0+IGB0b29sdGlwLSR7dGhpcy52YXJpYW50KCl9YCk7XG5cbiAgcHJpdmF0ZSBlbGVtZW50OiBIVE1MRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtKTtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHByaXZhdGUgbGlzdGVuZXJzOiB1bmxpc3RlbmVyRnVuY3Rpb25bXSA9IFtdO1xuICBwcml2YXRlIHNob3dDbGFzcyA9ICdzaG93JztcbiAgcHJpdmF0ZSBwb3BwZXI6IEluc3RhbmNlIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICB0aGlzLnBvcHBlcj8uZGVzdHJveSgpO1xuICAgICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IGxpc3RlbmVyKCkpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpO1xuXG4gICAgICB0aGlzLmZvY3VzTW9uaXRvclxuICAgICAgICAubW9uaXRvcih0aGlzLnRhcmdldCgpLCB0cnVlKVxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgLnN1YnNjcmliZSgob3JpZ2luKSA9PiB7XG4gICAgICAgICAgaWYgKCFvcmlnaW4pIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIC8vIFRoZSBtb3VzZSBldmVudHMgc2hvdWxkbid0IGJlIGJvdW5kIG9uIG1vYmlsZSBkZXZpY2VzLCBiZWNhdXNlIHRoZXkgY2FuIHByZXZlbnQgdGhlXG4gICAgLy8gZmlyc3QgdGFwIGZyb20gZmlyaW5nIGl0cyBjbGljayBldmVudCBvciBjYW4gY2F1c2UgdGhlIHRvb2x0aXAgdG8gb3BlbiBmb3IgY2xpY2tzLlxuICAgIGlmICh0aGlzLnBsYXRmb3JtU3VwcG9ydHNNb3VzZUV2ZW50cygpKSB7XG4gICAgICBjb25zdCBtb3VzZUVudGVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy50YXJnZXQoKSwgJ21vdXNlZW50ZXInLCB0aGlzLnNob3cuYmluZCh0aGlzKSk7XG4gICAgICBjb25zdCBtb3VzZUxlYXZlID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy50YXJnZXQoKSwgJ21vdXNlbGVhdmUnLCB0aGlzLmhpZGUuYmluZCh0aGlzKSk7XG4gICAgICBjb25zdCB3aGVlbCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMudGFyZ2V0KCksICd3aGVlbCcsIHRoaXMuaGlkZS5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2gobW91c2VFbnRlciwgbW91c2VMZWF2ZSwgd2hlZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0b3VjaFN0YXJ0ID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy50YXJnZXQoKSwgJ3RvdWNoc3RhcnQnLCB0aGlzLnNob3cuYmluZCh0aGlzKSk7XG4gICAgICBjb25zdCB0b3VjaEVuZCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMudGFyZ2V0KCksICd0b3VjaGVuZCcsIHRoaXMuaGlkZS5iaW5kKHRoaXMpKTtcbiAgICAgIGNvbnN0IHRvdWNoQ2FuY2VsID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy50YXJnZXQoKSwgJ3RvdWNoY2FuY2VsJywgdGhpcy5oaWRlLmJpbmQodGhpcykpO1xuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0b3VjaFN0YXJ0LCB0b3VjaEVuZCwgdG91Y2hDYW5jZWwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucG9wcGVyKSB7XG4gICAgICB0aGlzLnBvcHBlciA9IGNyZWF0ZVBvcHBlcih0aGlzLnRhcmdldCgpLCB0aGlzLmVsZW1lbnQsIHtcbiAgICAgICAgcGxhY2VtZW50OiB0aGlzLnBvc2l0aW9uKCksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wb3BwZXIuZm9yY2VVcGRhdGUoKTtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnQsIHRoaXMuc2hvd0NsYXNzKTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudCwgdGhpcy5zaG93Q2xhc3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBwbGF0Zm9ybVN1cHBvcnRzTW91c2VFdmVudHMoKSB7XG4gICAgcmV0dXJuICF0aGlzLnBsYXRmb3JtLklPUyAmJiAhdGhpcy5wbGF0Zm9ybS5BTkRST0lEO1xuICB9XG59XG4iXX0=
@@ -16,30 +16,46 @@
16
16
  * limitations under the License.
17
17
  */
18
18
  //#endregion
19
- import { Directive, ElementRef, inject, Input, ViewContainerRef, } from '@angular/core';
19
+ import { computed, DestroyRef, Directive, effect, ElementRef, inject, input, ViewContainerRef, } from '@angular/core';
20
20
  import { WattTooltipComponent } from './watt-tooltip.component';
21
21
  import * as i0 from "@angular/core";
22
22
  export class WattTooltipDirective {
23
- text;
24
- position = 'top';
25
- variant = 'dark';
23
+ text = input('', ...(ngDevMode ? [{ debugName: "text", alias: 'wattTooltip' }] : [{ alias: 'wattTooltip' }]));
24
+ position = input('top', ...(ngDevMode ? [{ debugName: "position", alias: 'wattTooltipPosition' }] : [{ alias: 'wattTooltipPosition' }]));
25
+ variant = input('dark', ...(ngDevMode ? [{ debugName: "variant", alias: 'wattTooltipVariant' }] : [{ alias: 'wattTooltipVariant' }]));
26
26
  element = inject(ElementRef).nativeElement;
27
27
  viewContainerRef = inject(ViewContainerRef);
28
- ngOnChanges(changes) {
29
- if (changes['text']) {
30
- this.createTooltipComponent();
31
- }
28
+ destroyRef = inject(DestroyRef);
29
+ tooltip = computed(() => this.createTooltipComponent(), ...(ngDevMode ? [{ debugName: "tooltip" }] : []));
30
+ constructor() {
31
+ // Setup effect to manage tooltip component lifecycle
32
+ effect(() => {
33
+ // Access the tooltip computed to create/update it when inputs change
34
+ const tooltipComponent = this.tooltip();
35
+ // Cleanup on destroy
36
+ this.destroyRef.onDestroy(() => {
37
+ tooltipComponent?.destroy();
38
+ this.element.removeAttribute('aria-describedby');
39
+ });
40
+ });
32
41
  }
33
42
  createTooltipComponent() {
34
- const tooltip = this.viewContainerRef.createComponent(WattTooltipComponent);
35
- tooltip.instance.text = this.text;
36
- tooltip.instance.target = this.element;
37
- tooltip.instance.position = this.position;
38
- tooltip.instance.variant = this.variant;
39
- this.element.setAttribute('aria-describedby', tooltip.instance.id);
43
+ if (!this.text())
44
+ return null;
45
+ // Create the component
46
+ const tooltipComponent = this.viewContainerRef.createComponent(WattTooltipComponent);
47
+ // Get the component instance
48
+ const instance = tooltipComponent.instance;
49
+ // Set up bindings
50
+ tooltipComponent.setInput('text', this.text());
51
+ tooltipComponent.setInput('target', this.element);
52
+ tooltipComponent.setInput('position', this.position());
53
+ tooltipComponent.setInput('variant', this.variant());
54
+ this.element.setAttribute('aria-describedby', instance.id);
55
+ return tooltipComponent;
40
56
  }
41
57
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
42
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: WattTooltipDirective, isStandalone: true, selector: "[wattTooltip]", inputs: { text: ["wattTooltip", "text"], position: ["wattTooltipPosition", "position"], variant: ["wattTooltipVariant", "variant"] }, exportAs: ["wattTooltip"], usesOnChanges: true, ngImport: i0 });
58
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.6", type: WattTooltipDirective, isStandalone: true, selector: "[wattTooltip]", inputs: { text: { classPropertyName: "text", publicName: "wattTooltip", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "wattTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "wattTooltipVariant", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["wattTooltip"], ngImport: i0 });
43
59
  }
44
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattTooltipDirective, decorators: [{
45
61
  type: Directive,
@@ -47,14 +63,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
47
63
  selector: '[wattTooltip]',
48
64
  exportAs: 'wattTooltip',
49
65
  }]
50
- }], propDecorators: { text: [{
51
- type: Input,
52
- args: ['wattTooltip']
53
- }], position: [{
54
- type: Input,
55
- args: ['wattTooltipPosition']
56
- }], variant: [{
57
- type: Input,
58
- args: ['wattTooltipVariant']
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10b29sdGlwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3Rvb2x0aXAvd2F0dC10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWtCaEUsTUFBTSxPQUFPLG9CQUFvQjtJQUNULElBQUksQ0FBVTtJQUNOLFFBQVEsR0FBd0IsS0FBSyxDQUFDO0lBQ3ZDLE9BQU8sR0FBdUIsTUFBTSxDQUFDO0lBRTFELE9BQU8sR0FBZ0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUN4RCxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVwRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUF1QixvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO3VHQXZCVSxvQkFBb0I7MkZBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCOztzQkFFRSxLQUFLO3VCQUFDLGFBQWE7O3NCQUNuQixLQUFLO3VCQUFDLHFCQUFxQjs7c0JBQzNCLEtBQUs7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXYXR0VG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vd2F0dC10b29sdGlwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIHdhdHRUb29sdGlwUG9zaXRpb24gPVxuICB8ICd0b3Atc3RhcnQnXG4gIHwgJ3RvcCdcbiAgfCAndG9wLWVuZCdcbiAgfCAncmlnaHQnXG4gIHwgJ2JvdHRvbS1zdGFydCdcbiAgfCAnYm90dG9tJ1xuICB8ICdib3R0b20tZW5kJ1xuICB8ICdsZWZ0JztcblxuZXhwb3J0IHR5cGUgd2F0dFRvb2x0aXBWYXJpYW50ID0gJ2RhcmsnIHwgJ2xpZ2h0JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dhdHRUb29sdGlwXScsXG4gIGV4cG9ydEFzOiAnd2F0dFRvb2x0aXAnLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0VG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgnd2F0dFRvb2x0aXAnKSB0ZXh0ITogc3RyaW5nO1xuICBASW5wdXQoJ3dhdHRUb29sdGlwUG9zaXRpb24nKSBwb3NpdGlvbjogd2F0dFRvb2x0aXBQb3NpdGlvbiA9ICd0b3AnO1xuICBASW5wdXQoJ3dhdHRUb29sdGlwVmFyaWFudCcpIHZhcmlhbnQ6IHdhdHRUb29sdGlwVmFyaWFudCA9ICdkYXJrJztcblxuICBwcml2YXRlIGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3RleHQnXSkge1xuICAgICAgdGhpcy5jcmVhdGVUb29sdGlwQ29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUb29sdGlwQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHRvb2x0aXAgPVxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxXYXR0VG9vbHRpcENvbXBvbmVudD4oV2F0dFRvb2x0aXBDb21wb25lbnQpO1xuICAgIHRvb2x0aXAuaW5zdGFuY2UudGV4dCA9IHRoaXMudGV4dDtcbiAgICB0b29sdGlwLmluc3RhbmNlLnRhcmdldCA9IHRoaXMuZWxlbWVudDtcbiAgICB0b29sdGlwLmluc3RhbmNlLnBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjtcbiAgICB0b29sdGlwLmluc3RhbmNlLnZhcmlhbnQgPSB0aGlzLnZhcmlhbnQ7XG5cbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JywgdG9vbHRpcC5pbnN0YW5jZS5pZCk7XG4gIH1cbn1cbiJdfQ==
66
+ }], ctorParameters: () => [], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "wattTooltip", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "wattTooltipPosition", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "wattTooltipVariant", required: false }] }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC10b29sdGlwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3Rvb2x0aXAvd2F0dC10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWtCaEUsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixJQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsd0NBQUksS0FBSyxFQUFFLGFBQWEsT0FBdEIsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUMsQ0FBQztJQUNuRCxRQUFRLEdBQUcsS0FBSyxDQUFzQixLQUFLLDRDQUFJLEtBQUssRUFBRSxxQkFBcUIsT0FBOUIsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsR0FBQyxDQUFDO0lBQy9FLE9BQU8sR0FBRyxLQUFLLENBQXFCLE1BQU0sMkNBQUksS0FBSyxFQUFFLG9CQUFvQixPQUE3QixFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxHQUFDLENBQUM7SUFFckUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDM0MsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxtREFBQyxDQUFDO0lBRWhFO1FBQ0UscURBQXFEO1FBQ3JELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixxRUFBcUU7WUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFeEMscUJBQXFCO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDN0IsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU5Qix1QkFBdUI7UUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFckYsNkJBQTZCO1FBQzdCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUUzQyxrQkFBa0I7UUFDbEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTNELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQzt1R0ExQ1Usb0JBQW9COzJGQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7XG4gIGNvbXB1dGVkLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFdhdHRUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LXRvb2x0aXAuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgd2F0dFRvb2x0aXBQb3NpdGlvbiA9XG4gIHwgJ3RvcC1zdGFydCdcbiAgfCAndG9wJ1xuICB8ICd0b3AtZW5kJ1xuICB8ICdyaWdodCdcbiAgfCAnYm90dG9tLXN0YXJ0J1xuICB8ICdib3R0b20nXG4gIHwgJ2JvdHRvbS1lbmQnXG4gIHwgJ2xlZnQnO1xuXG5leHBvcnQgdHlwZSB3YXR0VG9vbHRpcFZhcmlhbnQgPSAnZGFyaycgfCAnbGlnaHQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2F0dFRvb2x0aXBdJyxcbiAgZXhwb3J0QXM6ICd3YXR0VG9vbHRpcCcsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRUb29sdGlwRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgdGV4dCA9IGlucHV0PHN0cmluZz4oJycsIHsgYWxpYXM6ICd3YXR0VG9vbHRpcCcgfSk7XG4gIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8d2F0dFRvb2x0aXBQb3NpdGlvbj4oJ3RvcCcsIHsgYWxpYXM6ICd3YXR0VG9vbHRpcFBvc2l0aW9uJyB9KTtcbiAgcmVhZG9ubHkgdmFyaWFudCA9IGlucHV0PHdhdHRUb29sdGlwVmFyaWFudD4oJ2RhcmsnLCB7IGFsaWFzOiAnd2F0dFRvb2x0aXBWYXJpYW50JyB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgdG9vbHRpcCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3JlYXRlVG9vbHRpcENvbXBvbmVudCgpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBTZXR1cCBlZmZlY3QgdG8gbWFuYWdlIHRvb2x0aXAgY29tcG9uZW50IGxpZmVjeWNsZVxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAvLyBBY2Nlc3MgdGhlIHRvb2x0aXAgY29tcHV0ZWQgdG8gY3JlYXRlL3VwZGF0ZSBpdCB3aGVuIGlucHV0cyBjaGFuZ2VcbiAgICAgIGNvbnN0IHRvb2x0aXBDb21wb25lbnQgPSB0aGlzLnRvb2x0aXAoKTtcblxuICAgICAgLy8gQ2xlYW51cCBvbiBkZXN0cm95XG4gICAgICB0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgdG9vbHRpcENvbXBvbmVudD8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5Jyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVG9vbHRpcENvbXBvbmVudCgpIHtcbiAgICBpZiAoIXRoaXMudGV4dCgpKSByZXR1cm4gbnVsbDtcblxuICAgIC8vIENyZWF0ZSB0aGUgY29tcG9uZW50XG4gICAgY29uc3QgdG9vbHRpcENvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoV2F0dFRvb2x0aXBDb21wb25lbnQpO1xuXG4gICAgLy8gR2V0IHRoZSBjb21wb25lbnQgaW5zdGFuY2VcbiAgICBjb25zdCBpbnN0YW5jZSA9IHRvb2x0aXBDb21wb25lbnQuaW5zdGFuY2U7XG5cbiAgICAvLyBTZXQgdXAgYmluZGluZ3NcbiAgICB0b29sdGlwQ29tcG9uZW50LnNldElucHV0KCd0ZXh0JywgdGhpcy50ZXh0KCkpO1xuICAgIHRvb2x0aXBDb21wb25lbnQuc2V0SW5wdXQoJ3RhcmdldCcsIHRoaXMuZWxlbWVudCk7XG4gICAgdG9vbHRpcENvbXBvbmVudC5zZXRJbnB1dCgncG9zaXRpb24nLCB0aGlzLnBvc2l0aW9uKCkpO1xuICAgIHRvb2x0aXBDb21wb25lbnQuc2V0SW5wdXQoJ3ZhcmlhbnQnLCB0aGlzLnZhcmlhbnQoKSk7XG5cbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JywgaW5zdGFuY2UuaWQpO1xuXG4gICAgcmV0dXJuIHRvb2x0aXBDb21wb25lbnQ7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@energinet/watt",
4
- "version": "4.1.6",
4
+ "version": "4.1.8",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
7
7
  ".": {
@@ -114,6 +114,7 @@ export interface WattTableColumnFooter {
114
114
  export type WattTableColumnDef<T> = Record<string, WattTableColumn<T>>;
115
115
  interface WattTableCellContext<T> {
116
116
  $implicit: T;
117
+ index: number;
117
118
  }
118
119
  interface WattTableToolbarContext<T> {
119
120
  $implicit: T;
@@ -1,47 +1,26 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Energinet DataHub A/S
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License2");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
18
1
  import { wattTooltipPosition, wattTooltipVariant } from './watt-tooltip.directive';
19
2
  import * as i0 from "@angular/core";
20
- export declare class WattTooltipComponent implements AfterViewInit, OnDestroy {
3
+ export declare class WattTooltipComponent {
21
4
  static nextId: number;
22
- text: string;
23
- target: HTMLElement;
24
- position: wattTooltipPosition;
25
- variant: wattTooltipVariant;
26
- arrow: ElementRef<HTMLElement>;
27
- id: string;
28
- role: string;
29
- get hostClass(): string;
5
+ text: import("@angular/core").InputSignal<string>;
6
+ target: import("@angular/core").InputSignal<HTMLElement>;
7
+ position: import("@angular/core").InputSignal<wattTooltipPosition>;
8
+ variant: import("@angular/core").InputSignal<wattTooltipVariant>;
9
+ readonly id: string;
10
+ hostClass: import("@angular/core").Signal<string>;
30
11
  private element;
31
12
  private platform;
32
13
  private renderer;
33
14
  private focusMonitor;
34
- /** Emits when the component is destroyed. */
35
- private readonly destroyed;
15
+ private destroyRef;
36
16
  private listeners;
37
17
  private showClass;
38
18
  private popper;
39
- ngAfterViewInit(): void;
40
- ngOnDestroy(): void;
19
+ constructor();
41
20
  private setupEventListeners;
42
21
  private show;
43
22
  private hide;
44
23
  private platformSupportsMouseEvents;
45
24
  static ɵfac: i0.ɵɵFactoryDeclaration<WattTooltipComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<WattTooltipComponent, "watt-tooltip", never, { "text": { "alias": "text"; "required": false; }; "target": { "alias": "target"; "required": false; }; "position": { "alias": "position"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, never, true, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<WattTooltipComponent, "watt-tooltip", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "target": { "alias": "target"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
47
26
  }
@@ -1,31 +1,16 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Energinet DataHub A/S
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License2");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { OnChanges, SimpleChanges } from '@angular/core';
18
1
  import * as i0 from "@angular/core";
19
2
  export type wattTooltipPosition = 'top-start' | 'top' | 'top-end' | 'right' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left';
20
3
  export type wattTooltipVariant = 'dark' | 'light';
21
- export declare class WattTooltipDirective implements OnChanges {
22
- text: string;
23
- position: wattTooltipPosition;
24
- variant: wattTooltipVariant;
25
- private element;
26
- private viewContainerRef;
27
- ngOnChanges(changes: SimpleChanges): void;
4
+ export declare class WattTooltipDirective {
5
+ readonly text: import("@angular/core").InputSignal<string>;
6
+ readonly position: import("@angular/core").InputSignal<wattTooltipPosition>;
7
+ readonly variant: import("@angular/core").InputSignal<wattTooltipVariant>;
8
+ private readonly element;
9
+ private readonly viewContainerRef;
10
+ private readonly destroyRef;
11
+ private tooltip;
12
+ constructor();
28
13
  private createTooltipComponent;
29
14
  static ɵfac: i0.ɵɵFactoryDeclaration<WattTooltipDirective, never>;
30
- static ɵdir: i0.ɵɵDirectiveDeclaration<WattTooltipDirective, "[wattTooltip]", ["wattTooltip"], { "text": { "alias": "wattTooltip"; "required": false; }; "position": { "alias": "wattTooltipPosition"; "required": false; }; "variant": { "alias": "wattTooltipVariant"; "required": false; }; }, {}, never, never, true, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WattTooltipDirective, "[wattTooltip]", ["wattTooltip"], { "text": { "alias": "wattTooltip"; "required": false; "isSignal": true; }; "position": { "alias": "wattTooltipPosition"; "required": false; "isSignal": true; }; "variant": { "alias": "wattTooltipVariant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
31
16
  }