@rivet-health/design-system 28.2.1 → 28.2.2

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.
@@ -21,15 +21,28 @@ export class CalloutComponent {
21
21
  this.theme = 'dark';
22
22
  this.content = null;
23
23
  this.scrim = null;
24
+ this.mouseDownInsideContent = false;
24
25
  this.left = 0;
25
26
  this.top = 0;
26
27
  this.resolvedPosition = this.preferredPosition;
27
28
  this.close = new EventEmitter();
28
29
  }
30
+ scrimMouseDown(evt) {
31
+ this.mouseDownInsideContent =
32
+ this.content?.nativeElement.contains(evt.target) ?? false;
33
+ }
29
34
  scrimClick(evt) {
30
- if (evt.target === evt.currentTarget) {
35
+ // A click always starts with a mousedown. If a user mouse downs inside the
36
+ // content and then drags to the scrim, this will trigger a click on the scrim.
37
+ // This can happen if the user selects text and drags too far, leading to a
38
+ // bad experience. To prevent that, we track if the mousedown started inside
39
+ // the content. If it did, we ignore the click on the scrim. If it didn't,
40
+ // we allow the click to close the callout.
41
+ if (evt.target === evt.currentTarget && !this.mouseDownInsideContent) {
31
42
  this.close.emit();
32
43
  }
44
+ // always reset the flag after a click
45
+ this.mouseDownInsideContent = false;
33
46
  }
34
47
  ngAfterViewInit() {
35
48
  this.setPosition();
@@ -69,10 +82,10 @@ export class CalloutComponent {
69
82
  }
70
83
  }
71
84
  CalloutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalloutComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
72
- CalloutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalloutComponent, selector: "riv-callout", inputs: { anchor: "anchor", isModal: "isModal", preferredPosition: "preferredPosition", allowedPositions: "allowedPositions", fallbackDirection: "fallbackDirection", showCaret: "showCaret", theme: "theme" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "scrim", first: true, predicate: ["scrim"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #scrim class=\"scrim\" [class.full]=\"isModal\" (click)=\"scrimClick($event)\">\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.LockScrollDirective, selector: "[rivLockScroll]", inputs: ["rivLockScroll"] }, { kind: "directive", type: i3.SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
+ CalloutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalloutComponent, selector: "riv-callout", inputs: { anchor: "anchor", isModal: "isModal", preferredPosition: "preferredPosition", allowedPositions: "allowedPositions", fallbackDirection: "fallbackDirection", showCaret: "showCaret", theme: "theme" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "scrim", first: true, predicate: ["scrim"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #scrim\n class=\"scrim\"\n [class.full]=\"isModal\"\n (click)=\"scrimClick($event)\"\n (mousedown)=\"scrimMouseDown($event)\"\n>\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.LockScrollDirective, selector: "[rivLockScroll]", inputs: ["rivLockScroll"] }, { kind: "directive", type: i3.SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalloutComponent, decorators: [{
74
87
  type: Component,
75
- args: [{ selector: 'riv-callout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #scrim class=\"scrim\" [class.full]=\"isModal\" (click)=\"scrimClick($event)\">\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"] }]
88
+ args: [{ selector: 'riv-callout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #scrim\n class=\"scrim\"\n [class.full]=\"isModal\"\n (click)=\"scrimClick($event)\"\n (mousedown)=\"scrimMouseDown($event)\"\n>\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"] }]
76
89
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { anchor: [{
77
90
  type: Input
78
91
  }], isModal: [{
@@ -114,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
114
127
  ];
115
128
  CalloutComponent.Directions = ['clockwise', 'counter-clockwise'];
116
129
  })(CalloutComponent || (CalloutComponent = {}));
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbG91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvY2FsbG91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvY2FsbG91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUU5Qyw2RUFBNkU7QUFDN0Usc0NBQXNDO0FBQ3RDLG1HQUFtRztBQU9uRyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBR25ELFdBQU0sR0FBNkIsSUFBSSxDQUFDO1FBR3hDLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFHeEIsc0JBQWlCLEdBQXNDLGNBQWMsQ0FBQztRQUd0RSxxQkFBZ0IsR0FBd0M7WUFDdEQsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUI7U0FDdEMsQ0FBQztRQUdGLHNCQUFpQixHQUErQixtQkFBbUIsQ0FBQztRQUdwRSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLFVBQUssR0FBMkIsTUFBTSxDQUFDO1FBR3ZDLFlBQU8sR0FBc0MsSUFBSSxDQUFDO1FBR2xELFVBQUssR0FBbUMsSUFBSSxDQUFDO1FBUTdDLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsUUFBRyxHQUFXLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBc0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBeURwRSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVB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QUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFvRTVCLEtBQUs7c0JBRGIsTUFBTTs7QUFJVCxXQUFpQixnQkFBZ0I7SUFDbEIsdUJBQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQVUsQ0FBQztJQUdwQyxrQ0FBaUIsR0FBRztRQUMvQixVQUFVO1FBQ1YsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsY0FBYztRQUNkLGNBQWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtRQUNiLFVBQVU7S0FDRixDQUFDO0lBR0UsMkJBQVUsR0FBRyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBVSxDQUFDO0FBRXhFLENBQUMsRUF0QmdCLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFzQmhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0T3JpZ2luIH0gZnJvbSAnLi9jYWxsb3V0LmhlbHBlcnMnO1xuXG4vLyBUT0RPOiBvbmNlIHdlIHVwZ3JhZGUgdG8gQW5ndWxhciAxNiwgdGhpcyBjb21wb25lbnQgY2FuIGJlIGNsZWFuZWQgdXAgd2l0aFxuLy8gc2lnbmFscyBpbnN0ZWFkIG9mIGxpZmVjeWNsZSBob29rcy5cbi8vIGh0dHBzOi8vd3d3Lm5vdGlvbi5zby9yaXZldC9SZXNvbHZlLVRPRE9zLWFmdGVyLUFuZ3VsYXItdXBncmFkZS0xZjI2NjdlYjJhMzE4MGI3OWY2YWQ5MmE3ZTU3NmYwOFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWNhbGxvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsbG91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGxvdXQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsbG91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBASW5wdXQoKVxuICBhbmNob3I6IEVsZW1lbnQgfCBET01SZWN0IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgaXNNb2RhbDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHJlZmVycmVkUG9zaXRpb246IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93ZWRQb3NpdGlvbnM6IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbltdID0gW1xuICAgIC4uLkNhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbnMsXG4gIF07XG5cbiAgQElucHV0KClcbiAgZmFsbGJhY2tEaXJlY3Rpb246IENhbGxvdXRDb21wb25lbnQuRGlyZWN0aW9uID0gJ2NvdW50ZXItY2xvY2t3aXNlJztcblxuICBASW5wdXQoKVxuICBzaG93Q2FyZXQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHRoZW1lOiBDYWxsb3V0Q29tcG9uZW50LlRoZW1lID0gJ2RhcmsnO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxuICBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIEBWaWV3Q2hpbGQoJ3NjcmltJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHNjcmltOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIHNjcmltQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKGV2dC50YXJnZXQgPT09IGV2dC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBsZWZ0OiBudW1iZXIgPSAwO1xuICB0b3A6IG51bWJlciA9IDA7XG4gIHJlc29sdmVkUG9zaXRpb246IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbiA9IHRoaXMucHJlZmVycmVkUG9zaXRpb247XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgfVxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gIH1cbiAgb25Db250ZW50U2l6ZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICB9XG5cbiAgc2V0UG9zaXRpb24oKSB7XG4gICAgY29uc3Qgd2luZG93U2l6ZSA9IHtcbiAgICAgIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCxcbiAgICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5hbmNob3IgPT09IG51bGwgfHwgdGhpcy5jb250ZW50ID09PSBudWxsIHx8IHRoaXMuc2NyaW0gPT09IG51bGwpXG4gICAgICByZXR1cm47XG5cbiAgICBjb25zdCBzY3JpbVJlY3QgPSB0aGlzLnNjcmltLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBhbmNob3JSZWN0ID1cbiAgICAgIHRoaXMuYW5jaG9yIGluc3RhbmNlb2YgRWxlbWVudFxuICAgICAgICA/IHRoaXMuYW5jaG9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIDogdGhpcy5hbmNob3I7XG5cbiAgICBjb25zdCBhbmNob3JCb3VuZHMgPSB7XG4gICAgICB4OiBhbmNob3JSZWN0LmxlZnQgLSBzY3JpbVJlY3QubGVmdCwgLy8gSW4gbW9zdCBjYXNlcywgdGhlIHNjcmltIHdpbGwgYmUgcG9zaXRpb25lZCBhdCAoMCwwKSwgYnV0IGlmIGl0J3Mgbm90LCB0aGlzIHdpbGwgbWFrZSBzdXJlIHRoZSBjYWxsb3V0IGlzIHBvc2l0aW9uZWQgY29ycmVjdGx5IHJlZ2FyZGxlc3MuXG4gICAgICB5OiBhbmNob3JSZWN0LnRvcCAtIHNjcmltUmVjdC50b3AsXG4gICAgICB3aWR0aDogYW5jaG9yUmVjdC5yaWdodCAtIGFuY2hvclJlY3QubGVmdCxcbiAgICAgIGhlaWdodDogYW5jaG9yUmVjdC5ib3R0b20gLSBhbmNob3JSZWN0LnRvcCxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbG91dFNpemUgPSB7XG4gICAgICB3aWR0aDogdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbG91dE9yaWdpbiA9IGdldE9yaWdpbihcbiAgICAgIGFuY2hvckJvdW5kcyxcbiAgICAgIGNhbGxvdXRTaXplLFxuICAgICAgd2luZG93U2l6ZSxcbiAgICAgIHRoaXMucHJlZmVycmVkUG9zaXRpb24sXG4gICAgICB0aGlzLmFsbG93ZWRQb3NpdGlvbnMsXG4gICAgICB0aGlzLmZhbGxiYWNrRGlyZWN0aW9uLFxuICAgICAgdGhpcy5zaG93Q2FyZXQgPyA4IDogMCxcbiAgICApO1xuXG4gICAgdGhpcy5sZWZ0ID0gY2FsbG91dE9yaWdpbi54O1xuICAgIHRoaXMudG9wID0gY2FsbG91dE9yaWdpbi55O1xuICAgIHRoaXMucmVzb2x2ZWRQb3NpdGlvbiA9IGNhbGxvdXRPcmlnaW4ucG9zaXRpb247XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhbGxvdXRDb21wb25lbnQge1xuICBleHBvcnQgY29uc3QgVGhlbWVzID0gWydsaWdodCcsICdkYXJrJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFRoZW1lID0gKHR5cGVvZiBUaGVtZXMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IEFuY2hvcmVkUG9zaXRpb25zID0gW1xuICAgICd0b3AtbGVmdCcsXG4gICAgJ3RvcC1jZW50ZXInLFxuICAgICd0b3AtcmlnaHQnLFxuICAgICdyaWdodC10b3AnLFxuICAgICdjZW50ZXItcmlnaHQnLFxuICAgICdyaWdodC1ib3R0b20nLFxuICAgICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tY2VudGVyJyxcbiAgICAnYm90dG9tLWxlZnQnLFxuICAgICdsZWZ0LWJvdHRvbScsXG4gICAgJ2NlbnRlci1sZWZ0JyxcbiAgICAnbGVmdC10b3AnLFxuICBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBBbmNob3JlZFBvc2l0aW9uID0gKHR5cGVvZiBBbmNob3JlZFBvc2l0aW9ucylbbnVtYmVyXTtcblxuICBleHBvcnQgY29uc3QgRGlyZWN0aW9ucyA9IFsnY2xvY2t3aXNlJywgJ2NvdW50ZXItY2xvY2t3aXNlJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIERpcmVjdGlvbiA9ICh0eXBlb2YgRGlyZWN0aW9ucylbbnVtYmVyXTtcbn1cbiIsIjxkaXYgI3NjcmltIGNsYXNzPVwic2NyaW1cIiBbY2xhc3MuZnVsbF09XCJpc01vZGFsXCIgKGNsaWNrKT1cInNjcmltQ2xpY2soJGV2ZW50KVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjYWxsb3V0XCJcbiAgICAocml2Q2xpZW50U2l6ZSk9XCJvbkNvbnRlbnRTaXplQ2hhbmdlcygpXCJcbiAgICBbbmdDbGFzc109XCJbdGhlbWUsIHJlc29sdmVkUG9zaXRpb25dXCJcbiAgICBbY2xhc3MuY2FyZXRdPVwic2hvd0NhcmV0XCJcbiAgICBbc3R5bGUubGVmdC5weF09XCJsZWZ0XCJcbiAgICBbc3R5bGUudG9wLnB4XT1cInRvcFwiXG4gICAgW3JpdkxvY2tTY3JvbGxdPVwiaXNNb2RhbFwiXG4gICAgI2NvbnRlbnRcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbG91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvY2FsbG91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvY2FsbG91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUU5Qyw2RUFBNkU7QUFDN0Usc0NBQXNDO0FBQ3RDLG1HQUFtRztBQU9uRyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBR25ELFdBQU0sR0FBNkIsSUFBSSxDQUFDO1FBR3hDLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFHeEIsc0JBQWlCLEdBQXNDLGNBQWMsQ0FBQztRQUd0RSxxQkFBZ0IsR0FBd0M7WUFDdEQsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUI7U0FDdEMsQ0FBQztRQUdGLHNCQUFpQixHQUErQixtQkFBbUIsQ0FBQztRQUdwRSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLFVBQUssR0FBMkIsTUFBTSxDQUFDO1FBR3ZDLFlBQU8sR0FBc0MsSUFBSSxDQUFDO1FBR2xELFVBQUssR0FBbUMsSUFBSSxDQUFDO1FBRXJDLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQXFCaEQsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ2hCLHFCQUFnQixHQUFzQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7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QjtpR0FBaEIsZ0JBQWdCLDBlQ3ZCN0IsNGNBb0JBOzJGREdhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07d0dBTS9DLE1BQU07c0JBREwsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQU1OLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTO2dCQUlwQixLQUFLO3NCQURKLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFtRjVCLEtBQUs7c0JBRGIsTUFBTTs7QUFJVCxXQUFpQixnQkFBZ0I7SUFDbEIsdUJBQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQVUsQ0FBQztJQUdwQyxrQ0FBaUIsR0FBRztRQUMvQixVQUFVO1FBQ1YsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsY0FBYztRQUNkLGNBQWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtRQUNiLFVBQVU7S0FDRixDQUFDO0lBR0UsMkJBQVUsR0FBRyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBVSxDQUFDO0FBRXhFLENBQUMsRUF0QmdCLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFzQmhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0T3JpZ2luIH0gZnJvbSAnLi9jYWxsb3V0LmhlbHBlcnMnO1xuXG4vLyBUT0RPOiBvbmNlIHdlIHVwZ3JhZGUgdG8gQW5ndWxhciAxNiwgdGhpcyBjb21wb25lbnQgY2FuIGJlIGNsZWFuZWQgdXAgd2l0aFxuLy8gc2lnbmFscyBpbnN0ZWFkIG9mIGxpZmVjeWNsZSBob29rcy5cbi8vIGh0dHBzOi8vd3d3Lm5vdGlvbi5zby9yaXZldC9SZXNvbHZlLVRPRE9zLWFmdGVyLUFuZ3VsYXItdXBncmFkZS0xZjI2NjdlYjJhMzE4MGI3OWY2YWQ5MmE3ZTU3NmYwOFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWNhbGxvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsbG91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGxvdXQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsbG91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBASW5wdXQoKVxuICBhbmNob3I6IEVsZW1lbnQgfCBET01SZWN0IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgaXNNb2RhbDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHJlZmVycmVkUG9zaXRpb246IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93ZWRQb3NpdGlvbnM6IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbltdID0gW1xuICAgIC4uLkNhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbnMsXG4gIF07XG5cbiAgQElucHV0KClcbiAgZmFsbGJhY2tEaXJlY3Rpb246IENhbGxvdXRDb21wb25lbnQuRGlyZWN0aW9uID0gJ2NvdW50ZXItY2xvY2t3aXNlJztcblxuICBASW5wdXQoKVxuICBzaG93Q2FyZXQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHRoZW1lOiBDYWxsb3V0Q29tcG9uZW50LlRoZW1lID0gJ2RhcmsnO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxuICBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIEBWaWV3Q2hpbGQoJ3NjcmltJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHNjcmltOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgbW91c2VEb3duSW5zaWRlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNjcmltTW91c2VEb3duKGV2dDogTW91c2VFdmVudCkge1xuICAgIHRoaXMubW91c2VEb3duSW5zaWRlQ29udGVudCA9XG4gICAgICB0aGlzLmNvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSA/PyBmYWxzZTtcbiAgfVxuXG4gIHNjcmltQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KSB7XG4gICAgLy8gQSBjbGljayBhbHdheXMgc3RhcnRzIHdpdGggYSBtb3VzZWRvd24uIElmIGEgdXNlciBtb3VzZSBkb3ducyBpbnNpZGUgdGhlXG4gICAgLy8gY29udGVudCBhbmQgdGhlbiBkcmFncyB0byB0aGUgc2NyaW0sIHRoaXMgd2lsbCB0cmlnZ2VyIGEgY2xpY2sgb24gdGhlIHNjcmltLlxuICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgdXNlciBzZWxlY3RzIHRleHQgYW5kIGRyYWdzIHRvbyBmYXIsIGxlYWRpbmcgdG8gYVxuICAgIC8vIGJhZCBleHBlcmllbmNlLiBUbyBwcmV2ZW50IHRoYXQsIHdlIHRyYWNrIGlmIHRoZSBtb3VzZWRvd24gc3RhcnRlZCBpbnNpZGVcbiAgICAvLyB0aGUgY29udGVudC4gSWYgaXQgZGlkLCB3ZSBpZ25vcmUgdGhlIGNsaWNrIG9uIHRoZSBzY3JpbS4gSWYgaXQgZGlkbid0LFxuICAgIC8vIHdlIGFsbG93IHRoZSBjbGljayB0byBjbG9zZSB0aGUgY2FsbG91dC5cbiAgICBpZiAoZXZ0LnRhcmdldCA9PT0gZXZ0LmN1cnJlbnRUYXJnZXQgJiYgIXRoaXMubW91c2VEb3duSW5zaWRlQ29udGVudCkge1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfVxuICAgIC8vIGFsd2F5cyByZXNldCB0aGUgZmxhZyBhZnRlciBhIGNsaWNrXG4gICAgdGhpcy5tb3VzZURvd25JbnNpZGVDb250ZW50ID0gZmFsc2U7XG4gIH1cblxuICBsZWZ0OiBudW1iZXIgPSAwO1xuICB0b3A6IG51bWJlciA9IDA7XG4gIHJlc29sdmVkUG9zaXRpb246IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbiA9IHRoaXMucHJlZmVycmVkUG9zaXRpb247XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgfVxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gIH1cbiAgb25Db250ZW50U2l6ZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICB9XG5cbiAgc2V0UG9zaXRpb24oKSB7XG4gICAgY29uc3Qgd2luZG93U2l6ZSA9IHtcbiAgICAgIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCxcbiAgICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5hbmNob3IgPT09IG51bGwgfHwgdGhpcy5jb250ZW50ID09PSBudWxsIHx8IHRoaXMuc2NyaW0gPT09IG51bGwpXG4gICAgICByZXR1cm47XG5cbiAgICBjb25zdCBzY3JpbVJlY3QgPSB0aGlzLnNjcmltLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBhbmNob3JSZWN0ID1cbiAgICAgIHRoaXMuYW5jaG9yIGluc3RhbmNlb2YgRWxlbWVudFxuICAgICAgICA/IHRoaXMuYW5jaG9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIDogdGhpcy5hbmNob3I7XG5cbiAgICBjb25zdCBhbmNob3JCb3VuZHMgPSB7XG4gICAgICB4OiBhbmNob3JSZWN0LmxlZnQgLSBzY3JpbVJlY3QubGVmdCwgLy8gSW4gbW9zdCBjYXNlcywgdGhlIHNjcmltIHdpbGwgYmUgcG9zaXRpb25lZCBhdCAoMCwwKSwgYnV0IGlmIGl0J3Mgbm90LCB0aGlzIHdpbGwgbWFrZSBzdXJlIHRoZSBjYWxsb3V0IGlzIHBvc2l0aW9uZWQgY29ycmVjdGx5IHJlZ2FyZGxlc3MuXG4gICAgICB5OiBhbmNob3JSZWN0LnRvcCAtIHNjcmltUmVjdC50b3AsXG4gICAgICB3aWR0aDogYW5jaG9yUmVjdC5yaWdodCAtIGFuY2hvclJlY3QubGVmdCxcbiAgICAgIGhlaWdodDogYW5jaG9yUmVjdC5ib3R0b20gLSBhbmNob3JSZWN0LnRvcCxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbG91dFNpemUgPSB7XG4gICAgICB3aWR0aDogdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbG91dE9yaWdpbiA9IGdldE9yaWdpbihcbiAgICAgIGFuY2hvckJvdW5kcyxcbiAgICAgIGNhbGxvdXRTaXplLFxuICAgICAgd2luZG93U2l6ZSxcbiAgICAgIHRoaXMucHJlZmVycmVkUG9zaXRpb24sXG4gICAgICB0aGlzLmFsbG93ZWRQb3NpdGlvbnMsXG4gICAgICB0aGlzLmZhbGxiYWNrRGlyZWN0aW9uLFxuICAgICAgdGhpcy5zaG93Q2FyZXQgPyA4IDogMCxcbiAgICApO1xuXG4gICAgdGhpcy5sZWZ0ID0gY2FsbG91dE9yaWdpbi54O1xuICAgIHRoaXMudG9wID0gY2FsbG91dE9yaWdpbi55O1xuICAgIHRoaXMucmVzb2x2ZWRQb3NpdGlvbiA9IGNhbGxvdXRPcmlnaW4ucG9zaXRpb247XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhbGxvdXRDb21wb25lbnQge1xuICBleHBvcnQgY29uc3QgVGhlbWVzID0gWydsaWdodCcsICdkYXJrJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFRoZW1lID0gKHR5cGVvZiBUaGVtZXMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IEFuY2hvcmVkUG9zaXRpb25zID0gW1xuICAgICd0b3AtbGVmdCcsXG4gICAgJ3RvcC1jZW50ZXInLFxuICAgICd0b3AtcmlnaHQnLFxuICAgICdyaWdodC10b3AnLFxuICAgICdjZW50ZXItcmlnaHQnLFxuICAgICdyaWdodC1ib3R0b20nLFxuICAgICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tY2VudGVyJyxcbiAgICAnYm90dG9tLWxlZnQnLFxuICAgICdsZWZ0LWJvdHRvbScsXG4gICAgJ2NlbnRlci1sZWZ0JyxcbiAgICAnbGVmdC10b3AnLFxuICBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBBbmNob3JlZFBvc2l0aW9uID0gKHR5cGVvZiBBbmNob3JlZFBvc2l0aW9ucylbbnVtYmVyXTtcblxuICBleHBvcnQgY29uc3QgRGlyZWN0aW9ucyA9IFsnY2xvY2t3aXNlJywgJ2NvdW50ZXItY2xvY2t3aXNlJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIERpcmVjdGlvbiA9ICh0eXBlb2YgRGlyZWN0aW9ucylbbnVtYmVyXTtcbn1cbiIsIjxkaXZcbiAgI3NjcmltXG4gIGNsYXNzPVwic2NyaW1cIlxuICBbY2xhc3MuZnVsbF09XCJpc01vZGFsXCJcbiAgKGNsaWNrKT1cInNjcmltQ2xpY2soJGV2ZW50KVwiXG4gIChtb3VzZWRvd24pPVwic2NyaW1Nb3VzZURvd24oJGV2ZW50KVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNhbGxvdXRcIlxuICAgIChyaXZDbGllbnRTaXplKT1cIm9uQ29udGVudFNpemVDaGFuZ2VzKClcIlxuICAgIFtuZ0NsYXNzXT1cIlt0aGVtZSwgcmVzb2x2ZWRQb3NpdGlvbl1cIlxuICAgIFtjbGFzcy5jYXJldF09XCJzaG93Q2FyZXRcIlxuICAgIFtzdHlsZS5sZWZ0LnB4XT1cImxlZnRcIlxuICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICBbcml2TG9ja1Njcm9sbF09XCJpc01vZGFsXCJcbiAgICAjY29udGVudFxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -407,15 +407,29 @@ class CalloutComponent {
407
407
  this.theme = 'dark';
408
408
  this.content = null;
409
409
  this.scrim = null;
410
+ this.mouseDownInsideContent = false;
410
411
  this.left = 0;
411
412
  this.top = 0;
412
413
  this.resolvedPosition = this.preferredPosition;
413
414
  this.close = new EventEmitter();
414
415
  }
416
+ scrimMouseDown(evt) {
417
+ var _a, _b;
418
+ this.mouseDownInsideContent =
419
+ (_b = (_a = this.content) === null || _a === void 0 ? void 0 : _a.nativeElement.contains(evt.target)) !== null && _b !== void 0 ? _b : false;
420
+ }
415
421
  scrimClick(evt) {
416
- if (evt.target === evt.currentTarget) {
422
+ // A click always starts with a mousedown. If a user mouse downs inside the
423
+ // content and then drags to the scrim, this will trigger a click on the scrim.
424
+ // This can happen if the user selects text and drags too far, leading to a
425
+ // bad experience. To prevent that, we track if the mousedown started inside
426
+ // the content. If it did, we ignore the click on the scrim. If it didn't,
427
+ // we allow the click to close the callout.
428
+ if (evt.target === evt.currentTarget && !this.mouseDownInsideContent) {
417
429
  this.close.emit();
418
430
  }
431
+ // always reset the flag after a click
432
+ this.mouseDownInsideContent = false;
419
433
  }
420
434
  ngAfterViewInit() {
421
435
  this.setPosition();
@@ -455,10 +469,10 @@ class CalloutComponent {
455
469
  }
456
470
  }
457
471
  CalloutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalloutComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
458
- CalloutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalloutComponent, selector: "riv-callout", inputs: { anchor: "anchor", isModal: "isModal", preferredPosition: "preferredPosition", allowedPositions: "allowedPositions", fallbackDirection: "fallbackDirection", showCaret: "showCaret", theme: "theme" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "scrim", first: true, predicate: ["scrim"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #scrim class=\"scrim\" [class.full]=\"isModal\" (click)=\"scrimClick($event)\">\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: LockScrollDirective, selector: "[rivLockScroll]", inputs: ["rivLockScroll"] }, { kind: "directive", type: SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
472
+ CalloutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalloutComponent, selector: "riv-callout", inputs: { anchor: "anchor", isModal: "isModal", preferredPosition: "preferredPosition", allowedPositions: "allowedPositions", fallbackDirection: "fallbackDirection", showCaret: "showCaret", theme: "theme" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "scrim", first: true, predicate: ["scrim"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #scrim\n class=\"scrim\"\n [class.full]=\"isModal\"\n (click)=\"scrimClick($event)\"\n (mousedown)=\"scrimMouseDown($event)\"\n>\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: LockScrollDirective, selector: "[rivLockScroll]", inputs: ["rivLockScroll"] }, { kind: "directive", type: SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
459
473
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalloutComponent, decorators: [{
460
474
  type: Component,
461
- args: [{ selector: 'riv-callout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #scrim class=\"scrim\" [class.full]=\"isModal\" (click)=\"scrimClick($event)\">\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"] }]
475
+ args: [{ selector: 'riv-callout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #scrim\n class=\"scrim\"\n [class.full]=\"isModal\"\n (click)=\"scrimClick($event)\"\n (mousedown)=\"scrimMouseDown($event)\"\n>\n <div\n class=\"callout\"\n (rivClientSize)=\"onContentSizeChanges()\"\n [ngClass]=\"[theme, resolvedPosition]\"\n [class.caret]=\"showCaret\"\n [style.left.px]=\"left\"\n [style.top.px]=\"top\"\n [rivLockScroll]=\"isModal\"\n #content\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".scrim{position:fixed;z-index:var(--callout-z-index);cursor:default;top:0;right:0;left:0}.scrim.full{bottom:0}.callout{position:absolute;background-color:var(--background-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-medium);color:var(--text-color);box-shadow:var(--depth-2)}.callout.dark{--background-color: var(--surface-dark-0);--border-color: var(--border-dark);--text-color: var(--type-dark-high-contrast)}.callout.light{--background-color: var(--surface-light-0);--border-color: var(--border-light);--text-color: var(--type-light-high-contrast)}.callout.caret:after{--size: 11px;content:\"\";width:var(--size);height:var(--size);position:absolute;background-color:var(--background-color);border-left:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.callout.caret.top-left:after{right:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-center:after{left:50%;bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.top-right:after{left:var(--size-large);bottom:0;transform:translate(-50%,50%) rotate(315deg)}.callout.caret.right-top:after{top:var(--size-large);left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.center-right:after{top:50%;left:0;transform:translate(-50%,-50%) rotate(45deg)}.callout.caret.right-bottom:after{left:0;bottom:var(--size-large);transform:translate(-50%,50%) rotate(45deg)}.callout.caret.bottom-right:after{top:0;left:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-center:after{top:0;left:50%;transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.bottom-left:after{top:0;right:var(--size-large);transform:translate(-50%,-50%) rotate(135deg)}.callout.caret.left-bottom:after{right:0;bottom:var(--size-large);transform:translate(50%,50%) rotate(225deg)}.callout.caret.center-left:after{top:50%;right:0;transform:translate(50%,-50%) rotate(225deg)}.callout.caret.left-top:after{top:var(--size-large);right:0;transform:translate(50%,-50%) rotate(225deg)}\n"] }]
462
476
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { anchor: [{
463
477
  type: Input
464
478
  }], isModal: [{