@leanix/components 0.4.356 → 0.4.358

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.
@@ -34,6 +34,7 @@ export class EllipsisComponent {
34
34
  this.escapeHtmlInContent = true;
35
35
  this.isShowingMore$ = new BehaviorSubject(false);
36
36
  this.destroyed$ = new Subject();
37
+ this.viewChecked$ = new Subject();
37
38
  }
38
39
  ngOnInit() {
39
40
  this.sanitizedContent$ = this.content$.pipe(map((content) => {
@@ -60,8 +61,7 @@ export class EllipsisComponent {
60
61
  containerWidthChangedSignificantlyAfterResize$
61
62
  ]);
62
63
  const isContentOverflowing$ = merge(concat(reevaluateIfContentIsOverflowing$.pipe(take(1)), // debounce all but the first output
63
- reevaluateIfContentIsOverflowing$.pipe(debounceTime(this.debounceMsAfterResize))), this.content$.pipe(skip(1)) // immediately reevaluate on subsequent content changes
64
- ).pipe(withLatestFrom(this.contentSpanEl$), map(([, contentSpanRef]) => this.isContentOverflowing(contentSpanRef)));
64
+ reevaluateIfContentIsOverflowing$.pipe(debounceTime(this.debounceMsAfterResize))), this.content$.pipe(skip(1), switchMap(() => this.viewChecked$))).pipe(withLatestFrom(this.contentSpanEl$), map(([, contentSpanRef]) => this.isContentOverflowing(contentSpanRef)));
65
65
  const userTriggeredTriggeredShowMore$ = this.isShowingMore$.pipe(filter((isShowingMore) => isShowingMore));
66
66
  const buttonHeight$ = this.showMoreButtonEl$.pipe(filter((showMoreButtonEl) => !!showMoreButtonEl), map((showMoreButtonEl) => showMoreButtonEl.nativeElement.offsetHeight), distinctUntilChanged());
67
67
  const userIncreasedBrowserWindowSizeToThePointOfNoTruncationNecessary$ = combineLatest([
@@ -92,6 +92,9 @@ export class EllipsisComponent {
92
92
  this.detectChangesWhenObservableEmits(contentIsOverflowingAndShowMoreIsNotEnabled$);
93
93
  this.detectChangesWhenObservableEmits(isContentOverflowing$);
94
94
  }
95
+ ngAfterViewChecked() {
96
+ this.viewChecked$.next();
97
+ }
95
98
  onShowMoreToggle() {
96
99
  this.isShowingMore$.next(!this.isShowingMore$.getValue());
97
100
  this.cdRef.detectChanges();
@@ -136,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
136
139
  type: ViewChild,
137
140
  args: ['showMoreButton', { read: ElementRef }]
138
141
  }], content$: [] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL2VsbGlwc2lzL2VsbGlwc2lzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9lbGxpcHNpcy9lbGxpcHNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBR0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUYsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxjQUFjLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxFQUFFO0lBQ3pHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9B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QWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUMvRCxPQUFPLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQzs4R0F6SlUsaUJBQWlCLGtCQTJCbEIsOEJBQThCO2tHQTNCN0IsaUJBQWlCLCtVQWFTLFVBQVUsNkJDaEVqRCwyV0FTQSxzWkR3Q1ksSUFBSSw2RkFBRSxlQUFlLGtLQUFFLFNBQVM7O0FBWVI7SUFBakMsT0FBTyxDQUFDLGVBQWUsQ0FBQzt5REFBa0U7QUFFdEQ7SUFBcEMsT0FBTyxDQUFDLGtCQUFrQixDQUFDOzREQUF1RTtBQVUzRjtJQURQLE9BQU8sQ0FBQyxTQUFTLENBQUM7bURBQ21COzJGQXRCM0IsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLFNBQVMsQ0FBQzs7MEJBNkJ4QyxNQUFNOzJCQUFDLDhCQUE4QjtxS0F4Qi9CLE9BQU87c0JBQWYsS0FBSztnQkFLRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRTRCLGNBQWMsTUFDeEIsYUFBYTtzQkFBcEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNlLGlCQUFpQixNQUNILGdCQUFnQjtzQkFBbEUsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBU3pDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZXNjYXBlIH0gZnJvbSAnbG9kYXNoL2ZwJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgY29uY2F0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHBhaXJ3aXNlLFxuICBza2lwLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxuICB3aXRoTGF0ZXN0RnJvbVxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL29ic2VydmUnO1xuaW1wb3J0IHsgUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzaXplLW9ic2VydmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgTFhfRUxMSVBTSVNfREVCT1VOQ0VfT05fUkVTSVpFID0gbmV3IEluamVjdGlvblRva2VuPG51bWJlcj4oJ0xYX0VMTElQU0lTX0RFQk9VTkNFX09OX1JFU0laRScsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBFbGxpcHNpc0NvbXBvbmVudC5ERUZBVUxUX1JFU0laRV9ERUJPVU5DRV9NU1xufSk7XG5cbi8qKlxuICogWW91IGNhbiBzZXQgYSBjdXN0b20gbWF4LXdpZHRoIENTUyBwcm9wZXJ0eSBvbiB5b3VyIGx4LWVsbGlwc2lzIGhvc3QgZWxlbWVudFxuICogaWYgeW91IHdhbnQgaXRzIGNvbnRlbnQgdG8gbmV2ZXIgZXhjZWVkIGEgc3BlY2lmaWMgd2lkdGgsXG4gKiBlLmcuIDxseC1lbGxpcHNpcyBzdHlsZT1cIm1heC13aWR0aDogMzAwcHhcIiBjb250ZW50PVwiSGVsbG8gV29ybGRbLi5dXCI+PC9seC1lbGxpcHNpcz4uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LWVsbGlwc2lzJyxcbiAgdGVtcGxhdGVVcmw6ICdlbGxpcHNpcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW2BlbGxpcHNpcy5jb21wb25lbnQuc2Nzc2BdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIEJ1dHRvbkNvbXBvbmVudCwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgc3RhdGljIERFRkFVTFRfUkVTSVpFX0RFQk9VTkNFX01TID0gNTAwO1xuXG4gIEBJbnB1dCgpIGNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogT25seSBzZXQgdGhpcyB0byBmYWxzZSBpZiB0aGUgY29udGVudCBpcyBub3QgYSB1c2VyIHByb3ZpZGVkIHN0cmluZ1xuICAgKiBvciBpZiB5b3Ugc2FuaXRpemUgdGhlIHByb3ZpZGVkIGNvbnRlbnQgeW91cnNlbGYuXG4gICAqL1xuICBASW5wdXQoKSBlc2NhcGVIdG1sSW5Db250ZW50ID0gdHJ1ZTtcblxuICBAT2JzZXJ2ZSgnY29udGVudFNwYW5FbCcpIHByaXZhdGUgY29udGVudFNwYW5FbCQhOiBPYnNlcnZhYmxlPEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50Pj47XG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRFbCcpIGNvbnRlbnRTcGFuRWwhOiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD47XG4gIEBPYnNlcnZlKCdzaG93TW9yZUJ1dHRvbkVsJykgcHJpdmF0ZSBzaG93TW9yZUJ1dHRvbkVsJCE6IE9ic2VydmFibGU8RWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD4+O1xuICBAVmlld0NoaWxkKCdzaG93TW9yZUJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzaG93TW9yZUJ1dHRvbkVsITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgaXNTaG93aW5nTW9yZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBzaG93QnV0dG9uJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHNob3dNb3JlQnV0dG9uTGFiZWwkITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHNhbml0aXplZENvbnRlbnQkITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBAT2JzZXJ2ZSgnY29udGVudCcpXG4gIHByaXZhdGUgY29udGVudCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExYX0VMTElQU0lTX0RFQk9VTkNFX09OX1JFU0laRSlcbiAgICBwcml2YXRlIGRlYm91bmNlTXNBZnRlclJlc2l6ZTogbnVtYmVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaG9zdEVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhbml0aXplZENvbnRlbnQkID0gdGhpcy5jb250ZW50JC5waXBlKFxuICAgICAgbWFwKChjb250ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVzY2FwZUh0bWxJbkNvbnRlbnQgJiYgdHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIGVzY2FwZShjb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2hvd01vcmVCdXR0b25MYWJlbCQgPSB0aGlzLmlzU2hvd2luZ01vcmUkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGlzU2hvd2luZ01vcmUpID0+IHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBpc1Nob3dpbmdNb3JlID8gJ2NvbW1vbi5zaG93TGVzcycgOiAnY29tbW9uLnNob3dNb3JlJztcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IG5ld1dpZHRoT25SZXNpemUkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICAgIGNvbnN0IG5ld0hlaWdodE9uUmVzaXplJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS5vYnNlcnZlKHRoaXMuaG9zdEVsLm5hdGl2ZUVsZW1lbnQsIChyZXNpemVkRWxlbWVudCkgPT4ge1xuICAgICAgbmV3V2lkdGhPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICBuZXdIZWlnaHRPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC5oZWlnaHQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoQ2hhbmdlZFNpZ25pZmljYW50bHlBZnRlclJlc2l6ZSQgPSBuZXdXaWR0aE9uUmVzaXplJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByZXZpb3VzV2lkdGgsIG5ld1dpZHRoXSkgPT4gTWF0aC5hYnMobmV3V2lkdGggLSBwcmV2aW91c1dpZHRoKSA+IDEpLFxuICAgICAgbWFwKChbLCBuZXdXaWR0aF0pID0+IG5ld1dpZHRoKVxuICAgICk7XG4gICAgY29uc3QgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dMZXNzJCA9IHRoaXMuaXNTaG93aW5nTW9yZSQucGlwZShmaWx0ZXIoKGlzU2hvd2luZ01vcmUpID0+ICFpc1Nob3dpbmdNb3JlKSk7XG5cbiAgICBjb25zdCByZWV2YWx1YXRlSWZDb250ZW50SXNPdmVyZmxvd2luZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29udGVudFNwYW5FbCQsXG4gICAgICB1c2VyVHJpZ2dlcmVkVHJpZ2dlcmVkU2hvd0xlc3MkLFxuICAgICAgY29udGFpbmVyV2lkdGhDaGFuZ2VkU2lnbmlmaWNhbnRseUFmdGVyUmVzaXplJFxuICAgIF0pO1xuXG4gICAgY29uc3QgaXNDb250ZW50T3ZlcmZsb3dpbmckID0gbWVyZ2UoXG4gICAgICBjb25jYXQoXG4gICAgICAgIHJlZXZhbHVhdGVJZkNvbnRlbnRJc092ZXJmbG93aW5nJC5waXBlKHRha2UoMSkpLCAvLyBkZWJvdW5jZSBhbGwgYnV0IHRoZSBmaXJzdCBvdXRwdXRcbiAgICAgICAgcmVldmFsdWF0ZUlmQ29udGVudElzT3ZlcmZsb3dpbmckLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VNc0FmdGVyUmVzaXplKSlcbiAgICAgICksXG4gICAgICB0aGlzLmNvbnRlbnQkLnBpcGUoc2tpcCgxKSkgLy8gaW1tZWRpYXRlbHkgcmVldmFsdWF0ZSBvbiBzdWJzZXF1ZW50IGNvbnRlbnQgY2hhbmdlc1xuICAgICkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuY29udGVudFNwYW5FbCQpLFxuICAgICAgbWFwKChbLCBjb250ZW50U3BhblJlZl0pID0+IHRoaXMuaXNDb250ZW50T3ZlcmZsb3dpbmcoY29udGVudFNwYW5SZWYpKVxuICAgICk7XG5cbiAgICBjb25zdCB1c2VyVHJpZ2dlcmVkVHJpZ2dlcmVkU2hvd01vcmUkID0gdGhpcy5pc1Nob3dpbmdNb3JlJC5waXBlKGZpbHRlcigoaXNTaG93aW5nTW9yZSkgPT4gaXNTaG93aW5nTW9yZSkpO1xuXG4gICAgY29uc3QgYnV0dG9uSGVpZ2h0JCA9IHRoaXMuc2hvd01vcmVCdXR0b25FbCQucGlwZShcbiAgICAgIGZpbHRlcigoc2hvd01vcmVCdXR0b25FbCkgPT4gISFzaG93TW9yZUJ1dHRvbkVsKSxcbiAgICAgIG1hcCgoc2hvd01vcmVCdXR0b25FbCkgPT4gc2hvd01vcmVCdXR0b25FbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgICBjb25zdCB1c2VySW5jcmVhc2VkQnJvd3NlcldpbmRvd1NpemVUb1RoZVBvaW50T2ZOb1RydW5jYXRpb25OZWNlc3NhcnkkID0gY29tYmluZUxhdGVzdChbXG4gICAgICBidXR0b25IZWlnaHQkLFxuICAgICAgbmV3SGVpZ2h0T25SZXNpemUkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICBdKS5waXBlKFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5pc1Nob3dpbmdNb3JlJCksXG4gICAgICBmaWx0ZXIoKFssIGlzU2hvd2luZ01vcmVdKSA9PiBpc1Nob3dpbmdNb3JlKSxcbiAgICAgIG1hcCgoW1tidXR0b25IZWlnaHQsIG5ld0hlaWdodF1dKSA9PiB7XG4gICAgICAgIGNvbnN0IGhlaWdodE9mT25lTGluZSA9IGJ1dHRvbkhlaWdodDtcbiAgICAgICAgY29uc3Qgc2hvd0xlc3NCdXR0b25NYXJnaW5Ub3AgPSA0O1xuICAgICAgICBjb25zdCBoZWlnaHRPZlNwYW5JblNob3dNb3JlTW9kZSA9IG5ld0hlaWdodCAtIGJ1dHRvbkhlaWdodCAtIHNob3dMZXNzQnV0dG9uTWFyZ2luVG9wO1xuICAgICAgICBjb25zdCB0aHJlc2hvbGRUb0RldGVjdENvbnRlbnRJblNpbmdsZUxpbmUgPSA0O1xuICAgICAgICBjb25zdCBkaWZmZXJlbmNlQmV0d2VlbkNvbnRlbnRTcGFuQW5kQnV0dG9uSGVpZ2h0ID0gTWF0aC5hYnMoaGVpZ2h0T2ZPbmVMaW5lIC0gaGVpZ2h0T2ZTcGFuSW5TaG93TW9yZU1vZGUpO1xuICAgICAgICBjb25zdCBpc1NwYW5Db250ZW50RGlzcGxheWVkSW5PbmVMaW5lQWdhaW4gPSBkaWZmZXJlbmNlQmV0d2VlbkNvbnRlbnRTcGFuQW5kQnV0dG9uSGVpZ2h0IDwgdGhyZXNob2xkVG9EZXRlY3RDb250ZW50SW5TaW5nbGVMaW5lO1xuICAgICAgICByZXR1cm4gaXNTcGFuQ29udGVudERpc3BsYXllZEluT25lTGluZUFnYWluO1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IGNvbnRlbnRGaXRzSW5PbmVMaW5lQWdhaW5XaGlsZVNob3dNb3JlSXNFbmFibGVkJCA9IHVzZXJJbmNyZWFzZWRCcm93c2VyV2luZG93U2l6ZVRvVGhlUG9pbnRPZk5vVHJ1bmNhdGlvbk5lY2Vzc2FyeSQucGlwZShcbiAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICBwYWlyd2lzZSgpLFxuICAgICAgZmlsdGVyKChbcHJldmlvdXNUZXh0SXNOb3dJbk9uZUxpbmVBZ2Fpbl0pID0+ICFwcmV2aW91c1RleHRJc05vd0luT25lTGluZUFnYWluKSxcbiAgICAgIG1hcCgoWywgdGV4dElzTm93SW5PbmVMaW5lQWdhaW5dKSA9PiAhdGV4dElzTm93SW5PbmVMaW5lQWdhaW4pXG4gICAgKTtcbiAgICBjb25zdCBjb250ZW50SXNPdmVyZmxvd2luZ0FuZFNob3dNb3JlSXNOb3RFbmFibGVkJCA9IGlzQ29udGVudE92ZXJmbG93aW5nJC5waXBlKFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5pc1Nob3dpbmdNb3JlJCksXG4gICAgICBmaWx0ZXIoKFssIGlzU2hvd2luZ01vcmVdKSA9PiAhaXNTaG93aW5nTW9yZSksXG4gICAgICBtYXAoKFtpc0NvbnRlbnRMb25nZXJUaGFuQ29udGFpbmVyV2lkdGhdKSA9PiB7XG4gICAgICAgIHJldHVybiBpc0NvbnRlbnRMb25nZXJUaGFuQ29udGFpbmVyV2lkdGg7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zaG93QnV0dG9uJCA9IG1lcmdlKFxuICAgICAgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dNb3JlJCxcbiAgICAgIGNvbnRlbnRGaXRzSW5PbmVMaW5lQWdhaW5XaGlsZVNob3dNb3JlSXNFbmFibGVkJCxcbiAgICAgIGNvbnRlbnRJc092ZXJmbG93aW5nQW5kU2hvd01vcmVJc05vdEVuYWJsZWQkXG4gICAgKTtcblxuICAgIC8vIEFzIGxvbmcgYXMgbm8gcGFyZW50IGNvbXBvbmVudCBpcyBsaXN0ZW5pbmcgb24gcmVzaXplIGV2ZW50cyxcbiAgICAvLyB0aGUgQ2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkgY2FsbCBkb25lIGJ5IHRoZSBhc3luYyBwaXBlXG4gICAgLy8gd2lsbCBub3QgcmVzdWx0IGluIGEgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSBpbiB0aGlzIGNvbXBvbmVudCB3aGVuIGl0cyBzaXplIGNoYW5nZXMuXG4gICAgLy8gVGhpcyBpcyB0aGUgbGVhc3QgYW1vdW50IG9mIENoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSBjYWxsc1xuICAgIC8vIEkgd2FzIGFibGUgdG8gY29tZSB1cCB3aXRoLiBUaGUgQW5ndWxhciBwcm9maWxlciBzaG93cyBhY2NlcHRhYmxlIG51bWJlcnMgb2YgY2hhbmdlIGRldGVjdGlvbi5cbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKGlzQ29udGVudE92ZXJmbG93aW5nJCk7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyh0aGlzLnNob3dCdXR0b24kKTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKHRoaXMuY29udGVudCQpO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc1doZW5PYnNlcnZhYmxlRW1pdHMoY29udGVudElzT3ZlcmZsb3dpbmdBbmRTaG93TW9yZUlzTm90RW5hYmxlZCQpO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc1doZW5PYnNlcnZhYmxlRW1pdHMoaXNDb250ZW50T3ZlcmZsb3dpbmckKTtcbiAgfVxuXG4gIG9uU2hvd01vcmVUb2dnbGUoKSB7XG4gICAgdGhpcy5pc1Nob3dpbmdNb3JlJC5uZXh0KCF0aGlzLmlzU2hvd2luZ01vcmUkLmdldFZhbHVlKCkpO1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlclNlcnZpY2UudW5vYnNlcnZlKHRoaXMuaG9zdEVsLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyhvYnNlcnZhYmxlJDogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgb2JzZXJ2YWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDb250ZW50T3ZlcmZsb3dpbmcoY29udGVudFNwYW5FbFJlZjogRWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+KSB7XG4gICAgY29uc3Qgc2Nyb2xsV2lkdGggPSBjb250ZW50U3BhbkVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGg7XG4gICAgY29uc3Qgb2Zmc2V0V2lkdGggPSBjb250ZW50U3BhbkVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgcmV0dXJuIG9mZnNldFdpZHRoIDwgc2Nyb2xsV2lkdGg7XG4gIH1cbn1cbiIsIjxzcGFuXG4gICNjb250ZW50RWxcbiAgW2NsYXNzLnNob3dNb3JlXT1cImlzU2hvd2luZ01vcmUkIHwgYXN5bmNcIlxuICBjbGFzcz1cImNvbnRlbnQgdHJ1bmNhdGUgbHgtbWFyZ2luLXJpZ2h0XCJcbiAgW2lubmVySHRtbF09XCJzYW5pdGl6ZWRDb250ZW50JCB8IGFzeW5jXCJcbj48L3NwYW4+XG48YnV0dG9uICpuZ0lmPVwic2hvd0J1dHRvbiQgfCBhc3luY1wiIChjbGljayk9XCJvblNob3dNb3JlVG9nZ2xlKClcIiBseC1idXR0b24gI3Nob3dNb3JlQnV0dG9uIHNpemU9XCJhdXRvXCIgbW9kZT1cImxpbmtcIiBjb2xvcj1cInByaW1hcnlcIj5cbiAge3sgc2hvd01vcmVCdXR0b25MYWJlbCQgfCBhc3luYyB9fVxuPC9idXR0b24+XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL2VsbGlwc2lzL2VsbGlwc2lzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9lbGxpcHNpcy9lbGxpcHNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBR0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUYsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxjQUFjLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxFQUFFO0lBQ3pHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9B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QUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxnQkFBNkM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQy9ELE9BQU8sV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDOzhHQWxLVSxpQkFBaUIsa0JBNkJsQiw4QkFBOEI7a0dBN0I3QixpQkFBaUIsK1VBYVMsVUFBVSw2QkNqRWpELDJXQVNBLHNaRHlDWSxJQUFJLDZGQUFFLGVBQWUsa0tBQUUsU0FBUzs7QUFZUjtJQUFqQyxPQUFPLENBQUMsZUFBZSxDQUFDO3lEQUFrRTtBQUV0RDtJQUFwQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7NERBQXVFO0FBVTNGO0lBRFAsT0FBTyxDQUFDLFNBQVMsQ0FBQzttREFDbUI7MkZBdEIzQixpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDOzswQkErQnhDLE1BQU07MkJBQUMsOEJBQThCO3FLQTFCL0IsT0FBTztzQkFBZixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFNEIsY0FBYyxNQUN4QixhQUFhO3NCQUFwQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2UsaUJBQWlCLE1BQ0gsZ0JBQWdCO3NCQUFsRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFTekMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBlc2NhcGUgfSBmcm9tICdsb2Rhc2gvZnAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBjb25jYXQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgcGFpcndpc2UsXG4gIHNraXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHdpdGhMYXRlc3RGcm9tXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvb2JzZXJ2ZSc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBMWF9FTExJUFNJU19ERUJPVU5DRV9PTl9SRVNJWkUgPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPignTFhfRUxMSVBTSVNfREVCT1VOQ0VfT05fUkVTSVpFJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IEVsbGlwc2lzQ29tcG9uZW50LkRFRkFVTFRfUkVTSVpFX0RFQk9VTkNFX01TXG59KTtcblxuLyoqXG4gKiBZb3UgY2FuIHNldCBhIGN1c3RvbSBtYXgtd2lkdGggQ1NTIHByb3BlcnR5IG9uIHlvdXIgbHgtZWxsaXBzaXMgaG9zdCBlbGVtZW50XG4gKiBpZiB5b3Ugd2FudCBpdHMgY29udGVudCB0byBuZXZlciBleGNlZWQgYSBzcGVjaWZpYyB3aWR0aCxcbiAqIGUuZy4gPGx4LWVsbGlwc2lzIHN0eWxlPVwibWF4LXdpZHRoOiAzMDBweFwiIGNvbnRlbnQ9XCJIZWxsbyBXb3JsZFsuLl1cIj48L2x4LWVsbGlwc2lzPi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtZWxsaXBzaXMnLFxuICB0ZW1wbGF0ZVVybDogJ2VsbGlwc2lzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbYGVsbGlwc2lzLmNvbXBvbmVudC5zY3NzYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgQnV0dG9uQ29tcG9uZW50LCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsbGlwc2lzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQge1xuICBzdGF0aWMgREVGQVVMVF9SRVNJWkVfREVCT1VOQ0VfTVMgPSA1MDA7XG5cbiAgQElucHV0KCkgY29udGVudDogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBPbmx5IHNldCB0aGlzIHRvIGZhbHNlIGlmIHRoZSBjb250ZW50IGlzIG5vdCBhIHVzZXIgcHJvdmlkZWQgc3RyaW5nXG4gICAqIG9yIGlmIHlvdSBzYW5pdGl6ZSB0aGUgcHJvdmlkZWQgY29udGVudCB5b3Vyc2VsZi5cbiAgICovXG4gIEBJbnB1dCgpIGVzY2FwZUh0bWxJbkNvbnRlbnQgPSB0cnVlO1xuXG4gIEBPYnNlcnZlKCdjb250ZW50U3BhbkVsJykgcHJpdmF0ZSBjb250ZW50U3BhbkVsJCE6IE9ic2VydmFibGU8RWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+PjtcbiAgQFZpZXdDaGlsZCgnY29udGVudEVsJykgY29udGVudFNwYW5FbCE6IEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50PjtcbiAgQE9ic2VydmUoJ3Nob3dNb3JlQnV0dG9uRWwnKSBwcml2YXRlIHNob3dNb3JlQnV0dG9uRWwkITogT2JzZXJ2YWJsZTxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj47XG4gIEBWaWV3Q2hpbGQoJ3Nob3dNb3JlQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNob3dNb3JlQnV0dG9uRWwhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBpc1Nob3dpbmdNb3JlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHNob3dCdXR0b24kITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc2hvd01vcmVCdXR0b25MYWJlbCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2FuaXRpemVkQ29udGVudCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIEBPYnNlcnZlKCdjb250ZW50JylcbiAgcHJpdmF0ZSBjb250ZW50JCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgdmlld0NoZWNrZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExYX0VMTElQU0lTX0RFQk9VTkNFX09OX1JFU0laRSlcbiAgICBwcml2YXRlIGRlYm91bmNlTXNBZnRlclJlc2l6ZTogbnVtYmVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaG9zdEVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhbml0aXplZENvbnRlbnQkID0gdGhpcy5jb250ZW50JC5waXBlKFxuICAgICAgbWFwKChjb250ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVzY2FwZUh0bWxJbkNvbnRlbnQgJiYgdHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIGVzY2FwZShjb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2hvd01vcmVCdXR0b25MYWJlbCQgPSB0aGlzLmlzU2hvd2luZ01vcmUkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGlzU2hvd2luZ01vcmUpID0+IHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBpc1Nob3dpbmdNb3JlID8gJ2NvbW1vbi5zaG93TGVzcycgOiAnY29tbW9uLnNob3dNb3JlJztcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IG5ld1dpZHRoT25SZXNpemUkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICAgIGNvbnN0IG5ld0hlaWdodE9uUmVzaXplJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS5vYnNlcnZlKHRoaXMuaG9zdEVsLm5hdGl2ZUVsZW1lbnQsIChyZXNpemVkRWxlbWVudCkgPT4ge1xuICAgICAgbmV3V2lkdGhPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICBuZXdIZWlnaHRPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC5oZWlnaHQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoQ2hhbmdlZFNpZ25pZmljYW50bHlBZnRlclJlc2l6ZSQgPSBuZXdXaWR0aE9uUmVzaXplJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByZXZpb3VzV2lkdGgsIG5ld1dpZHRoXSkgPT4gTWF0aC5hYnMobmV3V2lkdGggLSBwcmV2aW91c1dpZHRoKSA+IDEpLFxuICAgICAgbWFwKChbLCBuZXdXaWR0aF0pID0+IG5ld1dpZHRoKVxuICAgICk7XG4gICAgY29uc3QgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dMZXNzJCA9IHRoaXMuaXNTaG93aW5nTW9yZSQucGlwZShmaWx0ZXIoKGlzU2hvd2luZ01vcmUpID0+ICFpc1Nob3dpbmdNb3JlKSk7XG5cbiAgICBjb25zdCByZWV2YWx1YXRlSWZDb250ZW50SXNPdmVyZmxvd2luZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29udGVudFNwYW5FbCQsXG4gICAgICB1c2VyVHJpZ2dlcmVkVHJpZ2dlcmVkU2hvd0xlc3MkLFxuICAgICAgY29udGFpbmVyV2lkdGhDaGFuZ2VkU2lnbmlmaWNhbnRseUFmdGVyUmVzaXplJFxuICAgIF0pO1xuXG4gICAgY29uc3QgaXNDb250ZW50T3ZlcmZsb3dpbmckID0gbWVyZ2UoXG4gICAgICBjb25jYXQoXG4gICAgICAgIHJlZXZhbHVhdGVJZkNvbnRlbnRJc092ZXJmbG93aW5nJC5waXBlKHRha2UoMSkpLCAvLyBkZWJvdW5jZSBhbGwgYnV0IHRoZSBmaXJzdCBvdXRwdXRcbiAgICAgICAgcmVldmFsdWF0ZUlmQ29udGVudElzT3ZlcmZsb3dpbmckLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VNc0FmdGVyUmVzaXplKSlcbiAgICAgICksXG4gICAgICB0aGlzLmNvbnRlbnQkLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnZpZXdDaGVja2VkJClcbiAgICAgIClcbiAgICApLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmNvbnRlbnRTcGFuRWwkKSxcbiAgICAgIG1hcCgoWywgY29udGVudFNwYW5SZWZdKSA9PiB0aGlzLmlzQ29udGVudE92ZXJmbG93aW5nKGNvbnRlbnRTcGFuUmVmKSlcbiAgICApO1xuXG4gICAgY29uc3QgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dNb3JlJCA9IHRoaXMuaXNTaG93aW5nTW9yZSQucGlwZShmaWx0ZXIoKGlzU2hvd2luZ01vcmUpID0+IGlzU2hvd2luZ01vcmUpKTtcblxuICAgIGNvbnN0IGJ1dHRvbkhlaWdodCQgPSB0aGlzLnNob3dNb3JlQnV0dG9uRWwkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHNob3dNb3JlQnV0dG9uRWwpID0+ICEhc2hvd01vcmVCdXR0b25FbCksXG4gICAgICBtYXAoKHNob3dNb3JlQnV0dG9uRWwpID0+IHNob3dNb3JlQnV0dG9uRWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gICAgY29uc3QgdXNlckluY3JlYXNlZEJyb3dzZXJXaW5kb3dTaXplVG9UaGVQb2ludE9mTm9UcnVuY2F0aW9uTmVjZXNzYXJ5JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgYnV0dG9uSGVpZ2h0JCxcbiAgICAgIG5ld0hlaWdodE9uUmVzaXplJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgXSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNTaG93aW5nTW9yZSQpLFxuICAgICAgZmlsdGVyKChbLCBpc1Nob3dpbmdNb3JlXSkgPT4gaXNTaG93aW5nTW9yZSksXG4gICAgICBtYXAoKFtbYnV0dG9uSGVpZ2h0LCBuZXdIZWlnaHRdXSkgPT4ge1xuICAgICAgICBjb25zdCBoZWlnaHRPZk9uZUxpbmUgPSBidXR0b25IZWlnaHQ7XG4gICAgICAgIGNvbnN0IHNob3dMZXNzQnV0dG9uTWFyZ2luVG9wID0gNDtcbiAgICAgICAgY29uc3QgaGVpZ2h0T2ZTcGFuSW5TaG93TW9yZU1vZGUgPSBuZXdIZWlnaHQgLSBidXR0b25IZWlnaHQgLSBzaG93TGVzc0J1dHRvbk1hcmdpblRvcDtcbiAgICAgICAgY29uc3QgdGhyZXNob2xkVG9EZXRlY3RDb250ZW50SW5TaW5nbGVMaW5lID0gNDtcbiAgICAgICAgY29uc3QgZGlmZmVyZW5jZUJldHdlZW5Db250ZW50U3BhbkFuZEJ1dHRvbkhlaWdodCA9IE1hdGguYWJzKGhlaWdodE9mT25lTGluZSAtIGhlaWdodE9mU3BhbkluU2hvd01vcmVNb2RlKTtcbiAgICAgICAgY29uc3QgaXNTcGFuQ29udGVudERpc3BsYXllZEluT25lTGluZUFnYWluID0gZGlmZmVyZW5jZUJldHdlZW5Db250ZW50U3BhbkFuZEJ1dHRvbkhlaWdodCA8IHRocmVzaG9sZFRvRGV0ZWN0Q29udGVudEluU2luZ2xlTGluZTtcbiAgICAgICAgcmV0dXJuIGlzU3BhbkNvbnRlbnREaXNwbGF5ZWRJbk9uZUxpbmVBZ2FpbjtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBjb250ZW50Rml0c0luT25lTGluZUFnYWluV2hpbGVTaG93TW9yZUlzRW5hYmxlZCQgPSB1c2VySW5jcmVhc2VkQnJvd3NlcldpbmRvd1NpemVUb1RoZVBvaW50T2ZOb1RydW5jYXRpb25OZWNlc3NhcnkkLnBpcGUoXG4gICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByZXZpb3VzVGV4dElzTm93SW5PbmVMaW5lQWdhaW5dKSA9PiAhcHJldmlvdXNUZXh0SXNOb3dJbk9uZUxpbmVBZ2FpbiksXG4gICAgICBtYXAoKFssIHRleHRJc05vd0luT25lTGluZUFnYWluXSkgPT4gIXRleHRJc05vd0luT25lTGluZUFnYWluKVxuICAgICk7XG4gICAgY29uc3QgY29udGVudElzT3ZlcmZsb3dpbmdBbmRTaG93TW9yZUlzTm90RW5hYmxlZCQgPSBpc0NvbnRlbnRPdmVyZmxvd2luZyQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNTaG93aW5nTW9yZSQpLFxuICAgICAgZmlsdGVyKChbLCBpc1Nob3dpbmdNb3JlXSkgPT4gIWlzU2hvd2luZ01vcmUpLFxuICAgICAgbWFwKChbaXNDb250ZW50TG9uZ2VyVGhhbkNvbnRhaW5lcldpZHRoXSkgPT4ge1xuICAgICAgICByZXR1cm4gaXNDb250ZW50TG9uZ2VyVGhhbkNvbnRhaW5lcldpZHRoO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc2hvd0J1dHRvbiQgPSBtZXJnZShcbiAgICAgIHVzZXJUcmlnZ2VyZWRUcmlnZ2VyZWRTaG93TW9yZSQsXG4gICAgICBjb250ZW50Rml0c0luT25lTGluZUFnYWluV2hpbGVTaG93TW9yZUlzRW5hYmxlZCQsXG4gICAgICBjb250ZW50SXNPdmVyZmxvd2luZ0FuZFNob3dNb3JlSXNOb3RFbmFibGVkJFxuICAgICk7XG5cbiAgICAvLyBBcyBsb25nIGFzIG5vIHBhcmVudCBjb21wb25lbnQgaXMgbGlzdGVuaW5nIG9uIHJlc2l6ZSBldmVudHMsXG4gICAgLy8gdGhlIENoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpIGNhbGwgZG9uZSBieSB0aGUgYXN5bmMgcGlwZVxuICAgIC8vIHdpbGwgbm90IHJlc3VsdCBpbiBhIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgaW4gdGhpcyBjb21wb25lbnQgd2hlbiBpdHMgc2l6ZSBjaGFuZ2VzLlxuICAgIC8vIFRoaXMgaXMgdGhlIGxlYXN0IGFtb3VudCBvZiBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCkgY2FsbHNcbiAgICAvLyBJIHdhcyBhYmxlIHRvIGNvbWUgdXAgd2l0aC4gVGhlIEFuZ3VsYXIgcHJvZmlsZXIgc2hvd3MgYWNjZXB0YWJsZSBudW1iZXJzIG9mIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyhpc0NvbnRlbnRPdmVyZmxvd2luZyQpO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc1doZW5PYnNlcnZhYmxlRW1pdHModGhpcy5zaG93QnV0dG9uJCk7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyh0aGlzLmNvbnRlbnQkKTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKGNvbnRlbnRJc092ZXJmbG93aW5nQW5kU2hvd01vcmVJc05vdEVuYWJsZWQkKTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKGlzQ29udGVudE92ZXJmbG93aW5nJCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy52aWV3Q2hlY2tlZCQubmV4dCgpO1xuICB9XG5cbiAgb25TaG93TW9yZVRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzU2hvd2luZ01vcmUkLm5leHQoIXRoaXMuaXNTaG93aW5nTW9yZSQuZ2V0VmFsdWUoKSk7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS51bm9ic2VydmUodGhpcy5ob3N0RWwubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKG9ic2VydmFibGUkOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnNlcnZhYmxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbnRlbnRPdmVyZmxvd2luZyhjb250ZW50U3BhbkVsUmVmOiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD4pIHtcbiAgICBjb25zdCBzY3JvbGxXaWR0aCA9IGNvbnRlbnRTcGFuRWxSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCBvZmZzZXRXaWR0aCA9IGNvbnRlbnRTcGFuRWxSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICByZXR1cm4gb2Zmc2V0V2lkdGggPCBzY3JvbGxXaWR0aDtcbiAgfVxufVxuIiwiPHNwYW5cbiAgI2NvbnRlbnRFbFxuICBbY2xhc3Muc2hvd01vcmVdPVwiaXNTaG93aW5nTW9yZSQgfCBhc3luY1wiXG4gIGNsYXNzPVwiY29udGVudCB0cnVuY2F0ZSBseC1tYXJnaW4tcmlnaHRcIlxuICBbaW5uZXJIdG1sXT1cInNhbml0aXplZENvbnRlbnQkIHwgYXN5bmNcIlxuPjwvc3Bhbj5cbjxidXR0b24gKm5nSWY9XCJzaG93QnV0dG9uJCB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uU2hvd01vcmVUb2dnbGUoKVwiIGx4LWJ1dHRvbiAjc2hvd01vcmVCdXR0b24gc2l6ZT1cImF1dG9cIiBtb2RlPVwibGlua1wiIGNvbG9yPVwicHJpbWFyeVwiPlxuICB7eyBzaG93TW9yZUJ1dHRvbkxhYmVsJCB8IGFzeW5jIH19XG48L2J1dHRvbj5cbiJdfQ==
@@ -758,6 +758,7 @@ class EllipsisComponent {
758
758
  this.escapeHtmlInContent = true;
759
759
  this.isShowingMore$ = new BehaviorSubject(false);
760
760
  this.destroyed$ = new Subject();
761
+ this.viewChecked$ = new Subject();
761
762
  }
762
763
  ngOnInit() {
763
764
  this.sanitizedContent$ = this.content$.pipe(map((content) => {
@@ -784,8 +785,7 @@ class EllipsisComponent {
784
785
  containerWidthChangedSignificantlyAfterResize$
785
786
  ]);
786
787
  const isContentOverflowing$ = merge(concat(reevaluateIfContentIsOverflowing$.pipe(take(1)), // debounce all but the first output
787
- reevaluateIfContentIsOverflowing$.pipe(debounceTime(this.debounceMsAfterResize))), this.content$.pipe(skip(1)) // immediately reevaluate on subsequent content changes
788
- ).pipe(withLatestFrom(this.contentSpanEl$), map(([, contentSpanRef]) => this.isContentOverflowing(contentSpanRef)));
788
+ reevaluateIfContentIsOverflowing$.pipe(debounceTime(this.debounceMsAfterResize))), this.content$.pipe(skip(1), switchMap(() => this.viewChecked$))).pipe(withLatestFrom(this.contentSpanEl$), map(([, contentSpanRef]) => this.isContentOverflowing(contentSpanRef)));
789
789
  const userTriggeredTriggeredShowMore$ = this.isShowingMore$.pipe(filter((isShowingMore) => isShowingMore));
790
790
  const buttonHeight$ = this.showMoreButtonEl$.pipe(filter((showMoreButtonEl) => !!showMoreButtonEl), map((showMoreButtonEl) => showMoreButtonEl.nativeElement.offsetHeight), distinctUntilChanged());
791
791
  const userIncreasedBrowserWindowSizeToThePointOfNoTruncationNecessary$ = combineLatest([
@@ -816,6 +816,9 @@ class EllipsisComponent {
816
816
  this.detectChangesWhenObservableEmits(contentIsOverflowingAndShowMoreIsNotEnabled$);
817
817
  this.detectChangesWhenObservableEmits(isContentOverflowing$);
818
818
  }
819
+ ngAfterViewChecked() {
820
+ this.viewChecked$.next();
821
+ }
819
822
  onShowMoreToggle() {
820
823
  this.isShowingMore$.next(!this.isShowingMore$.getValue());
821
824
  this.cdRef.detectChanges();