ngx-bootstrap 18.0.2 → 18.1.0
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 +1 -1
- package/accordion/accordion-group.component.d.ts +1 -1
- package/accordion/accordion.component.d.ts +1 -1
- package/accordion/accordion.module.d.ts +2 -5
- package/accordion/esm2022/accordion-group.component.mjs +8 -7
- package/accordion/esm2022/accordion.component.mjs +4 -3
- package/accordion/esm2022/accordion.module.mjs +6 -8
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs +12 -12
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -1
- package/alert/alert.component.d.ts +1 -1
- package/alert/alert.module.d.ts +2 -4
- package/alert/esm2022/alert.component.mjs +4 -4
- package/alert/esm2022/alert.module.mjs +6 -7
- package/alert/fesm2022/ngx-bootstrap-alert.mjs +8 -9
- package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -1
- package/buttons/button-checkbox.directive.d.ts +1 -1
- package/buttons/button-radio-group.directive.d.ts +1 -1
- package/buttons/button-radio.directive.d.ts +1 -1
- package/buttons/buttons.module.d.ts +2 -3
- package/buttons/esm2022/button-checkbox.directive.mjs +4 -3
- package/buttons/esm2022/button-radio-group.directive.mjs +4 -3
- package/buttons/esm2022/button-radio.directive.mjs +4 -3
- package/buttons/esm2022/buttons.module.mjs +5 -4
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs +13 -9
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -1
- package/carousel/carousel.component.d.ts +1 -1
- package/carousel/carousel.module.d.ts +2 -4
- package/carousel/esm2022/carousel.component.mjs +4 -5
- package/carousel/esm2022/carousel.module.mjs +6 -7
- package/carousel/esm2022/slide.component.mjs +3 -3
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs +10 -11
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -1
- package/carousel/slide.component.d.ts +1 -1
- package/chronos/esm2022/i18n/fr-ca.mjs +69 -0
- package/chronos/esm2022/public_api.mjs +2 -1
- package/chronos/fesm2022/ngx-bootstrap-chronos.mjs +70 -1
- package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -1
- package/chronos/i18n/fr-ca.d.ts +2 -0
- package/chronos/public_api.d.ts +1 -0
- package/collapse/collapse.directive.d.ts +1 -1
- package/collapse/collapse.module.d.ts +2 -3
- package/collapse/esm2022/collapse.directive.mjs +4 -3
- package/collapse/esm2022/collapse.module.mjs +5 -4
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +7 -5
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
- package/datepicker/bs-datepicker-inline.component.d.ts +1 -1
- package/datepicker/bs-datepicker-input.directive.d.ts +1 -1
- package/datepicker/bs-datepicker.component.d.ts +1 -1
- package/datepicker/bs-datepicker.module.d.ts +24 -25
- package/datepicker/bs-daterangepicker-inline.component.d.ts +1 -1
- package/datepicker/bs-daterangepicker-input.directive.d.ts +1 -1
- package/datepicker/bs-daterangepicker.component.d.ts +1 -1
- package/datepicker/esm2022/bs-datepicker-inline.component.mjs +5 -3
- package/datepicker/esm2022/bs-datepicker-input.directive.mjs +12 -3
- package/datepicker/esm2022/bs-datepicker.component.mjs +5 -3
- package/datepicker/esm2022/bs-datepicker.module.mjs +14 -28
- package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +9 -3
- package/datepicker/esm2022/bs-daterangepicker-input.directive.mjs +12 -3
- package/datepicker/esm2022/bs-daterangepicker.component.mjs +9 -3
- package/datepicker/esm2022/themes/bs/bs-calendar-layout.component.mjs +9 -7
- package/datepicker/esm2022/themes/bs/bs-current-date-view.component.mjs +4 -3
- package/datepicker/esm2022/themes/bs/bs-custom-dates-view.component.mjs +7 -5
- package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +13 -10
- package/datepicker/esm2022/themes/bs/bs-datepicker-day-decorator.directive.mjs +4 -3
- package/datepicker/esm2022/themes/bs/bs-datepicker-inline-container.component.mjs +11 -10
- package/datepicker/esm2022/themes/bs/bs-datepicker-navigation-view.component.mjs +7 -5
- package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +23 -10
- package/datepicker/esm2022/themes/bs/bs-daterangepicker-inline-container.component.mjs +11 -10
- package/datepicker/esm2022/themes/bs/bs-days-calendar-view.component.mjs +12 -9
- package/datepicker/esm2022/themes/bs/bs-months-calendar-view.component.mjs +9 -7
- package/datepicker/esm2022/themes/bs/bs-timepicker-view.component.mjs +4 -3
- package/datepicker/esm2022/themes/bs/bs-years-calendar-view.component.mjs +9 -7
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +436 -382
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-current-date-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +1 -1
- package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +1 -1
- package/dropdown/bs-dropdown-container.component.d.ts +1 -1
- package/dropdown/bs-dropdown-menu.directive.d.ts +1 -1
- package/dropdown/bs-dropdown-toggle.directive.d.ts +1 -1
- package/dropdown/bs-dropdown.directive.d.ts +1 -1
- package/dropdown/bs-dropdown.module.d.ts +6 -8
- package/dropdown/esm2022/bs-dropdown-container.component.mjs +8 -5
- package/dropdown/esm2022/bs-dropdown-menu.directive.mjs +4 -3
- package/dropdown/esm2022/bs-dropdown-toggle.directive.mjs +4 -3
- package/dropdown/esm2022/bs-dropdown.directive.mjs +4 -3
- package/dropdown/esm2022/bs-dropdown.module.mjs +11 -22
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +26 -29
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/focus-trap/esm2022/focus-trap.mjs +15 -3
- package/focus-trap/esm2022/focus-trap.module.mjs +5 -15
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs +63 -60
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -1
- package/focus-trap/focus-trap.d.ts +1 -1
- package/focus-trap/focus-trap.module.d.ts +4 -5
- package/locale/esm2022/public_api.mjs +2 -1
- package/locale/fesm2022/ngx-bootstrap-locale.mjs +1 -1
- package/locale/public_api.d.ts +1 -0
- package/modal/bs-modal.service.d.ts +1 -0
- package/modal/esm2022/bs-modal.service.mjs +6 -1
- package/modal/esm2022/modal-backdrop.component.mjs +4 -3
- package/modal/esm2022/modal-container.component.mjs +9 -5
- package/modal/esm2022/modal.directive.mjs +4 -3
- package/modal/esm2022/modal.module.mjs +10 -8
- package/modal/fesm2022/ngx-bootstrap-modal.mjs +323 -312
- package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -1
- package/modal/modal-backdrop.component.d.ts +1 -1
- package/modal/modal-container.component.d.ts +1 -1
- package/modal/modal.directive.d.ts +1 -1
- package/modal/modal.module.d.ts +5 -7
- package/package.json +1 -1
- package/pagination/esm2022/pager.component.mjs +4 -4
- package/pagination/esm2022/pagination.component.mjs +4 -4
- package/pagination/esm2022/pagination.module.mjs +5 -5
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs +9 -10
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -1
- package/pagination/pager.component.d.ts +1 -1
- package/pagination/pagination.component.d.ts +1 -1
- package/pagination/pagination.module.d.ts +5 -6
- package/popover/esm2022/popover-container.component.mjs +4 -4
- package/popover/esm2022/popover.directive.mjs +8 -3
- package/popover/esm2022/popover.module.mjs +5 -10
- package/popover/fesm2022/ngx-bootstrap-popover.mjs +17 -16
- package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -1
- package/popover/popover-container.component.d.ts +1 -1
- package/popover/popover.directive.d.ts +1 -1
- package/popover/popover.module.d.ts +5 -6
- package/progressbar/bar.component.d.ts +1 -1
- package/progressbar/esm2022/bar.component.mjs +3 -3
- package/progressbar/esm2022/progressbar.component.mjs +5 -5
- package/progressbar/esm2022/progressbar.module.mjs +6 -7
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs +10 -11
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -1
- package/progressbar/progressbar.component.d.ts +1 -1
- package/progressbar/progressbar.module.d.ts +2 -4
- package/rating/esm2022/rating.component.mjs +4 -4
- package/rating/esm2022/rating.module.mjs +6 -10
- package/rating/fesm2022/ngx-bootstrap-rating.mjs +8 -12
- package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -1
- package/rating/rating.component.d.ts +1 -1
- package/rating/rating.module.d.ts +2 -4
- package/schematics/ng-add/index.js +5 -0
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/schematics/utils/index.js +4 -4
- package/schematics/utils/index.js.map +1 -1
- package/sortable/esm2022/sortable.component.mjs +11 -7
- package/sortable/esm2022/sortable.module.mjs +6 -8
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs +15 -12
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -1
- package/sortable/sortable.component.d.ts +1 -1
- package/sortable/sortable.module.d.ts +2 -4
- package/tabs/esm2022/ng-transclude.directive.mjs +4 -3
- package/tabs/esm2022/tab-heading.directive.mjs +6 -3
- package/tabs/esm2022/tab.directive.mjs +6 -3
- package/tabs/esm2022/tabs.module.mjs +7 -12
- package/tabs/esm2022/tabset.component.mjs +5 -5
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs +22 -21
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -1
- package/tabs/ng-transclude.directive.d.ts +1 -1
- package/tabs/tab-heading.directive.d.ts +1 -1
- package/tabs/tab.directive.d.ts +1 -1
- package/tabs/tabs.module.d.ts +7 -8
- package/tabs/tabset.component.d.ts +1 -1
- package/timepicker/esm2022/timepicker.component.mjs +4 -4
- package/timepicker/esm2022/timepicker.module.mjs +6 -13
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs +8 -13
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -1
- package/timepicker/timepicker.component.d.ts +1 -1
- package/timepicker/timepicker.module.d.ts +2 -4
- package/tooltip/esm2022/tooltip-container.component.mjs +3 -3
- package/tooltip/esm2022/tooltip.directive.mjs +9 -3
- package/tooltip/esm2022/tooltip.module.mjs +5 -10
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs +14 -11
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -1
- package/tooltip/tooltip-container.component.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/tooltip/tooltip.module.d.ts +5 -6
- package/typeahead/esm2022/typeahead-container.component.mjs +4 -4
- package/typeahead/esm2022/typeahead.directive.mjs +6 -3
- package/typeahead/esm2022/typeahead.module.mjs +5 -10
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +11 -13
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/typeahead/typeahead-container.component.d.ts +1 -1
- package/typeahead/typeahead.directive.d.ts +1 -1
- package/typeahead/typeahead.module.d.ts +5 -6
@@ -1,9 +1,9 @@
|
|
1
1
|
import { Component, HostBinding, Input, Renderer2, ElementRef } from '@angular/core';
|
2
2
|
import { TabsetConfig } from './tabset.config';
|
3
|
+
import { NgTranscludeDirective } from './ng-transclude.directive';
|
4
|
+
import { NgClass, NgFor, NgIf } from '@angular/common';
|
3
5
|
import * as i0 from "@angular/core";
|
4
6
|
import * as i1 from "./tabset.config";
|
5
|
-
import * as i2 from "@angular/common";
|
6
|
-
import * as i3 from "./ng-transclude.directive";
|
7
7
|
// todo: add active event to tab
|
8
8
|
// todo: fix? mixing static and dynamic tabs position tabs in order of creation
|
9
9
|
export class TabsetComponent {
|
@@ -198,11 +198,11 @@ export class TabsetComponent {
|
|
198
198
|
};
|
199
199
|
}
|
200
200
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabsetComponent, deps: [{ token: i1.TabsetConfig }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
201
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: TabsetComponent, selector: "tabset", inputs: { vertical: "vertical", justified: "justified", type: "type" }, host: { properties: { "class.tab-container": "this.clazz" } }, ngImport: i0, template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type:
|
201
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: TabsetComponent, isStandalone: true, selector: "tabset", inputs: { vertical: "vertical", justified: "justified", type: "type" }, host: { properties: { "class.tab-container": "this.clazz" } }, ngImport: i0, template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTranscludeDirective, selector: "[ngTransclude]", inputs: ["ngTransclude"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
202
202
|
}
|
203
203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabsetComponent, decorators: [{
|
204
204
|
type: Component,
|
205
|
-
args: [{ selector: 'tabset', template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"] }]
|
205
|
+
args: [{ selector: 'tabset', standalone: true, imports: [NgClass, NgFor, NgTranscludeDirective, NgIf], template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"] }]
|
206
206
|
}], ctorParameters: () => [{ type: i1.TabsetConfig }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { vertical: [{
|
207
207
|
type: Input
|
208
208
|
}], justified: [{
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
213
213
|
type: HostBinding,
|
214
214
|
args: ['class.tab-container']
|
215
215
|
}] } });
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YWJzL3RhYnNldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdGFicy90YWJzZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUMvQyxnQ0FBZ0M7QUFDaEMsK0VBQStFO0FBTS9FLE1BQU0sT0FBTyxlQUFlO0lBQzFCLDZDQUE2QztJQUM3QyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFB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Q0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVTLFdBQVc7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUM1QixhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDNUIsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQy9CLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDOzhHQXRQVSxlQUFlO2tHQUFmLGVBQWUscUxDWDVCLHUrQkFvQkE7OzJGRFRhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsUUFBUTtrSUFPZCxRQUFRO3NCQURYLEtBQUs7Z0JBV0YsU0FBUztzQkFEWixLQUFLO2dCQVdGLElBQUk7c0JBRFAsS0FBSztnQkFpQjhCLEtBQUs7c0JBQXhDLFdBQVc7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRhYkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJzZXRDb25maWcgfSBmcm9tICcuL3RhYnNldC5jb25maWcnO1xuLy8gdG9kbzogYWRkIGFjdGl2ZSBldmVudCB0byB0YWJcbi8vIHRvZG86IGZpeD8gbWl4aW5nIHN0YXRpYyBhbmQgZHluYW1pYyB0YWJzIHBvc2l0aW9uIHRhYnMgaW4gb3JkZXIgb2YgY3JlYXRpb25cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RhYnNldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJzLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJzZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKiogaWYgdHJ1ZSB0YWJzIHdpbGwgYmUgcGxhY2VkIHZlcnRpY2FsbHkgKi9cbiAgQElucHV0KClcbiAgZ2V0IHZlcnRpY2FsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbDtcbiAgfVxuICBzZXQgdmVydGljYWwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92ZXJ0aWNhbCA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcbiAgfVxuXG4gIC8qKiBpZiB0cnVlIHRhYnMgZmlsbCB0aGUgY29udGFpbmVyIGFuZCBoYXZlIGEgY29uc2lzdGVudCB3aWR0aCAqL1xuICBASW5wdXQoKVxuICBnZXQganVzdGlmaWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9qdXN0aWZpZWQ7XG4gIH1cbiAgc2V0IGp1c3RpZmllZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2p1c3RpZmllZCA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcbiAgfVxuXG4gIC8qKiBuYXZpZ2F0aW9uIGNvbnRleHQgY2xhc3M6ICd0YWJzJyBvciAncGlsbHMnICovXG4gIEBJbnB1dCgpXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cbiAgc2V0IHR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XG4gIH1cblxuICBnZXQgaXNLZXlzQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNLZXlzQWxsb3dlZDtcbiAgfVxuXG4gIHNldCBpc0tleXNBbGxvd2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNLZXlzQWxsb3dlZCA9IHZhbHVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWItY29udGFpbmVyJykgY2xhenogPSB0cnVlO1xuXG4gIHRhYnM6IFRhYkRpcmVjdGl2ZVtdID0gW107XG4gIGNsYXNzTWFwOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gIC8qKiBhcmlhIGxhYmVsIGZvciB0YWIgbGlzdCAqL1xuICBhcmlhTGFiZWwgPSAnVGFicyc7XG5cbiAgcHJvdGVjdGVkIGlzRGVzdHJveWVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfdmVydGljYWwgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9qdXN0aWZpZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF90eXBlID0gJ3RhYnMnO1xuICBwcm90ZWN0ZWQgX2lzS2V5c0FsbG93ZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZzogVGFic2V0Q29uZmlnLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBjb25maWcpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rlc3Ryb3llZCA9IHRydWU7XG4gIH1cblxuICBhZGRUYWIodGFiOiBUYWJEaXJlY3RpdmUpOiB2b2lkIHtcbiAgICB0aGlzLnRhYnMucHVzaCh0YWIpO1xuICAgIHRhYi5hY3RpdmUgPSB0aGlzLnRhYnMubGVuZ3RoID09PSAxICYmICF0YWIuYWN0aXZlO1xuICB9XG5cbiAgcmVtb3ZlVGFiKFxuICAgIHRhYjogVGFiRGlyZWN0aXZlLFxuICAgIG9wdGlvbnMgPSB7IHJlc2VsZWN0OiB0cnVlLCBlbWl0OiB0cnVlIH1cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYnMuaW5kZXhPZih0YWIpO1xuICAgIGlmIChpbmRleCA9PT0gLTEgfHwgdGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBTZWxlY3QgYSBuZXcgdGFiIGlmIHRoZSB0YWIgdG8gYmUgcmVtb3ZlZCBpcyBzZWxlY3RlZCBhbmQgbm90IGRlc3Ryb3llZFxuICAgIGlmIChvcHRpb25zLnJlc2VsZWN0ICYmIHRhYi5hY3RpdmUgJiYgdGhpcy5oYXNBdmFpbGFibGVUYWJzKGluZGV4KSkge1xuICAgICAgY29uc3QgbmV3QWN0aXZlSW5kZXggPSB0aGlzLmdldENsb3Nlc3RUYWJJbmRleChpbmRleCk7XG4gICAgICB0aGlzLnRhYnNbbmV3QWN0aXZlSW5kZXhdLmFjdGl2ZSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmVtaXQpIHtcbiAgICAgIHRhYi5yZW1vdmVkLmVtaXQodGFiKTtcbiAgICB9XG4gICAgdGhpcy50YWJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgaWYgKHRhYi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChcbiAgICAgICAgdGFiLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLFxuICAgICAgICB0YWIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICAga2V5TmF2QWN0aW9ucyhldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICghdGhpcy5pc0tleXNBbGxvd2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxpc3Q6IEhUTUxFbGVtZW50W10gPSBBcnJheS5mcm9tKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5uYXYtbGluaycpKTtcbiAgICAvLyBjb25zdCBhY3RpdmVFbExpc3QgPSBsaXN0LmZpbHRlcigoZWw6IEhUTUxFbGVtZW50KSA9PiAhZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKTtcbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTMgfHwgZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleUNvZGUgPT09IDMyIHx8IGV2ZW50LmtleSA9PT0gJ1NwYWNlJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRUYWIgPSBsaXN0WyhpbmRleCkgJSBsaXN0Lmxlbmd0aF07XG4gICAgICBjdXJyZW50VGFiLmNsaWNrKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMzkgfHwgZXZlbnQua2V5ID09PSAnUmlnaHRBcnJvdycpIHtcbiAgICAgIGxldCBuZXh0VGFiOiBIVE1MRWxlbWVudDtcbiAgICAgIGxldCBzaGlmdCA9IDE7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgbmV4dFRhYiA9IGxpc3RbKGluZGV4ICsgc2hpZnQpICUgbGlzdC5sZW5ndGhdO1xuXG4gICAgICAgIHNoaWZ0Kys7XG4gICAgICB9IHdoaWxlIChuZXh0VGFiLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSk7XG5cbiAgICAgIG5leHRUYWIuZm9jdXMoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAzNyB8fCBldmVudC5rZXkgPT09ICdMZWZ0QXJyb3cnKSB7XG4gICAgICBsZXQgcHJldmlvdXNUYWI6IEhUTUxFbGVtZW50O1xuICAgICAgbGV0IHNoaWZ0ID0gMTtcbiAgICAgIGxldCBpID0gaW5kZXg7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgaWYgKChpIC0gc2hpZnQpIDwgMCkge1xuICAgICAgICAgIGkgPSBsaXN0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgcHJldmlvdXNUYWIgPSBsaXN0W2ldO1xuICAgICAgICAgIHNoaWZ0ID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmV2aW91c1RhYiA9IGxpc3RbaSAtIHNoaWZ0XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNoaWZ0Kys7XG4gICAgICB9IHdoaWxlIChwcmV2aW91c1RhYi5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpO1xuXG4gICAgICBwcmV2aW91c1RhYi5mb2N1cygpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDM2IHx8IGV2ZW50LmtleSA9PT0gJ0hvbWUnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBsZXQgZmlyc3RUYWI6IEhUTUxFbGVtZW50O1xuICAgICAgbGV0IHNoaWZ0ID0gMDtcblxuICAgICAgZG8ge1xuICAgICAgICBmaXJzdFRhYiA9IGxpc3Rbc2hpZnQgJSBsaXN0Lmxlbmd0aF07XG5cbiAgICAgICAgc2hpZnQrKztcbiAgICAgIH0gd2hpbGUgKGZpcnN0VGFiLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSk7XG5cbiAgICAgIGZpcnN0VGFiLmZvY3VzKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMzUgfHwgZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgbGV0IGxhc3RUYWI6IEhUTUxFbGVtZW50O1xuICAgICAgbGV0IHNoaWZ0ID0gMTtcbiAgICAgIGxldCBpID0gaW5kZXg7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgaWYgKChpIC0gc2hpZnQpIDwgMCkge1xuICAgICAgICAgIGkgPSBsaXN0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgbGFzdFRhYiA9IGxpc3RbaV07XG4gICAgICAgICAgc2hpZnQgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxhc3RUYWIgPSBsaXN0W2kgLSBzaGlmdF07XG4gICAgICAgIH1cblxuICAgICAgICBzaGlmdCsrO1xuICAgICAgfSB3aGlsZSAobGFzdFRhYi5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpO1xuXG4gICAgICBsYXN0VGFiLmZvY3VzKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNDYgfHwgZXZlbnQua2V5ID09PSAnRGVsZXRlJykge1xuICAgICAgaWYgKHRoaXMudGFic1tpbmRleF0ucmVtb3ZhYmxlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlVGFiKHRoaXMudGFic1tpbmRleF0pO1xuXG4gICAgICAgIGlmIChsaXN0W2luZGV4ICsgMV0pIHtcbiAgICAgICAgICBsaXN0WyhpbmRleCArIDEpICUgbGlzdC5sZW5ndGhdLmZvY3VzKCk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdFtsaXN0Lmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgbGlzdFswXS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldENsb3Nlc3RUYWJJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWJzTGVuZ3RoID0gdGhpcy50YWJzLmxlbmd0aDtcbiAgICBpZiAoIXRhYnNMZW5ndGgpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBzdGVwID0gMTsgc3RlcCA8PSB0YWJzTGVuZ3RoOyBzdGVwICs9IDEpIHtcbiAgICAgIGNvbnN0IHByZXZJbmRleCA9IGluZGV4IC0gc3RlcDtcbiAgICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgc3RlcDtcbiAgICAgIGlmICh0aGlzLnRhYnNbcHJldkluZGV4XSAmJiAhdGhpcy50YWJzW3ByZXZJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuIHByZXZJbmRleDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRhYnNbbmV4dEluZGV4XSAmJiAhdGhpcy50YWJzW25leHRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuIG5leHRJbmRleDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzQXZhaWxhYmxlVGFicyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdGFic0xlbmd0aCA9IHRoaXMudGFicy5sZW5ndGg7XG4gICAgaWYgKCF0YWJzTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJzTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGlmICghdGhpcy50YWJzW2ldLmRpc2FibGVkICYmIGkgIT09IGluZGV4KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRDbGFzc01hcCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzTWFwID0ge1xuICAgICAgJ25hdi1zdGFja2VkJzogdGhpcy52ZXJ0aWNhbCxcbiAgICAgICdmbGV4LWNvbHVtbic6IHRoaXMudmVydGljYWwsXG4gICAgICAnbmF2LWp1c3RpZmllZCc6IHRoaXMuanVzdGlmaWVkLFxuICAgICAgW2BuYXYtJHt0aGlzLnR5cGV9YF06IHRydWVcbiAgICB9O1xuICB9XG59XG4iLCI8dWwgY2xhc3M9XCJuYXZcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiXG4gICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgcm9sZT1cInRhYmxpc3RcIj5cbiAgPGxpICpuZ0Zvcj1cImxldCB0YWJ6IG9mIHRhYnM7IGxldCBpID0gaW5kZXhcIiBbbmdDbGFzc109XCJbJ25hdi1pdGVtJywgdGFiei5jdXN0b21DbGFzcyB8fCAnJ11cIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ0YWJ6LmFjdGl2ZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJ0YWJ6LmRpc2FibGVkXCIgKGtleWRvd24pPVwia2V5TmF2QWN0aW9ucygkZXZlbnQsIGkpXCI+XG4gICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiBjbGFzcz1cIm5hdi1saW5rXCIgcm9sZT1cInRhYlwiXG4gICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJ0YWJ6LmlkID8gdGFiei5pZCA6ICcnXCJcbiAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIiEhdGFiei5hY3RpdmVcIlxuICAgICAgIFthdHRyLmlkXT1cInRhYnouaWQgPyB0YWJ6LmlkICsgJy1saW5rJyA6ICcnXCJcbiAgICAgICBbY2xhc3MuYWN0aXZlXT1cInRhYnouYWN0aXZlXCIgW2NsYXNzLmRpc2FibGVkXT1cInRhYnouZGlzYWJsZWRcIlxuICAgICAgIChjbGljayk9XCJ0YWJ6LmFjdGl2ZSA9IHRydWVcIj5cbiAgICAgIDxzcGFuIFtuZ1RyYW5zY2x1ZGVdPVwidGFiei5oZWFkaW5nUmVmXCI+e3sgdGFiei5oZWFkaW5nIH19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJ0YWJ6LnJlbW92YWJsZVwiIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgcmVtb3ZlVGFiKHRhYnopO1wiIGNsYXNzPVwiYnMtcmVtb3ZlLXRhYlwiPiAmIzEwMDYwOzwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvbGk+XG48L3VsPlxuPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YWJzL3RhYnNldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdGFicy90YWJzZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFDdkQsZ0NBQWdDO0FBQ2hDLCtFQUErRTtBQVEvRSxNQUFNLE9BQU8sZUFBZTtJQUMxQiw2Q0FBNkM7SUFDN0MsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0VBQWtFO0lBQ2xFLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQWdCRCxZQUNFLE1BQW9CLEVBQ1osUUFBbUIsRUFDbkIsVUFBc0I7UUFEdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBakJJLFVBQUssR0FBRyxJQUFJLENBQUM7UUFFakQsU0FBSSxHQUFtQixFQUFFLENBQUM7UUFDMUIsYUFBUSxHQUErQixFQUFFLENBQUM7UUFFMUMsOEJBQThCO1FBQzlCLGNBQVMsR0FBRyxNQUFNLENBQUM7UUFFVCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUNmLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBTzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFpQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDckQsQ0FBQztJQUVELFNBQVMsQ0FDUCxHQUFpQixFQUNqQixPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7UUFFeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBQ0QsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25FLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUN2QyxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FDN0IsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUMsYUFBYSxDQUFDLEtBQW9CLEVBQUUsS0FBYTtRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQWtCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRyw2RkFBNkY7UUFDN0YsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ25HLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0MsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRW5CLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3ZELElBQUksT0FBb0IsQ0FBQztZQUN6QixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFFZCxHQUFHLENBQUM7Z0JBQ0YsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTlDLEtBQUssRUFBRSxDQUFDO1lBQ1YsQ0FBQyxRQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBRWpELE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVoQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN0RCxJQUFJLFdBQXdCLENBQUM7WUFDN0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBRWQsR0FBRyxDQUFDO2dCQUNGLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3BCLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDcEIsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDWixDQUFDO3FCQUFNLENBQUM7b0JBQ04sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7Z0JBRUQsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDLFFBQVEsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFFckQsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXBCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2QixJQUFJLFFBQXFCLENBQUM7WUFDMUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBRWQsR0FBRyxDQUFDO2dCQUNGLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFckMsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDLFFBQVEsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFFbEQsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWpCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2hELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2QixJQUFJLE9BQW9CLENBQUM7WUFDekIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBRWQsR0FBRyxDQUFDO2dCQUNGLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3BCLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDcEIsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEIsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDWixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLENBQUM7Z0JBRUQsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDLFFBQVEsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFFakQsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWhCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ25ELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBRWpDLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUV4QyxPQUFPO2dCQUNULENBQUM7Z0JBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMxQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ1osQ0FBQztRQUVELEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDL0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMzRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDM0QsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQWE7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDNUIsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzVCLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMvQixDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUMzQixDQUFDO0lBQ0osQ0FBQzs4R0F0UFUsZUFBZTtrR0FBZixlQUFlLHlNQ2Y1Qix1K0JBb0JBLHlIRFBjLE9BQU8sb0ZBQUUsS0FBSyxtSEFBRSxxQkFBcUIscUZBQUUsSUFBSTs7MkZBRTVDLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksUUFBUSxjQUdOLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxDQUFDO2tJQUtwRCxRQUFRO3NCQURYLEtBQUs7Z0JBV0YsU0FBUztzQkFEWixLQUFLO2dCQVdGLElBQUk7c0JBRFAsS0FBSztnQkFpQjhCLEtBQUs7c0JBQXhDLFdBQVc7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRhYkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJzZXRDb25maWcgfSBmcm9tICcuL3RhYnNldC5jb25maWcnO1xuaW1wb3J0IHsgTmdUcmFuc2NsdWRlRGlyZWN0aXZlIH0gZnJvbSAnLi9uZy10cmFuc2NsdWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG4vLyB0b2RvOiBhZGQgYWN0aXZlIGV2ZW50IHRvIHRhYlxuLy8gdG9kbzogZml4PyBtaXhpbmcgc3RhdGljIGFuZCBkeW5hbWljIHRhYnMgcG9zaXRpb24gdGFicyBpbiBvcmRlciBvZiBjcmVhdGlvblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0YWJzZXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJzZXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYnMuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nRm9yLCBOZ1RyYW5zY2x1ZGVEaXJlY3RpdmUsIE5nSWZdXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKiBpZiB0cnVlIHRhYnMgd2lsbCBiZSBwbGFjZWQgdmVydGljYWxseSAqL1xuICBASW5wdXQoKVxuICBnZXQgdmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZlcnRpY2FsO1xuICB9XG4gIHNldCB2ZXJ0aWNhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3ZlcnRpY2FsID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xuICB9XG5cbiAgLyoqIGlmIHRydWUgdGFicyBmaWxsIHRoZSBjb250YWluZXIgYW5kIGhhdmUgYSBjb25zaXN0ZW50IHdpZHRoICovXG4gIEBJbnB1dCgpXG4gIGdldCBqdXN0aWZpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2p1c3RpZmllZDtcbiAgfVxuICBzZXQganVzdGlmaWVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fanVzdGlmaWVkID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xuICB9XG5cbiAgLyoqIG5hdmlnYXRpb24gY29udGV4dCBjbGFzczogJ3RhYnMnIG9yICdwaWxscycgKi9cbiAgQElucHV0KClcbiAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuICBzZXQgdHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcbiAgfVxuXG4gIGdldCBpc0tleXNBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0tleXNBbGxvd2VkO1xuICB9XG5cbiAgc2V0IGlzS2V5c0FsbG93ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0tleXNBbGxvd2VkID0gdmFsdWU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRhYi1jb250YWluZXInKSBjbGF6eiA9IHRydWU7XG5cbiAgdGFiczogVGFiRGlyZWN0aXZlW10gPSBbXTtcbiAgY2xhc3NNYXA6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgLyoqIGFyaWEgbGFiZWwgZm9yIHRhYiBsaXN0ICovXG4gIGFyaWFMYWJlbCA9ICdUYWJzJztcblxuICBwcm90ZWN0ZWQgaXNEZXN0cm95ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF92ZXJ0aWNhbCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX2p1c3RpZmllZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3R5cGUgPSAndGFicyc7XG4gIHByb3RlY3RlZCBfaXNLZXlzQWxsb3dlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29uZmlnOiBUYWJzZXRDb25maWcsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGNvbmZpZyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIGFkZFRhYih0YWI6IFRhYkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgIHRoaXMudGFicy5wdXNoKHRhYik7XG4gICAgdGFiLmFjdGl2ZSA9IHRoaXMudGFicy5sZW5ndGggPT09IDEgJiYgIXRhYi5hY3RpdmU7XG4gIH1cblxuICByZW1vdmVUYWIoXG4gICAgdGFiOiBUYWJEaXJlY3RpdmUsXG4gICAgb3B0aW9ucyA9IHsgcmVzZWxlY3Q6IHRydWUsIGVtaXQ6IHRydWUgfVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFicy5pbmRleE9mKHRhYik7XG4gICAgaWYgKGluZGV4ID09PSAtMSB8fCB0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFNlbGVjdCBhIG5ldyB0YWIgaWYgdGhlIHRhYiB0byBiZSByZW1vdmVkIGlzIHNlbGVjdGVkIGFuZCBub3QgZGVzdHJveWVkXG4gICAgaWYgKG9wdGlvbnMucmVzZWxlY3QgJiYgdGFiLmFjdGl2ZSAmJiB0aGlzLmhhc0F2YWlsYWJsZVRhYnMoaW5kZXgpKSB7XG4gICAgICBjb25zdCBuZXdBY3RpdmVJbmRleCA9IHRoaXMuZ2V0Q2xvc2VzdFRhYkluZGV4KGluZGV4KTtcbiAgICAgIHRoaXMudGFic1tuZXdBY3RpdmVJbmRleF0uYWN0aXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuZW1pdCkge1xuICAgICAgdGFiLnJlbW92ZWQuZW1pdCh0YWIpO1xuICAgIH1cbiAgICB0aGlzLnRhYnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICBpZiAodGFiLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKFxuICAgICAgICB0YWIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUsXG4gICAgICAgIHRhYi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgICBrZXlOYXZBY3Rpb25zKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLmlzS2V5c0FsbG93ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbGlzdDogSFRNTEVsZW1lbnRbXSA9IEFycmF5LmZyb20odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm5hdi1saW5rJykpO1xuICAgIC8vIGNvbnN0IGFjdGl2ZUVsTGlzdCA9IGxpc3QuZmlsdGVyKChlbDogSFRNTEVsZW1lbnQpID0+ICFlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpO1xuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMyB8fCBldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5Q29kZSA9PT0gMzIgfHwgZXZlbnQua2V5ID09PSAnU3BhY2UnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgY3VycmVudFRhYiA9IGxpc3RbKGluZGV4KSAlIGxpc3QubGVuZ3RoXTtcbiAgICAgIGN1cnJlbnRUYWIuY2xpY2soKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAzOSB8fCBldmVudC5rZXkgPT09ICdSaWdodEFycm93Jykge1xuICAgICAgbGV0IG5leHRUYWI6IEhUTUxFbGVtZW50O1xuICAgICAgbGV0IHNoaWZ0ID0gMTtcblxuICAgICAgZG8ge1xuICAgICAgICBuZXh0VGFiID0gbGlzdFsoaW5kZXggKyBzaGlmdCkgJSBsaXN0Lmxlbmd0aF07XG5cbiAgICAgICAgc2hpZnQrKztcbiAgICAgIH0gd2hpbGUgKG5leHRUYWIuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKTtcblxuICAgICAgbmV4dFRhYi5mb2N1cygpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDM3IHx8IGV2ZW50LmtleSA9PT0gJ0xlZnRBcnJvdycpIHtcbiAgICAgIGxldCBwcmV2aW91c1RhYjogSFRNTEVsZW1lbnQ7XG4gICAgICBsZXQgc2hpZnQgPSAxO1xuICAgICAgbGV0IGkgPSBpbmRleDtcblxuICAgICAgZG8ge1xuICAgICAgICBpZiAoKGkgLSBzaGlmdCkgPCAwKSB7XG4gICAgICAgICAgaSA9IGxpc3QubGVuZ3RoIC0gMTtcbiAgICAgICAgICBwcmV2aW91c1RhYiA9IGxpc3RbaV07XG4gICAgICAgICAgc2hpZnQgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzVGFiID0gbGlzdFtpIC0gc2hpZnRdO1xuICAgICAgICB9XG5cbiAgICAgICAgc2hpZnQrKztcbiAgICAgIH0gd2hpbGUgKHByZXZpb3VzVGFiLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSk7XG5cbiAgICAgIHByZXZpb3VzVGFiLmZvY3VzKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMzYgfHwgZXZlbnQua2V5ID09PSAnSG9tZScpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGxldCBmaXJzdFRhYjogSFRNTEVsZW1lbnQ7XG4gICAgICBsZXQgc2hpZnQgPSAwO1xuXG4gICAgICBkbyB7XG4gICAgICAgIGZpcnN0VGFiID0gbGlzdFtzaGlmdCAlIGxpc3QubGVuZ3RoXTtcblxuICAgICAgICBzaGlmdCsrO1xuICAgICAgfSB3aGlsZSAoZmlyc3RUYWIuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKTtcblxuICAgICAgZmlyc3RUYWIuZm9jdXMoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAzNSB8fCBldmVudC5rZXkgPT09ICdFbmQnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBsZXQgbGFzdFRhYjogSFRNTEVsZW1lbnQ7XG4gICAgICBsZXQgc2hpZnQgPSAxO1xuICAgICAgbGV0IGkgPSBpbmRleDtcblxuICAgICAgZG8ge1xuICAgICAgICBpZiAoKGkgLSBzaGlmdCkgPCAwKSB7XG4gICAgICAgICAgaSA9IGxpc3QubGVuZ3RoIC0gMTtcbiAgICAgICAgICBsYXN0VGFiID0gbGlzdFtpXTtcbiAgICAgICAgICBzaGlmdCA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGFzdFRhYiA9IGxpc3RbaSAtIHNoaWZ0XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNoaWZ0Kys7XG4gICAgICB9IHdoaWxlIChsYXN0VGFiLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSk7XG5cbiAgICAgIGxhc3RUYWIuZm9jdXMoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSA0NiB8fCBldmVudC5rZXkgPT09ICdEZWxldGUnKSB7XG4gICAgICBpZiAodGhpcy50YWJzW2luZGV4XS5yZW1vdmFibGUpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVUYWIodGhpcy50YWJzW2luZGV4XSk7XG5cbiAgICAgICAgaWYgKGxpc3RbaW5kZXggKyAxXSkge1xuICAgICAgICAgIGxpc3RbKGluZGV4ICsgMSkgJSBsaXN0Lmxlbmd0aF0uZm9jdXMoKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaXN0W2xpc3QubGVuZ3RoIC0gMV0pIHtcbiAgICAgICAgICBsaXN0WzBdLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q2xvc2VzdFRhYkluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHRhYnNMZW5ndGggPSB0aGlzLnRhYnMubGVuZ3RoO1xuICAgIGlmICghdGFic0xlbmd0aCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGZvciAobGV0IHN0ZXAgPSAxOyBzdGVwIDw9IHRhYnNMZW5ndGg7IHN0ZXAgKz0gMSkge1xuICAgICAgY29uc3QgcHJldkluZGV4ID0gaW5kZXggLSBzdGVwO1xuICAgICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggKyBzdGVwO1xuICAgICAgaWYgKHRoaXMudGFic1twcmV2SW5kZXhdICYmICF0aGlzLnRhYnNbcHJldkluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gcHJldkluZGV4O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudGFic1tuZXh0SW5kZXhdICYmICF0aGlzLnRhYnNbbmV4dEluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gbmV4dEluZGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNBdmFpbGFibGVUYWJzKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCB0YWJzTGVuZ3RoID0gdGhpcy50YWJzLmxlbmd0aDtcbiAgICBpZiAoIXRhYnNMZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnNMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgaWYgKCF0aGlzLnRhYnNbaV0uZGlzYWJsZWQgJiYgaSAhPT0gaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldENsYXNzTWFwKCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NNYXAgPSB7XG4gICAgICAnbmF2LXN0YWNrZWQnOiB0aGlzLnZlcnRpY2FsLFxuICAgICAgJ2ZsZXgtY29sdW1uJzogdGhpcy52ZXJ0aWNhbCxcbiAgICAgICduYXYtanVzdGlmaWVkJzogdGhpcy5qdXN0aWZpZWQsXG4gICAgICBbYG5hdi0ke3RoaXMudHlwZX1gXTogdHJ1ZVxuICAgIH07XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cIm5hdlwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICByb2xlPVwidGFibGlzdFwiPlxuICA8bGkgKm5nRm9yPVwibGV0IHRhYnogb2YgdGFiczsgbGV0IGkgPSBpbmRleFwiIFtuZ0NsYXNzXT1cIlsnbmF2LWl0ZW0nLCB0YWJ6LmN1c3RvbUNsYXNzIHx8ICcnXVwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInRhYnouYWN0aXZlXCIgW2NsYXNzLmRpc2FibGVkXT1cInRhYnouZGlzYWJsZWRcIiAoa2V5ZG93bik9XCJrZXlOYXZBY3Rpb25zKCRldmVudCwgaSlcIj5cbiAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIGNsYXNzPVwibmF2LWxpbmtcIiByb2xlPVwidGFiXCJcbiAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInRhYnouaWQgPyB0YWJ6LmlkIDogJydcIlxuICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiISF0YWJ6LmFjdGl2ZVwiXG4gICAgICAgW2F0dHIuaWRdPVwidGFiei5pZCA/IHRhYnouaWQgKyAnLWxpbmsnIDogJydcIlxuICAgICAgIFtjbGFzcy5hY3RpdmVdPVwidGFiei5hY3RpdmVcIiBbY2xhc3MuZGlzYWJsZWRdPVwidGFiei5kaXNhYmxlZFwiXG4gICAgICAgKGNsaWNrKT1cInRhYnouYWN0aXZlID0gdHJ1ZVwiPlxuICAgICAgPHNwYW4gW25nVHJhbnNjbHVkZV09XCJ0YWJ6LmhlYWRpbmdSZWZcIj57eyB0YWJ6LmhlYWRpbmcgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInRhYnoucmVtb3ZhYmxlXCIgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyByZW1vdmVUYWIodGFieik7XCIgY2xhc3M9XCJicy1yZW1vdmUtdGFiXCI+ICYjMTAwNjA7PC9zcGFuPlxuICAgIDwvYT5cbiAgPC9saT5cbjwvdWw+XG48ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Directive, Input, Injectable, Component, HostBinding, EventEmitter, Output, NgModule } from '@angular/core';
|
3
|
-
import
|
4
|
-
import { CommonModule } from '@angular/common';
|
3
|
+
import { NgClass, NgFor, NgIf, CommonModule } from '@angular/common';
|
5
4
|
|
6
5
|
class NgTranscludeDirective {
|
7
6
|
set ngTransclude(templateRef) {
|
@@ -18,12 +17,13 @@ class NgTranscludeDirective {
|
|
18
17
|
this.viewRef = viewRef;
|
19
18
|
}
|
20
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NgTranscludeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: NgTranscludeDirective, selector: "[ngTransclude]", inputs: { ngTransclude: "ngTransclude" }, ngImport: i0 }); }
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: NgTranscludeDirective, isStandalone: true, selector: "[ngTransclude]", inputs: { ngTransclude: "ngTransclude" }, ngImport: i0 }); }
|
22
21
|
}
|
23
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NgTranscludeDirective, decorators: [{
|
24
23
|
type: Directive,
|
25
24
|
args: [{
|
26
|
-
selector: '[ngTransclude]'
|
25
|
+
selector: '[ngTransclude]',
|
26
|
+
standalone: true
|
27
27
|
}]
|
28
28
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { ngTransclude: [{
|
29
29
|
type: Input
|
@@ -242,11 +242,11 @@ class TabsetComponent {
|
|
242
242
|
};
|
243
243
|
}
|
244
244
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabsetComponent, deps: [{ token: TabsetConfig }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
245
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: TabsetComponent, selector: "tabset", inputs: { vertical: "vertical", justified: "justified", type: "type" }, host: { properties: { "class.tab-container": "this.clazz" } }, ngImport: i0, template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type:
|
245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: TabsetComponent, isStandalone: true, selector: "tabset", inputs: { vertical: "vertical", justified: "justified", type: "type" }, host: { properties: { "class.tab-container": "this.clazz" } }, ngImport: i0, template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTranscludeDirective, selector: "[ngTransclude]", inputs: ["ngTransclude"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
246
246
|
}
|
247
247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabsetComponent, decorators: [{
|
248
248
|
type: Component,
|
249
|
-
args: [{ selector: 'tabset', template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"] }]
|
249
|
+
args: [{ selector: 'tabset', standalone: true, imports: [NgClass, NgFor, NgTranscludeDirective, NgIf], template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"] }]
|
250
250
|
}], ctorParameters: () => [{ type: TabsetConfig }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { vertical: [{
|
251
251
|
type: Input
|
252
252
|
}], justified: [{
|
@@ -329,11 +329,14 @@ class TabDirective {
|
|
329
329
|
this.tabset.removeTab(this, { reselect: false, emit: false });
|
330
330
|
}
|
331
331
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabDirective, deps: [{ token: TabsetComponent }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
332
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: TabDirective, selector: "tab, [tab]", inputs: { heading: "heading", id: "id", disabled: "disabled", removable: "removable", customClass: "customClass", active: "active" }, outputs: { selectTab: "selectTab", deselect: "deselect", removed: "removed" }, host: { properties: { "attr.id": "this.id", "class.active": "this.active", "class.tab-pane": "this.addClass", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, exportAs: ["tab"], ngImport: i0 }); }
|
332
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: TabDirective, isStandalone: true, selector: "tab, [tab]", inputs: { heading: "heading", id: "id", disabled: "disabled", removable: "removable", customClass: "customClass", active: "active" }, outputs: { selectTab: "selectTab", deselect: "deselect", removed: "removed" }, host: { properties: { "attr.id": "this.id", "class.active": "this.active", "class.tab-pane": "this.addClass", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, exportAs: ["tab"], ngImport: i0 }); }
|
333
333
|
}
|
334
334
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabDirective, decorators: [{
|
335
335
|
type: Directive,
|
336
|
-
args: [{
|
336
|
+
args: [{
|
337
|
+
selector: 'tab, [tab]', exportAs: 'tab',
|
338
|
+
standalone: true
|
339
|
+
}]
|
337
340
|
}], ctorParameters: () => [{ type: TabsetComponent }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { heading: [{
|
338
341
|
type: Input
|
339
342
|
}], id: [{
|
@@ -376,25 +379,26 @@ class TabHeadingDirective {
|
|
376
379
|
tab.headingRef = templateRef;
|
377
380
|
}
|
378
381
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabHeadingDirective, deps: [{ token: i0.TemplateRef }, { token: TabDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
|
379
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: TabHeadingDirective, selector: "[tabHeading]", ngImport: i0 }); }
|
382
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: TabHeadingDirective, isStandalone: true, selector: "[tabHeading]", ngImport: i0 }); }
|
380
383
|
}
|
381
384
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabHeadingDirective, decorators: [{
|
382
385
|
type: Directive,
|
383
|
-
args: [{
|
386
|
+
args: [{
|
387
|
+
selector: '[tabHeading]',
|
388
|
+
standalone: true
|
389
|
+
}]
|
384
390
|
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: TabDirective }] });
|
385
391
|
|
386
392
|
class TabsModule {
|
393
|
+
// @deprecated method not required anymore, will be deleted in v19.0.0
|
387
394
|
static forRoot() {
|
388
|
-
return
|
389
|
-
ngModule: TabsModule,
|
390
|
-
providers: []
|
391
|
-
};
|
395
|
+
return TabsModule;
|
392
396
|
}
|
393
397
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
394
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: TabsModule,
|
398
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: TabsModule, imports: [CommonModule, NgTranscludeDirective,
|
395
399
|
TabDirective,
|
396
400
|
TabsetComponent,
|
397
|
-
TabHeadingDirective],
|
401
|
+
TabHeadingDirective], exports: [TabDirective,
|
398
402
|
TabsetComponent,
|
399
403
|
TabHeadingDirective,
|
400
404
|
NgTranscludeDirective] }); }
|
@@ -403,13 +407,10 @@ class TabsModule {
|
|
403
407
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TabsModule, decorators: [{
|
404
408
|
type: NgModule,
|
405
409
|
args: [{
|
406
|
-
imports: [CommonModule
|
407
|
-
declarations: [
|
408
|
-
NgTranscludeDirective,
|
410
|
+
imports: [CommonModule, NgTranscludeDirective,
|
409
411
|
TabDirective,
|
410
412
|
TabsetComponent,
|
411
|
-
TabHeadingDirective
|
412
|
-
],
|
413
|
+
TabHeadingDirective],
|
413
414
|
exports: [
|
414
415
|
TabDirective,
|
415
416
|
TabsetComponent,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-tabs.mjs","sources":["../../../../src/tabs/ng-transclude.directive.ts","../../../../src/tabs/tabset.config.ts","../../../../src/tabs/tabset.component.ts","../../../../src/tabs/tabset.component.html","../../../../src/tabs/tab.directive.ts","../../../../src/tabs/tab-heading.directive.ts","../../../../src/tabs/tabs.module.ts","../../../../src/tabs/ngx-bootstrap-tabs.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngTransclude]'\n})\nexport class NgTranscludeDirective {\n viewRef: ViewContainerRef;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected _ngTransclude?: TemplateRef<any>;\n\n @Input()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set ngTransclude(templateRef: TemplateRef<any> | undefined) {\n this._ngTransclude = templateRef;\n if (templateRef) {\n this.viewRef.createEmbeddedView(templateRef);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get ngTransclude(): TemplateRef<any> | undefined {\n return this._ngTransclude;\n }\n\n constructor(viewRef: ViewContainerRef) {\n this.viewRef = viewRef;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TabsetConfig {\n /** provides default navigation context class: 'tabs' or 'pills' */\n type = 'tabs';\n /** provides possibility to set keyNavigations enable or disable, by default is enable */\n isKeysAllowed = true;\n /** aria label for tab list */\n ariaLabel = 'Tabs';\n}\n","import { Component, HostBinding, Input, OnDestroy, Renderer2, ElementRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\nimport { TabsetConfig } from './tabset.config';\n// todo: add active event to tab\n// todo: fix? mixing static and dynamic tabs position tabs in order of creation\n@Component({\n selector: 'tabset',\n templateUrl: './tabset.component.html',\n styleUrls: ['./tabs.scss']\n})\nexport class TabsetComponent implements OnDestroy {\n /** if true tabs will be placed vertically */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n set vertical(value: boolean) {\n this._vertical = value;\n this.setClassMap();\n }\n\n /** if true tabs fill the container and have a consistent width */\n @Input()\n get justified(): boolean {\n return this._justified;\n }\n set justified(value: boolean) {\n this._justified = value;\n this.setClassMap();\n }\n\n /** navigation context class: 'tabs' or 'pills' */\n @Input()\n get type(): string {\n return this._type;\n }\n set type(value: string) {\n this._type = value;\n this.setClassMap();\n }\n\n get isKeysAllowed(): boolean {\n return this._isKeysAllowed;\n }\n\n set isKeysAllowed(value: boolean) {\n this._isKeysAllowed = value;\n }\n\n @HostBinding('class.tab-container') clazz = true;\n\n tabs: TabDirective[] = [];\n classMap: { [key: string]: boolean } = {};\n\n /** aria label for tab list */\n ariaLabel = 'Tabs';\n\n protected isDestroyed = false;\n protected _vertical = false;\n protected _justified = false;\n protected _type = 'tabs';\n protected _isKeysAllowed = true;\n\n constructor(\n config: TabsetConfig,\n private renderer: Renderer2,\n private elementRef: ElementRef\n ) {\n Object.assign(this, config);\n }\n\n ngOnDestroy(): void {\n this.isDestroyed = true;\n }\n\n addTab(tab: TabDirective): void {\n this.tabs.push(tab);\n tab.active = this.tabs.length === 1 && !tab.active;\n }\n\n removeTab(\n tab: TabDirective,\n options = { reselect: true, emit: true }\n ): void {\n const index = this.tabs.indexOf(tab);\n if (index === -1 || this.isDestroyed) {\n return;\n }\n // Select a new tab if the tab to be removed is selected and not destroyed\n if (options.reselect && tab.active && this.hasAvailableTabs(index)) {\n const newActiveIndex = this.getClosestTabIndex(index);\n this.tabs[newActiveIndex].active = true;\n }\n if (options.emit) {\n tab.removed.emit(tab);\n }\n this.tabs.splice(index, 1);\n if (tab.elementRef.nativeElement.parentNode) {\n this.renderer.removeChild(\n tab.elementRef.nativeElement.parentNode,\n tab.elementRef.nativeElement\n );\n }\n }\n\n keyNavActions(event: KeyboardEvent, index: number) {\n if (!this.isKeysAllowed) {\n return;\n }\n const list: HTMLElement[] = Array.from(this.elementRef.nativeElement.querySelectorAll('.nav-link'));\n // const activeElList = list.filter((el: HTMLElement) => !el.classList.contains('disabled'));\n if (event.keyCode === 13 || event.key === 'Enter' || event.keyCode === 32 || event.key === 'Space') {\n event.preventDefault();\n const currentTab = list[(index) % list.length];\n currentTab.click();\n\n return;\n }\n\n if (event.keyCode === 39 || event.key === 'RightArrow') {\n let nextTab: HTMLElement;\n let shift = 1;\n\n do {\n nextTab = list[(index + shift) % list.length];\n\n shift++;\n } while (nextTab.classList.contains('disabled'));\n\n nextTab.focus();\n\n return;\n }\n\n if (event.keyCode === 37 || event.key === 'LeftArrow') {\n let previousTab: HTMLElement;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n previousTab = list[i];\n shift = 0;\n } else {\n previousTab = list[i - shift];\n }\n\n shift++;\n } while (previousTab.classList.contains('disabled'));\n\n previousTab.focus();\n\n return;\n }\n\n if (event.keyCode === 36 || event.key === 'Home') {\n event.preventDefault();\n\n let firstTab: HTMLElement;\n let shift = 0;\n\n do {\n firstTab = list[shift % list.length];\n\n shift++;\n } while (firstTab.classList.contains('disabled'));\n\n firstTab.focus();\n\n return;\n }\n\n if (event.keyCode === 35 || event.key === 'End') {\n event.preventDefault();\n\n let lastTab: HTMLElement;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n lastTab = list[i];\n shift = 0;\n } else {\n lastTab = list[i - shift];\n }\n\n shift++;\n } while (lastTab.classList.contains('disabled'));\n\n lastTab.focus();\n\n return;\n }\n\n if (event.keyCode === 46 || event.key === 'Delete') {\n if (this.tabs[index].removable) {\n this.removeTab(this.tabs[index]);\n\n if (list[index + 1]) {\n list[(index + 1) % list.length].focus();\n\n return;\n }\n\n if (list[list.length - 1]) {\n list[0].focus();\n }\n }\n }\n }\n\n protected getClosestTabIndex(index: number): number {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return -1;\n }\n\n for (let step = 1; step <= tabsLength; step += 1) {\n const prevIndex = index - step;\n const nextIndex = index + step;\n if (this.tabs[prevIndex] && !this.tabs[prevIndex].disabled) {\n return prevIndex;\n }\n if (this.tabs[nextIndex] && !this.tabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n\n return -1;\n }\n\n protected hasAvailableTabs(index: number): boolean {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return false;\n }\n\n for (let i = 0; i < tabsLength; i += 1) {\n if (!this.tabs[i].disabled && i !== index) {\n return true;\n }\n }\n\n return false;\n }\n\n protected setClassMap(): void {\n this.classMap = {\n 'nav-stacked': this.vertical,\n 'flex-column': this.vertical,\n 'nav-justified': this.justified,\n [`nav-${this.type}`]: true\n };\n }\n}\n","<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n OnInit,\n OnDestroy,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport { TabsetComponent } from './tabset.component';\n\n@Directive({ selector: 'tab, [tab]', exportAs: 'tab' })\nexport class TabDirective implements OnInit, OnDestroy {\n /** tab header text */\n @Input() heading?: string;\n /** tab id. The same id with suffix '-link' will be added to the corresponding <li> element */\n @HostBinding('attr.id')\n @Input() id?: string;\n /** if true tab can not be activated */\n @Input() disabled = false;\n /** if true tab can be removable, additional button will appear */\n @Input() removable = false;\n /** if set, will be added to the tab's class attribute. Multiple classes are supported. */\n @Input()\n get customClass(): string | undefined {\n return this._customClass;\n }\n\n set customClass(customClass: string | undefined) {\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.removeClass(this.elementRef.nativeElement, cssClass);\n });\n }\n\n this._customClass = customClass ? customClass.trim() : '';\n\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.addClass(this.elementRef.nativeElement, cssClass);\n });\n }\n }\n\n /** tab active state toggle */\n @HostBinding('class.active')\n @Input()\n get active(): boolean | undefined {\n return this._active;\n }\n\n set active(active: boolean | undefined) {\n if (this._active === active) {\n return;\n }\n if ((this.disabled && active) || !active) {\n if (this._active && !active) {\n this.deselect.emit(this);\n this._active = active;\n }\n\n return;\n }\n\n this._active = active;\n this.selectTab.emit(this);\n this.tabset.tabs.forEach((tab: TabDirective) => {\n if (tab !== this) {\n tab.active = false;\n }\n });\n }\n\n /** fired when tab became active, $event:Tab equals to selected instance of Tab component */\n @Output() selectTab: EventEmitter<TabDirective> = new EventEmitter();\n /** fired when tab became inactive, $event:Tab equals to deselected instance of Tab component */\n @Output() deselect: EventEmitter<TabDirective> = new EventEmitter();\n /** fired before tab will be removed, $event:Tab equals to instance of removed tab */\n @Output() removed: EventEmitter<TabDirective> = new EventEmitter();\n\n @HostBinding('class.tab-pane') addClass = true;\n @HostBinding('attr.role') role = 'tabpanel';\n @HostBinding('attr.aria-labelledby') get ariaLabelledby(): string {\n return this.id ? `${this.id}-link` : '';\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n headingRef?: TemplateRef<any>;\n tabset: TabsetComponent;\n protected _active? = false;\n protected _customClass = '';\n\n constructor(\n tabset: TabsetComponent,\n public elementRef: ElementRef,\n public renderer: Renderer2\n ) {\n this.tabset = tabset;\n this.tabset.addTab(this);\n }\n\n ngOnInit(): void {\n this.removable = !!this.removable;\n }\n\n ngOnDestroy(): void {\n this.tabset.removeTab(this, { reselect: false, emit: false });\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\n\n/** Should be used to mark <ng-template> element as a template for tab heading */\n@Directive({ selector: '[tabHeading]' })\nexport class TabHeadingDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n templateRef?: TemplateRef<any>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(templateRef: TemplateRef<any>, tab: TabDirective) {\n tab.headingRef = templateRef;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { NgTranscludeDirective } from './ng-transclude.directive';\nimport { TabHeadingDirective } from './tab-heading.directive';\nimport { TabDirective } from './tab.directive';\nimport { TabsetComponent } from './tabset.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NgTranscludeDirective,\n TabDirective,\n TabsetComponent,\n TabHeadingDirective\n ],\n exports: [\n TabDirective,\n TabsetComponent,\n TabHeadingDirective,\n NgTranscludeDirective\n ]\n})\nexport class TabsModule {\n static forRoot(): ModuleWithProviders<TabsModule> {\n return {\n ngModule: TabsModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TabsetConfig","i3.NgTranscludeDirective","i1.TabsetComponent","i1.TabDirective"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-tabs.mjs","sources":["../../../../src/tabs/ng-transclude.directive.ts","../../../../src/tabs/tabset.config.ts","../../../../src/tabs/tabset.component.ts","../../../../src/tabs/tabset.component.html","../../../../src/tabs/tab.directive.ts","../../../../src/tabs/tab-heading.directive.ts","../../../../src/tabs/tabs.module.ts","../../../../src/tabs/ngx-bootstrap-tabs.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngTransclude]',\n standalone: true\n})\nexport class NgTranscludeDirective {\n viewRef: ViewContainerRef;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected _ngTransclude?: TemplateRef<any>;\n\n @Input()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set ngTransclude(templateRef: TemplateRef<any> | undefined) {\n this._ngTransclude = templateRef;\n if (templateRef) {\n this.viewRef.createEmbeddedView(templateRef);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get ngTransclude(): TemplateRef<any> | undefined {\n return this._ngTransclude;\n }\n\n constructor(viewRef: ViewContainerRef) {\n this.viewRef = viewRef;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TabsetConfig {\n /** provides default navigation context class: 'tabs' or 'pills' */\n type = 'tabs';\n /** provides possibility to set keyNavigations enable or disable, by default is enable */\n isKeysAllowed = true;\n /** aria label for tab list */\n ariaLabel = 'Tabs';\n}\n","import { Component, HostBinding, Input, OnDestroy, Renderer2, ElementRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\nimport { TabsetConfig } from './tabset.config';\nimport { NgTranscludeDirective } from './ng-transclude.directive';\nimport { NgClass, NgFor, NgIf } from '@angular/common';\n// todo: add active event to tab\n// todo: fix? mixing static and dynamic tabs position tabs in order of creation\n@Component({\n selector: 'tabset',\n templateUrl: './tabset.component.html',\n styleUrls: ['./tabs.scss'],\n standalone: true,\n imports: [NgClass, NgFor, NgTranscludeDirective, NgIf]\n})\nexport class TabsetComponent implements OnDestroy {\n /** if true tabs will be placed vertically */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n set vertical(value: boolean) {\n this._vertical = value;\n this.setClassMap();\n }\n\n /** if true tabs fill the container and have a consistent width */\n @Input()\n get justified(): boolean {\n return this._justified;\n }\n set justified(value: boolean) {\n this._justified = value;\n this.setClassMap();\n }\n\n /** navigation context class: 'tabs' or 'pills' */\n @Input()\n get type(): string {\n return this._type;\n }\n set type(value: string) {\n this._type = value;\n this.setClassMap();\n }\n\n get isKeysAllowed(): boolean {\n return this._isKeysAllowed;\n }\n\n set isKeysAllowed(value: boolean) {\n this._isKeysAllowed = value;\n }\n\n @HostBinding('class.tab-container') clazz = true;\n\n tabs: TabDirective[] = [];\n classMap: { [key: string]: boolean } = {};\n\n /** aria label for tab list */\n ariaLabel = 'Tabs';\n\n protected isDestroyed = false;\n protected _vertical = false;\n protected _justified = false;\n protected _type = 'tabs';\n protected _isKeysAllowed = true;\n\n constructor(\n config: TabsetConfig,\n private renderer: Renderer2,\n private elementRef: ElementRef\n ) {\n Object.assign(this, config);\n }\n\n ngOnDestroy(): void {\n this.isDestroyed = true;\n }\n\n addTab(tab: TabDirective): void {\n this.tabs.push(tab);\n tab.active = this.tabs.length === 1 && !tab.active;\n }\n\n removeTab(\n tab: TabDirective,\n options = { reselect: true, emit: true }\n ): void {\n const index = this.tabs.indexOf(tab);\n if (index === -1 || this.isDestroyed) {\n return;\n }\n // Select a new tab if the tab to be removed is selected and not destroyed\n if (options.reselect && tab.active && this.hasAvailableTabs(index)) {\n const newActiveIndex = this.getClosestTabIndex(index);\n this.tabs[newActiveIndex].active = true;\n }\n if (options.emit) {\n tab.removed.emit(tab);\n }\n this.tabs.splice(index, 1);\n if (tab.elementRef.nativeElement.parentNode) {\n this.renderer.removeChild(\n tab.elementRef.nativeElement.parentNode,\n tab.elementRef.nativeElement\n );\n }\n }\n\n keyNavActions(event: KeyboardEvent, index: number) {\n if (!this.isKeysAllowed) {\n return;\n }\n const list: HTMLElement[] = Array.from(this.elementRef.nativeElement.querySelectorAll('.nav-link'));\n // const activeElList = list.filter((el: HTMLElement) => !el.classList.contains('disabled'));\n if (event.keyCode === 13 || event.key === 'Enter' || event.keyCode === 32 || event.key === 'Space') {\n event.preventDefault();\n const currentTab = list[(index) % list.length];\n currentTab.click();\n\n return;\n }\n\n if (event.keyCode === 39 || event.key === 'RightArrow') {\n let nextTab: HTMLElement;\n let shift = 1;\n\n do {\n nextTab = list[(index + shift) % list.length];\n\n shift++;\n } while (nextTab.classList.contains('disabled'));\n\n nextTab.focus();\n\n return;\n }\n\n if (event.keyCode === 37 || event.key === 'LeftArrow') {\n let previousTab: HTMLElement;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n previousTab = list[i];\n shift = 0;\n } else {\n previousTab = list[i - shift];\n }\n\n shift++;\n } while (previousTab.classList.contains('disabled'));\n\n previousTab.focus();\n\n return;\n }\n\n if (event.keyCode === 36 || event.key === 'Home') {\n event.preventDefault();\n\n let firstTab: HTMLElement;\n let shift = 0;\n\n do {\n firstTab = list[shift % list.length];\n\n shift++;\n } while (firstTab.classList.contains('disabled'));\n\n firstTab.focus();\n\n return;\n }\n\n if (event.keyCode === 35 || event.key === 'End') {\n event.preventDefault();\n\n let lastTab: HTMLElement;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n lastTab = list[i];\n shift = 0;\n } else {\n lastTab = list[i - shift];\n }\n\n shift++;\n } while (lastTab.classList.contains('disabled'));\n\n lastTab.focus();\n\n return;\n }\n\n if (event.keyCode === 46 || event.key === 'Delete') {\n if (this.tabs[index].removable) {\n this.removeTab(this.tabs[index]);\n\n if (list[index + 1]) {\n list[(index + 1) % list.length].focus();\n\n return;\n }\n\n if (list[list.length - 1]) {\n list[0].focus();\n }\n }\n }\n }\n\n protected getClosestTabIndex(index: number): number {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return -1;\n }\n\n for (let step = 1; step <= tabsLength; step += 1) {\n const prevIndex = index - step;\n const nextIndex = index + step;\n if (this.tabs[prevIndex] && !this.tabs[prevIndex].disabled) {\n return prevIndex;\n }\n if (this.tabs[nextIndex] && !this.tabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n\n return -1;\n }\n\n protected hasAvailableTabs(index: number): boolean {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return false;\n }\n\n for (let i = 0; i < tabsLength; i += 1) {\n if (!this.tabs[i].disabled && i !== index) {\n return true;\n }\n }\n\n return false;\n }\n\n protected setClassMap(): void {\n this.classMap = {\n 'nav-stacked': this.vertical,\n 'flex-column': this.vertical,\n 'nav-justified': this.justified,\n [`nav-${this.type}`]: true\n };\n }\n}\n","<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n OnInit,\n OnDestroy,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport { TabsetComponent } from './tabset.component';\n\n@Directive({\n selector: 'tab, [tab]', exportAs: 'tab',\n standalone: true\n})\nexport class TabDirective implements OnInit, OnDestroy {\n /** tab header text */\n @Input() heading?: string;\n /** tab id. The same id with suffix '-link' will be added to the corresponding <li> element */\n @HostBinding('attr.id')\n @Input() id?: string;\n /** if true tab can not be activated */\n @Input() disabled = false;\n /** if true tab can be removable, additional button will appear */\n @Input() removable = false;\n /** if set, will be added to the tab's class attribute. Multiple classes are supported. */\n @Input()\n get customClass(): string | undefined {\n return this._customClass;\n }\n\n set customClass(customClass: string | undefined) {\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.removeClass(this.elementRef.nativeElement, cssClass);\n });\n }\n\n this._customClass = customClass ? customClass.trim() : '';\n\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.addClass(this.elementRef.nativeElement, cssClass);\n });\n }\n }\n\n /** tab active state toggle */\n @HostBinding('class.active')\n @Input()\n get active(): boolean | undefined {\n return this._active;\n }\n\n set active(active: boolean | undefined) {\n if (this._active === active) {\n return;\n }\n if ((this.disabled && active) || !active) {\n if (this._active && !active) {\n this.deselect.emit(this);\n this._active = active;\n }\n\n return;\n }\n\n this._active = active;\n this.selectTab.emit(this);\n this.tabset.tabs.forEach((tab: TabDirective) => {\n if (tab !== this) {\n tab.active = false;\n }\n });\n }\n\n /** fired when tab became active, $event:Tab equals to selected instance of Tab component */\n @Output() selectTab: EventEmitter<TabDirective> = new EventEmitter();\n /** fired when tab became inactive, $event:Tab equals to deselected instance of Tab component */\n @Output() deselect: EventEmitter<TabDirective> = new EventEmitter();\n /** fired before tab will be removed, $event:Tab equals to instance of removed tab */\n @Output() removed: EventEmitter<TabDirective> = new EventEmitter();\n\n @HostBinding('class.tab-pane') addClass = true;\n @HostBinding('attr.role') role = 'tabpanel';\n @HostBinding('attr.aria-labelledby') get ariaLabelledby(): string {\n return this.id ? `${this.id}-link` : '';\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n headingRef?: TemplateRef<any>;\n tabset: TabsetComponent;\n protected _active? = false;\n protected _customClass = '';\n\n constructor(\n tabset: TabsetComponent,\n public elementRef: ElementRef,\n public renderer: Renderer2\n ) {\n this.tabset = tabset;\n this.tabset.addTab(this);\n }\n\n ngOnInit(): void {\n this.removable = !!this.removable;\n }\n\n ngOnDestroy(): void {\n this.tabset.removeTab(this, { reselect: false, emit: false });\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\n\n/** Should be used to mark <ng-template> element as a template for tab heading */\n@Directive({\n selector: '[tabHeading]',\n standalone: true\n})\nexport class TabHeadingDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n templateRef?: TemplateRef<any>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(templateRef: TemplateRef<any>, tab: TabDirective) {\n tab.headingRef = templateRef;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { NgTranscludeDirective } from './ng-transclude.directive';\nimport { TabHeadingDirective } from './tab-heading.directive';\nimport { TabDirective } from './tab.directive';\nimport { TabsetComponent } from './tabset.component';\n\n@NgModule({\n imports: [CommonModule, NgTranscludeDirective,\n TabDirective,\n TabsetComponent,\n TabHeadingDirective],\n exports: [\n TabDirective,\n TabsetComponent,\n TabHeadingDirective,\n NgTranscludeDirective\n ]\n})\nexport class TabsModule {\n // @deprecated method not required anymore, will be deleted in v19.0.0\n static forRoot() {\n return TabsModule;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TabsetConfig","i1.TabsetComponent","i1.TabDirective"],"mappings":"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"}
|
@@ -7,5 +7,5 @@ export declare class NgTranscludeDirective {
|
|
7
7
|
get ngTransclude(): TemplateRef<any> | undefined;
|
8
8
|
constructor(viewRef: ViewContainerRef);
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgTranscludeDirective, never>;
|
10
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgTranscludeDirective, "[ngTransclude]", never, { "ngTransclude": { "alias": "ngTransclude"; "required": false; }; }, {}, never, never,
|
10
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgTranscludeDirective, "[ngTransclude]", never, { "ngTransclude": { "alias": "ngTransclude"; "required": false; }; }, {}, never, never, true, never>;
|
11
11
|
}
|
@@ -6,5 +6,5 @@ export declare class TabHeadingDirective {
|
|
6
6
|
templateRef?: TemplateRef<any>;
|
7
7
|
constructor(templateRef: TemplateRef<any>, tab: TabDirective);
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<TabHeadingDirective, never>;
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TabHeadingDirective, "[tabHeading]", never, {}, {}, never, never,
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TabHeadingDirective, "[tabHeading]", never, {}, {}, never, never, true, never>;
|
10
10
|
}
|
package/tabs/tab.directive.d.ts
CHANGED
@@ -35,5 +35,5 @@ export declare class TabDirective implements OnInit, OnDestroy {
|
|
35
35
|
ngOnInit(): void;
|
36
36
|
ngOnDestroy(): void;
|
37
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<TabDirective, never>;
|
38
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TabDirective, "tab, [tab]", ["tab"], { "heading": { "alias": "heading"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, { "selectTab": "selectTab"; "deselect": "deselect"; "removed": "removed"; }, never, never,
|
38
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TabDirective, "tab, [tab]", ["tab"], { "heading": { "alias": "heading"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, { "selectTab": "selectTab"; "deselect": "deselect"; "removed": "removed"; }, never, never, true, never>;
|
39
39
|
}
|
package/tabs/tabs.module.d.ts
CHANGED
@@ -1,13 +1,12 @@
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
2
1
|
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "
|
4
|
-
import * as i2 from "./
|
5
|
-
import * as i3 from "./
|
6
|
-
import * as i4 from "./
|
7
|
-
import * as i5 from "
|
2
|
+
import * as i1 from "@angular/common";
|
3
|
+
import * as i2 from "./ng-transclude.directive";
|
4
|
+
import * as i3 from "./tab.directive";
|
5
|
+
import * as i4 from "./tabset.component";
|
6
|
+
import * as i5 from "./tab-heading.directive";
|
8
7
|
export declare class TabsModule {
|
9
|
-
static forRoot():
|
8
|
+
static forRoot(): typeof TabsModule;
|
10
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<TabsModule, never>;
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TabsModule, [typeof i1.
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TabsModule, never, [typeof i1.CommonModule, typeof i2.NgTranscludeDirective, typeof i3.TabDirective, typeof i4.TabsetComponent, typeof i5.TabHeadingDirective], [typeof i3.TabDirective, typeof i4.TabsetComponent, typeof i5.TabHeadingDirective, typeof i2.NgTranscludeDirective]>;
|
12
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<TabsModule>;
|
13
12
|
}
|
@@ -40,5 +40,5 @@ export declare class TabsetComponent implements OnDestroy {
|
|
40
40
|
protected hasAvailableTabs(index: number): boolean;
|
41
41
|
protected setClassMap(): void;
|
42
42
|
static ɵfac: i0.ɵɵFactoryDeclaration<TabsetComponent, never>;
|
43
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TabsetComponent, "tabset", never, { "vertical": { "alias": "vertical"; "required": false; }; "justified": { "alias": "justified"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, ["*"],
|
43
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabsetComponent, "tabset", never, { "vertical": { "alias": "vertical"; "required": false; }; "justified": { "alias": "justified"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, ["*"], true, never>;
|
44
44
|
}
|