novo-elements 8.1.0-next.2 → 8.1.0-next.3

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.
@@ -1,4 +1,4 @@
1
- :host {
1
+ novo-nav-content {
2
2
  display: none;
3
3
  &.active {
4
4
  display: block;
@@ -1,3 +1,3 @@
1
- :host {
1
+ novo-nav-outlet {
2
2
  display: block;
3
3
  }
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  // NG2
11
11
  import { coerceNumberProperty } from '@angular/cdk/coercion';
12
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, ViewChild, } from '@angular/core';
12
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
13
13
  import { Router, RouterLink } from '@angular/router';
14
14
  import { BooleanInput } from 'novo-elements/utils';
15
15
  import * as i0 from "@angular/core";
@@ -310,10 +310,10 @@ export class NovoNavOutletElement {
310
310
  }
311
311
  }
312
312
  NovoNavOutletElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavOutletElement, deps: [], target: i0.ɵɵFactoryTarget.Component });
313
- NovoNavOutletElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavOutletElement, selector: "novo-nav-outlet", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] });
313
+ NovoNavOutletElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavOutletElement, selector: "novo-nav-outlet", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["novo-nav-outlet{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
314
314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavOutletElement, decorators: [{
315
315
  type: Component,
316
- args: [{ selector: 'novo-nav-outlet', template: '<ng-content></ng-content>', styles: [":host{display:block}\n"] }]
316
+ args: [{ selector: 'novo-nav-outlet', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: ["novo-nav-outlet{display:block}\n"] }]
317
317
  }] });
318
318
  export class NovoNavContentElement {
319
319
  constructor(outlet) {
@@ -322,12 +322,12 @@ export class NovoNavContentElement {
322
322
  }
323
323
  }
324
324
  NovoNavContentElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavContentElement, deps: [{ token: NovoNavOutletElement }], target: i0.ɵɵFactoryTarget.Component });
325
- NovoNavContentElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavContentElement, selector: "novo-nav-content", inputs: { active: "active" }, host: { properties: { "class.active": "active" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:none}:host.active{display:block}\n"] });
325
+ NovoNavContentElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavContentElement, selector: "novo-nav-content", inputs: { active: "active" }, host: { properties: { "class.active": "active" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["novo-nav-content{display:none}novo-nav-content.active{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
326
326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavContentElement, decorators: [{
327
327
  type: Component,
328
328
  args: [{ selector: 'novo-nav-content', host: {
329
329
  '[class.active]': 'active',
330
- }, template: '<ng-content></ng-content>', styles: [":host{display:none}:host.active{display:block}\n"] }]
330
+ }, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: ["novo-nav-content{display:none}novo-nav-content.active{display:block}\n"] }]
331
331
  }], ctorParameters: function () { return [{ type: NovoNavOutletElement }]; }, propDecorators: { active: [{
332
332
  type: Input
333
333
  }] } });
@@ -367,4 +367,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
367
367
  type: Input,
368
368
  args: ['for']
369
369
  }] } });
