@theseam/ui-common 0.4.11 → 0.4.12
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/esm2020/carousel/carousel.component.mjs +2 -1
- package/fesm2015/theseam-ui-common-carousel.mjs +1 -0
- package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-carousel.mjs +1 -0
- package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -99,6 +99,7 @@ export class TheSeamCarouselComponent {
|
|
|
99
99
|
this._resetInterval.complete();
|
|
100
100
|
}
|
|
101
101
|
_startInterval() {
|
|
102
|
+
this._resetInterval.next(undefined);
|
|
102
103
|
if (this.autoPlay) {
|
|
103
104
|
interval(this.slideInterval).pipe(takeUntil(this._resetInterval), tap(() => {
|
|
104
105
|
this.pageCarousel(1);
|
|
@@ -208,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
208
209
|
type: ContentChildren,
|
|
209
210
|
args: [TheSeamCarouselSlideDirective]
|
|
210
211
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxlQUFlLENBQUE7QUFFL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7O0FBZ0IxRSxNQUFNLE9BQU8sd0JBQXdCO0lBNkRuQyxJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQzNCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUEyRDtRQUNwRSxvRkFBb0Y7UUFDcEYsTUFBTSxLQUFL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cnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgaW50ZXJ2YWwsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBmYUFuZ2xlTGVmdCwgZmFBbmdsZVJpZ2h0LCBmYVBhdXNlLCBmYVBsYXkgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IFRoZVNlYW1DYXJvdXNlbFNsaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jYXJvdXNlbC1zbGlkZS5kaXJlY3RpdmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xuICAgICAgdHJhbnNpdGlvbignKiA9PiAqJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcwJywgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgIGFuaW1hdGUoMjUwLCBzdHlsZSh7IG9wYWNpdHk6ICcxJywgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgXSksXG4gICAgXSlcbiAgXSxcbiAgZXhwb3J0QXM6ICdzZWFtQ2Fyb3VzZWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zbGlkZUludGVydmFsOiBOdW1iZXJJbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYXV0b1BsYXk6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcGF1c2VPbkhvdmVyOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3BhdXNlT25Gb2N1czogQm9vbGVhbklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaG93UGFnZXI6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hvd05hdkJ1dHRvbnM6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hvd1BhdXNlQnV0dG9uOiBCb29sZWFuSW5wdXRcblxuICByZWFkb25seSBmYUFuZ2xlUmlnaHQgPSBmYUFuZ2xlUmlnaHRcbiAgcmVhZG9ubHkgZmFBbmdsZUxlZnQgPSBmYUFuZ2xlTGVmdFxuICByZWFkb25seSBmYVBhdXNlID0gZmFQYXVzZVxuICByZWFkb25seSBmYVBsYXkgPSBmYVBsYXlcblxuICAvKipcbiAgICogRHVyYXRpb24gaW4gbXMgdGhhdCBzbGlkZSBpcyBkaXNwbGF5ZWQgYmVmb3JlIHBhZ2luZy5cbiAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gYGF1dG9QbGF5ID09PSB0cnVlYC5cbiAgICogRGVmYXVsdHMgdG8gMTAwMDBtcy5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigxMDAwMCkgc2xpZGVJbnRlcnZhbCA9IDEwMDAwXG5cbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCBjYXJvdXNlbCB3aWxsIHBhZ2UgYXV0b21hdGljYWxseS5cbiAgICogRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGF1dG9QbGF5ID0gdHJ1ZVxuXG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgd2lsbCBwYXVzZSBhdXRvbWF0aWMgcGFnaW5nIHdoZW4gdXNlciBtb3VzZXMgb3ZlciBjYXJvdXNlbC5cbiAgICogVGltZXIgd2lsbCByZXN0YXJ0IHdoZW4gdXNlciBtb3VzZXMgb3V0LlxuICAgKiBPbmx5IGFwcGxpY2FibGUgd2hlbiBgYXV0b1BsYXkgPT09IHRydWVgLlxuICAgKiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgcGF1c2VPbkhvdmVyID0gdHJ1ZVxuXG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgd2lsbCBwYXVzZSBhdXRvbWF0aWMgcGFnaW5nIHdoZW4gdXNlciBmb2N1c2VzIGluIG9uIGl0ZW0gaW4gY2Fyb3VzZWwuXG4gICAqIFRpbWVyIHdpbGwgcmVzdGFydCB3aGVuIHVzZXIgZm9jdXNlcyBvdXQuXG4gICAqIE9ubHkgYXBwbGljYWJsZSB3aGVuIGBhdXRvUGxheSA9PT0gdHJ1ZWAuXG4gICAqIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBwYXVzZU9uRm9jdXMgPSB0cnVlXG5cbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCB3aWxsIHNob3cgcGFnZXIgcm93IGF0IHRoZSBib3R0b20gb2YgdGhlIGNhcm91c2VsIHdpdGggY2xpY2thYmxlIGJ1dHRvbnMgdG8gbmF2aWdhdGUgZGlyZWN0bHkgdG8gYSBwYWdlLlxuICAgKiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2hvd1BhZ2VyID0gdHJ1ZVxuXG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgd2lsbCBzaG93IGxlZnQgYW5kIHJpZ2h0IG5hdiBidXR0b24gb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNhcm91c2VsIHRvIG5hdmlnYXRlIHRocm91Z2ggcGFnZXMuXG4gICAqIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBzaG93TmF2QnV0dG9ucyA9IHRydWVcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHdpbGwgc2hvdyBwYXVzZS9wbGF5IGJ1dHRvbiB0byBzdG9wL3Jlc3RhcnQgYXV0b21hdGljIHBhZ2luZy5cbiAgICogRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dQYXVzZUJ1dHRvbiA9IHRydWVcblxuICBAQ29udGVudENoaWxkcmVuKFRoZVNlYW1DYXJvdXNlbFNsaWRlRGlyZWN0aXZlKVxuICBnZXQgc2xpZGVzKCk6IFF1ZXJ5TGlzdDxUaGVTZWFtQ2Fyb3VzZWxTbGlkZURpcmVjdGl2ZT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zbGlkZXMudmFsdWVcbiAgfVxuICBzZXQgc2xpZGVzKHZhbHVlOiBRdWVyeUxpc3Q8VGhlU2VhbUNhcm91c2VsU2xpZGVEaXJlY3RpdmU+IHwgdW5kZWZpbmVkKSB7XG4gICAgLy8gQ2hlY2sgaWYgc2xpZGVzIHdlcmUgYWRkZWQgb3IgcmVtb3ZlZCB0aGF0IHdvdWxkIG1ha2UgdGhlIGFjdGl2ZSBpbmRleCBub3QgZXhpc3QuXG4gICAgY29uc3QgY291bnQgPSB2YWx1ZT8ubGVuZ3RoIHx8IDBcbiAgICBjb25zdCBtYXhJZHggPSBjb3VudCA+PSAwID8gY291bnQgLSAxIDogMFxuICAgIGNvbnN0IGFjdGl2ZUlkeCA9IHRoaXMuX3BvbGxBY3RpdmVJbmRleC52YWx1ZVxuICAgIGlmIChhY3RpdmVJZHggPiBtYXhJZHgpIHtcbiAgICAgIHRoaXMuX3BvbGxBY3RpdmVJbmRleC5uZXh0KG1heElkeClcbiAgICB9IGVsc2UgaWYgKGNvdW50ID4gMCAmJiBhY3RpdmVJZHggPCAwKSB7XG4gICAgICB0aGlzLl9wb2xsQWN0aXZlSW5kZXgubmV4dCgwKVxuICAgIH1cblxuICAgIHRoaXMuX3NsaWRlcy5uZXh0KHZhbHVlKVxuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NsaWRlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlMaXN0PFRoZVNlYW1DYXJvdXNlbFNsaWRlRGlyZWN0aXZlPiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBwdWJsaWMgcmVhZG9ubHkgc2xpZGVzJCA9IHRoaXMuX3NsaWRlcy5hc09ic2VydmFibGUoKVxuXG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVTbGlkZSQ6IE9ic2VydmFibGU8YW55IHwgdW5kZWZpbmVkPlxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BvbGxBY3RpdmVJbmRleCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKVxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlSW5kZXgkID0gdGhpcy5fcG9sbEFjdGl2ZUluZGV4LmFzT2JzZXJ2YWJsZSgpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2Fyb3VzZWxQYXVzZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgY2Fyb3VzZWxQYXVzZWQkID0gdGhpcy5fY2Fyb3VzZWxQYXVzZWQuYXNPYnNlcnZhYmxlKClcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jYXJvdXNlbFN0b3BwZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgY2Fyb3VzZWxTdG9wcGVkJCA9IHRoaXMuX2Nhcm91c2VsU3RvcHBlZC5hc09ic2VydmFibGUoKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2V0SW50ZXJ2YWwgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hY3RpdmVTbGlkZSQgPSB0aGlzLl9wb2xsQWN0aXZlSW5kZXgucGlwZShcbiAgICAgIHN0YXJ0V2l0aCgwKSxcbiAgICAgIHN3aXRjaE1hcChpID0+IHRoaXMuc2xpZGVzJC5waXBlKFxuICAgICAgICBtYXAoc2xpZGVzID0+IHNsaWRlcz8uZ2V0KGkpKSxcbiAgICAgICkpXG4gICAgKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jYXJvdXNlbFBhdXNlZCQsIHRoaXMuY2Fyb3VzZWxTdG9wcGVkJF0pLnBpcGUoXG4gICAgICB0YXAoKFtwYXVzZWQsIHN0b3BwZWRdKSA9PiB7XG4gICAgICAgIGlmIChwYXVzZWQgfHwgc3RvcHBlZCkge1xuICAgICAgICAgIHRoaXMuX3Jlc2V0SW50ZXJ2YWwubmV4dCh1bmRlZmluZWQpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fc3RhcnRJbnRlcnZhbCgpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRJbnRlcnZhbC5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9yZXNldEludGVydmFsLmNvbXBsZXRlKClcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXJ0SW50ZXJ2YWwoKSB7XG4gICAgaWYgKHRoaXMuYXV0b1BsYXkpIHtcbiAgICAgIGludGVydmFsKHRoaXMuc2xpZGVJbnRlcnZhbCkucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Jlc2V0SW50ZXJ2YWwpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucGFnZUNhcm91c2VsKDEpXG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG5cbiAgZm9jdXNJbigpIHtcbiAgICBpZiAodGhpcy5wYXVzZU9uRm9jdXMpIHtcbiAgICAgIHRoaXMucGF1c2VUaW1lcigpXG4gICAgfVxuICB9XG5cbiAgZm9jdXNPdXQoKSB7XG4gICAgaWYgKHRoaXMucGF1c2VPbkZvY3VzKSB7XG4gICAgICB0aGlzLnN0YXJ0VGltZXIoKVxuICAgIH1cbiAgfVxuXG4gIG1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKHRoaXMucGF1c2VPbkhvdmVyKSB7XG4gICAgICB0aGlzLnBhdXNlVGltZXIoKVxuICAgIH1cbiAgfVxuXG4gIG1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKHRoaXMucGF1c2VPbkhvdmVyKSB7XG4gICAgICB0aGlzLnN0YXJ0VGltZXIoKVxuICAgIH1cbiAgfVxuXG4gIHBhdXNlVGltZXIoKSB7XG4gICAgdGhpcy5fY2Fyb3VzZWxQYXVzZWQubmV4dCh0cnVlKVxuICB9XG5cbiAgc3RhcnRUaW1lcigpIHtcbiAgICBpZiAoIXRoaXMuX2Nhcm91c2VsU3RvcHBlZC52YWx1ZSkge1xuICAgICAgdGhpcy5fY2Fyb3VzZWxQYXVzZWQubmV4dChmYWxzZSlcbiAgICB9XG4gIH1cblxuICBzZXRDYXJvdXNlbChpOiBudW1iZXIpIHtcbiAgICB0aGlzLl9wb2xsQWN0aXZlSW5kZXgubmV4dChpKVxuICB9XG5cbiAgcGFnZUNhcm91c2VsKHN0ZXA6IG51bWJlcikge1xuICAgIHRoaXMuc2xpZGVzJC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIGZpbHRlcihzbGlkZXMgPT4gbm90TnVsbE9yVW5kZWZpbmVkKHNsaWRlcykpLFxuICAgICAgbWFwKHNsaWRlcyA9PiB7XG4gICAgICAgIGNvbnN0IHNsaWRlc0xlbiA9IHNsaWRlcz8ubGVuZ3RoIHx8IDFcbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5fcG9sbEFjdGl2ZUluZGV4LnZhbHVlXG4gICAgICAgIGluZGV4ID0gaW5kZXggKyBzdGVwXG4gICAgICAgIGluZGV4ID0gaW5kZXggPCAwID8gc2xpZGVzTGVuICsgaW5kZXggOiBpbmRleCAlIHNsaWRlc0xlblxuICAgICAgICB0aGlzLl9wb2xsQWN0aXZlSW5kZXgubmV4dChpbmRleClcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKVxuICB9XG5cbiAgdG9nZ2xlQ2Fyb3VzZWxTdG9wKCkge1xuICAgIGNvbnN0IGNhcm91c2VsU3RvcHBlZCA9IHRoaXMuX2Nhcm91c2VsU3RvcHBlZC52YWx1ZVxuICAgIHRoaXMuX2Nhcm91c2VsU3RvcHBlZC5uZXh0KCFjYXJvdXNlbFN0b3BwZWQpXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzbGlkZXMkIHwgYXN5bmMgYXMgc2xpZGVzXCI+XG4gIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgKm5nSWY9XCJzbGlkZXMubGVuZ3RoXCJcbiAgICAoZm9jdXNpbik9XCJmb2N1c0luKClcIlxuICAgIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoKVwiXG4gICAgKGZvY3Vzb3V0KT1cImZvY3VzT3V0KClcIlxuICAgIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmUoKVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwibWluLWhlaWdodDogMTUwcHg7XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwic2hvd05hdkJ1dHRvbnMgJiYgc2xpZGVzLmxlbmd0aCA+IDFcIlxuICAgICAgICBzZWFtQnV0dG9uXG4gICAgICAgIGNsYXNzPVwiY2Fyb3VzZWwtYXJyb3cgcHgtMlwiXG4gICAgICAgIChjbGljayk9XCJwYWdlQ2Fyb3VzZWwoLTEpXCJcbiAgICAgICAgdGl0bGU9XCJHbyB0byBwcmV2aW91cyBzbGlkZVwiPlxuICAgICAgICA8c2VhbS1pY29uIFtpY29uXT1cImZhQW5nbGVMZWZ0XCI+PC9zZWFtLWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdiAqbmdJZj1cImFjdGl2ZVNsaWRlJCB8IGFzeW5jIGFzIHNsaWRlXCIgW0BmYWRlSW5PdXRdPVwic2xpZGUudGVtcGxhdGVcIiBjbGFzcz1cImZsZXgtZ3Jvdy0xIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRlbnQgdy0xMDAgcHktMSBweC0yXCIgW2F0dHIuZGF0YS1zbGlkZS1pbmRleF09XCJhY3RpdmVJbmRleCQgfCBhc3luY1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KHNsaWRlLnRlbXBsYXRlKVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93TmF2QnV0dG9ucyAmJiBzbGlkZXMubGVuZ3RoID4gMVwiXG4gICAgICAgIHNlYW1CdXR0b25cbiAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1hcnJvdyBweC0yXCJcbiAgICAgICAgKGNsaWNrKT1cInBhZ2VDYXJvdXNlbCgxKVwiXG4gICAgICAgIHRpdGxlPVwiR28gdG8gbmV4dCBzbGlkZVwiPlxuICAgICAgICA8c2VhbS1pY29uIFtpY29uXT1cImZhQW5nbGVSaWdodFwiPjwvc2VhbS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtcGFnZXMgZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTMgbXgtYXV0b1wiICpuZ0lmPVwic2hvd1BhZ2VyICYmIHNsaWRlcy5sZW5ndGggPiAxXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBxIG9mIHNsaWRlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIHNlYW1CdXR0b25cbiAgICAgICAgdGhlbWU9XCJsaWdodFwiXG4gICAgICAgIGNsYXNzPVwiY2Fyb3VzZWwtcGFnZVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiKGFjdGl2ZUluZGV4JCB8IGFzeW5jKSA9PSBpXCJcbiAgICAgICAgKGNsaWNrKT1cInNldENhcm91c2VsKGkpXCJcbiAgICAgICAgW3RpdGxlXT1cIidHbyB0byBzbGlkZSAnICsgKGkgKyAxKVwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2xzXCIgKm5nSWY9XCJzaG93UGF1c2VCdXR0b24gJiYgYXV0b1BsYXlcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzbGlkZXMubGVuZ3RoID4gMVwiXG4gICAgICAgIHNlYW1CdXR0b25cbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNhcm91c2VsU3RvcCgpXCJcbiAgICAgICAgW3RpdGxlXT1cIihjYXJvdXNlbFN0b3BwZWQkIHwgYXN5bmMpID8gJ1BsYXknIDogJ1BhdXNlJ1wiPlxuICAgICAgICA8c2VhbS1pY29uIFtpY29uXT1cImZhUGxheVwiICpuZ0lmPVwiY2Fyb3VzZWxTdG9wcGVkJCB8IGFzeW5jOyBlbHNlIHBhdXNlQnV0dG9uXCI+PC9zZWFtLWljb24+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGF1c2VCdXR0b24+XG4gICAgICAgICAgPHNlYW0taWNvbiBbaWNvbl09XCJmYVBhdXNlXCI+PC9zZWFtLWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxlQUFlLENBQUE7QUFFL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7O0FBZ0IxRSxNQUFNLE9BQU8sd0JBQXdCO0lBNkRuQyxJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQzNCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUEyRDtRQUNwRSxvRkFBb0Y7UUFDcEYsTUFBTSxLQUFL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QU07c0JBRFQsZUFBZTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgaW50ZXJ2YWwsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBmYUFuZ2xlTGVmdCwgZmFBbmdsZVJpZ2h0LCBmYVBhdXNlLCBmYVBsYXkgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IFRoZVNlYW1DYXJvdXNlbFNsaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jYXJvdXNlbC1zbGlkZS5kaXJlY3RpdmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xuICAgICAgdHJhbnNpdGlvbignKiA9PiAqJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcwJywgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgIGFuaW1hdGUoMjUwLCBzdHlsZSh7IG9wYWNpdHk6ICcxJywgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgXSksXG4gICAgXSlcbiAgXSxcbiAgZXhwb3J0QXM6ICdzZWFtQ2Fyb3VzZWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zbGlkZUludGVydmFsOiBOdW1iZXJJbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYXV0b1BsYXk6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcGF1c2VPbkhvdmVyOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3BhdXNlT25Gb2N1czogQm9vbGVhbklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaG93UGFnZXI6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hvd05hdkJ1dHRvbnM6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hvd1BhdXNlQnV0dG9uOiBCb29sZWFuSW5wdXRcblxuICByZWFkb25seSBmYUFuZ2xlUmlnaHQgPSBmYUFuZ2xlUmlnaHRcbiAgcmVhZG9ubHkgZmFBbmdsZUxlZnQgPSBmYUFuZ2xlTGVmdFxuICByZWFkb25seSBmYVBhdXNlID0gZmFQYXVzZVxuICByZWFkb25seSBmYVBsYXkgPSBmYVBsYXlcblxuICAvKipcbiAgICogRHVyYXRpb24gaW4gbXMgdGhhdCBzbGlkZSBpcyBkaXNwbGF5ZWQgYmVmb3JlIHBhZ2luZy5cbiAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gYGF1dG9QbGF5ID09PSB0cnVlYC5cbiAgICogRGVmYXVsdHMgdG8gMTAwMDBtcy5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigxMDAwMCkgc2xpZGVJbnRlcnZhbCA9IDEwMDAwXG5cbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCBjYXJvdXNlbCB3aWxsIHBhZ2UgYXV0b21hdGljYWxseS5cbiAgICogRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGF1dG9QbGF5ID0gdHJ1ZVxuXG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgd2lsbCBwYXVzZSBhdXRvbWF0aWMgcGFnaW5nIHdoZW4gdXNlciBtb3VzZXMgb3ZlciBjYXJvdXNlbC5cbiAgICogVGltZXIgd2lsbCByZXN0YXJ0IHdoZW4gdXNlciBtb3VzZXMgb3V0LlxuICAgKiBPbmx5IGFwcGxpY2FibGUgd2hlbiBgYXV0b1BsYXkgPT09IHRydWVgLlxuICAgKiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgcGF1c2VPbkhvdmVyID0gdHJ1ZVxuXG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgd2lsbCBwYXVzZSBhdXRvbWF0aWMgcGFnaW5nIHdoZW4gdXNlciBmb2N1c2VzIGluIG9uIGl0ZW0gaW4gY2Fyb3VzZWwuXG4gICAqIFRpbWVyIHdpbGwgcmVzdGFydCB3aGVuIHVzZXIgZm9jdXNlcyBvdXQuXG4gICAqIE9ubHkgYXBwbGljYWJsZSB3aGVuIGBhdXRvUGxheSA9PT0gdHJ1ZWAuXG4gICAqIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBwYXVzZU9uRm9jdXMgPSB0cnVlXG5cbiAgLyoqXG4gICAqIFdoZW4gYHRydWVgLCB3aWxsIHNob3cgcGFnZXIgcm93IGF0IHRoZSBib3R0b20gb2YgdGhlIGNhcm91c2VsIHdpdGggY2xpY2thYmxlIGJ1dHRvbnMgdG8gbmF2aWdhdGUgZGlyZWN0bHkgdG8gYSBwYWdlLlxuICAgKiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2hvd1BhZ2VyID0gdHJ1ZVxuXG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgd2lsbCBzaG93IGxlZnQgYW5kIHJpZ2h0IG5hdiBidXR0b24gb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNhcm91c2VsIHRvIG5hdmlnYXRlIHRocm91Z2ggcGFnZXMuXG4gICAqIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBzaG93TmF2QnV0dG9ucyA9IHRydWVcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHdpbGwgc2hvdyBwYXVzZS9wbGF5IGJ1dHRvbiB0byBzdG9wL3Jlc3RhcnQgYXV0b21hdGljIHBhZ2luZy5cbiAgICogRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dQYXVzZUJ1dHRvbiA9IHRydWVcblxuICBAQ29udGVudENoaWxkcmVuKFRoZVNlYW1DYXJvdXNlbFNsaWRlRGlyZWN0aXZlKVxuICBnZXQgc2xpZGVzKCk6IFF1ZXJ5TGlzdDxUaGVTZWFtQ2Fyb3VzZWxTbGlkZURpcmVjdGl2ZT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zbGlkZXMudmFsdWVcbiAgfVxuICBzZXQgc2xpZGVzKHZhbHVlOiBRdWVyeUxpc3Q8VGhlU2VhbUNhcm91c2VsU2xpZGVEaXJlY3RpdmU+IHwgdW5kZWZpbmVkKSB7XG4gICAgLy8gQ2hlY2sgaWYgc2xpZGVzIHdlcmUgYWRkZWQgb3IgcmVtb3ZlZCB0aGF0IHdvdWxkIG1ha2UgdGhlIGFjdGl2ZSBpbmRleCBub3QgZXhpc3QuXG4gICAgY29uc3QgY291bnQgPSB2YWx1ZT8ubGVuZ3RoIHx8IDBcbiAgICBjb25zdCBtYXhJZHggPSBjb3VudCA+PSAwID8gY291bnQgLSAxIDogMFxuICAgIGNvbnN0IGFjdGl2ZUlkeCA9IHRoaXMuX3BvbGxBY3RpdmVJbmRleC52YWx1ZVxuICAgIGlmIChhY3RpdmVJZHggPiBtYXhJZHgpIHtcbiAgICAgIHRoaXMuX3BvbGxBY3RpdmVJbmRleC5uZXh0KG1heElkeClcbiAgICB9IGVsc2UgaWYgKGNvdW50ID4gMCAmJiBhY3RpdmVJZHggPCAwKSB7XG4gICAgICB0aGlzLl9wb2xsQWN0aXZlSW5kZXgubmV4dCgwKVxuICAgIH1cblxuICAgIHRoaXMuX3NsaWRlcy5uZXh0KHZhbHVlKVxuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NsaWRlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlMaXN0PFRoZVNlYW1DYXJvdXNlbFNsaWRlRGlyZWN0aXZlPiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBwdWJsaWMgcmVhZG9ubHkgc2xpZGVzJCA9IHRoaXMuX3NsaWRlcy5hc09ic2VydmFibGUoKVxuXG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVTbGlkZSQ6IE9ic2VydmFibGU8YW55IHwgdW5kZWZpbmVkPlxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BvbGxBY3RpdmVJbmRleCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKVxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlSW5kZXgkID0gdGhpcy5fcG9sbEFjdGl2ZUluZGV4LmFzT2JzZXJ2YWJsZSgpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2Fyb3VzZWxQYXVzZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgY2Fyb3VzZWxQYXVzZWQkID0gdGhpcy5fY2Fyb3VzZWxQYXVzZWQuYXNPYnNlcnZhYmxlKClcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jYXJvdXNlbFN0b3BwZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgY2Fyb3VzZWxTdG9wcGVkJCA9IHRoaXMuX2Nhcm91c2VsU3RvcHBlZC5hc09ic2VydmFibGUoKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2V0SW50ZXJ2YWwgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hY3RpdmVTbGlkZSQgPSB0aGlzLl9wb2xsQWN0aXZlSW5kZXgucGlwZShcbiAgICAgIHN0YXJ0V2l0aCgwKSxcbiAgICAgIHN3aXRjaE1hcChpID0+IHRoaXMuc2xpZGVzJC5waXBlKFxuICAgICAgICBtYXAoc2xpZGVzID0+IHNsaWRlcz8uZ2V0KGkpKSxcbiAgICAgICkpXG4gICAgKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jYXJvdXNlbFBhdXNlZCQsIHRoaXMuY2Fyb3VzZWxTdG9wcGVkJF0pLnBpcGUoXG4gICAgICB0YXAoKFtwYXVzZWQsIHN0b3BwZWRdKSA9PiB7XG4gICAgICAgIGlmIChwYXVzZWQgfHwgc3RvcHBlZCkge1xuICAgICAgICAgIHRoaXMuX3Jlc2V0SW50ZXJ2YWwubmV4dCh1bmRlZmluZWQpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fc3RhcnRJbnRlcnZhbCgpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRJbnRlcnZhbC5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9yZXNldEludGVydmFsLmNvbXBsZXRlKClcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXJ0SW50ZXJ2YWwoKSB7XG4gICAgdGhpcy5fcmVzZXRJbnRlcnZhbC5uZXh0KHVuZGVmaW5lZClcbiAgICBpZiAodGhpcy5hdXRvUGxheSkge1xuICAgICAgaW50ZXJ2YWwodGhpcy5zbGlkZUludGVydmFsKS5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fcmVzZXRJbnRlcnZhbCksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wYWdlQ2Fyb3VzZWwoMSlcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBmb2N1c0luKCkge1xuICAgIGlmICh0aGlzLnBhdXNlT25Gb2N1cykge1xuICAgICAgdGhpcy5wYXVzZVRpbWVyKClcbiAgICB9XG4gIH1cblxuICBmb2N1c091dCgpIHtcbiAgICBpZiAodGhpcy5wYXVzZU9uRm9jdXMpIHtcbiAgICAgIHRoaXMuc3RhcnRUaW1lcigpXG4gICAgfVxuICB9XG5cbiAgbW91c2VFbnRlcigpIHtcbiAgICBpZiAodGhpcy5wYXVzZU9uSG92ZXIpIHtcbiAgICAgIHRoaXMucGF1c2VUaW1lcigpXG4gICAgfVxuICB9XG5cbiAgbW91c2VMZWF2ZSgpIHtcbiAgICBpZiAodGhpcy5wYXVzZU9uSG92ZXIpIHtcbiAgICAgIHRoaXMuc3RhcnRUaW1lcigpXG4gICAgfVxuICB9XG5cbiAgcGF1c2VUaW1lcigpIHtcbiAgICB0aGlzLl9jYXJvdXNlbFBhdXNlZC5uZXh0KHRydWUpXG4gIH1cblxuICBzdGFydFRpbWVyKCkge1xuICAgIGlmICghdGhpcy5fY2Fyb3VzZWxTdG9wcGVkLnZhbHVlKSB7XG4gICAgICB0aGlzLl9jYXJvdXNlbFBhdXNlZC5uZXh0KGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIHNldENhcm91c2VsKGk6IG51bWJlcikge1xuICAgIHRoaXMuX3BvbGxBY3RpdmVJbmRleC5uZXh0KGkpXG4gIH1cblxuICBwYWdlQ2Fyb3VzZWwoc3RlcDogbnVtYmVyKSB7XG4gICAgdGhpcy5zbGlkZXMkLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgZmlsdGVyKHNsaWRlcyA9PiBub3ROdWxsT3JVbmRlZmluZWQoc2xpZGVzKSksXG4gICAgICBtYXAoc2xpZGVzID0+IHtcbiAgICAgICAgY29uc3Qgc2xpZGVzTGVuID0gc2xpZGVzPy5sZW5ndGggfHwgMVxuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLl9wb2xsQWN0aXZlSW5kZXgudmFsdWVcbiAgICAgICAgaW5kZXggPSBpbmRleCArIHN0ZXBcbiAgICAgICAgaW5kZXggPSBpbmRleCA8IDAgPyBzbGlkZXNMZW4gKyBpbmRleCA6IGluZGV4ICUgc2xpZGVzTGVuXG4gICAgICAgIHRoaXMuX3BvbGxBY3RpdmVJbmRleC5uZXh0KGluZGV4KVxuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgpXG4gIH1cblxuICB0b2dnbGVDYXJvdXNlbFN0b3AoKSB7XG4gICAgY29uc3QgY2Fyb3VzZWxTdG9wcGVkID0gdGhpcy5fY2Fyb3VzZWxTdG9wcGVkLnZhbHVlXG4gICAgdGhpcy5fY2Fyb3VzZWxTdG9wcGVkLm5leHQoIWNhcm91c2VsU3RvcHBlZClcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNsaWRlcyQgfCBhc3luYyBhcyBzbGlkZXNcIj5cbiAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCJcbiAgICAqbmdJZj1cInNsaWRlcy5sZW5ndGhcIlxuICAgIChmb2N1c2luKT1cImZvY3VzSW4oKVwiXG4gICAgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigpXCJcbiAgICAoZm9jdXNvdXQpPVwiZm9jdXNPdXQoKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgpXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAxNTBweDtcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93TmF2QnV0dG9ucyAmJiBzbGlkZXMubGVuZ3RoID4gMVwiXG4gICAgICAgIHNlYW1CdXR0b25cbiAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1hcnJvdyBweC0yXCJcbiAgICAgICAgKGNsaWNrKT1cInBhZ2VDYXJvdXNlbCgtMSlcIlxuICAgICAgICB0aXRsZT1cIkdvIHRvIHByZXZpb3VzIHNsaWRlXCI+XG4gICAgICAgIDxzZWFtLWljb24gW2ljb25dPVwiZmFBbmdsZUxlZnRcIj48L3NlYW0taWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiYWN0aXZlU2xpZGUkIHwgYXN5bmMgYXMgc2xpZGVcIiBbQGZhZGVJbk91dF09XCJzbGlkZS50ZW1wbGF0ZVwiIGNsYXNzPVwiZmxleC1ncm93LTEgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtY29udGVudCB3LTEwMCBweS0xIHB4LTJcIiBbYXR0ci5kYXRhLXNsaWRlLWluZGV4XT1cImFjdGl2ZUluZGV4JCB8IGFzeW5jXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoc2xpZGUudGVtcGxhdGUpXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dOYXZCdXR0b25zICYmIHNsaWRlcy5sZW5ndGggPiAxXCJcbiAgICAgICAgc2VhbUJ1dHRvblxuICAgICAgICBjbGFzcz1cImNhcm91c2VsLWFycm93IHB4LTJcIlxuICAgICAgICAoY2xpY2spPVwicGFnZUNhcm91c2VsKDEpXCJcbiAgICAgICAgdGl0bGU9XCJHbyB0byBuZXh0IHNsaWRlXCI+XG4gICAgICAgIDxzZWFtLWljb24gW2ljb25dPVwiZmFBbmdsZVJpZ2h0XCI+PC9zZWFtLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1wYWdlcyBkLWZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1jZW50ZXIgbXQtMyBteC1hdXRvXCIgKm5nSWY9XCJzaG93UGFnZXIgJiYgc2xpZGVzLmxlbmd0aCA+IDFcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IHEgb2Ygc2xpZGVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgc2VhbUJ1dHRvblxuICAgICAgICB0aGVtZT1cImxpZ2h0XCJcbiAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1wYWdlXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCIoYWN0aXZlSW5kZXgkIHwgYXN5bmMpID09IGlcIlxuICAgICAgICAoY2xpY2spPVwic2V0Q2Fyb3VzZWwoaSlcIlxuICAgICAgICBbdGl0bGVdPVwiJ0dvIHRvIHNsaWRlICcgKyAoaSArIDEpXCI+PC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbHNcIiAqbmdJZj1cInNob3dQYXVzZUJ1dHRvbiAmJiBhdXRvUGxheVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNsaWRlcy5sZW5ndGggPiAxXCJcbiAgICAgICAgc2VhbUJ1dHRvblxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2Fyb3VzZWxTdG9wKClcIlxuICAgICAgICBbdGl0bGVdPVwiKGNhcm91c2VsU3RvcHBlZCQgfCBhc3luYykgPyAnUGxheScgOiAnUGF1c2UnXCI+XG4gICAgICAgIDxzZWFtLWljb24gW2ljb25dPVwiZmFQbGF5XCIgKm5nSWY9XCJjYXJvdXNlbFN0b3BwZWQkIHwgYXN5bmM7IGVsc2UgcGF1c2VCdXR0b25cIj48L3NlYW0taWNvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwYXVzZUJ1dHRvbj5cbiAgICAgICAgICA8c2VhbS1pY29uIFtpY29uXT1cImZhUGF1c2VcIj48L3NlYW0taWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -116,6 +116,7 @@ class TheSeamCarouselComponent {
|
|
|
116
116
|
this._resetInterval.complete();
|
|
117
117
|
}
|
|
118
118
|
_startInterval() {
|
|
119
|
+
this._resetInterval.next(undefined);
|
|
119
120
|
if (this.autoPlay) {
|
|
120
121
|
interval(this.slideInterval).pipe(takeUntil(this._resetInterval), tap(() => {
|
|
121
122
|
this.pageCarousel(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-carousel.mjs","sources":["../../../projects/ui-common/carousel/carousel-slide.directive.ts","../../../projects/ui-common/carousel/carousel.component.ts","../../../projects/ui-common/carousel/carousel.component.html","../../../projects/ui-common/carousel/carousel.module.ts","../../../projects/ui-common/carousel/theseam-ui-common-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamCarouselSlide]',\n})\nexport class TheSeamCarouselSlideDirective {\n\n constructor(public readonly template: TemplateRef<any>) { }\n\n}\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { Component, ContentChildren, Input, OnDestroy, OnInit, QueryList } from '@angular/core'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { BehaviorSubject, combineLatest, interval, Observable, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\nimport { faAngleLeft, faAngleRight, faPause, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\n\n@Component({\n selector: 'seam-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition('* => *', [\n style({ opacity: '0', height: '*' }),\n animate(250, style({ opacity: '1', height: '*' })),\n ]),\n ])\n ],\n exportAs: 'seamCarousel',\n})\nexport class TheSeamCarouselComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_slideInterval: NumberInput\n static ngAcceptInputType_autoPlay: BooleanInput\n static ngAcceptInputType_pauseOnHover: BooleanInput\n static ngAcceptInputType_pauseOnFocus: BooleanInput\n static ngAcceptInputType_showPager: BooleanInput\n static ngAcceptInputType_showNavButtons: BooleanInput\n static ngAcceptInputType_showPauseButton: BooleanInput\n\n readonly faAngleRight = faAngleRight\n readonly faAngleLeft = faAngleLeft\n readonly faPause = faPause\n readonly faPlay = faPlay\n\n /**\n * Duration in ms that slide is displayed before paging.\n * Only applicable when `autoPlay === true`.\n * Defaults to 10000ms.\n */\n @Input() @InputNumber(10000) slideInterval = 10000\n\n /**\n * When `true`, carousel will page automatically.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() autoPlay = true\n\n /**\n * When `true`, will pause automatic paging when user mouses over carousel.\n * Timer will restart when user mouses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnHover = true\n\n /**\n * When `true`, will pause automatic paging when user focuses in on item in carousel.\n * Timer will restart when user focuses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnFocus = true\n\n /**\n * When `true`, will show pager row at the bottom of the carousel with clickable buttons to navigate directly to a page.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPager = true\n\n /**\n * When `true`, will show left and right nav button on either side of the carousel to navigate through pages.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showNavButtons = true\n\n /**\n * When `true`, will show pause/play button to stop/restart automatic paging.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPauseButton = true\n\n @ContentChildren(TheSeamCarouselSlideDirective)\n get slides(): QueryList<TheSeamCarouselSlideDirective> | undefined {\n return this._slides.value\n }\n set slides(value: QueryList<TheSeamCarouselSlideDirective> | undefined) {\n // Check if slides were added or removed that would make the active index not exist.\n const count = value?.length || 0\n const maxIdx = count >= 0 ? count - 1 : 0\n const activeIdx = this._pollActiveIndex.value\n if (activeIdx > maxIdx) {\n this._pollActiveIndex.next(maxIdx)\n } else if (count > 0 && activeIdx < 0) {\n this._pollActiveIndex.next(0)\n }\n\n this._slides.next(value)\n }\n private readonly _slides = new BehaviorSubject<QueryList<TheSeamCarouselSlideDirective> | undefined>(undefined)\n public readonly slides$ = this._slides.asObservable()\n\n public readonly activeSlide$: Observable<any | undefined>\n\n private readonly _pollActiveIndex = new BehaviorSubject<number>(0)\n public readonly activeIndex$ = this._pollActiveIndex.asObservable()\n\n private readonly _carouselPaused = new BehaviorSubject<boolean>(false)\n public readonly carouselPaused$ = this._carouselPaused.asObservable()\n\n private readonly _carouselStopped = new BehaviorSubject<boolean>(false)\n public readonly carouselStopped$ = this._carouselStopped.asObservable()\n\n private readonly _resetInterval = new Subject<void>()\n\n constructor() {\n this.activeSlide$ = this._pollActiveIndex.pipe(\n startWith(0),\n switchMap(i => this.slides$.pipe(\n map(slides => slides?.get(i)),\n ))\n )\n }\n\n ngOnInit(): void {\n combineLatest([this.carouselPaused$, this.carouselStopped$]).pipe(\n tap(([paused, stopped]) => {\n if (paused || stopped) {\n this._resetInterval.next(undefined)\n } else {\n this._startInterval()\n }\n })\n ).subscribe()\n }\n\n ngOnDestroy(): void {\n this._resetInterval.next(undefined)\n this._resetInterval.complete()\n }\n\n private _startInterval() {\n if (this.autoPlay) {\n interval(this.slideInterval).pipe(\n takeUntil(this._resetInterval),\n tap(() => {\n this.pageCarousel(1)\n })\n ).subscribe()\n }\n }\n\n focusIn() {\n if (this.pauseOnFocus) {\n this.pauseTimer()\n }\n }\n\n focusOut() {\n if (this.pauseOnFocus) {\n this.startTimer()\n }\n }\n\n mouseEnter() {\n if (this.pauseOnHover) {\n this.pauseTimer()\n }\n }\n\n mouseLeave() {\n if (this.pauseOnHover) {\n this.startTimer()\n }\n }\n\n pauseTimer() {\n this._carouselPaused.next(true)\n }\n\n startTimer() {\n if (!this._carouselStopped.value) {\n this._carouselPaused.next(false)\n }\n }\n\n setCarousel(i: number) {\n this._pollActiveIndex.next(i)\n }\n\n pageCarousel(step: number) {\n this.slides$.pipe(\n take(1),\n filter(slides => notNullOrUndefined(slides)),\n map(slides => {\n const slidesLen = slides?.length || 1\n let index = this._pollActiveIndex.value\n index = index + step\n index = index < 0 ? slidesLen + index : index % slidesLen\n this._pollActiveIndex.next(index)\n })\n ).subscribe()\n }\n\n toggleCarouselStop() {\n const carouselStopped = this._carouselStopped.value\n this._carouselStopped.next(!carouselStopped)\n }\n}\n","<ng-container *ngIf=\"slides$ | async as slides\">\n <div class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\">\n\n <div class=\"d-flex\" style=\"min-height: 150px;\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\">\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div *ngIf=\"activeSlide$ | async as slide\" [@fadeInOut]=\"slide.template\" class=\"flex-grow-1 d-flex align-items-center\">\n <div class=\"carousel-content w-100 py-1 px-2\" [attr.data-slide-index]=\"activeIndex$ | async\">\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\">\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\" *ngIf=\"showPager && slides.length > 1\">\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) == i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\">\n <seam-icon [icon]=\"faPlay\" *ngIf=\"carouselStopped$ | async; else pauseButton\"></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n\n </div>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\nimport { TheSeamCarouselComponent } from './carousel.component'\n\n@NgModule({\n declarations: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n TheSeamButtonsModule,\n ],\n exports: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n providers: []\n})\nexport class TheSeamCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAKa,6BAA6B,CAAA;AAExC,IAAA,WAAA,CAA4B,QAA0B,EAAA;AAA1B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;0HAFhD,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8GAA7B,6BAA6B,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;iBAChC,CAAA;;;MCsBY,wBAAwB,CAAA;AA6DnC,IAAA,IACI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;KAC1B;IACD,IAAI,MAAM,CAAC,KAA2D,EAAA;;AAEpE,QAAA,MAAM,KAAK,GAAG,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,KAAI,CAAC,CAAA;AAChC,QAAA,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;AACzC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;QAC7C,IAAI,SAAS,GAAG,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnC,SAAA;AAAM,aAAA,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC9B,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACzB;AAiBD,IAAA,WAAA,GAAA;AArFS,QAAA,IAAY,CAAA,YAAA,GAAG,YAAY,CAAA;AAC3B,QAAA,IAAW,CAAA,WAAA,GAAG,WAAW,CAAA;AACzB,QAAA,IAAO,CAAA,OAAA,GAAG,OAAO,CAAA;AACjB,QAAA,IAAM,CAAA,MAAA,GAAG,MAAM,CAAA;AAExB;;;;AAIG;AAC0B,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAA;AAElD;;;AAGG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAA;AAExC;;;;;AAKG;AACsB,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA;AAE5C;;;;;AAKG;AACsB,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA;AAE5C;;;AAGG;AACsB,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAA;AAEzC;;;AAGG;AACsB,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,CAAA;AAE9C;;;AAGG;AACsB,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAA;QAmB9B,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAuD,SAAS,CAAC,CAAA;QAC/F,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;QAIpC,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAA;QAClD,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAA;QAElD,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;QACtD,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAA;QAEpD,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;QACvD,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAA;AAEtD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;QAGnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC5C,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,GAAG,CAAC,MAAM,IAAI,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC,CACH,CAAA;KACF;IAED,QAAQ,GAAA;QACN,aAAa,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAC/D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAI;YACxB,IAAI,MAAM,IAAI,OAAO,EAAE;AACrB,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACpC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,cAAc,EAAE,CAAA;AACtB,aAAA;AACH,SAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;KACd;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;IAEO,cAAc,GAAA;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAC/B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAC9B,GAAG,CAAC,MAAK;AACP,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;AACtB,aAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;AACd,SAAA;KACF;IAED,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAChC;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAChC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjC,SAAA;KACF;AAED,IAAA,WAAW,CAAC,CAAS,EAAA;AACnB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAC9B;AAED,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,CAAC,CAAC,CAAC,EACP,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAC5C,GAAG,CAAC,MAAM,IAAG;AACX,YAAA,MAAM,SAAS,GAAG,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,MAAM,KAAI,CAAC,CAAA;AACrC,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;AACvC,YAAA,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;AACpB,YAAA,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AACzD,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnC,SAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;KACd;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;KAC7C;;qHA1LU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EA6DlB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,6BAA6B,ECvFhD,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,iqEA4DA,ED5Cc,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,WAAW,EAAE;YACnB,UAAU,CAAC,QAAQ,EAAE;gBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpC,gBAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;aACnD,CAAC;SACH,CAAC;AACH,KAAA,EAAA,CAAA,CAAA;AAsB4B,UAAA,CAAA;IAAnB,WAAW,CAAC,KAAK,CAAC;CAAsB,EAAA,wBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMzB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAgB,EAAA,wBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQf,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAoB,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAoB,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiB,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMhB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAsB,EAAA,wBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMrB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAuB,EAAA,wBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FA3DpC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAdpC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGb,UAAA,EAAA;wBACV,OAAO,CAAC,WAAW,EAAE;4BACnB,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpC,gCAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;6BACnD,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EACS,cAAc,EAAA,QAAA,EAAA,iqEAAA,EAAA,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,CAAA;0EAqBK,aAAa,EAAA,CAAA;sBAAzC,KAAK;gBAMmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBAQmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBAQmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBAMmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAMmB,cAAc,EAAA,CAAA;sBAAtC,KAAK;gBAMmB,eAAe,EAAA,CAAA;sBAAvC,KAAK;gBAGF,MAAM,EAAA,CAAA;sBADT,eAAe;uBAAC,6BAA6B,CAAA;;;ME9DnC,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAd9B,wBAAwB;AACxB,QAAA,6BAA6B,aAG7B,YAAY;QACZ,iBAAiB;AACjB,QAAA,oBAAoB,aAGpB,wBAAwB;QACxB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAIpB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAV9B,YAAY;QACZ,iBAAiB;QACjB,oBAAoB,CAAA,EAAA,CAAA,CAAA;2FAQX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;iBACd,CAAA;;;ACxBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-carousel.mjs","sources":["../../../projects/ui-common/carousel/carousel-slide.directive.ts","../../../projects/ui-common/carousel/carousel.component.ts","../../../projects/ui-common/carousel/carousel.component.html","../../../projects/ui-common/carousel/carousel.module.ts","../../../projects/ui-common/carousel/theseam-ui-common-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamCarouselSlide]',\n})\nexport class TheSeamCarouselSlideDirective {\n\n constructor(public readonly template: TemplateRef<any>) { }\n\n}\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { Component, ContentChildren, Input, OnDestroy, OnInit, QueryList } from '@angular/core'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { BehaviorSubject, combineLatest, interval, Observable, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\nimport { faAngleLeft, faAngleRight, faPause, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\n\n@Component({\n selector: 'seam-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition('* => *', [\n style({ opacity: '0', height: '*' }),\n animate(250, style({ opacity: '1', height: '*' })),\n ]),\n ])\n ],\n exportAs: 'seamCarousel',\n})\nexport class TheSeamCarouselComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_slideInterval: NumberInput\n static ngAcceptInputType_autoPlay: BooleanInput\n static ngAcceptInputType_pauseOnHover: BooleanInput\n static ngAcceptInputType_pauseOnFocus: BooleanInput\n static ngAcceptInputType_showPager: BooleanInput\n static ngAcceptInputType_showNavButtons: BooleanInput\n static ngAcceptInputType_showPauseButton: BooleanInput\n\n readonly faAngleRight = faAngleRight\n readonly faAngleLeft = faAngleLeft\n readonly faPause = faPause\n readonly faPlay = faPlay\n\n /**\n * Duration in ms that slide is displayed before paging.\n * Only applicable when `autoPlay === true`.\n * Defaults to 10000ms.\n */\n @Input() @InputNumber(10000) slideInterval = 10000\n\n /**\n * When `true`, carousel will page automatically.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() autoPlay = true\n\n /**\n * When `true`, will pause automatic paging when user mouses over carousel.\n * Timer will restart when user mouses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnHover = true\n\n /**\n * When `true`, will pause automatic paging when user focuses in on item in carousel.\n * Timer will restart when user focuses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnFocus = true\n\n /**\n * When `true`, will show pager row at the bottom of the carousel with clickable buttons to navigate directly to a page.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPager = true\n\n /**\n * When `true`, will show left and right nav button on either side of the carousel to navigate through pages.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showNavButtons = true\n\n /**\n * When `true`, will show pause/play button to stop/restart automatic paging.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPauseButton = true\n\n @ContentChildren(TheSeamCarouselSlideDirective)\n get slides(): QueryList<TheSeamCarouselSlideDirective> | undefined {\n return this._slides.value\n }\n set slides(value: QueryList<TheSeamCarouselSlideDirective> | undefined) {\n // Check if slides were added or removed that would make the active index not exist.\n const count = value?.length || 0\n const maxIdx = count >= 0 ? count - 1 : 0\n const activeIdx = this._pollActiveIndex.value\n if (activeIdx > maxIdx) {\n this._pollActiveIndex.next(maxIdx)\n } else if (count > 0 && activeIdx < 0) {\n this._pollActiveIndex.next(0)\n }\n\n this._slides.next(value)\n }\n private readonly _slides = new BehaviorSubject<QueryList<TheSeamCarouselSlideDirective> | undefined>(undefined)\n public readonly slides$ = this._slides.asObservable()\n\n public readonly activeSlide$: Observable<any | undefined>\n\n private readonly _pollActiveIndex = new BehaviorSubject<number>(0)\n public readonly activeIndex$ = this._pollActiveIndex.asObservable()\n\n private readonly _carouselPaused = new BehaviorSubject<boolean>(false)\n public readonly carouselPaused$ = this._carouselPaused.asObservable()\n\n private readonly _carouselStopped = new BehaviorSubject<boolean>(false)\n public readonly carouselStopped$ = this._carouselStopped.asObservable()\n\n private readonly _resetInterval = new Subject<void>()\n\n constructor() {\n this.activeSlide$ = this._pollActiveIndex.pipe(\n startWith(0),\n switchMap(i => this.slides$.pipe(\n map(slides => slides?.get(i)),\n ))\n )\n }\n\n ngOnInit(): void {\n combineLatest([this.carouselPaused$, this.carouselStopped$]).pipe(\n tap(([paused, stopped]) => {\n if (paused || stopped) {\n this._resetInterval.next(undefined)\n } else {\n this._startInterval()\n }\n })\n ).subscribe()\n }\n\n ngOnDestroy(): void {\n this._resetInterval.next(undefined)\n this._resetInterval.complete()\n }\n\n private _startInterval() {\n this._resetInterval.next(undefined)\n if (this.autoPlay) {\n interval(this.slideInterval).pipe(\n takeUntil(this._resetInterval),\n tap(() => {\n this.pageCarousel(1)\n })\n ).subscribe()\n }\n }\n\n focusIn() {\n if (this.pauseOnFocus) {\n this.pauseTimer()\n }\n }\n\n focusOut() {\n if (this.pauseOnFocus) {\n this.startTimer()\n }\n }\n\n mouseEnter() {\n if (this.pauseOnHover) {\n this.pauseTimer()\n }\n }\n\n mouseLeave() {\n if (this.pauseOnHover) {\n this.startTimer()\n }\n }\n\n pauseTimer() {\n this._carouselPaused.next(true)\n }\n\n startTimer() {\n if (!this._carouselStopped.value) {\n this._carouselPaused.next(false)\n }\n }\n\n setCarousel(i: number) {\n this._pollActiveIndex.next(i)\n }\n\n pageCarousel(step: number) {\n this.slides$.pipe(\n take(1),\n filter(slides => notNullOrUndefined(slides)),\n map(slides => {\n const slidesLen = slides?.length || 1\n let index = this._pollActiveIndex.value\n index = index + step\n index = index < 0 ? slidesLen + index : index % slidesLen\n this._pollActiveIndex.next(index)\n })\n ).subscribe()\n }\n\n toggleCarouselStop() {\n const carouselStopped = this._carouselStopped.value\n this._carouselStopped.next(!carouselStopped)\n }\n}\n","<ng-container *ngIf=\"slides$ | async as slides\">\n <div class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\">\n\n <div class=\"d-flex\" style=\"min-height: 150px;\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\">\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div *ngIf=\"activeSlide$ | async as slide\" [@fadeInOut]=\"slide.template\" class=\"flex-grow-1 d-flex align-items-center\">\n <div class=\"carousel-content w-100 py-1 px-2\" [attr.data-slide-index]=\"activeIndex$ | async\">\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\">\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\" *ngIf=\"showPager && slides.length > 1\">\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) == i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\">\n <seam-icon [icon]=\"faPlay\" *ngIf=\"carouselStopped$ | async; else pauseButton\"></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n\n </div>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\nimport { TheSeamCarouselComponent } from './carousel.component'\n\n@NgModule({\n declarations: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n TheSeamButtonsModule,\n ],\n exports: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n providers: []\n})\nexport class TheSeamCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -116,6 +116,7 @@ class TheSeamCarouselComponent {
|
|
|
116
116
|
this._resetInterval.complete();
|
|
117
117
|
}
|
|
118
118
|
_startInterval() {
|
|
119
|
+
this._resetInterval.next(undefined);
|
|
119
120
|
if (this.autoPlay) {
|
|
120
121
|
interval(this.slideInterval).pipe(takeUntil(this._resetInterval), tap(() => {
|
|
121
122
|
this.pageCarousel(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-carousel.mjs","sources":["../../../projects/ui-common/carousel/carousel-slide.directive.ts","../../../projects/ui-common/carousel/carousel.component.ts","../../../projects/ui-common/carousel/carousel.component.html","../../../projects/ui-common/carousel/carousel.module.ts","../../../projects/ui-common/carousel/theseam-ui-common-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamCarouselSlide]',\n})\nexport class TheSeamCarouselSlideDirective {\n\n constructor(public readonly template: TemplateRef<any>) { }\n\n}\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { Component, ContentChildren, Input, OnDestroy, OnInit, QueryList } from '@angular/core'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { BehaviorSubject, combineLatest, interval, Observable, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\nimport { faAngleLeft, faAngleRight, faPause, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\n\n@Component({\n selector: 'seam-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition('* => *', [\n style({ opacity: '0', height: '*' }),\n animate(250, style({ opacity: '1', height: '*' })),\n ]),\n ])\n ],\n exportAs: 'seamCarousel',\n})\nexport class TheSeamCarouselComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_slideInterval: NumberInput\n static ngAcceptInputType_autoPlay: BooleanInput\n static ngAcceptInputType_pauseOnHover: BooleanInput\n static ngAcceptInputType_pauseOnFocus: BooleanInput\n static ngAcceptInputType_showPager: BooleanInput\n static ngAcceptInputType_showNavButtons: BooleanInput\n static ngAcceptInputType_showPauseButton: BooleanInput\n\n readonly faAngleRight = faAngleRight\n readonly faAngleLeft = faAngleLeft\n readonly faPause = faPause\n readonly faPlay = faPlay\n\n /**\n * Duration in ms that slide is displayed before paging.\n * Only applicable when `autoPlay === true`.\n * Defaults to 10000ms.\n */\n @Input() @InputNumber(10000) slideInterval = 10000\n\n /**\n * When `true`, carousel will page automatically.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() autoPlay = true\n\n /**\n * When `true`, will pause automatic paging when user mouses over carousel.\n * Timer will restart when user mouses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnHover = true\n\n /**\n * When `true`, will pause automatic paging when user focuses in on item in carousel.\n * Timer will restart when user focuses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnFocus = true\n\n /**\n * When `true`, will show pager row at the bottom of the carousel with clickable buttons to navigate directly to a page.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPager = true\n\n /**\n * When `true`, will show left and right nav button on either side of the carousel to navigate through pages.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showNavButtons = true\n\n /**\n * When `true`, will show pause/play button to stop/restart automatic paging.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPauseButton = true\n\n @ContentChildren(TheSeamCarouselSlideDirective)\n get slides(): QueryList<TheSeamCarouselSlideDirective> | undefined {\n return this._slides.value\n }\n set slides(value: QueryList<TheSeamCarouselSlideDirective> | undefined) {\n // Check if slides were added or removed that would make the active index not exist.\n const count = value?.length || 0\n const maxIdx = count >= 0 ? count - 1 : 0\n const activeIdx = this._pollActiveIndex.value\n if (activeIdx > maxIdx) {\n this._pollActiveIndex.next(maxIdx)\n } else if (count > 0 && activeIdx < 0) {\n this._pollActiveIndex.next(0)\n }\n\n this._slides.next(value)\n }\n private readonly _slides = new BehaviorSubject<QueryList<TheSeamCarouselSlideDirective> | undefined>(undefined)\n public readonly slides$ = this._slides.asObservable()\n\n public readonly activeSlide$: Observable<any | undefined>\n\n private readonly _pollActiveIndex = new BehaviorSubject<number>(0)\n public readonly activeIndex$ = this._pollActiveIndex.asObservable()\n\n private readonly _carouselPaused = new BehaviorSubject<boolean>(false)\n public readonly carouselPaused$ = this._carouselPaused.asObservable()\n\n private readonly _carouselStopped = new BehaviorSubject<boolean>(false)\n public readonly carouselStopped$ = this._carouselStopped.asObservable()\n\n private readonly _resetInterval = new Subject<void>()\n\n constructor() {\n this.activeSlide$ = this._pollActiveIndex.pipe(\n startWith(0),\n switchMap(i => this.slides$.pipe(\n map(slides => slides?.get(i)),\n ))\n )\n }\n\n ngOnInit(): void {\n combineLatest([this.carouselPaused$, this.carouselStopped$]).pipe(\n tap(([paused, stopped]) => {\n if (paused || stopped) {\n this._resetInterval.next(undefined)\n } else {\n this._startInterval()\n }\n })\n ).subscribe()\n }\n\n ngOnDestroy(): void {\n this._resetInterval.next(undefined)\n this._resetInterval.complete()\n }\n\n private _startInterval() {\n if (this.autoPlay) {\n interval(this.slideInterval).pipe(\n takeUntil(this._resetInterval),\n tap(() => {\n this.pageCarousel(1)\n })\n ).subscribe()\n }\n }\n\n focusIn() {\n if (this.pauseOnFocus) {\n this.pauseTimer()\n }\n }\n\n focusOut() {\n if (this.pauseOnFocus) {\n this.startTimer()\n }\n }\n\n mouseEnter() {\n if (this.pauseOnHover) {\n this.pauseTimer()\n }\n }\n\n mouseLeave() {\n if (this.pauseOnHover) {\n this.startTimer()\n }\n }\n\n pauseTimer() {\n this._carouselPaused.next(true)\n }\n\n startTimer() {\n if (!this._carouselStopped.value) {\n this._carouselPaused.next(false)\n }\n }\n\n setCarousel(i: number) {\n this._pollActiveIndex.next(i)\n }\n\n pageCarousel(step: number) {\n this.slides$.pipe(\n take(1),\n filter(slides => notNullOrUndefined(slides)),\n map(slides => {\n const slidesLen = slides?.length || 1\n let index = this._pollActiveIndex.value\n index = index + step\n index = index < 0 ? slidesLen + index : index % slidesLen\n this._pollActiveIndex.next(index)\n })\n ).subscribe()\n }\n\n toggleCarouselStop() {\n const carouselStopped = this._carouselStopped.value\n this._carouselStopped.next(!carouselStopped)\n }\n}\n","<ng-container *ngIf=\"slides$ | async as slides\">\n <div class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\">\n\n <div class=\"d-flex\" style=\"min-height: 150px;\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\">\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div *ngIf=\"activeSlide$ | async as slide\" [@fadeInOut]=\"slide.template\" class=\"flex-grow-1 d-flex align-items-center\">\n <div class=\"carousel-content w-100 py-1 px-2\" [attr.data-slide-index]=\"activeIndex$ | async\">\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\">\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\" *ngIf=\"showPager && slides.length > 1\">\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) == i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\">\n <seam-icon [icon]=\"faPlay\" *ngIf=\"carouselStopped$ | async; else pauseButton\"></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n\n </div>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\nimport { TheSeamCarouselComponent } from './carousel.component'\n\n@NgModule({\n declarations: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n TheSeamButtonsModule,\n ],\n exports: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n providers: []\n})\nexport class TheSeamCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAKa,6BAA6B,CAAA;AAExC,IAAA,WAAA,CAA4B,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;0HAFhD,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8GAA7B,6BAA6B,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;;;MCsBY,wBAAwB,CAAA;AA6DnC,IAAA,IACI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;KAC1B;IACD,IAAI,MAAM,CAAC,KAA2D,EAAA;;AAEpE,QAAA,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,IAAI,CAAC,CAAA;AAChC,QAAA,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;AACzC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;QAC7C,IAAI,SAAS,GAAG,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnC,SAAA;AAAM,aAAA,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC9B,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACzB;AAiBD,IAAA,WAAA,GAAA;QArFS,IAAY,CAAA,YAAA,GAAG,YAAY,CAAA;QAC3B,IAAW,CAAA,WAAA,GAAG,WAAW,CAAA;QACzB,IAAO,CAAA,OAAA,GAAG,OAAO,CAAA;QACjB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAA;AAExB;;;;AAIG;QAC0B,IAAa,CAAA,aAAA,GAAG,KAAK,CAAA;AAElD;;;AAGG;QACsB,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAA;AAExC;;;;;AAKG;QACsB,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA;AAE5C;;;;;AAKG;QACsB,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA;AAE5C;;;AAGG;QACsB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAA;AAEzC;;;AAGG;QACsB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAA;AAE9C;;;AAGG;QACsB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAA;AAmB9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAuD,SAAS,CAAC,CAAA;AAC/F,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;AAIpC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAA;AAClD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAA;AAElD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;AACtD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAA;AAEpD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;AACvD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAA;AAEtD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;AAGnD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC5C,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC,CACH,CAAA;KACF;IAED,QAAQ,GAAA;QACN,aAAa,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAC/D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAI;YACxB,IAAI,MAAM,IAAI,OAAO,EAAE;AACrB,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACpC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,cAAc,EAAE,CAAA;AACtB,aAAA;AACH,SAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;KACd;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;IAEO,cAAc,GAAA;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAC/B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAC9B,GAAG,CAAC,MAAK;AACP,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;AACtB,aAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;AACd,SAAA;KACF;IAED,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAChC;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAChC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjC,SAAA;KACF;AAED,IAAA,WAAW,CAAC,CAAS,EAAA;AACnB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAC9B;AAED,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,CAAC,CAAC,CAAC,EACP,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAC5C,GAAG,CAAC,MAAM,IAAG;AACX,YAAA,MAAM,SAAS,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,CAAA;AACrC,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;AACvC,YAAA,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;AACpB,YAAA,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AACzD,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnC,SAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;KACd;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;KAC7C;;qHA1LU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EA6DlB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,6BAA6B,ECvFhD,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,iqEA4DA,ED5Cc,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,WAAW,EAAE;YACnB,UAAU,CAAC,QAAQ,EAAE;gBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpC,gBAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;aACnD,CAAC;SACH,CAAC;AACH,KAAA,EAAA,CAAA,CAAA;AAsB4B,UAAA,CAAA;IAAnB,WAAW,CAAC,KAAK,CAAC;AAAsB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMzB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAgB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQf,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAoB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAoB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMhB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAsB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMrB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAuB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FA3DpC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAdpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGb,UAAA,EAAA;wBACV,OAAO,CAAC,WAAW,EAAE;4BACnB,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpC,gCAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;6BACnD,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EACS,cAAc,EAAA,QAAA,EAAA,iqEAAA,EAAA,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,CAAA;0EAqBK,aAAa,EAAA,CAAA;sBAAzC,KAAK;gBAMmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBAQmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBAQmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBAMmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAMmB,cAAc,EAAA,CAAA;sBAAtC,KAAK;gBAMmB,eAAe,EAAA,CAAA;sBAAvC,KAAK;gBAGF,MAAM,EAAA,CAAA;sBADT,eAAe;uBAAC,6BAA6B,CAAA;;;ME9DnC,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAd9B,wBAAwB;AACxB,QAAA,6BAA6B,aAG7B,YAAY;QACZ,iBAAiB;AACjB,QAAA,oBAAoB,aAGpB,wBAAwB;QACxB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAIpB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAV9B,YAAY;QACZ,iBAAiB;QACjB,oBAAoB,CAAA,EAAA,CAAA,CAAA;2FAQX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACxBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-carousel.mjs","sources":["../../../projects/ui-common/carousel/carousel-slide.directive.ts","../../../projects/ui-common/carousel/carousel.component.ts","../../../projects/ui-common/carousel/carousel.component.html","../../../projects/ui-common/carousel/carousel.module.ts","../../../projects/ui-common/carousel/theseam-ui-common-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamCarouselSlide]',\n})\nexport class TheSeamCarouselSlideDirective {\n\n constructor(public readonly template: TemplateRef<any>) { }\n\n}\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { Component, ContentChildren, Input, OnDestroy, OnInit, QueryList } from '@angular/core'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { BehaviorSubject, combineLatest, interval, Observable, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\nimport { faAngleLeft, faAngleRight, faPause, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\n\n@Component({\n selector: 'seam-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition('* => *', [\n style({ opacity: '0', height: '*' }),\n animate(250, style({ opacity: '1', height: '*' })),\n ]),\n ])\n ],\n exportAs: 'seamCarousel',\n})\nexport class TheSeamCarouselComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_slideInterval: NumberInput\n static ngAcceptInputType_autoPlay: BooleanInput\n static ngAcceptInputType_pauseOnHover: BooleanInput\n static ngAcceptInputType_pauseOnFocus: BooleanInput\n static ngAcceptInputType_showPager: BooleanInput\n static ngAcceptInputType_showNavButtons: BooleanInput\n static ngAcceptInputType_showPauseButton: BooleanInput\n\n readonly faAngleRight = faAngleRight\n readonly faAngleLeft = faAngleLeft\n readonly faPause = faPause\n readonly faPlay = faPlay\n\n /**\n * Duration in ms that slide is displayed before paging.\n * Only applicable when `autoPlay === true`.\n * Defaults to 10000ms.\n */\n @Input() @InputNumber(10000) slideInterval = 10000\n\n /**\n * When `true`, carousel will page automatically.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() autoPlay = true\n\n /**\n * When `true`, will pause automatic paging when user mouses over carousel.\n * Timer will restart when user mouses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnHover = true\n\n /**\n * When `true`, will pause automatic paging when user focuses in on item in carousel.\n * Timer will restart when user focuses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnFocus = true\n\n /**\n * When `true`, will show pager row at the bottom of the carousel with clickable buttons to navigate directly to a page.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPager = true\n\n /**\n * When `true`, will show left and right nav button on either side of the carousel to navigate through pages.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showNavButtons = true\n\n /**\n * When `true`, will show pause/play button to stop/restart automatic paging.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPauseButton = true\n\n @ContentChildren(TheSeamCarouselSlideDirective)\n get slides(): QueryList<TheSeamCarouselSlideDirective> | undefined {\n return this._slides.value\n }\n set slides(value: QueryList<TheSeamCarouselSlideDirective> | undefined) {\n // Check if slides were added or removed that would make the active index not exist.\n const count = value?.length || 0\n const maxIdx = count >= 0 ? count - 1 : 0\n const activeIdx = this._pollActiveIndex.value\n if (activeIdx > maxIdx) {\n this._pollActiveIndex.next(maxIdx)\n } else if (count > 0 && activeIdx < 0) {\n this._pollActiveIndex.next(0)\n }\n\n this._slides.next(value)\n }\n private readonly _slides = new BehaviorSubject<QueryList<TheSeamCarouselSlideDirective> | undefined>(undefined)\n public readonly slides$ = this._slides.asObservable()\n\n public readonly activeSlide$: Observable<any | undefined>\n\n private readonly _pollActiveIndex = new BehaviorSubject<number>(0)\n public readonly activeIndex$ = this._pollActiveIndex.asObservable()\n\n private readonly _carouselPaused = new BehaviorSubject<boolean>(false)\n public readonly carouselPaused$ = this._carouselPaused.asObservable()\n\n private readonly _carouselStopped = new BehaviorSubject<boolean>(false)\n public readonly carouselStopped$ = this._carouselStopped.asObservable()\n\n private readonly _resetInterval = new Subject<void>()\n\n constructor() {\n this.activeSlide$ = this._pollActiveIndex.pipe(\n startWith(0),\n switchMap(i => this.slides$.pipe(\n map(slides => slides?.get(i)),\n ))\n )\n }\n\n ngOnInit(): void {\n combineLatest([this.carouselPaused$, this.carouselStopped$]).pipe(\n tap(([paused, stopped]) => {\n if (paused || stopped) {\n this._resetInterval.next(undefined)\n } else {\n this._startInterval()\n }\n })\n ).subscribe()\n }\n\n ngOnDestroy(): void {\n this._resetInterval.next(undefined)\n this._resetInterval.complete()\n }\n\n private _startInterval() {\n this._resetInterval.next(undefined)\n if (this.autoPlay) {\n interval(this.slideInterval).pipe(\n takeUntil(this._resetInterval),\n tap(() => {\n this.pageCarousel(1)\n })\n ).subscribe()\n }\n }\n\n focusIn() {\n if (this.pauseOnFocus) {\n this.pauseTimer()\n }\n }\n\n focusOut() {\n if (this.pauseOnFocus) {\n this.startTimer()\n }\n }\n\n mouseEnter() {\n if (this.pauseOnHover) {\n this.pauseTimer()\n }\n }\n\n mouseLeave() {\n if (this.pauseOnHover) {\n this.startTimer()\n }\n }\n\n pauseTimer() {\n this._carouselPaused.next(true)\n }\n\n startTimer() {\n if (!this._carouselStopped.value) {\n this._carouselPaused.next(false)\n }\n }\n\n setCarousel(i: number) {\n this._pollActiveIndex.next(i)\n }\n\n pageCarousel(step: number) {\n this.slides$.pipe(\n take(1),\n filter(slides => notNullOrUndefined(slides)),\n map(slides => {\n const slidesLen = slides?.length || 1\n let index = this._pollActiveIndex.value\n index = index + step\n index = index < 0 ? slidesLen + index : index % slidesLen\n this._pollActiveIndex.next(index)\n })\n ).subscribe()\n }\n\n toggleCarouselStop() {\n const carouselStopped = this._carouselStopped.value\n this._carouselStopped.next(!carouselStopped)\n }\n}\n","<ng-container *ngIf=\"slides$ | async as slides\">\n <div class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\">\n\n <div class=\"d-flex\" style=\"min-height: 150px;\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\">\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div *ngIf=\"activeSlide$ | async as slide\" [@fadeInOut]=\"slide.template\" class=\"flex-grow-1 d-flex align-items-center\">\n <div class=\"carousel-content w-100 py-1 px-2\" [attr.data-slide-index]=\"activeIndex$ | async\">\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\">\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\" *ngIf=\"showPager && slides.length > 1\">\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) == i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\">\n <seam-icon [icon]=\"faPlay\" *ngIf=\"carouselStopped$ | async; else pauseButton\"></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n\n </div>\n</ng-container>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\nimport { TheSeamCarouselComponent } from './carousel.component'\n\n@NgModule({\n declarations: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n TheSeamButtonsModule,\n ],\n exports: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective\n ],\n providers: []\n})\nexport class TheSeamCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAKa,6BAA6B,CAAA;AAExC,IAAA,WAAA,CAA4B,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;0HAFhD,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8GAA7B,6BAA6B,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;;;MCsBY,wBAAwB,CAAA;AA6DnC,IAAA,IACI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;KAC1B;IACD,IAAI,MAAM,CAAC,KAA2D,EAAA;;AAEpE,QAAA,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,IAAI,CAAC,CAAA;AAChC,QAAA,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;AACzC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;QAC7C,IAAI,SAAS,GAAG,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnC,SAAA;AAAM,aAAA,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC9B,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACzB;AAiBD,IAAA,WAAA,GAAA;QArFS,IAAY,CAAA,YAAA,GAAG,YAAY,CAAA;QAC3B,IAAW,CAAA,WAAA,GAAG,WAAW,CAAA;QACzB,IAAO,CAAA,OAAA,GAAG,OAAO,CAAA;QACjB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAA;AAExB;;;;AAIG;QAC0B,IAAa,CAAA,aAAA,GAAG,KAAK,CAAA;AAElD;;;AAGG;QACsB,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAA;AAExC;;;;;AAKG;QACsB,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA;AAE5C;;;;;AAKG;QACsB,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA;AAE5C;;;AAGG;QACsB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAA;AAEzC;;;AAGG;QACsB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAA;AAE9C;;;AAGG;QACsB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAA;AAmB9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAuD,SAAS,CAAC,CAAA;AAC/F,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;AAIpC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAA;AAClD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAA;AAElD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;AACtD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAA;AAEpD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;AACvD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAA;AAEtD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;AAGnD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC5C,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC,CACH,CAAA;KACF;IAED,QAAQ,GAAA;QACN,aAAa,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAC/D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAI;YACxB,IAAI,MAAM,IAAI,OAAO,EAAE;AACrB,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACpC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,cAAc,EAAE,CAAA;AACtB,aAAA;AACH,SAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;KACd;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;IAEO,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAC/B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAC9B,GAAG,CAAC,MAAK;AACP,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;AACtB,aAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;AACd,SAAA;KACF;IAED,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAA;AAClB,SAAA;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAChC;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAChC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjC,SAAA;KACF;AAED,IAAA,WAAW,CAAC,CAAS,EAAA;AACnB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAC9B;AAED,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,CAAC,CAAC,CAAC,EACP,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAC5C,GAAG,CAAC,MAAM,IAAG;AACX,YAAA,MAAM,SAAS,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,CAAA;AACrC,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;AACvC,YAAA,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;AACpB,YAAA,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AACzD,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnC,SAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAA;KACd;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;KAC7C;;qHA3LU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EA6DlB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,6BAA6B,ECvFhD,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,iqEA4DA,ED5Cc,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,WAAW,EAAE;YACnB,UAAU,CAAC,QAAQ,EAAE;gBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpC,gBAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;aACnD,CAAC;SACH,CAAC;AACH,KAAA,EAAA,CAAA,CAAA;AAsB4B,UAAA,CAAA;IAAnB,WAAW,CAAC,KAAK,CAAC;AAAsB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMzB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAgB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQf,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAoB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAoB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMhB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAsB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMrB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAuB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FA3DpC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAdpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGb,UAAA,EAAA;wBACV,OAAO,CAAC,WAAW,EAAE;4BACnB,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpC,gCAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;6BACnD,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EACS,cAAc,EAAA,QAAA,EAAA,iqEAAA,EAAA,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,CAAA;0EAqBK,aAAa,EAAA,CAAA;sBAAzC,KAAK;gBAMmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBAQmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBAQmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBAMmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAMmB,cAAc,EAAA,CAAA;sBAAtC,KAAK;gBAMmB,eAAe,EAAA,CAAA;sBAAvC,KAAK;gBAGF,MAAM,EAAA,CAAA;sBADT,eAAe;uBAAC,6BAA6B,CAAA;;;ME9DnC,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAd9B,wBAAwB;AACxB,QAAA,6BAA6B,aAG7B,YAAY;QACZ,iBAAiB;AACjB,QAAA,oBAAoB,aAGpB,wBAAwB;QACxB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAIpB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAV9B,YAAY;QACZ,iBAAiB;QACjB,oBAAoB,CAAA,EAAA,CAAA,CAAA;2FAQX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACxBD;;AAEG;;;;"}
|