ngx-tethys 16.2.2 → 16.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/esm2022/tabs/tabs.component.mjs +2 -1
- package/esm2022/testing/dispatcher-events.mjs +3 -3
- package/esm2022/testing/events.mjs +20 -22
- package/esm2022/version.mjs +2 -2
- package/fesm2022/ngx-tethys-tabs.mjs +1 -0
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-testing.mjs +21 -23
- package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/testing/dispatcher-events.d.ts +1 -1
- package/testing/events.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [16.2.3](https://github.com/atinc/ngx-tethys/compare/16.2.2...16.2.3) (2024-02-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **tabs:** tabs change add markForCheck update(#INFR-11694) ([#3035](https://github.com/atinc/ngx-tethys/issues/3035)) ([8754f6f](https://github.com/atinc/ngx-tethys/commit/8754f6f9dfa38bb8b5f366be38e726e4cc4f9c17)), closes [#INFR-11694](https://github.com/atinc/ngx-tethys/issues/INFR-11694)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
## [16.2.2](https://github.com/atinc/ngx-tethys/compare/16.2.1...16.2.2) (2024-01-17)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -84,6 +84,7 @@ export class ThyTabsComponent extends _MixinBase {
|
|
|
84
84
|
this.tabs.changes.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(data => {
|
|
85
85
|
this.thyAnimated && (this.transitionStarted = true);
|
|
86
86
|
this.activeTabIndex = data.length - 1;
|
|
87
|
+
this.cd.markForCheck();
|
|
87
88
|
});
|
|
88
89
|
}
|
|
89
90
|
get tabPaneAnimated() {
|
|
@@ -147,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
147
148
|
}], thyActiveTabChange: [{
|
|
148
149
|
type: Output
|
|
149
150
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxXQUFXLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFlBQVksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDekcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRdEUsTUFBTSxVQUFVLEdBQW1ELGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9GOzs7R0FHRztBQWNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBZTVDOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBdUI7UUFDcEMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdB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Q0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQztpSUFHN0MsSUFBSTtzQkFBNUQsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQU05QyxPQUFPO3NCQUFmLEtBQUs7Z0JBTUcsT0FBTztzQkFBZixLQUFLO2dCQU1GLFlBQVk7c0JBRGYsS0FBSztnQkFjRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS21CLFdBQVc7c0JBQW5DLEtBQUs7Z0JBS21CLGFBQWE7c0JBQXJDLEtBQUs7Z0JBS0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgSW5wdXRCb29sZWFuLCBNaXhpbkJhc2UsIG1peGluVW5zdWJzY3JpYmUsIFRoeVVuc3Vic2NyaWJlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5VGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeUFjdGl2ZVRhYkluZm8sIFRoeVRhYkFjdGl2ZUV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBUaHlUYWJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi90YWItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5TmF2Q29tcG9uZW50LCBUaHlOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuXG5leHBvcnQgdHlwZSBUaHlUYWJzU2l6ZSA9ICdsZycgfCAnbWQnIHwgJ3NtJztcblxuZXhwb3J0IHR5cGUgVGh5VGFic1R5cGUgPSAncHVsbGVkJyB8ICd0YWJzJyB8ICdwaWxscycgfCAnbGl0ZSc7XG5cbmV4cG9ydCB0eXBlIFRoeVRhYnNQb3NpdGlvbiA9ICd0b3AnIHwgJ2xlZnQnO1xuXG5jb25zdCBfTWl4aW5CYXNlOiBDb25zdHJ1Y3RvcjxUaHlVbnN1YnNjcmliZT4gJiB0eXBlb2YgTWl4aW5CYXNlID0gbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpO1xuXG4vKipcbiAqIOmAiemhueWNoeWIh+aNoue7hOS7tlxuICogQG5hbWUgdGh5LXRhYnNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdGFicycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktdGFicycsXG4gICAgICAgICdbY2xhc3MudGh5LXRhYnMtdG9wXSc6IGB0aHlQb3NpdGlvbiA9PT0gJ3RvcCdgLFxuICAgICAgICAnW2NsYXNzLnRoeS10YWJzLWxlZnRdJzogYHRoeVBvc2l0aW9uID09PSAnbGVmdCdgLFxuICAgICAgICAnW3N0eWxlLm92ZXJmbG93XSc6IGB0cmFuc2l0aW9uU3RhcnRlZCA/IFwiaGlkZGVuXCIgOiBudWxsYFxuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5TmF2Q29tcG9uZW50LCBOZ0ZvciwgVGh5TmF2SXRlbURpcmVjdGl2ZSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgVGh5VGFiQ29udGVudENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5VGFic0NvbXBvbmVudCBleHRlbmRzIF9NaXhpbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihUaHlUYWJDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgdGFicyA9IG5ldyBRdWVyeUxpc3Q8VGh5VGFiQ29tcG9uZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog5qCH562+57G75Z6LXG4gICAgICogQHR5cGUgJ3B1bGxlZCcgfCAndGFicycgfCAncGlsbHMnIHwgJ2xpdGUnXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VHlwZTogVGh5VGFic1R5cGUgPSAndGFicyc7XG5cbiAgICAvKipcbiAgICAgKiDpgInpobnljaHnmoTlpKflsI9cbiAgICAgKiBAdHlwZSAnbGcnIHwgJ21kJyB8ICdzbSdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTaXplOiBUaHlUYWJzU2l6ZSA9ICdtZCc7XG5cbiAgICAvKipcbiAgICAgKiDmv4DmtLvnmoTpoblcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlBY3RpdmVUYWIodmFsdWU6IFRoeUFjdGl2ZVRhYkluZm8pIHtcbiAgICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiSWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDpmYTliqDmk43kvZxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlFeHRyYTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiDpgInpobnljaHnmoTkvY3nva5cbiAgICAgKiBAdHlwZSAndG9wJyB8ICdsZWZ0J1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBvc2l0aW9uOiBUaHlUYWJzUG9zaXRpb24gPSAndG9wJztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuS9v+eUqOWKqOeUu+WIh+aNoiBUYWJzXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeUFuaW1hdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlk43lupTlvI/vvIzoh6rliqjorqHnrpflrr3luqblrZjmlL4gdGh5TmF2SXRlbe+8jOW5tua3u+WKoOabtOWkmuW8ueahhlxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlSZXNwb25zaXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmv4DmtLvnmoTpobnlj5HnlJ/mlLnlj5jml7bnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5QWN0aXZlVGFiQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5VGFiQWN0aXZlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUYWJBY3RpdmVFdmVudD4oKTtcblxuICAgIGFjdGl2ZVRhYkluZGV4OiBudW1iZXIgPSAwO1xuXG4gICAgYWN0aXZlVGFiSWQ6IHN0cmluZztcblxuICAgIHRyYW5zaXRpb25TdGFydGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJzQ29udGVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGh5LXRhYnMtY29udGVudCcpO1xuICAgICAgICBmcm9tRXZlbnQodGFic0NvbnRlbnQsICd0cmFuc2l0aW9uZW5kJylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblN0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeUFjdGl2ZVRhYiB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUFjdGl2ZVRhYiAmJiAhdGh5QWN0aXZlVGFiLmZpcnN0Q2hhbmdlICYmIHRoaXMudGh5QW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGh5QWN0aXZlVGFiPy5jdXJyZW50VmFsdWU/LmluZGV4IHx8IEFycmF5LmZyb20odGhpcy50YWJzKS5maW5kSW5kZXgoayA9PiBrLmlkID09PSB0aHlBY3RpdmVUYWI/LmN1cnJlbnRWYWx1ZS5pZCk7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdGhpcy5hY3RpdmVUYWJJbmRleCAhPT0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGFicy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRoeUFuaW1hdGVkICYmICh0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gZGF0YS5sZW5ndGggLSAxO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFiUGFuZUFuaW1hdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlQb3NpdGlvbiA9PT0gJ3RvcCcgJiYgdGhpcy50aHlBbmltYXRlZDtcbiAgICB9XG5cbiAgICBnZXRUYWJDb250ZW50TWFyZ2luTGVmdCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy50YWJQYW5lQW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHstKHRoaXMuYWN0aXZlVGFiSW5kZXggfHwgMCkgKiAxMDB9JWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGFjdGl2ZVRhYih0YWI6IFRoeVRhYkNvbXBvbmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGFiLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHRhYi5pZCB8fCBudWxsO1xuICAgICAgICB0aGlzLnRoeUFuaW1hdGVkICYmICh0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdGhpcy5hY3RpdmVUYWJJbmRleCAhPT0gaW5kZXgpO1xuICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRhYi5pZCA/IHRhYi5pZCA6IGluZGV4O1xuICAgICAgICB0aGlzLnRoeUFjdGl2ZVRhYkNoYW5nZS5lbWl0KGFjdGl2ZVRhYik7XG4gICAgfVxuXG4gICAgdGFiVHJhY2tCeShpbmRleDogbnVtYmVyLCBpdGVtOiBUaHlUYWJDb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cbn1cbiIsIjwhLS0gdGFicyBuYXYgLS0+XG48dGh5LW5hdlxuICBjbGFzcz1cInRoeS10YWJzLW5hdlwiXG4gIFt0aHlUeXBlXT1cInRoeVR5cGVcIlxuICBbdGh5U2l6ZV09XCJ0aHlTaXplXCJcbiAgW3RoeUV4dHJhXT1cInRoeUV4dHJhXCJcbiAgW3RoeVZlcnRpY2FsXT1cInRoeVBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbdGh5UmVzcG9uc2l2ZV09XCJ0aHlSZXNwb25zaXZlXCJcbj5cbiAgPGFcbiAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICB0aHlOYXZJdGVtXG4gICAgW2lkXT1cInRhYi5pZFwiXG4gICAgW3RoeU5hdkl0ZW1EaXNhYmxlZF09XCJ0YWIudGh5RGlzYWJsZWRcIlxuICAgIFt0aHlOYXZJdGVtQWN0aXZlXT1cIih0YWIuaWQgJiYgYWN0aXZlVGFiSWQgJiYgdGFiLmlkID09PSBhY3RpdmVUYWJJZCkgPz8gaSA9PT0gYWN0aXZlVGFiSW5kZXhcIlxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdGFiVHJhY2tCeVwiXG4gICAgKGNsaWNrKT1cImFjdGl2ZVRhYih0YWIsIGkpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIudGl0bGVUZW1wbGF0ZVJlZjsgZWxzZSB0aXRsZU5hbWVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIudGl0bGVUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICN0aXRsZU5hbWU+XG4gICAgICB7eyB0YWIudGh5VGl0bGUgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2E+XG48L3RoeS1uYXY+XG48IS0tIHRhYnMgY29udGVudCAtLT5cbjxkaXYgY2xhc3M9XCJ0aHktdGFicy1jb250ZW50XCIgW2NsYXNzLnRoeS10YWJzLWNvbnRlbnQtYW5pbWF0ZWRdPVwidGFiUGFuZUFuaW1hdGVkXCIgW3N0eWxlLm1hcmdpbi1sZWZ0XT1cImdldFRhYkNvbnRlbnRNYXJnaW5MZWZ0KClcIj5cbiAgPGRpdlxuICAgIHRoeVRhYkNvbnRlbnRcbiAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRhYlRyYWNrQnlcIlxuICAgIFthY3RpdmVdPVwiKHRhYi5pZCAmJiBhY3RpdmVUYWJJZCAmJiB0YWIuaWQgPT09IGFjdGl2ZVRhYklkKSA/PyBpID09PSBhY3RpdmVUYWJJbmRleFwiXG4gICAgW2NvbnRlbnRdPVwidGFiLmNvbnRlbnRcIlxuICAgIFt0YWJQYW5lQW5pbWF0ZWRdPVwidGFiUGFuZUFuaW1hdGVkXCJcbiAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxXQUFXLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFlBQVksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDekcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRdEUsTUFBTSxVQUFVLEdBQW1ELGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9GOzs7R0FHRztBQWNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBZTVDOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBdUI7UUFDcEMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdB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a0JBQWtCLEVBQUUscUNBQXFDO3FCQUM1RCxjQUNXLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDO2lJQUc3QyxJQUFJO3NCQUE1RCxlQUFlO3VCQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBTTlDLE9BQU87c0JBQWYsS0FBSztnQkFNRyxPQUFPO3NCQUFmLEtBQUs7Z0JBTUYsWUFBWTtzQkFEZixLQUFLO2dCQWNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFLbUIsV0FBVztzQkFBbkMsS0FBSztnQkFLbUIsYUFBYTtzQkFBckMsS0FBSztnQkFLSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBJbnB1dEJvb2xlYW4sIE1peGluQmFzZSwgbWl4aW5VbnN1YnNjcmliZSwgVGh5VW5zdWJzY3JpYmUgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlUYWJDb21wb25lbnQgfSBmcm9tICcuL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5QWN0aXZlVGFiSW5mbywgVGh5VGFiQWN0aXZlRXZlbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFRoeVRhYkNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3RhYi1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlOYXZDb21wb25lbnQsIFRoeU5hdkl0ZW1EaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL25hdic7XG5cbmV4cG9ydCB0eXBlIFRoeVRhYnNTaXplID0gJ2xnJyB8ICdtZCcgfCAnc20nO1xuXG5leHBvcnQgdHlwZSBUaHlUYWJzVHlwZSA9ICdwdWxsZWQnIHwgJ3RhYnMnIHwgJ3BpbGxzJyB8ICdsaXRlJztcblxuZXhwb3J0IHR5cGUgVGh5VGFic1Bvc2l0aW9uID0gJ3RvcCcgfCAnbGVmdCc7XG5cbmNvbnN0IF9NaXhpbkJhc2U6IENvbnN0cnVjdG9yPFRoeVVuc3Vic2NyaWJlPiAmIHR5cGVvZiBNaXhpbkJhc2UgPSBtaXhpblVuc3Vic2NyaWJlKE1peGluQmFzZSk7XG5cbi8qKlxuICog6YCJ6aG55Y2h5YiH5o2i57uE5Lu2XG4gKiBAbmFtZSB0aHktdGFic1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10YWJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS10YWJzJyxcbiAgICAgICAgJ1tjbGFzcy50aHktdGFicy10b3BdJzogYHRoeVBvc2l0aW9uID09PSAndG9wJ2AsXG4gICAgICAgICdbY2xhc3MudGh5LXRhYnMtbGVmdF0nOiBgdGh5UG9zaXRpb24gPT09ICdsZWZ0J2AsXG4gICAgICAgICdbc3R5bGUub3ZlcmZsb3ddJzogYHRyYW5zaXRpb25TdGFydGVkID8gXCJoaWRkZW5cIiA6IG51bGxgXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlOYXZDb21wb25lbnQsIE5nRm9yLCBUaHlOYXZJdGVtRGlyZWN0aXZlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlUYWJDb250ZW50Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUYWJzQ29tcG9uZW50IGV4dGVuZHMgX01peGluQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFRoeVRhYkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSB0YWJzID0gbmV3IFF1ZXJ5TGlzdDxUaHlUYWJDb21wb25lbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDmoIfnrb7nsbvlnotcbiAgICAgKiBAdHlwZSAncHVsbGVkJyB8ICd0YWJzJyB8ICdwaWxscycgfCAnbGl0ZSdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUeXBlOiBUaHlUYWJzVHlwZSA9ICd0YWJzJztcblxuICAgIC8qKlxuICAgICAqIOmAiemhueWNoeeahOWkp+Wwj1xuICAgICAqIEB0eXBlICdsZycgfCAnbWQnIHwgJ3NtJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNpemU6IFRoeVRhYnNTaXplID0gJ21kJztcblxuICAgIC8qKlxuICAgICAqIOa/gOa0u+eahOmhuVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUFjdGl2ZVRhYih2YWx1ZTogVGh5QWN0aXZlVGFiSW5mbykge1xuICAgICAgICBpZiAoaXNTdHJpbmcodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYklkID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmZhOWKoOaTjeS9nFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUV4dHJhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIOmAiemhueWNoeeahOS9jee9rlxuICAgICAqIEB0eXBlICd0b3AnIHwgJ2xlZnQnXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9zaXRpb246IFRoeVRhYnNQb3NpdGlvbiA9ICd0b3AnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5L2/55So5Yqo55S75YiH5o2iIFRhYnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5QW5pbWF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOWTjeW6lOW8j++8jOiHquWKqOiuoeeul+WuveW6puWtmOaUviB0aHlOYXZJdGVt77yM5bm25re75Yqg5pu05aSa5by55qGGXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVJlc3BvbnNpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOa/gOa0u+eahOmhueWPkeeUn+aUueWPmOaXtueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlBY3RpdmVUYWJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaHlUYWJBY3RpdmVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRhYkFjdGl2ZUV2ZW50PigpO1xuXG4gICAgYWN0aXZlVGFiSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgICBhY3RpdmVUYWJJZDogc3RyaW5nO1xuXG4gICAgdHJhbnNpdGlvblN0YXJ0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhYnNDb250ZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy50aHktdGFicy1jb250ZW50Jyk7XG4gICAgICAgIGZyb21FdmVudCh0YWJzQ29udGVudCwgJ3RyYW5zaXRpb25lbmQnKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uU3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGh5QWN0aXZlVGFiIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAodGh5QWN0aXZlVGFiICYmICF0aHlBY3RpdmVUYWIuZmlyc3RDaGFuZ2UgJiYgdGhpcy50aHlBbmltYXRlZCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aHlBY3RpdmVUYWI/LmN1cnJlbnRWYWx1ZT8uaW5kZXggfHwgQXJyYXkuZnJvbSh0aGlzLnRhYnMpLmZpbmRJbmRleChrID0+IGsuaWQgPT09IHRoeUFjdGl2ZVRhYj8uY3VycmVudFZhbHVlLmlkKTtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblN0YXJ0ZWQgPSB0aGlzLmFjdGl2ZVRhYkluZGV4ICE9PSBpbmRleDtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSBpbmRleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50YWJzLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMudGh5QW5pbWF0ZWQgJiYgKHRoaXMudHJhbnNpdGlvblN0YXJ0ZWQgPSB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFiUGFuZUFuaW1hdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlQb3NpdGlvbiA9PT0gJ3RvcCcgJiYgdGhpcy50aHlBbmltYXRlZDtcbiAgICB9XG5cbiAgICBnZXRUYWJDb250ZW50TWFyZ2luTGVmdCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy50YWJQYW5lQW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHstKHRoaXMuYWN0aXZlVGFiSW5kZXggfHwgMCkgKiAxMDB9JWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGFjdGl2ZVRhYih0YWI6IFRoeVRhYkNvbXBvbmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGFiLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHRhYi5pZCB8fCBudWxsO1xuICAgICAgICB0aGlzLnRoeUFuaW1hdGVkICYmICh0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdGhpcy5hY3RpdmVUYWJJbmRleCAhPT0gaW5kZXgpO1xuICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRhYi5pZCA/IHRhYi5pZCA6IGluZGV4O1xuICAgICAgICB0aGlzLnRoeUFjdGl2ZVRhYkNoYW5nZS5lbWl0KGFjdGl2ZVRhYik7XG4gICAgfVxuXG4gICAgdGFiVHJhY2tCeShpbmRleDogbnVtYmVyLCBpdGVtOiBUaHlUYWJDb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cbn1cbiIsIjwhLS0gdGFicyBuYXYgLS0+XG48dGh5LW5hdlxuICBjbGFzcz1cInRoeS10YWJzLW5hdlwiXG4gIFt0aHlUeXBlXT1cInRoeVR5cGVcIlxuICBbdGh5U2l6ZV09XCJ0aHlTaXplXCJcbiAgW3RoeUV4dHJhXT1cInRoeUV4dHJhXCJcbiAgW3RoeVZlcnRpY2FsXT1cInRoeVBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbdGh5UmVzcG9uc2l2ZV09XCJ0aHlSZXNwb25zaXZlXCJcbj5cbiAgPGFcbiAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICB0aHlOYXZJdGVtXG4gICAgW2lkXT1cInRhYi5pZFwiXG4gICAgW3RoeU5hdkl0ZW1EaXNhYmxlZF09XCJ0YWIudGh5RGlzYWJsZWRcIlxuICAgIFt0aHlOYXZJdGVtQWN0aXZlXT1cIih0YWIuaWQgJiYgYWN0aXZlVGFiSWQgJiYgdGFiLmlkID09PSBhY3RpdmVUYWJJZCkgPz8gaSA9PT0gYWN0aXZlVGFiSW5kZXhcIlxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdGFiVHJhY2tCeVwiXG4gICAgKGNsaWNrKT1cImFjdGl2ZVRhYih0YWIsIGkpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIudGl0bGVUZW1wbGF0ZVJlZjsgZWxzZSB0aXRsZU5hbWVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIudGl0bGVUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICN0aXRsZU5hbWU+XG4gICAgICB7eyB0YWIudGh5VGl0bGUgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2E+XG48L3RoeS1uYXY+XG48IS0tIHRhYnMgY29udGVudCAtLT5cbjxkaXYgY2xhc3M9XCJ0aHktdGFicy1jb250ZW50XCIgW2NsYXNzLnRoeS10YWJzLWNvbnRlbnQtYW5pbWF0ZWRdPVwidGFiUGFuZUFuaW1hdGVkXCIgW3N0eWxlLm1hcmdpbi1sZWZ0XT1cImdldFRhYkNvbnRlbnRNYXJnaW5MZWZ0KClcIj5cbiAgPGRpdlxuICAgIHRoeVRhYkNvbnRlbnRcbiAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRhYlRyYWNrQnlcIlxuICAgIFthY3RpdmVdPVwiKHRhYi5pZCAmJiBhY3RpdmVUYWJJZCAmJiB0YWIuaWQgPT09IGFjdGl2ZVRhYklkKSA/PyBpID09PSBhY3RpdmVUYWJJbmRleFwiXG4gICAgW2NvbnRlbnRdPVwidGFiLmNvbnRlbnRcIlxuICAgIFt0YWJQYW5lQW5pbWF0ZWRdPVwidGFiUGFuZUFuaW1hdGVkXCJcbiAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -26,8 +26,8 @@ export function dispatchKeyboardEvent(node, type, keyCode, key, modifiers) {
|
|
|
26
26
|
* Shorthand to dispatch a mouse event on the specified coordinates.
|
|
27
27
|
* @docs-private
|
|
28
28
|
*/
|
|
29
|
-
export function dispatchMouseEvent(node, type, clientX = 0, clientY = 0, button, modifiers, relatedTarget) {
|
|
30
|
-
return dispatchEvent(node, createMouseEvent(type, clientX, clientY, button, modifiers, relatedTarget));
|
|
29
|
+
export function dispatchMouseEvent(node, type, clientX = 0, clientY = 0, button, buttons, detail, modifiers, relatedTarget) {
|
|
30
|
+
return dispatchEvent(node, createMouseEvent(type, clientX, clientY, button, buttons, detail, modifiers, relatedTarget));
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Shorthand to dispatch a pointer event on the specified coordinates.
|
|
@@ -43,4 +43,4 @@ export function dispatchPointerEvent(node, type, clientX = 0, clientY = 0, optio
|
|
|
43
43
|
export function dispatchTouchEvent(node, type, x = 0, y = 0) {
|
|
44
44
|
return dispatchEvent(node, createTouchEvent(type, x, y));
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdGluZy9kaXNwYXRjaGVyLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhIOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQWtCLElBQW1CLEVBQUUsS0FBUTtJQUN4RSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBbUIsRUFBRSxJQUFZLEVBQUUsU0FBbUI7SUFDcEYsT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxJQUFVLEVBQUUsSUFBWSxFQUFFLE9BQWdCLEVBQUUsR0FBWSxFQUFFLFNBQXdCO0lBQ3BILE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLElBQVUsRUFDVixJQUFZLEVBQ1osT0FBTyxHQUFHLENBQUMsRUFDWCxPQUFPLEdBQUcsQ0FBQyxFQUNYLE1BQWUsRUFDZixPQUFnQixFQUNoQixNQUFlLEVBQ2YsU0FBd0IsRUFDeEIsYUFBdUI7SUFFdkIsT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBVSxFQUFFLElBQVksRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsT0FBMEI7SUFDL0csT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFpQixDQUFDO0FBQ3BHLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBVSxFQUFFLElBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ3JFLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGlmaWVyS2V5cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IGNyZWF0ZUZha2VFdmVudCwgY3JlYXRlS2V5Ym9hcmRFdmVudCwgY3JlYXRlTW91c2VFdmVudCwgY3JlYXRlUG9pbnRlckV2ZW50LCBjcmVhdGVUb3VjaEV2ZW50IH0gZnJvbSAnLi9ldmVudHMnO1xuXG4vKipcbiAqIFV0aWxpdHkgdG8gZGlzcGF0Y2ggYW55IGV2ZW50IG9uIGEgTm9kZS5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3BhdGNoRXZlbnQ8VCBleHRlbmRzIEV2ZW50Pihub2RlOiBOb2RlIHwgV2luZG93LCBldmVudDogVCk6IFQge1xuICAgIG5vZGUuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIFNob3J0aGFuZCB0byBkaXNwYXRjaCBhIGZha2UgZXZlbnQgb24gYSBzcGVjaWZpZWQgbm9kZS5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3BhdGNoRmFrZUV2ZW50KG5vZGU6IE5vZGUgfCBXaW5kb3csIHR5cGU6IHN0cmluZywgY2FuQnViYmxlPzogYm9vbGVhbik6IEV2ZW50IHtcbiAgICByZXR1cm4gZGlzcGF0Y2hFdmVudChub2RlLCBjcmVhdGVGYWtlRXZlbnQodHlwZSwgY2FuQnViYmxlKSk7XG59XG5cbi8qKlxuICogU2hvcnRoYW5kIHRvIGRpc3BhdGNoIGEga2V5Ym9hcmQgZXZlbnQgd2l0aCBhIHNwZWNpZmllZCBrZXkgY29kZSBhbmRcbiAqIG9wdGlvbmFsIG1vZGlmaWVycy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3BhdGNoS2V5Ym9hcmRFdmVudChub2RlOiBOb2RlLCB0eXBlOiBzdHJpbmcsIGtleUNvZGU/OiBudW1iZXIsIGtleT86IHN0cmluZywgbW9kaWZpZXJzPzogTW9kaWZpZXJLZXlzKTogS2V5Ym9hcmRFdmVudCB7XG4gICAgcmV0dXJuIGRpc3BhdGNoRXZlbnQobm9kZSwgY3JlYXRlS2V5Ym9hcmRFdmVudCh0eXBlLCBrZXlDb2RlLCBrZXksIG1vZGlmaWVycykpO1xufVxuXG4vKipcbiAqIFNob3J0aGFuZCB0byBkaXNwYXRjaCBhIG1vdXNlIGV2ZW50IG9uIHRoZSBzcGVjaWZpZWQgY29vcmRpbmF0ZXMuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXNwYXRjaE1vdXNlRXZlbnQoXG4gICAgbm9kZTogTm9kZSxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2xpZW50WCA9IDAsXG4gICAgY2xpZW50WSA9IDAsXG4gICAgYnV0dG9uPzogbnVtYmVyLFxuICAgIGJ1dHRvbnM/OiBudW1iZXIsXG4gICAgZGV0YWlsPzogbnVtYmVyLFxuICAgIG1vZGlmaWVycz86IE1vZGlmaWVyS2V5cyxcbiAgICByZWxhdGVkVGFyZ2V0PzogRWxlbWVudFxuKTogTW91c2VFdmVudCB7XG4gICAgcmV0dXJuIGRpc3BhdGNoRXZlbnQobm9kZSwgY3JlYXRlTW91c2VFdmVudCh0eXBlLCBjbGllbnRYLCBjbGllbnRZLCBidXR0b24sIGJ1dHRvbnMsIGRldGFpbCwgbW9kaWZpZXJzLCByZWxhdGVkVGFyZ2V0KSk7XG59XG5cbi8qKlxuICogU2hvcnRoYW5kIHRvIGRpc3BhdGNoIGEgcG9pbnRlciBldmVudCBvbiB0aGUgc3BlY2lmaWVkIGNvb3JkaW5hdGVzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzcGF0Y2hQb2ludGVyRXZlbnQobm9kZTogTm9kZSwgdHlwZTogc3RyaW5nLCBjbGllbnRYID0gMCwgY2xpZW50WSA9IDAsIG9wdGlvbnM/OiBQb2ludGVyRXZlbnRJbml0KTogUG9pbnRlckV2ZW50IHtcbiAgICByZXR1cm4gZGlzcGF0Y2hFdmVudChub2RlLCBjcmVhdGVQb2ludGVyRXZlbnQodHlwZSwgY2xpZW50WCwgY2xpZW50WSwgb3B0aW9ucykpIGFzIFBvaW50ZXJFdmVudDtcbn1cblxuLyoqXG4gKiBTaG9ydGhhbmQgdG8gZGlzcGF0Y2ggYSB0b3VjaCBldmVudCBvbiB0aGUgc3BlY2lmaWVkIGNvb3JkaW5hdGVzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzcGF0Y2hUb3VjaEV2ZW50KG5vZGU6IE5vZGUsIHR5cGU6IHN0cmluZywgeCA9IDAsIHkgPSAwKSB7XG4gICAgcmV0dXJuIGRpc3BhdGNoRXZlbnQobm9kZSwgY3JlYXRlVG91Y2hFdmVudCh0eXBlLCB4LCB5KSk7XG59XG4iXX0=
|
|
@@ -2,34 +2,32 @@
|
|
|
2
2
|
* Creates a browser MouseEvent with the specified options.
|
|
3
3
|
* @docs-private
|
|
4
4
|
*/
|
|
5
|
-
export function createMouseEvent(type, clientX = 0, clientY = 0, button = 0, modifiers = {}, relatedTarget) {
|
|
6
|
-
const event = document.createEvent('MouseEvent');
|
|
7
|
-
const originalPreventDefault = event.preventDefault.bind(event);
|
|
5
|
+
export function createMouseEvent(type, clientX = 0, clientY = 0, button = 0, buttons = 1, detail = 1, modifiers = {}, relatedTarget) {
|
|
8
6
|
// Note: We cannot determine the position of the mouse event based on the screen
|
|
9
7
|
// because the dimensions and position of the browser window are not available
|
|
10
8
|
// To provide reasonable `screenX` and `screenY` coordinates, we simply use the
|
|
11
9
|
// client coordinates as if the browser is opened in fullscreen.
|
|
12
10
|
const screenX = clientX;
|
|
13
11
|
const screenY = clientY;
|
|
14
|
-
event
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
defineReadonlyEventProperty(event, 'buttons', 1);
|
|
12
|
+
const event = new MouseEvent(type, {
|
|
13
|
+
bubbles: true,
|
|
14
|
+
cancelable: true,
|
|
15
|
+
view: window,
|
|
16
|
+
screenX,
|
|
17
|
+
screenY,
|
|
18
|
+
clientX,
|
|
19
|
+
clientY,
|
|
20
|
+
button,
|
|
21
|
+
buttons,
|
|
22
|
+
detail,
|
|
23
|
+
relatedTarget,
|
|
24
|
+
ctrlKey: !!modifiers.control,
|
|
25
|
+
altKey: !!modifiers.alt,
|
|
26
|
+
shiftKey: !!modifiers.shift,
|
|
27
|
+
metaKey: !!modifiers.meta
|
|
28
|
+
});
|
|
32
29
|
// IE won't set `defaultPrevented` on synthetic events so we need to do it manually.
|
|
30
|
+
const originalPreventDefault = event.preventDefault.bind(event);
|
|
33
31
|
event.preventDefault = function () {
|
|
34
32
|
defineReadonlyEventProperty(event, 'defaultPrevented', true);
|
|
35
33
|
return originalPreventDefault();
|
|
@@ -144,4 +142,4 @@ export function createDragEvent(type, dataTransfer = null, canBubble = false, ca
|
|
|
144
142
|
function defineReadonlyEventProperty(event, propertyName, value) {
|
|
145
143
|
Object.defineProperty(event, propertyName, { get: () => value, configurable: true });
|
|
146
144
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rlc3RpbmcvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsSUFBWSxFQUNaLE9BQU8sR0FBRyxDQUFDLEVBQ1gsT0FBTyxHQUFHLENBQUMsRUFDWCxNQUFNLEdBQUcsQ0FBQyxFQUNWLFlBQTBCLEVBQUUsRUFDNUIsYUFBdUI7SUFFdkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWhFLGdGQUFnRjtJQUNoRiw4RUFBOEU7SUFDOUUsK0VBQStFO0lBQy9FLGdFQUFnRTtJQUNoRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDeEIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXhCLEtBQUssQ0FBQyxjQUFjLENBQ2hCLElBQUk7SUFDSixlQUFlLENBQUMsSUFBSTtJQUNwQixnQkFBZ0IsQ0FBQyxJQUFJO0lBQ3JCLFVBQVUsQ0FBQyxNQUFNO0lBQ2pCLFlBQVksQ0FBQyxDQUFDO0lBQ2QsYUFBYSxDQUFDLE9BQU87SUFDckIsYUFBYSxDQUFDLE9BQU87SUFDckIsYUFBYSxDQUFDLE9BQU87SUFDckIsYUFBYSxDQUFDLE9BQU87SUFDckIsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTztJQUNqQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHO0lBQzVCLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUs7SUFDaEMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSTtJQUM5QixZQUFZLENBQUMsTUFBTTtJQUNuQixtQkFBbUIsQ0FBQyxhQUFhLENB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LEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBUyxHQUFHLEtBQUssRUFBRSxVQUFVLEdBQUcsSUFBSTtJQUM5RSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM3QyxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFZLEVBQUUsZUFBNkIsSUFBSSxFQUFFLFNBQVMsR0FBRyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUk7SUFDakgsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0MsMkJBQTJCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNqRSxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUywyQkFBMkIsQ0FBQyxLQUFZLEVBQUUsWUFBb0IsRUFBRSxLQUFVO0lBQy9FLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDekYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGlmaWVyS2V5cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgYnJvd3NlciBNb3VzZUV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBvcHRpb25zLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW91c2VFdmVudChcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2xpZW50WCA9IDAsXG4gICAgY2xpZW50WSA9IDAsXG4gICAgYnV0dG9uID0gMCxcbiAgICBtb2RpZmllcnM6IE1vZGlmaWVyS2V5cyA9IHt9LFxuICAgIHJlbGF0ZWRUYXJnZXQ/OiBFbGVtZW50XG4pIHtcbiAgICBjb25zdCBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdNb3VzZUV2ZW50Jyk7XG4gICAgY29uc3Qgb3JpZ2luYWxQcmV2ZW50RGVmYXVsdCA9IGV2ZW50LnByZXZlbnREZWZhdWx0LmJpbmQoZXZlbnQpO1xuXG4gICAgLy8gTm90ZTogV2UgY2Fubm90IGRldGVybWluZSB0aGUgcG9zaXRpb24gb2YgdGhlIG1vdXNlIGV2ZW50IGJhc2VkIG9uIHRoZSBzY3JlZW5cbiAgICAvLyBiZWNhdXNlIHRoZSBkaW1lbnNpb25zIGFuZCBwb3NpdGlvbiBvZiB0aGUgYnJvd3NlciB3aW5kb3cgYXJlIG5vdCBhdmFpbGFibGVcbiAgICAvLyBUbyBwcm92aWRlIHJlYXNvbmFibGUgYHNjcmVlblhgIGFuZCBgc2NyZWVuWWAgY29vcmRpbmF0ZXMsIHdlIHNpbXBseSB1c2UgdGhlXG4gICAgLy8gY2xpZW50IGNvb3JkaW5hdGVzIGFzIGlmIHRoZSBicm93c2VyIGlzIG9wZW5lZCBpbiBmdWxsc2NyZWVuLlxuICAgIGNvbnN0IHNjcmVlblggPSBjbGllbnRYO1xuICAgIGNvbnN0IHNjcmVlblkgPSBjbGllbnRZO1xuXG4gICAgZXZlbnQuaW5pdE1vdXNlRXZlbnQoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIC8qIGNhbkJ1YmJsZSAqLyB0cnVlLFxuICAgICAgICAvKiBjYW5jZWxhYmxlICovIHRydWUsXG4gICAgICAgIC8qIHZpZXcgKi8gd2luZG93LFxuICAgICAgICAvKiBkZXRhaWwgKi8gMCxcbiAgICAgICAgLyogc2NyZWVuWCAqLyBzY3JlZW5YLFxuICAgICAgICAvKiBzY3JlZW5ZICovIHNjcmVlblksXG4gICAgICAgIC8qIGNsaWVudFggKi8gY2xpZW50WCxcbiAgICAgICAgLyogY2xpZW50WSAqLyBjbGllbnRZLFxuICAgICAgICAvKiBjdHJsS2V5ICovICEhbW9kaWZpZXJzLmNvbnRyb2wsXG4gICAgICAgIC8qIGFsdEtleSAqLyAhIW1vZGlmaWVycy5hbHQsXG4gICAgICAgIC8qIHNoaWZ0S2V5ICovICEhbW9kaWZpZXJzLnNoaWZ0LFxuICAgICAgICAvKiBtZXRhS2V5ICovICEhbW9kaWZpZXJzLm1ldGEsXG4gICAgICAgIC8qIGJ1dHRvbiAqLyBidXR0b24sXG4gICAgICAgIC8qIHJlbGF0ZWRUYXJnZXQgKi8gcmVsYXRlZFRhcmdldFxuICAgICk7XG5cbiAgICAvLyBgaW5pdE1vdXNlRXZlbnRgIGRvZXNuJ3QgYWxsb3cgdXMgdG8gcGFzcyB0aGUgYGJ1dHRvbnNgIGFuZFxuICAgIC8vIGRlZmF1bHRzIGl0IHRvIDAgd2hpY2ggbG9va3MgbGlrZSBhIGZha2UgZXZlbnQuXG4gICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAnYnV0dG9ucycsIDEpO1xuXG4gICAgLy8gSUUgd29uJ3Qgc2V0IGBkZWZhdWx0UHJldmVudGVkYCBvbiBzeW50aGV0aWMgZXZlbnRzIHNvIHdlIG5lZWQgdG8gZG8gaXQgbWFudWFsbHkuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2RlZmF1bHRQcmV2ZW50ZWQnLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUHJldmVudERlZmF1bHQoKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBicm93c2VyIGBQb2ludGVyRXZlbnRgIHdpdGggdGhlIHNwZWNpZmllZCBvcHRpb25zLiBQb2ludGVyIGV2ZW50c1xuICogYnkgZGVmYXVsdCB3aWxsIGFwcGVhciBhcyBpZiB0aGV5IGFyZSB0aGUgcHJpbWFyeSBwb2ludGVyIG9mIHRoZWlyIHR5cGUuXG4gKiBodHRwczovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50czIvI2RvbS1wb2ludGVyZXZlbnQtaXNwcmltYXJ5LlxuICpcbiAqIEZvciBleGFtcGxlLCBpZiBwb2ludGVyIGV2ZW50cyBmb3IgYSBtdWx0aS10b3VjaCBpbnRlcmFjdGlvbiBhcmUgY3JlYXRlZCwgdGhlIG5vbi1wcmltYXJ5XG4gKiBwb2ludGVyIHRvdWNoZXMgd291bGQgbmVlZCB0byBiZSByZXByZXNlbnRlZCBieSBub24tcHJpbWFyeSBwb2ludGVyIGV2ZW50cy5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb2ludGVyRXZlbnQodHlwZTogc3RyaW5nLCBjbGllbnRYID0gMCwgY2xpZW50WSA9IDAsIG9wdGlvbnM6IFBvaW50ZXJFdmVudEluaXQgPSB7IGlzUHJpbWFyeTogdHJ1ZSB9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2ludGVyRXZlbnQodHlwZSwge1xuICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICB2aWV3OiB3aW5kb3csXG4gICAgICAgIGNsaWVudFgsXG4gICAgICAgIGNsaWVudFksXG4gICAgICAgIC4uLm9wdGlvbnNcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgYnJvd3NlciBUb3VjaEV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBwb2ludGVyIGNvb3JkaW5hdGVzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG91Y2hFdmVudCh0eXBlOiBzdHJpbmcsIHBhZ2VYID0gMCwgcGFnZVkgPSAwKSB7XG4gICAgLy8gSW4gZmF2b3Igb2YgY3JlYXRpbmcgZXZlbnRzIHRoYXQgd29yayBmb3IgbW9zdCBvZiB0aGUgYnJvd3NlcnMsIHRoZSBldmVudCBpcyBjcmVhdGVkXG4gICAgLy8gYXMgYSBiYXNpYyBVSSBFdmVudC4gVGhlIG5lY2Vzc2FyeSBkZXRhaWxzIGZvciB0aGUgZXZlbnQgd2lsbCBiZSBzZXQgbWFudWFsbHkuXG4gICAgY29uc3QgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlFdmVudCcpO1xuICAgIGNvbnN0IHRvdWNoRGV0YWlscyA9IHsgcGFnZVgsIHBhZ2VZIH07XG5cbiAgICAvLyBUUzMuNiByZW1vdmVzIHRoZSBpbml0VUlFdmVudCBtZXRob2QgYW5kIHN1Z2dlc3RzIHBvcnRpbmcgdG8gXCJuZXcgVUlFdmVudCgpXCIuXG4gICAgKGV2ZW50IGFzIGFueSkuaW5pdFVJRXZlbnQodHlwZSwgdHJ1ZSwgdHJ1ZSwgd2luZG93LCAwKTtcblxuICAgIC8vIE1vc3Qgb2YgdGhlIGJyb3dzZXJzIGRvbid0IGhhdmUgYSBcImluaXRUb3VjaEV2ZW50XCIgbWV0aG9kIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGVmaW5lXG4gICAgLy8gdGhlIHRvdWNoIGRldGFpbHMuXG4gICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAndG91Y2hlcycsIFt0b3VjaERldGFpbHNdKTtcbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICd0YXJnZXRUb3VjaGVzJywgW3RvdWNoRGV0YWlsc10pO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2NoYW5nZWRUb3VjaGVzJywgW3RvdWNoRGV0YWlsc10pO1xuXG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBrZXlib2FyZCBldmVudCB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IGFuZCBtb2RpZmllcnMuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVLZXlib2FyZEV2ZW50KHR5cGU6IHN0cmluZywga2V5Q29kZTogbnVtYmVyID0gMCwga2V5OiBzdHJpbmcgPSAnJywgbW9kaWZpZXJzOiBNb2RpZmllcktleXMgPSB7fSkge1xuICAgIGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0tleWJvYXJkRXZlbnQnKTtcbiAgICBjb25zdCBvcmlnaW5hbFByZXZlbnREZWZhdWx0ID0gZXZlbnQucHJldmVudERlZmF1bHQuYmluZChldmVudCk7XG5cbiAgICAvLyBGaXJlZm94IGRvZXMgbm90IHN1cHBvcnQgYGluaXRLZXlib2FyZEV2ZW50YCwgYnV0IHN1cHBvcnRzIGBpbml0S2V5RXZlbnRgLlxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50L2luaXRLZXlFdmVudC5cbiAgICBpZiAoKGV2ZW50IGFzIGFueSkuaW5pdEtleUV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgKGV2ZW50IGFzIGFueSkuaW5pdEtleUV2ZW50KHR5cGUsIHRydWUsIHRydWUsIHdpbmRvdywgbW9kaWZpZXJzLmNvbnRyb2wsIG1vZGlmaWVycy5hbHQsIG1vZGlmaWVycy5zaGlmdCwgbW9kaWZpZXJzLm1ldGEsIGtleUNvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGBpbml0S2V5Ym9hcmRFdmVudGAgZXhwZWN0cyB0byByZWNlaXZlIG1vZGlmaWVycyBhcyBhIHdoaXRlc3BhY2UtZGVsaW1pdGVkIHN0cmluZ1xuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0tleWJvYXJkRXZlbnQvaW5pdEtleWJvYXJkRXZlbnRcbiAgICAgICAgbGV0IG1vZGlmaWVyc0xpc3QgPSAnJztcblxuICAgICAgICBpZiAobW9kaWZpZXJzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIG1vZGlmaWVyc0xpc3QgKz0gJ0NvbnRyb2wgJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RpZmllcnMuYWx0KSB7XG4gICAgICAgICAgICBtb2RpZmllcnNMaXN0ICs9ICdBbHQgJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RpZmllcnMuc2hpZnQpIHtcbiAgICAgICAgICAgIG1vZGlmaWVyc0xpc3QgKz0gJ1NoaWZ0ICc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobW9kaWZpZXJzLm1ldGEpIHtcbiAgICAgICAgICAgIG1vZGlmaWVyc0xpc3QgKz0gJ01ldGEgJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRTMy42IHJlbW92ZWQgdGhlIGBpbml0S2V5Ym9hcmRFdmVudGAgbWV0aG9kIGFuZCBzdWdnZXN0ZWQgcG9ydGluZyB0b1xuICAgICAgICAvLyBgbmV3IEtleWJvYXJkRXZlbnQoKWAgY29uc3RydWN0b3IuIFdlIGNhbm5vdCB1c2UgdGhhdCBhcyB3ZSBzdXBwb3J0IElFMTEuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50L2luaXRLZXlib2FyZEV2ZW50LlxuICAgICAgICAoZXZlbnQgYXMgYW55KS5pbml0S2V5Ym9hcmRFdmVudChcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICB0cnVlIC8qIGNhbkJ1YmJsZSAqLyxcbiAgICAgICAgICAgIHRydWUgLyogY2FuY2VsYWJsZSAqLyxcbiAgICAgICAgICAgIHdpbmRvdyAvKiB2aWV3ICovLFxuICAgICAgICAgICAgMCAvKiBjaGFyICovLFxuICAgICAgICAgICAga2V5IC8qIGtleSAqLyxcbiAgICAgICAgICAgIDAgLyogbG9jYXRpb24gKi8sXG4gICAgICAgICAgICBtb2RpZmllcnNMaXN0LnRyaW0oKSAvKiBtb2RpZmllcnNMaXN0ICovLFxuICAgICAgICAgICAgZmFsc2UgLyogcmVwZWF0ICovXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gV2Via2l0IEJyb3dzZXJzIGRvbid0IHNldCB0aGUga2V5Q29kZSB3aGVuIGNhbGxpbmcgdGhlIGluaXQgZnVuY3Rpb24uXG4gICAgLy8gU2VlIHJlbGF0ZWQgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczNVxuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2tleUNvZGUnLCBrZXlDb2RlKTtcbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdrZXknLCBrZXkpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2N0cmxLZXknLCAhIW1vZGlmaWVycy5jb250cm9sKTtcbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdhbHRLZXknLCAhIW1vZGlmaWVycy5hbHQpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ3NoaWZ0S2V5JywgISFtb2RpZmllcnMuc2hpZnQpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ21ldGFLZXknLCAhIW1vZGlmaWVycy5tZXRhKTtcblxuICAgIC8vIElFIHdvbid0IHNldCBgZGVmYXVsdFByZXZlbnRlZGAgb24gc3ludGhldGljIGV2ZW50cyBzbyB3ZSBuZWVkIHRvIGRvIGl0IG1hbnVhbGx5LlxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdkZWZhdWx0UHJldmVudGVkJywgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbFByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcblxuICAgIHJldHVybiBldmVudDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZmFrZSBldmVudCBvYmplY3Qgd2l0aCBhbnkgZGVzaXJlZCBldmVudCB0eXBlLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmFrZUV2ZW50KHR5cGU6IHN0cmluZywgY2FuQnViYmxlID0gZmFsc2UsIGNhbmNlbGFibGUgPSB0cnVlKSB7XG4gICAgY29uc3QgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKTtcbiAgICBldmVudC5pbml0RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKTtcbiAgICByZXR1cm4gZXZlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEcmFnRXZlbnQodHlwZTogc3RyaW5nLCBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciA9IG51bGwsIGNhbkJ1YmJsZSA9IGZhbHNlLCBjYW5jZWxhYmxlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0RyYWdFdmVudCcpO1xuICAgIGV2ZW50LmluaXRFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2RhdGFUcmFuc2ZlcicsIGRhdGFUcmFuc2Zlcik7XG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIERlZmluZXMgYSByZWFkb25seSBwcm9wZXJ0eSBvbiB0aGUgZ2l2ZW4gZXZlbnQgb2JqZWN0LiBSZWFkb25seSBwcm9wZXJ0aWVzIG9uIGFuIGV2ZW50IG9iamVjdFxuICogYXJlIGFsd2F5cyBzZXQgYXMgY29uZmlndXJhYmxlIGFzIHRoYXQgbWF0Y2hlcyBkZWZhdWx0IHJlYWRvbmx5IHByb3BlcnRpZXMgZm9yIERPTSBldmVudCBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQ6IEV2ZW50LCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgcHJvcGVydHlOYW1lLCB7IGdldDogKCkgPT4gdmFsdWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbn1cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rlc3RpbmcvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsSUFBWSxFQUNaLE9BQU8sR0FBRyxDQUFDLEVBQ1gsT0FBTyxHQUFHLENBQUMsRUFDWCxNQUFNLEdBQUcsQ0FBQyxFQUNWLE9BQU8sR0FBRyxDQUFDLEVBQ1gsTUFBTSxHQUFHLENBQUMsRUFDVixZQUEwQixFQUFFLEVBQzVCLGFBQXVCO0lBRXZCLGdGQUFnRjtJQUNoRiw4RUFBOEU7SUFDOUUsK0VBQStFO0lBQy9FLGdFQUFnRTtJQUNoRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDeEIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXhCLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtRQUMvQixPQUFPLEVBQUUsSUFBSTtRQUNiLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTztRQUNQLE9BQU87UUFDUCxPQUFPO1FBQ1AsT0FBTztRQUNQLE1BQU07UUFDTixPQUFPO1FBQ1AsTUFBTTtRQUNOLGFBQWE7UUFDYixPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPO1FBQzVCLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUc7UUFDdkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSztRQUMzQixPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJO0tBQzVCLENBQUMsQ0FBQztJQUVILG9GQUFvRjtJQUNwRixNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLEtBQUssQ0FBQyxjQUFjLEdBQUc7UUFDbkIsMkJBQTJCLENBQUMsS0FB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QU8sQ0FBQyxDQUFDO0lBQzVDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM3QyxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFZLEVBQUUsZUFBNkIsSUFBSSxFQUFFLFNBQVMsR0FBRyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUk7SUFDakgsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0MsMkJBQTJCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNqRSxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUywyQkFBMkIsQ0FBQyxLQUFZLEVBQUUsWUFBb0IsRUFBRSxLQUFVO0lBQy9FLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDekYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGlmaWVyS2V5cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgYnJvd3NlciBNb3VzZUV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBvcHRpb25zLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW91c2VFdmVudChcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2xpZW50WCA9IDAsXG4gICAgY2xpZW50WSA9IDAsXG4gICAgYnV0dG9uID0gMCxcbiAgICBidXR0b25zID0gMSxcbiAgICBkZXRhaWwgPSAxLFxuICAgIG1vZGlmaWVyczogTW9kaWZpZXJLZXlzID0ge30sXG4gICAgcmVsYXRlZFRhcmdldD86IEVsZW1lbnRcbikge1xuICAgIC8vIE5vdGU6IFdlIGNhbm5vdCBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBtb3VzZSBldmVudCBiYXNlZCBvbiB0aGUgc2NyZWVuXG4gICAgLy8gYmVjYXVzZSB0aGUgZGltZW5zaW9ucyBhbmQgcG9zaXRpb24gb2YgdGhlIGJyb3dzZXIgd2luZG93IGFyZSBub3QgYXZhaWxhYmxlXG4gICAgLy8gVG8gcHJvdmlkZSByZWFzb25hYmxlIGBzY3JlZW5YYCBhbmQgYHNjcmVlbllgIGNvb3JkaW5hdGVzLCB3ZSBzaW1wbHkgdXNlIHRoZVxuICAgIC8vIGNsaWVudCBjb29yZGluYXRlcyBhcyBpZiB0aGUgYnJvd3NlciBpcyBvcGVuZWQgaW4gZnVsbHNjcmVlbi5cbiAgICBjb25zdCBzY3JlZW5YID0gY2xpZW50WDtcbiAgICBjb25zdCBzY3JlZW5ZID0gY2xpZW50WTtcblxuICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1vdXNlRXZlbnQodHlwZSwge1xuICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICB2aWV3OiB3aW5kb3csXG4gICAgICAgIHNjcmVlblgsXG4gICAgICAgIHNjcmVlblksXG4gICAgICAgIGNsaWVudFgsXG4gICAgICAgIGNsaWVudFksXG4gICAgICAgIGJ1dHRvbixcbiAgICAgICAgYnV0dG9ucyxcbiAgICAgICAgZGV0YWlsLFxuICAgICAgICByZWxhdGVkVGFyZ2V0LFxuICAgICAgICBjdHJsS2V5OiAhIW1vZGlmaWVycy5jb250cm9sLFxuICAgICAgICBhbHRLZXk6ICEhbW9kaWZpZXJzLmFsdCxcbiAgICAgICAgc2hpZnRLZXk6ICEhbW9kaWZpZXJzLnNoaWZ0LFxuICAgICAgICBtZXRhS2V5OiAhIW1vZGlmaWVycy5tZXRhXG4gICAgfSk7XG5cbiAgICAvLyBJRSB3b24ndCBzZXQgYGRlZmF1bHRQcmV2ZW50ZWRgIG9uIHN5bnRoZXRpYyBldmVudHMgc28gd2UgbmVlZCB0byBkbyBpdCBtYW51YWxseS5cbiAgICBjb25zdCBvcmlnaW5hbFByZXZlbnREZWZhdWx0ID0gZXZlbnQucHJldmVudERlZmF1bHQuYmluZChldmVudCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2RlZmF1bHRQcmV2ZW50ZWQnLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUHJldmVudERlZmF1bHQoKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBicm93c2VyIGBQb2ludGVyRXZlbnRgIHdpdGggdGhlIHNwZWNpZmllZCBvcHRpb25zLiBQb2ludGVyIGV2ZW50c1xuICogYnkgZGVmYXVsdCB3aWxsIGFwcGVhciBhcyBpZiB0aGV5IGFyZSB0aGUgcHJpbWFyeSBwb2ludGVyIG9mIHRoZWlyIHR5cGUuXG4gKiBodHRwczovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50czIvI2RvbS1wb2ludGVyZXZlbnQtaXNwcmltYXJ5LlxuICpcbiAqIEZvciBleGFtcGxlLCBpZiBwb2ludGVyIGV2ZW50cyBmb3IgYSBtdWx0aS10b3VjaCBpbnRlcmFjdGlvbiBhcmUgY3JlYXRlZCwgdGhlIG5vbi1wcmltYXJ5XG4gKiBwb2ludGVyIHRvdWNoZXMgd291bGQgbmVlZCB0byBiZSByZXByZXNlbnRlZCBieSBub24tcHJpbWFyeSBwb2ludGVyIGV2ZW50cy5cbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb2ludGVyRXZlbnQodHlwZTogc3RyaW5nLCBjbGllbnRYID0gMCwgY2xpZW50WSA9IDAsIG9wdGlvbnM6IFBvaW50ZXJFdmVudEluaXQgPSB7IGlzUHJpbWFyeTogdHJ1ZSB9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2ludGVyRXZlbnQodHlwZSwge1xuICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICB2aWV3OiB3aW5kb3csXG4gICAgICAgIGNsaWVudFgsXG4gICAgICAgIGNsaWVudFksXG4gICAgICAgIC4uLm9wdGlvbnNcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgYnJvd3NlciBUb3VjaEV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBwb2ludGVyIGNvb3JkaW5hdGVzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG91Y2hFdmVudCh0eXBlOiBzdHJpbmcsIHBhZ2VYID0gMCwgcGFnZVkgPSAwKSB7XG4gICAgLy8gSW4gZmF2b3Igb2YgY3JlYXRpbmcgZXZlbnRzIHRoYXQgd29yayBmb3IgbW9zdCBvZiB0aGUgYnJvd3NlcnMsIHRoZSBldmVudCBpcyBjcmVhdGVkXG4gICAgLy8gYXMgYSBiYXNpYyBVSSBFdmVudC4gVGhlIG5lY2Vzc2FyeSBkZXRhaWxzIGZvciB0aGUgZXZlbnQgd2lsbCBiZSBzZXQgbWFudWFsbHkuXG4gICAgY29uc3QgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlFdmVudCcpO1xuICAgIGNvbnN0IHRvdWNoRGV0YWlscyA9IHsgcGFnZVgsIHBhZ2VZIH07XG5cbiAgICAvLyBUUzMuNiByZW1vdmVzIHRoZSBpbml0VUlFdmVudCBtZXRob2QgYW5kIHN1Z2dlc3RzIHBvcnRpbmcgdG8gXCJuZXcgVUlFdmVudCgpXCIuXG4gICAgKGV2ZW50IGFzIGFueSkuaW5pdFVJRXZlbnQodHlwZSwgdHJ1ZSwgdHJ1ZSwgd2luZG93LCAwKTtcblxuICAgIC8vIE1vc3Qgb2YgdGhlIGJyb3dzZXJzIGRvbid0IGhhdmUgYSBcImluaXRUb3VjaEV2ZW50XCIgbWV0aG9kIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGVmaW5lXG4gICAgLy8gdGhlIHRvdWNoIGRldGFpbHMuXG4gICAgZGVmaW5lUmVhZG9ubHlFdmVudFByb3BlcnR5KGV2ZW50LCAndG91Y2hlcycsIFt0b3VjaERldGFpbHNdKTtcbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICd0YXJnZXRUb3VjaGVzJywgW3RvdWNoRGV0YWlsc10pO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2NoYW5nZWRUb3VjaGVzJywgW3RvdWNoRGV0YWlsc10pO1xuXG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBrZXlib2FyZCBldmVudCB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IGFuZCBtb2RpZmllcnMuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVLZXlib2FyZEV2ZW50KHR5cGU6IHN0cmluZywga2V5Q29kZTogbnVtYmVyID0gMCwga2V5OiBzdHJpbmcgPSAnJywgbW9kaWZpZXJzOiBNb2RpZmllcktleXMgPSB7fSkge1xuICAgIGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0tleWJvYXJkRXZlbnQnKTtcbiAgICBjb25zdCBvcmlnaW5hbFByZXZlbnREZWZhdWx0ID0gZXZlbnQucHJldmVudERlZmF1bHQuYmluZChldmVudCk7XG5cbiAgICAvLyBGaXJlZm94IGRvZXMgbm90IHN1cHBvcnQgYGluaXRLZXlib2FyZEV2ZW50YCwgYnV0IHN1cHBvcnRzIGBpbml0S2V5RXZlbnRgLlxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50L2luaXRLZXlFdmVudC5cbiAgICBpZiAoKGV2ZW50IGFzIGFueSkuaW5pdEtleUV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgKGV2ZW50IGFzIGFueSkuaW5pdEtleUV2ZW50KHR5cGUsIHRydWUsIHRydWUsIHdpbmRvdywgbW9kaWZpZXJzLmNvbnRyb2wsIG1vZGlmaWVycy5hbHQsIG1vZGlmaWVycy5zaGlmdCwgbW9kaWZpZXJzLm1ldGEsIGtleUNvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGBpbml0S2V5Ym9hcmRFdmVudGAgZXhwZWN0cyB0byByZWNlaXZlIG1vZGlmaWVycyBhcyBhIHdoaXRlc3BhY2UtZGVsaW1pdGVkIHN0cmluZ1xuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0tleWJvYXJkRXZlbnQvaW5pdEtleWJvYXJkRXZlbnRcbiAgICAgICAgbGV0IG1vZGlmaWVyc0xpc3QgPSAnJztcblxuICAgICAgICBpZiAobW9kaWZpZXJzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIG1vZGlmaWVyc0xpc3QgKz0gJ0NvbnRyb2wgJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RpZmllcnMuYWx0KSB7XG4gICAgICAgICAgICBtb2RpZmllcnNMaXN0ICs9ICdBbHQgJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RpZmllcnMuc2hpZnQpIHtcbiAgICAgICAgICAgIG1vZGlmaWVyc0xpc3QgKz0gJ1NoaWZ0ICc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobW9kaWZpZXJzLm1ldGEpIHtcbiAgICAgICAgICAgIG1vZGlmaWVyc0xpc3QgKz0gJ01ldGEgJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRTMy42IHJlbW92ZWQgdGhlIGBpbml0S2V5Ym9hcmRFdmVudGAgbWV0aG9kIGFuZCBzdWdnZXN0ZWQgcG9ydGluZyB0b1xuICAgICAgICAvLyBgbmV3IEtleWJvYXJkRXZlbnQoKWAgY29uc3RydWN0b3IuIFdlIGNhbm5vdCB1c2UgdGhhdCBhcyB3ZSBzdXBwb3J0IElFMTEuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50L2luaXRLZXlib2FyZEV2ZW50LlxuICAgICAgICAoZXZlbnQgYXMgYW55KS5pbml0S2V5Ym9hcmRFdmVudChcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICB0cnVlIC8qIGNhbkJ1YmJsZSAqLyxcbiAgICAgICAgICAgIHRydWUgLyogY2FuY2VsYWJsZSAqLyxcbiAgICAgICAgICAgIHdpbmRvdyAvKiB2aWV3ICovLFxuICAgICAgICAgICAgMCAvKiBjaGFyICovLFxuICAgICAgICAgICAga2V5IC8qIGtleSAqLyxcbiAgICAgICAgICAgIDAgLyogbG9jYXRpb24gKi8sXG4gICAgICAgICAgICBtb2RpZmllcnNMaXN0LnRyaW0oKSAvKiBtb2RpZmllcnNMaXN0ICovLFxuICAgICAgICAgICAgZmFsc2UgLyogcmVwZWF0ICovXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gV2Via2l0IEJyb3dzZXJzIGRvbid0IHNldCB0aGUga2V5Q29kZSB3aGVuIGNhbGxpbmcgdGhlIGluaXQgZnVuY3Rpb24uXG4gICAgLy8gU2VlIHJlbGF0ZWQgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczNVxuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2tleUNvZGUnLCBrZXlDb2RlKTtcbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdrZXknLCBrZXkpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2N0cmxLZXknLCAhIW1vZGlmaWVycy5jb250cm9sKTtcbiAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdhbHRLZXknLCAhIW1vZGlmaWVycy5hbHQpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ3NoaWZ0S2V5JywgISFtb2RpZmllcnMuc2hpZnQpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ21ldGFLZXknLCAhIW1vZGlmaWVycy5tZXRhKTtcblxuICAgIC8vIElFIHdvbid0IHNldCBgZGVmYXVsdFByZXZlbnRlZGAgb24gc3ludGhldGljIGV2ZW50cyBzbyB3ZSBuZWVkIHRvIGRvIGl0IG1hbnVhbGx5LlxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQsICdkZWZhdWx0UHJldmVudGVkJywgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbFByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcblxuICAgIHJldHVybiBldmVudDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZmFrZSBldmVudCBvYmplY3Qgd2l0aCBhbnkgZGVzaXJlZCBldmVudCB0eXBlLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmFrZUV2ZW50KHR5cGU6IHN0cmluZywgY2FuQnViYmxlID0gZmFsc2UsIGNhbmNlbGFibGUgPSB0cnVlKSB7XG4gICAgY29uc3QgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKTtcbiAgICBldmVudC5pbml0RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKTtcbiAgICByZXR1cm4gZXZlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEcmFnRXZlbnQodHlwZTogc3RyaW5nLCBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciA9IG51bGwsIGNhbkJ1YmJsZSA9IGZhbHNlLCBjYW5jZWxhYmxlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0RyYWdFdmVudCcpO1xuICAgIGV2ZW50LmluaXRFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpO1xuICAgIGRlZmluZVJlYWRvbmx5RXZlbnRQcm9wZXJ0eShldmVudCwgJ2RhdGFUcmFuc2ZlcicsIGRhdGFUcmFuc2Zlcik7XG4gICAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIERlZmluZXMgYSByZWFkb25seSBwcm9wZXJ0eSBvbiB0aGUgZ2l2ZW4gZXZlbnQgb2JqZWN0LiBSZWFkb25seSBwcm9wZXJ0aWVzIG9uIGFuIGV2ZW50IG9iamVjdFxuICogYXJlIGFsd2F5cyBzZXQgYXMgY29uZmlndXJhYmxlIGFzIHRoYXQgbWF0Y2hlcyBkZWZhdWx0IHJlYWRvbmx5IHByb3BlcnRpZXMgZm9yIERPTSBldmVudCBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFkb25seUV2ZW50UHJvcGVydHkoZXZlbnQ6IEV2ZW50LCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgcHJvcGVydHlOYW1lLCB7IGdldDogKCkgPT4gdmFsdWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbn1cbiJdfQ==
|
package/esm2022/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('16.2.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('16.2.3');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNi4yLjMnKTtcbiJdfQ==
|
|
@@ -169,6 +169,7 @@ class ThyTabsComponent extends _MixinBase {
|
|
|
169
169
|
this.tabs.changes.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(data => {
|
|
170
170
|
this.thyAnimated && (this.transitionStarted = true);
|
|
171
171
|
this.activeTabIndex = data.length - 1;
|
|
172
|
+
this.cd.markForCheck();
|
|
172
173
|
});
|
|
173
174
|
}
|
|
174
175
|
get tabPaneAnimated() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-tabs.mjs","sources":["../../../src/tabs/tab.component.ts","../../../src/tabs/tab-content.component.ts","../../../src/tabs/tabs.component.ts","../../../src/tabs/tabs.component.html","../../../src/tabs/tabs.module.ts","../../../src/tabs/ngx-tethys-tabs.ts"],"sourcesContent":["import { Component, OnInit, ChangeDetectionStrategy, Input, ViewChild, TemplateRef, ContentChild } from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\n\n/**\n * 选项卡的选项组件\n * @name thy-tab\n */\n@Component({\n selector: 'thy-tab',\n template: ` <ng-template #content><ng-content></ng-content></ng-template> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyTabComponent implements OnInit {\n /**\n * 自定义选项标题的模板\n * @type TemplateRef\n */\n @ContentChild('title') titleTemplateRef: TemplateRef<unknown>;\n\n @ViewChild('content', { static: true }) content: TemplateRef<HTMLElement>;\n\n /**\n * 选项标题\n */\n @Input() thyTitle: string;\n\n /**\n * 选项的唯一标识\n */\n @Input() id: string;\n\n /**\n * 是否禁用选项\n * @default false\n */\n @Input() @InputBoolean() thyDisabled: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-tab-content, [thyTabContent]',\n exportAs: 'thyTabContent',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-container *ngIf=\"active\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n `,\n host: {\n class: 'thy-tab-content',\n '[attr.aria-hidden]': '!active',\n '[attr.tabindex]': 'active ? 0 : -1',\n '[style.visibility]': 'tabPaneAnimated ? active ? null : \"hidden\" : null',\n '[style.height]': 'tabPaneAnimated ? active ? null : 0 : null',\n '[style.overflow-y]': 'tabPaneAnimated ? active ? null : \"none\" : null',\n '[style.display]': '!tabPaneAnimated ? active ? null : \"none\" : null'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyTabContentComponent {\n @Input() content: TemplateRef<void> | null = null;\n\n @Input() active = false;\n\n @Input() tabPaneAnimated = true;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport { Constructor, InputBoolean, MixinBase, mixinUnsubscribe, ThyUnsubscribe } from 'ngx-tethys/core';\nimport { isString } from 'ngx-tethys/util';\nimport { fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ThyTabComponent } from './tab.component';\nimport { ThyActiveTabInfo, ThyTabActiveEvent } from './types';\nimport { ThyTabContentComponent } from './tab-content.component';\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ThyNavComponent, ThyNavItemDirective } from 'ngx-tethys/nav';\n\nexport type ThyTabsSize = 'lg' | 'md' | 'sm';\n\nexport type ThyTabsType = 'pulled' | 'tabs' | 'pills' | 'lite';\n\nexport type ThyTabsPosition = 'top' | 'left';\n\nconst _MixinBase: Constructor<ThyUnsubscribe> & typeof MixinBase = mixinUnsubscribe(MixinBase);\n\n/**\n * 选项卡切换组件\n * @name thy-tabs\n */\n@Component({\n selector: 'thy-tabs',\n templateUrl: './tabs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tabs',\n '[class.thy-tabs-top]': `thyPosition === 'top'`,\n '[class.thy-tabs-left]': `thyPosition === 'left'`,\n '[style.overflow]': `transitionStarted ? \"hidden\" : null`\n },\n standalone: true,\n imports: [ThyNavComponent, NgFor, ThyNavItemDirective, NgIf, NgTemplateOutlet, ThyTabContentComponent]\n})\nexport class ThyTabsComponent extends _MixinBase implements OnInit, OnChanges, AfterContentInit {\n @ContentChildren(ThyTabComponent, { descendants: true }) tabs = new QueryList<ThyTabComponent>();\n\n /**\n * 标签类型\n * @type 'pulled' | 'tabs' | 'pills' | 'lite'\n */\n @Input() thyType: ThyTabsType = 'tabs';\n\n /**\n * 选项卡的大小\n * @type 'lg' | 'md' | 'sm'\n */\n @Input() thySize: ThyTabsSize = 'md';\n\n /**\n * 激活的项\n */\n @Input()\n set thyActiveTab(value: ThyActiveTabInfo) {\n if (isString(value)) {\n this.activeTabId = value;\n this.activeTabIndex = undefined;\n } else {\n this.activeTabIndex = value;\n this.activeTabId = undefined;\n }\n }\n\n /**\n * 附加操作\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * 选项卡的位置\n * @type 'top' | 'left'\n */\n @Input() thyPosition: ThyTabsPosition = 'top';\n\n /**\n * 是否使用动画切换 Tabs\n */\n @Input() @InputBoolean() thyAnimated: boolean = false;\n\n /**\n * 响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n */\n @Input() @InputBoolean() thyResponsive: boolean = false;\n\n /**\n * 激活的项发生改变时的回调\n */\n @Output() thyActiveTabChange: EventEmitter<ThyTabActiveEvent> = new EventEmitter<ThyTabActiveEvent>();\n\n activeTabIndex: number = 0;\n\n activeTabId: string;\n\n transitionStarted: boolean = false;\n\n constructor(private cd: ChangeDetectorRef, private el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n const tabsContent = this.el.nativeElement.querySelector('.thy-tabs-content');\n fromEvent(tabsContent, 'transitionend')\n .pipe(takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.transitionStarted = false;\n this.cd.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyActiveTab } = changes;\n if (thyActiveTab && !thyActiveTab.firstChange && this.thyAnimated) {\n const index = thyActiveTab?.currentValue?.index || Array.from(this.tabs).findIndex(k => k.id === thyActiveTab?.currentValue.id);\n this.transitionStarted = this.activeTabIndex !== index;\n this.activeTabIndex = index;\n }\n }\n\n ngAfterContentInit() {\n this.tabs.changes.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.thyAnimated && (this.transitionStarted = true);\n this.activeTabIndex = data.length - 1;\n });\n }\n\n get tabPaneAnimated(): boolean {\n return this.thyPosition === 'top' && this.thyAnimated;\n }\n\n getTabContentMarginLeft(): string {\n if (this.tabPaneAnimated) {\n return `${-(this.activeTabIndex || 0) * 100}%`;\n }\n return '';\n }\n\n activeTab(tab: ThyTabComponent, index: number) {\n if (tab.thyDisabled) {\n return;\n }\n this.activeTabId = tab.id || null;\n this.thyAnimated && (this.transitionStarted = this.activeTabIndex !== index);\n this.activeTabIndex = index;\n const activeTab = tab.id ? tab.id : index;\n this.thyActiveTabChange.emit(activeTab);\n }\n\n tabTrackBy(index: number, item: ThyTabComponent) {\n return index;\n }\n}\n","<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\"\n>\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n (click)=\"activeTab(tab, i)\"\n >\n <ng-container *ngIf=\"tab.titleTemplateRef; else titleName\">\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n </ng-container>\n <ng-template #titleName>\n {{ tab.thyTitle }}\n </ng-template>\n </a>\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n <div\n thyTabContent\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"\n ></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyTabsComponent } from './tabs.component';\nimport { ThyTabComponent } from './tab.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyNavModule } from 'ngx-tethys/nav';\nimport { ThyTabContentComponent } from './tab-content.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyNavModule, ThyTabsComponent, ThyTabComponent, ThyTabContentComponent],\n exports: [ThyTabsComponent, ThyTabComponent]\n})\nexport class ThyTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAGA;;;AAGG;MAOU,eAAe,CAAA;AAyBxB,IAAA,WAAA,GAAA,GAAgB;AAEhB,IAAA,QAAQ,MAAW;8GA3BV,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,oWAJd,CAAiE,+DAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AA2B3E,UAAA,CAAA;AAAU,IAAA,YAAY,EAAE;;AAAsB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAvBrC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EAAE,CAAiE,+DAAA,CAAA;oBAC3E,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;0EAM0B,gBAAgB,EAAA,CAAA;sBAAtC,YAAY;uBAAC,OAAO,CAAA;gBAEmB,OAAO,EAAA,CAAA;sBAA9C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAK7B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAMmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;;;ACjCV;;AAEG;MAwBU,sBAAsB,CAAA;AAvBnC,IAAA,WAAA,GAAA;QAwBa,IAAO,CAAA,OAAA,GAA6B,IAAI,CAAC;QAEzC,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QAEf,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AACnC,KAAA;8GANY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAjBrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,qDAAA,EAAA,cAAA,EAAA,4CAAA,EAAA,kBAAA,EAAA,mDAAA,EAAA,eAAA,EAAA,oDAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;KAIT,EAWS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEvB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAvBlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,oBAAoB,EAAE,SAAS;AAC/B,wBAAA,iBAAiB,EAAE,iBAAiB;AACpC,wBAAA,oBAAoB,EAAE,mDAAmD;AACzE,wBAAA,gBAAgB,EAAE,4CAA4C;AAC9D,wBAAA,oBAAoB,EAAE,iDAAiD;AACvE,wBAAA,iBAAiB,EAAE,kDAAkD;AACxE,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;AACpC,iBAAA,CAAA;8BAEY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;ACFV,MAAM,UAAU,GAAmD,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAE/F;;;AAGG;AAcG,MAAO,gBAAiB,SAAQ,UAAU,CAAA;AAe5C;;AAEG;IACH,IACI,YAAY,CAAC,KAAuB,EAAA;AACpC,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACjB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;AACnC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;AAChC,SAAA;KACJ;IAkCD,WAAoB,CAAA,EAAqB,EAAU,EAAc,EAAA;AAC7D,QAAA,KAAK,EAAE,CAAC;QADQ,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QAAU,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AA5DR,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,SAAS,EAAmB,CAAC;AAEjG;;;AAGG;QACM,IAAO,CAAA,OAAA,GAAgB,MAAM,CAAC;AAEvC;;;AAGG;QACM,IAAO,CAAA,OAAA,GAAgB,IAAI,CAAC;AAqBrC;;;AAGG;QACM,IAAW,CAAA,WAAA,GAAoB,KAAK,CAAC;AAE9C;;AAEG;QACsB,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAEtD;;AAEG;QACsB,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAExD;;AAEG;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAoC,IAAI,YAAY,EAAqB,CAAC;QAEtG,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;QAI3B,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;KAIlC;IAED,QAAQ,GAAA;AACJ,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAC7E,QAAA,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;AAClC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACpC,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;KACV;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QACjC,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;AAC/D,YAAA,MAAM,KAAK,GAAG,YAAY,EAAE,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAChI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;AACvD,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC/B,SAAA;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;YACpE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACN;AAED,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;KACzD;IAED,uBAAuB,GAAA;QACnB,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,OAAO,CAAG,EAAA,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA,CAAA,CAAG,CAAC;AAClD,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACb;IAED,SAAS,CAAC,GAAoB,EAAE,KAAa,EAAA;QACzC,IAAI,GAAG,CAAC,WAAW,EAAE;YACjB,OAAO;AACV,SAAA;QACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,QAAA,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;AAC1C,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3C;IAED,UAAU,CAAC,KAAa,EAAE,IAAqB,EAAA;AAC3C,QAAA,OAAO,KAAK,CAAC;KAChB;8GAnHQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EACR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,uCAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,eAAe,ECpDpC,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,guCAoCA,4CDac,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAE,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,EAAE,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,oJAAE,sBAAsB,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AA6CrG,UAAA,CAAA;AAAU,IAAA,YAAY,EAAE;;AAA8B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKtD,UAAA,CAAA;AAAU,IAAA,YAAY,EAAE;;AAAgC,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAhD/C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAEH,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,sBAAsB,EAAE,CAAuB,qBAAA,CAAA;AAC/C,wBAAA,uBAAuB,EAAE,CAAwB,sBAAA,CAAA;AACjD,wBAAA,kBAAkB,EAAE,CAAqC,mCAAA,CAAA;AAC5D,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,QAAA,EAAA,guCAAA,EAAA,CAAA;iIAG7C,IAAI,EAAA,CAAA;sBAA5D,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAM9C,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAcG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;gBAKmB,aAAa,EAAA,CAAA;sBAArC,KAAK;gBAKI,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;ME5FE,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAHZ,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,CACpG,EAAA,OAAA,EAAA,CAAA,gBAAgB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAElC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHZ,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG5D,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,CAAC;AAC/G,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;AAC/C,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-tabs.mjs","sources":["../../../src/tabs/tab.component.ts","../../../src/tabs/tab-content.component.ts","../../../src/tabs/tabs.component.ts","../../../src/tabs/tabs.component.html","../../../src/tabs/tabs.module.ts","../../../src/tabs/ngx-tethys-tabs.ts"],"sourcesContent":["import { Component, OnInit, ChangeDetectionStrategy, Input, ViewChild, TemplateRef, ContentChild } from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\n\n/**\n * 选项卡的选项组件\n * @name thy-tab\n */\n@Component({\n selector: 'thy-tab',\n template: ` <ng-template #content><ng-content></ng-content></ng-template> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyTabComponent implements OnInit {\n /**\n * 自定义选项标题的模板\n * @type TemplateRef\n */\n @ContentChild('title') titleTemplateRef: TemplateRef<unknown>;\n\n @ViewChild('content', { static: true }) content: TemplateRef<HTMLElement>;\n\n /**\n * 选项标题\n */\n @Input() thyTitle: string;\n\n /**\n * 选项的唯一标识\n */\n @Input() id: string;\n\n /**\n * 是否禁用选项\n * @default false\n */\n @Input() @InputBoolean() thyDisabled: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-tab-content, [thyTabContent]',\n exportAs: 'thyTabContent',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-container *ngIf=\"active\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n `,\n host: {\n class: 'thy-tab-content',\n '[attr.aria-hidden]': '!active',\n '[attr.tabindex]': 'active ? 0 : -1',\n '[style.visibility]': 'tabPaneAnimated ? active ? null : \"hidden\" : null',\n '[style.height]': 'tabPaneAnimated ? active ? null : 0 : null',\n '[style.overflow-y]': 'tabPaneAnimated ? active ? null : \"none\" : null',\n '[style.display]': '!tabPaneAnimated ? active ? null : \"none\" : null'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyTabContentComponent {\n @Input() content: TemplateRef<void> | null = null;\n\n @Input() active = false;\n\n @Input() tabPaneAnimated = true;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport { Constructor, InputBoolean, MixinBase, mixinUnsubscribe, ThyUnsubscribe } from 'ngx-tethys/core';\nimport { isString } from 'ngx-tethys/util';\nimport { fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ThyTabComponent } from './tab.component';\nimport { ThyActiveTabInfo, ThyTabActiveEvent } from './types';\nimport { ThyTabContentComponent } from './tab-content.component';\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ThyNavComponent, ThyNavItemDirective } from 'ngx-tethys/nav';\n\nexport type ThyTabsSize = 'lg' | 'md' | 'sm';\n\nexport type ThyTabsType = 'pulled' | 'tabs' | 'pills' | 'lite';\n\nexport type ThyTabsPosition = 'top' | 'left';\n\nconst _MixinBase: Constructor<ThyUnsubscribe> & typeof MixinBase = mixinUnsubscribe(MixinBase);\n\n/**\n * 选项卡切换组件\n * @name thy-tabs\n */\n@Component({\n selector: 'thy-tabs',\n templateUrl: './tabs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tabs',\n '[class.thy-tabs-top]': `thyPosition === 'top'`,\n '[class.thy-tabs-left]': `thyPosition === 'left'`,\n '[style.overflow]': `transitionStarted ? \"hidden\" : null`\n },\n standalone: true,\n imports: [ThyNavComponent, NgFor, ThyNavItemDirective, NgIf, NgTemplateOutlet, ThyTabContentComponent]\n})\nexport class ThyTabsComponent extends _MixinBase implements OnInit, OnChanges, AfterContentInit {\n @ContentChildren(ThyTabComponent, { descendants: true }) tabs = new QueryList<ThyTabComponent>();\n\n /**\n * 标签类型\n * @type 'pulled' | 'tabs' | 'pills' | 'lite'\n */\n @Input() thyType: ThyTabsType = 'tabs';\n\n /**\n * 选项卡的大小\n * @type 'lg' | 'md' | 'sm'\n */\n @Input() thySize: ThyTabsSize = 'md';\n\n /**\n * 激活的项\n */\n @Input()\n set thyActiveTab(value: ThyActiveTabInfo) {\n if (isString(value)) {\n this.activeTabId = value;\n this.activeTabIndex = undefined;\n } else {\n this.activeTabIndex = value;\n this.activeTabId = undefined;\n }\n }\n\n /**\n * 附加操作\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * 选项卡的位置\n * @type 'top' | 'left'\n */\n @Input() thyPosition: ThyTabsPosition = 'top';\n\n /**\n * 是否使用动画切换 Tabs\n */\n @Input() @InputBoolean() thyAnimated: boolean = false;\n\n /**\n * 响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n */\n @Input() @InputBoolean() thyResponsive: boolean = false;\n\n /**\n * 激活的项发生改变时的回调\n */\n @Output() thyActiveTabChange: EventEmitter<ThyTabActiveEvent> = new EventEmitter<ThyTabActiveEvent>();\n\n activeTabIndex: number = 0;\n\n activeTabId: string;\n\n transitionStarted: boolean = false;\n\n constructor(private cd: ChangeDetectorRef, private el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n const tabsContent = this.el.nativeElement.querySelector('.thy-tabs-content');\n fromEvent(tabsContent, 'transitionend')\n .pipe(takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.transitionStarted = false;\n this.cd.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyActiveTab } = changes;\n if (thyActiveTab && !thyActiveTab.firstChange && this.thyAnimated) {\n const index = thyActiveTab?.currentValue?.index || Array.from(this.tabs).findIndex(k => k.id === thyActiveTab?.currentValue.id);\n this.transitionStarted = this.activeTabIndex !== index;\n this.activeTabIndex = index;\n }\n }\n\n ngAfterContentInit() {\n this.tabs.changes.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.thyAnimated && (this.transitionStarted = true);\n this.activeTabIndex = data.length - 1;\n this.cd.markForCheck();\n });\n }\n\n get tabPaneAnimated(): boolean {\n return this.thyPosition === 'top' && this.thyAnimated;\n }\n\n getTabContentMarginLeft(): string {\n if (this.tabPaneAnimated) {\n return `${-(this.activeTabIndex || 0) * 100}%`;\n }\n return '';\n }\n\n activeTab(tab: ThyTabComponent, index: number) {\n if (tab.thyDisabled) {\n return;\n }\n this.activeTabId = tab.id || null;\n this.thyAnimated && (this.transitionStarted = this.activeTabIndex !== index);\n this.activeTabIndex = index;\n const activeTab = tab.id ? tab.id : index;\n this.thyActiveTabChange.emit(activeTab);\n }\n\n tabTrackBy(index: number, item: ThyTabComponent) {\n return index;\n }\n}\n","<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\"\n>\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n (click)=\"activeTab(tab, i)\"\n >\n <ng-container *ngIf=\"tab.titleTemplateRef; else titleName\">\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n </ng-container>\n <ng-template #titleName>\n {{ tab.thyTitle }}\n </ng-template>\n </a>\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n <div\n thyTabContent\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"\n ></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyTabsComponent } from './tabs.component';\nimport { ThyTabComponent } from './tab.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyNavModule } from 'ngx-tethys/nav';\nimport { ThyTabContentComponent } from './tab-content.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyNavModule, ThyTabsComponent, ThyTabComponent, ThyTabContentComponent],\n exports: [ThyTabsComponent, ThyTabComponent]\n})\nexport class ThyTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,34 +8,32 @@ import { HttpHeaders } from '@angular/common/http';
|
|
|
8
8
|
* Creates a browser MouseEvent with the specified options.
|
|
9
9
|
* @docs-private
|
|
10
10
|
*/
|
|
11
|
-
function createMouseEvent(type, clientX = 0, clientY = 0, button = 0, modifiers = {}, relatedTarget) {
|
|
12
|
-
const event = document.createEvent('MouseEvent');
|
|
13
|
-
const originalPreventDefault = event.preventDefault.bind(event);
|
|
11
|
+
function createMouseEvent(type, clientX = 0, clientY = 0, button = 0, buttons = 1, detail = 1, modifiers = {}, relatedTarget) {
|
|
14
12
|
// Note: We cannot determine the position of the mouse event based on the screen
|
|
15
13
|
// because the dimensions and position of the browser window are not available
|
|
16
14
|
// To provide reasonable `screenX` and `screenY` coordinates, we simply use the
|
|
17
15
|
// client coordinates as if the browser is opened in fullscreen.
|
|
18
16
|
const screenX = clientX;
|
|
19
17
|
const screenY = clientY;
|
|
20
|
-
event
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
defineReadonlyEventProperty(event, 'buttons', 1);
|
|
18
|
+
const event = new MouseEvent(type, {
|
|
19
|
+
bubbles: true,
|
|
20
|
+
cancelable: true,
|
|
21
|
+
view: window,
|
|
22
|
+
screenX,
|
|
23
|
+
screenY,
|
|
24
|
+
clientX,
|
|
25
|
+
clientY,
|
|
26
|
+
button,
|
|
27
|
+
buttons,
|
|
28
|
+
detail,
|
|
29
|
+
relatedTarget,
|
|
30
|
+
ctrlKey: !!modifiers.control,
|
|
31
|
+
altKey: !!modifiers.alt,
|
|
32
|
+
shiftKey: !!modifiers.shift,
|
|
33
|
+
metaKey: !!modifiers.meta
|
|
34
|
+
});
|
|
38
35
|
// IE won't set `defaultPrevented` on synthetic events so we need to do it manually.
|
|
36
|
+
const originalPreventDefault = event.preventDefault.bind(event);
|
|
39
37
|
event.preventDefault = function () {
|
|
40
38
|
defineReadonlyEventProperty(event, 'defaultPrevented', true);
|
|
41
39
|
return originalPreventDefault();
|
|
@@ -178,8 +176,8 @@ function dispatchKeyboardEvent(node, type, keyCode, key, modifiers) {
|
|
|
178
176
|
* Shorthand to dispatch a mouse event on the specified coordinates.
|
|
179
177
|
* @docs-private
|
|
180
178
|
*/
|
|
181
|
-
function dispatchMouseEvent(node, type, clientX = 0, clientY = 0, button, modifiers, relatedTarget) {
|
|
182
|
-
return dispatchEvent(node, createMouseEvent(type, clientX, clientY, button, modifiers, relatedTarget));
|
|
179
|
+
function dispatchMouseEvent(node, type, clientX = 0, clientY = 0, button, buttons, detail, modifiers, relatedTarget) {
|
|
180
|
+
return dispatchEvent(node, createMouseEvent(type, clientX, clientY, button, buttons, detail, modifiers, relatedTarget));
|
|
183
181
|
}
|
|
184
182
|
/**
|
|
185
183
|
* Shorthand to dispatch a pointer event on the specified coordinates.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-testing.mjs","sources":["../../../src/testing/events.ts","../../../src/testing/dispatcher-events.ts","../../../src/testing/element-focus.ts","../../../src/testing/type-in-element.ts","../../../src/testing/thy-icon.ts","../../../src/testing/data-transfer.ts","../../../src/testing/xhr-mock.ts","../../../src/testing/ngx-tethys-testing.ts"],"sourcesContent":["import { ModifierKeys } from '@angular/cdk/testing';\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(\n type: string,\n clientX = 0,\n clientY = 0,\n button = 0,\n modifiers: ModifierKeys = {},\n relatedTarget?: Element\n) {\n const event = document.createEvent('MouseEvent');\n const originalPreventDefault = event.preventDefault.bind(event);\n\n // Note: We cannot determine the position of the mouse event based on the screen\n // because the dimensions and position of the browser window are not available\n // To provide reasonable `screenX` and `screenY` coordinates, we simply use the\n // client coordinates as if the browser is opened in fullscreen.\n const screenX = clientX;\n const screenY = clientY;\n\n event.initMouseEvent(\n type,\n /* canBubble */ true,\n /* cancelable */ true,\n /* view */ window,\n /* detail */ 0,\n /* screenX */ screenX,\n /* screenY */ screenY,\n /* clientX */ clientX,\n /* clientY */ clientY,\n /* ctrlKey */ !!modifiers.control,\n /* altKey */ !!modifiers.alt,\n /* shiftKey */ !!modifiers.shift,\n /* metaKey */ !!modifiers.meta,\n /* button */ button,\n /* relatedTarget */ relatedTarget\n );\n\n // `initMouseEvent` doesn't allow us to pass the `buttons` and\n // defaults it to 0 which looks like a fake event.\n defineReadonlyEventProperty(event, 'buttons', 1);\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function () {\n defineReadonlyEventProperty(event, 'defaultPrevented', true);\n return originalPreventDefault();\n };\n\n return event;\n}\n\n/**\n * Creates a browser `PointerEvent` with the specified options. Pointer events\n * by default will appear as if they are the primary pointer of their type.\n * https://www.w3.org/TR/pointerevents2/#dom-pointerevent-isprimary.\n *\n * For example, if pointer events for a multi-touch interaction are created, the non-primary\n * pointer touches would need to be represented by non-primary pointer events.\n *\n * @docs-private\n */\nexport function createPointerEvent(type: string, clientX = 0, clientY = 0, options: PointerEventInit = { isPrimary: true }) {\n return new PointerEvent(type, {\n bubbles: true,\n cancelable: true,\n view: window,\n clientX,\n clientY,\n ...options\n });\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = { pageX, pageY };\n\n // TS3.6 removes the initUIEvent method and suggests porting to \"new UIEvent()\".\n (event as any).initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n defineReadonlyEventProperty(event, 'touches', [touchDetails]);\n defineReadonlyEventProperty(event, 'targetTouches', [touchDetails]);\n defineReadonlyEventProperty(event, 'changedTouches', [touchDetails]);\n\n return event;\n}\n\n/**\n * Creates a keyboard event with the specified key and modifiers.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '', modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent');\n const originalPreventDefault = event.preventDefault.bind(event);\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyEvent.\n if ((event as any).initKeyEvent !== undefined) {\n (event as any).initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift, modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n let modifiersList = '';\n\n if (modifiers.control) {\n modifiersList += 'Control ';\n }\n\n if (modifiers.alt) {\n modifiersList += 'Alt ';\n }\n\n if (modifiers.shift) {\n modifiersList += 'Shift ';\n }\n\n if (modifiers.meta) {\n modifiersList += 'Meta ';\n }\n\n // TS3.6 removed the `initKeyboardEvent` method and suggested porting to\n // `new KeyboardEvent()` constructor. We cannot use that as we support IE11.\n // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent.\n (event as any).initKeyboardEvent(\n type,\n true /* canBubble */,\n true /* cancelable */,\n window /* view */,\n 0 /* char */,\n key /* key */,\n 0 /* location */,\n modifiersList.trim() /* modifiersList */,\n false /* repeat */\n );\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n defineReadonlyEventProperty(event, 'keyCode', keyCode);\n defineReadonlyEventProperty(event, 'key', key);\n defineReadonlyEventProperty(event, 'ctrlKey', !!modifiers.control);\n defineReadonlyEventProperty(event, 'altKey', !!modifiers.alt);\n defineReadonlyEventProperty(event, 'shiftKey', !!modifiers.shift);\n defineReadonlyEventProperty(event, 'metaKey', !!modifiers.meta);\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function () {\n defineReadonlyEventProperty(event, 'defaultPrevented', true);\n return originalPreventDefault();\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\n}\n\nexport function createDragEvent(type: string, dataTransfer: DataTransfer = null, canBubble = false, cancelable = true) {\n const event = document.createEvent('DragEvent');\n event.initEvent(type, canBubble, cancelable);\n defineReadonlyEventProperty(event, 'dataTransfer', dataTransfer);\n return event;\n}\n\n/**\n * Defines a readonly property on the given event object. Readonly properties on an event object\n * are always set as configurable as that matches default readonly properties for DOM event objects.\n */\nfunction defineReadonlyEventProperty(event: Event, propertyName: string, value: any) {\n Object.defineProperty(event, propertyName, { get: () => value, configurable: true });\n}\n","import { ModifierKeys } from '@angular/cdk/testing';\nimport { createFakeEvent, createKeyboardEvent, createMouseEvent, createPointerEvent, createTouchEvent } from './events';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent<T extends Event>(node: Node | Window, event: T): T {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code and\n * optional modifiers.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node, createKeyboardEvent(type, keyCode, key, modifiers));\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(\n node: Node,\n type: string,\n clientX = 0,\n clientY = 0,\n button?: number,\n modifiers?: ModifierKeys,\n relatedTarget?: Element\n): MouseEvent {\n return dispatchEvent(node, createMouseEvent(type, clientX, clientY, button, modifiers, relatedTarget));\n}\n\n/**\n * Shorthand to dispatch a pointer event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchPointerEvent(node: Node, type: string, clientX = 0, clientY = 0, options?: PointerEventInit): PointerEvent {\n return dispatchEvent(node, createPointerEvent(type, clientX, clientY, options)) as PointerEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { dispatchFakeEvent } from './dispatcher-events';\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { dispatchFakeEvent } from './dispatcher-events';\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param value Value to be set on the input.\n * @param element Element onto which to set the value.\n */\nexport function typeInElement(value: string, element: HTMLInputElement) {\n element.focus();\n element.value = value;\n dispatchFakeEvent(element, 'input');\n}\n","import { ThyIconRegistry } from 'ngx-tethys/icon';\n\nimport { Provider, Sanitizer, SecurityContext } from '@angular/core';\nimport { inject } from '@angular/core/testing';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport const bypassSanitizeProvider: Provider = {\n provide: Sanitizer,\n useValue: {\n sanitize: (context: SecurityContext, html: string) => html\n }\n};\n\nexport const defaultInlineIconSet = `\n <svg>\n <defs>\n <svg id=\"inbox\"><path d=\"M10 10\"/></svg>\n <svg id=\"close\"><path d=\"M10 10\"/></svg>\n <svg id=\"close-bold\"><path d=\"M10 10\"/></svg>\n <svg id=\"calendar-check\"><path d=\"M10 10\"/></svg>\n <svg id=\"calendar\"><path d=\"M10 10\"/></svg>\n <svg id=\"angle-down\"><path d=\"M10 10\"/></svg>\n <svg id=\"check\"><path d=\"M10 10\"/></svg>\n <svg id=\"application-fill\"></svg>\n <svg id=\"angle-right\"></svg>\n <svg id=\"minus-circle-fill\"></svg>\n <svg id=\"check-circle-fill\"></svg>\n <svg id=\"waring-fill\"></svg>\n <svg id=\"close-circle-fill\"></svg>\n <svg id=\"question-circle-fill\"></svg>\n <svg id=\"more-bold\"></svg>\n <svg id=\"filter\">\n <title>Filter Title</title>\n <defs> <linearGradient id=\"Gradient1\"><stop class=\"stop1\" offset=\"0%\"/><stop class=\"stop2\" offset=\"50%\"/><stop class=\"stop3\" offset=\"100%\"/></linearGradient></defs>\n <style> #rect1 { fill: url(#Gradient1); }</style>\n <path d=\"filter\" style=\" \"/>\n </svg>\n <svg id=\"close-circle-bold-fill\"></svg>\n <svg id=\"search\"></svg>\n <svg id=\"sort-tt\"><style>.circle { fill: orange; }</style><g id=\"phnormal/sort-tt\" stroke-width=\"1\" fill-rule=\"nonzero\"><path d=\"M10 10 0 0 1 5.1 1.5v12.99a.6.6 0 0 1-1.2 0V3.607L2.466 6.082a.6.6 0 1 1-1.04-.6l2.47-4.262a.599.599 0 0 1 .426-.293z\" id=\"ph形状结合\"/><path d=\"M13.765 1.027a.6.6 0 0 1 .778.573v12.805a.6.6 0 1 1-1.2 0V3.682L11.82 6.276a.6.6 0 1 1-1.04-.6l2.558-4.356a.599.599 0 0 1 .427-.293z\" id=\"sort-secondary-color\" transform=\"rotate(-180 12.621 8.003)\"/></g></svg>\n </defs>\n </svg>\n`;\n\nexport const defaultSvgHtml = `\n<svg viewBox=\"0 0 16 16\" id=\"close1\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.978 11.997l-.005.006L2.3 6.33l.83-.831 4.848 4.848L12.826 5.5l.83.83-5.673 5.673-.005-.006z\"/>\n</svg>`;\n\nexport const injectDefaultSvgIconSet = () => {\n inject([ThyIconRegistry, DomSanitizer], (iconRegistry: ThyIconRegistry, domSanitizer: DomSanitizer) => {\n iconRegistry.addSvgIconSetLiteral(domSanitizer.bypassSecurityTrustHtml(defaultInlineIconSet));\n })();\n};\n","function removeFromArray<T>(array: T[], item: T) {\n const index = array.indexOf(item);\n\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\n\nexport class FakeDataTransferItem implements DataTransferItem {\n type: string;\n\n constructor(private entry: FileSystemEntry, public kind: string) {}\n\n getAsFile(): File {\n return this.entry as unknown as File;\n }\n\n getAsString(callback: FunctionStringCallback): void {\n throw new Error('Method not implemented.');\n }\n\n webkitGetAsEntry() {\n return this.entry;\n }\n}\n\nexport class FakeDataTransfer implements DataTransfer {\n dataByFormat = {};\n dropEffect: 'none' | 'copy' | 'link' | 'move' = 'none';\n effectAllowed: 'none' | 'copy' | 'copyLink' | 'copyMove' | 'link' | 'linkMove' | 'move' | 'all' | 'uninitialized' = 'all';\n files: FileList;\n types: string[] = [];\n items: DataTransferItemList;\n\n constructor(files?: File[], items?: DataTransferItem[]) {\n this.files = files as any;\n this.items = items as any;\n }\n\n clearData(dataFormat: string) {\n if (dataFormat) {\n delete this.dataByFormat[dataFormat];\n removeFromArray(this.types, dataFormat);\n } else {\n this.dataByFormat = {};\n this.types = [];\n }\n }\n\n getData = function (dataFormat: string) {\n return this.dataByFormat[dataFormat];\n };\n\n setData(dataFormat: string, data: string) {\n this.dataByFormat[dataFormat] = data;\n\n if (this.types.indexOf(dataFormat) < 0) {\n this.types.push(dataFormat);\n }\n\n return true;\n }\n\n setDragImage = function () {\n // don't do anything (the stub just makes sure there is no error thrown if someone tries to call the method)\n };\n}\n","import { XhrFactory } from '@angular/common';\nimport { HttpHeaders } from '@angular/common/http';\n\nexport class MockXhrFactory implements XhrFactory {\n mock: MockXMLHttpRequest;\n\n build(): XMLHttpRequest {\n return (this.mock = new MockXMLHttpRequest()) as any;\n }\n}\n\nexport class MockXMLHttpRequestUpload {\n constructor(private mock: MockXMLHttpRequest) {}\n\n addEventListener(event: 'progress', handler: Function) {\n this.mock.addEventListener(event === 'progress' ? 'uploadProgress' : event, handler);\n }\n\n removeEventListener(event: 'progress', handler: Function) {\n this.mock.removeEventListener(event === 'progress' ? 'uploadProgress' : event);\n }\n}\n\nexport class MockXMLHttpRequest {\n // Set by method calls.\n body: any;\n // TODO(issue/24571): remove '!'.\n method!: string;\n // TODO(issue/24571): remove '!'.\n url!: string;\n mockHeaders: { [key: string]: string } = {};\n mockAborted: boolean = false;\n\n // Directly settable interface.\n withCredentials: boolean = false;\n responseType: string = 'text';\n\n // Mocked response interface.\n response: any | undefined = undefined;\n responseText: string | undefined = undefined;\n responseURL: string | null = null;\n status: number = 0;\n statusText: string = '';\n mockResponseHeaders: string = '';\n readyState: number;\n\n listeners: {\n error?: (event: ErrorEvent) => void;\n load?: () => void;\n progress?: (event: ProgressEvent) => void;\n uploadProgress?: (event: ProgressEvent) => void;\n readystatechange?: () => void;\n } = {};\n\n upload = new MockXMLHttpRequestUpload(this);\n\n open(method: string, url: string): void {\n this.method = method;\n this.url = url;\n }\n\n send(body: any): void {\n this.body = body;\n }\n\n addEventListener(event: 'error' | 'load' | 'progress' | 'uploadProgress' | 'readystatechange', handler: Function): void {\n this.listeners[event] = handler as any;\n }\n\n removeEventListener(event: 'error' | 'load' | 'progress' | 'uploadProgress' | 'readystatechange'): void {\n delete this.listeners[event];\n }\n\n setRequestHeader(name: string, value: string): void {\n this.mockHeaders[name] = value;\n }\n\n getAllResponseHeaders(): string {\n return this.mockResponseHeaders;\n }\n\n getResponseHeader(header: string): string | null {\n return new HttpHeaders(this.mockResponseHeaders).get(header);\n }\n\n mockFlush(status: number, statusText: string, body?: string | object) {\n if (typeof body === 'string') {\n this.responseText = body;\n } else {\n this.response = body;\n }\n this.status = status;\n this.statusText = statusText;\n this.mockLoadEvent();\n }\n\n mockOnReadyStateChange(readyState: number = XMLHttpRequest.DONE) {\n this.readyState = XMLHttpRequest.DONE;\n this.listeners.readystatechange?.();\n }\n\n mockDownloadProgressEvent(loaded: number, total?: number): void {\n if (this.listeners.progress) {\n this.listeners.progress({ lengthComputable: total !== undefined, loaded, total } as any);\n }\n }\n\n mockUploadProgressEvent(loaded: number, total?: number) {\n if (this.listeners.uploadProgress) {\n this.listeners.uploadProgress({\n lengthComputable: total !== undefined,\n loaded,\n total\n } as any);\n }\n }\n\n mockLoadEvent(): void {\n if (this.listeners.load) {\n this.listeners.load();\n }\n }\n\n mockErrorEvent(error: any): void {\n if (this.listeners.error) {\n this.listeners.error(error);\n }\n }\n\n abort() {\n this.mockAborted = true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-testing.mjs","sources":["../../../src/testing/events.ts","../../../src/testing/dispatcher-events.ts","../../../src/testing/element-focus.ts","../../../src/testing/type-in-element.ts","../../../src/testing/thy-icon.ts","../../../src/testing/data-transfer.ts","../../../src/testing/xhr-mock.ts","../../../src/testing/ngx-tethys-testing.ts"],"sourcesContent":["import { ModifierKeys } from '@angular/cdk/testing';\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(\n type: string,\n clientX = 0,\n clientY = 0,\n button = 0,\n buttons = 1,\n detail = 1,\n modifiers: ModifierKeys = {},\n relatedTarget?: Element\n) {\n // Note: We cannot determine the position of the mouse event based on the screen\n // because the dimensions and position of the browser window are not available\n // To provide reasonable `screenX` and `screenY` coordinates, we simply use the\n // client coordinates as if the browser is opened in fullscreen.\n const screenX = clientX;\n const screenY = clientY;\n\n const event = new MouseEvent(type, {\n bubbles: true,\n cancelable: true,\n view: window,\n screenX,\n screenY,\n clientX,\n clientY,\n button,\n buttons,\n detail,\n relatedTarget,\n ctrlKey: !!modifiers.control,\n altKey: !!modifiers.alt,\n shiftKey: !!modifiers.shift,\n metaKey: !!modifiers.meta\n });\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n const originalPreventDefault = event.preventDefault.bind(event);\n event.preventDefault = function () {\n defineReadonlyEventProperty(event, 'defaultPrevented', true);\n return originalPreventDefault();\n };\n\n return event;\n}\n\n/**\n * Creates a browser `PointerEvent` with the specified options. Pointer events\n * by default will appear as if they are the primary pointer of their type.\n * https://www.w3.org/TR/pointerevents2/#dom-pointerevent-isprimary.\n *\n * For example, if pointer events for a multi-touch interaction are created, the non-primary\n * pointer touches would need to be represented by non-primary pointer events.\n *\n * @docs-private\n */\nexport function createPointerEvent(type: string, clientX = 0, clientY = 0, options: PointerEventInit = { isPrimary: true }) {\n return new PointerEvent(type, {\n bubbles: true,\n cancelable: true,\n view: window,\n clientX,\n clientY,\n ...options\n });\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = { pageX, pageY };\n\n // TS3.6 removes the initUIEvent method and suggests porting to \"new UIEvent()\".\n (event as any).initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n defineReadonlyEventProperty(event, 'touches', [touchDetails]);\n defineReadonlyEventProperty(event, 'targetTouches', [touchDetails]);\n defineReadonlyEventProperty(event, 'changedTouches', [touchDetails]);\n\n return event;\n}\n\n/**\n * Creates a keyboard event with the specified key and modifiers.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '', modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent');\n const originalPreventDefault = event.preventDefault.bind(event);\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyEvent.\n if ((event as any).initKeyEvent !== undefined) {\n (event as any).initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift, modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n let modifiersList = '';\n\n if (modifiers.control) {\n modifiersList += 'Control ';\n }\n\n if (modifiers.alt) {\n modifiersList += 'Alt ';\n }\n\n if (modifiers.shift) {\n modifiersList += 'Shift ';\n }\n\n if (modifiers.meta) {\n modifiersList += 'Meta ';\n }\n\n // TS3.6 removed the `initKeyboardEvent` method and suggested porting to\n // `new KeyboardEvent()` constructor. We cannot use that as we support IE11.\n // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent.\n (event as any).initKeyboardEvent(\n type,\n true /* canBubble */,\n true /* cancelable */,\n window /* view */,\n 0 /* char */,\n key /* key */,\n 0 /* location */,\n modifiersList.trim() /* modifiersList */,\n false /* repeat */\n );\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n defineReadonlyEventProperty(event, 'keyCode', keyCode);\n defineReadonlyEventProperty(event, 'key', key);\n defineReadonlyEventProperty(event, 'ctrlKey', !!modifiers.control);\n defineReadonlyEventProperty(event, 'altKey', !!modifiers.alt);\n defineReadonlyEventProperty(event, 'shiftKey', !!modifiers.shift);\n defineReadonlyEventProperty(event, 'metaKey', !!modifiers.meta);\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function () {\n defineReadonlyEventProperty(event, 'defaultPrevented', true);\n return originalPreventDefault();\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\n}\n\nexport function createDragEvent(type: string, dataTransfer: DataTransfer = null, canBubble = false, cancelable = true) {\n const event = document.createEvent('DragEvent');\n event.initEvent(type, canBubble, cancelable);\n defineReadonlyEventProperty(event, 'dataTransfer', dataTransfer);\n return event;\n}\n\n/**\n * Defines a readonly property on the given event object. Readonly properties on an event object\n * are always set as configurable as that matches default readonly properties for DOM event objects.\n */\nfunction defineReadonlyEventProperty(event: Event, propertyName: string, value: any) {\n Object.defineProperty(event, propertyName, { get: () => value, configurable: true });\n}\n","import { ModifierKeys } from '@angular/cdk/testing';\nimport { createFakeEvent, createKeyboardEvent, createMouseEvent, createPointerEvent, createTouchEvent } from './events';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent<T extends Event>(node: Node | Window, event: T): T {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code and\n * optional modifiers.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node, createKeyboardEvent(type, keyCode, key, modifiers));\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(\n node: Node,\n type: string,\n clientX = 0,\n clientY = 0,\n button?: number,\n buttons?: number,\n detail?: number,\n modifiers?: ModifierKeys,\n relatedTarget?: Element\n): MouseEvent {\n return dispatchEvent(node, createMouseEvent(type, clientX, clientY, button, buttons, detail, modifiers, relatedTarget));\n}\n\n/**\n * Shorthand to dispatch a pointer event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchPointerEvent(node: Node, type: string, clientX = 0, clientY = 0, options?: PointerEventInit): PointerEvent {\n return dispatchEvent(node, createPointerEvent(type, clientX, clientY, options)) as PointerEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { dispatchFakeEvent } from './dispatcher-events';\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { dispatchFakeEvent } from './dispatcher-events';\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param value Value to be set on the input.\n * @param element Element onto which to set the value.\n */\nexport function typeInElement(value: string, element: HTMLInputElement) {\n element.focus();\n element.value = value;\n dispatchFakeEvent(element, 'input');\n}\n","import { ThyIconRegistry } from 'ngx-tethys/icon';\n\nimport { Provider, Sanitizer, SecurityContext } from '@angular/core';\nimport { inject } from '@angular/core/testing';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport const bypassSanitizeProvider: Provider = {\n provide: Sanitizer,\n useValue: {\n sanitize: (context: SecurityContext, html: string) => html\n }\n};\n\nexport const defaultInlineIconSet = `\n <svg>\n <defs>\n <svg id=\"inbox\"><path d=\"M10 10\"/></svg>\n <svg id=\"close\"><path d=\"M10 10\"/></svg>\n <svg id=\"close-bold\"><path d=\"M10 10\"/></svg>\n <svg id=\"calendar-check\"><path d=\"M10 10\"/></svg>\n <svg id=\"calendar\"><path d=\"M10 10\"/></svg>\n <svg id=\"angle-down\"><path d=\"M10 10\"/></svg>\n <svg id=\"check\"><path d=\"M10 10\"/></svg>\n <svg id=\"application-fill\"></svg>\n <svg id=\"angle-right\"></svg>\n <svg id=\"minus-circle-fill\"></svg>\n <svg id=\"check-circle-fill\"></svg>\n <svg id=\"waring-fill\"></svg>\n <svg id=\"close-circle-fill\"></svg>\n <svg id=\"question-circle-fill\"></svg>\n <svg id=\"more-bold\"></svg>\n <svg id=\"filter\">\n <title>Filter Title</title>\n <defs> <linearGradient id=\"Gradient1\"><stop class=\"stop1\" offset=\"0%\"/><stop class=\"stop2\" offset=\"50%\"/><stop class=\"stop3\" offset=\"100%\"/></linearGradient></defs>\n <style> #rect1 { fill: url(#Gradient1); }</style>\n <path d=\"filter\" style=\" \"/>\n </svg>\n <svg id=\"close-circle-bold-fill\"></svg>\n <svg id=\"search\"></svg>\n <svg id=\"sort-tt\"><style>.circle { fill: orange; }</style><g id=\"phnormal/sort-tt\" stroke-width=\"1\" fill-rule=\"nonzero\"><path d=\"M10 10 0 0 1 5.1 1.5v12.99a.6.6 0 0 1-1.2 0V3.607L2.466 6.082a.6.6 0 1 1-1.04-.6l2.47-4.262a.599.599 0 0 1 .426-.293z\" id=\"ph形状结合\"/><path d=\"M13.765 1.027a.6.6 0 0 1 .778.573v12.805a.6.6 0 1 1-1.2 0V3.682L11.82 6.276a.6.6 0 1 1-1.04-.6l2.558-4.356a.599.599 0 0 1 .427-.293z\" id=\"sort-secondary-color\" transform=\"rotate(-180 12.621 8.003)\"/></g></svg>\n </defs>\n </svg>\n`;\n\nexport const defaultSvgHtml = `\n<svg viewBox=\"0 0 16 16\" id=\"close1\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.978 11.997l-.005.006L2.3 6.33l.83-.831 4.848 4.848L12.826 5.5l.83.83-5.673 5.673-.005-.006z\"/>\n</svg>`;\n\nexport const injectDefaultSvgIconSet = () => {\n inject([ThyIconRegistry, DomSanitizer], (iconRegistry: ThyIconRegistry, domSanitizer: DomSanitizer) => {\n iconRegistry.addSvgIconSetLiteral(domSanitizer.bypassSecurityTrustHtml(defaultInlineIconSet));\n })();\n};\n","function removeFromArray<T>(array: T[], item: T) {\n const index = array.indexOf(item);\n\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\n\nexport class FakeDataTransferItem implements DataTransferItem {\n type: string;\n\n constructor(private entry: FileSystemEntry, public kind: string) {}\n\n getAsFile(): File {\n return this.entry as unknown as File;\n }\n\n getAsString(callback: FunctionStringCallback): void {\n throw new Error('Method not implemented.');\n }\n\n webkitGetAsEntry() {\n return this.entry;\n }\n}\n\nexport class FakeDataTransfer implements DataTransfer {\n dataByFormat = {};\n dropEffect: 'none' | 'copy' | 'link' | 'move' = 'none';\n effectAllowed: 'none' | 'copy' | 'copyLink' | 'copyMove' | 'link' | 'linkMove' | 'move' | 'all' | 'uninitialized' = 'all';\n files: FileList;\n types: string[] = [];\n items: DataTransferItemList;\n\n constructor(files?: File[], items?: DataTransferItem[]) {\n this.files = files as any;\n this.items = items as any;\n }\n\n clearData(dataFormat: string) {\n if (dataFormat) {\n delete this.dataByFormat[dataFormat];\n removeFromArray(this.types, dataFormat);\n } else {\n this.dataByFormat = {};\n this.types = [];\n }\n }\n\n getData = function (dataFormat: string) {\n return this.dataByFormat[dataFormat];\n };\n\n setData(dataFormat: string, data: string) {\n this.dataByFormat[dataFormat] = data;\n\n if (this.types.indexOf(dataFormat) < 0) {\n this.types.push(dataFormat);\n }\n\n return true;\n }\n\n setDragImage = function () {\n // don't do anything (the stub just makes sure there is no error thrown if someone tries to call the method)\n };\n}\n","import { XhrFactory } from '@angular/common';\nimport { HttpHeaders } from '@angular/common/http';\n\nexport class MockXhrFactory implements XhrFactory {\n mock: MockXMLHttpRequest;\n\n build(): XMLHttpRequest {\n return (this.mock = new MockXMLHttpRequest()) as any;\n }\n}\n\nexport class MockXMLHttpRequestUpload {\n constructor(private mock: MockXMLHttpRequest) {}\n\n addEventListener(event: 'progress', handler: Function) {\n this.mock.addEventListener(event === 'progress' ? 'uploadProgress' : event, handler);\n }\n\n removeEventListener(event: 'progress', handler: Function) {\n this.mock.removeEventListener(event === 'progress' ? 'uploadProgress' : event);\n }\n}\n\nexport class MockXMLHttpRequest {\n // Set by method calls.\n body: any;\n // TODO(issue/24571): remove '!'.\n method!: string;\n // TODO(issue/24571): remove '!'.\n url!: string;\n mockHeaders: { [key: string]: string } = {};\n mockAborted: boolean = false;\n\n // Directly settable interface.\n withCredentials: boolean = false;\n responseType: string = 'text';\n\n // Mocked response interface.\n response: any | undefined = undefined;\n responseText: string | undefined = undefined;\n responseURL: string | null = null;\n status: number = 0;\n statusText: string = '';\n mockResponseHeaders: string = '';\n readyState: number;\n\n listeners: {\n error?: (event: ErrorEvent) => void;\n load?: () => void;\n progress?: (event: ProgressEvent) => void;\n uploadProgress?: (event: ProgressEvent) => void;\n readystatechange?: () => void;\n } = {};\n\n upload = new MockXMLHttpRequestUpload(this);\n\n open(method: string, url: string): void {\n this.method = method;\n this.url = url;\n }\n\n send(body: any): void {\n this.body = body;\n }\n\n addEventListener(event: 'error' | 'load' | 'progress' | 'uploadProgress' | 'readystatechange', handler: Function): void {\n this.listeners[event] = handler as any;\n }\n\n removeEventListener(event: 'error' | 'load' | 'progress' | 'uploadProgress' | 'readystatechange'): void {\n delete this.listeners[event];\n }\n\n setRequestHeader(name: string, value: string): void {\n this.mockHeaders[name] = value;\n }\n\n getAllResponseHeaders(): string {\n return this.mockResponseHeaders;\n }\n\n getResponseHeader(header: string): string | null {\n return new HttpHeaders(this.mockResponseHeaders).get(header);\n }\n\n mockFlush(status: number, statusText: string, body?: string | object) {\n if (typeof body === 'string') {\n this.responseText = body;\n } else {\n this.response = body;\n }\n this.status = status;\n this.statusText = statusText;\n this.mockLoadEvent();\n }\n\n mockOnReadyStateChange(readyState: number = XMLHttpRequest.DONE) {\n this.readyState = XMLHttpRequest.DONE;\n this.listeners.readystatechange?.();\n }\n\n mockDownloadProgressEvent(loaded: number, total?: number): void {\n if (this.listeners.progress) {\n this.listeners.progress({ lengthComputable: total !== undefined, loaded, total } as any);\n }\n }\n\n mockUploadProgressEvent(loaded: number, total?: number) {\n if (this.listeners.uploadProgress) {\n this.listeners.uploadProgress({\n lengthComputable: total !== undefined,\n loaded,\n total\n } as any);\n }\n }\n\n mockLoadEvent(): void {\n if (this.listeners.load) {\n this.listeners.load();\n }\n }\n\n mockErrorEvent(error: any): void {\n if (this.listeners.error) {\n this.listeners.error(error);\n }\n }\n\n abort() {\n this.mockAborted = true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/ngx-tethys.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys.mjs","sources":["../../../src/version.ts","../../../src/ngx-tethys.ts"],"sourcesContent":["import { Version } from '@angular/core';\n\nexport const VERSION = new Version('16.2.
|
|
1
|
+
{"version":3,"file":"ngx-tethys.mjs","sources":["../../../src/version.ts","../../../src/ngx-tethys.ts"],"sourcesContent":["import { Version } from '@angular/core';\n\nexport const VERSION = new Version('16.2.3');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;MAEa,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ;;ACF3C;;AAEG;;;;"}
|
package/package.json
CHANGED
package/schematics/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "16.2.
|
|
1
|
+
export declare const VERSION = "16.2.3";
|
package/schematics/version.js
CHANGED
|
@@ -19,7 +19,7 @@ export declare function dispatchKeyboardEvent(node: Node, type: string, keyCode?
|
|
|
19
19
|
* Shorthand to dispatch a mouse event on the specified coordinates.
|
|
20
20
|
* @docs-private
|
|
21
21
|
*/
|
|
22
|
-
export declare function dispatchMouseEvent(node: Node, type: string, clientX?: number, clientY?: number, button?: number, modifiers?: ModifierKeys, relatedTarget?: Element): MouseEvent;
|
|
22
|
+
export declare function dispatchMouseEvent(node: Node, type: string, clientX?: number, clientY?: number, button?: number, buttons?: number, detail?: number, modifiers?: ModifierKeys, relatedTarget?: Element): MouseEvent;
|
|
23
23
|
/**
|
|
24
24
|
* Shorthand to dispatch a pointer event on the specified coordinates.
|
|
25
25
|
* @docs-private
|
package/testing/events.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { ModifierKeys } from '@angular/cdk/testing';
|
|
|
3
3
|
* Creates a browser MouseEvent with the specified options.
|
|
4
4
|
* @docs-private
|
|
5
5
|
*/
|
|
6
|
-
export declare function createMouseEvent(type: string, clientX?: number, clientY?: number, button?: number, modifiers?: ModifierKeys, relatedTarget?: Element): MouseEvent;
|
|
6
|
+
export declare function createMouseEvent(type: string, clientX?: number, clientY?: number, button?: number, buttons?: number, detail?: number, modifiers?: ModifierKeys, relatedTarget?: Element): MouseEvent;
|
|
7
7
|
/**
|
|
8
8
|
* Creates a browser `PointerEvent` with the specified options. Pointer events
|
|
9
9
|
* by default will appear as if they are the primary pointer of their type.
|