370
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL3RhYnMvVGFicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxNQUFNO0FBQ04sT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBT25ELE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBT0UsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBUXZCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQVVmLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUM3QyxnRkFBZ0Y7UUFDeEUsbUJBQWMsR0FBa0IsQ0FBQyxDQUFDO1FBQzFDLDBFQUEwRTtRQUN2RCx3QkFBbUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQWtFM0Y7SUE5RUMsbUNBQW1DO0lBQ25DLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQU9ELHFCQUFxQjtRQUNuQix1RkFBdUY7UUFDdkYsc0VBQXNFO1FBQ3RFLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLEVBQUU7WUFDekMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUM7WUFDL0MsdURBQXVEO1lBQ3ZELDREQUE0RDtZQUM1RCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDOUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJO1FBQ1QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLHdCQUF3QjtTQUN6QjtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxhQUFxQjtRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsYUFBcUI7UUFDOUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBaUI7UUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7Z0JBQ3JCLHVCQUF1QjthQUN4QjtZQUNELENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFFQUFxRTtJQUM3RCxjQUFjLENBQUMsS0FBb0I7UUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs0R0E3RlUsY0FBYztnR0FBZCxjQUFjLHdUQUhmLDJCQUEyQjtBQWVyQztJQURDLFlBQVksRUFBRTs7aURBQ1k7NEZBWmhCLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVSxZQUNWLDJCQUEyQjs4QkFLckMsS0FBSztzQkFESixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLFNBQVM7c0JBSFIsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLO2dCQVFGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBV2EsbUJBQW1CO3NCQUFyQyxNQUFNOztBQXFGVCxNQUFNLE9BQU8sY0FBYztJQTRCekIsWUFBWSxHQUFtQixFQUFVLEVBQWMsRUFBVSxHQUFzQjtRQUE5QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUExQmhGLFNBQUksR0FBRyxLQUFLLENBQUM7UUFHcEIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQU94QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbEUsYUFBUSxHQUFHLElBQUksQ0FBQztRQVlkLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRSxJQUFJLE9BQU8sRUFBRTtZQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUztvQkFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUM5RTtTQUNGO0lBQ0gsQ0FBQztJQW5CRCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQWtCRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzRHQTdDVSxjQUFjLGtCQTRCUixjQUFjO2dHQTVCcEIsY0FBYywwYkFUZjs7Ozs7R0FLVDtBQWdCRDtJQURDLFlBQVksRUFBRTs7Z0RBQ1c7NEZBWmYsY0FBYztrQkFqQjFCLFNBQVM7K0JBQ0UsVUFBVSxRQUNkO3dCQUNKLFNBQVMsRUFBRSxVQUFVO3dCQUNyQixnQkFBZ0IsRUFBRSxRQUFRO3dCQUMxQixrQkFBa0IsRUFBRSxVQUFVO3dCQUM5QixhQUFhLEVBQUUsS0FBSztxQkFDckIsWUFDUzs7Ozs7R0FLVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTTswREE4QjlCLGNBQWMsbUZBMUJ4QixJQUFJO3NCQURWLFdBQVc7dUJBQUMsV0FBVztnQkFJeEIsTUFBTTtzQkFETCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQUZQLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxNQUFNO2dCQUtILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTOztBQW1DdEIsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixZQUFZLEdBQW1CO1FBUnhCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFcEIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBS3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7O2tIQW5CVSxvQkFBb0Isa0JBVWQsY0FBYztzR0FWcEIsb0JBQW9CLDJQQUhyQiwyQkFBMkI7NEZBRzFCLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDRSxpQkFBaUIsUUFDckI7d0JBQ0osU0FBUyxFQUFFLFVBQVU7d0JBQ3JCLGdCQUFnQixFQUFFLFFBQVE7d0JBQzFCLGtCQUFrQixFQUFFLFVBQVU7cUJBQy9CLFlBQ1MsMkJBQTJCOzBEQWFwQixjQUFjLDBCQVJ4QixJQUFJO3NCQURWLFdBQVc7dUJBQUMsV0FBVztnQkFHeEIsTUFBTTtzQkFETCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSzs7QUFpQ1IsTUFBTSxPQUFPLGtCQUFrQjtJQVk3QixZQUFZLEdBQW1CLEVBQVUsTUFBYyxFQUFVLEdBQXNCLEVBQXNCLElBQWlCO1FBQXJGLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFzQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBVnZILFNBQUksR0FBRyxLQUFLLENBQUM7UUFFcEIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBT3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRCxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQWdCO1FBQ25DLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsRixDQUFDOztnSEFuQ1Usa0JBQWtCLGtCQVlaLGNBQWM7b0dBWnBCLGtCQUFrQixxUUFUbkI7Ozs7O0dBS1Q7NEZBSVUsa0JBQWtCO2tCQWhCOUIsU0FBUzsrQkFDRSxlQUFlLFFBQ25CO3dCQUNKLFNBQVMsRUFBRSxVQUFVO3dCQUNyQixnQkFBZ0IsRUFBRSxRQUFRO3dCQUMxQixrQkFBa0IsRUFBRSxVQUFVO3FCQUMvQixZQUNTOzs7OztHQUtULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzBEQWM5QixjQUFjOzBCQUEyRCxRQUFROzRDQVYzRixJQUFJO3NCQURWLFdBQVc7dUJBQUMsV0FBVztnQkFHeEIsTUFBTTtzQkFETCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7O0FBb0NSLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNRSxVQUFLLEdBQWUsRUFBRSxDQUFDO0tBNEJ4QjtJQTFCQyxJQUFJLENBQUMsS0FBSztRQUNSLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0I7OztXQUdHO1FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxLQUFLO1lBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtvQkFDckIsdUJBQXVCO2lCQUN4QjtnQkFDRCxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFJO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDOztrSEE1QlUsb0JBQW9CO3NHQUFwQixvQkFBb0IsdURBSHJCLDJCQUEyQjs0RkFHMUIsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQixZQUNqQiwyQkFBMkI7O0FBMEN2QyxNQUFNLE9BQU8scUJBQXFCO0lBSWhDLFlBQVksTUFBNEI7UUFGeEMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd0QixNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7O21IQU5VLHFCQUFxQixrQkFJWixvQkFBb0I7dUdBSjdCLHFCQUFxQiwwSUFIdEIsMkJBQTJCOzRGQUcxQixxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0Usa0JBQWtCLFFBQ3RCO3dCQUNKLGdCQUFnQixFQUFFLFFBQVE7cUJBQzNCLFlBQ1MsMkJBQTJCOzBEQU9qQixvQkFBb0IsMEJBRnhDLE1BQU07c0JBREwsS0FBSzs7QUFpQlIsTUFBTSxPQUFPLG9CQUFvQjtJQVMvQixZQUFZLE1BQTRCO1FBUGpDLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFekIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQU10QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBVztRQUNkLElBQUk7WUFDRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1NBQ0Y7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLGFBQWE7U0FDZDtJQUNILENBQUM7O2tIQXZCVSxvQkFBb0Isa0JBU1gsb0JBQW9CO3NHQVQ3QixvQkFBb0IsOE9BSHJCLDJCQUEyQjs0RkFHMUIsb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNFLGlCQUFpQixRQUNyQjt3QkFDSixnQkFBZ0IsRUFBRSxRQUFRO3dCQUMxQixTQUFTLEVBQUUsY0FBYztxQkFDMUIsWUFDUywyQkFBMkI7MERBWWpCLG9CQUFvQiwwQkFQakMsSUFBSTtzQkFEVixXQUFXO3VCQUFDLFdBQVc7Z0JBR3hCLE1BQU07c0JBREwsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7dUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5HMlxuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnbm92by1lbGVtZW50cy91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tbmF2JyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLW5hdi5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9OYXZFbGVtZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gIEBJbnB1dCgpXG4gIHRoZW1lOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgZGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgb3V0bGV0OiBhbnk7XG4gIEBJbnB1dCgpXG4gIHJvdXRlcjogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbmRlbnNlZCcpXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBjb25kZW5zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xuXG4gIC8qKiBUaGUgaW5kZXggb2YgdGhlIGFjdGl2ZSB0YWIuICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICB9XG4gIHNldCBzZWxlY3RlZEluZGV4KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5faW5kZXhUb1NlbGVjdCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBudWxsKTtcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgLyoqIFRoZSB0YWIgaW5kZXggdGhhdCBzaG91bGQgYmUgc2VsZWN0ZWQgYWZ0ZXIgdGhlIGNvbnRlbnQgaGFzIGJlZW4gY2hlY2tlZC4gKi9cbiAgcHJpdmF0ZSBfaW5kZXhUb1NlbGVjdDogbnVtYmVyIHwgbnVsbCA9IDA7XG4gIC8qKiBPdXRwdXQgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIHR3by13YXkgYmluZGluZyBvbiBgWyhzZWxlY3RlZEluZGV4KV1gICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAvLyBEb24ndCBjbGFtcCB0aGUgYGluZGV4VG9TZWxlY3RgIGltbWVkaWF0ZWx5IGluIHRoZSBzZXR0ZXIgYmVjYXVzZSBpdCBjYW4gaGFwcGVuIHRoYXRcbiAgICAvLyB0aGUgYW1vdW50IG9mIHRhYnMgY2hhbmdlcyBiZWZvcmUgdGhlIGFjdHVhbCBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bnMuXG4gICAgY29uc3QgaW5kZXhUb1NlbGVjdCA9ICh0aGlzLl9pbmRleFRvU2VsZWN0ID0gdGhpcy5fY2xhbXBUYWJJbmRleCh0aGlzLl9pbmRleFRvU2VsZWN0KSk7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgIGNvbnN0IGlzRmlyc3RSdW4gPSB0aGlzLl9zZWxlY3RlZEluZGV4ID09IG51bGw7XG4gICAgICAvLyBDaGFuZ2luZyB0aGVzZSB2YWx1ZXMgYWZ0ZXIgY2hhbmdlIGRldGVjdGlvbiBoYXMgcnVuXG4gICAgICAvLyBzaW5jZSB0aGUgY2hlY2tlZCBjb250ZW50IG1heSBjb250YWluIHJlZmVyZW5jZXMgdG8gdGhlbS5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl9kZWFjdGl2YXRlQWxsSXRlbXModGhpcy5pdGVtcyk7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlU2VsZWN0ZWRJdGVtKGluZGV4VG9TZWxlY3QpO1xuICAgICAgICB0aGlzLl9zaG93QWN0aXZlQ29udGVudChpbmRleFRvU2VsZWN0KTtcbiAgICAgICAgaWYgKCFpc0ZpcnN0UnVuKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoaW5kZXhUb1NlbGVjdCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gaW5kZXhUb1NlbGVjdDtcbiAgICB9XG4gIH1cblxuICBzZWxlY3QoaXRlbSkge1xuICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgLy8gRGVhY3RpdmF0ZSBhbGwgb3RoZXIgdGFic1xuICAgIHRoaXMuX2RlYWN0aXZhdGVBbGxJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICB0aGlzLl9hY3RpdmF0ZVNlbGVjdGVkSXRlbShpbmRleFRvU2VsZWN0KTtcbiAgICB0aGlzLl9zaG93QWN0aXZlQ29udGVudChpbmRleFRvU2VsZWN0KTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXhDaGFuZ2UuZW1pdChpbmRleFRvU2VsZWN0KTtcbiAgfVxuXG4gIGFkZChpdGVtKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XG4gICAgICAvLyBpdGVtLnNlbGVjdGVkLm5leHQoKTtcbiAgICB9XG4gICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWN0aXZhdGVTZWxlY3RlZEl0ZW0oaW5kZXhUb1NlbGVjdDogbnVtYmVyKSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXNbaW5kZXhUb1NlbGVjdF07XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zaG93QWN0aXZlQ29udGVudChpbmRleFRvU2VsZWN0OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5vdXRsZXQpIHtcbiAgICAgIHRoaXMub3V0bGV0LnNob3coaW5kZXhUb1NlbGVjdCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVhY3RpdmF0ZUFsbEl0ZW1zKGl0ZW1zOiBBcnJheTxhbnk+KSB7XG4gICAgaXRlbXMuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgaWYgKHQuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICAgIC8vIHQuZGVzZWxlY3RlZC5uZXh0KCk7XG4gICAgICB9XG4gICAgICB0LmFjdGl2ZSA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIENsYW1wcyB0aGUgZ2l2ZW4gaW5kZXggdG8gdGhlIGJvdW5kcyBvZiAwIGFuZCB0aGUgdGFicyBsZW5ndGguICovXG4gIHByaXZhdGUgX2NsYW1wVGFiSW5kZXgoaW5kZXg6IG51bWJlciB8IG51bGwpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbih0aGlzLml0ZW1zLmxlbmd0aCAtIDEsIE1hdGgubWF4KGluZGV4IHx8IDAsIDApKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLXRhYicsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3QoKScsXG4gICAgJ1tjbGFzcy5hY3RpdmVdJzogJ2FjdGl2ZScsXG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbYXR0ci5yb2xlXSc6ICd0YWInLFxuICB9LFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgI3RhYmxpbmsgY2xhc3M9XCJub3ZvLXRhYi1saW5rXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJpbmRpY2F0b3JcIj48L3NwYW4+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3RhYi5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvVGFiRWxlbWVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJvbGUgPSAndGFiJztcblxuICBASW5wdXQoKVxuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIEBCb29sZWFuSW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBhY3RpdmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBvbmx5VGV4dCA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1vbmx5JylcbiAgZ2V0IGhiX3RleHRPbmx5KCkge1xuICAgIHJldHVybiB0aGlzLm9ubHlUZXh0O1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndGFibGluaycpXG4gIHRhYmxpbms7XG5cbiAgbmF2OiBhbnk7XG5cbiAgY29uc3RydWN0b3IobmF2OiBOb3ZvTmF2RWxlbWVudCwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5uYXYgPSBuYXY7XG4gICAgdGhpcy5uYXYuYWRkKHRoaXMpO1xuICAgIGNvbnN0IHRhYmxpbmsgPSBlbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ub3ZvLXRhYi1saW5rJyk7XG4gICAgaWYgKHRhYmxpbmspIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGluay5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICh0YWJsaW5rLmNoaWxkTm9kZXNbaV0ubm9kZVR5cGUgIT09IE5vZGUuVEVYVF9OT0RFKSB0aGlzLm9ubHlUZXh0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0KCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICAgIHRoaXMubmF2LnNlbGVjdCh0aGlzKTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tdGFiLWJ1dHRvbicsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3QoKScsXG4gICAgJ1tjbGFzcy5hY3RpdmVdJzogJ2FjdGl2ZScsXG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICB9LFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi90YWItYnV0dG9uLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTm92b1RhYkJ1dHRvbkVsZW1lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ3RhYic7XG4gIEBJbnB1dCgpXG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5hdjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG5hdjogTm92b05hdkVsZW1lbnQpIHtcbiAgICB0aGlzLm5hdiA9IG5hdjtcbiAgICB0aGlzLm5hdi5hZGQodGhpcyk7XG4gIH1cblxuICBzZWxlY3QoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm5hdi5zZWxlY3QodGhpcyk7XG4gICAgfVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tdGFiLWxpbmsnLFxuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnc2VsZWN0KCknLFxuICAgICdbY2xhc3MuYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibm92by10YWItbGlua1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwiaW5kaWNhdG9yXCI+PC9zcGFuPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90YWIuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTm92b1RhYkxpbmtFbGVtZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICBwdWJsaWMgcm9sZSA9ICd0YWInO1xuICBASW5wdXQoKVxuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc3B5OiBzdHJpbmc7XG5cbiAgbmF2OiBhbnk7XG5cbiAgY29uc3RydWN0b3IobmF2OiBOb3ZvTmF2RWxlbWVudCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBAT3B0aW9uYWwoKSBwcml2YXRlIGxpbms/OiBSb3V0ZXJMaW5rKSB7XG4gICAgdGhpcy5uYXYgPSBuYXY7XG4gICAgdGhpcy5uYXYuYWRkKHRoaXMpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNMaW5rQWN0aXZlKHRoaXMubGluaykpIHtcbiAgICAgIHRoaXMubmF2LnNlbGVjdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3QoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm5hdi5zZWxlY3QodGhpcyk7XG4gICAgICBpZiAodGhpcy5zcHkpIHtcbiAgICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLnNweX1gKTtcbiAgICAgICAgZWw/LnNjcm9sbEludG9WaWV3KHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNMaW5rQWN0aXZlKGxpbms6IFJvdXRlckxpbmspIHtcbiAgICByZXR1cm4gbGluayAmJiBsaW5rLnVybFRyZWUgPyB0aGlzLnJvdXRlci5pc0FjdGl2ZShsaW5rLnVybFRyZWUsIGZhbHNlKSA6IGZhbHNlO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tbmF2LW91dGxldCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL3RhYi1vdXRsZXQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvTmF2T3V0bGV0RWxlbWVudCB7XG4gIGl0ZW1zOiBBcnJheTxhbnk+ID0gW107XG5cbiAgc2hvdyhpbmRleCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zW2luZGV4XTtcblxuICAgIC8qKlxuICAgICAqIERlYWN0aXZhdGVzIG90aGVyIHRhYiBpdGVtc1xuICAgICAqIEBwYXJhbSBpdGVtcyAtIGRlYWN0aXZhdGVkIGl0ZW1zXG4gICAgICovXG4gICAgZnVuY3Rpb24gX2RlYWN0aXZhdGVBbGxJdGVtcyhpdGVtcykge1xuICAgICAgaXRlbXMuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICBpZiAodC5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgICAgICAvLyB0LmRlc2VsZWN0ZWQubmV4dCgpO1xuICAgICAgICB9XG4gICAgICAgIHQuYWN0aXZlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBfZGVhY3RpdmF0ZUFsbEl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIGFkZChpdGVtKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuaXRlbXMucHVzaChpdGVtKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLW5hdi1jb250ZW50JyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuYWN0aXZlXSc6ICdhY3RpdmUnLFxuICB9LFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi90YWItY29udGVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9OYXZDb250ZW50RWxlbWVudCB7XG4gIEBJbnB1dCgpXG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKG91dGxldDogTm92b05hdk91dGxldEVsZW1lbnQpIHtcbiAgICBvdXRsZXQuYWRkKHRoaXMpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tbmF2LWhlYWRlcicsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmFjdGl2ZV0nOiAnYWN0aXZlJyxcbiAgICAnKGNsaWNrKSc6ICdzaG93KCRldmVudCknLFxuICB9LFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi90YWItaGVhZGVyLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTm92b05hdkhlYWRlckVsZW1lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ3RhYnBhbmVsJztcbiAgQElucHV0KClcbiAgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgnZm9yJylcbiAgZm9yRWxlbWVudDogYW55O1xuICBvdXRsZXQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihvdXRsZXQ6IE5vdm9OYXZPdXRsZXRFbGVtZW50KSB7XG4gICAgdGhpcy5hY3RpdmUgPSB0aGlzLmFjdGl2ZSB8fCBmYWxzZTtcbiAgICB0aGlzLm91dGxldCA9IG91dGxldDtcbiAgfVxuXG4gIHNob3coZXZlbnQ/OiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgSU5ERVggPSB0aGlzLm91dGxldC5pdGVtcy5pbmRleE9mKHRoaXMuZm9yRWxlbWVudCk7XG4gICAgICBpZiAoSU5ERVggPiAtMSkge1xuICAgICAgICB0aGlzLm91dGxldC5zaG93KElOREVYKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICB9XG4gIH1cbn1cbiJdfQ==
370
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL3RhYnMvVGFicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxNQUFNO0FBQ04sT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU9FLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQVF2QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLFVBQUssR0FBZSxFQUFFLENBQUM7UUFVZixtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFDN0MsZ0ZBQWdGO1FBQ3hFLG1CQUFjLEdBQWtCLENBQUMsQ0FBQztRQUMxQywwRUFBMEU7UUFDdkQsd0JBQW1CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7S0FrRTNGO0lBOUVDLG1DQUFtQztJQUNuQyxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLEtBQW9CO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFPRCxxQkFBcUI7UUFD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TyxvQkFBb0I7SUFTL0IsWUFBWSxNQUE0QjtRQVBqQyxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBRXpCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFNdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVc7UUFDZCxJQUFJO1lBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtTQUNGO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixhQUFhO1NBQ2Q7SUFDSCxDQUFDOztrSEF2QlUsb0JBQW9CLGtCQVNYLG9CQUFvQjtzR0FUN0Isb0JBQW9CLDhPQUhyQiwyQkFBMkI7NEZBRzFCLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDRSxpQkFBaUIsUUFDckI7d0JBQ0osZ0JBQWdCLEVBQUUsUUFBUTt3QkFDMUIsU0FBUyxFQUFFLGNBQWM7cUJBQzFCLFlBQ1MsMkJBQTJCOzBEQVlqQixvQkFBb0IsMEJBUGpDLElBQUk7c0JBRFYsV0FBVzt1QkFBQyxXQUFXO2dCQUd4QixNQUFNO3NCQURMLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBORzJcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdub3ZvLWVsZW1lbnRzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1uYXYnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi90YWItbmF2LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTm92b05hdkVsZW1lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgQElucHV0KClcbiAgdGhlbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBkaXJlY3Rpb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBvdXRsZXQ6IGFueTtcbiAgQElucHV0KClcbiAgcm91dGVyOiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29uZGVuc2VkJylcbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGNvbmRlbnNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGl0ZW1zOiBBcnJheTxhbnk+ID0gW107XG5cbiAgLyoqIFRoZSBpbmRleCBvZiB0aGUgYWN0aXZlIHRhYi4gKi9cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gIH1cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLl9pbmRleFRvU2VsZWN0ID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIG51bGwpO1xuICB9XG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAvKiogVGhlIHRhYiBpbmRleCB0aGF0IHNob3VsZCBiZSBzZWxlY3RlZCBhZnRlciB0aGUgY29udGVudCBoYXMgYmVlbiBjaGVja2VkLiAqL1xuICBwcml2YXRlIF9pbmRleFRvU2VsZWN0OiBudW1iZXIgfCBudWxsID0gMDtcbiAgLyoqIE91dHB1dCB0byBlbmFibGUgc3VwcG9ydCBmb3IgdHdvLXdheSBiaW5kaW5nIG9uIGBbKHNlbGVjdGVkSW5kZXgpXWAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkSW5kZXhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIC8vIERvbid0IGNsYW1wIHRoZSBgaW5kZXhUb1NlbGVjdGAgaW1tZWRpYXRlbHkgaW4gdGhlIHNldHRlciBiZWNhdXNlIGl0IGNhbiBoYXBwZW4gdGhhdFxuICAgIC8vIHRoZSBhbW91bnQgb2YgdGFicyBjaGFuZ2VzIGJlZm9yZSB0aGUgYWN0dWFsIGNoYW5nZSBkZXRlY3Rpb24gcnVucy5cbiAgICBjb25zdCBpbmRleFRvU2VsZWN0ID0gKHRoaXMuX2luZGV4VG9TZWxlY3QgPSB0aGlzLl9jbGFtcFRhYkluZGV4KHRoaXMuX2luZGV4VG9TZWxlY3QpKTtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPT0gaW5kZXhUb1NlbGVjdCkge1xuICAgICAgY29uc3QgaXNGaXJzdFJ1biA9IHRoaXMuX3NlbGVjdGVkSW5kZXggPT0gbnVsbDtcbiAgICAgIC8vIENoYW5naW5nIHRoZXNlIHZhbHVlcyBhZnRlciBjaGFuZ2UgZGV0ZWN0aW9uIGhhcyBydW5cbiAgICAgIC8vIHNpbmNlIHRoZSBjaGVja2VkIGNvbnRlbnQgbWF5IGNvbnRhaW4gcmVmZXJlbmNlcyB0byB0aGVtLlxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuX2RlYWN0aXZhdGVBbGxJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVTZWxlY3RlZEl0ZW0oaW5kZXhUb1NlbGVjdCk7XG4gICAgICAgIHRoaXMuX3Nob3dBY3RpdmVDb250ZW50KGluZGV4VG9TZWxlY3QpO1xuICAgICAgICBpZiAoIWlzRmlyc3RSdW4pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXhDaGFuZ2UuZW1pdChpbmRleFRvU2VsZWN0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBpbmRleFRvU2VsZWN0O1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdChpdGVtKSB7XG4gICAgY29uc3QgaW5kZXhUb1NlbGVjdCA9IHRoaXMuaXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAvLyBEZWFjdGl2YXRlIGFsbCBvdGhlciB0YWJzXG4gICAgdGhpcy5fZGVhY3RpdmF0ZUFsbEl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgIHRoaXMuX2FjdGl2YXRlU2VsZWN0ZWRJdGVtKGluZGV4VG9TZWxlY3QpO1xuICAgIHRoaXMuX3Nob3dBY3RpdmVDb250ZW50KGluZGV4VG9TZWxlY3QpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KGluZGV4VG9TZWxlY3QpO1xuICB9XG5cbiAgYWRkKGl0ZW0pIHtcbiAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcbiAgICAgIC8vIGl0ZW0uc2VsZWN0ZWQubmV4dCgpO1xuICAgIH1cbiAgICB0aGlzLml0ZW1zLnB1c2goaXRlbSk7XG4gIH1cblxuICBwcml2YXRlIF9hY3RpdmF0ZVNlbGVjdGVkSXRlbShpbmRleFRvU2VsZWN0OiBudW1iZXIpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtc1tpbmRleFRvU2VsZWN0XTtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgaXRlbS5hY3RpdmUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Nob3dBY3RpdmVDb250ZW50KGluZGV4VG9TZWxlY3Q6IG51bWJlcikge1xuICAgIGlmICh0aGlzLm91dGxldCkge1xuICAgICAgdGhpcy5vdXRsZXQuc2hvdyhpbmRleFRvU2VsZWN0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZWFjdGl2YXRlQWxsSXRlbXMoaXRlbXM6IEFycmF5PGFueT4pIHtcbiAgICBpdGVtcy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICBpZiAodC5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgICAgLy8gdC5kZXNlbGVjdGVkLm5leHQoKTtcbiAgICAgIH1cbiAgICAgIHQuYWN0aXZlID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQ2xhbXBzIHRoZSBnaXZlbiBpbmRleCB0byB0aGUgYm91bmRzIG9mIDAgYW5kIHRoZSB0YWJzIGxlbmd0aC4gKi9cbiAgcHJpdmF0ZSBfY2xhbXBUYWJJbmRleChpbmRleDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMuaXRlbXMubGVuZ3RoIC0gMSwgTWF0aC5tYXgoaW5kZXggfHwgMCwgMCkpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tdGFiJyxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ3NlbGVjdCgpJyxcbiAgICAnW2NsYXNzLmFjdGl2ZV0nOiAnYWN0aXZlJyxcbiAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1thdHRyLnJvbGVdJzogJ3RhYicsXG4gIH0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAjdGFibGluayBjbGFzcz1cIm5vdm8tdGFiLWxpbmtcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cImluZGljYXRvclwiPjwvc3Bhbj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9UYWJFbGVtZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICBwdWJsaWMgcm9sZSA9ICd0YWInO1xuXG4gIEBJbnB1dCgpXG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgQEJvb2xlYW5JbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIGFjdGl2ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIG9ubHlUZXh0ID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LW9ubHknKVxuICBnZXQgaGJfdGV4dE9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMub25seVRleHQ7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0YWJsaW5rJylcbiAgdGFibGluaztcblxuICBuYXY6IGFueTtcblxuICBjb25zdHJ1Y3RvcihuYXY6IE5vdm9OYXZFbGVtZW50LCBwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLm5hdiA9IG5hdjtcbiAgICB0aGlzLm5hdi5hZGQodGhpcyk7XG4gICAgY29uc3QgdGFibGluayA9IGVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm5vdm8tdGFiLWxpbmsnKTtcbiAgICBpZiAodGFibGluaykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsaW5rLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHRhYmxpbmsuY2hpbGROb2Rlc1tpXS5ub2RlVHlwZSAhPT0gTm9kZS5URVhUX05PREUpIHRoaXMub25seVRleHQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWxlY3QoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KHRydWUpO1xuICAgICAgdGhpcy5uYXYuc2VsZWN0KHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by10YWItYnV0dG9uJyxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ3NlbGVjdCgpJyxcbiAgICAnW2NsYXNzLmFjdGl2ZV0nOiAnYWN0aXZlJyxcbiAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gIH0sXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL3RhYi1idXR0b24uc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvVGFiQnV0dG9uRWxlbWVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJvbGUgPSAndGFiJztcbiAgQElucHV0KClcbiAgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbmF2OiBhbnk7XG5cbiAgY29uc3RydWN0b3IobmF2OiBOb3ZvTmF2RWxlbWVudCkge1xuICAgIHRoaXMubmF2ID0gbmF2O1xuICAgIHRoaXMubmF2LmFkZCh0aGlzKTtcbiAgfVxuXG4gIHNlbGVjdCgpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubmF2LnNlbGVjdCh0aGlzKTtcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by10YWItbGluaycsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3QoKScsXG4gICAgJ1tjbGFzcy5hY3RpdmVdJzogJ2FjdGl2ZScsXG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICB9LFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJub3ZvLXRhYi1saW5rXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJpbmRpY2F0b3JcIj48L3NwYW4+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3RhYi5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvVGFiTGlua0VsZW1lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ3RhYic7XG4gIEBJbnB1dCgpXG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzcHk6IHN0cmluZztcblxuICBuYXY6IGFueTtcblxuICBjb25zdHJ1Y3RvcihuYXY6IE5vdm9OYXZFbGVtZW50LCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBPcHRpb25hbCgpIHByaXZhdGUgbGluaz86IFJvdXRlckxpbmspIHtcbiAgICB0aGlzLm5hdiA9IG5hdjtcbiAgICB0aGlzLm5hdi5hZGQodGhpcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0xpbmtBY3RpdmUodGhpcy5saW5rKSkge1xuICAgICAgdGhpcy5uYXYuc2VsZWN0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCgpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubmF2LnNlbGVjdCh0aGlzKTtcbiAgICAgIGlmICh0aGlzLnNweSkge1xuICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuc3B5fWApO1xuICAgICAgICBlbD8uc2Nyb2xsSW50b1ZpZXcodHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0xpbmtBY3RpdmUobGluazogUm91dGVyTGluaykge1xuICAgIHJldHVybiBsaW5rICYmIGxpbmsudXJsVHJlZSA/IHRoaXMucm91dGVyLmlzQWN0aXZlKGxpbmsudXJsVHJlZSwgZmFsc2UpIDogZmFsc2U7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1uYXYtb3V0bGV0JyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLW91dGxldC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE5vdm9OYXZPdXRsZXRFbGVtZW50IHtcbiAgaXRlbXM6IEFycmF5PGFueT4gPSBbXTtcblxuICBzaG93KGluZGV4KSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXNbaW5kZXhdO1xuXG4gICAgLyoqXG4gICAgICogRGVhY3RpdmF0ZXMgb3RoZXIgdGFiIGl0ZW1zXG4gICAgICogQHBhcmFtIGl0ZW1zIC0gZGVhY3RpdmF0ZWQgaXRlbXNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBfZGVhY3RpdmF0ZUFsbEl0ZW1zKGl0ZW1zKSB7XG4gICAgICBpdGVtcy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgIGlmICh0LmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIC8vIHQuZGVzZWxlY3RlZC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIF9kZWFjdGl2YXRlQWxsSXRlbXModGhpcy5pdGVtcyk7XG4gICAgaXRlbS5hY3RpdmUgPSB0cnVlO1xuICB9XG5cbiAgYWRkKGl0ZW0pIHtcbiAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW0pO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vdm8tbmF2LWNvbnRlbnQnLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5hY3RpdmVdJzogJ2FjdGl2ZScsXG4gIH0sXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL3RhYi1jb250ZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTm92b05hdkNvbnRlbnRFbGVtZW50IHtcbiAgQElucHV0KClcbiAgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3Iob3V0bGV0OiBOb3ZvTmF2T3V0bGV0RWxlbWVudCkge1xuICAgIG91dGxldC5hZGQodGhpcyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1uYXYtaGVhZGVyJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICcoY2xpY2spJzogJ3Nob3coJGV2ZW50KScsXG4gIH0sXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL3RhYi1oZWFkZXIuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvTmF2SGVhZGVyRWxlbWVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJvbGUgPSAndGFicGFuZWwnO1xuICBASW5wdXQoKVxuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdmb3InKVxuICBmb3JFbGVtZW50OiBhbnk7XG4gIG91dGxldDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG91dGxldDogTm92b05hdk91dGxldEVsZW1lbnQpIHtcbiAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuYWN0aXZlIHx8IGZhbHNlO1xuICAgIHRoaXMub3V0bGV0ID0gb3V0bGV0O1xuICB9XG5cbiAgc2hvdyhldmVudD86IGFueSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBJTkRFWCA9IHRoaXMub3V0bGV0Lml0ZW1zLmluZGV4T2YodGhpcy5mb3JFbGVtZW50KTtcbiAgICAgIGlmIChJTkRFWCA+IC0xKSB7XG4gICAgICAgIHRoaXMub3V0bGV0LnNob3coSU5ERVgpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { coerceNumberProperty } from '@angular/cdk/coercion';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, Input, HostBinding, Output, ChangeDetectionStrategy, ViewChild, Optional, NgModule } from '@angular/core';
3
+ import { EventEmitter, Component, Input, HostBinding, Output, ChangeDetectionStrategy, ViewChild, Optional, ViewEncapsulation, NgModule } from '@angular/core';
4
4
  import { BooleanInput } from 'novo-elements/utils';
