@ngrdt/tabs 0.0.2 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/esm2022/index.mjs +1 -1
- package/esm2022/lib/components/tab/rdt-tab.component.mjs +3 -3
- package/esm2022/lib/components/tab-container/rdt-tab-container.component.mjs +3 -3
- package/esm2022/lib/directives/rdt-destroy-inactive.directive.mjs +1 -1
- package/esm2022/lib/directives/rdt-tab-controller.directive.mjs +1 -1
- package/esm2022/lib/rdt-tabs-models.mjs +1 -1
- package/esm2022/lib/rdt-tabs.module.mjs +4 -5
- package/esm2022/lib/strategies/auto-rdt-tabs-shortcut-strategy.mjs +1 -1
- package/esm2022/lib/strategies/rdt-tabs-shortcut-strategy.mjs +1 -1
- package/esm2022/lib/strategies/static-rdt-tabs-shortcut-strategy.mjs +3 -3
- package/fesm2022/ngrdt-tabs.mjs +9 -10
- package/fesm2022/ngrdt-tabs.mjs.map +1 -1
- package/lib/rdt-tabs.module.d.ts +1 -2
- package/package.json +7 -8
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# @ngrdt/tabs
|
|
2
|
-
|
|
3
|
-
This library was generated with [Nx](https://nx.dev).
|
|
4
|
-
|
|
5
|
-
## Running unit tests
|
|
6
|
-
|
|
7
|
-
Run `nx test @ngrdt/tabs` to execute the unit tests.
|
|
1
|
+
# @ngrdt/tabs
|
|
2
|
+
|
|
3
|
+
This library was generated with [Nx](https://nx.dev).
|
|
4
|
+
|
|
5
|
+
## Running unit tests
|
|
6
|
+
|
|
7
|
+
Run `nx test @ngrdt/tabs` to execute the unit tests.
|
package/esm2022/index.mjs
CHANGED
|
@@ -6,4 +6,4 @@ export * from './lib/rdt-tabs-models';
|
|
|
6
6
|
export * from './lib/rdt-tabs.module';
|
|
7
7
|
export * from './lib/strategies/rdt-tabs-shortcut-strategy';
|
|
8
8
|
export * from './lib/strategies/static-rdt-tabs-shortcut-strategy';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvdGFicy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWItY29udGFpbmVyL3JkdC10YWItY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFiL3JkdC10YWIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yZHQtZGVzdHJveS1pbmFjdGl2ZS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3JkdC10YWItY29udHJvbGxlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZHQtdGFicy1tb2RlbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZHQtdGFicy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdHJhdGVnaWVzL3JkdC10YWJzLXNob3J0Y3V0LXN0cmF0ZWd5JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyYXRlZ2llcy9zdGF0aWMtcmR0LXRhYnMtc2hvcnRjdXQtc3RyYXRlZ3knO1xyXG4iXX0=
|
|
@@ -106,7 +106,7 @@ export class RdtTabComponent {
|
|
|
106
106
|
provide: RDT_GUARDED_COMPONENT,
|
|
107
107
|
useExisting: RdtTabComponent,
|
|
108
108
|
},
|
|
109
|
-
], queries: [{ propertyName: "explicitContent", first: true, predicate: RdtDestroyInactiveDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.RdtContainerDirective }], ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
109
|
+
], queries: [{ propertyName: "explicitContent", first: true, predicate: RdtDestroyInactiveDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.RdtContainerDirective }], ngImport: i0, template: "<ng-template>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
110
110
|
}
|
|
111
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
@@ -115,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
115
115
|
provide: RDT_GUARDED_COMPONENT,
|
|
116
116
|
useExisting: RdtTabComponent,
|
|
117
117
|
},
|
|
118
|
-
], hostDirectives: [RdtContainerDirective], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
118
|
+
], hostDirectives: [RdtContainerDirective], template: "<ng-template>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n" }]
|
|
119
119
|
}], propDecorators: { stateId: [{
|
|
120
120
|
type: Input
|
|
121
121
|
}], disabled: [{
|
|
@@ -142,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
142
142
|
static: true,
|
|
143
143
|
}]
|
|
144
144
|
}] } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFicy9zcmMvbGliL2NvbXBvbmVudHMvdGFiL3JkdC10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi9yZHQtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUlMLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixxQkFBcUIsR0FFdEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQWN4RixNQUFNLE9BQU8sZUFBZTtJQUNULFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqQyxRQUFRLENBQXlCO0lBQ3pDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFN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Z0IsNENBM0N6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1NBQ0YsdUVBK0NhLDJCQUEyQiwyQkFDakMsV0FBVyw0RkFKUixXQUFXLDhJQzlFeEIsOERBR0E7OzJGRGtDYSxlQUFlO2tCQVozQixTQUFTOytCQUNFLFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixXQUFXLGlCQUFpQjt5QkFDN0I7cUJBQ0Ysa0JBQ2UsQ0FBQyxxQkFBcUIsQ0FBQzs4QkFZbkMsT0FBTztzQkFEVixLQUFLO2dCQWtCTixRQUFRO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsS0FBSztzQkFESixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJekIsYUFBYTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxXQUFXO3NCQURWLEtBQUs7Z0JBSVcsZUFBZTtzQkFEL0IsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU92QixlQUFlO3NCQUovQixZQUFZO3VCQUFDLDJCQUEyQixFQUFFO3dCQUN6QyxJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERlc3Ryb3lSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBSRFRfR1VBUkRFRF9DT01QT05FTlQsXG4gIFJkdENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgUmR0SXNBY3RpdmUsXG59IGZyb20gJ0BuZ3JkdC9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IFJkdERlc3Ryb3lJbmFjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcmR0LWRlc3Ryb3ktaW5hY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkdFRhYkNvbnRhaW5lclN0YXRlLCBSZHRUYWJTdGF0ZSB9IGZyb20gJy4uLy4uL3JkdC10YWJzLW1vZGVscyc7XG5pbXBvcnQgeyBSZHRUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi90YWItY29udGFpbmVyL3JkdC10YWItY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JkdC10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXRhYi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBSRFRfR1VBUkRFRF9DT01QT05FTlQsXG4gICAgICB1c2VFeGlzdGluZzogUmR0VGFiQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbUmR0Q29udGFpbmVyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0VGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIFJkdElzQWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcHJpdmF0ZSBfY29udERpciE6IFJkdENvbnRhaW5lckRpcmVjdGl2ZTtcbiAgZ2V0IGNvbnREaXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnREaXI7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgc3RhdGVJZCgpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJZCA9PT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMubGFiZWwgIT09ICcnKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlSWQgPSB0aGlzLmxhYmVsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYkNvbnRhaW5lcj8udGFic0xpc3Q/LnRvQXJyYXkoKS5pbmRleE9mKHRoaXMpO1xuICAgICAgICB0aGlzLl9zdGF0ZUlkID0gYHRhYi0ke2luZGV4fWA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdGF0ZUlkO1xuICB9XG4gIHNldCBzdGF0ZUlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGF0ZUlkID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfc3RhdGVJZDogc3RyaW5nID0gbnVsbCBhcyB1bmtub3duIGFzIHN0cmluZztcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgdmlzaWJsZSA9IHRydWU7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgbGFiZWwhOiBzdHJpbmc7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGZvcm1BdXRvZm9jdXMgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNsYXNzOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IGltcGxpY2l0Q29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChSZHREZXN0cm95SW5hY3RpdmVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgZXhwbGljaXRDb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgdGVtcGxhdGVSZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwbGljaXRDb250ZW50ID8/IHRoaXMuaW1wbGljaXRDb250ZW50O1xuICB9XG5cbiAgcmVhZG9ubHkgdGFiQ29udGFpbmVyID0gaW5qZWN0KFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCk7XG5cbiAgLy9nZXQgZm9ybXMoKSB7XG4gIC8vICByZXR1cm4gdGhpcy5nZXRDaGlsZHJlbkJ5Q2xhc3MoUmR0QmFzZUZvcm1Db21wb25lbnQpO1xuICAvL31cblxuICBnZXQgY2hpbGRDb250YWluZXJzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnREaXIuZ2V0Q2hpbGRyZW5CeUNsYXNzKFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCk7XG4gIH1cblxuICByZHRJc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy52aXNpYmxlICYmICF0aGlzLmRpc2FibGVkICYmIHRoaXMudGFiQ29udGFpbmVyLmFjdGl2ZVRhYiA9PT0gdGhpc1xuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9jb250RGlyID0gdGhpcy5pbmplY3Rvci5nZXQoUmR0Q29udGFpbmVyRGlyZWN0aXZlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoXG4gICAgICAnbGFiZWwnIGluIGNoYW5nZXMgfHxcbiAgICAgICd2YWx1ZScgaW4gY2hhbmdlcyB8fFxuICAgICAgJ3Zpc2libGUnIGluIGNoYW5nZXMgfHxcbiAgICAgICdzdGF0ZUlkJyBpbiBjaGFuZ2VzXG4gICAgKSB7XG4gICAgICB0aGlzLnRhYkNvbnRhaW5lci5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNUb3BMZXZlbCgpIHtcbiAgICByZXR1cm4gdGhpcy50YWJDb250YWluZXIuaXNUb3BMZXZlbDtcbiAgfVxuXG4gIGdldFN0YXRlKCk6IFJkdFRhYlN0YXRlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuc3RhdGVJZCxcbiAgICAgIGNvbnRhaW5lclN0YXRlczogdGhpcy5jaGlsZENvbnRhaW5lcnMubWFwKChjb250KSA9PiBjb250LmdldFN0YXRlKCkpLFxuICAgIH07XG4gIH1cblxuICBhcHBseVN0YXRlKHN0YXRlOiBSZHRUYWJTdGF0ZSkge1xuICAgIGNvbnN0IHN0YXRlczogKFJkdFRhYkNvbnRhaW5lclN0YXRlIHwgbnVsbClbXSA9IFsuLi5zdGF0ZS5jb250YWluZXJTdGF0ZXNdO1xuICAgIGNvbnN0IGNvbnRzOiAoUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50IHwgbnVsbClbXSA9IHRoaXMuY2hpbGRDb250YWluZXJzO1xuICAgIGNvbnN0IG1pbkxlbiA9IE1hdGgubWluKHN0YXRlcy5sZW5ndGgsIGNvbnRzLmxlbmd0aCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pbkxlbjsgaSsrKSB7XG4gICAgICBpZiAoY29udHNbaV0hLnN0YXRlSWQgPT09IHN0YXRlc1tpXSEuaWQpIHtcbiAgICAgICAgY29udHNbaV0hLmFwcGx5U3RhdGUoc3RhdGVzW2ldISk7XG4gICAgICAgIGNvbnRzW2ldID0gc3RhdGVzW2ldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgY29udHMuZm9yRWFjaCgoY29udCwgY29udEkpID0+IHtcbiAgICAgIGlmICghY29udCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBzdGF0ZXMubGVuZ3RoOyBvZmZzZXQrKykge1xuICAgICAgICBjb25zdCBwcmV2ID0gY29udEkgLSBvZmZzZXQ7XG4gICAgICAgIGNvbnN0IG5leHQgPSBjb250SSArIG9mZnNldDtcbiAgICAgICAgaWYgKHByZXYgPiAwICYmIHN0YXRlc1twcmV2XT8uaWQgPT09IGNvbnQuc3RhdGVJZCkge1xuICAgICAgICAgIGNvbnQuYXBwbHlTdGF0ZShzdGF0ZXNbcHJldl0hKTtcbiAgICAgICAgICBzdGF0ZXNbcHJldl0gPSBudWxsO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChuZXh0IDwgc3RhdGVzLmxlbmd0aCAmJiBzdGF0ZXNbbmV4dF0/LmlkID09PSBjb250LnN0YXRlSWQpIHtcbiAgICAgICAgICBjb250LmFwcGx5U3RhdGUoc3RhdGVzW25leHRdISk7XG4gICAgICAgICAgc3RhdGVzW25leHRdID0gbnVsbDtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZvY3VzRm9ybSgpIHtcbiAgICAvL1RPRE86IGdldFJkdEF1dG9mb2N1c2FibGUodGhpcy5mb3Jtcyk/LnJkdEZvY3VzKCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFicy9zcmMvbGliL2NvbXBvbmVudHMvdGFiL3JkdC10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi9yZHQtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUlMLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixxQkFBcUIsR0FFdEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQWN4RixNQUFNLE9BQU8sZUFBZTtJQUNULFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqQyxRQUFRLENBQXlCO0lBQ3pDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ08sUUFBUSxHQUFXLElBQXlCLENBQUM7SUFHckQsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUdqQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBR2YsS0FBSyxDQUFVO0lBR2YsYUFBYSxHQUFHLElBQUksQ0FBQztJQUdyQixXQUFXLEdBQXFCLElBQUksQ0FBQztJQUdwQixlQUFlLENBQW9CO0lBTW5DLGVBQWUsQ0FBb0I7SUFFcEQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDdEQsQ0FBQztJQUVRLFlBQVksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUV6RCxlQUFlO0lBQ2YseURBQXlEO0lBQ3pELEdBQUc7SUFFSCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLENBQ0wsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUNFLE9BQU8sSUFBSSxPQUFPO1lBQ2xCLE9BQU8sSUFBSSxPQUFPO1lBQ2xCLFNBQVMsSUFBSSxPQUFPO1lBQ3BCLFNBQVMsSUFBSSxPQUFPLEVBQ3BCLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ2hCLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3JFLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWtCO1FBQzNCLE1BQU0sTUFBTSxHQUFvQyxDQUFDLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sS0FBSyxHQUF3QyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBRSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUM7Z0JBQ2pDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUN0RCxNQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO2dCQUM1QixNQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO2dCQUM1QixJQUFJLElBQUksR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUM7b0JBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ3BCLE9BQU87Z0JBQ1QsQ0FBQztxQkFBTSxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUUsQ0FBQyxDQUFDO29CQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUNwQixPQUFPO2dCQUNULENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLG9EQUFvRDtJQUN0RCxDQUFDO3VHQWpJVSxlQUFlOzJGQUFmLGVBQWUsd0ZBMEJOLGdCQUFnQixtQ0FHaEIsZ0JBQWdCLHFFQU1oQixnQkFBZ0IsNENBM0N6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1NBQ0YsdUVBK0NhLDJCQUEyQiwyQkFDakMsV0FBVyw0RkFKUixXQUFXLDhJQzlFeEIsb0VBR0E7OzJGRGtDYSxlQUFlO2tCQVozQixTQUFTOytCQUNFLFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixXQUFXLGlCQUFpQjt5QkFDN0I7cUJBQ0Ysa0JBQ2UsQ0FBQyxxQkFBcUIsQ0FBQzs4QkFZbkMsT0FBTztzQkFEVixLQUFLO2dCQWtCTixRQUFRO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsS0FBSztzQkFESixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJekIsYUFBYTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxXQUFXO3NCQURWLEtBQUs7Z0JBSVcsZUFBZTtzQkFEL0IsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU92QixlQUFlO3NCQUovQixZQUFZO3VCQUFDLDJCQUEyQixFQUFFO3dCQUN6QyxJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBEZXN0cm95UmVmLFxyXG4gIGluamVjdCxcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFJEVF9HVUFSREVEX0NPTVBPTkVOVCxcclxuICBSZHRDb250YWluZXJEaXJlY3RpdmUsXHJcbiAgUmR0SXNBY3RpdmUsXHJcbn0gZnJvbSAnQG5ncmR0L2NvcmUnO1xyXG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XHJcbmltcG9ydCB7IFJkdERlc3Ryb3lJbmFjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcmR0LWRlc3Ryb3ktaW5hY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUmR0VGFiQ29udGFpbmVyU3RhdGUsIFJkdFRhYlN0YXRlIH0gZnJvbSAnLi4vLi4vcmR0LXRhYnMtbW9kZWxzJztcclxuaW1wb3J0IHsgUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLWNvbnRhaW5lci9yZHQtdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdyZHQtdGFiJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXRhYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFJEVF9HVUFSREVEX0NPTVBPTkVOVCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFJkdFRhYkNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxuICBob3N0RGlyZWN0aXZlczogW1JkdENvbnRhaW5lckRpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZHRUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgUmR0SXNBY3RpdmUge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG4gIHByaXZhdGUgX2NvbnREaXIhOiBSZHRDb250YWluZXJEaXJlY3RpdmU7XHJcbiAgZ2V0IGNvbnREaXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udERpcjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHN0YXRlSWQoKSB7XHJcbiAgICBpZiAodGhpcy5fc3RhdGVJZCA9PT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5sYWJlbCAhPT0gJycpIHtcclxuICAgICAgICB0aGlzLl9zdGF0ZUlkID0gdGhpcy5sYWJlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMudGFiQ29udGFpbmVyPy50YWJzTGlzdD8udG9BcnJheSgpLmluZGV4T2YodGhpcyk7XHJcbiAgICAgICAgdGhpcy5fc3RhdGVJZCA9IGB0YWItJHtpbmRleH1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJZDtcclxuICB9XHJcbiAgc2V0IHN0YXRlSWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc3RhdGVJZCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdGF0ZUlkOiBzdHJpbmcgPSBudWxsIGFzIHVua25vd24gYXMgc3RyaW5nO1xyXG5cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcclxuICB2aXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICBsYWJlbCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXHJcbiAgZm9ybUF1dG9mb2N1cyA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYnV0dG9uQ2xhc3M6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW1wbGljaXRDb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChSZHREZXN0cm95SW5hY3RpdmVEaXJlY3RpdmUsIHtcclxuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxyXG4gICAgc3RhdGljOiB0cnVlLFxyXG4gIH0pXHJcbiAgcHJpdmF0ZSByZWFkb25seSBleHBsaWNpdENvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBnZXQgdGVtcGxhdGVSZWYoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5leHBsaWNpdENvbnRlbnQgPz8gdGhpcy5pbXBsaWNpdENvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSB0YWJDb250YWluZXIgPSBpbmplY3QoUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50KTtcclxuXHJcbiAgLy9nZXQgZm9ybXMoKSB7XHJcbiAgLy8gIHJldHVybiB0aGlzLmdldENoaWxkcmVuQnlDbGFzcyhSZHRCYXNlRm9ybUNvbXBvbmVudCk7XHJcbiAgLy99XHJcblxyXG4gIGdldCBjaGlsZENvbnRhaW5lcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250RGlyLmdldENoaWxkcmVuQnlDbGFzcyhSZHRUYWJDb250YWluZXJDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgcmR0SXNBY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnZpc2libGUgJiYgIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy50YWJDb250YWluZXIuYWN0aXZlVGFiID09PSB0aGlzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9jb250RGlyID0gdGhpcy5pbmplY3Rvci5nZXQoUmR0Q29udGFpbmVyRGlyZWN0aXZlKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChcclxuICAgICAgJ2xhYmVsJyBpbiBjaGFuZ2VzIHx8XHJcbiAgICAgICd2YWx1ZScgaW4gY2hhbmdlcyB8fFxyXG4gICAgICAndmlzaWJsZScgaW4gY2hhbmdlcyB8fFxyXG4gICAgICAnc3RhdGVJZCcgaW4gY2hhbmdlc1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMudGFiQ29udGFpbmVyLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVG9wTGV2ZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50YWJDb250YWluZXIuaXNUb3BMZXZlbDtcclxuICB9XHJcblxyXG4gIGdldFN0YXRlKCk6IFJkdFRhYlN0YXRlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiB0aGlzLnN0YXRlSWQsXHJcbiAgICAgIGNvbnRhaW5lclN0YXRlczogdGhpcy5jaGlsZENvbnRhaW5lcnMubWFwKChjb250KSA9PiBjb250LmdldFN0YXRlKCkpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGFwcGx5U3RhdGUoc3RhdGU6IFJkdFRhYlN0YXRlKSB7XHJcbiAgICBjb25zdCBzdGF0ZXM6IChSZHRUYWJDb250YWluZXJTdGF0ZSB8IG51bGwpW10gPSBbLi4uc3RhdGUuY29udGFpbmVyU3RhdGVzXTtcclxuICAgIGNvbnN0IGNvbnRzOiAoUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50IHwgbnVsbClbXSA9IHRoaXMuY2hpbGRDb250YWluZXJzO1xyXG4gICAgY29uc3QgbWluTGVuID0gTWF0aC5taW4oc3RhdGVzLmxlbmd0aCwgY29udHMubGVuZ3RoKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pbkxlbjsgaSsrKSB7XHJcbiAgICAgIGlmIChjb250c1tpXSEuc3RhdGVJZCA9PT0gc3RhdGVzW2ldIS5pZCkge1xyXG4gICAgICAgIGNvbnRzW2ldIS5hcHBseVN0YXRlKHN0YXRlc1tpXSEpO1xyXG4gICAgICAgIGNvbnRzW2ldID0gc3RhdGVzW2ldID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29udHMuZm9yRWFjaCgoY29udCwgY29udEkpID0+IHtcclxuICAgICAgaWYgKCFjb250KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAobGV0IG9mZnNldCA9IDA7IG9mZnNldCA8IHN0YXRlcy5sZW5ndGg7IG9mZnNldCsrKSB7XHJcbiAgICAgICAgY29uc3QgcHJldiA9IGNvbnRJIC0gb2Zmc2V0O1xyXG4gICAgICAgIGNvbnN0IG5leHQgPSBjb250SSArIG9mZnNldDtcclxuICAgICAgICBpZiAocHJldiA+IDAgJiYgc3RhdGVzW3ByZXZdPy5pZCA9PT0gY29udC5zdGF0ZUlkKSB7XHJcbiAgICAgICAgICBjb250LmFwcGx5U3RhdGUoc3RhdGVzW3ByZXZdISk7XHJcbiAgICAgICAgICBzdGF0ZXNbcHJldl0gPSBudWxsO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobmV4dCA8IHN0YXRlcy5sZW5ndGggJiYgc3RhdGVzW25leHRdPy5pZCA9PT0gY29udC5zdGF0ZUlkKSB7XHJcbiAgICAgICAgICBjb250LmFwcGx5U3RhdGUoc3RhdGVzW25leHRdISk7XHJcbiAgICAgICAgICBzdGF0ZXNbbmV4dF0gPSBudWxsO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1c0Zvcm0oKSB7XHJcbiAgICAvL1RPRE86IGdldFJkdEF1dG9mb2N1c2FibGUodGhpcy5mb3Jtcyk/LnJkdEZvY3VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZT5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -217,7 +217,7 @@ export class RdtTabContainerComponent {
|
|
|
217
217
|
provide: RDT_GUARDED_COMPONENT,
|
|
218
218
|
useExisting: RdtTabContainerComponent,
|
|
219
219
|
},
|
|
220
|
-
], queries: [{ propertyName: "tabsList", predicate: RdtTabComponent }], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContent"], descendants: true, static: true }, { propertyName: "tabHeaderButtons", predicate: ["headerButton"], descendants: true }], hostDirectives: [{ directive: i1.RdtChildDirective }], ngImport: i0, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\n <button\n *ngFor=\"let tab of tabsList\"\n #headerButton\n class=\"px-2 py-1 tab-header-button\"\n (click)=\"activateTab(tab.stateId)\"\n [class.active]=\"value === tab.stateId\"\n [disabled]=\"tab.disabled\"\n [hidden]=\"!tab.visible\"\n role=\"tab\"\n [attr.aria-selected]=\"value === tab.stateId\"\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\n [id]=\"'tab-' + tab.stateId\"\n [class]=\"tab.buttonClass\"\n type=\"button\"\n >\n {{ tab.label }}\n </button>\n</div>\n<div\n class=\"tab-content\"\n role=\"tabpanel\"\n [id]=\"'panel-' + value\"\n [attr.aria-labelledby]=\"'tab-' + value\"\n #tabContent\n>\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\n</div>\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
220
|
+
], queries: [{ propertyName: "tabsList", predicate: RdtTabComponent }], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContent"], descendants: true, static: true }, { propertyName: "tabHeaderButtons", predicate: ["headerButton"], descendants: true }], hostDirectives: [{ directive: i1.RdtChildDirective }], ngImport: i0, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\r\n <button\r\n *ngFor=\"let tab of tabsList\"\r\n #headerButton\r\n class=\"px-2 py-1 tab-header-button\"\r\n (click)=\"activateTab(tab.stateId)\"\r\n [class.active]=\"value === tab.stateId\"\r\n [disabled]=\"tab.disabled\"\r\n [hidden]=\"!tab.visible\"\r\n role=\"tab\"\r\n [attr.aria-selected]=\"value === tab.stateId\"\r\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\r\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\r\n [id]=\"'tab-' + tab.stateId\"\r\n [class]=\"tab.buttonClass\"\r\n type=\"button\"\r\n >\r\n {{ tab.label }}\r\n </button>\r\n</div>\r\n<div\r\n class=\"tab-content\"\r\n role=\"tabpanel\"\r\n [id]=\"'panel-' + value\"\r\n [attr.aria-labelledby]=\"'tab-' + value\"\r\n #tabContent\r\n>\r\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\r\n</div>\r\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
221
221
|
}
|
|
222
222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabContainerComponent, decorators: [{
|
|
223
223
|
type: Component,
|
|
@@ -226,7 +226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
226
226
|
provide: RDT_GUARDED_COMPONENT,
|
|
227
227
|
useExisting: RdtTabContainerComponent,
|
|
228
228
|
},
|
|
229
|
-
], hostDirectives: [RdtChildDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\n <button\n *ngFor=\"let tab of tabsList\"\n #headerButton\n class=\"px-2 py-1 tab-header-button\"\n (click)=\"activateTab(tab.stateId)\"\n [class.active]=\"value === tab.stateId\"\n [disabled]=\"tab.disabled\"\n [hidden]=\"!tab.visible\"\n role=\"tab\"\n [attr.aria-selected]=\"value === tab.stateId\"\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\n [id]=\"'tab-' + tab.stateId\"\n [class]=\"tab.buttonClass\"\n type=\"button\"\n >\n {{ tab.label }}\n </button>\n</div>\n<div\n class=\"tab-content\"\n role=\"tabpanel\"\n [id]=\"'panel-' + value\"\n [attr.aria-labelledby]=\"'tab-' + value\"\n #tabContent\n>\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\n</div>\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"] }]
|
|
229
|
+
], hostDirectives: [RdtChildDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\r\n <button\r\n *ngFor=\"let tab of tabsList\"\r\n #headerButton\r\n class=\"px-2 py-1 tab-header-button\"\r\n (click)=\"activateTab(tab.stateId)\"\r\n [class.active]=\"value === tab.stateId\"\r\n [disabled]=\"tab.disabled\"\r\n [hidden]=\"!tab.visible\"\r\n role=\"tab\"\r\n [attr.aria-selected]=\"value === tab.stateId\"\r\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\r\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\r\n [id]=\"'tab-' + tab.stateId\"\r\n [class]=\"tab.buttonClass\"\r\n type=\"button\"\r\n >\r\n {{ tab.label }}\r\n </button>\r\n</div>\r\n<div\r\n class=\"tab-content\"\r\n role=\"tabpanel\"\r\n [id]=\"'panel-' + value\"\r\n [attr.aria-labelledby]=\"'tab-' + value\"\r\n #tabContent\r\n>\r\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\r\n</div>\r\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"] }]
|
|
230
230
|
}], propDecorators: { stateId: [{
|
|
231
231
|
type: Input
|
|
232
232
|
}], value: [{
|
|
@@ -267,4 +267,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
267
267
|
type: HostListener,
|
|
268
268
|
args: ['click', ['$event']]
|
|
269
269
|
}] } });
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi1jb250YWluZXIvcmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi1jb250YWluZXIvcmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsaUJBQWlCLEdBQ2xCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBZ0IzRCxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFHekMsT0FBTyxHQUFRLElBQUksQ0FBQztJ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LEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFFLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLENBQUMsQ0FBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDVCxPQUFPO1lBQ1QsQ0FBQztZQUNELEtBQUssSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7Z0JBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQzNCLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDakQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQztvQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDcEIsT0FBTztnQkFDVCxDQUFDO3FCQUFNLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxN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Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxlQUFlO2dCQUloQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxjQUFjO2dCQUk1QixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJakMsT0FBTztzQkFEZCxXQUFXO3VCQUFDLGNBQWM7Z0JBMEJ2QixPQUFPO3NCQURWLFdBQVc7dUJBQUMsT0FBTztnQkFNaEIsWUFBWTtzQkFEZixXQUFXO3VCQUFDLHdCQUF3QjtnQkFNakMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLHNCQUFzQjtnQkFNM0IsUUFBUTtzQkFEZixXQUFXO3VCQUFDLFdBQVc7Z0JBNkdoQixPQUFPO3NCQURkLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIGNhblRyYW5zaXRpb24kLFxuICBSRFRfR1VBUkRFRF9DT01QT05FTlQsXG4gIFJkdENoaWxkRGlyZWN0aXZlLFxufSBmcm9tICdAbmdyZHQvY29yZSc7XG5pbXBvcnQgeyBSZHRIVE1MVXRpbHMgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRUYWJDb250cm9sbGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9yZHQtdGFiLWNvbnRyb2xsZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkdFRhYkNvbnRhaW5lclN0YXRlLCBSZHRUYWJTdGF0ZSB9IGZyb20gJy4uLy4uL3JkdC10YWJzLW1vZGVscyc7XG5pbXBvcnQgeyBSZHRUYWJDb21wb25lbnQgfSBmcm9tICcuLi90YWIvcmR0LXRhYi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHQtdGFiLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZHQtdGFiLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JkdC10YWItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBSRFRfR1VBUkRFRF9DT01QT05FTlQsXG4gICAgICB1c2VFeGlzdGluZzogUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbUmR0Q2hpbGREaXJlY3RpdmVdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRUYWJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBASW5wdXQoKVxuICBzdGF0ZUlkOiBhbnkgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmFjdGl2ZVRhYiAmJiB0aGlzLmFjdGl2ZVRhYi5zdGF0ZUlkICE9PSB2YWwpIHtcbiAgICAgIC8vIFRPRE9cbiAgICAgIC8vdGhpcy5hY3RpdmVUYWIub25WaWV3V2lsbExlYXZlKCk7XG4gICAgfVxuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICAgIHRoaXMuc2V0Q3VycmVudCgpO1xuICB9XG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWUhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBmb3JtQXV0b2ZvY3VzID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwYW5lbFBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyA9ICd0b3AnO1xuXG4gIEBPdXRwdXQoKVxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKFJkdFRhYkNvbXBvbmVudClcbiAgdGFic0xpc3QhOiBRdWVyeUxpc3Q8UmR0VGFiQ29tcG9uZW50PjtcblxuICBAVmlld0NoaWxkcmVuKCdoZWFkZXJCdXR0b24nKVxuICB0YWJIZWFkZXJCdXR0b25zPzogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICBAVmlld0NoaWxkKCd0YWJDb250ZW50JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgdGFiQ29udGVudCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgcHJpdmF0ZSBfYWN0aXZlID0gZmFsc2U7XG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgfVxuICBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWN0aXZlID0gdmFsdWU7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBpc1RvcExldmVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5wYXJlbnRUYWI7XG4gIH1cblxuICByZWFkb25seSBwYXJlbnRUYWIgPSBpbmplY3QoUmR0VGFiQ29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICByZWFkb25seSBjb250cm9sbGVyID0gaW5qZWN0KFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmUsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG4gIHJlYWRvbmx5IGNkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIHByb3RlY3RlZCBjdXJyZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIGN1cnJlbnRUYWI6IFJkdFRhYkNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NlcygpIHtcbiAgICByZXR1cm4gYGRwMy10YWItY29udGFpbmVyIHBhbmVsLSR7dGhpcy5wYW5lbFBvc2l0aW9ufWA7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhbmVsLWhvcml6b250YWwnKVxuICBnZXQgaXNIb3Jpem9udGFsKCkge1xuICAgIHJldHVybiB0aGlzLnBhbmVsUG9zaXRpb24gPT09ICd0b3AnIHx8IHRoaXMucGFuZWxQb3NpdGlvbiA9PT0gJ2JvdHRvbSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhbmVsLXZlcnRpY2FsJylcbiAgZ2V0IGlzVmVydGljYWwoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzSG9yaXpvbnRhbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHJpdmF0ZSBhdHRyUm9sZSA9ICd0YWJsaXN0JztcblxuICBnZXQgaGFzTm9uRGlzYWJsZWRUYWJzKCkge1xuICAgIHJldHVybiB0aGlzLnRhYnNMaXN0LnNvbWUoKHRhYikgPT4gIXRhYi5kaXNhYmxlZCk7XG4gIH1cblxuICBnZXQgYWN0aXZlVGFiKCkge1xuICAgIHJldHVybiB0aGlzLmdldFRhYkJ5VmFsdWUodGhpcy52YWx1ZSk7XG4gIH1cblxuICBnZXRUYWJCeVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50YWJzTGlzdD8uZmluZCgodGFiKSA9PiB0YWIuc3RhdGVJZCA9PT0gdmFsdWUpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuY29udHJvbGxlcj8ub25UYWJDb250YWluZXJDaGFuZ2VzKCk7XG4gICAgdGltZXIoMClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldEN1cnJlbnQoKSk7XG5cbiAgICB0aGlzLnRhYnNMaXN0LmNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udHJvbGxlcj8ub25UYWJDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudCgpO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5zdGF0ZUlkID09PSBudWxsICYmIHRoaXMuY29udHJvbGxlcikge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLmNvbnRyb2xsZXIuZ2V0VGFiQ29udGFpbmVySW5kZXgodGhpcyk7XG4gICAgICB0aGlzLnN0YXRlSWQgPSBgdGFiLWNvbnRhaW5lci0ke2lkfWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RhdGUoKTogUmR0VGFiQ29udGFpbmVyU3RhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5zdGF0ZUlkLFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICB0YWJTdGF0ZXM6IHRoaXMudGFic0xpc3QubWFwKCh0YWIpID0+IHRhYi5nZXRTdGF0ZSgpKSxcbiAgICB9O1xuICB9XG5cbiAgYXBwbHlTdGF0ZShzdGF0ZTogUmR0VGFiQ29udGFpbmVyU3RhdGUpIHtcbiAgICB0aGlzLnZhbHVlID0gc3RhdGUudmFsdWU7XG4gICAgdGhpcy5zY3JvbGxDdXJyZW50QnV0dG9uSW50b1ZpZXcoKTtcblxuICAgIGNvbnN0IHN0YXRlczogKFJkdFRhYlN0YXRlIHwgbnVsbClbXSA9IFsuLi5zdGF0ZS50YWJTdGF0ZXNdO1xuICAgIGNvbnN0IHRhYnM6IChSZHRUYWJDb21wb25lbnQgfCBudWxsKVtdID0gdGhpcy50YWJzTGlzdC50b0FycmF5KCk7XG4gICAgY29uc3QgbWluTGVuID0gTWF0aC5taW4oc3RhdGVzLmxlbmd0aCwgdGFicy5sZW5ndGgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaW5MZW47IGkrKykge1xuICAgICAgaWYgKHRhYnNbaV0hLnN0YXRlSWQgPT09IHN0YXRlc1tpXSEuaWQpIHtcbiAgICAgICAgdGFic1tpXSEuYXBwbHlTdGF0ZShzdGF0ZXNbaV0hKTtcbiAgICAgICAgdGFic1tpXSA9IHN0YXRlc1tpXSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIHRhYnMuZm9yRWFjaCgodGFiLCB0YWJJKSA9PiB7XG4gICAgICBpZiAoIXRhYikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBzdGF0ZXMubGVuZ3RoOyBvZmZzZXQrKykge1xuICAgICAgICBjb25zdCBwcmV2ID0gdGFiSSAtIG9mZnNldDtcbiAgICAgICAgY29uc3QgbmV4dCA9IHRhYkkgKyBvZmZzZXQ7XG4gICAgICAgIGlmIChwcmV2ID4gMCAmJiBzdGF0ZXNbcHJldl0/LmlkID09PSB0YWIuc3RhdGVJZCkge1xuICAgICAgICAgIHRhYi5hcHBseVN0YXRlKHN0YXRlc1twcmV2XSEpO1xuICAgICAgICAgIHN0YXRlc1twcmV2XSA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKG5leHQgPCBzdGF0ZXMubGVuZ3RoICYmIHN0YXRlc1tuZXh0XT8uaWQgPT09IHRhYi5zdGF0ZUlkKSB7XG4gICAgICAgICAgdGFiLmFwcGx5U3RhdGUoc3RhdGVzW25leHRdISk7XG4gICAgICAgICAgc3RhdGVzW25leHRdID0gbnVsbDtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNjcm9sbEludG9WaWV3KCkge1xuICAgIHRoaXMuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICB9XG5cbiAgYXN5bmMgYWN0aXZhdGVUYWIodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5leHRUYWIgPSB0aGlzLmdldFRhYkJ5VmFsdWUodmFsdWUpO1xuXG4gICAgY29uc3QgY2FuID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICBjYW5UcmFuc2l0aW9uJCh0aGlzLmFjdGl2ZVRhYj8uY29udERpciwgbmV4dFRhYj8uY29udERpcilcbiAgICApO1xuICAgIGlmIChjYW4pIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsQ3VycmVudEJ1dHRvbkludG9WaWV3KCkge1xuICAgIGlmICghdGhpcy50YWJzTGlzdCB8fCAhdGhpcy50YWJIZWFkZXJCdXR0b25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRhYkluZGV4ID0gdGhpcy50YWJzTGlzdFxuICAgICAgLnRvQXJyYXkoKVxuICAgICAgLmZpbmRJbmRleCgodGFiKSA9PiB0YWIuc3RhdGVJZCA9PT0gdGhpcy52YWx1ZSk7XG4gICAgY29uc3QgYnV0dG9uUmVmID0gdGhpcy50YWJIZWFkZXJCdXR0b25zLmdldCh0YWJJbmRleCk7XG4gICAgaWYgKGJ1dHRvblJlZikge1xuICAgICAgUmR0SFRNTFV0aWxzLnNjcm9sbEludG9WaWV3SG9yaXpvbnRhbGx5V2l0aGluUGFyZW50KFxuICAgICAgICBidXR0b25SZWYubmF0aXZlRWxlbWVudFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25DbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5jb250cm9sbGVyPy5hY3RpdmF0ZVRhYkNvbnRhaW5lckZyb21DbGljayh0aGlzLCBldmVudC50aW1lU3RhbXApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDdXJyZW50KCkge1xuICAgIGlmICghdGhpcy50YWJzTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy52YWx1ZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGZpcnN0RW5hYmxlZCA9IHRoaXMuZ2V0Rmlyc3RFbmFibGVkVGFiKCk7XG4gICAgICBpZiAoZmlyc3RFbmFibGVkKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBmaXJzdEVuYWJsZWQuc3RhdGVJZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZCA9IHRoaXMudGFic0xpc3QuZmluZCgodGFiKSA9PiB0YWIuc3RhdGVJZCA9PT0gdGhpcy52YWx1ZSk7XG4gICAgaWYgKCFmb3VuZCkge1xuICAgICAgY29uc3QgZmlyc3QgPSB0aGlzLmdldEZpcnN0RW5hYmxlZFRhYigpO1xuICAgICAgaWYgKGZpcnN0KSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVUYWIoZmlyc3Quc3RhdGVJZCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgJ0FjdGl2ZSB0YWIgbm90IGZvdW5kLicsXG4gICAgICAgICAgdGhpcy50YWJzTGlzdC50b0FycmF5KCksXG4gICAgICAgICAgdGhpcy52YWx1ZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2V0VGFiKGZvdW5kKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGFiKHRhYjogUmR0VGFiQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFRhYiAhPT0gdGFiKSB7XG4gICAgICB0aGlzLnNvbGlkaWZ5VGFiQ29udGVudFNpemUoKTtcbiAgICAgIHRoaXMuY3VycmVudFRhYiA9IHRhYjtcbiAgICAgIHRoaXMuY3VycmVudFRlbXBsYXRlID0gdGFiLnRlbXBsYXRlUmVmO1xuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIC8vdGFiLm9uVmlld1dpbGxFbnRlcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1BdXRvZm9jdXMgJiYgdGFiLmZvcm1BdXRvZm9jdXMpIHtcbiAgICAgIC8vIFdhaXQgdW50aWwgdGVtcGxhdGUgaXMgYXR0YWNoZWQgdG8gRE9NXG4gICAgICB0aW1lcigwKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGFiLmRlc3Ryb3lSZWYpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0YWIuZm9jdXNGb3JtKCkpO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWxlYXNlVGFiQ29udGVudFNpemUoKSk7XG4gIH1cblxuICAvLyBTd2FwcGluZyB0ZW1wbGF0ZSBpbiB0ZW1wbGF0ZSBvdXRsZXQgd2lsbCBjYXVzZSBsYXJnZSBjc3MgcmVjYWxjXG4gIC8vIGZpeCBzaXplIHRvIHByZXZpb3VzIHRhYiBhbmQgaW4gY2FzZSB0aGV5IGFyZSB0aGUgc2FtZSBzaXplXG4gIC8vIHRoZSByZWNhbGMgaXNuJ3Qgbm90aWNhYmxlXG4gIHByaXZhdGUgc29saWRpZnlUYWJDb250ZW50U2l6ZSgpIHtcbiAgICBjb25zdCBlbCA9IHRoaXMudGFiQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGJiID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbCwgJ3dpZHRoJywgYmIud2lkdGggKyAncHgnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsLCAnaGVpZ2h0JywgYmIuaGVpZ2h0ICsgJ3B4Jyk7XG4gIH1cblxuICBwcml2YXRlIHJlbGVhc2VUYWJDb250ZW50U2l6ZSgpIHtcbiAgICBjb25zdCBlbCA9IHRoaXMudGFiQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWwsICd3aWR0aCcpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWwsICdoZWlnaHQnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RFbmFibGVkVGFiKCkge1xuICAgIHJldHVybiB0aGlzLnRhYnNMaXN0LmZpbmQoKHQpID0+ICF0LmRpc2FibGVkKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhYi1oZWFkZXItcGFuZWxcIiAqbmdJZj1cInRhYnNMaXN0XCI+XG4gIDxidXR0b25cbiAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNMaXN0XCJcbiAgICAjaGVhZGVyQnV0dG9uXG4gICAgY2xhc3M9XCJweC0yIHB5LTEgdGFiLWhlYWRlci1idXR0b25cIlxuICAgIChjbGljayk9XCJhY3RpdmF0ZVRhYih0YWIuc3RhdGVJZClcIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwidmFsdWUgPT09IHRhYi5zdGF0ZUlkXCJcbiAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICBbaGlkZGVuXT1cIiF0YWIudmlzaWJsZVwiXG4gICAgcm9sZT1cInRhYlwiXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ2YWx1ZSA9PT0gdGFiLnN0YXRlSWRcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3BhbmVsLScgKyB0YWIuc3RhdGVJZFwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwidmFsdWUgPT09IHRhYi5zdGF0ZUlkID8gMCA6IC0xXCJcbiAgICBbaWRdPVwiJ3RhYi0nICsgdGFiLnN0YXRlSWRcIlxuICAgIFtjbGFzc109XCJ0YWIuYnV0dG9uQ2xhc3NcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICA+XG4gICAge3sgdGFiLmxhYmVsIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2XG4gIGNsYXNzPVwidGFiLWNvbnRlbnRcIlxuICByb2xlPVwidGFicGFuZWxcIlxuICBbaWRdPVwiJ3BhbmVsLScgKyB2YWx1ZVwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGFiLScgKyB2YWx1ZVwiXG4gICN0YWJDb250ZW50XG4+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXJyZW50VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi1jb250YWluZXIvcmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9jb21wb25lbnRzL3RhYi1jb250YWluZXIvcmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsaUJBQWlCLEdBQ2xCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBZ0IzRCxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFHekMsT0FBTyxHQUFRLElBQUksQ0FBQztJ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LEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFFLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLENBQUMsQ0FBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDVCxPQUFPO1lBQ1QsQ0FBQztZQUNELEtBQUssSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7Z0JBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQzNCLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDakQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQztvQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDcEIsT0FBTztnQkFDVCxDQUFDO3FCQUFNLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxN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Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxlQUFlO2dCQUloQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxjQUFjO2dCQUk1QixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJakMsT0FBTztzQkFEZCxXQUFXO3VCQUFDLGNBQWM7Z0JBMEJ2QixPQUFPO3NCQURWLFdBQVc7dUJBQUMsT0FBTztnQkFNaEIsWUFBWTtzQkFEZixXQUFXO3VCQUFDLHdCQUF3QjtnQkFNakMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLHNCQUFzQjtnQkFNM0IsUUFBUTtzQkFEZixXQUFXO3VCQUFDLFdBQVc7Z0JBNkdoQixPQUFPO3NCQURkLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRGVzdHJveVJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHtcclxuICBjYW5UcmFuc2l0aW9uJCxcclxuICBSRFRfR1VBUkRFRF9DT01QT05FTlQsXHJcbiAgUmR0Q2hpbGREaXJlY3RpdmUsXHJcbn0gZnJvbSAnQG5ncmR0L2NvcmUnO1xyXG5pbXBvcnQgeyBSZHRIVE1MVXRpbHMgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcmR0LXRhYi1jb250cm9sbGVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJkdFRhYkNvbnRhaW5lclN0YXRlLCBSZHRUYWJTdGF0ZSB9IGZyb20gJy4uLy4uL3JkdC10YWJzLW1vZGVscyc7XHJcbmltcG9ydCB7IFJkdFRhYkNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi9yZHQtdGFiLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JkdC10YWItY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JkdC10YWItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFJEVF9HVUFSREVEX0NPTVBPTkVOVCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxuICBob3N0RGlyZWN0aXZlczogW1JkdENoaWxkRGlyZWN0aXZlXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgQElucHV0KClcclxuICBzdGF0ZUlkOiBhbnkgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiICYmIHRoaXMuYWN0aXZlVGFiLnN0YXRlSWQgIT09IHZhbCkge1xyXG4gICAgICAvLyBUT0RPXHJcbiAgICAgIC8vdGhpcy5hY3RpdmVUYWIub25WaWV3V2lsbExlYXZlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICAgIHRoaXMuc2V0Q3VycmVudCgpO1xyXG4gIH1cclxuICBnZXQgdmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZhbHVlITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZm9ybUF1dG9mb2N1cyA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGFuZWxQb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbScgPSAndG9wJztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oUmR0VGFiQ29tcG9uZW50KVxyXG4gIHRhYnNMaXN0ITogUXVlcnlMaXN0PFJkdFRhYkNvbXBvbmVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2hlYWRlckJ1dHRvbicpXHJcbiAgdGFiSGVhZGVyQnV0dG9ucz86IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYkNvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHRhYkNvbnRlbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKVxyXG4gIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xyXG4gIGdldCBhY3RpdmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xyXG4gIH1cclxuICBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9hY3RpdmUgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNUb3BMZXZlbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5wYXJlbnRUYWI7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBwYXJlbnRUYWIgPSBpbmplY3QoUmR0VGFiQ29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbmplY3QoUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSwge1xyXG4gICAgb3B0aW9uYWw6IHRydWUsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHJlYWRvbmx5IGVsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG5cclxuICBwcm90ZWN0ZWQgY3VycmVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIGN1cnJlbnRUYWI6IFJkdFRhYkNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBnZXQgY2xhc3NlcygpIHtcclxuICAgIHJldHVybiBgZHAzLXRhYi1jb250YWluZXIgcGFuZWwtJHt0aGlzLnBhbmVsUG9zaXRpb259YDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFuZWwtaG9yaXpvbnRhbCcpXHJcbiAgZ2V0IGlzSG9yaXpvbnRhbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBhbmVsUG9zaXRpb24gPT09ICd0b3AnIHx8IHRoaXMucGFuZWxQb3NpdGlvbiA9PT0gJ2JvdHRvbSc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhbmVsLXZlcnRpY2FsJylcclxuICBnZXQgaXNWZXJ0aWNhbCgpIHtcclxuICAgIHJldHVybiAhdGhpcy5pc0hvcml6b250YWw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXHJcbiAgcHJpdmF0ZSBhdHRyUm9sZSA9ICd0YWJsaXN0JztcclxuXHJcbiAgZ2V0IGhhc05vbkRpc2FibGVkVGFicygpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYnNMaXN0LnNvbWUoKHRhYikgPT4gIXRhYi5kaXNhYmxlZCk7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlVGFiKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VGFiQnlWYWx1ZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldFRhYkJ5VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMudGFic0xpc3Q/LmZpbmQoKHRhYikgPT4gdGFiLnN0YXRlSWQgPT09IHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgIHRoaXMuY29udHJvbGxlcj8ub25UYWJDb250YWluZXJDaGFuZ2VzKCk7XHJcbiAgICB0aW1lcigwKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldEN1cnJlbnQoKSk7XHJcblxyXG4gICAgdGhpcy50YWJzTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xsZXI/Lm9uVGFiQ2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudCgpO1xyXG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnN0YXRlSWQgPT09IG51bGwgJiYgdGhpcy5jb250cm9sbGVyKSB7XHJcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5jb250cm9sbGVyLmdldFRhYkNvbnRhaW5lckluZGV4KHRoaXMpO1xyXG4gICAgICB0aGlzLnN0YXRlSWQgPSBgdGFiLWNvbnRhaW5lci0ke2lkfWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTdGF0ZSgpOiBSZHRUYWJDb250YWluZXJTdGF0ZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogdGhpcy5zdGF0ZUlkLFxyXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcclxuICAgICAgdGFiU3RhdGVzOiB0aGlzLnRhYnNMaXN0Lm1hcCgodGFiKSA9PiB0YWIuZ2V0U3RhdGUoKSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYXBwbHlTdGF0ZShzdGF0ZTogUmR0VGFiQ29udGFpbmVyU3RhdGUpIHtcclxuICAgIHRoaXMudmFsdWUgPSBzdGF0ZS52YWx1ZTtcclxuICAgIHRoaXMuc2Nyb2xsQ3VycmVudEJ1dHRvbkludG9WaWV3KCk7XHJcblxyXG4gICAgY29uc3Qgc3RhdGVzOiAoUmR0VGFiU3RhdGUgfCBudWxsKVtdID0gWy4uLnN0YXRlLnRhYlN0YXRlc107XHJcbiAgICBjb25zdCB0YWJzOiAoUmR0VGFiQ29tcG9uZW50IHwgbnVsbClbXSA9IHRoaXMudGFic0xpc3QudG9BcnJheSgpO1xyXG4gICAgY29uc3QgbWluTGVuID0gTWF0aC5taW4oc3RhdGVzLmxlbmd0aCwgdGFicy5sZW5ndGgpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWluTGVuOyBpKyspIHtcclxuICAgICAgaWYgKHRhYnNbaV0hLnN0YXRlSWQgPT09IHN0YXRlc1tpXSEuaWQpIHtcclxuICAgICAgICB0YWJzW2ldIS5hcHBseVN0YXRlKHN0YXRlc1tpXSEpO1xyXG4gICAgICAgIHRhYnNbaV0gPSBzdGF0ZXNbaV0gPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0YWJzLmZvckVhY2goKHRhYiwgdGFiSSkgPT4ge1xyXG4gICAgICBpZiAoIXRhYikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBzdGF0ZXMubGVuZ3RoOyBvZmZzZXQrKykge1xyXG4gICAgICAgIGNvbnN0IHByZXYgPSB0YWJJIC0gb2Zmc2V0O1xyXG4gICAgICAgIGNvbnN0IG5leHQgPSB0YWJJICsgb2Zmc2V0O1xyXG4gICAgICAgIGlmIChwcmV2ID4gMCAmJiBzdGF0ZXNbcHJldl0/LmlkID09PSB0YWIuc3RhdGVJZCkge1xyXG4gICAgICAgICAgdGFiLmFwcGx5U3RhdGUoc3RhdGVzW3ByZXZdISk7XHJcbiAgICAgICAgICBzdGF0ZXNbcHJldl0gPSBudWxsO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobmV4dCA8IHN0YXRlcy5sZW5ndGggJiYgc3RhdGVzW25leHRdPy5pZCA9PT0gdGFiLnN0YXRlSWQpIHtcclxuICAgICAgICAgIHRhYi5hcHBseVN0YXRlKHN0YXRlc1tuZXh0XSEpO1xyXG4gICAgICAgICAgc3RhdGVzW25leHRdID0gbnVsbDtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsSW50b1ZpZXcoKSB7XHJcbiAgICB0aGlzLmVsUmVmPy5uYXRpdmVFbGVtZW50Py5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGFjdGl2YXRlVGFiKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IG5leHRUYWIgPSB0aGlzLmdldFRhYkJ5VmFsdWUodmFsdWUpO1xyXG5cclxuICAgIGNvbnN0IGNhbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxyXG4gICAgICBjYW5UcmFuc2l0aW9uJCh0aGlzLmFjdGl2ZVRhYj8uY29udERpciwgbmV4dFRhYj8uY29udERpcilcclxuICAgICk7XHJcbiAgICBpZiAoY2FuKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbEN1cnJlbnRCdXR0b25JbnRvVmlldygpIHtcclxuICAgIGlmICghdGhpcy50YWJzTGlzdCB8fCAhdGhpcy50YWJIZWFkZXJCdXR0b25zKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYkluZGV4ID0gdGhpcy50YWJzTGlzdFxyXG4gICAgICAudG9BcnJheSgpXHJcbiAgICAgIC5maW5kSW5kZXgoKHRhYikgPT4gdGFiLnN0YXRlSWQgPT09IHRoaXMudmFsdWUpO1xyXG4gICAgY29uc3QgYnV0dG9uUmVmID0gdGhpcy50YWJIZWFkZXJCdXR0b25zLmdldCh0YWJJbmRleCk7XHJcbiAgICBpZiAoYnV0dG9uUmVmKSB7XHJcbiAgICAgIFJkdEhUTUxVdGlscy5zY3JvbGxJbnRvVmlld0hvcml6b250YWxseVdpdGhpblBhcmVudChcclxuICAgICAgICBidXR0b25SZWYubmF0aXZlRWxlbWVudFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHByaXZhdGUgb25DbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XHJcbiAgICB0aGlzLmNvbnRyb2xsZXI/LmFjdGl2YXRlVGFiQ29udGFpbmVyRnJvbUNsaWNrKHRoaXMsIGV2ZW50LnRpbWVTdGFtcCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnQoKSB7XHJcbiAgICBpZiAoIXRoaXMudGFic0xpc3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0RW5hYmxlZCA9IHRoaXMuZ2V0Rmlyc3RFbmFibGVkVGFiKCk7XHJcbiAgICAgIGlmIChmaXJzdEVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZmlyc3RFbmFibGVkLnN0YXRlSWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZm91bmQgPSB0aGlzLnRhYnNMaXN0LmZpbmQoKHRhYikgPT4gdGFiLnN0YXRlSWQgPT09IHRoaXMudmFsdWUpO1xyXG4gICAgaWYgKCFmb3VuZCkge1xyXG4gICAgICBjb25zdCBmaXJzdCA9IHRoaXMuZ2V0Rmlyc3RFbmFibGVkVGFiKCk7XHJcbiAgICAgIGlmIChmaXJzdCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVUYWIoZmlyc3Quc3RhdGVJZCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAnQWN0aXZlIHRhYiBub3QgZm91bmQuJyxcclxuICAgICAgICAgIHRoaXMudGFic0xpc3QudG9BcnJheSgpLFxyXG4gICAgICAgICAgdGhpcy52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFRhYihmb3VuZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRhYih0YWI6IFJkdFRhYkNvbXBvbmVudCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRhYiAhPT0gdGFiKSB7XHJcbiAgICAgIHRoaXMuc29saWRpZnlUYWJDb250ZW50U2l6ZSgpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XHJcbiAgICAgIHRoaXMuY3VycmVudFRlbXBsYXRlID0gdGFiLnRlbXBsYXRlUmVmO1xyXG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAvL3RhYi5vblZpZXdXaWxsRW50ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5mb3JtQXV0b2ZvY3VzICYmIHRhYi5mb3JtQXV0b2ZvY3VzKSB7XHJcbiAgICAgIC8vIFdhaXQgdW50aWwgdGVtcGxhdGUgaXMgYXR0YWNoZWQgdG8gRE9NXHJcbiAgICAgIHRpbWVyKDApXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcclxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0YWIuZGVzdHJveVJlZilcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0YWIuZm9jdXNGb3JtKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWxlYXNlVGFiQ29udGVudFNpemUoKSk7XHJcbiAgfVxyXG5cclxuICAvLyBTd2FwcGluZyB0ZW1wbGF0ZSBpbiB0ZW1wbGF0ZSBvdXRsZXQgd2lsbCBjYXVzZSBsYXJnZSBjc3MgcmVjYWxjXHJcbiAgLy8gZml4IHNpemUgdG8gcHJldmlvdXMgdGFiIGFuZCBpbiBjYXNlIHRoZXkgYXJlIHRoZSBzYW1lIHNpemVcclxuICAvLyB0aGUgcmVjYWxjIGlzbid0IG5vdGljYWJsZVxyXG4gIHByaXZhdGUgc29saWRpZnlUYWJDb250ZW50U2l6ZSgpIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy50YWJDb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBiYiA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbCwgJ3dpZHRoJywgYmIud2lkdGggKyAncHgnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWwsICdoZWlnaHQnLCBiYi5oZWlnaHQgKyAncHgnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVsZWFzZVRhYkNvbnRlbnRTaXplKCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLnRhYkNvbnRlbnQubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWwsICd3aWR0aCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbCwgJ2hlaWdodCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaXJzdEVuYWJsZWRUYWIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50YWJzTGlzdC5maW5kKCh0KSA9PiAhdC5kaXNhYmxlZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YWItaGVhZGVyLXBhbmVsXCIgKm5nSWY9XCJ0YWJzTGlzdFwiPlxyXG4gIDxidXR0b25cclxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic0xpc3RcIlxyXG4gICAgI2hlYWRlckJ1dHRvblxyXG4gICAgY2xhc3M9XCJweC0yIHB5LTEgdGFiLWhlYWRlci1idXR0b25cIlxyXG4gICAgKGNsaWNrKT1cImFjdGl2YXRlVGFiKHRhYi5zdGF0ZUlkKVwiXHJcbiAgICBbY2xhc3MuYWN0aXZlXT1cInZhbHVlID09PSB0YWIuc3RhdGVJZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcclxuICAgIFtoaWRkZW5dPVwiIXRhYi52aXNpYmxlXCJcclxuICAgIHJvbGU9XCJ0YWJcIlxyXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ2YWx1ZSA9PT0gdGFiLnN0YXRlSWRcIlxyXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtJyArIHRhYi5zdGF0ZUlkXCJcclxuICAgIFthdHRyLnRhYmluZGV4XT1cInZhbHVlID09PSB0YWIuc3RhdGVJZCA/IDAgOiAtMVwiXHJcbiAgICBbaWRdPVwiJ3RhYi0nICsgdGFiLnN0YXRlSWRcIlxyXG4gICAgW2NsYXNzXT1cInRhYi5idXR0b25DbGFzc1wiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICA+XHJcbiAgICB7eyB0YWIubGFiZWwgfX1cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXZcclxuICBjbGFzcz1cInRhYi1jb250ZW50XCJcclxuICByb2xlPVwidGFicGFuZWxcIlxyXG4gIFtpZF09XCIncGFuZWwtJyArIHZhbHVlXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi0nICsgdmFsdWVcIlxyXG4gICN0YWJDb250ZW50XHJcbj5cclxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VycmVudFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
11
11
|
selector: '[rdtDestroyInactive]',
|
|
12
12
|
}]
|
|
13
13
|
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRlc3Ryb3ktaW5hY3RpdmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9kaXJlY3RpdmVzL3JkdC1kZXN0cm95LWluYWN0aXZlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSy9ELE1BQU0sT0FBTywyQkFBMkI7SUFDdEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzt1R0FEcEMsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JkdERlc3Ryb3lJbmFjdGl2ZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmR0RGVzdHJveUluYWN0aXZlRGlyZWN0aXZlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xyXG59XHJcbiJdfQ==
|
|
@@ -363,4 +363,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
363
363
|
type: ContentChildren,
|
|
364
364
|
args: [RdtTabControllerDirective, { descendants: true }]
|
|
365
365
|
}] } });
|
|
366
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYi1jb250cm9sbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJzL3NyYy9saWIvZGlyZWN0aXZlcy9yZHQtdGFiLWNvbnRyb2xsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBZSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7OztBQWE1RixNQUFNLE9BQU8seUJBQXlCO0lBR25CLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixlQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFekMseURBQXlEO0lBQ3pELElBQ0ksZ0JBQWdCLENBQUMsS0FBOEM7UUFDakUsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtB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SyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7dUdBbGFVLHlCQUF5QjsyRkFBekIseUJBQXlCLCtGQVJ6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFdBQVcsRUFBRSx5QkFBeUI7YUFDdkM7U0FDRiwyREFtQ2dCLHlCQUF5Qjs7MkZBaEMvQix5QkFBeUI7a0JBVnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsMkJBQTJCO3lCQUN2QztxQkFDRjtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDeEM7OEJBV0ssZ0JBQWdCO3NCQURuQixLQUFLO2dCQXdCSSxnQkFBZ0I7c0JBRHpCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIGNhblRyYW5zaXRpb24kLFxuICBSRFRfR1VBUkRFRF9DT01QT05FTlQsXG4gIFJkdENvbnRhaW5lckRpcmVjdGl2ZSxcbn0gZnJvbSAnQG5ncmR0L2NvcmUnO1xuaW1wb3J0IHsgUmR0U2hvcnRjdXQsIFJkdFNob3J0Y3V0U2VydmljZSB9IGZyb20gJ0BuZ3JkdC9zaG9ydGN1dHMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIFN1YnNjcmlwdGlvbiwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYi1jb250YWluZXIvcmR0LXRhYi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJkdFRhYkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdGFiL3JkdC10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9SZHRUYWJzU2hvcnRjdXRTdHJhdGVneSB9IGZyb20gJy4uL3N0cmF0ZWdpZXMvYXV0by1yZHQtdGFicy1zaG9ydGN1dC1zdHJhdGVneSc7XG5pbXBvcnQgeyBSZHRUYWJzU2hvcnRjdXRTdHJhdGVneSB9IGZyb20gJy4uL3N0cmF0ZWdpZXMvcmR0LXRhYnMtc2hvcnRjdXQtc3RyYXRlZ3knO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmR0VGFiQ29udHJvbGxlcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBSRFRfR1VBUkRFRF9DT01QT05FTlQsXG4gICAgICB1c2VFeGlzdGluZzogUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSxcbiAgICB9LFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW1JkdENvbnRhaW5lckRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNob3J0Y3V0U2VydmljZSA9IGluamVjdChSZHRTaG9ydGN1dFNlcnZpY2UpO1xuICBwcml2YXRlIHNob3J0Y3V0U3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIC8vIFN0cmluZyB2YWx1ZSBsZXRzIHlvdSB1c2UgdGhlIGRpcmVjdGl2ZSB3aXRob3V0IHBhcmFtLlxuICBASW5wdXQoKVxuICBzZXQgcmR0VGFiQ29udHJvbGxlcih2YWx1ZTogUmR0VGFic1Nob3J0Y3V0U3RyYXRlZ3kgfCBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuX3N0cmF0ZWd5ID0gdmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZVNob3J0Y3V0cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdGFiQ29udGFpbmVycygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJEaXJlY3RpdmVcbiAgICAgIC5nZXRDaGlsZHJlblJlY3Vyc2l2ZSgpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoY2gpID0+IGNoIGluc3RhbmNlb2YgUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50XG4gICAgICApIGFzIHVua25vd24gYXMgUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50W107XG4gIH1cbiAgcHJvdGVjdGVkIGdldCB0YWJzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckRpcmVjdGl2ZVxuICAgICAgLmdldENoaWxkcmVuUmVjdXJzaXZlKClcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChjaCkgPT4gY2ggaW5zdGFuY2VvZiBSZHRUYWJDb21wb25lbnRcbiAgICAgICkgYXMgdW5rbm93biBhcyBSZHRUYWJDb21wb25lbnRbXTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgY2hpbGRDb250cm9sbGVycyE6IFF1ZXJ5TGlzdDxSZHRUYWJDb250cm9sbGVyRGlyZWN0aXZlPjtcblxuICBnZXQgc3RyYXRlZ3koKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0cmF0ZWd5O1xuICB9XG4gIHByaXZhdGUgX3N0cmF0ZWd5OiBSZHRUYWJzU2hvcnRjdXRTdHJhdGVneSA9XG4gICAgbmV3IEF1dG9SZHRUYWJzU2hvcnRjdXRTdHJhdGVneSgpO1xuXG4gIHByaXZhdGUgX2xhc3RBY3RpdmVUYWJDb250YWluZXI6IHtcbiAgICB0aW1lc3RhbXA6IG51bWJlciB8IG51bGw7XG4gICAgY29udGFpbmVyOiBSZHRUYWJDb250YWluZXJDb21wb25lbnQ7XG4gIH0gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9jb250ZW50V2FzSW5pdCA9IGZhbHNlO1xuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBnZXQgc2hvcnRjdXRzKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG9ydGN1dHM7XG4gIH1cbiAgc2V0IHNob3J0Y3V0cyh2YWx1ZTogUmR0U2hvcnRjdXRbXSkge1xuICAgIGNvbnN0IG9sZFNldCA9IG5ldyBTZXQ8c3RyaW5nPih0aGlzLl9zaG9ydGN1dHMubWFwKChzKSA9PiBzLmhvdGtleXNWYWx1ZSkpO1xuICAgIHRoaXMuX3Nob3J0Y3V0cyA9IHZhbHVlO1xuXG4gICAgaWYgKFxuICAgICAgb2xkU2V0LnNpemUgIT09IHZhbHVlLmxlbmd0aCB8fFxuICAgICAgdmFsdWUuc29tZSgocykgPT4gIW9sZFNldC5oYXMocy5ob3RrZXlzVmFsdWUpKVxuICAgICkge1xuICAgICAgdGhpcy5iaW5kQWxsKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3Nob3J0Y3V0czogUmR0U2hvcnRjdXRbXSA9IFtdO1xuXG4gIGdldCBhY3RpdmVDb250YWluZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xhc3RBY3RpdmVUYWJDb250YWluZXI/LmNvbnRhaW5lcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb250YWluZXJEaXJlY3RpdmUhOiBSZHRDb250YWluZXJEaXJlY3RpdmU7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250YWluZXJEaXJlY3RpdmUgPSB0aGlzLmluamVjdG9yLmdldChcbiAgICAgIFJkdENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHtcbiAgICAgICAgc2VsZjogdHJ1ZSxcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMudXBkYXRlU2hvcnRjdXRzKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5zZXREZWZhdWx0QWN0aXZlKCk7XG4gICAgdGhpcy5kaXNhYmxlU2VsZldoZW5DaGlsZEN0cmxFeGlzdHMoKTtcbiAgICB0aGlzLl9jb250ZW50V2FzSW5pdCA9IHRydWU7XG4gICAgaWYgKHRoaXMudGFicy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm9uVGFiQ2hhbmdlcygpO1xuICAgIH1cbiAgICBpZiAodGhpcy50YWJDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMub25UYWJDb250YWluZXJDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bmJpbmRBbGwoKTtcbiAgICB0aGlzLl9zaG9ydGN1dHMubGVuZ3RoID0gMDtcbiAgfVxuXG4gIGdldFRhYkNvbnRhaW5lckluZGV4KGNvbnQ6IFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCk6IG51bWJlciB7XG4gICAgY29uc3QgbGV2ZWwgPSB0aGlzLmdldFNhbWVMZXZlbENvbnRhaW5lcnMoY29udCk7XG4gICAgcmV0dXJuIGxldmVsLmluZGV4T2YoY29udCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIGZpcnN0IHBhcmVudCBjb250YWluZXIgb2YgY3VycmVudCBjb250YWluZXJcbiAgICogdGhhdCBpcyBub3QgZGlzYWJsZWQgYW5kIGhhcyBhbnkgbm9uIGRpc2FibGVkIHRhYnMuXG4gICAqL1xuICBnb0xldmVsVXAoKTogYm9vbGVhbiB7XG4gICAgbGV0IGNvbnQgPSB0aGlzLmFjdGl2ZUNvbnRhaW5lcjtcbiAgICB3aGlsZSAoY29udCkge1xuICAgICAgY29udCA9IGNvbnQucGFyZW50VGFiPy50YWJDb250YWluZXI7XG4gICAgICBpZiAoY29udCAmJiAhY29udC5kaXNhYmxlZCAmJiBjb250Lmhhc05vbkRpc2FibGVkVGFicykge1xuICAgICAgICB0aGlzLmFjdGl2YXRlVGFiQ29udGFpbmVyKGNvbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBmaXJzdCBjb250YWluZXIgdW5kZXIgY3VycmVudCB0YWIgd2hpY2hcbiAgICogaXMgbm90IGRpc2FibGVkIGFuZCBoYXMgYW55IG5vbiBkaXNhYmxlZCB0YWJzLlxuICAgKi9cbiAgZ29MZXZlbERvd24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udCA9IHRoaXMuYWN0aXZlQ29udGFpbmVyO1xuICAgIGlmICghY29udCB8fCBjb250LmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGxldCB0YWIgPSBjb250LnRhYnNMaXN0LmZpbmQoKHQpID0+IHQuc3RhdGVJZCA9PT0gY29udC52YWx1ZSk7XG4gICAgaWYgKCF0YWIgfHwgdGFiLmRpc2FibGVkKSB7XG4gICAgICB0YWIgPSBjb250LnRhYnNMaXN0LmZpbmQoKHQpID0+ICF0LmRpc2FibGVkKTtcbiAgICB9XG4gICAgaWYgKCF0YWIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0Q29udCA9IHRhYi5jaGlsZENvbnRhaW5lcnMuZmluZChcbiAgICAgIChjKSA9PiAhYy5kaXNhYmxlZCAmJiBjLmhhc05vbkRpc2FibGVkVGFic1xuICAgICk7XG4gICAgaWYgKHRhcmdldENvbnQpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVUYWJDb250YWluZXIodGFyZ2V0Q29udCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBuZXh0IGNvbnRhaW5lciBvbiBjdXJyZW50IGxldmVsXG4gICAqICh1bmRlciBwYXJlbnQgY29udGFpbmVyIG9mIGN1cnJlbnRseSBhY3RpdmUgY29udGFpbmVyKS5cbiAgICogSXMgY3ljbGljLlxuICAgKi9cbiAgZ29Ub05leHRDb250YWluZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ29Ub0FkamFjZW50Q29udGFpbmVyKDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBwcmV2aW91cyBjb250YWluZXIgb24gY3VycmVudCBsZXZlbFxuICAgKiAodW5kZXIgcGFyZW50IGNvbnRhaW5lciBvZiBjdXJyZW50bHkgYWN0aXZlIGNvbnRhaW5lcikuXG4gICAqIElzIGN5Y2xpYy5cbiAgICovXG4gIGdvVG9QcmV2Q29udGFpbmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdvVG9BZGphY2VudENvbnRhaW5lcigtMSk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIHRhYiB3aXRoaW4gYWN0aXZlIGNvbnRhaW5lciBhdCB0aGUgaW5kZXggb2YgYXJndW1lbnQuXG4gICAqL1xuICBnb1RvVGFiV2l0aEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250ID0gdGhpcy5hY3RpdmVDb250YWluZXI7XG4gICAgaWYgKCFjb250KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHRhYiA9IGNvbnQudGFic0xpc3QuZ2V0KGluZGV4KTtcbiAgICBpZiAoIXRhYikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIG5leHQgdGFiIHdpdGhpbiBhY3RpdmUgY29udGFpbmVyLiBJcyBjeWNsaWMuXG4gICAqL1xuICBnb1RvTmV4dFRhYigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nb1RvQWRqYWNlbnRUYWIoMSk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIHByZXZpb3VzIHRhYiB3aXRoaW4gYWN0aXZlIGNvbnRhaW5lci4gSXMgY3ljbGljLlxuICAgKi9cbiAgZ29Ub1ByZXZUYWIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ29Ub0FkamFjZW50VGFiKC0xKTtcbiAgfVxuXG4gIHByaXZhdGUgZ29Ub0FkamFjZW50Q29udGFpbmVyKGRpcjogLTEgfCAxKSB7XG4gICAgY29uc3QgY29udCA9IHRoaXMuYWN0aXZlQ29udGFpbmVyO1xuICAgIGlmICghY29udCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGxldmVsID0gdGhpcy5nZXRTYW1lTGV2ZWxDb250YWluZXJzKGNvbnQpO1xuICAgIGlmICghbGV2ZWwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSBsZXZlbC5pbmRleE9mKGNvbnQpO1xuICAgIGlmIChjdXJyZW50SW5kZXggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0N1cnJlbnQgY29udGFpbmVyIGlzIG5vdCB3aXRoaW4gaXRzIG93biBsZXZlbD8nKTtcbiAgICB9XG4gICAgZm9yIChcbiAgICAgIGxldCBpID0gKGN1cnJlbnRJbmRleCArIGRpciArIGxldmVsLmxlbmd0aCkgJSBsZXZlbC5sZW5ndGg7XG4gICAgICBpICE9PSBjdXJyZW50SW5kZXg7XG4gICAgICBpID0gKGkgKyBkaXIgKyBsZXZlbC5sZW5ndGgpICUgbGV2ZWwubGVuZ3RoXG4gICAgKSB7XG4gICAgICBjb25zdCBuZXh0ID0gbGV2ZWxbaV07XG4gICAgICBpZiAoIW5leHQuZGlzYWJsZWQgJiYgbmV4dC5oYXNOb25EaXNhYmxlZFRhYnMpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVRhYkNvbnRhaW5lcihuZXh0KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZ29Ub0FkamFjZW50VGFiKGRpcjogLTEgfCAxKSB7XG4gICAgY29uc3QgY29udCA9IHRoaXMuYWN0aXZlQ29udGFpbmVyO1xuICAgIGlmICghY29udCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHRhYnMgPSBjb250LnRhYnNMaXN0LnRvQXJyYXkoKTtcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0YWJzLmZpbmRJbmRleCgodGFiKSA9PiB0YWIuc3RhdGVJZCA9PT0gY29udC52YWx1ZSk7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ3VycmVudCB0YWIgaXMgbm90IGZvdW5kIGluIGl0cyBjb250YWluZXI/IScpO1xuICAgIH1cblxuICAgIGZvciAoXG4gICAgICBsZXQgaSA9IChjdXJyZW50SW5kZXggKyBkaXIgKyB0YWJzLmxlbmd0aCkgJSB0YWJzLmxlbmd0aDtcbiAgICAgIGkgIT09IGN1cnJlbnRJbmRleDtcbiAgICAgIGkgPSAoaSArIGRpciArIHRhYnMubGVuZ3RoKSAlIHRhYnMubGVuZ3RoXG4gICAgKSB7XG4gICAgICBjb25zdCBuZXh0ID0gdGFic1tpXTtcbiAgICAgIGlmICghbmV4dC5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlVGFiKG5leHQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTYW1lTGV2ZWxDb250YWluZXJzKGNvbnQ6IFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCkge1xuICAgIGlmIChjb250LnBhcmVudFRhYikge1xuICAgICAgcmV0dXJuIGNvbnQucGFyZW50VGFiLmNoaWxkQ29udGFpbmVycztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudGFiQ29udGFpbmVycy5maWx0ZXIoKGNvbnQpID0+IGNvbnQuaXNUb3BMZXZlbCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VGFiQnlWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgZm9yIChjb25zdCBjb250YWluZXIgb2YgdGhpcy50YWJDb250YWluZXJzKSB7XG4gICAgICBjb25zdCB0YWIgPSBjb250YWluZXIudGFic0xpc3QuZmluZCgoY2gpID0+IGNoLnN0YXRlSWQgPT09IHZhbHVlKTtcbiAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgcmV0dXJuIHRhYjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBhY3RpdmF0ZVRhYkNvbnRhaW5lcih0YWJzOiBSZHRUYWJDb250YWluZXJDb21wb25lbnQsIHNjcm9sbEludG9WaWV3ID0gdHJ1ZSkge1xuICAgIGlmICh0aGlzLl9sYXN0QWN0aXZlVGFiQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLl9sYXN0QWN0aXZlVGFiQ29udGFpbmVyLmNvbnRhaW5lci5hY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0YWJzLmFjdGl2ZSA9IHRydWU7XG4gICAgaWYgKHNjcm9sbEludG9WaWV3KSB7XG4gICAgICB0YWJzLnNjcm9sbEludG9WaWV3KCk7XG4gICAgfVxuXG4gICAgdGhpcy5fbGFzdEFjdGl2ZVRhYkNvbnRhaW5lciA9IHtcbiAgICAgIGNvbnRhaW5lcjogdGFicyxcbiAgICAgIHRpbWVzdGFtcDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgYWN0aXZhdGVUYWJDb250YWluZXJGcm9tQ2xpY2soXG4gICAgdGFiczogUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIHRpbWVzdGFtcDogbnVtYmVyXG4gICkge1xuICAgIGlmICh0aGlzLl9sYXN0QWN0aXZlVGFiQ29udGFpbmVyKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX2xhc3RBY3RpdmVUYWJDb250YWluZXIudGltZXN0YW1wICE9PSBudWxsICYmXG4gICAgICAgIHRoaXMuX2xhc3RBY3RpdmVUYWJDb250YWluZXIudGltZXN0YW1wID49IHRpbWVzdGFtcFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fbGFzdEFjdGl2ZVRhYkNvbnRhaW5lci5jb250YWluZXIuYWN0aXZlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGFicy5hY3RpdmUgPSB0cnVlO1xuXG4gICAgdGhpcy5fbGFzdEFjdGl2ZVRhYkNvbnRhaW5lciA9IHtcbiAgICAgIGNvbnRhaW5lcjogdGFicyxcbiAgICAgIHRpbWVzdGFtcCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgYWN0aXZhdGVUYWIodGFiOiBSZHRUYWJDb21wb25lbnQpIHtcbiAgICBpZiAoIXRoaXMuY2FuQWN0aXZhdGVUYWIodGFiKSkge1xuICAgICAgY29uc29sZS53YXJuKCdUcnlpbmcgdG8gYWN0aXZhdGUgZGlzYWJsZWQgdGFiLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1zQ2hlY2sgPSBhd2FpdCB0aGlzLmNhbkFjdGl2YXRlVGFiRm9ybXModGFiKTtcbiAgICBpZiAoIWZvcm1zQ2hlY2spIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1RyeWluZyB0byBhY3RpdmF0ZSB0YWIgd2hpbGUgY3VycmVudCB0YWIgaGFzIHVuc2F2ZWQgZm9ybXMnXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBjdXJyZW50OiBSZHRUYWJDb21wb25lbnQgfCBudWxsID0gdGFiO1xuXG4gICAgZG8ge1xuICAgICAgY29uc3QgY29udGFpbmVyOiBSZHRUYWJDb250YWluZXJDb21wb25lbnQgPSBjdXJyZW50IS50YWJDb250YWluZXI7XG4gICAgICBjb250YWluZXIudmFsdWUgPSBjdXJyZW50IS5zdGF0ZUlkO1xuICAgICAgY3VycmVudCA9IGNvbnRhaW5lci5wYXJlbnRUYWI7XG4gICAgfSB3aGlsZSAoY3VycmVudCAhPT0gbnVsbCk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZVRhYih0YWI6IFJkdFRhYkNvbXBvbmVudCkge1xuICAgIGxldCBjdXJyZW50OiBSZHRUYWJDb21wb25lbnQgfCBudWxsID0gdGFiO1xuXG4gICAgZG8ge1xuICAgICAgY29uc3QgY29udGFpbmVyOiBSZHRUYWJDb250YWluZXJDb21wb25lbnQgPSBjdXJyZW50LnRhYkNvbnRhaW5lcjtcbiAgICAgIGlmIChjdXJyZW50LmRpc2FibGVkIHx8IGNvbnRhaW5lci5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjdXJyZW50ID0gY29udGFpbmVyLnBhcmVudFRhYjtcbiAgICB9IHdoaWxlIChjdXJyZW50ICE9PSBudWxsKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgY2FuQWN0aXZhdGVUYWJGb3Jtcyh0YWI6IFJkdFRhYkNvbXBvbmVudCkge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRhYi50YWJDb250YWluZXI7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgY2FuVHJhbnNpdGlvbiQoY29udGFpbmVyLmFjdGl2ZVRhYj8uY29udERpciwgdGFiPy5jb250RGlyKVxuICAgICk7XG4gIH1cblxuICBvblRhYkNoYW5nZXMoKSB7XG4gICAgdGhpcy51cGRhdGVTaG9ydGN1dHMoKTtcbiAgfVxuXG4gIG9uVGFiQ29udGFpbmVyQ2hhbmdlcygpIHtcbiAgICB0aGlzLnNldERlZmF1bHRBY3RpdmVXaGVuQXZhaWxhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGVTZWxmV2hlbkNoaWxkQ3RybEV4aXN0cygpIHtcbiAgICB0aGlzLmNoaWxkQ29udHJvbGxlcnMuY2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCh2YWw6IFF1ZXJ5TGlzdDxSZHRUYWJDb250cm9sbGVyRGlyZWN0aXZlPikgPT4ge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbC5sZW5ndGggPiAwO1xuXG4gICAgICAgIGlmICh0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMudW5iaW5kQWxsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5iaW5kQWxsKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREZWZhdWx0QWN0aXZlKCkge1xuICAgIGlmICh0aGlzLnRhYkNvbnRhaW5lcnMpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRDb250ID0gdGhpcy50YWJDb250YWluZXJzLmZpbmQodGhpcy5jYW5Db250YWluZXJCZURlZmF1bHQpO1xuICAgICAgaWYgKGRlZmF1bHRDb250KSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVUYWJDb250YWluZXIoZGVmYXVsdENvbnQsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldERlZmF1bHRBY3RpdmVXaGVuQXZhaWxhYmxlKCkge1xuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuYWN0aXZlQ29udGFpbmVyO1xuICAgIGlmIChhY3RpdmUgJiYgdGhpcy50YWJDb250YWluZXJzLnNvbWUoKGNvbnQpID0+IGNvbnQgPT09IGFjdGl2ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3RGVmYXVsdCA9IHRoaXMudGFiQ29udGFpbmVycy5maW5kKHRoaXMuY2FuQ29udGFpbmVyQmVEZWZhdWx0KTtcbiAgICBpZiAobmV3RGVmYXVsdCkge1xuICAgICAgdGhpcy5hY3RpdmF0ZVRhYkNvbnRhaW5lcihuZXdEZWZhdWx0LCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5Db250YWluZXJCZURlZmF1bHQoYzogUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIGMuaXNUb3BMZXZlbCAmJiAhYy5kaXNhYmxlZCAmJiBjLmhhc05vbkRpc2FibGVkVGFicztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2hvcnRjdXRzKCkge1xuICAgIHRoaXMuc2hvcnRjdXRzID0gdGhpcy5fc3RyYXRlZ3kudXBkYXRlU2hvcnRjdXRzKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kQWxsKCkge1xuICAgIHRoaXMuc2hvcnRjdXRTdWIudW5zdWJzY3JpYmUoKTtcbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnNob3J0Y3V0U3ViID0gdGhpcy5zaG9ydGN1dFNlcnZpY2VcbiAgICAgICAgLmxpc3Rlbih0aGlzLl9zaG9ydGN1dHMpXG4gICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiAhdGhpcy5fZGlzYWJsZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3N0cmF0ZWd5Lm9uU2hvcnRjdXQoZXZlbnQuc2hvcnRjdXQsIHRoaXMpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVuYmluZEFsbCgpIHtcbiAgICB0aGlzLnNob3J0Y3V0U3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
366
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYi1jb250cm9sbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJzL3NyYy9saWIvZGlyZWN0aXZlcy9yZHQtdGFiLWNvbnRyb2xsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBZSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7OztBQWE1RixNQUFNLE9BQU8seUJBQXlCO0lBR25CLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixlQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFekMseURBQXlEO0lBQ3pELElBQ0ksZ0JBQWdCLENBQUMsS0FBOEM7UUFDakUsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtB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SyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7dUdBbGFVLHlCQUF5QjsyRkFBekIseUJBQXlCLCtGQVJ6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFdBQVcsRUFBRSx5QkFBeUI7YUFDdkM7U0FDRiwyREFtQ2dCLHlCQUF5Qjs7MkZBaEMvQix5QkFBeUI7a0JBVnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsMkJBQTJCO3lCQUN2QztxQkFDRjtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDeEM7OEJBV0ssZ0JBQWdCO3NCQURuQixLQUFLO2dCQXdCSSxnQkFBZ0I7c0JBRHpCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbnRlbnRDaGlsZHJlbixcclxuICBEZXN0cm95UmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBpbmplY3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBRdWVyeUxpc3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHtcclxuICBjYW5UcmFuc2l0aW9uJCxcclxuICBSRFRfR1VBUkRFRF9DT01QT05FTlQsXHJcbiAgUmR0Q29udGFpbmVyRGlyZWN0aXZlLFxyXG59IGZyb20gJ0BuZ3JkdC9jb3JlJztcclxuaW1wb3J0IHsgUmR0U2hvcnRjdXQsIFJkdFNob3J0Y3V0U2VydmljZSB9IGZyb20gJ0BuZ3JkdC9zaG9ydGN1dHMnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgU3Vic2NyaXB0aW9uLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy90YWItY29udGFpbmVyL3JkdC10YWItY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJkdFRhYkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdGFiL3JkdC10YWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b1JkdFRhYnNTaG9ydGN1dFN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9hdXRvLXJkdC10YWJzLXNob3J0Y3V0LXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgUmR0VGFic1Nob3J0Y3V0U3RyYXRlZ3kgfSBmcm9tICcuLi9zdHJhdGVnaWVzL3JkdC10YWJzLXNob3J0Y3V0LXN0cmF0ZWd5JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JkdFRhYkNvbnRyb2xsZXJdJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogUkRUX0dVQVJERURfQ09NUE9ORU5ULFxyXG4gICAgICB1c2VFeGlzdGluZzogUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBob3N0RGlyZWN0aXZlczogW1JkdENvbnRhaW5lckRpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZHRUYWJDb250cm9sbGVyRGlyZWN0aXZlXHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgc2hvcnRjdXRTZXJ2aWNlID0gaW5qZWN0KFJkdFNob3J0Y3V0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBzaG9ydGN1dFN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLy8gU3RyaW5nIHZhbHVlIGxldHMgeW91IHVzZSB0aGUgZGlyZWN0aXZlIHdpdGhvdXQgcGFyYW0uXHJcbiAgQElucHV0KClcclxuICBzZXQgcmR0VGFiQ29udHJvbGxlcih2YWx1ZTogUmR0VGFic1Nob3J0Y3V0U3RyYXRlZ3kgfCBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLl9zdHJhdGVneSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZVNob3J0Y3V0cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCB0YWJDb250YWluZXJzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVyRGlyZWN0aXZlXHJcbiAgICAgIC5nZXRDaGlsZHJlblJlY3Vyc2l2ZSgpXHJcbiAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgKGNoKSA9PiBjaCBpbnN0YW5jZW9mIFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudFxyXG4gICAgICApIGFzIHVua25vd24gYXMgUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50W107XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBnZXQgdGFicygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckRpcmVjdGl2ZVxyXG4gICAgICAuZ2V0Q2hpbGRyZW5SZWN1cnNpdmUoKVxyXG4gICAgICAuZmlsdGVyKFxyXG4gICAgICAgIChjaCkgPT4gY2ggaW5zdGFuY2VvZiBSZHRUYWJDb21wb25lbnRcclxuICAgICAgKSBhcyB1bmtub3duIGFzIFJkdFRhYkNvbXBvbmVudFtdO1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihSZHRUYWJDb250cm9sbGVyRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXHJcbiAgcHJvdGVjdGVkIGNoaWxkQ29udHJvbGxlcnMhOiBRdWVyeUxpc3Q8UmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZT47XHJcblxyXG4gIGdldCBzdHJhdGVneSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdHJhdGVneTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc3RyYXRlZ3k6IFJkdFRhYnNTaG9ydGN1dFN0cmF0ZWd5ID1cclxuICAgIG5ldyBBdXRvUmR0VGFic1Nob3J0Y3V0U3RyYXRlZ3koKTtcclxuXHJcbiAgcHJpdmF0ZSBfbGFzdEFjdGl2ZVRhYkNvbnRhaW5lcjoge1xyXG4gICAgdGltZXN0YW1wOiBudW1iZXIgfCBudWxsO1xyXG4gICAgY29udGFpbmVyOiBSZHRUYWJDb250YWluZXJDb21wb25lbnQ7XHJcbiAgfSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIF9jb250ZW50V2FzSW5pdCA9IGZhbHNlO1xyXG5cclxuICBnZXQgZGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIGdldCBzaG9ydGN1dHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvcnRjdXRzO1xyXG4gIH1cclxuICBzZXQgc2hvcnRjdXRzKHZhbHVlOiBSZHRTaG9ydGN1dFtdKSB7XHJcbiAgICBjb25zdCBvbGRTZXQgPSBuZXcgU2V0PHN0cmluZz4odGhpcy5fc2hvcnRjdXRzLm1hcCgocykgPT4gcy5ob3RrZXlzVmFsdWUpKTtcclxuICAgIHRoaXMuX3Nob3J0Y3V0cyA9IHZhbHVlO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgb2xkU2V0LnNpemUgIT09IHZhbHVlLmxlbmd0aCB8fFxyXG4gICAgICB2YWx1ZS5zb21lKChzKSA9PiAhb2xkU2V0LmhhcyhzLmhvdGtleXNWYWx1ZSkpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5iaW5kQWxsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Nob3J0Y3V0czogUmR0U2hvcnRjdXRbXSA9IFtdO1xyXG5cclxuICBnZXQgYWN0aXZlQ29udGFpbmVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhc3RBY3RpdmVUYWJDb250YWluZXI/LmNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjb250YWluZXJEaXJlY3RpdmUhOiBSZHRDb250YWluZXJEaXJlY3RpdmU7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250YWluZXJEaXJlY3RpdmUgPSB0aGlzLmluamVjdG9yLmdldChcclxuICAgICAgUmR0Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgICB1bmRlZmluZWQsXHJcbiAgICAgIHtcclxuICAgICAgICBzZWxmOiB0cnVlLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy51cGRhdGVTaG9ydGN1dHMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGVmYXVsdEFjdGl2ZSgpO1xyXG4gICAgdGhpcy5kaXNhYmxlU2VsZldoZW5DaGlsZEN0cmxFeGlzdHMoKTtcclxuICAgIHRoaXMuX2NvbnRlbnRXYXNJbml0ID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnRhYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm9uVGFiQ2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFiQ29udGFpbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMub25UYWJDb250YWluZXJDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5iaW5kQWxsKCk7XHJcbiAgICB0aGlzLl9zaG9ydGN1dHMubGVuZ3RoID0gMDtcclxuICB9XHJcblxyXG4gIGdldFRhYkNvbnRhaW5lckluZGV4KGNvbnQ6IFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBsZXZlbCA9IHRoaXMuZ2V0U2FtZUxldmVsQ29udGFpbmVycyhjb250KTtcclxuICAgIHJldHVybiBsZXZlbC5pbmRleE9mKGNvbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGVzIGZpcnN0IHBhcmVudCBjb250YWluZXIgb2YgY3VycmVudCBjb250YWluZXJcclxuICAgKiB0aGF0IGlzIG5vdCBkaXNhYmxlZCBhbmQgaGFzIGFueSBub24gZGlzYWJsZWQgdGFicy5cclxuICAgKi9cclxuICBnb0xldmVsVXAoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY29udCA9IHRoaXMuYWN0aXZlQ29udGFpbmVyO1xyXG4gICAgd2hpbGUgKGNvbnQpIHtcclxuICAgICAgY29udCA9IGNvbnQucGFyZW50VGFiPy50YWJDb250YWluZXI7XHJcbiAgICAgIGlmIChjb250ICYmICFjb250LmRpc2FibGVkICYmIGNvbnQuaGFzTm9uRGlzYWJsZWRUYWJzKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVRhYkNvbnRhaW5lcihjb250KTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGVzIGZpcnN0IGNvbnRhaW5lciB1bmRlciBjdXJyZW50IHRhYiB3aGljaFxyXG4gICAqIGlzIG5vdCBkaXNhYmxlZCBhbmQgaGFzIGFueSBub24gZGlzYWJsZWQgdGFicy5cclxuICAgKi9cclxuICBnb0xldmVsRG93bigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNvbnQgPSB0aGlzLmFjdGl2ZUNvbnRhaW5lcjtcclxuICAgIGlmICghY29udCB8fCBjb250LmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGxldCB0YWIgPSBjb250LnRhYnNMaXN0LmZpbmQoKHQpID0+IHQuc3RhdGVJZCA9PT0gY29udC52YWx1ZSk7XHJcbiAgICBpZiAoIXRhYiB8fCB0YWIuZGlzYWJsZWQpIHtcclxuICAgICAgdGFiID0gY29udC50YWJzTGlzdC5maW5kKCh0KSA9PiAhdC5kaXNhYmxlZCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRhYikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YXJnZXRDb250ID0gdGFiLmNoaWxkQ29udGFpbmVycy5maW5kKFxyXG4gICAgICAoYykgPT4gIWMuZGlzYWJsZWQgJiYgYy5oYXNOb25EaXNhYmxlZFRhYnNcclxuICAgICk7XHJcbiAgICBpZiAodGFyZ2V0Q29udCkge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlVGFiQ29udGFpbmVyKHRhcmdldENvbnQpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlcyBuZXh0IGNvbnRhaW5lciBvbiBjdXJyZW50IGxldmVsXHJcbiAgICogKHVuZGVyIHBhcmVudCBjb250YWluZXIgb2YgY3VycmVudGx5IGFjdGl2ZSBjb250YWluZXIpLlxyXG4gICAqIElzIGN5Y2xpYy5cclxuICAgKi9cclxuICBnb1RvTmV4dENvbnRhaW5lcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdvVG9BZGphY2VudENvbnRhaW5lcigxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlcyBwcmV2aW91cyBjb250YWluZXIgb24gY3VycmVudCBsZXZlbFxyXG4gICAqICh1bmRlciBwYXJlbnQgY29udGFpbmVyIG9mIGN1cnJlbnRseSBhY3RpdmUgY29udGFpbmVyKS5cclxuICAgKiBJcyBjeWNsaWMuXHJcbiAgICovXHJcbiAgZ29Ub1ByZXZDb250YWluZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5nb1RvQWRqYWNlbnRDb250YWluZXIoLTEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGVzIHRhYiB3aXRoaW4gYWN0aXZlIGNvbnRhaW5lciBhdCB0aGUgaW5kZXggb2YgYXJndW1lbnQuXHJcbiAgICovXHJcbiAgZ29Ub1RhYldpdGhJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBjb250ID0gdGhpcy5hY3RpdmVDb250YWluZXI7XHJcbiAgICBpZiAoIWNvbnQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFiID0gY29udC50YWJzTGlzdC5nZXQoaW5kZXgpO1xyXG4gICAgaWYgKCF0YWIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmF0ZVRhYih0YWIpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBY3RpdmF0ZXMgbmV4dCB0YWIgd2l0aGluIGFjdGl2ZSBjb250YWluZXIuIElzIGN5Y2xpYy5cclxuICAgKi9cclxuICBnb1RvTmV4dFRhYigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdvVG9BZGphY2VudFRhYigxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlcyBwcmV2aW91cyB0YWIgd2l0aGluIGFjdGl2ZSBjb250YWluZXIuIElzIGN5Y2xpYy5cclxuICAgKi9cclxuICBnb1RvUHJldlRhYigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdvVG9BZGphY2VudFRhYigtMSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdvVG9BZGphY2VudENvbnRhaW5lcihkaXI6IC0xIHwgMSkge1xyXG4gICAgY29uc3QgY29udCA9IHRoaXMuYWN0aXZlQ29udGFpbmVyO1xyXG4gICAgaWYgKCFjb250KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsZXZlbCA9IHRoaXMuZ2V0U2FtZUxldmVsQ29udGFpbmVycyhjb250KTtcclxuICAgIGlmICghbGV2ZWwpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGxldmVsLmluZGV4T2YoY29udCk7XHJcbiAgICBpZiAoY3VycmVudEluZGV4IDwgMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0N1cnJlbnQgY29udGFpbmVyIGlzIG5vdCB3aXRoaW4gaXRzIG93biBsZXZlbD8nKTtcclxuICAgIH1cclxuICAgIGZvciAoXHJcbiAgICAgIGxldCBpID0gKGN1cnJlbnRJbmRleCArIGRpciArIGxldmVsLmxlbmd0aCkgJSBsZXZlbC5sZW5ndGg7XHJcbiAgICAgIGkgIT09IGN1cnJlbnRJbmRleDtcclxuICAgICAgaSA9IChpICsgZGlyICsgbGV2ZWwubGVuZ3RoKSAlIGxldmVsLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSBsZXZlbFtpXTtcclxuICAgICAgaWYgKCFuZXh0LmRpc2FibGVkICYmIG5leHQuaGFzTm9uRGlzYWJsZWRUYWJzKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVRhYkNvbnRhaW5lcihuZXh0KTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnb1RvQWRqYWNlbnRUYWIoZGlyOiAtMSB8IDEpIHtcclxuICAgIGNvbnN0IGNvbnQgPSB0aGlzLmFjdGl2ZUNvbnRhaW5lcjtcclxuICAgIGlmICghY29udCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGFicyA9IGNvbnQudGFic0xpc3QudG9BcnJheSgpO1xyXG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gdGFicy5maW5kSW5kZXgoKHRhYikgPT4gdGFiLnN0YXRlSWQgPT09IGNvbnQudmFsdWUpO1xyXG4gICAgaWYgKGN1cnJlbnRJbmRleCA8IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDdXJyZW50IHRhYiBpcyBub3QgZm91bmQgaW4gaXRzIGNvbnRhaW5lcj8hJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChcclxuICAgICAgbGV0IGkgPSAoY3VycmVudEluZGV4ICsgZGlyICsgdGFicy5sZW5ndGgpICUgdGFicy5sZW5ndGg7XHJcbiAgICAgIGkgIT09IGN1cnJlbnRJbmRleDtcclxuICAgICAgaSA9IChpICsgZGlyICsgdGFicy5sZW5ndGgpICUgdGFicy5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICBjb25zdCBuZXh0ID0gdGFic1tpXTtcclxuICAgICAgaWYgKCFuZXh0LmRpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVRhYihuZXh0KTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTYW1lTGV2ZWxDb250YWluZXJzKGNvbnQ6IFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCkge1xyXG4gICAgaWYgKGNvbnQucGFyZW50VGFiKSB7XHJcbiAgICAgIHJldHVybiBjb250LnBhcmVudFRhYi5jaGlsZENvbnRhaW5lcnM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy50YWJDb250YWluZXJzLmZpbHRlcigoY29udCkgPT4gY29udC5pc1RvcExldmVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRhYkJ5VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgZm9yIChjb25zdCBjb250YWluZXIgb2YgdGhpcy50YWJDb250YWluZXJzKSB7XHJcbiAgICAgIGNvbnN0IHRhYiA9IGNvbnRhaW5lci50YWJzTGlzdC5maW5kKChjaCkgPT4gY2guc3RhdGVJZCA9PT0gdmFsdWUpO1xyXG4gICAgICBpZiAodGFiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRhYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZVRhYkNvbnRhaW5lcih0YWJzOiBSZHRUYWJDb250YWluZXJDb21wb25lbnQsIHNjcm9sbEludG9WaWV3ID0gdHJ1ZSkge1xyXG4gICAgaWYgKHRoaXMuX2xhc3RBY3RpdmVUYWJDb250YWluZXIpIHtcclxuICAgICAgdGhpcy5fbGFzdEFjdGl2ZVRhYkNvbnRhaW5lci5jb250YWluZXIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGFicy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgaWYgKHNjcm9sbEludG9WaWV3KSB7XHJcbiAgICAgIHRhYnMuc2Nyb2xsSW50b1ZpZXcoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9sYXN0QWN0aXZlVGFiQ29udGFpbmVyID0ge1xyXG4gICAgICBjb250YWluZXI6IHRhYnMsXHJcbiAgICAgIHRpbWVzdGFtcDogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZVRhYkNvbnRhaW5lckZyb21DbGljayhcclxuICAgIHRhYnM6IFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIHRpbWVzdGFtcDogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5fbGFzdEFjdGl2ZVRhYkNvbnRhaW5lcikge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5fbGFzdEFjdGl2ZVRhYkNvbnRhaW5lci50aW1lc3RhbXAgIT09IG51bGwgJiZcclxuICAgICAgICB0aGlzLl9sYXN0QWN0aXZlVGFiQ29udGFpbmVyLnRpbWVzdGFtcCA+PSB0aW1lc3RhbXBcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLl9sYXN0QWN0aXZlVGFiQ29udGFpbmVyLmNvbnRhaW5lci5hY3RpdmUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJzLmFjdGl2ZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5fbGFzdEFjdGl2ZVRhYkNvbnRhaW5lciA9IHtcclxuICAgICAgY29udGFpbmVyOiB0YWJzLFxyXG4gICAgICB0aW1lc3RhbXAsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgYWN0aXZhdGVUYWIodGFiOiBSZHRUYWJDb21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5jYW5BY3RpdmF0ZVRhYih0YWIpKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignVHJ5aW5nIHRvIGFjdGl2YXRlIGRpc2FibGVkIHRhYi4nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvcm1zQ2hlY2sgPSBhd2FpdCB0aGlzLmNhbkFjdGl2YXRlVGFiRm9ybXModGFiKTtcclxuICAgIGlmICghZm9ybXNDaGVjaykge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgJ1RyeWluZyB0byBhY3RpdmF0ZSB0YWIgd2hpbGUgY3VycmVudCB0YWIgaGFzIHVuc2F2ZWQgZm9ybXMnXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY3VycmVudDogUmR0VGFiQ29tcG9uZW50IHwgbnVsbCA9IHRhYjtcclxuXHJcbiAgICBkbyB7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lcjogUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50ID0gY3VycmVudCEudGFiQ29udGFpbmVyO1xyXG4gICAgICBjb250YWluZXIudmFsdWUgPSBjdXJyZW50IS5zdGF0ZUlkO1xyXG4gICAgICBjdXJyZW50ID0gY29udGFpbmVyLnBhcmVudFRhYjtcclxuICAgIH0gd2hpbGUgKGN1cnJlbnQgIT09IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgY2FuQWN0aXZhdGVUYWIodGFiOiBSZHRUYWJDb21wb25lbnQpIHtcclxuICAgIGxldCBjdXJyZW50OiBSZHRUYWJDb21wb25lbnQgfCBudWxsID0gdGFiO1xyXG5cclxuICAgIGRvIHtcclxuICAgICAgY29uc3QgY29udGFpbmVyOiBSZHRUYWJDb250YWluZXJDb21wb25lbnQgPSBjdXJyZW50LnRhYkNvbnRhaW5lcjtcclxuICAgICAgaWYgKGN1cnJlbnQuZGlzYWJsZWQgfHwgY29udGFpbmVyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGN1cnJlbnQgPSBjb250YWluZXIucGFyZW50VGFiO1xyXG4gICAgfSB3aGlsZSAoY3VycmVudCAhPT0gbnVsbCk7XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjYW5BY3RpdmF0ZVRhYkZvcm1zKHRhYjogUmR0VGFiQ29tcG9uZW50KSB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSB0YWIudGFiQ29udGFpbmVyO1xyXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxyXG4gICAgICBjYW5UcmFuc2l0aW9uJChjb250YWluZXIuYWN0aXZlVGFiPy5jb250RGlyLCB0YWI/LmNvbnREaXIpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25UYWJDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy51cGRhdGVTaG9ydGN1dHMoKTtcclxuICB9XHJcblxyXG4gIG9uVGFiQ29udGFpbmVyQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuc2V0RGVmYXVsdEFjdGl2ZVdoZW5BdmFpbGFibGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGlzYWJsZVNlbGZXaGVuQ2hpbGRDdHJsRXhpc3RzKCkge1xyXG4gICAgdGhpcy5jaGlsZENvbnRyb2xsZXJzLmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbDogUXVlcnlMaXN0PFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmU+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWwubGVuZ3RoID4gMDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLnVuYmluZEFsbCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmJpbmRBbGwoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREZWZhdWx0QWN0aXZlKCkge1xyXG4gICAgaWYgKHRoaXMudGFiQ29udGFpbmVycykge1xyXG4gICAgICBjb25zdCBkZWZhdWx0Q29udCA9IHRoaXMudGFiQ29udGFpbmVycy5maW5kKHRoaXMuY2FuQ29udGFpbmVyQmVEZWZhdWx0KTtcclxuICAgICAgaWYgKGRlZmF1bHRDb250KSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVRhYkNvbnRhaW5lcihkZWZhdWx0Q29udCwgZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHRBY3RpdmVXaGVuQXZhaWxhYmxlKCkge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5hY3RpdmVDb250YWluZXI7XHJcbiAgICBpZiAoYWN0aXZlICYmIHRoaXMudGFiQ29udGFpbmVycy5zb21lKChjb250KSA9PiBjb250ID09PSBhY3RpdmUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IG5ld0RlZmF1bHQgPSB0aGlzLnRhYkNvbnRhaW5lcnMuZmluZCh0aGlzLmNhbkNvbnRhaW5lckJlRGVmYXVsdCk7XHJcbiAgICBpZiAobmV3RGVmYXVsdCkge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlVGFiQ29udGFpbmVyKG5ld0RlZmF1bHQsIGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FuQ29udGFpbmVyQmVEZWZhdWx0KGM6IFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCkge1xyXG4gICAgcmV0dXJuIGMuaXNUb3BMZXZlbCAmJiAhYy5kaXNhYmxlZCAmJiBjLmhhc05vbkRpc2FibGVkVGFicztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlU2hvcnRjdXRzKCkge1xyXG4gICAgdGhpcy5zaG9ydGN1dHMgPSB0aGlzLl9zdHJhdGVneS51cGRhdGVTaG9ydGN1dHModGhpcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJpbmRBbGwoKSB7XHJcbiAgICB0aGlzLnNob3J0Y3V0U3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuc2hvcnRjdXRTdWIgPSB0aGlzLnNob3J0Y3V0U2VydmljZVxyXG4gICAgICAgIC5saXN0ZW4odGhpcy5fc2hvcnRjdXRzKVxyXG4gICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiAhdGhpcy5fZGlzYWJsZWQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zdHJhdGVneS5vblNob3J0Y3V0KGV2ZW50LnNob3J0Y3V0LCB0aGlzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5iaW5kQWxsKCkge1xyXG4gICAgdGhpcy5zaG9ydGN1dFN1Yi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export var RdtTabMode;
|
|
2
2
|
(function (RdtTabMode) {
|
|
3
3
|
})(RdtTabMode || (RdtTabMode = {}));
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYnMtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9yZHQtdGFicy1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxDQUFOLElBQVksVUFBYTtBQUF6QixXQUFZLFVBQVU7QUFBRSxDQUFDLEVBQWIsVUFBVSxLQUFWLFVBQVUsUUFBRyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmR0VGFiQ29udGFpbmVyU3RhdGUge1xyXG4gIGlkOiBhbnk7XHJcbiAgdmFsdWU6IGFueTtcclxuICB0YWJTdGF0ZXM6IFJkdFRhYlN0YXRlW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmR0VGFiU3RhdGUge1xyXG4gIGlkOiBhbnk7XHJcbiAgY29udGFpbmVyU3RhdGVzOiBSZHRUYWJDb250YWluZXJTdGF0ZVtdO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBSZHRUYWJNb2RlIHt9XHJcbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { TooltipModule } from 'primeng/tooltip';
|
|
4
3
|
import { RdtTabContainerComponent } from './components/tab-container/rdt-tab-container.component';
|
|
5
4
|
import { RdtTabComponent } from './components/tab/rdt-tab.component';
|
|
6
5
|
import { RdtDestroyInactiveDirective } from './directives/rdt-destroy-inactive.directive';
|
|
@@ -11,11 +10,11 @@ export class RdtTabsModule {
|
|
|
11
10
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, declarations: [RdtTabComponent,
|
|
12
11
|
RdtTabContainerComponent,
|
|
13
12
|
RdtTabControllerDirective,
|
|
14
|
-
RdtDestroyInactiveDirective], imports: [CommonModule
|
|
13
|
+
RdtDestroyInactiveDirective], imports: [CommonModule], exports: [RdtTabComponent,
|
|
15
14
|
RdtTabContainerComponent,
|
|
16
15
|
RdtTabControllerDirective,
|
|
17
16
|
RdtDestroyInactiveDirective] });
|
|
18
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, imports: [CommonModule
|
|
17
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, imports: [CommonModule] });
|
|
19
18
|
}
|
|
20
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, decorators: [{
|
|
21
20
|
type: NgModule,
|
|
@@ -32,7 +31,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
32
31
|
RdtTabControllerDirective,
|
|
33
32
|
RdtDestroyInactiveDirective,
|
|
34
33
|
],
|
|
35
|
-
imports: [CommonModule
|
|
34
|
+
imports: [CommonModule],
|
|
36
35
|
}]
|
|
37
36
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9yZHQtdGFicy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQWlCdEYsTUFBTSxPQUFPLGFBQWE7dUdBQWIsYUFBYTt3R0FBYixhQUFhLGlCQWJ0QixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QiwyQkFBMkIsYUFRbkIsWUFBWSxhQUxwQixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QiwyQkFBMkI7d0dBSWxCLGFBQWEsWUFGZCxZQUFZOzsyRkFFWCxhQUFhO2tCQWZ6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZHRUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFiLWNvbnRhaW5lci9yZHQtdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZHRUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFiL3JkdC10YWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmR0RGVzdHJveUluYWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JkdC1kZXN0cm95LWluYWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcmR0LXRhYi1jb250cm9sbGVyLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmR0VGFiQ29tcG9uZW50LFxyXG4gICAgUmR0VGFiQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSxcclxuICAgIFJkdERlc3Ryb3lJbmFjdGl2ZURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJkdFRhYkNvbXBvbmVudCxcclxuICAgIFJkdFRhYkNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmUsXHJcbiAgICBSZHREZXN0cm95SW5hY3RpdmVEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkdFRhYnNNb2R1bGUge31cclxuIl19
|
|
@@ -61,4 +61,4 @@ export class AutoRdtTabsShortcutStrategy extends RdtTabsShortcutStrategy {
|
|
|
61
61
|
static shortcuts = AutoRdtTabsShortcutStrategy.generateShortcuts();
|
|
62
62
|
static actions = AutoRdtTabsShortcutStrategy.generateActions();
|
|
63
63
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yZHQtdGFicy1zaG9ydGN1dC1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJzL3NyYy9saWIvc3RyYXRlZ2llcy9hdXRvLXJkdC10YWJzLXNob3J0Y3V0LXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUM7QUFDdkIsTUFBTSxZQUFZLEdBQUc7SUFDbkIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDbEQsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7Q0FDbkQsQ0FBQztBQUNGLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN6RCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDN0QsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUs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QUFlLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdFNob3J0Y3V0IH0gZnJvbSAnQG5ncmR0L3Nob3J0Y3V0cyc7XHJcbmltcG9ydCB7IFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JkdC10YWItY29udHJvbGxlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZHRUYWJzU2hvcnRjdXRTdHJhdGVneSB9IGZyb20gJy4vcmR0LXRhYnMtc2hvcnRjdXQtc3RyYXRlZ3knO1xyXG5cclxuY29uc3QgVEFCX0JBU0UgPSAnYWx0JztcclxuY29uc3QgVEFCX0tFWV9TRVRTID0gW1xyXG4gIFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMCddLFxyXG4gIFsnKycsICfEmycsICfFoScsICfEjScsICfFmScsICfFvicsICfDvScsICfDoScsICfDrScsICfDqSddLFxyXG5dO1xyXG5jb25zdCBORVhUX0NPTlRBSU5FUiA9IFJkdFNob3J0Y3V0LmNyZWF0ZSgnYWx0JywgJ3MnKTtcclxuY29uc3QgUFJFVl9DT05UQUlORVIgPSBSZHRTaG9ydGN1dC5jcmVhdGUoJ2FsdCcsICd3Jyk7XHJcbmNvbnN0IExFVkVMX1VQID0gUmR0U2hvcnRjdXQuY3JlYXRlKCdjdHJsJywgJ2FsdCcsICd1cCcpO1xyXG5jb25zdCBMRVZFTF9ET1dOID0gUmR0U2hvcnRjdXQuY3JlYXRlKCdjdHJsJywgJ2FsdCcsICdkb3duJyk7XHJcbmNvbnN0IE5FWFRfVEFCID0gUmR0U2hvcnRjdXQuY3JlYXRlKCdjdHJsJywgJ2FsdCcsICdyaWdodCcpO1xyXG5jb25zdCBQUkVWX1RBQiA9IFJkdFNob3J0Y3V0LmNyZWF0ZSgnY3RybCcsICdhbHQnLCAnbGVmdCcpO1xyXG5cclxuaW50ZXJmYWNlIFJkdFNob3J0Y3V0QWN0aW9ucyB7XHJcbiAgW2tleTogc3RyaW5nXTogKGN0cmw6IFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmUpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBdXRvUmR0VGFic1Nob3J0Y3V0U3RyYXRlZ3kgZXh0ZW5kcyBSZHRUYWJzU2hvcnRjdXRTdHJhdGVneSB7XHJcbiAgb3ZlcnJpZGUgdXBkYXRlU2hvcnRjdXRzKCk6IFJkdFNob3J0Y3V0W10ge1xyXG4gICAgcmV0dXJuIEF1dG9SZHRUYWJzU2hvcnRjdXRTdHJhdGVneS5zaG9ydGN1dHM7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBvblNob3J0Y3V0KFxyXG4gICAgc2hvcnRjdXQ6IFJkdFNob3J0Y3V0LFxyXG4gICAgY3RybDogUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZVxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3Qga2V5ID0gc2hvcnRjdXQubGFzdEtleTtcclxuICAgIGlmICgha2V5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignS2V5IHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIScpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYWN0aW9uID0gQXV0b1JkdFRhYnNTaG9ydGN1dFN0cmF0ZWd5LmFjdGlvbnNba2V5XTtcclxuICAgIGlmICghYWN0aW9uKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gZm9yIGtleSAke2tleX1gKTtcclxuICAgIH1cclxuICAgIGFjdGlvbihjdHJsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlQWN0aW9ucygpIHtcclxuICAgIGNvbnN0IGFjdGlvbnM6IFJkdFNob3J0Y3V0QWN0aW9ucyA9IHtcclxuICAgICAgW0xFVkVMX1VQLmxhc3RLZXldOiAoY3RybCkgPT4gY3RybC5nb0xldmVsVXAoKSxcclxuICAgICAgW0xFVkVMX0RPV04ubGFzdEtleV06IChjdHJsKSA9PiBjdHJsLmdvTGV2ZWxEb3duKCksXHJcbiAgICAgIFtORVhUX0NPTlRBSU5FUi5sYXN0S2V5XTogKGN0cmwpID0+IGN0cmwuZ29Ub05leHRDb250YWluZXIoKSxcclxuICAgICAgW1BSRVZfQ09OVEFJTkVSLmxhc3RLZXldOiAoY3RybCkgPT4gY3RybC5nb1RvUHJldkNvbnRhaW5lcigpLFxyXG4gICAgICBbTkVYVF9UQUIubGFzdEtleV06IChjdHJsKSA9PiBjdHJsLmdvVG9OZXh0VGFiKCksXHJcbiAgICAgIFtQUkVWX1RBQi5sYXN0S2V5XTogKGN0cmwpID0+IGN0cmwuZ29Ub1ByZXZUYWIoKSxcclxuICAgIH07XHJcblxyXG4gICAgVEFCX0tFWV9TRVRTLmZvckVhY2goKHNldCkgPT4ge1xyXG4gICAgICBzZXQuZm9yRWFjaCgoY2hhciwgaSkgPT4ge1xyXG4gICAgICAgIGFjdGlvbnNbY2hhcl0gPSAoY3RybCkgPT4gY3RybC5nb1RvVGFiV2l0aEluZGV4KGkpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZVNob3J0Y3V0cygpIHtcclxuICAgIGNvbnN0IHNob3J0Y3V0czogUmR0U2hvcnRjdXRbXSA9IFtcclxuICAgICAgTEVWRUxfVVAsXHJcbiAgICAgIExFVkVMX0RPV04sXHJcbiAgICAgIE5FWFRfQ09OVEFJTkVSLFxyXG4gICAgICBQUkVWX0NPTlRBSU5FUixcclxuICAgICAgTkVYVF9UQUIsXHJcbiAgICAgIFBSRVZfVEFCLFxyXG4gICAgXTtcclxuXHJcbiAgICBUQUJfS0VZX1NFVFMuZm9yRWFjaCgoc2V0KSA9PiB7XHJcbiAgICAgIHNldC5mb3JFYWNoKCh0YWJLZXkpID0+IHtcclxuICAgICAgICBzaG9ydGN1dHMucHVzaChSZHRTaG9ydGN1dC5jcmVhdGUoVEFCX0JBU0UsIHRhYktleSkpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzaG9ydGN1dHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBzaG9ydGN1dHM6IFJkdFNob3J0Y3V0W10gPVxyXG4gICAgQXV0b1JkdFRhYnNTaG9ydGN1dFN0cmF0ZWd5LmdlbmVyYXRlU2hvcnRjdXRzKCk7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgYWN0aW9ucyA9IEF1dG9SZHRUYWJzU2hvcnRjdXRTdHJhdGVneS5nZW5lcmF0ZUFjdGlvbnMoKTtcclxufVxyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class RdtTabsShortcutStrategy {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYnMtc2hvcnRjdXQtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFicy9zcmMvbGliL3N0cmF0ZWdpZXMvcmR0LXRhYnMtc2hvcnRjdXQtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQix1QkFBdUI7Q0FnQjVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmR0U2hvcnRjdXQgfSBmcm9tICdAbmdyZHQvc2hvcnRjdXRzJztcclxuaW1wb3J0IHsgUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcmR0LXRhYi1jb250cm9sbGVyLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0VGFic1Nob3J0Y3V0U3RyYXRlZ3kge1xyXG4gIC8qKlxyXG4gICAqIEdldHMgY2FsbGVkIG9uSW5pdCBhbmQgd2hlbmV2ZXIgdGFicyBhcmUgYWRkZWQvcmVtb3ZlZCBmcm9tIENvbnRyb2xsZXIuXHJcbiAgICogQHBhcmFtIGN0cmwgQ29udHJvbGxlciB1c2luZyB0aGlzIHN0cmF0ZWd5LlxyXG4gICAqIEByZXR1cm5zIExpc3Qgb2Ygc2hvcnRjdXRzIHRvIHJlZ2lzdGVyLlxyXG4gICAqL1xyXG4gIGFic3RyYWN0IHVwZGF0ZVNob3J0Y3V0cyhjdHJsOiBSZHRUYWJDb250cm9sbGVyRGlyZWN0aXZlKTogUmR0U2hvcnRjdXRbXTtcclxuICAvKipcclxuICAgKiBHZXRzIGNhbGxlZCB3aGVuZXZlciBob3RrZXlzIGRldGVjdHMgb25lIG9mIHRoZSByZWdpc3RlcmVkIHNob3J0Y3V0cy5cclxuICAgKiBAcGFyYW0gc2hvcnRjdXQgUmVnaXN0ZXJlZCBzaG9ydGN1dC5cclxuICAgKiBAcGFyYW0gY3RybCBDb250cm9sbGVyIHVzaW5nIHRoaXMgc3RyYXRlZ3kuXHJcbiAgICovXHJcbiAgYWJzdHJhY3Qgb25TaG9ydGN1dChcclxuICAgIHNob3J0Y3V0OiBSZHRTaG9ydGN1dCxcclxuICAgIGN0cmw6IFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmVcclxuICApOiB2b2lkO1xyXG59XHJcbiJdfQ==
|
|
@@ -14,10 +14,10 @@ export class StaticRdtTabsShortcutStrategy {
|
|
|
14
14
|
ctrl.activateTabContainer(tab.tabContainer);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
|
-
console.warn(`Registered shortcut has been detected,
|
|
18
|
-
but there is no tab with appropriate value.
|
|
17
|
+
console.warn(`Registered shortcut has been detected,
|
|
18
|
+
but there is no tab with appropriate value.
|
|
19
19
|
Shortcut: ${shortcut}, value: ${value}`);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXJkdC10YWJzLXNob3J0Y3V0LXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYnMvc3JjL2xpYi9zdHJhdGVnaWVzL3N0YXRpYy1yZHQtdGFicy1zaG9ydGN1dC1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLE9BQU8sNkJBQTZCO0lBQ3BCO0lBQXBCLFlBQW9CLE1BQTJCO1FBQTNCLFdBQU0sR0FBTixNQUFNLENBQXFCO0lBQUcsQ0FBQztJQUVuRCxlQUFlO1FBQ2IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFxQixFQUFFLElBQStCO1FBQy9ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUNuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxDQUNWOztzQkFFYyxRQUFRLFlBQVksS0FBSyxFQUFFLENBQzFDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmR0U2hvcnRjdXQgfSBmcm9tICdAbmdyZHQvc2hvcnRjdXRzJztcclxuaW1wb3J0IHsgUmR0VGFiQ29udHJvbGxlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcmR0LXRhYi1jb250cm9sbGVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJkdFRhYnNTaG9ydGN1dFN0cmF0ZWd5IH0gZnJvbSAnLi9yZHQtdGFicy1zaG9ydGN1dC1zdHJhdGVneSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRpY1JkdFRhYnNDb25maWcge1xyXG4gIHNob3J0Y3V0czogTWFwPFJkdFNob3J0Y3V0LCBzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3RhdGljUmR0VGFic1Nob3J0Y3V0U3RyYXRlZ3kgaW1wbGVtZW50cyBSZHRUYWJzU2hvcnRjdXRTdHJhdGVneSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IFN0YXRpY1JkdFRhYnNDb25maWcpIHt9XHJcblxyXG4gIHVwZGF0ZVNob3J0Y3V0cygpOiBSZHRTaG9ydGN1dFtdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY29uZmlnLnNob3J0Y3V0cy5rZXlzKCkpO1xyXG4gIH1cclxuXHJcbiAgb25TaG9ydGN1dChzaG9ydGN1dDogUmR0U2hvcnRjdXQsIGN0cmw6IFJkdFRhYkNvbnRyb2xsZXJEaXJlY3RpdmUpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb25maWcuc2hvcnRjdXRzLmdldChzaG9ydGN1dCkhO1xyXG4gICAgY29uc3QgdGFiID0gY3RybC5nZXRUYWJCeVZhbHVlKHZhbHVlKTtcclxuICAgIGlmICh0YWIpIHtcclxuICAgICAgY3RybC5hY3RpdmF0ZVRhYih0YWIpO1xyXG4gICAgICBjdHJsLmFjdGl2YXRlVGFiQ29udGFpbmVyKHRhYi50YWJDb250YWluZXIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgIGBSZWdpc3RlcmVkIHNob3J0Y3V0IGhhcyBiZWVuIGRldGVjdGVkLFxyXG4gICAgICAgICAgYnV0IHRoZXJlIGlzIG5vIHRhYiB3aXRoIGFwcHJvcHJpYXRlIHZhbHVlLlxyXG4gICAgICAgICAgU2hvcnRjdXQ6ICR7c2hvcnRjdXR9LCB2YWx1ZTogJHt2YWx1ZX1gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/fesm2022/ngrdt-tabs.mjs
CHANGED
|
@@ -8,7 +8,6 @@ import { Subscription, firstValueFrom, takeWhile, timer } from 'rxjs';
|
|
|
8
8
|
import { RdtShortcut, RdtShortcutService } from '@ngrdt/shortcuts';
|
|
9
9
|
import * as i2 from '@angular/common';
|
|
10
10
|
import { CommonModule } from '@angular/common';
|
|
11
|
-
import { TooltipModule } from 'primeng/tooltip';
|
|
12
11
|
|
|
13
12
|
class RdtDestroyInactiveDirective {
|
|
14
13
|
template = inject(TemplateRef);
|
|
@@ -124,7 +123,7 @@ class RdtTabComponent {
|
|
|
124
123
|
provide: RDT_GUARDED_COMPONENT,
|
|
125
124
|
useExisting: RdtTabComponent,
|
|
126
125
|
},
|
|
127
|
-
], queries: [{ propertyName: "explicitContent", first: true, predicate: RdtDestroyInactiveDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.RdtContainerDirective }], ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
126
|
+
], queries: [{ propertyName: "explicitContent", first: true, predicate: RdtDestroyInactiveDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.RdtContainerDirective }], ngImport: i0, template: "<ng-template>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
128
127
|
}
|
|
129
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabComponent, decorators: [{
|
|
130
129
|
type: Component,
|
|
@@ -133,7 +132,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
133
132
|
provide: RDT_GUARDED_COMPONENT,
|
|
134
133
|
useExisting: RdtTabComponent,
|
|
135
134
|
},
|
|
136
|
-
], hostDirectives: [RdtContainerDirective], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
135
|
+
], hostDirectives: [RdtContainerDirective], template: "<ng-template>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n" }]
|
|
137
136
|
}], propDecorators: { stateId: [{
|
|
138
137
|
type: Input
|
|
139
138
|
}], disabled: [{
|
|
@@ -791,7 +790,7 @@ class RdtTabContainerComponent {
|
|
|
791
790
|
provide: RDT_GUARDED_COMPONENT,
|
|
792
791
|
useExisting: RdtTabContainerComponent,
|
|
793
792
|
},
|
|
794
|
-
], queries: [{ propertyName: "tabsList", predicate: RdtTabComponent }], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContent"], descendants: true, static: true }, { propertyName: "tabHeaderButtons", predicate: ["headerButton"], descendants: true }], hostDirectives: [{ directive: i1.RdtChildDirective }], ngImport: i0, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\n <button\n *ngFor=\"let tab of tabsList\"\n #headerButton\n class=\"px-2 py-1 tab-header-button\"\n (click)=\"activateTab(tab.stateId)\"\n [class.active]=\"value === tab.stateId\"\n [disabled]=\"tab.disabled\"\n [hidden]=\"!tab.visible\"\n role=\"tab\"\n [attr.aria-selected]=\"value === tab.stateId\"\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\n [id]=\"'tab-' + tab.stateId\"\n [class]=\"tab.buttonClass\"\n type=\"button\"\n >\n {{ tab.label }}\n </button>\n</div>\n<div\n class=\"tab-content\"\n role=\"tabpanel\"\n [id]=\"'panel-' + value\"\n [attr.aria-labelledby]=\"'tab-' + value\"\n #tabContent\n>\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\n</div>\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
793
|
+
], queries: [{ propertyName: "tabsList", predicate: RdtTabComponent }], viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContent"], descendants: true, static: true }, { propertyName: "tabHeaderButtons", predicate: ["headerButton"], descendants: true }], hostDirectives: [{ directive: i1.RdtChildDirective }], ngImport: i0, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\r\n <button\r\n *ngFor=\"let tab of tabsList\"\r\n #headerButton\r\n class=\"px-2 py-1 tab-header-button\"\r\n (click)=\"activateTab(tab.stateId)\"\r\n [class.active]=\"value === tab.stateId\"\r\n [disabled]=\"tab.disabled\"\r\n [hidden]=\"!tab.visible\"\r\n role=\"tab\"\r\n [attr.aria-selected]=\"value === tab.stateId\"\r\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\r\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\r\n [id]=\"'tab-' + tab.stateId\"\r\n [class]=\"tab.buttonClass\"\r\n type=\"button\"\r\n >\r\n {{ tab.label }}\r\n </button>\r\n</div>\r\n<div\r\n class=\"tab-content\"\r\n role=\"tabpanel\"\r\n [id]=\"'panel-' + value\"\r\n [attr.aria-labelledby]=\"'tab-' + value\"\r\n #tabContent\r\n>\r\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\r\n</div>\r\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
795
794
|
}
|
|
796
795
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabContainerComponent, decorators: [{
|
|
797
796
|
type: Component,
|
|
@@ -800,7 +799,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
800
799
|
provide: RDT_GUARDED_COMPONENT,
|
|
801
800
|
useExisting: RdtTabContainerComponent,
|
|
802
801
|
},
|
|
803
|
-
], hostDirectives: [RdtChildDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\n <button\n *ngFor=\"let tab of tabsList\"\n #headerButton\n class=\"px-2 py-1 tab-header-button\"\n (click)=\"activateTab(tab.stateId)\"\n [class.active]=\"value === tab.stateId\"\n [disabled]=\"tab.disabled\"\n [hidden]=\"!tab.visible\"\n role=\"tab\"\n [attr.aria-selected]=\"value === tab.stateId\"\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\n [id]=\"'tab-' + tab.stateId\"\n [class]=\"tab.buttonClass\"\n type=\"button\"\n >\n {{ tab.label }}\n </button>\n</div>\n<div\n class=\"tab-content\"\n role=\"tabpanel\"\n [id]=\"'panel-' + value\"\n [attr.aria-labelledby]=\"'tab-' + value\"\n #tabContent\n>\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\n</div>\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"] }]
|
|
802
|
+
], hostDirectives: [RdtChildDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\r\n <button\r\n *ngFor=\"let tab of tabsList\"\r\n #headerButton\r\n class=\"px-2 py-1 tab-header-button\"\r\n (click)=\"activateTab(tab.stateId)\"\r\n [class.active]=\"value === tab.stateId\"\r\n [disabled]=\"tab.disabled\"\r\n [hidden]=\"!tab.visible\"\r\n role=\"tab\"\r\n [attr.aria-selected]=\"value === tab.stateId\"\r\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\r\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\r\n [id]=\"'tab-' + tab.stateId\"\r\n [class]=\"tab.buttonClass\"\r\n type=\"button\"\r\n >\r\n {{ tab.label }}\r\n </button>\r\n</div>\r\n<div\r\n class=\"tab-content\"\r\n role=\"tabpanel\"\r\n [id]=\"'panel-' + value\"\r\n [attr.aria-labelledby]=\"'tab-' + value\"\r\n #tabContent\r\n>\r\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\r\n</div>\r\n", styles: ["dp3-tab-container{--tab-header-border-height: 2px;--tab-header-border-color: #e2e8f0;--tab-text-color: rgb(100, 116, 139);--active-tab-text-color: var(--primary-blue);--active-tab-border-color: var(--primary-blue);--disabled-tab-text-color: #b1b9c5;--tab-vertical-button-width: 200px;display:block;position:relative}dp3-tab-container.active>.tab-header-panel{background-color:var(--hover-blue)}dp3-tab-container.panel-vertical{display:flex}dp3-tab-container.panel-vertical>.tab-header-panel{position:absolute;top:0;height:100%;width:var(--tab-vertical-button-width);overflow-y:auto}dp3-tab-container.panel-vertical>.tab-header-panel>button{text-align:left;width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}dp3-tab-container.panel-vertical>.tab-content{width:calc(100% - var(--tab-vertical-button-width))}dp3-tab-container.panel-right{flex-direction:row-reverse}dp3-tab-container.panel-right>.tab-header-panel{right:0}dp3-tab-container.panel-left>.tab-header-panel{left:0}dp3-tab-container.panel-left>.tab-content{margin-left:var(--tab-vertical-button-width)}dp3-tab-container.panel-horizontal>.tab-header-panel{width:100%;white-space:nowrap;overflow-x:auto}dp3-tab-container.panel-bottom{display:flex;flex-direction:column-reverse}dp3-tab-container .tab-header-panel{position:relative;background-color:rgba(var(--primary-blue-rgb),.045)}dp3-tab-container .tab-header-panel:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--tab-header-border-color);margin-top:var(--tab-header-border-height);bottom:0;left:0;z-index:-1}dp3-tab-container .dot{position:absolute;width:.85rem;height:.85rem;padding:0 .1rem;background-color:var(--primary-blue);color:var(--white);font-size:x-small;border-radius:100%;top:.25rem;right:0rem}dp3-tab-container .tab-header-button{position:relative;background:none;font:inherit;outline:inherit;border:none;color:var(--tab-text-color);font-weight:700;font-size:1.1rem}dp3-tab-container .tab-header-button.active{position:relative;color:var(--active-tab-text-color)}dp3-tab-container .tab-header-button.active:after{content:\"\";position:absolute;width:100%;height:var(--tab-header-border-height);background-color:var(--active-tab-text-color);margin-top:var(--tab-header-border-height);bottom:0;left:0}dp3-tab-container .tab-header-button:disabled{color:var(--disabled-tab-text-color)}dp3-tab-container .tab-header-button.padding-small{padding-right:1.1rem!important}dp3-tab-container .tab-header-button.padding-large{padding-right:1.3rem!important}dp3-tab-container>.tab-content{min-width:0;width:100%;padding:.5rem}dp3-tab-container>.tab-content:has(>.dp3-tab-container){padding:0}dp3-tab-container>.tab-content>.dp3-tab-container{width:100%;height:100%}\n"] }]
|
|
804
803
|
}], propDecorators: { stateId: [{
|
|
805
804
|
type: Input
|
|
806
805
|
}], value: [{
|
|
@@ -851,11 +850,11 @@ class RdtTabsModule {
|
|
|
851
850
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, declarations: [RdtTabComponent,
|
|
852
851
|
RdtTabContainerComponent,
|
|
853
852
|
RdtTabControllerDirective,
|
|
854
|
-
RdtDestroyInactiveDirective], imports: [CommonModule
|
|
853
|
+
RdtDestroyInactiveDirective], imports: [CommonModule], exports: [RdtTabComponent,
|
|
855
854
|
RdtTabContainerComponent,
|
|
856
855
|
RdtTabControllerDirective,
|
|
857
856
|
RdtDestroyInactiveDirective] });
|
|
858
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, imports: [CommonModule
|
|
857
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, imports: [CommonModule] });
|
|
859
858
|
}
|
|
860
859
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtTabsModule, decorators: [{
|
|
861
860
|
type: NgModule,
|
|
@@ -872,7 +871,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
872
871
|
RdtTabControllerDirective,
|
|
873
872
|
RdtDestroyInactiveDirective,
|
|
874
873
|
],
|
|
875
|
-
imports: [CommonModule
|
|
874
|
+
imports: [CommonModule],
|
|
876
875
|
}]
|
|
877
876
|
}] });
|
|
878
877
|
|
|
@@ -892,8 +891,8 @@ class StaticRdtTabsShortcutStrategy {
|
|
|
892
891
|
ctrl.activateTabContainer(tab.tabContainer);
|
|
893
892
|
}
|
|
894
893
|
else {
|
|
895
|
-
console.warn(`Registered shortcut has been detected,
|
|
896
|
-
but there is no tab with appropriate value.
|
|
894
|
+
console.warn(`Registered shortcut has been detected,
|
|
895
|
+
but there is no tab with appropriate value.
|
|
897
896
|
Shortcut: ${shortcut}, value: ${value}`);
|
|
898
897
|
}
|
|
899
898
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrdt-tabs.mjs","sources":["../../../../@ngrdt/tabs/src/lib/directives/rdt-destroy-inactive.directive.ts","../../../../@ngrdt/tabs/src/lib/components/tab/rdt-tab.component.ts","../../../../@ngrdt/tabs/src/lib/components/tab/rdt-tab.component.html","../../../../@ngrdt/tabs/src/lib/strategies/rdt-tabs-shortcut-strategy.ts","../../../../@ngrdt/tabs/src/lib/strategies/auto-rdt-tabs-shortcut-strategy.ts","../../../../@ngrdt/tabs/src/lib/directives/rdt-tab-controller.directive.ts","../../../../@ngrdt/tabs/src/lib/components/tab-container/rdt-tab-container.component.ts","../../../../@ngrdt/tabs/src/lib/components/tab-container/rdt-tab-container.component.html","../../../../@ngrdt/tabs/src/lib/rdt-tabs-models.ts","../../../../@ngrdt/tabs/src/lib/rdt-tabs.module.ts","../../../../@ngrdt/tabs/src/lib/strategies/static-rdt-tabs-shortcut-strategy.ts","../../../../@ngrdt/tabs/src/ngrdt-tabs.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[rdtDestroyInactive]',\n})\nexport class RdtDestroyInactiveDirective {\n public readonly template = inject(TemplateRef);\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n DestroyRef,\n inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n RDT_GUARDED_COMPONENT,\n RdtContainerDirective,\n RdtIsActive,\n} from '@ngrdt/core';\nimport { Nullable } from '@ngrdt/utils';\nimport { RdtDestroyInactiveDirective } from '../../directives/rdt-destroy-inactive.directive';\nimport { RdtTabContainerState, RdtTabState } from '../../rdt-tabs-models';\nimport { RdtTabContainerComponent } from '../tab-container/rdt-tab-container.component';\n\n@Component({\n selector: 'rdt-tab',\n templateUrl: './rdt-tab.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: RDT_GUARDED_COMPONENT,\n useExisting: RdtTabComponent,\n },\n ],\n hostDirectives: [RdtContainerDirective],\n})\nexport class RdtTabComponent implements OnChanges, OnInit, RdtIsActive {\n private readonly injector = inject(Injector);\n readonly destroyRef = inject(DestroyRef);\n\n private _contDir!: RdtContainerDirective;\n get contDir() {\n return this._contDir;\n }\n\n @Input()\n get stateId() {\n if (this._stateId === null) {\n if (this.label !== '') {\n this._stateId = this.label;\n } else {\n const index = this.tabContainer?.tabsList?.toArray().indexOf(this);\n this._stateId = `tab-${index}`;\n }\n }\n return this._stateId;\n }\n set stateId(value: string) {\n this._stateId = value;\n }\n private _stateId: string = null as unknown as string;\n\n @Input({ transform: booleanAttribute })\n disabled = false;\n\n @Input({ transform: booleanAttribute })\n visible = true;\n\n @Input({ required: true })\n label!: string;\n\n @Input({ transform: booleanAttribute })\n formAutofocus = true;\n\n @Input()\n buttonClass: Nullable<string> = null;\n\n @ViewChild(TemplateRef, { static: true })\n private readonly implicitContent!: TemplateRef<any>;\n\n @ContentChild(RdtDestroyInactiveDirective, {\n read: TemplateRef,\n static: true,\n })\n private readonly explicitContent!: TemplateRef<any>;\n\n get templateRef() {\n return this.explicitContent ?? this.implicitContent;\n }\n\n readonly tabContainer = inject(RdtTabContainerComponent);\n\n //get forms() {\n // return this.getChildrenByClass(RdtBaseFormComponent);\n //}\n\n get childContainers() {\n return this.contDir.getChildrenByClass(RdtTabContainerComponent);\n }\n\n rdtIsActive(): boolean {\n return (\n this.visible && !this.disabled && this.tabContainer.activeTab === this\n );\n }\n\n ngOnInit() {\n this._contDir = this.injector.get(RdtContainerDirective);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (\n 'label' in changes ||\n 'value' in changes ||\n 'visible' in changes ||\n 'stateId' in changes\n ) {\n this.tabContainer.cd.markForCheck();\n }\n }\n\n get isTopLevel() {\n return this.tabContainer.isTopLevel;\n }\n\n getState(): RdtTabState {\n return {\n id: this.stateId,\n containerStates: this.childContainers.map((cont) => cont.getState()),\n };\n }\n\n applyState(state: RdtTabState) {\n const states: (RdtTabContainerState | null)[] = [...state.containerStates];\n const conts: (RdtTabContainerComponent | null)[] = this.childContainers;\n const minLen = Math.min(states.length, conts.length);\n\n for (let i = 0; i < minLen; i++) {\n if (conts[i]!.stateId === states[i]!.id) {\n conts[i]!.applyState(states[i]!);\n conts[i] = states[i] = null;\n }\n }\n conts.forEach((cont, contI) => {\n if (!cont) {\n return;\n }\n for (let offset = 0; offset < states.length; offset++) {\n const prev = contI - offset;\n const next = contI + offset;\n if (prev > 0 && states[prev]?.id === cont.stateId) {\n cont.applyState(states[prev]!);\n states[prev] = null;\n return;\n } else if (next < states.length && states[next]?.id === cont.stateId) {\n cont.applyState(states[next]!);\n states[next] = null;\n return;\n }\n }\n });\n }\n\n focusForm() {\n //TODO: getRdtAutofocusable(this.forms)?.rdtFocus();\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import { RdtShortcut } from '@ngrdt/shortcuts';\nimport { RdtTabControllerDirective } from '../directives/rdt-tab-controller.directive';\n\nexport abstract class RdtTabsShortcutStrategy {\n /**\n * Gets called onInit and whenever tabs are added/removed from Controller.\n * @param ctrl Controller using this strategy.\n * @returns List of shortcuts to register.\n */\n abstract updateShortcuts(ctrl: RdtTabControllerDirective): RdtShortcut[];\n /**\n * Gets called whenever hotkeys detects one of the registered shortcuts.\n * @param shortcut Registered shortcut.\n * @param ctrl Controller using this strategy.\n */\n abstract onShortcut(\n shortcut: RdtShortcut,\n ctrl: RdtTabControllerDirective\n ): void;\n}\n","import { RdtShortcut } from '@ngrdt/shortcuts';\nimport { RdtTabControllerDirective } from '../directives/rdt-tab-controller.directive';\nimport { RdtTabsShortcutStrategy } from './rdt-tabs-shortcut-strategy';\n\nconst TAB_BASE = 'alt';\nconst TAB_KEY_SETS = [\n ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],\n ['+', 'ě', 'š', 'č', 'ř', 'ž', 'ý', 'á', 'í', 'é'],\n];\nconst NEXT_CONTAINER = RdtShortcut.create('alt', 's');\nconst PREV_CONTAINER = RdtShortcut.create('alt', 'w');\nconst LEVEL_UP = RdtShortcut.create('ctrl', 'alt', 'up');\nconst LEVEL_DOWN = RdtShortcut.create('ctrl', 'alt', 'down');\nconst NEXT_TAB = RdtShortcut.create('ctrl', 'alt', 'right');\nconst PREV_TAB = RdtShortcut.create('ctrl', 'alt', 'left');\n\ninterface RdtShortcutActions {\n [key: string]: (ctrl: RdtTabControllerDirective) => boolean;\n}\n\nexport class AutoRdtTabsShortcutStrategy extends RdtTabsShortcutStrategy {\n override updateShortcuts(): RdtShortcut[] {\n return AutoRdtTabsShortcutStrategy.shortcuts;\n }\n\n override onShortcut(\n shortcut: RdtShortcut,\n ctrl: RdtTabControllerDirective\n ): void {\n const key = shortcut.lastKey;\n if (!key) {\n throw new Error('Key should not be undefined!');\n }\n const action = AutoRdtTabsShortcutStrategy.actions[key];\n if (!action) {\n throw new Error(`Unknown action for key ${key}`);\n }\n action(ctrl);\n }\n\n private static generateActions() {\n const actions: RdtShortcutActions = {\n [LEVEL_UP.lastKey]: (ctrl) => ctrl.goLevelUp(),\n [LEVEL_DOWN.lastKey]: (ctrl) => ctrl.goLevelDown(),\n [NEXT_CONTAINER.lastKey]: (ctrl) => ctrl.goToNextContainer(),\n [PREV_CONTAINER.lastKey]: (ctrl) => ctrl.goToPrevContainer(),\n [NEXT_TAB.lastKey]: (ctrl) => ctrl.goToNextTab(),\n [PREV_TAB.lastKey]: (ctrl) => ctrl.goToPrevTab(),\n };\n\n TAB_KEY_SETS.forEach((set) => {\n set.forEach((char, i) => {\n actions[char] = (ctrl) => ctrl.goToTabWithIndex(i);\n });\n });\n return actions;\n }\n\n private static generateShortcuts() {\n const shortcuts: RdtShortcut[] = [\n LEVEL_UP,\n LEVEL_DOWN,\n NEXT_CONTAINER,\n PREV_CONTAINER,\n NEXT_TAB,\n PREV_TAB,\n ];\n\n TAB_KEY_SETS.forEach((set) => {\n set.forEach((tabKey) => {\n shortcuts.push(RdtShortcut.create(TAB_BASE, tabKey));\n });\n });\n\n return shortcuts;\n }\n\n private static shortcuts: RdtShortcut[] =\n AutoRdtTabsShortcutStrategy.generateShortcuts();\n private static actions = AutoRdtTabsShortcutStrategy.generateActions();\n}\n","import {\n AfterContentInit,\n ContentChildren,\n DestroyRef,\n Directive,\n inject,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n canTransition$,\n RDT_GUARDED_COMPONENT,\n RdtContainerDirective,\n} from '@ngrdt/core';\nimport { RdtShortcut, RdtShortcutService } from '@ngrdt/shortcuts';\nimport { firstValueFrom, Subscription, takeWhile } from 'rxjs';\nimport { RdtTabContainerComponent } from '../components/tab-container/rdt-tab-container.component';\nimport { RdtTabComponent } from '../components/tab/rdt-tab.component';\nimport { AutoRdtTabsShortcutStrategy } from '../strategies/auto-rdt-tabs-shortcut-strategy';\nimport { RdtTabsShortcutStrategy } from '../strategies/rdt-tabs-shortcut-strategy';\n\n@Directive({\n selector: '[rdtTabController]',\n providers: [\n {\n provide: RDT_GUARDED_COMPONENT,\n useExisting: RdtTabControllerDirective,\n },\n ],\n hostDirectives: [RdtContainerDirective],\n})\nexport class RdtTabControllerDirective\n implements OnInit, AfterContentInit, OnDestroy\n{\n private readonly destroyRef = inject(DestroyRef);\n private readonly injector = inject(Injector);\n private readonly shortcutService = inject(RdtShortcutService);\n private shortcutSub = new Subscription();\n\n // String value lets you use the directive without param.\n @Input()\n set rdtTabController(value: RdtTabsShortcutStrategy | string | null) {\n if (value && typeof value !== 'string') {\n this._strategy = value;\n this.updateShortcuts();\n }\n }\n\n protected get tabContainers() {\n return this.containerDirective\n .getChildrenRecursive()\n .filter(\n (ch) => ch instanceof RdtTabContainerComponent\n ) as unknown as RdtTabContainerComponent[];\n }\n protected get tabs() {\n return this.containerDirective\n .getChildrenRecursive()\n .filter(\n (ch) => ch instanceof RdtTabComponent\n ) as unknown as RdtTabComponent[];\n }\n\n @ContentChildren(RdtTabControllerDirective, { descendants: true })\n protected childControllers!: QueryList<RdtTabControllerDirective>;\n\n get strategy() {\n return this._strategy;\n }\n private _strategy: RdtTabsShortcutStrategy =\n new AutoRdtTabsShortcutStrategy();\n\n private _lastActiveTabContainer: {\n timestamp: number | null;\n container: RdtTabContainerComponent;\n } | null = null;\n\n private _contentWasInit = false;\n\n get disabled() {\n return this._disabled;\n }\n private _disabled = false;\n\n get shortcuts() {\n return this._shortcuts;\n }\n set shortcuts(value: RdtShortcut[]) {\n const oldSet = new Set<string>(this._shortcuts.map((s) => s.hotkeysValue));\n this._shortcuts = value;\n\n if (\n oldSet.size !== value.length ||\n value.some((s) => !oldSet.has(s.hotkeysValue))\n ) {\n this.bindAll();\n }\n }\n private _shortcuts: RdtShortcut[] = [];\n\n get activeContainer() {\n return this._lastActiveTabContainer?.container;\n }\n\n protected containerDirective!: RdtContainerDirective;\n\n ngOnInit() {\n this.containerDirective = this.injector.get(\n RdtContainerDirective,\n undefined,\n {\n self: true,\n }\n );\n this.updateShortcuts();\n }\n\n ngAfterContentInit() {\n this.setDefaultActive();\n this.disableSelfWhenChildCtrlExists();\n this._contentWasInit = true;\n if (this.tabs.length > 0) {\n this.onTabChanges();\n }\n if (this.tabContainers.length > 0) {\n this.onTabContainerChanges();\n }\n }\n\n ngOnDestroy(): void {\n this.unbindAll();\n this._shortcuts.length = 0;\n }\n\n getTabContainerIndex(cont: RdtTabContainerComponent): number {\n const level = this.getSameLevelContainers(cont);\n return level.indexOf(cont);\n }\n\n /**\n * Activates first parent container of current container\n * that is not disabled and has any non disabled tabs.\n */\n goLevelUp(): boolean {\n let cont = this.activeContainer;\n while (cont) {\n cont = cont.parentTab?.tabContainer;\n if (cont && !cont.disabled && cont.hasNonDisabledTabs) {\n this.activateTabContainer(cont);\n return true;\n }\n }\n return false;\n }\n\n /**\n * Activates first container under current tab which\n * is not disabled and has any non disabled tabs.\n */\n goLevelDown(): boolean {\n const cont = this.activeContainer;\n if (!cont || cont.disabled) {\n return false;\n }\n let tab = cont.tabsList.find((t) => t.stateId === cont.value);\n if (!tab || tab.disabled) {\n tab = cont.tabsList.find((t) => !t.disabled);\n }\n if (!tab) {\n return false;\n }\n const targetCont = tab.childContainers.find(\n (c) => !c.disabled && c.hasNonDisabledTabs\n );\n if (targetCont) {\n this.activateTabContainer(targetCont);\n return true;\n }\n return false;\n }\n\n /**\n * Activates next container on current level\n * (under parent container of currently active container).\n * Is cyclic.\n */\n goToNextContainer(): boolean {\n return this.goToAdjacentContainer(1);\n }\n\n /**\n * Activates previous container on current level\n * (under parent container of currently active container).\n * Is cyclic.\n */\n goToPrevContainer(): boolean {\n return this.goToAdjacentContainer(-1);\n }\n\n /**\n * Activates tab within active container at the index of argument.\n */\n goToTabWithIndex(index: number): boolean {\n const cont = this.activeContainer;\n if (!cont) {\n return false;\n }\n const tab = cont.tabsList.get(index);\n if (!tab) {\n return false;\n }\n this.activateTab(tab);\n return true;\n }\n\n /**\n * Activates next tab within active container. Is cyclic.\n */\n goToNextTab(): boolean {\n return this.goToAdjacentTab(1);\n }\n\n /**\n * Activates previous tab within active container. Is cyclic.\n */\n goToPrevTab(): boolean {\n return this.goToAdjacentTab(-1);\n }\n\n private goToAdjacentContainer(dir: -1 | 1) {\n const cont = this.activeContainer;\n if (!cont) {\n return false;\n }\n\n const level = this.getSameLevelContainers(cont);\n if (!level) {\n return false;\n }\n\n const currentIndex = level.indexOf(cont);\n if (currentIndex < 0) {\n throw new Error('Current container is not within its own level?');\n }\n for (\n let i = (currentIndex + dir + level.length) % level.length;\n i !== currentIndex;\n i = (i + dir + level.length) % level.length\n ) {\n const next = level[i];\n if (!next.disabled && next.hasNonDisabledTabs) {\n this.activateTabContainer(next);\n return true;\n }\n }\n return false;\n }\n\n private goToAdjacentTab(dir: -1 | 1) {\n const cont = this.activeContainer;\n if (!cont) {\n return false;\n }\n\n const tabs = cont.tabsList.toArray();\n const currentIndex = tabs.findIndex((tab) => tab.stateId === cont.value);\n if (currentIndex < 0) {\n throw new Error('Current tab is not found in its container?!');\n }\n\n for (\n let i = (currentIndex + dir + tabs.length) % tabs.length;\n i !== currentIndex;\n i = (i + dir + tabs.length) % tabs.length\n ) {\n const next = tabs[i];\n if (!next.disabled) {\n this.activateTab(next);\n return true;\n }\n }\n return false;\n }\n\n private getSameLevelContainers(cont: RdtTabContainerComponent) {\n if (cont.parentTab) {\n return cont.parentTab.childContainers;\n } else {\n return this.tabContainers.filter((cont) => cont.isTopLevel);\n }\n }\n\n getTabByValue(value: string) {\n for (const container of this.tabContainers) {\n const tab = container.tabsList.find((ch) => ch.stateId === value);\n if (tab) {\n return tab;\n }\n }\n return null;\n }\n\n activateTabContainer(tabs: RdtTabContainerComponent, scrollIntoView = true) {\n if (this._lastActiveTabContainer) {\n this._lastActiveTabContainer.container.active = false;\n }\n\n tabs.active = true;\n if (scrollIntoView) {\n tabs.scrollIntoView();\n }\n\n this._lastActiveTabContainer = {\n container: tabs,\n timestamp: null,\n };\n }\n\n activateTabContainerFromClick(\n tabs: RdtTabContainerComponent,\n timestamp: number\n ) {\n if (this._lastActiveTabContainer) {\n if (\n this._lastActiveTabContainer.timestamp !== null &&\n this._lastActiveTabContainer.timestamp >= timestamp\n ) {\n return;\n }\n\n this._lastActiveTabContainer.container.active = false;\n }\n\n tabs.active = true;\n\n this._lastActiveTabContainer = {\n container: tabs,\n timestamp,\n };\n }\n\n async activateTab(tab: RdtTabComponent) {\n if (!this.canActivateTab(tab)) {\n console.warn('Trying to activate disabled tab.');\n return;\n }\n\n const formsCheck = await this.canActivateTabForms(tab);\n if (!formsCheck) {\n console.warn(\n 'Trying to activate tab while current tab has unsaved forms'\n );\n return;\n }\n\n let current: RdtTabComponent | null = tab;\n\n do {\n const container: RdtTabContainerComponent = current!.tabContainer;\n container.value = current!.stateId;\n current = container.parentTab;\n } while (current !== null);\n }\n\n canActivateTab(tab: RdtTabComponent) {\n let current: RdtTabComponent | null = tab;\n\n do {\n const container: RdtTabContainerComponent = current.tabContainer;\n if (current.disabled || container.disabled) {\n return false;\n }\n current = container.parentTab;\n } while (current !== null);\n\n return true;\n }\n\n async canActivateTabForms(tab: RdtTabComponent) {\n const container = tab.tabContainer;\n return firstValueFrom(\n canTransition$(container.activeTab?.contDir, tab?.contDir)\n );\n }\n\n onTabChanges() {\n this.updateShortcuts();\n }\n\n onTabContainerChanges() {\n this.setDefaultActiveWhenAvailable();\n }\n\n private disableSelfWhenChildCtrlExists() {\n this.childControllers.changes\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((val: QueryList<RdtTabControllerDirective>) => {\n this._disabled = val.length > 0;\n\n if (this._disabled) {\n this.unbindAll();\n } else {\n this.bindAll();\n }\n });\n }\n\n private setDefaultActive() {\n if (this.tabContainers) {\n const defaultCont = this.tabContainers.find(this.canContainerBeDefault);\n if (defaultCont) {\n this.activateTabContainer(defaultCont, false);\n }\n }\n }\n\n private setDefaultActiveWhenAvailable() {\n const active = this.activeContainer;\n if (active && this.tabContainers.some((cont) => cont === active)) {\n return;\n }\n const newDefault = this.tabContainers.find(this.canContainerBeDefault);\n if (newDefault) {\n this.activateTabContainer(newDefault, false);\n }\n }\n\n private canContainerBeDefault(c: RdtTabContainerComponent) {\n return c.isTopLevel && !c.disabled && c.hasNonDisabledTabs;\n }\n\n private updateShortcuts() {\n this.shortcuts = this._strategy.updateShortcuts(this);\n }\n\n private bindAll() {\n this.shortcutSub.unsubscribe();\n if (!this._disabled) {\n this.shortcutSub = this.shortcutService\n .listen(this._shortcuts)\n .pipe(takeWhile(() => !this._disabled))\n .subscribe((event) => {\n this._strategy.onShortcut(event.shortcut, this);\n });\n }\n }\n\n private unbindAll() {\n this.shortcutSub.unsubscribe();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n canTransition$,\n RDT_GUARDED_COMPONENT,\n RdtChildDirective,\n} from '@ngrdt/core';\nimport { RdtHTMLUtils } from '@ngrdt/utils';\nimport { firstValueFrom, timer } from 'rxjs';\nimport { RdtTabControllerDirective } from '../../directives/rdt-tab-controller.directive';\nimport { RdtTabContainerState, RdtTabState } from '../../rdt-tabs-models';\nimport { RdtTabComponent } from '../tab/rdt-tab.component';\n\n@Component({\n selector: 'rdt-tab-container',\n templateUrl: './rdt-tab-container.component.html',\n styleUrls: ['./rdt-tab-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: RDT_GUARDED_COMPONENT,\n useExisting: RdtTabContainerComponent,\n },\n ],\n hostDirectives: [RdtChildDirective],\n encapsulation: ViewEncapsulation.None,\n})\nexport class RdtTabContainerComponent implements AfterContentInit {\n readonly destroyRef = inject(DestroyRef);\n\n @Input()\n stateId: any = null;\n\n @Input()\n set value(val: string) {\n if (this.activeTab && this.activeTab.stateId !== val) {\n // TODO\n //this.activeTab.onViewWillLeave();\n }\n this._value = val;\n this.setCurrent();\n }\n get value() {\n return this._value;\n }\n private _value!: string;\n\n @Input()\n disabled = false;\n\n @Input()\n formAutofocus = true;\n\n @Input()\n panelPosition: 'left' | 'right' | 'top' | 'bottom' = 'top';\n\n @Output()\n valueChange = new EventEmitter();\n\n @ContentChildren(RdtTabComponent)\n tabsList!: QueryList<RdtTabComponent>;\n\n @ViewChildren('headerButton')\n tabHeaderButtons?: QueryList<ElementRef<HTMLElement>>;\n\n @ViewChild('tabContent', { static: true })\n tabContent!: ElementRef<HTMLElement>;\n\n @HostBinding('class.active')\n private _active = false;\n get active() {\n return this._active;\n }\n set active(value: boolean) {\n this._active = value;\n this.cd.markForCheck();\n }\n\n get isTopLevel(): boolean {\n return !this.parentTab;\n }\n\n readonly parentTab = inject(RdtTabComponent, { optional: true });\n readonly controller = inject(RdtTabControllerDirective, {\n optional: true,\n });\n readonly cd = inject(ChangeDetectorRef);\n readonly elRef = inject(ElementRef);\n protected readonly renderer = inject(Renderer2);\n\n protected currentTemplate: TemplateRef<any> | null = null;\n protected currentTab: RdtTabComponent | null = null;\n\n @HostBinding('class')\n get classes() {\n return `dp3-tab-container panel-${this.panelPosition}`;\n }\n\n @HostBinding('class.panel-horizontal')\n get isHorizontal() {\n return this.panelPosition === 'top' || this.panelPosition === 'bottom';\n }\n\n @HostBinding('class.panel-vertical')\n get isVertical() {\n return !this.isHorizontal;\n }\n\n @HostBinding('attr.role')\n private attrRole = 'tablist';\n\n get hasNonDisabledTabs() {\n return this.tabsList.some((tab) => !tab.disabled);\n }\n\n get activeTab() {\n return this.getTabByValue(this.value);\n }\n\n getTabByValue(value: string) {\n return this.tabsList?.find((tab) => tab.stateId === value);\n }\n\n ngAfterContentInit() {\n this.controller?.onTabContainerChanges();\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.setCurrent());\n\n this.tabsList.changes\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.controller?.onTabChanges();\n this.setCurrent();\n this.cd.markForCheck();\n });\n\n if (this.stateId === null && this.controller) {\n const id = this.controller.getTabContainerIndex(this);\n this.stateId = `tab-container-${id}`;\n }\n }\n\n getState(): RdtTabContainerState {\n return {\n id: this.stateId,\n value: this.value,\n tabStates: this.tabsList.map((tab) => tab.getState()),\n };\n }\n\n applyState(state: RdtTabContainerState) {\n this.value = state.value;\n this.scrollCurrentButtonIntoView();\n\n const states: (RdtTabState | null)[] = [...state.tabStates];\n const tabs: (RdtTabComponent | null)[] = this.tabsList.toArray();\n const minLen = Math.min(states.length, tabs.length);\n\n for (let i = 0; i < minLen; i++) {\n if (tabs[i]!.stateId === states[i]!.id) {\n tabs[i]!.applyState(states[i]!);\n tabs[i] = states[i] = null;\n }\n }\n tabs.forEach((tab, tabI) => {\n if (!tab) {\n return;\n }\n for (let offset = 0; offset < states.length; offset++) {\n const prev = tabI - offset;\n const next = tabI + offset;\n if (prev > 0 && states[prev]?.id === tab.stateId) {\n tab.applyState(states[prev]!);\n states[prev] = null;\n return;\n } else if (next < states.length && states[next]?.id === tab.stateId) {\n tab.applyState(states[next]!);\n states[next] = null;\n return;\n }\n }\n });\n }\n\n scrollIntoView() {\n this.elRef?.nativeElement?.scrollIntoView({ behavior: 'smooth' });\n }\n\n async activateTab(value: string) {\n const nextTab = this.getTabByValue(value);\n\n const can = await firstValueFrom(\n canTransition$(this.activeTab?.contDir, nextTab?.contDir)\n );\n if (can) {\n this.value = value;\n this.valueChange.emit(value);\n }\n }\n\n scrollCurrentButtonIntoView() {\n if (!this.tabsList || !this.tabHeaderButtons) {\n return;\n }\n const tabIndex = this.tabsList\n .toArray()\n .findIndex((tab) => tab.stateId === this.value);\n const buttonRef = this.tabHeaderButtons.get(tabIndex);\n if (buttonRef) {\n RdtHTMLUtils.scrollIntoViewHorizontallyWithinParent(\n buttonRef.nativeElement\n );\n }\n }\n\n @HostListener('click', ['$event'])\n private onClick(event: PointerEvent) {\n this.controller?.activateTabContainerFromClick(this, event.timeStamp);\n }\n\n private setCurrent() {\n if (!this.tabsList) {\n return;\n }\n if (this.value == undefined) {\n const firstEnabled = this.getFirstEnabledTab();\n if (firstEnabled) {\n this.value = firstEnabled.stateId;\n } else {\n return;\n }\n }\n\n const found = this.tabsList.find((tab) => tab.stateId === this.value);\n if (!found) {\n const first = this.getFirstEnabledTab();\n if (first) {\n this.activateTab(first.stateId);\n return;\n } else {\n console.error(\n 'Active tab not found.',\n this.tabsList.toArray(),\n this.value\n );\n return;\n }\n }\n this.setTab(found);\n }\n\n private setTab(tab: RdtTabComponent) {\n if (this.currentTab !== tab) {\n this.solidifyTabContentSize();\n this.currentTab = tab;\n this.currentTemplate = tab.templateRef;\n this.cd.markForCheck();\n //tab.onViewWillEnter();\n }\n\n if (this.formAutofocus && tab.formAutofocus) {\n // Wait until template is attached to DOM\n timer(0)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n takeUntilDestroyed(tab.destroyRef)\n )\n .subscribe(() => tab.focusForm());\n }\n\n setTimeout(() => this.releaseTabContentSize());\n }\n\n // Swapping template in template outlet will cause large css recalc\n // fix size to previous tab and in case they are the same size\n // the recalc isn't noticable\n private solidifyTabContentSize() {\n const el = this.tabContent.nativeElement;\n const bb = el.getBoundingClientRect();\n this.renderer.setStyle(el, 'width', bb.width + 'px');\n this.renderer.setStyle(el, 'height', bb.height + 'px');\n }\n\n private releaseTabContentSize() {\n const el = this.tabContent.nativeElement;\n this.renderer.removeStyle(el, 'width');\n this.renderer.removeStyle(el, 'height');\n }\n\n private getFirstEnabledTab() {\n return this.tabsList.find((t) => !t.disabled);\n }\n}\n","<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\n <button\n *ngFor=\"let tab of tabsList\"\n #headerButton\n class=\"px-2 py-1 tab-header-button\"\n (click)=\"activateTab(tab.stateId)\"\n [class.active]=\"value === tab.stateId\"\n [disabled]=\"tab.disabled\"\n [hidden]=\"!tab.visible\"\n role=\"tab\"\n [attr.aria-selected]=\"value === tab.stateId\"\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\n [id]=\"'tab-' + tab.stateId\"\n [class]=\"tab.buttonClass\"\n type=\"button\"\n >\n {{ tab.label }}\n </button>\n</div>\n<div\n class=\"tab-content\"\n role=\"tabpanel\"\n [id]=\"'panel-' + value\"\n [attr.aria-labelledby]=\"'tab-' + value\"\n #tabContent\n>\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\n</div>\n","export interface RdtTabContainerState {\n id: any;\n value: any;\n tabStates: RdtTabState[];\n}\n\nexport interface RdtTabState {\n id: any;\n containerStates: RdtTabContainerState[];\n}\n\nexport enum RdtTabMode {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { RdtTabContainerComponent } from './components/tab-container/rdt-tab-container.component';\nimport { RdtTabComponent } from './components/tab/rdt-tab.component';\nimport { RdtDestroyInactiveDirective } from './directives/rdt-destroy-inactive.directive';\nimport { RdtTabControllerDirective } from './directives/rdt-tab-controller.directive';\n\n@NgModule({\n declarations: [\n RdtTabComponent,\n RdtTabContainerComponent,\n RdtTabControllerDirective,\n RdtDestroyInactiveDirective,\n ],\n exports: [\n RdtTabComponent,\n RdtTabContainerComponent,\n RdtTabControllerDirective,\n RdtDestroyInactiveDirective,\n ],\n imports: [CommonModule, TooltipModule],\n})\nexport class RdtTabsModule {}\n","import { RdtShortcut } from '@ngrdt/shortcuts';\nimport { RdtTabControllerDirective } from '../directives/rdt-tab-controller.directive';\nimport { RdtTabsShortcutStrategy } from './rdt-tabs-shortcut-strategy';\n\nexport interface StaticRdtTabsConfig {\n shortcuts: Map<RdtShortcut, string>;\n}\n\nexport class StaticRdtTabsShortcutStrategy implements RdtTabsShortcutStrategy {\n constructor(private config: StaticRdtTabsConfig) {}\n\n updateShortcuts(): RdtShortcut[] {\n return Array.from(this.config.shortcuts.keys());\n }\n\n onShortcut(shortcut: RdtShortcut, ctrl: RdtTabControllerDirective): void {\n const value = this.config.shortcuts.get(shortcut)!;\n const tab = ctrl.getTabByValue(value);\n if (tab) {\n ctrl.activateTab(tab);\n ctrl.activateTabContainer(tab.tabContainer);\n } else {\n console.warn(\n `Registered shortcut has been detected,\n but there is no tab with appropriate value.\n Shortcut: ${shortcut}, value: ${value}`\n );\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngrdt-tabs.mjs","sources":["../../../../@ngrdt/tabs/src/lib/directives/rdt-destroy-inactive.directive.ts","../../../../@ngrdt/tabs/src/lib/components/tab/rdt-tab.component.ts","../../../../@ngrdt/tabs/src/lib/components/tab/rdt-tab.component.html","../../../../@ngrdt/tabs/src/lib/strategies/rdt-tabs-shortcut-strategy.ts","../../../../@ngrdt/tabs/src/lib/strategies/auto-rdt-tabs-shortcut-strategy.ts","../../../../@ngrdt/tabs/src/lib/directives/rdt-tab-controller.directive.ts","../../../../@ngrdt/tabs/src/lib/components/tab-container/rdt-tab-container.component.ts","../../../../@ngrdt/tabs/src/lib/components/tab-container/rdt-tab-container.component.html","../../../../@ngrdt/tabs/src/lib/rdt-tabs-models.ts","../../../../@ngrdt/tabs/src/lib/rdt-tabs.module.ts","../../../../@ngrdt/tabs/src/lib/strategies/static-rdt-tabs-shortcut-strategy.ts","../../../../@ngrdt/tabs/src/ngrdt-tabs.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rdtDestroyInactive]',\r\n})\r\nexport class RdtDestroyInactiveDirective {\r\n public readonly template = inject(TemplateRef);\r\n}\r\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n DestroyRef,\r\n inject,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n RDT_GUARDED_COMPONENT,\r\n RdtContainerDirective,\r\n RdtIsActive,\r\n} from '@ngrdt/core';\r\nimport { Nullable } from '@ngrdt/utils';\r\nimport { RdtDestroyInactiveDirective } from '../../directives/rdt-destroy-inactive.directive';\r\nimport { RdtTabContainerState, RdtTabState } from '../../rdt-tabs-models';\r\nimport { RdtTabContainerComponent } from '../tab-container/rdt-tab-container.component';\r\n\r\n@Component({\r\n selector: 'rdt-tab',\r\n templateUrl: './rdt-tab.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: RDT_GUARDED_COMPONENT,\r\n useExisting: RdtTabComponent,\r\n },\r\n ],\r\n hostDirectives: [RdtContainerDirective],\r\n})\r\nexport class RdtTabComponent implements OnChanges, OnInit, RdtIsActive {\r\n private readonly injector = inject(Injector);\r\n readonly destroyRef = inject(DestroyRef);\r\n\r\n private _contDir!: RdtContainerDirective;\r\n get contDir() {\r\n return this._contDir;\r\n }\r\n\r\n @Input()\r\n get stateId() {\r\n if (this._stateId === null) {\r\n if (this.label !== '') {\r\n this._stateId = this.label;\r\n } else {\r\n const index = this.tabContainer?.tabsList?.toArray().indexOf(this);\r\n this._stateId = `tab-${index}`;\r\n }\r\n }\r\n return this._stateId;\r\n }\r\n set stateId(value: string) {\r\n this._stateId = value;\r\n }\r\n private _stateId: string = null as unknown as string;\r\n\r\n @Input({ transform: booleanAttribute })\r\n disabled = false;\r\n\r\n @Input({ transform: booleanAttribute })\r\n visible = true;\r\n\r\n @Input({ required: true })\r\n label!: string;\r\n\r\n @Input({ transform: booleanAttribute })\r\n formAutofocus = true;\r\n\r\n @Input()\r\n buttonClass: Nullable<string> = null;\r\n\r\n @ViewChild(TemplateRef, { static: true })\r\n private readonly implicitContent!: TemplateRef<any>;\r\n\r\n @ContentChild(RdtDestroyInactiveDirective, {\r\n read: TemplateRef,\r\n static: true,\r\n })\r\n private readonly explicitContent!: TemplateRef<any>;\r\n\r\n get templateRef() {\r\n return this.explicitContent ?? this.implicitContent;\r\n }\r\n\r\n readonly tabContainer = inject(RdtTabContainerComponent);\r\n\r\n //get forms() {\r\n // return this.getChildrenByClass(RdtBaseFormComponent);\r\n //}\r\n\r\n get childContainers() {\r\n return this.contDir.getChildrenByClass(RdtTabContainerComponent);\r\n }\r\n\r\n rdtIsActive(): boolean {\r\n return (\r\n this.visible && !this.disabled && this.tabContainer.activeTab === this\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this._contDir = this.injector.get(RdtContainerDirective);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n 'label' in changes ||\r\n 'value' in changes ||\r\n 'visible' in changes ||\r\n 'stateId' in changes\r\n ) {\r\n this.tabContainer.cd.markForCheck();\r\n }\r\n }\r\n\r\n get isTopLevel() {\r\n return this.tabContainer.isTopLevel;\r\n }\r\n\r\n getState(): RdtTabState {\r\n return {\r\n id: this.stateId,\r\n containerStates: this.childContainers.map((cont) => cont.getState()),\r\n };\r\n }\r\n\r\n applyState(state: RdtTabState) {\r\n const states: (RdtTabContainerState | null)[] = [...state.containerStates];\r\n const conts: (RdtTabContainerComponent | null)[] = this.childContainers;\r\n const minLen = Math.min(states.length, conts.length);\r\n\r\n for (let i = 0; i < minLen; i++) {\r\n if (conts[i]!.stateId === states[i]!.id) {\r\n conts[i]!.applyState(states[i]!);\r\n conts[i] = states[i] = null;\r\n }\r\n }\r\n conts.forEach((cont, contI) => {\r\n if (!cont) {\r\n return;\r\n }\r\n for (let offset = 0; offset < states.length; offset++) {\r\n const prev = contI - offset;\r\n const next = contI + offset;\r\n if (prev > 0 && states[prev]?.id === cont.stateId) {\r\n cont.applyState(states[prev]!);\r\n states[prev] = null;\r\n return;\r\n } else if (next < states.length && states[next]?.id === cont.stateId) {\r\n cont.applyState(states[next]!);\r\n states[next] = null;\r\n return;\r\n }\r\n }\r\n });\r\n }\r\n\r\n focusForm() {\r\n //TODO: getRdtAutofocusable(this.forms)?.rdtFocus();\r\n }\r\n}\r\n","<ng-template>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { RdtShortcut } from '@ngrdt/shortcuts';\r\nimport { RdtTabControllerDirective } from '../directives/rdt-tab-controller.directive';\r\n\r\nexport abstract class RdtTabsShortcutStrategy {\r\n /**\r\n * Gets called onInit and whenever tabs are added/removed from Controller.\r\n * @param ctrl Controller using this strategy.\r\n * @returns List of shortcuts to register.\r\n */\r\n abstract updateShortcuts(ctrl: RdtTabControllerDirective): RdtShortcut[];\r\n /**\r\n * Gets called whenever hotkeys detects one of the registered shortcuts.\r\n * @param shortcut Registered shortcut.\r\n * @param ctrl Controller using this strategy.\r\n */\r\n abstract onShortcut(\r\n shortcut: RdtShortcut,\r\n ctrl: RdtTabControllerDirective\r\n ): void;\r\n}\r\n","import { RdtShortcut } from '@ngrdt/shortcuts';\r\nimport { RdtTabControllerDirective } from '../directives/rdt-tab-controller.directive';\r\nimport { RdtTabsShortcutStrategy } from './rdt-tabs-shortcut-strategy';\r\n\r\nconst TAB_BASE = 'alt';\r\nconst TAB_KEY_SETS = [\r\n ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],\r\n ['+', 'ě', 'š', 'č', 'ř', 'ž', 'ý', 'á', 'í', 'é'],\r\n];\r\nconst NEXT_CONTAINER = RdtShortcut.create('alt', 's');\r\nconst PREV_CONTAINER = RdtShortcut.create('alt', 'w');\r\nconst LEVEL_UP = RdtShortcut.create('ctrl', 'alt', 'up');\r\nconst LEVEL_DOWN = RdtShortcut.create('ctrl', 'alt', 'down');\r\nconst NEXT_TAB = RdtShortcut.create('ctrl', 'alt', 'right');\r\nconst PREV_TAB = RdtShortcut.create('ctrl', 'alt', 'left');\r\n\r\ninterface RdtShortcutActions {\r\n [key: string]: (ctrl: RdtTabControllerDirective) => boolean;\r\n}\r\n\r\nexport class AutoRdtTabsShortcutStrategy extends RdtTabsShortcutStrategy {\r\n override updateShortcuts(): RdtShortcut[] {\r\n return AutoRdtTabsShortcutStrategy.shortcuts;\r\n }\r\n\r\n override onShortcut(\r\n shortcut: RdtShortcut,\r\n ctrl: RdtTabControllerDirective\r\n ): void {\r\n const key = shortcut.lastKey;\r\n if (!key) {\r\n throw new Error('Key should not be undefined!');\r\n }\r\n const action = AutoRdtTabsShortcutStrategy.actions[key];\r\n if (!action) {\r\n throw new Error(`Unknown action for key ${key}`);\r\n }\r\n action(ctrl);\r\n }\r\n\r\n private static generateActions() {\r\n const actions: RdtShortcutActions = {\r\n [LEVEL_UP.lastKey]: (ctrl) => ctrl.goLevelUp(),\r\n [LEVEL_DOWN.lastKey]: (ctrl) => ctrl.goLevelDown(),\r\n [NEXT_CONTAINER.lastKey]: (ctrl) => ctrl.goToNextContainer(),\r\n [PREV_CONTAINER.lastKey]: (ctrl) => ctrl.goToPrevContainer(),\r\n [NEXT_TAB.lastKey]: (ctrl) => ctrl.goToNextTab(),\r\n [PREV_TAB.lastKey]: (ctrl) => ctrl.goToPrevTab(),\r\n };\r\n\r\n TAB_KEY_SETS.forEach((set) => {\r\n set.forEach((char, i) => {\r\n actions[char] = (ctrl) => ctrl.goToTabWithIndex(i);\r\n });\r\n });\r\n return actions;\r\n }\r\n\r\n private static generateShortcuts() {\r\n const shortcuts: RdtShortcut[] = [\r\n LEVEL_UP,\r\n LEVEL_DOWN,\r\n NEXT_CONTAINER,\r\n PREV_CONTAINER,\r\n NEXT_TAB,\r\n PREV_TAB,\r\n ];\r\n\r\n TAB_KEY_SETS.forEach((set) => {\r\n set.forEach((tabKey) => {\r\n shortcuts.push(RdtShortcut.create(TAB_BASE, tabKey));\r\n });\r\n });\r\n\r\n return shortcuts;\r\n }\r\n\r\n private static shortcuts: RdtShortcut[] =\r\n AutoRdtTabsShortcutStrategy.generateShortcuts();\r\n private static actions = AutoRdtTabsShortcutStrategy.generateActions();\r\n}\r\n","import {\r\n AfterContentInit,\r\n ContentChildren,\r\n DestroyRef,\r\n Directive,\r\n inject,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport {\r\n canTransition$,\r\n RDT_GUARDED_COMPONENT,\r\n RdtContainerDirective,\r\n} from '@ngrdt/core';\r\nimport { RdtShortcut, RdtShortcutService } from '@ngrdt/shortcuts';\r\nimport { firstValueFrom, Subscription, takeWhile } from 'rxjs';\r\nimport { RdtTabContainerComponent } from '../components/tab-container/rdt-tab-container.component';\r\nimport { RdtTabComponent } from '../components/tab/rdt-tab.component';\r\nimport { AutoRdtTabsShortcutStrategy } from '../strategies/auto-rdt-tabs-shortcut-strategy';\r\nimport { RdtTabsShortcutStrategy } from '../strategies/rdt-tabs-shortcut-strategy';\r\n\r\n@Directive({\r\n selector: '[rdtTabController]',\r\n providers: [\r\n {\r\n provide: RDT_GUARDED_COMPONENT,\r\n useExisting: RdtTabControllerDirective,\r\n },\r\n ],\r\n hostDirectives: [RdtContainerDirective],\r\n})\r\nexport class RdtTabControllerDirective\r\n implements OnInit, AfterContentInit, OnDestroy\r\n{\r\n private readonly destroyRef = inject(DestroyRef);\r\n private readonly injector = inject(Injector);\r\n private readonly shortcutService = inject(RdtShortcutService);\r\n private shortcutSub = new Subscription();\r\n\r\n // String value lets you use the directive without param.\r\n @Input()\r\n set rdtTabController(value: RdtTabsShortcutStrategy | string | null) {\r\n if (value && typeof value !== 'string') {\r\n this._strategy = value;\r\n this.updateShortcuts();\r\n }\r\n }\r\n\r\n protected get tabContainers() {\r\n return this.containerDirective\r\n .getChildrenRecursive()\r\n .filter(\r\n (ch) => ch instanceof RdtTabContainerComponent\r\n ) as unknown as RdtTabContainerComponent[];\r\n }\r\n protected get tabs() {\r\n return this.containerDirective\r\n .getChildrenRecursive()\r\n .filter(\r\n (ch) => ch instanceof RdtTabComponent\r\n ) as unknown as RdtTabComponent[];\r\n }\r\n\r\n @ContentChildren(RdtTabControllerDirective, { descendants: true })\r\n protected childControllers!: QueryList<RdtTabControllerDirective>;\r\n\r\n get strategy() {\r\n return this._strategy;\r\n }\r\n private _strategy: RdtTabsShortcutStrategy =\r\n new AutoRdtTabsShortcutStrategy();\r\n\r\n private _lastActiveTabContainer: {\r\n timestamp: number | null;\r\n container: RdtTabContainerComponent;\r\n } | null = null;\r\n\r\n private _contentWasInit = false;\r\n\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n private _disabled = false;\r\n\r\n get shortcuts() {\r\n return this._shortcuts;\r\n }\r\n set shortcuts(value: RdtShortcut[]) {\r\n const oldSet = new Set<string>(this._shortcuts.map((s) => s.hotkeysValue));\r\n this._shortcuts = value;\r\n\r\n if (\r\n oldSet.size !== value.length ||\r\n value.some((s) => !oldSet.has(s.hotkeysValue))\r\n ) {\r\n this.bindAll();\r\n }\r\n }\r\n private _shortcuts: RdtShortcut[] = [];\r\n\r\n get activeContainer() {\r\n return this._lastActiveTabContainer?.container;\r\n }\r\n\r\n protected containerDirective!: RdtContainerDirective;\r\n\r\n ngOnInit() {\r\n this.containerDirective = this.injector.get(\r\n RdtContainerDirective,\r\n undefined,\r\n {\r\n self: true,\r\n }\r\n );\r\n this.updateShortcuts();\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.setDefaultActive();\r\n this.disableSelfWhenChildCtrlExists();\r\n this._contentWasInit = true;\r\n if (this.tabs.length > 0) {\r\n this.onTabChanges();\r\n }\r\n if (this.tabContainers.length > 0) {\r\n this.onTabContainerChanges();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unbindAll();\r\n this._shortcuts.length = 0;\r\n }\r\n\r\n getTabContainerIndex(cont: RdtTabContainerComponent): number {\r\n const level = this.getSameLevelContainers(cont);\r\n return level.indexOf(cont);\r\n }\r\n\r\n /**\r\n * Activates first parent container of current container\r\n * that is not disabled and has any non disabled tabs.\r\n */\r\n goLevelUp(): boolean {\r\n let cont = this.activeContainer;\r\n while (cont) {\r\n cont = cont.parentTab?.tabContainer;\r\n if (cont && !cont.disabled && cont.hasNonDisabledTabs) {\r\n this.activateTabContainer(cont);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Activates first container under current tab which\r\n * is not disabled and has any non disabled tabs.\r\n */\r\n goLevelDown(): boolean {\r\n const cont = this.activeContainer;\r\n if (!cont || cont.disabled) {\r\n return false;\r\n }\r\n let tab = cont.tabsList.find((t) => t.stateId === cont.value);\r\n if (!tab || tab.disabled) {\r\n tab = cont.tabsList.find((t) => !t.disabled);\r\n }\r\n if (!tab) {\r\n return false;\r\n }\r\n const targetCont = tab.childContainers.find(\r\n (c) => !c.disabled && c.hasNonDisabledTabs\r\n );\r\n if (targetCont) {\r\n this.activateTabContainer(targetCont);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Activates next container on current level\r\n * (under parent container of currently active container).\r\n * Is cyclic.\r\n */\r\n goToNextContainer(): boolean {\r\n return this.goToAdjacentContainer(1);\r\n }\r\n\r\n /**\r\n * Activates previous container on current level\r\n * (under parent container of currently active container).\r\n * Is cyclic.\r\n */\r\n goToPrevContainer(): boolean {\r\n return this.goToAdjacentContainer(-1);\r\n }\r\n\r\n /**\r\n * Activates tab within active container at the index of argument.\r\n */\r\n goToTabWithIndex(index: number): boolean {\r\n const cont = this.activeContainer;\r\n if (!cont) {\r\n return false;\r\n }\r\n const tab = cont.tabsList.get(index);\r\n if (!tab) {\r\n return false;\r\n }\r\n this.activateTab(tab);\r\n return true;\r\n }\r\n\r\n /**\r\n * Activates next tab within active container. Is cyclic.\r\n */\r\n goToNextTab(): boolean {\r\n return this.goToAdjacentTab(1);\r\n }\r\n\r\n /**\r\n * Activates previous tab within active container. Is cyclic.\r\n */\r\n goToPrevTab(): boolean {\r\n return this.goToAdjacentTab(-1);\r\n }\r\n\r\n private goToAdjacentContainer(dir: -1 | 1) {\r\n const cont = this.activeContainer;\r\n if (!cont) {\r\n return false;\r\n }\r\n\r\n const level = this.getSameLevelContainers(cont);\r\n if (!level) {\r\n return false;\r\n }\r\n\r\n const currentIndex = level.indexOf(cont);\r\n if (currentIndex < 0) {\r\n throw new Error('Current container is not within its own level?');\r\n }\r\n for (\r\n let i = (currentIndex + dir + level.length) % level.length;\r\n i !== currentIndex;\r\n i = (i + dir + level.length) % level.length\r\n ) {\r\n const next = level[i];\r\n if (!next.disabled && next.hasNonDisabledTabs) {\r\n this.activateTabContainer(next);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private goToAdjacentTab(dir: -1 | 1) {\r\n const cont = this.activeContainer;\r\n if (!cont) {\r\n return false;\r\n }\r\n\r\n const tabs = cont.tabsList.toArray();\r\n const currentIndex = tabs.findIndex((tab) => tab.stateId === cont.value);\r\n if (currentIndex < 0) {\r\n throw new Error('Current tab is not found in its container?!');\r\n }\r\n\r\n for (\r\n let i = (currentIndex + dir + tabs.length) % tabs.length;\r\n i !== currentIndex;\r\n i = (i + dir + tabs.length) % tabs.length\r\n ) {\r\n const next = tabs[i];\r\n if (!next.disabled) {\r\n this.activateTab(next);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private getSameLevelContainers(cont: RdtTabContainerComponent) {\r\n if (cont.parentTab) {\r\n return cont.parentTab.childContainers;\r\n } else {\r\n return this.tabContainers.filter((cont) => cont.isTopLevel);\r\n }\r\n }\r\n\r\n getTabByValue(value: string) {\r\n for (const container of this.tabContainers) {\r\n const tab = container.tabsList.find((ch) => ch.stateId === value);\r\n if (tab) {\r\n return tab;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n activateTabContainer(tabs: RdtTabContainerComponent, scrollIntoView = true) {\r\n if (this._lastActiveTabContainer) {\r\n this._lastActiveTabContainer.container.active = false;\r\n }\r\n\r\n tabs.active = true;\r\n if (scrollIntoView) {\r\n tabs.scrollIntoView();\r\n }\r\n\r\n this._lastActiveTabContainer = {\r\n container: tabs,\r\n timestamp: null,\r\n };\r\n }\r\n\r\n activateTabContainerFromClick(\r\n tabs: RdtTabContainerComponent,\r\n timestamp: number\r\n ) {\r\n if (this._lastActiveTabContainer) {\r\n if (\r\n this._lastActiveTabContainer.timestamp !== null &&\r\n this._lastActiveTabContainer.timestamp >= timestamp\r\n ) {\r\n return;\r\n }\r\n\r\n this._lastActiveTabContainer.container.active = false;\r\n }\r\n\r\n tabs.active = true;\r\n\r\n this._lastActiveTabContainer = {\r\n container: tabs,\r\n timestamp,\r\n };\r\n }\r\n\r\n async activateTab(tab: RdtTabComponent) {\r\n if (!this.canActivateTab(tab)) {\r\n console.warn('Trying to activate disabled tab.');\r\n return;\r\n }\r\n\r\n const formsCheck = await this.canActivateTabForms(tab);\r\n if (!formsCheck) {\r\n console.warn(\r\n 'Trying to activate tab while current tab has unsaved forms'\r\n );\r\n return;\r\n }\r\n\r\n let current: RdtTabComponent | null = tab;\r\n\r\n do {\r\n const container: RdtTabContainerComponent = current!.tabContainer;\r\n container.value = current!.stateId;\r\n current = container.parentTab;\r\n } while (current !== null);\r\n }\r\n\r\n canActivateTab(tab: RdtTabComponent) {\r\n let current: RdtTabComponent | null = tab;\r\n\r\n do {\r\n const container: RdtTabContainerComponent = current.tabContainer;\r\n if (current.disabled || container.disabled) {\r\n return false;\r\n }\r\n current = container.parentTab;\r\n } while (current !== null);\r\n\r\n return true;\r\n }\r\n\r\n async canActivateTabForms(tab: RdtTabComponent) {\r\n const container = tab.tabContainer;\r\n return firstValueFrom(\r\n canTransition$(container.activeTab?.contDir, tab?.contDir)\r\n );\r\n }\r\n\r\n onTabChanges() {\r\n this.updateShortcuts();\r\n }\r\n\r\n onTabContainerChanges() {\r\n this.setDefaultActiveWhenAvailable();\r\n }\r\n\r\n private disableSelfWhenChildCtrlExists() {\r\n this.childControllers.changes\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe((val: QueryList<RdtTabControllerDirective>) => {\r\n this._disabled = val.length > 0;\r\n\r\n if (this._disabled) {\r\n this.unbindAll();\r\n } else {\r\n this.bindAll();\r\n }\r\n });\r\n }\r\n\r\n private setDefaultActive() {\r\n if (this.tabContainers) {\r\n const defaultCont = this.tabContainers.find(this.canContainerBeDefault);\r\n if (defaultCont) {\r\n this.activateTabContainer(defaultCont, false);\r\n }\r\n }\r\n }\r\n\r\n private setDefaultActiveWhenAvailable() {\r\n const active = this.activeContainer;\r\n if (active && this.tabContainers.some((cont) => cont === active)) {\r\n return;\r\n }\r\n const newDefault = this.tabContainers.find(this.canContainerBeDefault);\r\n if (newDefault) {\r\n this.activateTabContainer(newDefault, false);\r\n }\r\n }\r\n\r\n private canContainerBeDefault(c: RdtTabContainerComponent) {\r\n return c.isTopLevel && !c.disabled && c.hasNonDisabledTabs;\r\n }\r\n\r\n private updateShortcuts() {\r\n this.shortcuts = this._strategy.updateShortcuts(this);\r\n }\r\n\r\n private bindAll() {\r\n this.shortcutSub.unsubscribe();\r\n if (!this._disabled) {\r\n this.shortcutSub = this.shortcutService\r\n .listen(this._shortcuts)\r\n .pipe(takeWhile(() => !this._disabled))\r\n .subscribe((event) => {\r\n this._strategy.onShortcut(event.shortcut, this);\r\n });\r\n }\r\n }\r\n\r\n private unbindAll() {\r\n this.shortcutSub.unsubscribe();\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n DestroyRef,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n inject,\r\n Input,\r\n Output,\r\n QueryList,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n ViewChildren,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport {\r\n canTransition$,\r\n RDT_GUARDED_COMPONENT,\r\n RdtChildDirective,\r\n} from '@ngrdt/core';\r\nimport { RdtHTMLUtils } from '@ngrdt/utils';\r\nimport { firstValueFrom, timer } from 'rxjs';\r\nimport { RdtTabControllerDirective } from '../../directives/rdt-tab-controller.directive';\r\nimport { RdtTabContainerState, RdtTabState } from '../../rdt-tabs-models';\r\nimport { RdtTabComponent } from '../tab/rdt-tab.component';\r\n\r\n@Component({\r\n selector: 'rdt-tab-container',\r\n templateUrl: './rdt-tab-container.component.html',\r\n styleUrls: ['./rdt-tab-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: RDT_GUARDED_COMPONENT,\r\n useExisting: RdtTabContainerComponent,\r\n },\r\n ],\r\n hostDirectives: [RdtChildDirective],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class RdtTabContainerComponent implements AfterContentInit {\r\n readonly destroyRef = inject(DestroyRef);\r\n\r\n @Input()\r\n stateId: any = null;\r\n\r\n @Input()\r\n set value(val: string) {\r\n if (this.activeTab && this.activeTab.stateId !== val) {\r\n // TODO\r\n //this.activeTab.onViewWillLeave();\r\n }\r\n this._value = val;\r\n this.setCurrent();\r\n }\r\n get value() {\r\n return this._value;\r\n }\r\n private _value!: string;\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Input()\r\n formAutofocus = true;\r\n\r\n @Input()\r\n panelPosition: 'left' | 'right' | 'top' | 'bottom' = 'top';\r\n\r\n @Output()\r\n valueChange = new EventEmitter();\r\n\r\n @ContentChildren(RdtTabComponent)\r\n tabsList!: QueryList<RdtTabComponent>;\r\n\r\n @ViewChildren('headerButton')\r\n tabHeaderButtons?: QueryList<ElementRef<HTMLElement>>;\r\n\r\n @ViewChild('tabContent', { static: true })\r\n tabContent!: ElementRef<HTMLElement>;\r\n\r\n @HostBinding('class.active')\r\n private _active = false;\r\n get active() {\r\n return this._active;\r\n }\r\n set active(value: boolean) {\r\n this._active = value;\r\n this.cd.markForCheck();\r\n }\r\n\r\n get isTopLevel(): boolean {\r\n return !this.parentTab;\r\n }\r\n\r\n readonly parentTab = inject(RdtTabComponent, { optional: true });\r\n readonly controller = inject(RdtTabControllerDirective, {\r\n optional: true,\r\n });\r\n readonly cd = inject(ChangeDetectorRef);\r\n readonly elRef = inject(ElementRef);\r\n protected readonly renderer = inject(Renderer2);\r\n\r\n protected currentTemplate: TemplateRef<any> | null = null;\r\n protected currentTab: RdtTabComponent | null = null;\r\n\r\n @HostBinding('class')\r\n get classes() {\r\n return `dp3-tab-container panel-${this.panelPosition}`;\r\n }\r\n\r\n @HostBinding('class.panel-horizontal')\r\n get isHorizontal() {\r\n return this.panelPosition === 'top' || this.panelPosition === 'bottom';\r\n }\r\n\r\n @HostBinding('class.panel-vertical')\r\n get isVertical() {\r\n return !this.isHorizontal;\r\n }\r\n\r\n @HostBinding('attr.role')\r\n private attrRole = 'tablist';\r\n\r\n get hasNonDisabledTabs() {\r\n return this.tabsList.some((tab) => !tab.disabled);\r\n }\r\n\r\n get activeTab() {\r\n return this.getTabByValue(this.value);\r\n }\r\n\r\n getTabByValue(value: string) {\r\n return this.tabsList?.find((tab) => tab.stateId === value);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.controller?.onTabContainerChanges();\r\n timer(0)\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => this.setCurrent());\r\n\r\n this.tabsList.changes\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => {\r\n this.controller?.onTabChanges();\r\n this.setCurrent();\r\n this.cd.markForCheck();\r\n });\r\n\r\n if (this.stateId === null && this.controller) {\r\n const id = this.controller.getTabContainerIndex(this);\r\n this.stateId = `tab-container-${id}`;\r\n }\r\n }\r\n\r\n getState(): RdtTabContainerState {\r\n return {\r\n id: this.stateId,\r\n value: this.value,\r\n tabStates: this.tabsList.map((tab) => tab.getState()),\r\n };\r\n }\r\n\r\n applyState(state: RdtTabContainerState) {\r\n this.value = state.value;\r\n this.scrollCurrentButtonIntoView();\r\n\r\n const states: (RdtTabState | null)[] = [...state.tabStates];\r\n const tabs: (RdtTabComponent | null)[] = this.tabsList.toArray();\r\n const minLen = Math.min(states.length, tabs.length);\r\n\r\n for (let i = 0; i < minLen; i++) {\r\n if (tabs[i]!.stateId === states[i]!.id) {\r\n tabs[i]!.applyState(states[i]!);\r\n tabs[i] = states[i] = null;\r\n }\r\n }\r\n tabs.forEach((tab, tabI) => {\r\n if (!tab) {\r\n return;\r\n }\r\n for (let offset = 0; offset < states.length; offset++) {\r\n const prev = tabI - offset;\r\n const next = tabI + offset;\r\n if (prev > 0 && states[prev]?.id === tab.stateId) {\r\n tab.applyState(states[prev]!);\r\n states[prev] = null;\r\n return;\r\n } else if (next < states.length && states[next]?.id === tab.stateId) {\r\n tab.applyState(states[next]!);\r\n states[next] = null;\r\n return;\r\n }\r\n }\r\n });\r\n }\r\n\r\n scrollIntoView() {\r\n this.elRef?.nativeElement?.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n\r\n async activateTab(value: string) {\r\n const nextTab = this.getTabByValue(value);\r\n\r\n const can = await firstValueFrom(\r\n canTransition$(this.activeTab?.contDir, nextTab?.contDir)\r\n );\r\n if (can) {\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n }\r\n }\r\n\r\n scrollCurrentButtonIntoView() {\r\n if (!this.tabsList || !this.tabHeaderButtons) {\r\n return;\r\n }\r\n const tabIndex = this.tabsList\r\n .toArray()\r\n .findIndex((tab) => tab.stateId === this.value);\r\n const buttonRef = this.tabHeaderButtons.get(tabIndex);\r\n if (buttonRef) {\r\n RdtHTMLUtils.scrollIntoViewHorizontallyWithinParent(\r\n buttonRef.nativeElement\r\n );\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick(event: PointerEvent) {\r\n this.controller?.activateTabContainerFromClick(this, event.timeStamp);\r\n }\r\n\r\n private setCurrent() {\r\n if (!this.tabsList) {\r\n return;\r\n }\r\n if (this.value == undefined) {\r\n const firstEnabled = this.getFirstEnabledTab();\r\n if (firstEnabled) {\r\n this.value = firstEnabled.stateId;\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n const found = this.tabsList.find((tab) => tab.stateId === this.value);\r\n if (!found) {\r\n const first = this.getFirstEnabledTab();\r\n if (first) {\r\n this.activateTab(first.stateId);\r\n return;\r\n } else {\r\n console.error(\r\n 'Active tab not found.',\r\n this.tabsList.toArray(),\r\n this.value\r\n );\r\n return;\r\n }\r\n }\r\n this.setTab(found);\r\n }\r\n\r\n private setTab(tab: RdtTabComponent) {\r\n if (this.currentTab !== tab) {\r\n this.solidifyTabContentSize();\r\n this.currentTab = tab;\r\n this.currentTemplate = tab.templateRef;\r\n this.cd.markForCheck();\r\n //tab.onViewWillEnter();\r\n }\r\n\r\n if (this.formAutofocus && tab.formAutofocus) {\r\n // Wait until template is attached to DOM\r\n timer(0)\r\n .pipe(\r\n takeUntilDestroyed(this.destroyRef),\r\n takeUntilDestroyed(tab.destroyRef)\r\n )\r\n .subscribe(() => tab.focusForm());\r\n }\r\n\r\n setTimeout(() => this.releaseTabContentSize());\r\n }\r\n\r\n // Swapping template in template outlet will cause large css recalc\r\n // fix size to previous tab and in case they are the same size\r\n // the recalc isn't noticable\r\n private solidifyTabContentSize() {\r\n const el = this.tabContent.nativeElement;\r\n const bb = el.getBoundingClientRect();\r\n this.renderer.setStyle(el, 'width', bb.width + 'px');\r\n this.renderer.setStyle(el, 'height', bb.height + 'px');\r\n }\r\n\r\n private releaseTabContentSize() {\r\n const el = this.tabContent.nativeElement;\r\n this.renderer.removeStyle(el, 'width');\r\n this.renderer.removeStyle(el, 'height');\r\n }\r\n\r\n private getFirstEnabledTab() {\r\n return this.tabsList.find((t) => !t.disabled);\r\n }\r\n}\r\n","<div class=\"tab-header-panel\" *ngIf=\"tabsList\">\r\n <button\r\n *ngFor=\"let tab of tabsList\"\r\n #headerButton\r\n class=\"px-2 py-1 tab-header-button\"\r\n (click)=\"activateTab(tab.stateId)\"\r\n [class.active]=\"value === tab.stateId\"\r\n [disabled]=\"tab.disabled\"\r\n [hidden]=\"!tab.visible\"\r\n role=\"tab\"\r\n [attr.aria-selected]=\"value === tab.stateId\"\r\n [attr.aria-controls]=\"'panel-' + tab.stateId\"\r\n [attr.tabindex]=\"value === tab.stateId ? 0 : -1\"\r\n [id]=\"'tab-' + tab.stateId\"\r\n [class]=\"tab.buttonClass\"\r\n type=\"button\"\r\n >\r\n {{ tab.label }}\r\n </button>\r\n</div>\r\n<div\r\n class=\"tab-content\"\r\n role=\"tabpanel\"\r\n [id]=\"'panel-' + value\"\r\n [attr.aria-labelledby]=\"'tab-' + value\"\r\n #tabContent\r\n>\r\n <ng-template [ngTemplateOutlet]=\"currentTemplate\"></ng-template>\r\n</div>\r\n","export interface RdtTabContainerState {\r\n id: any;\r\n value: any;\r\n tabStates: RdtTabState[];\r\n}\r\n\r\nexport interface RdtTabState {\r\n id: any;\r\n containerStates: RdtTabContainerState[];\r\n}\r\n\r\nexport enum RdtTabMode {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RdtTabContainerComponent } from './components/tab-container/rdt-tab-container.component';\r\nimport { RdtTabComponent } from './components/tab/rdt-tab.component';\r\nimport { RdtDestroyInactiveDirective } from './directives/rdt-destroy-inactive.directive';\r\nimport { RdtTabControllerDirective } from './directives/rdt-tab-controller.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n RdtTabComponent,\r\n RdtTabContainerComponent,\r\n RdtTabControllerDirective,\r\n RdtDestroyInactiveDirective,\r\n ],\r\n exports: [\r\n RdtTabComponent,\r\n RdtTabContainerComponent,\r\n RdtTabControllerDirective,\r\n RdtDestroyInactiveDirective,\r\n ],\r\n imports: [CommonModule],\r\n})\r\nexport class RdtTabsModule {}\r\n","import { RdtShortcut } from '@ngrdt/shortcuts';\r\nimport { RdtTabControllerDirective } from '../directives/rdt-tab-controller.directive';\r\nimport { RdtTabsShortcutStrategy } from './rdt-tabs-shortcut-strategy';\r\n\r\nexport interface StaticRdtTabsConfig {\r\n shortcuts: Map<RdtShortcut, string>;\r\n}\r\n\r\nexport class StaticRdtTabsShortcutStrategy implements RdtTabsShortcutStrategy {\r\n constructor(private config: StaticRdtTabsConfig) {}\r\n\r\n updateShortcuts(): RdtShortcut[] {\r\n return Array.from(this.config.shortcuts.keys());\r\n }\r\n\r\n onShortcut(shortcut: RdtShortcut, ctrl: RdtTabControllerDirective): void {\r\n const value = this.config.shortcuts.get(shortcut)!;\r\n const tab = ctrl.getTabByValue(value);\r\n if (tab) {\r\n ctrl.activateTab(tab);\r\n ctrl.activateTabContainer(tab.tabContainer);\r\n } else {\r\n console.warn(\r\n `Registered shortcut has been detected,\r\n but there is no tab with appropriate value.\r\n Shortcut: ${shortcut}, value: ${value}`\r\n );\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/lib/rdt-tabs.module.d.ts
CHANGED
|
@@ -4,9 +4,8 @@ import * as i2 from "./components/tab-container/rdt-tab-container.component";
|
|
|
4
4
|
import * as i3 from "./directives/rdt-tab-controller.directive";
|
|
5
5
|
import * as i4 from "./directives/rdt-destroy-inactive.directive";
|
|
6
6
|
import * as i5 from "@angular/common";
|
|
7
|
-
import * as i6 from "primeng/tooltip";
|
|
8
7
|
export declare class RdtTabsModule {
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdtTabsModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<RdtTabsModule, [typeof i1.RdtTabComponent, typeof i2.RdtTabContainerComponent, typeof i3.RdtTabControllerDirective, typeof i4.RdtDestroyInactiveDirective], [typeof i5.CommonModule
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RdtTabsModule, [typeof i1.RdtTabComponent, typeof i2.RdtTabContainerComponent, typeof i3.RdtTabControllerDirective, typeof i4.RdtDestroyInactiveDirective], [typeof i5.CommonModule], [typeof i1.RdtTabComponent, typeof i2.RdtTabContainerComponent, typeof i3.RdtTabControllerDirective, typeof i4.RdtDestroyInactiveDirective]>;
|
|
11
10
|
static ɵinj: i0.ɵɵInjectorDeclaration<RdtTabsModule>;
|
|
12
11
|
}
|
package/package.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngrdt/tabs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "v0.0.17",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "
|
|
6
|
-
"@angular/core": "
|
|
7
|
-
"
|
|
8
|
-
"@ngrdt/
|
|
9
|
-
"
|
|
10
|
-
"@ngrdt/shortcuts": "0.0.
|
|
11
|
-
"primeng": "^17.18.11"
|
|
5
|
+
"@angular/common": ">=18.2.0",
|
|
6
|
+
"@angular/core": ">=18.2.0",
|
|
7
|
+
"rxjs": ">=7.0.0",
|
|
8
|
+
"@ngrdt/core": ">=0.0.6",
|
|
9
|
+
"@ngrdt/utils": ">=0.0.8",
|
|
10
|
+
"@ngrdt/shortcuts": ">=0.0.7"
|
|
12
11
|
},
|
|
13
12
|
"sideEffects": false,
|
|
14
13
|
"module": "fesm2022/ngrdt-tabs.mjs",
|