5
5
  import * as i1 from '@angular/router';
6
6
  import { CommonModule } from '@angular/common';
@@ -317,10 +317,10 @@ class NovoNavOutletElement {
317
317
  }
318
318
  }
319
319
  NovoNavOutletElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavOutletElement, deps: [], target: i0.ɵɵFactoryTarget.Component });
320
- NovoNavOutletElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavOutletElement, selector: "novo-nav-outlet", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] });
320
+ NovoNavOutletElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavOutletElement, selector: "novo-nav-outlet", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["novo-nav-outlet{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
321
321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavOutletElement, decorators: [{
322
322
  type: Component,
323
- args: [{ selector: 'novo-nav-outlet', template: '<ng-content></ng-content>', styles: [":host{display:block}\n"] }]
323
+ args: [{ selector: 'novo-nav-outlet', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: ["novo-nav-outlet{display:block}\n"] }]
324
324
  }] });
325
325
  class NovoNavContentElement {
326
326
  constructor(outlet) {
@@ -329,12 +329,12 @@ class NovoNavContentElement {
329
329
  }
330
330
  }
331
331
  NovoNavContentElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavContentElement, deps: [{ token: NovoNavOutletElement }], target: i0.ɵɵFactoryTarget.Component });
332
- NovoNavContentElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavContentElement, selector: "novo-nav-content", inputs: { active: "active" }, host: { properties: { "class.active": "active" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:none}:host.active{display:block}\n"] });
332
+ NovoNavContentElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavContentElement, selector: "novo-nav-content", inputs: { active: "active" }, host: { properties: { "class.active": "active" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["novo-nav-content{display:none}novo-nav-content.active{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
333
333
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavContentElement, decorators: [{
334
334
  type: Component,
335
335
  args: [{ selector: 'novo-nav-content', host: {
336
336
  '[class.active]': 'active',
337
- }, template: '<ng-content></ng-content>', styles: [":host{display:none}:host.active{display:block}\n"] }]
337
+ }, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: ["novo-nav-content{display:none}novo-nav-content.active{display:block}\n"] }]
338
338
  }], ctorParameters: function () { return [{ type: NovoNavOutletElement }]; }, propDecorators: { active: [{
339
339
  type: Input
340
340
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-tabs.mjs","sources":["../../../projects/novo-elements/src/elements/tabs/Tabs.ts","../../../projects/novo-elements/src/elements/tabs/Tabs.module.ts","../../../projects/novo-elements/src/elements/tabs/novo-elements-elements-tabs.ts"],"sourcesContent":["// NG2\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-nav',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-nav.scss'],\n})\nexport class NovoNavElement implements AfterContentChecked {\n @Input()\n theme: string = '';\n @Input()\n direction: string = '';\n @Input()\n outlet: any;\n @Input()\n router: string;\n @HostBinding('class.condensed')\n @Input()\n @BooleanInput()\n condensed: boolean = false;\n\n items: Array<any> = [];\n\n /** The index of the active tab. */\n @Input()\n get selectedIndex(): number | null {\n return this._selectedIndex;\n }\n set selectedIndex(value: number | null) {\n this._indexToSelect = coerceNumberProperty(value, null);\n }\n private _selectedIndex: number | null = null;\n /** The tab index that should be selected after the content has been checked. */\n private _indexToSelect: number | null = 0;\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n @Output() readonly selectedIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));\n if (this._selectedIndex !== indexToSelect) {\n const isFirstRun = this._selectedIndex == null;\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n if (!isFirstRun) {\n this.selectedIndexChange.emit(indexToSelect);\n }\n });\n\n this._selectedIndex = indexToSelect;\n }\n }\n\n select(item) {\n const indexToSelect = this.items.indexOf(item);\n // Deactivate all other tabs\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n this.selectedIndexChange.emit(indexToSelect);\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n // item.selected.next();\n }\n this.items.push(item);\n }\n\n private _activateSelectedItem(indexToSelect: number) {\n const item = this.items[indexToSelect];\n if (item) {\n item.active = true;\n }\n }\n\n private _showActiveContent(indexToSelect: number) {\n if (this.outlet) {\n this.outlet.show(indexToSelect);\n }\n }\n\n private _deactivateAllItems(items: Array<any>) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n private _clampTabIndex(index: number | null): number {\n return Math.min(this.items.length - 1, Math.max(index || 0, 0));\n }\n}\n\n@Component({\n selector: 'novo-tab',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n '[attr.role]': 'tab',\n },\n template: `\n <div #tablink class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabElement {\n @HostBinding('attr.role')\n public role = 'tab';\n\n @Input()\n active: boolean = false;\n\n @Input()\n color: string;\n\n @Input()\n @BooleanInput()\n disabled: boolean = false;\n\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n onlyText = true;\n @HostBinding('class.text-only')\n get hb_textOnly() {\n return this.onlyText;\n }\n\n @ViewChild('tablink')\n tablink;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private el: ElementRef, private cdr: ChangeDetectorRef) {\n this.nav = nav;\n this.nav.add(this);\n const tablink = el.nativeElement.querySelector('.novo-tab-link');\n if (tablink) {\n for (let i = 0; i < tablink.childNodes.length; i++) {\n if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE) this.onlyText = false;\n }\n }\n }\n\n select() {\n if (!this.disabled) {\n this.activeChange.emit(true);\n this.nav.select(this);\n }\n this.cdr.detectChanges();\n }\n}\n\n@Component({\n selector: 'novo-tab-button',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-button.scss'],\n})\nexport class NovoTabButtonElement {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n\n nav: any;\n\n constructor(nav: NovoNavElement) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n }\n }\n}\n\n@Component({\n selector: 'novo-tab-link',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: `\n <div class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabLinkElement implements OnInit {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n @Input()\n spy: string;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private router: Router, private cdr: ChangeDetectorRef, @Optional() private link?: RouterLink) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n ngOnInit(): void {\n if (this.isLinkActive(this.link)) {\n this.nav.select(this);\n }\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n if (this.spy) {\n const el = document.querySelector(`#${this.spy}`);\n el?.scrollIntoView(true);\n }\n }\n }\n\n private isLinkActive(link: RouterLink) {\n return link && link.urlTree ? this.router.isActive(link.urlTree, false) : false;\n }\n}\n\n@Component({\n selector: 'novo-nav-outlet',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-outlet.scss'],\n})\nexport class NovoNavOutletElement {\n items: Array<any> = [];\n\n show(index) {\n const item = this.items[index];\n\n /**\n * Deactivates other tab items\n * @param items - deactivated items\n */\n function _deactivateAllItems(items) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n _deactivateAllItems(this.items);\n item.active = true;\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n }\n this.items.push(item);\n }\n}\n\n@Component({\n selector: 'novo-nav-content',\n host: {\n '[class.active]': 'active',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-content.scss'],\n})\nexport class NovoNavContentElement {\n @Input()\n active: boolean = false;\n\n constructor(outlet: NovoNavOutletElement) {\n outlet.add(this);\n }\n}\n\n@Component({\n selector: 'novo-nav-header',\n host: {\n '[class.active]': 'active',\n '(click)': 'show($event)',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-header.scss'],\n})\nexport class NovoNavHeaderElement {\n @HostBinding('attr.role')\n public role = 'tabpanel';\n @Input()\n active: boolean = false;\n @Input('for')\n forElement: any;\n outlet: any;\n\n constructor(outlet: NovoNavOutletElement) {\n this.active = this.active || false;\n this.outlet = outlet;\n }\n\n show(event?: any) {\n try {\n const INDEX = this.outlet.items.indexOf(this.forElement);\n if (INDEX > -1) {\n this.outlet.show(INDEX);\n }\n } catch (err) {\n // do nothing\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport {\n NovoNavContentElement,\n NovoNavElement,\n NovoNavHeaderElement,\n NovoNavOutletElement,\n NovoTabButtonElement,\n NovoTabElement,\n NovoTabLinkElement,\n} from './Tabs';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n exports: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n})\nexport class NovoTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-tabs.mjs","sources":["../../../projects/novo-elements/src/elements/tabs/Tabs.ts","../../../projects/novo-elements/src/elements/tabs/Tabs.module.ts","../../../projects/novo-elements/src/elements/tabs/novo-elements-elements-tabs.ts"],"sourcesContent":["// NG2\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-nav',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-nav.scss'],\n})\nexport class NovoNavElement implements AfterContentChecked {\n @Input()\n theme: string = '';\n @Input()\n direction: string = '';\n @Input()\n outlet: any;\n @Input()\n router: string;\n @HostBinding('class.condensed')\n @Input()\n @BooleanInput()\n condensed: boolean = false;\n\n items: Array<any> = [];\n\n /** The index of the active tab. */\n @Input()\n get selectedIndex(): number | null {\n return this._selectedIndex;\n }\n set selectedIndex(value: number | null) {\n this._indexToSelect = coerceNumberProperty(value, null);\n }\n private _selectedIndex: number | null = null;\n /** The tab index that should be selected after the content has been checked. */\n private _indexToSelect: number | null = 0;\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n @Output() readonly selectedIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));\n if (this._selectedIndex !== indexToSelect) {\n const isFirstRun = this._selectedIndex == null;\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n if (!isFirstRun) {\n this.selectedIndexChange.emit(indexToSelect);\n }\n });\n\n this._selectedIndex = indexToSelect;\n }\n }\n\n select(item) {\n const indexToSelect = this.items.indexOf(item);\n // Deactivate all other tabs\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n this.selectedIndexChange.emit(indexToSelect);\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n // item.selected.next();\n }\n this.items.push(item);\n }\n\n private _activateSelectedItem(indexToSelect: number) {\n const item = this.items[indexToSelect];\n if (item) {\n item.active = true;\n }\n }\n\n private _showActiveContent(indexToSelect: number) {\n if (this.outlet) {\n this.outlet.show(indexToSelect);\n }\n }\n\n private _deactivateAllItems(items: Array<any>) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n private _clampTabIndex(index: number | null): number {\n return Math.min(this.items.length - 1, Math.max(index || 0, 0));\n }\n}\n\n@Component({\n selector: 'novo-tab',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n '[attr.role]': 'tab',\n },\n template: `\n <div #tablink class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabElement {\n @HostBinding('attr.role')\n public role = 'tab';\n\n @Input()\n active: boolean = false;\n\n @Input()\n color: string;\n\n @Input()\n @BooleanInput()\n disabled: boolean = false;\n\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n onlyText = true;\n @HostBinding('class.text-only')\n get hb_textOnly() {\n return this.onlyText;\n }\n\n @ViewChild('tablink')\n tablink;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private el: ElementRef, private cdr: ChangeDetectorRef) {\n this.nav = nav;\n this.nav.add(this);\n const tablink = el.nativeElement.querySelector('.novo-tab-link');\n if (tablink) {\n for (let i = 0; i < tablink.childNodes.length; i++) {\n if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE) this.onlyText = false;\n }\n }\n }\n\n select() {\n if (!this.disabled) {\n this.activeChange.emit(true);\n this.nav.select(this);\n }\n this.cdr.detectChanges();\n }\n}\n\n@Component({\n selector: 'novo-tab-button',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-button.scss'],\n})\nexport class NovoTabButtonElement {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n\n nav: any;\n\n constructor(nav: NovoNavElement) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n }\n }\n}\n\n@Component({\n selector: 'novo-tab-link',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: `\n <div class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabLinkElement implements OnInit {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n @Input()\n spy: string;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private router: Router, private cdr: ChangeDetectorRef, @Optional() private link?: RouterLink) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n ngOnInit(): void {\n if (this.isLinkActive(this.link)) {\n this.nav.select(this);\n }\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n if (this.spy) {\n const el = document.querySelector(`#${this.spy}`);\n el?.scrollIntoView(true);\n }\n }\n }\n\n private isLinkActive(link: RouterLink) {\n return link && link.urlTree ? this.router.isActive(link.urlTree, false) : false;\n }\n}\n\n@Component({\n selector: 'novo-nav-outlet',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-outlet.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NovoNavOutletElement {\n items: Array<any> = [];\n\n show(index) {\n const item = this.items[index];\n\n /**\n * Deactivates other tab items\n * @param items - deactivated items\n */\n function _deactivateAllItems(items) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n _deactivateAllItems(this.items);\n item.active = true;\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n }\n this.items.push(item);\n }\n}\n\n@Component({\n selector: 'novo-nav-content',\n host: {\n '[class.active]': 'active',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-content.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NovoNavContentElement {\n @Input()\n active: boolean = false;\n\n constructor(outlet: NovoNavOutletElement) {\n outlet.add(this);\n }\n}\n\n@Component({\n selector: 'novo-nav-header',\n host: {\n '[class.active]': 'active',\n '(click)': 'show($event)',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-header.scss'],\n})\nexport class NovoNavHeaderElement {\n @HostBinding('attr.role')\n public role = 'tabpanel';\n @Input()\n active: boolean = false;\n @Input('for')\n forElement: any;\n outlet: any;\n\n constructor(outlet: NovoNavOutletElement) {\n this.active = this.active || false;\n this.outlet = outlet;\n }\n\n show(event?: any) {\n try {\n const INDEX = this.outlet.items.indexOf(this.forElement);\n if (INDEX > -1) {\n this.outlet.show(INDEX);\n }\n } catch (err) {\n // do nothing\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport {\n NovoNavContentElement,\n NovoNavElement,\n NovoNavHeaderElement,\n NovoNavOutletElement,\n NovoTabButtonElement,\n NovoTabElement,\n NovoTabLinkElement,\n} from './Tabs';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n exports: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n})\nexport class NovoTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { coerceNumberProperty } from '@angular/cdk/coercion';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, Input, HostBinding, Output, ChangeDetectionStrategy, ViewChild, Optional, NgModule } from '@angular/core';
3
+ import { EventEmitter, Component, Input, HostBinding, Output, ChangeDetectionStrategy, ViewChild, Optional, ViewEncapsulation, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/router';
5
5
  import { BooleanInput } from 'novo-elements/utils';
6
6
  import { CommonModule } from '@angular/common';
@@ -310,10 +310,10 @@ class NovoNavOutletElement {
310
310
  }
311
311
  }
312
312
  NovoNavOutletElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavOutletElement, deps: [], target: i0.ɵɵFactoryTarget.Component });
313
- NovoNavOutletElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavOutletElement, selector: "novo-nav-outlet", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] });
313
+ NovoNavOutletElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavOutletElement, selector: "novo-nav-outlet", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["novo-nav-outlet{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
314
314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavOutletElement, decorators: [{
315
315
  type: Component,
316
- args: [{ selector: 'novo-nav-outlet', template: '<ng-content></ng-content>', styles: [":host{display:block}\n"] }]
316
+ args: [{ selector: 'novo-nav-outlet', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: ["novo-nav-outlet{display:block}\n"] }]
317
317
  }] });
318
318
  class NovoNavContentElement {
319
319
  constructor(outlet) {
@@ -322,12 +322,12 @@ class NovoNavContentElement {
322
322
  }
323
323
  }
324
324
  NovoNavContentElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavContentElement, deps: [{ token: NovoNavOutletElement }], target: i0.ɵɵFactoryTarget.Component });
325
- NovoNavContentElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavContentElement, selector: "novo-nav-content", inputs: { active: "active" }, host: { properties: { "class.active": "active" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:none}:host.active{display:block}\n"] });
325
+ NovoNavContentElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoNavContentElement, selector: "novo-nav-content", inputs: { active: "active" }, host: { properties: { "class.active": "active" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["novo-nav-content{display:none}novo-nav-content.active{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
326
326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoNavContentElement, decorators: [{
327
327
  type: Component,
328
328
  args: [{ selector: 'novo-nav-content', host: {
329
329
  '[class.active]': 'active',
330
- }, template: '<ng-content></ng-content>', styles: [":host{display:none}:host.active{display:block}\n"] }]
330
+ }, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: ["novo-nav-content{display:none}novo-nav-content.active{display:block}\n"] }]
331
331
  }], ctorParameters: function () { return [{ type: NovoNavOutletElement }]; }, propDecorators: { active: [{
332
332
  type: Input
333
333
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-tabs.mjs","sources":["../../../projects/novo-elements/src/elements/tabs/Tabs.ts","../../../projects/novo-elements/src/elements/tabs/Tabs.module.ts","../../../projects/novo-elements/src/elements/tabs/novo-elements-elements-tabs.ts"],"sourcesContent":["// NG2\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-nav',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-nav.scss'],\n})\nexport class NovoNavElement implements AfterContentChecked {\n @Input()\n theme: string = '';\n @Input()\n direction: string = '';\n @Input()\n outlet: any;\n @Input()\n router: string;\n @HostBinding('class.condensed')\n @Input()\n @BooleanInput()\n condensed: boolean = false;\n\n items: Array<any> = [];\n\n /** The index of the active tab. */\n @Input()\n get selectedIndex(): number | null {\n return this._selectedIndex;\n }\n set selectedIndex(value: number | null) {\n this._indexToSelect = coerceNumberProperty(value, null);\n }\n private _selectedIndex: number | null = null;\n /** The tab index that should be selected after the content has been checked. */\n private _indexToSelect: number | null = 0;\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n @Output() readonly selectedIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));\n if (this._selectedIndex !== indexToSelect) {\n const isFirstRun = this._selectedIndex == null;\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n if (!isFirstRun) {\n this.selectedIndexChange.emit(indexToSelect);\n }\n });\n\n this._selectedIndex = indexToSelect;\n }\n }\n\n select(item) {\n const indexToSelect = this.items.indexOf(item);\n // Deactivate all other tabs\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n this.selectedIndexChange.emit(indexToSelect);\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n // item.selected.next();\n }\n this.items.push(item);\n }\n\n private _activateSelectedItem(indexToSelect: number) {\n const item = this.items[indexToSelect];\n if (item) {\n item.active = true;\n }\n }\n\n private _showActiveContent(indexToSelect: number) {\n if (this.outlet) {\n this.outlet.show(indexToSelect);\n }\n }\n\n private _deactivateAllItems(items: Array<any>) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n private _clampTabIndex(index: number | null): number {\n return Math.min(this.items.length - 1, Math.max(index || 0, 0));\n }\n}\n\n@Component({\n selector: 'novo-tab',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n '[attr.role]': 'tab',\n },\n template: `\n <div #tablink class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabElement {\n @HostBinding('attr.role')\n public role = 'tab';\n\n @Input()\n active: boolean = false;\n\n @Input()\n color: string;\n\n @Input()\n @BooleanInput()\n disabled: boolean = false;\n\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n onlyText = true;\n @HostBinding('class.text-only')\n get hb_textOnly() {\n return this.onlyText;\n }\n\n @ViewChild('tablink')\n tablink;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private el: ElementRef, private cdr: ChangeDetectorRef) {\n this.nav = nav;\n this.nav.add(this);\n const tablink = el.nativeElement.querySelector('.novo-tab-link');\n if (tablink) {\n for (let i = 0; i < tablink.childNodes.length; i++) {\n if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE) this.onlyText = false;\n }\n }\n }\n\n select() {\n if (!this.disabled) {\n this.activeChange.emit(true);\n this.nav.select(this);\n }\n this.cdr.detectChanges();\n }\n}\n\n@Component({\n selector: 'novo-tab-button',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-button.scss'],\n})\nexport class NovoTabButtonElement {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n\n nav: any;\n\n constructor(nav: NovoNavElement) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n }\n }\n}\n\n@Component({\n selector: 'novo-tab-link',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: `\n <div class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabLinkElement implements OnInit {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n @Input()\n spy: string;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private router: Router, private cdr: ChangeDetectorRef, @Optional() private link?: RouterLink) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n ngOnInit(): void {\n if (this.isLinkActive(this.link)) {\n this.nav.select(this);\n }\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n if (this.spy) {\n const el = document.querySelector(`#${this.spy}`);\n el?.scrollIntoView(true);\n }\n }\n }\n\n private isLinkActive(link: RouterLink) {\n return link && link.urlTree ? this.router.isActive(link.urlTree, false) : false;\n }\n}\n\n@Component({\n selector: 'novo-nav-outlet',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-outlet.scss'],\n})\nexport class NovoNavOutletElement {\n items: Array<any> = [];\n\n show(index) {\n const item = this.items[index];\n\n /**\n * Deactivates other tab items\n * @param items - deactivated items\n */\n function _deactivateAllItems(items) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n _deactivateAllItems(this.items);\n item.active = true;\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n }\n this.items.push(item);\n }\n}\n\n@Component({\n selector: 'novo-nav-content',\n host: {\n '[class.active]': 'active',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-content.scss'],\n})\nexport class NovoNavContentElement {\n @Input()\n active: boolean = false;\n\n constructor(outlet: NovoNavOutletElement) {\n outlet.add(this);\n }\n}\n\n@Component({\n selector: 'novo-nav-header',\n host: {\n '[class.active]': 'active',\n '(click)': 'show($event)',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-header.scss'],\n})\nexport class NovoNavHeaderElement {\n @HostBinding('attr.role')\n public role = 'tabpanel';\n @Input()\n active: boolean = false;\n @Input('for')\n forElement: any;\n outlet: any;\n\n constructor(outlet: NovoNavOutletElement) {\n this.active = this.active || false;\n this.outlet = outlet;\n }\n\n show(event?: any) {\n try {\n const INDEX = this.outlet.items.indexOf(this.forElement);\n if (INDEX > -1) {\n this.outlet.show(INDEX);\n }\n } catch (err) {\n // do nothing\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport {\n NovoNavContentElement,\n NovoNavElement,\n NovoNavHeaderElement,\n NovoNavOutletElement,\n NovoTabButtonElement,\n NovoTabElement,\n NovoTabLinkElement,\n} from './Tabs';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n exports: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n})\nexport class NovoTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAwBa,cAAc,CAAA;AAL3B,IAAA,WAAA,GAAA;QAOE,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QAEnB,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;QAQvB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAE3B,IAAK,CAAA,KAAA,GAAe,EAAE,CAAC;QAUf,IAAc,CAAA,cAAA,GAAkB,IAAI,CAAC;;QAErC,IAAc,CAAA,cAAA,GAAkB,CAAC,CAAC;;AAEvB,QAAA,IAAA,CAAA,mBAAmB,GAAyB,IAAI,YAAY,EAAU,CAAC;AAkE3F,KAAA;;AA7EC,IAAA,IACI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IACD,IAAI,aAAa,CAAC,KAAoB,EAAA;QACpC,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACzD;IAOD,qBAAqB,GAAA;;;AAGnB,QAAA,MAAM,aAAa,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AACvF,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,aAAa,EAAE;AACzC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;;;AAG/C,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,gBAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,EAAE;AACf,oBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,iBAAA;AACH,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AACrC,SAAA;KACF;AAED,IAAA,MAAM,CAAC,IAAI,EAAA;QACT,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;AAE/C,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC9C;AAED,IAAA,GAAG,CAAC,IAAI,EAAA;AACN,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;;AAEpB,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;AAEO,IAAA,qBAAqB,CAAC,aAAqB,EAAA;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACvC,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,SAAA;KACF;AAEO,IAAA,kBAAkB,CAAC,aAAqB,EAAA;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACjC,SAAA;KACF;AAEO,IAAA,mBAAmB,CAAC,KAAiB,EAAA;AAC3C,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAClB,YAAA,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;;AAEtB,aAAA;AACD,YAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;AACnB,SAAC,CAAC,CAAC;KACJ;;AAGO,IAAA,cAAc,CAAC,KAAoB,EAAA;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACjE;;4GA7FU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,wTAHf,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4jBAAA,CAAA,EAAA,CAAA,CAAA;AAerC,UAAA,CAAA;AADC,IAAA,YAAY,EAAE;;AACY,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAZhB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,YACV,2BAA2B,EAAA,MAAA,EAAA,CAAA,4jBAAA,CAAA,EAAA,CAAA;8BAKrC,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAGN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAGN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAGN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAKN,SAAS,EAAA,CAAA;sBAHR,WAAW;uBAAC,iBAAiB,CAAA;;sBAC7B,KAAK;gBAQF,aAAa,EAAA,CAAA;sBADhB,KAAK;gBAWa,mBAAmB,EAAA,CAAA;sBAArC,MAAM;;MAqFI,cAAc,CAAA;AA4BzB,IAAA,WAAA,CAAY,GAAmB,EAAU,EAAc,EAAU,GAAsB,EAAA;QAA9C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QA1BhF,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QAGpB,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QAOxB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAG1B,QAAA,IAAA,CAAA,YAAY,GAA0B,IAAI,YAAY,EAAW,CAAC;QAElE,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAYd,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACjE,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS;AAAE,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC9E,aAAA;AACF,SAAA;KACF;AAnBD,IAAA,IACI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAkBD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvB,SAAA;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;AA7CU,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBA4BR,cAAc,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA5BpB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EATf,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,s2cAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AAgBD,UAAA,CAAA;AADC,IAAA,YAAY,EAAE;;AACW,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAZf,cAAc,EAAA,UAAA,EAAA,CAAA;kBAjB1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EACd,IAAA,EAAA;AACJ,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,kBAAkB,EAAE,UAAU;AAC9B,wBAAA,aAAa,EAAE,KAAK;qBACrB,EACS,QAAA,EAAA,CAAA;;;;;GAKT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,s2cAAA,CAAA,EAAA,CAAA;AA8B9B,SAAA,CAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAA,cAAc,mFA1BxB,IAAI,EAAA,CAAA;sBADV,WAAW;uBAAC,WAAW,CAAA;gBAIxB,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBAFP,KAAK;gBAKN,YAAY,EAAA,CAAA;sBADX,MAAM;gBAKH,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,iBAAiB,CAAA;gBAM9B,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,SAAS,CAAA;;MAmCT,oBAAoB,CAAA;AAU/B,IAAA,WAAA,CAAY,GAAmB,EAAA;QARxB,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QAEpB,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QAExB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAKxB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACpB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvB,SAAA;KACF;;AAnBU,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAUd,cAAc,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAVpB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,2PAHrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qlCAAA,CAAA,EAAA,CAAA,CAAA;4FAG1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACrB,IAAA,EAAA;AACJ,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,kBAAkB,EAAE,UAAU;AAC/B,qBAAA,EAAA,QAAA,EACS,2BAA2B,EAAA,MAAA,EAAA,CAAA,qlCAAA,CAAA,EAAA,CAAA;AAapB,SAAA,CAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAA,cAAc,0BARxB,IAAI,EAAA,CAAA;sBADV,WAAW;uBAAC,WAAW,CAAA;gBAGxB,MAAM,EAAA,CAAA;sBADL,KAAK;gBAGN,QAAQ,EAAA,CAAA;sBADP,KAAK;;MAiCK,kBAAkB,CAAA;AAY7B,IAAA,WAAA,CAAY,GAAmB,EAAU,MAAc,EAAU,GAAsB,EAAsB,IAAiB,EAAA;QAArF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAAsB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAa;QAVvH,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QAEpB,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QAExB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAOxB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACpB;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAChC,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvB,SAAA;KACF;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,gBAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAI,CAAA,EAAA,IAAI,CAAC,GAAG,CAAE,CAAA,CAAC,CAAC;AAClD,gBAAA,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA;AACF,SAAA;KACF;AAEO,IAAA,YAAY,CAAC,IAAgB,EAAA;QACnC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;KACjF;;AAnCU,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAYZ,cAAc,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAZpB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EATnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,s2cAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FAIU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhB9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACnB,IAAA,EAAA;AACJ,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,kBAAkB,EAAE,UAAU;qBAC/B,EACS,QAAA,EAAA,CAAA;;;;;GAKT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,s2cAAA,CAAA,EAAA,CAAA;0DAc9B,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,CAAA;0BAA2D,QAAQ;4CAV3F,IAAI,EAAA,CAAA;sBADV,WAAW;uBAAC,WAAW,CAAA;gBAGxB,MAAM,EAAA,CAAA;sBADL,KAAK;gBAGN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAGN,GAAG,EAAA,CAAA;sBADF,KAAK;;MAoCK,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;QAME,IAAK,CAAA,KAAA,GAAe,EAAE,CAAC;AA4BxB,KAAA;AA1BC,IAAA,IAAI,CAAC,KAAK,EAAA;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE/B;;;AAGG;QACH,SAAS,mBAAmB,CAAC,KAAK,EAAA;AAChC,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAClB,gBAAA,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;;AAEtB,iBAAA;AACD,gBAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;AACnB,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;AAED,IAAA,GAAG,CAAC,IAAI,EAAA;AACN,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;;kHA5BU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,uDAHrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;4FAG1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,YACjB,2BAA2B,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;;MA0C1B,qBAAqB,CAAA;AAIhC,IAAA,WAAA,CAAY,MAA4B,EAAA;QAFxC,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAGtB,QAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAClB;;AANU,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAIZ,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAJ7B,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,0IAHtB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,CAAA,CAAA;4FAG1B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACtB,IAAA,EAAA;AACJ,wBAAA,gBAAgB,EAAE,QAAQ;AAC3B,qBAAA,EAAA,QAAA,EACS,2BAA2B,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,CAAA;AAOjB,SAAA,CAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAA,oBAAoB,0BAFxC,MAAM,EAAA,CAAA;sBADL,KAAK;;MAiBK,oBAAoB,CAAA;AAS/B,IAAA,WAAA,CAAY,MAA4B,EAAA;QAPjC,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;QAEzB,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QAMtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AAED,IAAA,IAAI,CAAC,KAAW,EAAA;QACd,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzD,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACd,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;;AAEb,SAAA;KACF;;AAvBU,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBASX,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAT7B,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,8OAHrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA,CAAA;4FAG1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACrB,IAAA,EAAA;AACJ,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,SAAS,EAAE,cAAc;AAC1B,qBAAA,EAAA,QAAA,EACS,2BAA2B,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA;AAYjB,SAAA,CAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAA,oBAAoB,0BAPjC,IAAI,EAAA,CAAA;sBADV,WAAW;uBAAC,WAAW,CAAA;gBAGxB,MAAM,EAAA,CAAA;sBADL,KAAK;gBAGN,UAAU,EAAA,CAAA;sBADT,KAAK;uBAAC,KAAK,CAAA;;;AClVd;MAmCa,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAlBtB,cAAc;QACd,cAAc;QACd,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CARZ,YAAY,CAAA,EAAA,OAAA,EAAA,CAWpB,cAAc;QACd,cAAc;QACd,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB,CAAA,EAAA,CAAA,CAAA;4GAGX,aAAa,EAAA,OAAA,EAAA,CApBf,CAAC,YAAY,CAAC,CAAA,EAAA,CAAA,CAAA;4FAoBZ,aAAa,EAAA,UAAA,EAAA,CAAA;kBArBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE;wBACZ,cAAc;wBACd,cAAc;wBACd,oBAAoB;wBACpB,kBAAkB;wBAClB,oBAAoB;wBACpB,qBAAqB;wBACrB,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,cAAc;wBACd,oBAAoB;wBACpB,kBAAkB;wBAClB,oBAAoB;wBACpB,qBAAqB;wBACrB,oBAAoB;AACrB,qBAAA;AACF,iBAAA,CAAA;;;AClCD;;AAEG;;;;"}
1
+ {"version":3,"file":"novo-elements-elements-tabs.mjs","sources":["../../../projects/novo-elements/src/elements/tabs/Tabs.ts","../../../projects/novo-elements/src/elements/tabs/Tabs.module.ts","../../../projects/novo-elements/src/elements/tabs/novo-elements-elements-tabs.ts"],"sourcesContent":["// NG2\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-nav',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-nav.scss'],\n})\nexport class NovoNavElement implements AfterContentChecked {\n @Input()\n theme: string = '';\n @Input()\n direction: string = '';\n @Input()\n outlet: any;\n @Input()\n router: string;\n @HostBinding('class.condensed')\n @Input()\n @BooleanInput()\n condensed: boolean = false;\n\n items: Array<any> = [];\n\n /** The index of the active tab. */\n @Input()\n get selectedIndex(): number | null {\n return this._selectedIndex;\n }\n set selectedIndex(value: number | null) {\n this._indexToSelect = coerceNumberProperty(value, null);\n }\n private _selectedIndex: number | null = null;\n /** The tab index that should be selected after the content has been checked. */\n private _indexToSelect: number | null = 0;\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n @Output() readonly selectedIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));\n if (this._selectedIndex !== indexToSelect) {\n const isFirstRun = this._selectedIndex == null;\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n if (!isFirstRun) {\n this.selectedIndexChange.emit(indexToSelect);\n }\n });\n\n this._selectedIndex = indexToSelect;\n }\n }\n\n select(item) {\n const indexToSelect = this.items.indexOf(item);\n // Deactivate all other tabs\n this._deactivateAllItems(this.items);\n this._activateSelectedItem(indexToSelect);\n this._showActiveContent(indexToSelect);\n this.selectedIndexChange.emit(indexToSelect);\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n // item.selected.next();\n }\n this.items.push(item);\n }\n\n private _activateSelectedItem(indexToSelect: number) {\n const item = this.items[indexToSelect];\n if (item) {\n item.active = true;\n }\n }\n\n private _showActiveContent(indexToSelect: number) {\n if (this.outlet) {\n this.outlet.show(indexToSelect);\n }\n }\n\n private _deactivateAllItems(items: Array<any>) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n private _clampTabIndex(index: number | null): number {\n return Math.min(this.items.length - 1, Math.max(index || 0, 0));\n }\n}\n\n@Component({\n selector: 'novo-tab',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n '[attr.role]': 'tab',\n },\n template: `\n <div #tablink class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabElement {\n @HostBinding('attr.role')\n public role = 'tab';\n\n @Input()\n active: boolean = false;\n\n @Input()\n color: string;\n\n @Input()\n @BooleanInput()\n disabled: boolean = false;\n\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n onlyText = true;\n @HostBinding('class.text-only')\n get hb_textOnly() {\n return this.onlyText;\n }\n\n @ViewChild('tablink')\n tablink;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private el: ElementRef, private cdr: ChangeDetectorRef) {\n this.nav = nav;\n this.nav.add(this);\n const tablink = el.nativeElement.querySelector('.novo-tab-link');\n if (tablink) {\n for (let i = 0; i < tablink.childNodes.length; i++) {\n if (tablink.childNodes[i].nodeType !== Node.TEXT_NODE) this.onlyText = false;\n }\n }\n }\n\n select() {\n if (!this.disabled) {\n this.activeChange.emit(true);\n this.nav.select(this);\n }\n this.cdr.detectChanges();\n }\n}\n\n@Component({\n selector: 'novo-tab-button',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-button.scss'],\n})\nexport class NovoTabButtonElement {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n\n nav: any;\n\n constructor(nav: NovoNavElement) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n }\n }\n}\n\n@Component({\n selector: 'novo-tab-link',\n host: {\n '(click)': 'select()',\n '[class.active]': 'active',\n '[class.disabled]': 'disabled',\n },\n template: `\n <div class=\"novo-tab-link\">\n <ng-content></ng-content>\n </div>\n <span class=\"indicator\"></span>\n `,\n styleUrls: ['./tab.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTabLinkElement implements OnInit {\n @HostBinding('attr.role')\n public role = 'tab';\n @Input()\n active: boolean = false;\n @Input()\n disabled: boolean = false;\n @Input()\n spy: string;\n\n nav: any;\n\n constructor(nav: NovoNavElement, private router: Router, private cdr: ChangeDetectorRef, @Optional() private link?: RouterLink) {\n this.nav = nav;\n this.nav.add(this);\n }\n\n ngOnInit(): void {\n if (this.isLinkActive(this.link)) {\n this.nav.select(this);\n }\n }\n\n select() {\n if (!this.disabled) {\n this.nav.select(this);\n if (this.spy) {\n const el = document.querySelector(`#${this.spy}`);\n el?.scrollIntoView(true);\n }\n }\n }\n\n private isLinkActive(link: RouterLink) {\n return link && link.urlTree ? this.router.isActive(link.urlTree, false) : false;\n }\n}\n\n@Component({\n selector: 'novo-nav-outlet',\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-outlet.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NovoNavOutletElement {\n items: Array<any> = [];\n\n show(index) {\n const item = this.items[index];\n\n /**\n * Deactivates other tab items\n * @param items - deactivated items\n */\n function _deactivateAllItems(items) {\n items.forEach((t) => {\n if (t.active === true) {\n // t.deselected.next();\n }\n t.active = false;\n });\n }\n\n _deactivateAllItems(this.items);\n item.active = true;\n }\n\n add(item) {\n if (this.items.length === 0) {\n item.active = true;\n }\n this.items.push(item);\n }\n}\n\n@Component({\n selector: 'novo-nav-content',\n host: {\n '[class.active]': 'active',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-content.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NovoNavContentElement {\n @Input()\n active: boolean = false;\n\n constructor(outlet: NovoNavOutletElement) {\n outlet.add(this);\n }\n}\n\n@Component({\n selector: 'novo-nav-header',\n host: {\n '[class.active]': 'active',\n '(click)': 'show($event)',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['./tab-header.scss'],\n})\nexport class NovoNavHeaderElement {\n @HostBinding('attr.role')\n public role = 'tabpanel';\n @Input()\n active: boolean = false;\n @Input('for')\n forElement: any;\n outlet: any;\n\n constructor(outlet: NovoNavOutletElement) {\n this.active = this.active || false;\n this.outlet = outlet;\n }\n\n show(event?: any) {\n try {\n const INDEX = this.outlet.items.indexOf(this.forElement);\n if (INDEX > -1) {\n this.outlet.show(INDEX);\n }\n } catch (err) {\n // do nothing\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport {\n NovoNavContentElement,\n NovoNavElement,\n NovoNavHeaderElement,\n NovoNavOutletElement,\n NovoTabButtonElement,\n NovoTabElement,\n NovoTabLinkElement,\n} from './Tabs';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n exports: [\n NovoNavElement,\n NovoTabElement,\n NovoTabButtonElement,\n NovoTabLinkElement,\n NovoNavOutletElement,\n NovoNavContentElement,\n NovoNavHeaderElement,\n ],\n})\nexport class NovoTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "novo-elements",
3
- "version": "8.1.0-next.2",
3
+ "version": "8.1.0-next.3",
4
4
  "sideEffects": true,
5
5
  "peerDependencies": {
6
6
  "@angular/animations": ">=10",