@bravura/ui 3.1.4 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/behavior/await.directive.d.ts +12 -6
- package/esm2020/behavior/await.directive.mjs +28 -10
- package/esm2020/tooltip/tooltip.component.mjs +3 -3
- package/fesm2015/bravura-ui-behavior.mjs +27 -9
- package/fesm2015/bravura-ui-behavior.mjs.map +1 -1
- package/fesm2015/bravura-ui-tooltip.mjs +2 -2
- package/fesm2015/bravura-ui-tooltip.mjs.map +1 -1
- package/fesm2020/bravura-ui-behavior.mjs +27 -9
- package/fesm2020/bravura-ui-behavior.mjs.map +1 -1
- package/fesm2020/bravura-ui-tooltip.mjs +2 -2
- package/fesm2020/bravura-ui-tooltip.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Change history
|
|
2
2
|
|
|
3
|
+
## 3.2.0 (2023-03-01)
|
|
4
|
+
|
|
5
|
+
* fix(tooltip): add missing default color and background ([c96bb6d](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/c96bb6d))
|
|
6
|
+
* feat(behavior): add support for other buttons in [buiAwait] ([9d24e0b](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/9d24e0b))
|
|
7
|
+
|
|
3
8
|
## <small>3.1.4 (2023-02-24)</small>
|
|
4
9
|
|
|
5
10
|
* test(stepper): fix coverage failure ([aea82ad](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/aea82ad))
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
2
|
-
import { MatButton } from '@angular/material/button';
|
|
1
|
+
import { AfterViewInit, DoCheck, ElementRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { MatButton, MatFabAnchor, MatFabButton, MatIconAnchor, MatIconButton, MatMiniFabAnchor, MatMiniFabButton } from '@angular/material/button';
|
|
3
3
|
import { Subscription } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
@@ -27,7 +27,13 @@ import * as i0 from "@angular/core";
|
|
|
27
27
|
*/
|
|
28
28
|
export declare class AwaitDirective implements AfterViewInit, DoCheck {
|
|
29
29
|
private readonly _eRef;
|
|
30
|
-
|
|
30
|
+
readonly _button: MatButton;
|
|
31
|
+
readonly _iconButton: MatIconButton;
|
|
32
|
+
readonly _iconAnchor: MatIconAnchor;
|
|
33
|
+
readonly _fab: MatFabButton;
|
|
34
|
+
readonly _fabAnchor: MatFabAnchor;
|
|
35
|
+
readonly _miniFab: MatMiniFabButton;
|
|
36
|
+
readonly _miniFabAnchor: MatMiniFabAnchor;
|
|
31
37
|
private readonly doc;
|
|
32
38
|
private _viewCont;
|
|
33
39
|
/**
|
|
@@ -46,15 +52,15 @@ export declare class AwaitDirective implements AfterViewInit, DoCheck {
|
|
|
46
52
|
buiAwaitDiameter: number;
|
|
47
53
|
private _overlayEl;
|
|
48
54
|
private _processing;
|
|
49
|
-
private _factory;
|
|
50
55
|
private _spinnerRef;
|
|
51
56
|
private _captionWrapper;
|
|
52
|
-
|
|
57
|
+
private button;
|
|
58
|
+
constructor(_eRef: ElementRef<HTMLElement>, _button: MatButton, _iconButton: MatIconButton, _iconAnchor: MatIconAnchor, _fab: MatFabButton, _fabAnchor: MatFabAnchor, _miniFab: MatMiniFabButton, _miniFabAnchor: MatMiniFabAnchor, doc: Document, _viewCont: ViewContainerRef);
|
|
53
59
|
/** @ignore */
|
|
54
60
|
ngAfterViewInit(): void;
|
|
55
61
|
/** @ignore */
|
|
56
62
|
ngDoCheck(): void;
|
|
57
63
|
private _statusChanged;
|
|
58
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AwaitDirective, [null, { optional: true; },
|
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AwaitDirective, [null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, null]>;
|
|
59
65
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AwaitDirective, "[buiAwait]", never, { "buiAwait": "buiAwait"; "buiAwaitAriaLabel": "buiAwaitAriaLabel"; "buiAwaitDiameter": "buiAwaitDiameter"; }, {}, never, never, false, never>;
|
|
60
66
|
}
|
|
@@ -27,9 +27,15 @@ import * as i1 from "@angular/material/button";
|
|
|
27
27
|
* - the button will be disabled by setting the property `disabled` of the `MatButton` instance.
|
|
28
28
|
*/
|
|
29
29
|
export class AwaitDirective {
|
|
30
|
-
constructor(_eRef,
|
|
30
|
+
constructor(_eRef, _button, _iconButton, _iconAnchor, _fab, _fabAnchor, _miniFab, _miniFabAnchor, doc, _viewCont) {
|
|
31
31
|
this._eRef = _eRef;
|
|
32
|
-
this.
|
|
32
|
+
this._button = _button;
|
|
33
|
+
this._iconButton = _iconButton;
|
|
34
|
+
this._iconAnchor = _iconAnchor;
|
|
35
|
+
this._fab = _fab;
|
|
36
|
+
this._fabAnchor = _fabAnchor;
|
|
37
|
+
this._miniFab = _miniFab;
|
|
38
|
+
this._miniFabAnchor = _miniFabAnchor;
|
|
33
39
|
this.doc = doc;
|
|
34
40
|
this._viewCont = _viewCont;
|
|
35
41
|
/** The ARIA label to be put on the spinner. The default value is `"In progress"`. */
|
|
@@ -37,11 +43,11 @@ export class AwaitDirective {
|
|
|
37
43
|
/** The diameter of the in-progress spinner. The default value is `20`. */
|
|
38
44
|
this.buiAwaitDiameter = 20;
|
|
39
45
|
this._processing = false;
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
this.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;
|
|
47
|
+
if (!this.button) {
|
|
48
|
+
console.error('[buiAwait] can only be used on a Material button.');
|
|
42
49
|
return;
|
|
43
50
|
}
|
|
44
|
-
this._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);
|
|
45
51
|
}
|
|
46
52
|
/** @ignore */
|
|
47
53
|
ngAfterViewInit() {
|
|
@@ -51,7 +57,7 @@ export class AwaitDirective {
|
|
|
51
57
|
this._overlayEl.classList.add('bui-await-overlay');
|
|
52
58
|
this._overlayEl.style.cssText =
|
|
53
59
|
'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';
|
|
54
|
-
this._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label');
|
|
60
|
+
this._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon');
|
|
55
61
|
}
|
|
56
62
|
}
|
|
57
63
|
/** @ignore */
|
|
@@ -66,7 +72,7 @@ export class AwaitDirective {
|
|
|
66
72
|
if (this.button) {
|
|
67
73
|
this.button.disabled = this._processing;
|
|
68
74
|
if (this._processing) {
|
|
69
|
-
this._spinnerRef = this._viewCont.createComponent(
|
|
75
|
+
this._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);
|
|
70
76
|
const c = this._spinnerRef.instance;
|
|
71
77
|
c.diameter = this.buiAwaitDiameter;
|
|
72
78
|
c.mode = 'indeterminate';
|
|
@@ -84,7 +90,7 @@ export class AwaitDirective {
|
|
|
84
90
|
}
|
|
85
91
|
}
|
|
86
92
|
}
|
|
87
|
-
AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token:
|
|
93
|
+
AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: i1.MatIconButton, optional: true }, { token: i1.MatIconAnchor, optional: true }, { token: i1.MatFabButton, optional: true }, { token: i1.MatFabAnchor, optional: true }, { token: i1.MatMiniFabButton, optional: true }, { token: i1.MatMiniFabAnchor, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
88
94
|
AwaitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 });
|
|
89
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, decorators: [{
|
|
90
96
|
type: Directive,
|
|
@@ -93,14 +99,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
93
99
|
}]
|
|
94
100
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatButton, decorators: [{
|
|
95
101
|
type: Optional
|
|
102
|
+
}] }, { type: i1.MatIconButton, decorators: [{
|
|
103
|
+
type: Optional
|
|
104
|
+
}] }, { type: i1.MatIconAnchor, decorators: [{
|
|
105
|
+
type: Optional
|
|
106
|
+
}] }, { type: i1.MatFabButton, decorators: [{
|
|
107
|
+
type: Optional
|
|
108
|
+
}] }, { type: i1.MatFabAnchor, decorators: [{
|
|
109
|
+
type: Optional
|
|
110
|
+
}] }, { type: i1.MatMiniFabButton, decorators: [{
|
|
111
|
+
type: Optional
|
|
112
|
+
}] }, { type: i1.MatMiniFabAnchor, decorators: [{
|
|
113
|
+
type: Optional
|
|
96
114
|
}] }, { type: Document, decorators: [{
|
|
97
115
|
type: Inject,
|
|
98
116
|
args: [DOCUMENT]
|
|
99
|
-
}] }, { type: i0.
|
|
117
|
+
}] }, { type: i0.ViewContainerRef }]; }, propDecorators: { buiAwait: [{
|
|
100
118
|
type: Input
|
|
101
119
|
}], buiAwaitAriaLabel: [{
|
|
102
120
|
type: Input
|
|
103
121
|
}], buiAwaitDiameter: [{
|
|
104
122
|
type: Input
|
|
105
123
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYXdhaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBS04sU0FBUyxFQUdULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHeEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQTJCMUIsWUFDa0IsS0FBOEIsRUFDbEIsTUFBaUIsRUFDWCxHQUFhLEVBQ2hELGVBQXlDLEVBQ2pDLFNBQTJCO1FBSmxCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDWCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBRXhDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBbkJwQyxxRkFBcUY7UUFFckYsc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRWxDLDBFQUEwRTtRQUUxRSxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFHZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVkzQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQzVELE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUM1QixpSEFBaUgsQ0FBQztZQUNuSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBZ0IsQ0FBQztTQUNuRztJQUNGLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUztRQUNSLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0csSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdEI7SUFDRixDQUFDO0lBRU8sY0FBYztRQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUV4QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO2dCQUN6QixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUM1QixNQUFNLENBQUMsR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO2dCQUMvRCxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLFVBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxlQUFnQixDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNOLElBQUksQ0FBQyxlQUFnQixDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsV0FBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsVUFBVyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDaEM7U0FDRDtJQUNGLENBQUM7OzJHQWxGVyxjQUFjLHFGQThCakIsUUFBUTsrRkE5QkwsY0FBYzsyRkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxZQUFZO2lCQUN0Qjs7MEJBOEJFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTtrSEFuQmpCLFFBQVE7c0JBRFAsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDb21wb25lbnRGYWN0b3J5LFxuXHRDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG5cdENvbXBvbmVudFJlZixcblx0RGlyZWN0aXZlLFxuXHREb0NoZWNrLFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGRpcmVjdGl2ZSBvbiBhIGBNYXRCdXR0b25gIGVsZW1lbnQgdG8gcHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSB2aWV3IHdoZW4gYW4gc3luYyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogYGBgXG4gKiA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKTtcIiBbYnVpQXdhaXRdPVwic3VibWl0U3Vic2NyaXB0aW9uXCIgYnVpQXdhaXRBcmlhTGFiZWw9XCJzdWJtaXR0aW5nXCI+U3VibWl0PC9idXR0b24+XG4gKiBgYGBcbiAqXG4gKiBQbGVhc2UgcmVmZXIgdG8gW01hdGVyaWFsIERlc2lnbl0oaHR0cHM6Ly9tYXRlcmlhbC5pby9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvcnMjY2lyY3VsYXItcHJvZ3Jlc3MtaW5kaWNhdG9ycylcbiAqIGZvciBtb3JlIGRldGFpbHMgb2YgaW50ZWdyYXRpbmcgY2lyY3VsYXIgc3Bpbm5lciBjb21wb25lbnQgd2l0aCBhY3Rpb24gYnV0dG9ucy5cbiAqXG4gKiBUaGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgJ2luIHByb2dyZXNzJyB3aGVuIHRoZSBib3VuZCBwcm9wZXJ0eSBgYnVpQXdhaXRgIGV2YWx1YXRlcyB0b1xuICpcbiAqIC0gYHRydWVgOyBvclxuICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuICpcbiAqIFdoZW4gaW4gcHJvZ3Jlc3NcbiAqXG4gKiAtIHRoZSBidXR0b24ncyBjYXB0aW9uIHdpbGwgYmUgaGlkZGVuO1xuICogLSBhIGA8bWF0LXByb2dyZXNzLXNwaW5uZXI+YCB3aWxsIGJlIGRpc3BsYXllZCBpbiBwbGFjZSBvZiB0aGUgY2FwdGlvbjtcbiAqIC0gdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIHByb3BlcnR5IGBkaXNhYmxlZGAgb2YgdGhlIGBNYXRCdXR0b25gIGluc3RhbmNlLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpQXdhaXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBBd2FpdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoZSBgaW4gcHJvZ3Jlc3NgIHN0YXR1cyBvZiBhbiBhc3luYyBvcGVyYXRpb24uXG5cdCAqXG5cdCAqIFRoZSBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCAnaW4gcHJvZ3Jlc3MnIHdoZW4gdGhlIHByb3BlcnR5IGV2YWx1YXRlcyB0b1xuXHQgKlxuXHQgKiAtIGB0cnVlYDsgb3Jcblx0ICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuXHQgKlxuXHQgKi9cblx0QElucHV0KClcblx0YnVpQXdhaXQ6IG51bGwgfCB1bmRlZmluZWQgfCBib29sZWFuIHwgU3Vic2NyaXB0aW9uO1xuXG5cdC8qKiBUaGUgQVJJQSBsYWJlbCB0byBiZSBwdXQgb24gdGhlIHNwaW5uZXIuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBcIkluIHByb2dyZXNzXCJgLiAqL1xuXHRASW5wdXQoKVxuXHRidWlBd2FpdEFyaWFMYWJlbCA9ICdJbiBwcm9ncmVzcyc7XG5cblx0LyoqIFRoZSBkaWFtZXRlciBvZiB0aGUgaW4tcHJvZ3Jlc3Mgc3Bpbm5lci4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDIwYC4gKi9cblx0QElucHV0KClcblx0YnVpQXdhaXREaWFtZXRlciA9IDIwO1xuXG5cdHByaXZhdGUgX292ZXJsYXlFbDogSFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX3Byb2Nlc3NpbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBfZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxNYXRQcm9ncmVzc1NwaW5uZXI+IHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIF9zcGlubmVyUmVmOiBDb21wb25lbnRSZWY8TWF0UHJvZ3Jlc3NTcGlubmVyPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSBfY2FwdGlvbldyYXBwZXI6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgX2VSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uOiBNYXRCdXR0b24sXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuXHRcdGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuXHRcdHByaXZhdGUgX3ZpZXdDb250OiBWaWV3Q29udGFpbmVyUmVmXG5cdCkge1xuXHRcdGlmICghYnV0dG9uKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKCdbYnVpQXdhaXRdIGNhbiBvbmx5IGJlIHVzZWQgb24gYSBNYXRCdXR0b24nKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5fZmFjdG9yeSA9IGZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNYXRQcm9ncmVzc1NwaW5uZXIpO1xuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xuXHRcdFx0dGhpcy5fb3ZlcmxheUVsID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdFx0XHR0aGlzLl9lUmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fb3ZlcmxheUVsKTtcblx0XHRcdHRoaXMuX292ZXJsYXlFbC5jbGFzc0xpc3QuYWRkKCdidWktYXdhaXQtb3ZlcmxheScpO1xuXHRcdFx0dGhpcy5fb3ZlcmxheUVsLnN0eWxlLmNzc1RleHQgPVxuXHRcdFx0XHQnZGlzcGxheTpmbGV4OyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IHJpZ2h0OjA7IGJvdHRvbTowOyBsZWZ0OjA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyJztcblx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyID0gdGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZGMtYnV0dG9uX19sYWJlbCcpIGFzIEhUTUxFbGVtZW50O1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdG5nRG9DaGVjaygpOiB2b2lkIHtcblx0XHRjb25zdCBpblByb2dyZXNzID0gdGhpcy5idWlBd2FpdCA9PT0gdHJ1ZSB8fCAodHlwZW9mIHRoaXMuYnVpQXdhaXQgPT09ICdvYmplY3QnICYmICF0aGlzLmJ1aUF3YWl0IS5jbG9zZWQpO1xuXHRcdGlmIChpblByb2dyZXNzICE9PSB0aGlzLl9wcm9jZXNzaW5nKSB7XG5cdFx0XHR0aGlzLl9wcm9jZXNzaW5nID0gaW5Qcm9ncmVzcztcblx0XHRcdHRoaXMuX3N0YXR1c0NoYW5nZWQoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIF9zdGF0dXNDaGFuZ2VkKCkge1xuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xuXHRcdFx0dGhpcy5idXR0b24uZGlzYWJsZWQgPSB0aGlzLl9wcm9jZXNzaW5nO1xuXG5cdFx0XHRpZiAodGhpcy5fcHJvY2Vzc2luZykge1xuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmID0gdGhpcy5fdmlld0NvbnQuY3JlYXRlQ29tcG9uZW50KHRoaXMuX2ZhY3RvcnkhKTtcblx0XHRcdFx0Y29uc3QgYyA9IHRoaXMuX3NwaW5uZXJSZWYuaW5zdGFuY2U7XG5cdFx0XHRcdGMuZGlhbWV0ZXIgPSB0aGlzLmJ1aUF3YWl0RGlhbWV0ZXI7XG5cdFx0XHRcdGMubW9kZSA9ICdpbmRldGVybWluYXRlJztcblx0XHRcdFx0Yy5jb2xvciA9IHRoaXMuYnV0dG9uLmNvbG9yO1xuXHRcdFx0XHRjb25zdCBlOiBIVE1MRWxlbWVudCA9IHRoaXMuX3NwaW5uZXJSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblx0XHRcdFx0ZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmJ1aUF3YWl0QXJpYUxhYmVsKTtcblx0XHRcdFx0dGhpcy5fb3ZlcmxheUVsIS5hcHBlbmRDaGlsZChlKTtcblx0XHRcdFx0dGhpcy5fY2FwdGlvbldyYXBwZXIhLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyIS5zdHlsZS52aXNpYmlsaXR5ID0gJyc7XG5cdFx0XHRcdHRoaXMuX3NwaW5uZXJSZWYhLmRlc3Ryb3koKTtcblx0XHRcdFx0dGhpcy5fb3ZlcmxheUVsIS5pbm5lckhUTUwgPSAnJztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYXdhaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBR04sU0FBUyxFQUlULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHeEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQW1DMUIsWUFDa0IsS0FBOEIsRUFDMUIsT0FBa0IsRUFDbEIsV0FBMEIsRUFDMUIsV0FBMEIsRUFDMUIsSUFBa0IsRUFDbEIsVUFBd0IsRUFDeEIsUUFBMEIsRUFDMUIsY0FBZ0MsRUFDbEIsR0FBYSxFQUN4QyxTQUEyQjtRQVRsQixVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQWM7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWhDcEMscUZBQXFGO1FBRXJGLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUVsQywwRUFBMEU7UUFFMUUscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBR2QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUF5QjNCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxJQUFJLFdB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QUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTsyRUFqQ2pCLFFBQVE7c0JBRFAsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDb21wb25lbnRSZWYsXG5cdERpcmVjdGl2ZSxcblx0RG9DaGVjayxcblx0RWxlbWVudFJlZixcblx0SG9zdCxcblx0SW5qZWN0LFxuXHRJbnB1dCxcblx0T3B0aW9uYWwsXG5cdFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRNYXRCdXR0b24sXG5cdE1hdEZhYkFuY2hvcixcblx0TWF0RmFiQnV0dG9uLFxuXHRNYXRJY29uQW5jaG9yLFxuXHRNYXRJY29uQnV0dG9uLFxuXHRNYXRNaW5pRmFiQW5jaG9yLFxuXHRNYXRNaW5pRmFiQnV0dG9uXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGRpcmVjdGl2ZSBvbiBhIGBNYXRCdXR0b25gIGVsZW1lbnQgdG8gcHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSB2aWV3IHdoZW4gYW4gc3luYyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogYGBgXG4gKiA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKTtcIiBbYnVpQXdhaXRdPVwic3VibWl0U3Vic2NyaXB0aW9uXCIgYnVpQXdhaXRBcmlhTGFiZWw9XCJzdWJtaXR0aW5nXCI+U3VibWl0PC9idXR0b24+XG4gKiBgYGBcbiAqXG4gKiBQbGVhc2UgcmVmZXIgdG8gW01hdGVyaWFsIERlc2lnbl0oaHR0cHM6Ly9tYXRlcmlhbC5pby9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvcnMjY2lyY3VsYXItcHJvZ3Jlc3MtaW5kaWNhdG9ycylcbiAqIGZvciBtb3JlIGRldGFpbHMgb2YgaW50ZWdyYXRpbmcgY2lyY3VsYXIgc3Bpbm5lciBjb21wb25lbnQgd2l0aCBhY3Rpb24gYnV0dG9ucy5cbiAqXG4gKiBUaGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgJ2luIHByb2dyZXNzJyB3aGVuIHRoZSBib3VuZCBwcm9wZXJ0eSBgYnVpQXdhaXRgIGV2YWx1YXRlcyB0b1xuICpcbiAqIC0gYHRydWVgOyBvclxuICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuICpcbiAqIFdoZW4gaW4gcHJvZ3Jlc3NcbiAqXG4gKiAtIHRoZSBidXR0b24ncyBjYXB0aW9uIHdpbGwgYmUgaGlkZGVuO1xuICogLSBhIGA8bWF0LXByb2dyZXNzLXNwaW5uZXI+YCB3aWxsIGJlIGRpc3BsYXllZCBpbiBwbGFjZSBvZiB0aGUgY2FwdGlvbjtcbiAqIC0gdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIHByb3BlcnR5IGBkaXNhYmxlZGAgb2YgdGhlIGBNYXRCdXR0b25gIGluc3RhbmNlLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpQXdhaXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBBd2FpdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoZSBgaW4gcHJvZ3Jlc3NgIHN0YXR1cyBvZiBhbiBhc3luYyBvcGVyYXRpb24uXG5cdCAqXG5cdCAqIFRoZSBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCAnaW4gcHJvZ3Jlc3MnIHdoZW4gdGhlIHByb3BlcnR5IGV2YWx1YXRlcyB0b1xuXHQgKlxuXHQgKiAtIGB0cnVlYDsgb3Jcblx0ICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuXHQgKlxuXHQgKi9cblx0QElucHV0KClcblx0YnVpQXdhaXQ6IG51bGwgfCB1bmRlZmluZWQgfCBib29sZWFuIHwgU3Vic2NyaXB0aW9uO1xuXG5cdC8qKiBUaGUgQVJJQSBsYWJlbCB0byBiZSBwdXQgb24gdGhlIHNwaW5uZXIuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBcIkluIHByb2dyZXNzXCJgLiAqL1xuXHRASW5wdXQoKVxuXHRidWlBd2FpdEFyaWFMYWJlbCA9ICdJbiBwcm9ncmVzcyc7XG5cblx0LyoqIFRoZSBkaWFtZXRlciBvZiB0aGUgaW4tcHJvZ3Jlc3Mgc3Bpbm5lci4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDIwYC4gKi9cblx0QElucHV0KClcblx0YnVpQXdhaXREaWFtZXRlciA9IDIwO1xuXG5cdHByaXZhdGUgX292ZXJsYXlFbDogSFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX3Byb2Nlc3NpbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBfc3Bpbm5lclJlZjogQ29tcG9uZW50UmVmPE1hdFByb2dyZXNzU3Bpbm5lcj4gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX2NhcHRpb25XcmFwcGVyOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSBidXR0b246XG5cdFx0fCBNYXRCdXR0b25cblx0XHR8IE1hdEljb25CdXR0b25cblx0XHR8IE1hdEljb25BbmNob3Jcblx0XHR8IE1hdEZhYkJ1dHRvblxuXHRcdHwgTWF0RmFiQW5jaG9yXG5cdFx0fCBNYXRNaW5pRmFiQnV0dG9uXG5cdFx0fCBNYXRNaW5pRmFiQW5jaG9yXG5cdFx0fCB1bmRlZmluZWQ7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSBfZVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX2J1dHRvbjogTWF0QnV0dG9uLFxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9pY29uQnV0dG9uOiBNYXRJY29uQnV0dG9uLFxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9pY29uQW5jaG9yOiBNYXRJY29uQW5jaG9yLFxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9mYWI6IE1hdEZhYkJ1dHRvbixcblx0XHRAT3B0aW9uYWwoKSByZWFkb25seSBfZmFiQW5jaG9yOiBNYXRGYWJBbmNob3IsXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX21pbmlGYWI6IE1hdE1pbmlGYWJCdXR0b24sXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX21pbmlGYWJBbmNob3I6IE1hdE1pbmlGYWJBbmNob3IsXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuXHRcdHByaXZhdGUgX3ZpZXdDb250OiBWaWV3Q29udGFpbmVyUmVmXG5cdCkge1xuXHRcdHRoaXMuYnV0dG9uID0gX2J1dHRvbiB8fCBfaWNvbkJ1dHRvbiB8fCBfaWNvbkFuY2hvciB8fCBfZmFiIHx8IF9mYWJBbmNob3IgfHwgX21pbmlGYWIgfHwgX21pbmlGYWJBbmNob3I7XG5cdFx0aWYgKCF0aGlzLmJ1dHRvbikge1xuXHRcdFx0Y29uc29sZS5lcnJvcignW2J1aUF3YWl0XSBjYW4gb25seSBiZSB1c2VkIG9uIGEgTWF0ZXJpYWwgYnV0dG9uLicpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5idXR0b24pIHtcblx0XHRcdHRoaXMuX292ZXJsYXlFbCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXHRcdFx0dGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX292ZXJsYXlFbCk7XG5cdFx0XHR0aGlzLl9vdmVybGF5RWwuY2xhc3NMaXN0LmFkZCgnYnVpLWF3YWl0LW92ZXJsYXknKTtcblx0XHRcdHRoaXMuX292ZXJsYXlFbC5zdHlsZS5jc3NUZXh0ID1cblx0XHRcdFx0J2Rpc3BsYXk6ZmxleDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyByaWdodDowOyBib3R0b206MDsgbGVmdDowOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcic7XG5cdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciA9IHRoaXMuX2VSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWRjLWJ1dHRvbl9fbGFiZWwsLm1hdC1pY29uJykgYXMgSFRNTEVsZW1lbnQ7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0bmdEb0NoZWNrKCk6IHZvaWQge1xuXHRcdGNvbnN0IGluUHJvZ3Jlc3MgPSB0aGlzLmJ1aUF3YWl0ID09PSB0cnVlIHx8ICh0eXBlb2YgdGhpcy5idWlBd2FpdCA9PT0gJ29iamVjdCcgJiYgIXRoaXMuYnVpQXdhaXQhLmNsb3NlZCk7XG5cdFx0aWYgKGluUHJvZ3Jlc3MgIT09IHRoaXMuX3Byb2Nlc3NpbmcpIHtcblx0XHRcdHRoaXMuX3Byb2Nlc3NpbmcgPSBpblByb2dyZXNzO1xuXHRcdFx0dGhpcy5fc3RhdHVzQ2hhbmdlZCgpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX3N0YXR1c0NoYW5nZWQoKSB7XG5cdFx0aWYgKHRoaXMuYnV0dG9uKSB7XG5cdFx0XHR0aGlzLmJ1dHRvbi5kaXNhYmxlZCA9IHRoaXMuX3Byb2Nlc3Npbmc7XG5cblx0XHRcdGlmICh0aGlzLl9wcm9jZXNzaW5nKSB7XG5cdFx0XHRcdHRoaXMuX3NwaW5uZXJSZWYgPSB0aGlzLl92aWV3Q29udC5jcmVhdGVDb21wb25lbnQoTWF0UHJvZ3Jlc3NTcGlubmVyKTtcblx0XHRcdFx0Y29uc3QgYyA9IHRoaXMuX3NwaW5uZXJSZWYuaW5zdGFuY2U7XG5cdFx0XHRcdGMuZGlhbWV0ZXIgPSB0aGlzLmJ1aUF3YWl0RGlhbWV0ZXI7XG5cdFx0XHRcdGMubW9kZSA9ICdpbmRldGVybWluYXRlJztcblx0XHRcdFx0Yy5jb2xvciA9IHRoaXMuYnV0dG9uLmNvbG9yO1xuXHRcdFx0XHRjb25zdCBlOiBIVE1MRWxlbWVudCA9IHRoaXMuX3NwaW5uZXJSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblx0XHRcdFx0ZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmJ1aUF3YWl0QXJpYUxhYmVsKTtcblx0XHRcdFx0dGhpcy5fb3ZlcmxheUVsIS5hcHBlbmRDaGlsZChlKTtcblx0XHRcdFx0dGhpcy5fY2FwdGlvbldyYXBwZXIhLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyIS5zdHlsZS52aXNpYmlsaXR5ID0gJyc7XG5cdFx0XHRcdHRoaXMuX3NwaW5uZXJSZWYhLmRlc3Ryb3koKTtcblx0XHRcdFx0dGhpcy5fb3ZlcmxheUVsIS5pbm5lckhUTUwgPSAnJztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ==
|
|
@@ -24,7 +24,7 @@ export class TooltipComponent extends MatTooltipComponent {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: BUI_TOOLTIP_TEMPLATE_REF }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" }, properties: { "style.zoom": "isVisible() ? 1 : null" }, classAttribute: "bui-tooltip-component bui-host" }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }, { propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
27
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" }, properties: { "style.zoom": "isVisible() ? 1 : null" }, classAttribute: "bui-tooltip-component bui-host" }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }, { propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px;background-color:var(--mdc-plain-tooltip-container-color, #fff);color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
28
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
30
|
args: [{ selector: 'bui-tooltip-component', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [matTooltipAnimations.tooltipState], host: {
|
|
@@ -34,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
34
34
|
'[style.zoom]': 'isVisible() ? 1 : null',
|
|
35
35
|
'(mouseleave)': '_handleMouseLeave($event)',
|
|
36
36
|
'aria-hidden': 'true'
|
|
37
|
-
}, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"] }]
|
|
37
|
+
}, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px;background-color:var(--mdc-plain-tooltip-container-color, #fff);color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"] }]
|
|
38
38
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
39
39
|
type: Inject,
|
|
40
40
|
args: [BUI_TOOLTIP_TEMPLATE_REF]
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
51
51
|
args: ['tooltipDiv', { static: true }]
|
|
52
52
|
}] } });
|
|
53
53
|
TooltipComponent.ɵcmp.styles.push(...MatTooltipComponent.ɵcmp.styles);
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixxQkFBcUIsRUFDckIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sY0FBYyxFQUNkLFFBQVEsRUFFUixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBU2xEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3pELHVDQUF1QyxDQUN2QyxDQUFDO0FBa0JGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxtQkFBbUI7SUFTeEQsWUFDQyxpQkFBb0MsRUFDcEMsVUFBbUMsRUFDTSxZQUFzQyxFQUNwQyxhQUFzQjtRQUVqRSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSFgsaUJBQVksR0FBWixZQUFZLENBQTBCO1FBWHhFLGlCQUFZLEdBQUcsRUFBRSxDQUFDO0lBZTFCLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBYTtRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsS0FBSyxJQUFJLENBQUM7U0FDMUQ7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUM7OzZHQTFCVyxnQkFBZ0IsNkVBWW5CLHdCQUF3QixhQUNaLHFCQUFxQjtpR0FiOUIsZ0JBQWdCLHFnQkM5QzdCLHVaQVlBLHlpQ0R3QmEsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUM7MkZBVW5DLGdCQUFnQjtrQkFoQjVCLFNBQVM7K0JBQ0MsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLFFBQ3pDO3dCQUNMLEtBQUssRUFBRSxnQ0FBZ0M7d0JBQ3ZDLDBGQUEwRjt3QkFDMUYsMkZBQTJGO3dCQUMzRixjQUFjLEVBQUUsd0JBQXdCO3dCQUN4QyxjQUFjLEVBQUUsMkJBQTJCO3dCQUMzQyxhQUFhLEVBQUUsTUFBTTtxQkFDckI7OzBCQWNDLE1BQU07MkJBQUMsd0JBQXdCOzswQkFDL0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUI7NENBVDFDLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5QixVQUFVO3NCQURqQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBdUJ6QyxnQkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFJLG1CQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFOSU1BVElPTl9NT0RVTEVfVFlQRSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdE9wdGlvbmFsLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hdFRvb2x0aXBBbmltYXRpb25zLCBUb29sdGlwQ29tcG9uZW50IGFzIE1hdFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IGdldFRleHRXaWR0aCB9IGZyb20gJ0BicmF2dXJhL3VpL2NvbW1vbic7XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5pbnRlcmZhY2UgVG9vbHRpcFRlbXBsYXRlQ29udGFpbmVyIHtcblx0dGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNvbnN0IEJVSV9UT09MVElQX1RFTVBMQVRFX1JFRiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUb29sdGlwVGVtcGxhdGVDb250YWluZXI+KFxuXHQnQGJyYXZ1cmEvdWkvdG9vbHRpcC90ZW1wbGF0ZUNvbnRhaW5lcidcbik7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2J1aS10b29sdGlwLWNvbXBvbmVudCcsXG5cdHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0YW5pbWF0aW9uczogW21hdFRvb2x0aXBBbmltYXRpb25zLnRvb2x0aXBTdGF0ZV0sXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2J1aS10b29sdGlwLWNvbXBvbmVudCBidWktaG9zdCcsXG5cdFx0Ly8gRm9yY2VzIHRoZSBlbGVtZW50IHRvIGhhdmUgYSBsYXlvdXQgaW4gSUUgYW5kIEVkZ2UuIFRoaXMgZml4ZXMgaXNzdWVzIHdoZXJlIHRoZSBlbGVtZW50XG5cdFx0Ly8gd29uJ3QgYmUgcmVuZGVyZWQgaWYgdGhlIGFuaW1hdGlvbnMgYXJlIGRpc2FibGVkIG9yIHRoZXJlIGlzIG5vIHdlYiBhbmltYXRpb25zIHBvbHlmaWxsLlxuXHRcdCdbc3R5bGUuem9vbV0nOiAnaXNWaXNpYmxlKCkgPyAxIDogbnVsbCcsXG5cdFx0Jyhtb3VzZWxlYXZlKSc6ICdfaGFuZGxlTW91c2VMZWF2ZSgkZXZlbnQpJyxcblx0XHQnYXJpYS1oaWRkZW4nOiAndHJ1ZSdcblx0fVxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgTWF0VG9vbHRpcENvbXBvbmVudCB7XG5cdHByaXZhdGUgX21lc3NhZ2VDb3B5ID0gJyc7XG5cblx0QFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiB0cnVlIH0pXG5cdF90b29sdGlwITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cblx0QFZpZXdDaGlsZCgndG9vbHRpcERpdicsIHsgc3RhdGljOiB0cnVlIH0pXG5cdHByaXZhdGUgdG9vbHRpcERpdiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcblx0XHRlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRASW5qZWN0KEJVSV9UT09MVElQX1RFTVBMQVRFX1JFRikgcHVibGljIF90b29sdGlwSW5zdDogVG9vbHRpcFRlbXBsYXRlQ29udGFpbmVyLFxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoQU5JTUFUSU9OX01PRFVMRV9UWVBFKSBhbmltYXRpb25Nb2RlPzogc3RyaW5nXG5cdCkge1xuXHRcdHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBlbGVtZW50UmVmLCBhbmltYXRpb25Nb2RlKTtcblx0fVxuXG5cdHNob3coZGVsYXk6IG51bWJlcik6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9tZXNzYWdlQ29weSAhPT0gdGhpcy5tZXNzYWdlICYmICF0aGlzLl90b29sdGlwSW5zdC50ZW1wbGF0ZSkge1xuXHRcdFx0dGhpcy50b29sdGlwRGl2Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5tZXNzYWdlO1xuXHRcdFx0dGhpcy5fbWVzc2FnZUNvcHkgPSB0aGlzLm1lc3NhZ2U7XG5cdFx0XHRjb25zdCB3aWR0aCA9IE1hdGgubWF4KE1hdGguc3FydChnZXRUZXh0V2lkdGgodGhpcy5tZXNzYWdlKSAqIDQwKSwgMzYwKTtcblx0XHRcdHRoaXMuX3Rvb2x0aXAubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhXaWR0aCA9IGAke3dpZHRofXB4YDtcblx0XHR9XG5cdFx0c3VwZXIuc2hvdyhkZWxheSk7XG5cdH1cbn1cblxuKFRvb2x0aXBDb21wb25lbnQgYXMgYW55KS7JtWNtcC5zdHlsZXMucHVzaCguLi4oTWF0VG9vbHRpcENvbXBvbmVudCBhcyBhbnkpLsm1Y21wLnN0eWxlcyk7XG4iLCI8ZGl2XG5cdCN0b29sdGlwXG5cdGNsYXNzPVwibWRjLXRvb2x0aXAgbWRjLXRvb2x0aXAtLXNob3duIG1hdC1tZGMtdG9vbHRpcCBidWktdG9vbHRpcFwiXG5cdFtuZ0NsYXNzXT1cInRvb2x0aXBDbGFzc1wiXG5cdChhbmltYXRpb25lbmQpPVwiX2hhbmRsZUFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcblx0W2NsYXNzLm1kYy10b29sdGlwLS1tdWx0aWxpbmVdPVwiX2lzTXVsdGlsaW5lXCJcbj5cblx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cIl90b29sdGlwSW5zdC50ZW1wbGF0ZVwiPlxuXHRcdDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJfdG9vbHRpcEluc3QudGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuXHQ8L25nLXRlbXBsYXRlPlxuXHQ8ZGl2ICN0b29sdGlwRGl2PjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -307,9 +307,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
307
307
|
* - the button will be disabled by setting the property `disabled` of the `MatButton` instance.
|
|
308
308
|
*/
|
|
309
309
|
class AwaitDirective {
|
|
310
|
-
constructor(_eRef,
|
|
310
|
+
constructor(_eRef, _button, _iconButton, _iconAnchor, _fab, _fabAnchor, _miniFab, _miniFabAnchor, doc, _viewCont) {
|
|
311
311
|
this._eRef = _eRef;
|
|
312
|
-
this.
|
|
312
|
+
this._button = _button;
|
|
313
|
+
this._iconButton = _iconButton;
|
|
314
|
+
this._iconAnchor = _iconAnchor;
|
|
315
|
+
this._fab = _fab;
|
|
316
|
+
this._fabAnchor = _fabAnchor;
|
|
317
|
+
this._miniFab = _miniFab;
|
|
318
|
+
this._miniFabAnchor = _miniFabAnchor;
|
|
313
319
|
this.doc = doc;
|
|
314
320
|
this._viewCont = _viewCont;
|
|
315
321
|
/** The ARIA label to be put on the spinner. The default value is `"In progress"`. */
|
|
@@ -317,11 +323,11 @@ class AwaitDirective {
|
|
|
317
323
|
/** The diameter of the in-progress spinner. The default value is `20`. */
|
|
318
324
|
this.buiAwaitDiameter = 20;
|
|
319
325
|
this._processing = false;
|
|
320
|
-
|
|
321
|
-
|
|
326
|
+
this.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;
|
|
327
|
+
if (!this.button) {
|
|
328
|
+
console.error('[buiAwait] can only be used on a Material button.');
|
|
322
329
|
return;
|
|
323
330
|
}
|
|
324
|
-
this._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);
|
|
325
331
|
}
|
|
326
332
|
/** @ignore */
|
|
327
333
|
ngAfterViewInit() {
|
|
@@ -331,7 +337,7 @@ class AwaitDirective {
|
|
|
331
337
|
this._overlayEl.classList.add('bui-await-overlay');
|
|
332
338
|
this._overlayEl.style.cssText =
|
|
333
339
|
'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';
|
|
334
|
-
this._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label');
|
|
340
|
+
this._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon');
|
|
335
341
|
}
|
|
336
342
|
}
|
|
337
343
|
/** @ignore */
|
|
@@ -346,7 +352,7 @@ class AwaitDirective {
|
|
|
346
352
|
if (this.button) {
|
|
347
353
|
this.button.disabled = this._processing;
|
|
348
354
|
if (this._processing) {
|
|
349
|
-
this._spinnerRef = this._viewCont.createComponent(
|
|
355
|
+
this._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);
|
|
350
356
|
const c = this._spinnerRef.instance;
|
|
351
357
|
c.diameter = this.buiAwaitDiameter;
|
|
352
358
|
c.mode = 'indeterminate';
|
|
@@ -364,7 +370,7 @@ class AwaitDirective {
|
|
|
364
370
|
}
|
|
365
371
|
}
|
|
366
372
|
}
|
|
367
|
-
AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token:
|
|
373
|
+
AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: i1.MatIconButton, optional: true }, { token: i1.MatIconAnchor, optional: true }, { token: i1.MatFabButton, optional: true }, { token: i1.MatFabAnchor, optional: true }, { token: i1.MatMiniFabButton, optional: true }, { token: i1.MatMiniFabAnchor, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
368
374
|
AwaitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 });
|
|
369
375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, decorators: [{
|
|
370
376
|
type: Directive,
|
|
@@ -374,10 +380,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
374
380
|
}], ctorParameters: function () {
|
|
375
381
|
return [{ type: i0.ElementRef }, { type: i1.MatButton, decorators: [{
|
|
376
382
|
type: Optional
|
|
383
|
+
}] }, { type: i1.MatIconButton, decorators: [{
|
|
384
|
+
type: Optional
|
|
385
|
+
}] }, { type: i1.MatIconAnchor, decorators: [{
|
|
386
|
+
type: Optional
|
|
387
|
+
}] }, { type: i1.MatFabButton, decorators: [{
|
|
388
|
+
type: Optional
|
|
389
|
+
}] }, { type: i1.MatFabAnchor, decorators: [{
|
|
390
|
+
type: Optional
|
|
391
|
+
}] }, { type: i1.MatMiniFabButton, decorators: [{
|
|
392
|
+
type: Optional
|
|
393
|
+
}] }, { type: i1.MatMiniFabAnchor, decorators: [{
|
|
394
|
+
type: Optional
|
|
377
395
|
}] }, { type: Document, decorators: [{
|
|
378
396
|
type: Inject,
|
|
379
397
|
args: [DOCUMENT]
|
|
380
|
-
}] }, { type: i0.
|
|
398
|
+
}] }, { type: i0.ViewContainerRef }];
|
|
381
399
|
}, propDecorators: { buiAwait: [{
|
|
382
400
|
type: Input
|
|
383
401
|
}], buiAwaitAriaLabel: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-behavior.mjs","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/await.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n/**\n * Use this directive to designate a target HTML element, based on which the child elements'\n * `[buiSizing]` directives will calculate the sizes.\n *\n * ```html\n * <div [buiSizingMonitor]>\n * <div [buiSizing]=\"...\">\n * </div>\n * <div>\n * <div [buiSizing]=\"...\">\n * </div>\n * </div>\n * <div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizingMonitor]'\n})\nexport class SizingMonitorDirective {\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOptional,\n\tOutput,\n\tSimpleChanges\n} from '@angular/core';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style\n * classes and/or inline styles to the current element dynamically.\n *\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\n *\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\n * that do not implement ResizeObserver API.\n *\n * Examples:\n *\n * ```html\n * <div #parentElement>\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [buiSizingBy]=\"parentElement\"></div>\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [buiSizingBy]=\"'root'\"></div>\n * <div [buiSizing]=\"{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}\" [buiSizingBy]=\"parentElement\"></div>\n * </div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'\n})\nexport class SizingDirective implements OnChanges, OnDestroy {\n\t/**\n\t * @ignore\n\t */\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\n\n\t/**\n\t * Specifies the breakpoint widths and the style classes.\n\t *\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\n\t *\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\n\t */\n\t@Input()\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\n\n\t/**\n\t * The alias of `buiSizingBy`.\n\t * @default 'root'\n\t * @deprecated\n\t * @ignore\n\t */\n\t@Input()\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\n\n\t/**\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\n\t *\n\t * - `root` specifies the document root or the enclosing shadow host. This is the default value.\n\t * - `parent` specifies the parent element.\n\t *\n\t * @default 'root'\n\t * @alias sizingBy\n\t */\n\t@Input()\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\n\t\treturn this.sizingBy;\n\t}\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\n\t\tthis.sizingBy = target;\n\t}\n\n\t/**\n\t * Emits `{width, height}` when the monitor target element resizes.\n\t *\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\n\t */\n\t@Output()\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\n\n\t/**\n\t * Recalculate the height of this element according to the height of the monitored target.\n\t */\n\t@Input()\n\tbuiFixedHeight = false;\n\n\tprivate _monitorTarget: HTMLElement;\n\tprivate _observer: ResizeObserver | undefined;\n\tprivate _sizingSpec: { [key: string]: string } = {};\n\tprivate _width = 0;\n\tprivate _height = 0;\n\tprivate _reflowFrameCount = 0;\n\tprivate _element: HTMLElement;\n\tprivate _debounceTimer: any;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\n\t\telemRef: ElementRef<HTMLElement>,\n\t\tprivate _zone: NgZone\n\t) {\n\t\tthis._element = elemRef.nativeElement;\n\t\tthis._monitorTarget = this._element;\n\t}\n\n\tngOnChanges(_: SimpleChanges): void {\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\n\t\tif (disconnected) {\n\t\t\t// defer shadow detection till dom connection event\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\n\t\t} else {\n\t\t\tthis._initOrReset();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._tearDownNodeMonitor();\n\t}\n\n\tprivate _initOrReset() {\n\t\tconst originalTarget = this._monitorTarget;\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\n\t\t\tthis._monitorTarget = this.buiSizingBy;\n\t\t} else if (this._defaultTarget) {\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\n\t\t} else if (this.buiSizingBy === 'root') {\n\t\t\tconst root = this._element.getRootNode();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\n\t\t\t} else {\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\n\t\t}\n\n\t\tif (this._monitorTarget != originalTarget) {\n\t\t\tthis._setUpNodeMonitor();\n\t\t}\n\n\t\tthis._sizingSpec = {};\n\t\tlet spec = this.buiSizing;\n\t\tif (typeof spec === 'string') {\n\t\t\tspec = spec.split(',').map(k => k.trim());\n\t\t}\n\n\t\tif (Array.isArray(spec)) {\n\t\t\tspec.forEach((c, i) => {\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\n\t\t\t});\n\t\t} else if (spec) {\n\t\t\tthis._sizingSpec = spec;\n\t\t}\n\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\n\n\t\tthis._calculateSize();\n\t}\n\n\tprivate _setUpNodeMonitor() {\n\t\tthis._tearDownNodeMonitor();\n\t\tif (this._monitorTarget) {\n\t\t\tthis._observer = new ResizeObserver(() => this._calculateSizeDebounced());\n\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\n\t\t}\n\t}\n\n\tprivate _tearDownNodeMonitor() {\n\t\tif (this._observer) {\n\t\t\tthis._observer.disconnect();\n\t\t\tthis._observer = undefined;\n\t\t}\n\t}\n\n\tprivate _calculateSizeDebounced() {\n\t\tclearTimeout(this._debounceTimer);\n\t\tthis._debounceTimer = setTimeout(() => this._calculateSize(), 20);\n\t}\n\n\tprivate _calculateSize() {\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\n\t\tif (widthChanged) {\n\t\t\tthis._width = this._monitorTarget.clientWidth;\n\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\n\t\t\tlet found = false;\n\t\t\tfor (const key of bks) {\n\t\t\t\tconst classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);\n\t\t\t\tthis._removeClassesOrStyles(classesOrStyles);\n\t\t\t\tconst expectedWidth = this._toNumber(key);\n\t\t\t\tif (this._width <= expectedWidth && !found) {\n\t\t\t\t\tthis._applyClassesOrStyles(classesOrStyles);\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (widthChanged || heightChanged) {\n\t\t\tthis._height = this._monitorTarget.clientHeight;\n\t\t\tif (this.buiFixedHeight) {\n\t\t\t\tthis._reflowFrameCount = 0;\n\t\t\t\tthis._reflowHeight();\n\t\t\t}\n\t\t\tsetTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));\n\t\t}\n\t}\n\n\tprivate _applyClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop, val] = s.split(':');\n\t\t\t\tthis._element.style.setProperty(prop.trim(), val.trim());\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.add(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _removeClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop] = s.split(':');\n\t\t\t\tthis._element.style.removeProperty(prop);\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.remove(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _reflowHeight() {\n\t\tconst cnt = this._reflowFrameCount;\n\t\tif (cnt < 15) {\n\t\t\trequestAnimationFrame(this._reflowHeight.bind(this));\n\n\t\t\tif (cnt === 0) {\n\t\t\t\tthis._element.style.height = '0';\n\t\t\t} else if (cnt === 14) {\n\t\t\t\tconst gt = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tconst gb = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\n\t\t\t}\n\t\t}\n\t\tthis._reflowFrameCount++;\n\t}\n\n\tprivate _toNumber(s: string) {\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tComponentFactory,\n\tComponentFactoryResolver,\n\tComponentRef,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tInject,\n\tInput,\n\tOptional,\n\tViewContainerRef\n} from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { Subscription } from 'rxjs';\n\n/**\n * Use this directive on a `MatButton` element to provide an alternative view when an sync operation is in progress.\n *\n * For example:\n *\n * ```\n * <button (click)=\"submit();\" [buiAwait]=\"submitSubscription\" buiAwaitAriaLabel=\"submitting\">Submit</button>\n * ```\n *\n * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)\n * for more details of integrating circular spinner component with action buttons.\n *\n * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to\n *\n * - `true`; or\n * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n *\n * When in progress\n *\n * - the button's caption will be hidden;\n * - a `<mat-progress-spinner>` will be displayed in place of the caption;\n * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.\n */\n@Directive({\n\tselector: '[buiAwait]'\n})\nexport class AwaitDirective implements AfterViewInit, DoCheck {\n\t/**\n\t * Indicates the `in progress` status of an async operation.\n\t *\n\t * The operation is considered 'in progress' when the property evaluates to\n\t *\n\t * - `true`; or\n\t * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n\t *\n\t */\n\t@Input()\n\tbuiAwait: null | undefined | boolean | Subscription;\n\n\t/** The ARIA label to be put on the spinner. The default value is `\"In progress\"`. */\n\t@Input()\n\tbuiAwaitAriaLabel = 'In progress';\n\n\t/** The diameter of the in-progress spinner. The default value is `20`. */\n\t@Input()\n\tbuiAwaitDiameter = 20;\n\n\tprivate _overlayEl: HTMLDivElement | undefined;\n\tprivate _processing = false;\n\tprivate _factory: ComponentFactory<MatProgressSpinner> | undefined;\n\tprivate _spinnerRef: ComponentRef<MatProgressSpinner> | undefined;\n\tprivate _captionWrapper: HTMLElement | undefined;\n\n\tconstructor(\n\t\tprivate readonly _eRef: ElementRef<HTMLElement>,\n\t\t@Optional() private readonly button: MatButton,\n\t\t@Inject(DOCUMENT) private readonly doc: Document,\n\t\tfactoryResolver: ComponentFactoryResolver,\n\t\tprivate _viewCont: ViewContainerRef\n\t) {\n\t\tif (!button) {\n\t\t\tconsole.error('[buiAwait] can only be used on a MatButton');\n\t\t\treturn;\n\t\t}\n\t\tthis._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);\n\t}\n\n\t/** @ignore */\n\tngAfterViewInit(): void {\n\t\tif (this.button) {\n\t\t\tthis._overlayEl = this.doc.createElement('div');\n\t\t\tthis._eRef.nativeElement.appendChild(this._overlayEl);\n\t\t\tthis._overlayEl.classList.add('bui-await-overlay');\n\t\t\tthis._overlayEl.style.cssText =\n\t\t\t\t'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';\n\t\t\tthis._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label') as HTMLElement;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngDoCheck(): void {\n\t\tconst inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait!.closed);\n\t\tif (inProgress !== this._processing) {\n\t\t\tthis._processing = inProgress;\n\t\t\tthis._statusChanged();\n\t\t}\n\t}\n\n\tprivate _statusChanged() {\n\t\tif (this.button) {\n\t\t\tthis.button.disabled = this._processing;\n\n\t\t\tif (this._processing) {\n\t\t\t\tthis._spinnerRef = this._viewCont.createComponent(this._factory!);\n\t\t\t\tconst c = this._spinnerRef.instance;\n\t\t\t\tc.diameter = this.buiAwaitDiameter;\n\t\t\t\tc.mode = 'indeterminate';\n\t\t\t\tc.color = this.button.color;\n\t\t\t\tconst e: HTMLElement = this._spinnerRef.location.nativeElement;\n\t\t\t\te.setAttribute('aria-label', this.buiAwaitAriaLabel);\n\t\t\t\tthis._overlayEl!.appendChild(e);\n\t\t\t\tthis._captionWrapper!.style.visibility = 'hidden';\n\t\t\t} else {\n\t\t\t\tthis._captionWrapper!.style.visibility = '';\n\t\t\t\tthis._spinnerRef!.destroy();\n\t\t\t\tthis._overlayEl!.innerHTML = '';\n\t\t\t}\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SizingDirective } from './sizing.directive';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\nimport { AwaitDirective } from './await.directive';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n/**\n * For functionality that cannot be easily achieved via CSS.\n */\n@NgModule({\n\tdeclarations: [SizingDirective, SizingMonitorDirective, AwaitDirective],\n\timports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],\n\texports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule]\n})\nexport class BehaviorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SizingMonitorDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravura-ui-behavior.mjs","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/await.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n/**\n * Use this directive to designate a target HTML element, based on which the child elements'\n * `[buiSizing]` directives will calculate the sizes.\n *\n * ```html\n * <div [buiSizingMonitor]>\n * <div [buiSizing]=\"...\">\n * </div>\n * <div>\n * <div [buiSizing]=\"...\">\n * </div>\n * </div>\n * <div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizingMonitor]'\n})\nexport class SizingMonitorDirective {\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOptional,\n\tOutput,\n\tSimpleChanges\n} from '@angular/core';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style\n * classes and/or inline styles to the current element dynamically.\n *\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\n *\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\n * that do not implement ResizeObserver API.\n *\n * Examples:\n *\n * ```html\n * <div #parentElement>\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [buiSizingBy]=\"parentElement\"></div>\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [buiSizingBy]=\"'root'\"></div>\n * <div [buiSizing]=\"{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}\" [buiSizingBy]=\"parentElement\"></div>\n * </div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'\n})\nexport class SizingDirective implements OnChanges, OnDestroy {\n\t/**\n\t * @ignore\n\t */\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\n\n\t/**\n\t * Specifies the breakpoint widths and the style classes.\n\t *\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\n\t *\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\n\t */\n\t@Input()\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\n\n\t/**\n\t * The alias of `buiSizingBy`.\n\t * @default 'root'\n\t * @deprecated\n\t * @ignore\n\t */\n\t@Input()\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\n\n\t/**\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\n\t *\n\t * - `root` specifies the document root or the enclosing shadow host. This is the default value.\n\t * - `parent` specifies the parent element.\n\t *\n\t * @default 'root'\n\t * @alias sizingBy\n\t */\n\t@Input()\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\n\t\treturn this.sizingBy;\n\t}\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\n\t\tthis.sizingBy = target;\n\t}\n\n\t/**\n\t * Emits `{width, height}` when the monitor target element resizes.\n\t *\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\n\t */\n\t@Output()\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\n\n\t/**\n\t * Recalculate the height of this element according to the height of the monitored target.\n\t */\n\t@Input()\n\tbuiFixedHeight = false;\n\n\tprivate _monitorTarget: HTMLElement;\n\tprivate _observer: ResizeObserver | undefined;\n\tprivate _sizingSpec: { [key: string]: string } = {};\n\tprivate _width = 0;\n\tprivate _height = 0;\n\tprivate _reflowFrameCount = 0;\n\tprivate _element: HTMLElement;\n\tprivate _debounceTimer: any;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\n\t\telemRef: ElementRef<HTMLElement>,\n\t\tprivate _zone: NgZone\n\t) {\n\t\tthis._element = elemRef.nativeElement;\n\t\tthis._monitorTarget = this._element;\n\t}\n\n\tngOnChanges(_: SimpleChanges): void {\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\n\t\tif (disconnected) {\n\t\t\t// defer shadow detection till dom connection event\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\n\t\t} else {\n\t\t\tthis._initOrReset();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._tearDownNodeMonitor();\n\t}\n\n\tprivate _initOrReset() {\n\t\tconst originalTarget = this._monitorTarget;\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\n\t\t\tthis._monitorTarget = this.buiSizingBy;\n\t\t} else if (this._defaultTarget) {\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\n\t\t} else if (this.buiSizingBy === 'root') {\n\t\t\tconst root = this._element.getRootNode();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\n\t\t\t} else {\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\n\t\t}\n\n\t\tif (this._monitorTarget != originalTarget) {\n\t\t\tthis._setUpNodeMonitor();\n\t\t}\n\n\t\tthis._sizingSpec = {};\n\t\tlet spec = this.buiSizing;\n\t\tif (typeof spec === 'string') {\n\t\t\tspec = spec.split(',').map(k => k.trim());\n\t\t}\n\n\t\tif (Array.isArray(spec)) {\n\t\t\tspec.forEach((c, i) => {\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\n\t\t\t});\n\t\t} else if (spec) {\n\t\t\tthis._sizingSpec = spec;\n\t\t}\n\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\n\n\t\tthis._calculateSize();\n\t}\n\n\tprivate _setUpNodeMonitor() {\n\t\tthis._tearDownNodeMonitor();\n\t\tif (this._monitorTarget) {\n\t\t\tthis._observer = new ResizeObserver(() => this._calculateSizeDebounced());\n\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\n\t\t}\n\t}\n\n\tprivate _tearDownNodeMonitor() {\n\t\tif (this._observer) {\n\t\t\tthis._observer.disconnect();\n\t\t\tthis._observer = undefined;\n\t\t}\n\t}\n\n\tprivate _calculateSizeDebounced() {\n\t\tclearTimeout(this._debounceTimer);\n\t\tthis._debounceTimer = setTimeout(() => this._calculateSize(), 20);\n\t}\n\n\tprivate _calculateSize() {\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\n\t\tif (widthChanged) {\n\t\t\tthis._width = this._monitorTarget.clientWidth;\n\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\n\t\t\tlet found = false;\n\t\t\tfor (const key of bks) {\n\t\t\t\tconst classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);\n\t\t\t\tthis._removeClassesOrStyles(classesOrStyles);\n\t\t\t\tconst expectedWidth = this._toNumber(key);\n\t\t\t\tif (this._width <= expectedWidth && !found) {\n\t\t\t\t\tthis._applyClassesOrStyles(classesOrStyles);\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (widthChanged || heightChanged) {\n\t\t\tthis._height = this._monitorTarget.clientHeight;\n\t\t\tif (this.buiFixedHeight) {\n\t\t\t\tthis._reflowFrameCount = 0;\n\t\t\t\tthis._reflowHeight();\n\t\t\t}\n\t\t\tsetTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));\n\t\t}\n\t}\n\n\tprivate _applyClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop, val] = s.split(':');\n\t\t\t\tthis._element.style.setProperty(prop.trim(), val.trim());\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.add(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _removeClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop] = s.split(':');\n\t\t\t\tthis._element.style.removeProperty(prop);\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.remove(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _reflowHeight() {\n\t\tconst cnt = this._reflowFrameCount;\n\t\tif (cnt < 15) {\n\t\t\trequestAnimationFrame(this._reflowHeight.bind(this));\n\n\t\t\tif (cnt === 0) {\n\t\t\t\tthis._element.style.height = '0';\n\t\t\t} else if (cnt === 14) {\n\t\t\t\tconst gt = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tconst gb = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\n\t\t\t}\n\t\t}\n\t\tthis._reflowFrameCount++;\n\t}\n\n\tprivate _toNumber(s: string) {\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tComponentRef,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tHost,\n\tInject,\n\tInput,\n\tOptional,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatButton,\n\tMatFabAnchor,\n\tMatFabButton,\n\tMatIconAnchor,\n\tMatIconButton,\n\tMatMiniFabAnchor,\n\tMatMiniFabButton\n} from '@angular/material/button';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { Subscription } from 'rxjs';\n\n/**\n * Use this directive on a `MatButton` element to provide an alternative view when an sync operation is in progress.\n *\n * For example:\n *\n * ```\n * <button (click)=\"submit();\" [buiAwait]=\"submitSubscription\" buiAwaitAriaLabel=\"submitting\">Submit</button>\n * ```\n *\n * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)\n * for more details of integrating circular spinner component with action buttons.\n *\n * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to\n *\n * - `true`; or\n * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n *\n * When in progress\n *\n * - the button's caption will be hidden;\n * - a `<mat-progress-spinner>` will be displayed in place of the caption;\n * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.\n */\n@Directive({\n\tselector: '[buiAwait]'\n})\nexport class AwaitDirective implements AfterViewInit, DoCheck {\n\t/**\n\t * Indicates the `in progress` status of an async operation.\n\t *\n\t * The operation is considered 'in progress' when the property evaluates to\n\t *\n\t * - `true`; or\n\t * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n\t *\n\t */\n\t@Input()\n\tbuiAwait: null | undefined | boolean | Subscription;\n\n\t/** The ARIA label to be put on the spinner. The default value is `\"In progress\"`. */\n\t@Input()\n\tbuiAwaitAriaLabel = 'In progress';\n\n\t/** The diameter of the in-progress spinner. The default value is `20`. */\n\t@Input()\n\tbuiAwaitDiameter = 20;\n\n\tprivate _overlayEl: HTMLDivElement | undefined;\n\tprivate _processing = false;\n\tprivate _spinnerRef: ComponentRef<MatProgressSpinner> | undefined;\n\tprivate _captionWrapper: HTMLElement | undefined;\n\tprivate button:\n\t\t| MatButton\n\t\t| MatIconButton\n\t\t| MatIconAnchor\n\t\t| MatFabButton\n\t\t| MatFabAnchor\n\t\t| MatMiniFabButton\n\t\t| MatMiniFabAnchor\n\t\t| undefined;\n\n\tconstructor(\n\t\tprivate readonly _eRef: ElementRef<HTMLElement>,\n\t\t@Optional() readonly _button: MatButton,\n\t\t@Optional() readonly _iconButton: MatIconButton,\n\t\t@Optional() readonly _iconAnchor: MatIconAnchor,\n\t\t@Optional() readonly _fab: MatFabButton,\n\t\t@Optional() readonly _fabAnchor: MatFabAnchor,\n\t\t@Optional() readonly _miniFab: MatMiniFabButton,\n\t\t@Optional() readonly _miniFabAnchor: MatMiniFabAnchor,\n\t\t@Inject(DOCUMENT) private readonly doc: Document,\n\t\tprivate _viewCont: ViewContainerRef\n\t) {\n\t\tthis.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;\n\t\tif (!this.button) {\n\t\t\tconsole.error('[buiAwait] can only be used on a Material button.');\n\t\t\treturn;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngAfterViewInit(): void {\n\t\tif (this.button) {\n\t\t\tthis._overlayEl = this.doc.createElement('div');\n\t\t\tthis._eRef.nativeElement.appendChild(this._overlayEl);\n\t\t\tthis._overlayEl.classList.add('bui-await-overlay');\n\t\t\tthis._overlayEl.style.cssText =\n\t\t\t\t'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';\n\t\t\tthis._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon') as HTMLElement;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngDoCheck(): void {\n\t\tconst inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait!.closed);\n\t\tif (inProgress !== this._processing) {\n\t\t\tthis._processing = inProgress;\n\t\t\tthis._statusChanged();\n\t\t}\n\t}\n\n\tprivate _statusChanged() {\n\t\tif (this.button) {\n\t\t\tthis.button.disabled = this._processing;\n\n\t\t\tif (this._processing) {\n\t\t\t\tthis._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);\n\t\t\t\tconst c = this._spinnerRef.instance;\n\t\t\t\tc.diameter = this.buiAwaitDiameter;\n\t\t\t\tc.mode = 'indeterminate';\n\t\t\t\tc.color = this.button.color;\n\t\t\t\tconst e: HTMLElement = this._spinnerRef.location.nativeElement;\n\t\t\t\te.setAttribute('aria-label', this.buiAwaitAriaLabel);\n\t\t\t\tthis._overlayEl!.appendChild(e);\n\t\t\t\tthis._captionWrapper!.style.visibility = 'hidden';\n\t\t\t} else {\n\t\t\t\tthis._captionWrapper!.style.visibility = '';\n\t\t\t\tthis._spinnerRef!.destroy();\n\t\t\t\tthis._overlayEl!.innerHTML = '';\n\t\t\t}\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SizingDirective } from './sizing.directive';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\nimport { AwaitDirective } from './await.directive';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n/**\n * For functionality that cannot be easily achieved via CSS.\n */\n@NgModule({\n\tdeclarations: [SizingDirective, SizingMonitorDirective, AwaitDirective],\n\timports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],\n\texports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule]\n})\nexport class BehaviorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SizingMonitorDirective"],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ class TooltipComponent extends TooltipComponent$1 {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: BUI_TOOLTIP_TEMPLATE_REF }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" }, properties: { "style.zoom": "isVisible() ? 1 : null" }, classAttribute: "bui-tooltip-component bui-host" }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }, { propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
37
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" }, properties: { "style.zoom": "isVisible() ? 1 : null" }, classAttribute: "bui-tooltip-component bui-host" }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }, { propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px;background-color:var(--mdc-plain-tooltip-container-color, #fff);color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{ selector: 'bui-tooltip-component', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [matTooltipAnimations.tooltipState], host: {
|
|
@@ -44,7 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
44
44
|
'[style.zoom]': 'isVisible() ? 1 : null',
|
|
45
45
|
'(mouseleave)': '_handleMouseLeave($event)',
|
|
46
46
|
'aria-hidden': 'true'
|
|
47
|
-
}, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"] }]
|
|
47
|
+
}, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px;background-color:var(--mdc-plain-tooltip-container-color, #fff);color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"] }]
|
|
48
48
|
}], ctorParameters: function () {
|
|
49
49
|
return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
50
50
|
type: Inject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-tooltip.mjs","sources":["../../../projects/ui/tooltip/tooltip.component.ts","../../../projects/ui/tooltip/tooltip.component.html","../../../projects/ui/tooltip/tooltip.directive.ts","../../../projects/ui/tooltip/tooltip.module.ts","../../../projects/ui/tooltip/bravura-ui-tooltip.ts"],"sourcesContent":["import {\n\tANIMATION_MODULE_TYPE,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInject,\n\tInjectionToken,\n\tOptional,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { matTooltipAnimations, TooltipComponent as MatTooltipComponent } from '@angular/material/tooltip';\nimport { getTextWidth } from '@bravura/ui/common';\n\n/**\n * @ignore\n */\ninterface TooltipTemplateContainer {\n\ttemplate?: TemplateRef<any>;\n}\n\n/**\n * @ignore\n */\nexport const BUI_TOOLTIP_TEMPLATE_REF = new InjectionToken<TooltipTemplateContainer>(\n\t'@bravura/ui/tooltip/templateContainer'\n);\n\n@Component({\n\tselector: 'bui-tooltip-component',\n\ttemplateUrl: './tooltip.component.html',\n\tstyleUrls: ['./tooltip.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [matTooltipAnimations.tooltipState],\n\thost: {\n\t\tclass: 'bui-tooltip-component bui-host',\n\t\t// Forces the element to have a layout in IE and Edge. This fixes issues where the element\n\t\t// won't be rendered if the animations are disabled or there is no web animations polyfill.\n\t\t'[style.zoom]': 'isVisible() ? 1 : null',\n\t\t'(mouseleave)': '_handleMouseLeave($event)',\n\t\t'aria-hidden': 'true'\n\t}\n})\nexport class TooltipComponent extends MatTooltipComponent {\n\tprivate _messageCopy = '';\n\n\t@ViewChild('tooltip', { static: true })\n\t_tooltip!: ElementRef<HTMLElement>;\n\n\t@ViewChild('tooltipDiv', { static: true })\n\tprivate tooltipDiv!: ElementRef<HTMLDivElement>;\n\n\tconstructor(\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\t@Inject(BUI_TOOLTIP_TEMPLATE_REF) public _tooltipInst: TooltipTemplateContainer,\n\t\t@Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string\n\t) {\n\t\tsuper(changeDetectorRef, elementRef, animationMode);\n\t}\n\n\tshow(delay: number): void {\n\t\tif (this._messageCopy !== this.message && !this._tooltipInst.template) {\n\t\t\tthis.tooltipDiv.nativeElement.innerHTML = this.message;\n\t\t\tthis._messageCopy = this.message;\n\t\t\tconst width = Math.max(Math.sqrt(getTextWidth(this.message) * 40), 360);\n\t\t\tthis._tooltip.nativeElement.style.maxWidth = `${width}px`;\n\t\t}\n\t\tsuper.show(delay);\n\t}\n}\n\n(TooltipComponent as any).ɵcmp.styles.push(...(MatTooltipComponent as any).ɵcmp.styles);\n","<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n","import { AriaDescriber, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tHostListener,\n\tInject,\n\tInput,\n\tNgZone,\n\tOptional,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatTooltipDefaultOptions,\n\tMAT_TOOLTIP_DEFAULT_OPTIONS,\n\tMAT_TOOLTIP_SCROLL_STRATEGY,\n\tTooltipPosition,\n\t_MatTooltipBase\n} from '@angular/material/tooltip';\nimport { BUI_TOOLTIP_TEMPLATE_REF, TooltipComponent } from './tooltip.component';\n\n/**\n * This directive extends [Angular Material tooltip](https://material.angular.io/components/tooltip/overview), with the additional capability of displaying\n * HTML content in the overlay area.\n *\n * All the other features are identical as those in Angular Material tooltip.\n */\n@Directive({\n\tselector: '[buiTooltip]',\n\texportAs: 'buiTooltip',\n\thost: {\n\t\tclass: 'mat-tooltip-trigger bui-tooltip-trigger'\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: BUI_TOOLTIP_TEMPLATE_REF,\n\t\t\tuseExisting: forwardRef(() => TooltipDirective)\n\t\t}\n\t]\n})\nexport class TooltipDirective extends _MatTooltipBase<TooltipComponent> {\n\tprotected readonly _tooltipComponent = TooltipComponent;\n\tprivate _templateRef?: TemplateRef<any>;\n\n\tconstructor(\n\t\toverlay: Overlay,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\tscrollDispatcher: ScrollDispatcher,\n\t\tviewContainerRef: ViewContainerRef,\n\t\tngZone: NgZone,\n\t\tplatform: Platform,\n\t\tariaDescriber: AriaDescriber,\n\t\tfocusMonitor: FocusMonitor,\n\t\t@Inject(MAT_TOOLTIP_SCROLL_STRATEGY) scrollStrategy: any,\n\t\t@Optional() dir: Directionality,\n\t\t@Optional() @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS) defaultOptions: MatTooltipDefaultOptions,\n\t\t@Inject(DOCUMENT) _document: any\n\t) {\n\t\tsuper(\n\t\t\toverlay,\n\t\t\telementRef,\n\t\t\tscrollDispatcher,\n\t\t\tviewContainerRef,\n\t\t\tngZone,\n\t\t\tplatform,\n\t\t\tariaDescriber,\n\t\t\tfocusMonitor,\n\t\t\tscrollStrategy,\n\t\t\tdir,\n\t\t\tdefaultOptions,\n\t\t\t_document\n\t\t);\n\t\tthis.touchGestures = 'off';\n\t\tconst element = elementRef.nativeElement;\n\t\telement.setAttribute('aria-hidden', 'false');\n\t\tif (element.tabIndex === -1) {\n\t\t\telement.tabIndex = 0;\n\t\t\telement.setAttribute('aria-roledescription', 'tooltip');\n\t\t}\n\t}\n\n\t/** Allows the user to define the position of the tooltip relative to the parent element */\n\t@Input()\n\tget buiTooltipPosition(): TooltipPosition {\n\t\treturn this.position;\n\t}\n\tset buiTooltipPosition(value: TooltipPosition) {\n\t\tthis.position = value;\n\t}\n\n\t/** Disables the display of the tooltip. */\n\t@Input()\n\tget buiTooltipDisabled(): boolean {\n\t\treturn this.disabled;\n\t}\n\tset buiTooltipDisabled(value) {\n\t\tthis.disabled = value;\n\t}\n\n\t/** The message to be displayed in the tooltip. */\n\t@Input()\n\tget buiTooltip(): string | TemplateRef<any> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else {\n\t\t\tthis._templateRef = value;\n\t\t\tif (value) {\n\t\t\t\tthis.message = '[bui-tooltip-template]';\n\t\t\t} else {\n\t\t\t\tthis._templateRef = undefined;\n\t\t\t\tthis.message = '';\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @ignore */\n\tget template(): TemplateRef<any> | undefined {\n\t\treturn this._templateRef;\n\t}\n\n\t/** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n\t@Input()\n\tget buiTooltipClass() {\n\t\treturn this.tooltipClass;\n\t}\n\tset buiTooltipClass(value: string | string[] | Set<string> | { [key: string]: any }) {\n\t\tthis.tooltipClass = value;\n\t}\n\n\t/** @ignore */\n\t@HostListener('click')\n\tclicked() {\n\t\tthis.toggle();\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n\timports: [A11yModule, CommonModule, OverlayModule, MatCommonModule],\n\texports: [TooltipDirective, MatCommonModule, CdkScrollableModule],\n\tdeclarations: [TooltipDirective, TooltipComponent],\n\tproviders: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MatTooltipComponent","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravura-ui-tooltip.mjs","sources":["../../../projects/ui/tooltip/tooltip.component.ts","../../../projects/ui/tooltip/tooltip.component.html","../../../projects/ui/tooltip/tooltip.directive.ts","../../../projects/ui/tooltip/tooltip.module.ts","../../../projects/ui/tooltip/bravura-ui-tooltip.ts"],"sourcesContent":["import {\n\tANIMATION_MODULE_TYPE,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInject,\n\tInjectionToken,\n\tOptional,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { matTooltipAnimations, TooltipComponent as MatTooltipComponent } from '@angular/material/tooltip';\nimport { getTextWidth } from '@bravura/ui/common';\n\n/**\n * @ignore\n */\ninterface TooltipTemplateContainer {\n\ttemplate?: TemplateRef<any>;\n}\n\n/**\n * @ignore\n */\nexport const BUI_TOOLTIP_TEMPLATE_REF = new InjectionToken<TooltipTemplateContainer>(\n\t'@bravura/ui/tooltip/templateContainer'\n);\n\n@Component({\n\tselector: 'bui-tooltip-component',\n\ttemplateUrl: './tooltip.component.html',\n\tstyleUrls: ['./tooltip.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [matTooltipAnimations.tooltipState],\n\thost: {\n\t\tclass: 'bui-tooltip-component bui-host',\n\t\t// Forces the element to have a layout in IE and Edge. This fixes issues where the element\n\t\t// won't be rendered if the animations are disabled or there is no web animations polyfill.\n\t\t'[style.zoom]': 'isVisible() ? 1 : null',\n\t\t'(mouseleave)': '_handleMouseLeave($event)',\n\t\t'aria-hidden': 'true'\n\t}\n})\nexport class TooltipComponent extends MatTooltipComponent {\n\tprivate _messageCopy = '';\n\n\t@ViewChild('tooltip', { static: true })\n\t_tooltip!: ElementRef<HTMLElement>;\n\n\t@ViewChild('tooltipDiv', { static: true })\n\tprivate tooltipDiv!: ElementRef<HTMLDivElement>;\n\n\tconstructor(\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\t@Inject(BUI_TOOLTIP_TEMPLATE_REF) public _tooltipInst: TooltipTemplateContainer,\n\t\t@Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string\n\t) {\n\t\tsuper(changeDetectorRef, elementRef, animationMode);\n\t}\n\n\tshow(delay: number): void {\n\t\tif (this._messageCopy !== this.message && !this._tooltipInst.template) {\n\t\t\tthis.tooltipDiv.nativeElement.innerHTML = this.message;\n\t\t\tthis._messageCopy = this.message;\n\t\t\tconst width = Math.max(Math.sqrt(getTextWidth(this.message) * 40), 360);\n\t\t\tthis._tooltip.nativeElement.style.maxWidth = `${width}px`;\n\t\t}\n\t\tsuper.show(delay);\n\t}\n}\n\n(TooltipComponent as any).ɵcmp.styles.push(...(MatTooltipComponent as any).ɵcmp.styles);\n","<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n","import { AriaDescriber, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tHostListener,\n\tInject,\n\tInput,\n\tNgZone,\n\tOptional,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatTooltipDefaultOptions,\n\tMAT_TOOLTIP_DEFAULT_OPTIONS,\n\tMAT_TOOLTIP_SCROLL_STRATEGY,\n\tTooltipPosition,\n\t_MatTooltipBase\n} from '@angular/material/tooltip';\nimport { BUI_TOOLTIP_TEMPLATE_REF, TooltipComponent } from './tooltip.component';\n\n/**\n * This directive extends [Angular Material tooltip](https://material.angular.io/components/tooltip/overview), with the additional capability of displaying\n * HTML content in the overlay area.\n *\n * All the other features are identical as those in Angular Material tooltip.\n */\n@Directive({\n\tselector: '[buiTooltip]',\n\texportAs: 'buiTooltip',\n\thost: {\n\t\tclass: 'mat-tooltip-trigger bui-tooltip-trigger'\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: BUI_TOOLTIP_TEMPLATE_REF,\n\t\t\tuseExisting: forwardRef(() => TooltipDirective)\n\t\t}\n\t]\n})\nexport class TooltipDirective extends _MatTooltipBase<TooltipComponent> {\n\tprotected readonly _tooltipComponent = TooltipComponent;\n\tprivate _templateRef?: TemplateRef<any>;\n\n\tconstructor(\n\t\toverlay: Overlay,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\tscrollDispatcher: ScrollDispatcher,\n\t\tviewContainerRef: ViewContainerRef,\n\t\tngZone: NgZone,\n\t\tplatform: Platform,\n\t\tariaDescriber: AriaDescriber,\n\t\tfocusMonitor: FocusMonitor,\n\t\t@Inject(MAT_TOOLTIP_SCROLL_STRATEGY) scrollStrategy: any,\n\t\t@Optional() dir: Directionality,\n\t\t@Optional() @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS) defaultOptions: MatTooltipDefaultOptions,\n\t\t@Inject(DOCUMENT) _document: any\n\t) {\n\t\tsuper(\n\t\t\toverlay,\n\t\t\telementRef,\n\t\t\tscrollDispatcher,\n\t\t\tviewContainerRef,\n\t\t\tngZone,\n\t\t\tplatform,\n\t\t\tariaDescriber,\n\t\t\tfocusMonitor,\n\t\t\tscrollStrategy,\n\t\t\tdir,\n\t\t\tdefaultOptions,\n\t\t\t_document\n\t\t);\n\t\tthis.touchGestures = 'off';\n\t\tconst element = elementRef.nativeElement;\n\t\telement.setAttribute('aria-hidden', 'false');\n\t\tif (element.tabIndex === -1) {\n\t\t\telement.tabIndex = 0;\n\t\t\telement.setAttribute('aria-roledescription', 'tooltip');\n\t\t}\n\t}\n\n\t/** Allows the user to define the position of the tooltip relative to the parent element */\n\t@Input()\n\tget buiTooltipPosition(): TooltipPosition {\n\t\treturn this.position;\n\t}\n\tset buiTooltipPosition(value: TooltipPosition) {\n\t\tthis.position = value;\n\t}\n\n\t/** Disables the display of the tooltip. */\n\t@Input()\n\tget buiTooltipDisabled(): boolean {\n\t\treturn this.disabled;\n\t}\n\tset buiTooltipDisabled(value) {\n\t\tthis.disabled = value;\n\t}\n\n\t/** The message to be displayed in the tooltip. */\n\t@Input()\n\tget buiTooltip(): string | TemplateRef<any> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else {\n\t\t\tthis._templateRef = value;\n\t\t\tif (value) {\n\t\t\t\tthis.message = '[bui-tooltip-template]';\n\t\t\t} else {\n\t\t\t\tthis._templateRef = undefined;\n\t\t\t\tthis.message = '';\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @ignore */\n\tget template(): TemplateRef<any> | undefined {\n\t\treturn this._templateRef;\n\t}\n\n\t/** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n\t@Input()\n\tget buiTooltipClass() {\n\t\treturn this.tooltipClass;\n\t}\n\tset buiTooltipClass(value: string | string[] | Set<string> | { [key: string]: any }) {\n\t\tthis.tooltipClass = value;\n\t}\n\n\t/** @ignore */\n\t@HostListener('click')\n\tclicked() {\n\t\tthis.toggle();\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n\timports: [A11yModule, CommonModule, OverlayModule, MatCommonModule],\n\texports: [TooltipDirective, MatCommonModule, CdkScrollableModule],\n\tdeclarations: [TooltipDirective, TooltipComponent],\n\tproviders: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MatTooltipComponent","i1"],"mappings":"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"}
|
|
@@ -305,9 +305,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
305
305
|
* - the button will be disabled by setting the property `disabled` of the `MatButton` instance.
|
|
306
306
|
*/
|
|
307
307
|
class AwaitDirective {
|
|
308
|
-
constructor(_eRef,
|
|
308
|
+
constructor(_eRef, _button, _iconButton, _iconAnchor, _fab, _fabAnchor, _miniFab, _miniFabAnchor, doc, _viewCont) {
|
|
309
309
|
this._eRef = _eRef;
|
|
310
|
-
this.
|
|
310
|
+
this._button = _button;
|
|
311
|
+
this._iconButton = _iconButton;
|
|
312
|
+
this._iconAnchor = _iconAnchor;
|
|
313
|
+
this._fab = _fab;
|
|
314
|
+
this._fabAnchor = _fabAnchor;
|
|
315
|
+
this._miniFab = _miniFab;
|
|
316
|
+
this._miniFabAnchor = _miniFabAnchor;
|
|
311
317
|
this.doc = doc;
|
|
312
318
|
this._viewCont = _viewCont;
|
|
313
319
|
/** The ARIA label to be put on the spinner. The default value is `"In progress"`. */
|
|
@@ -315,11 +321,11 @@ class AwaitDirective {
|
|
|
315
321
|
/** The diameter of the in-progress spinner. The default value is `20`. */
|
|
316
322
|
this.buiAwaitDiameter = 20;
|
|
317
323
|
this._processing = false;
|
|
318
|
-
|
|
319
|
-
|
|
324
|
+
this.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;
|
|
325
|
+
if (!this.button) {
|
|
326
|
+
console.error('[buiAwait] can only be used on a Material button.');
|
|
320
327
|
return;
|
|
321
328
|
}
|
|
322
|
-
this._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);
|
|
323
329
|
}
|
|
324
330
|
/** @ignore */
|
|
325
331
|
ngAfterViewInit() {
|
|
@@ -329,7 +335,7 @@ class AwaitDirective {
|
|
|
329
335
|
this._overlayEl.classList.add('bui-await-overlay');
|
|
330
336
|
this._overlayEl.style.cssText =
|
|
331
337
|
'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';
|
|
332
|
-
this._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label');
|
|
338
|
+
this._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon');
|
|
333
339
|
}
|
|
334
340
|
}
|
|
335
341
|
/** @ignore */
|
|
@@ -344,7 +350,7 @@ class AwaitDirective {
|
|
|
344
350
|
if (this.button) {
|
|
345
351
|
this.button.disabled = this._processing;
|
|
346
352
|
if (this._processing) {
|
|
347
|
-
this._spinnerRef = this._viewCont.createComponent(
|
|
353
|
+
this._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);
|
|
348
354
|
const c = this._spinnerRef.instance;
|
|
349
355
|
c.diameter = this.buiAwaitDiameter;
|
|
350
356
|
c.mode = 'indeterminate';
|
|
@@ -362,7 +368,7 @@ class AwaitDirective {
|
|
|
362
368
|
}
|
|
363
369
|
}
|
|
364
370
|
}
|
|
365
|
-
AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token:
|
|
371
|
+
AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: i1.MatIconButton, optional: true }, { token: i1.MatIconAnchor, optional: true }, { token: i1.MatFabButton, optional: true }, { token: i1.MatFabAnchor, optional: true }, { token: i1.MatMiniFabButton, optional: true }, { token: i1.MatMiniFabAnchor, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
366
372
|
AwaitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 });
|
|
367
373
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AwaitDirective, decorators: [{
|
|
368
374
|
type: Directive,
|
|
@@ -371,10 +377,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
371
377
|
}]
|
|
372
378
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatButton, decorators: [{
|
|
373
379
|
type: Optional
|
|
380
|
+
}] }, { type: i1.MatIconButton, decorators: [{
|
|
381
|
+
type: Optional
|
|
382
|
+
}] }, { type: i1.MatIconAnchor, decorators: [{
|
|
383
|
+
type: Optional
|
|
384
|
+
}] }, { type: i1.MatFabButton, decorators: [{
|
|
385
|
+
type: Optional
|
|
386
|
+
}] }, { type: i1.MatFabAnchor, decorators: [{
|
|
387
|
+
type: Optional
|
|
388
|
+
}] }, { type: i1.MatMiniFabButton, decorators: [{
|
|
389
|
+
type: Optional
|
|
390
|
+
}] }, { type: i1.MatMiniFabAnchor, decorators: [{
|
|
391
|
+
type: Optional
|
|
374
392
|
}] }, { type: Document, decorators: [{
|
|
375
393
|
type: Inject,
|
|
376
394
|
args: [DOCUMENT]
|
|
377
|
-
}] }, { type: i0.
|
|
395
|
+
}] }, { type: i0.ViewContainerRef }]; }, propDecorators: { buiAwait: [{
|
|
378
396
|
type: Input
|
|
379
397
|
}], buiAwaitAriaLabel: [{
|
|
380
398
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-behavior.mjs","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/await.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n/**\n * Use this directive to designate a target HTML element, based on which the child elements'\n * `[buiSizing]` directives will calculate the sizes.\n *\n * ```html\n * <div [buiSizingMonitor]>\n * <div [buiSizing]=\"...\">\n * </div>\n * <div>\n * <div [buiSizing]=\"...\">\n * </div>\n * </div>\n * <div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizingMonitor]'\n})\nexport class SizingMonitorDirective {\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOptional,\n\tOutput,\n\tSimpleChanges\n} from '@angular/core';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style\n * classes and/or inline styles to the current element dynamically.\n *\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\n *\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\n * that do not implement ResizeObserver API.\n *\n * Examples:\n *\n * ```html\n * <div #parentElement>\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [buiSizingBy]=\"parentElement\"></div>\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [buiSizingBy]=\"'root'\"></div>\n * <div [buiSizing]=\"{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}\" [buiSizingBy]=\"parentElement\"></div>\n * </div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'\n})\nexport class SizingDirective implements OnChanges, OnDestroy {\n\t/**\n\t * @ignore\n\t */\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\n\n\t/**\n\t * Specifies the breakpoint widths and the style classes.\n\t *\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\n\t *\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\n\t */\n\t@Input()\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\n\n\t/**\n\t * The alias of `buiSizingBy`.\n\t * @default 'root'\n\t * @deprecated\n\t * @ignore\n\t */\n\t@Input()\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\n\n\t/**\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\n\t *\n\t * - `root` specifies the document root or the enclosing shadow host. This is the default value.\n\t * - `parent` specifies the parent element.\n\t *\n\t * @default 'root'\n\t * @alias sizingBy\n\t */\n\t@Input()\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\n\t\treturn this.sizingBy;\n\t}\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\n\t\tthis.sizingBy = target;\n\t}\n\n\t/**\n\t * Emits `{width, height}` when the monitor target element resizes.\n\t *\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\n\t */\n\t@Output()\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\n\n\t/**\n\t * Recalculate the height of this element according to the height of the monitored target.\n\t */\n\t@Input()\n\tbuiFixedHeight = false;\n\n\tprivate _monitorTarget: HTMLElement;\n\tprivate _observer: ResizeObserver | undefined;\n\tprivate _sizingSpec: { [key: string]: string } = {};\n\tprivate _width = 0;\n\tprivate _height = 0;\n\tprivate _reflowFrameCount = 0;\n\tprivate _element: HTMLElement;\n\tprivate _debounceTimer: any;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\n\t\telemRef: ElementRef<HTMLElement>,\n\t\tprivate _zone: NgZone\n\t) {\n\t\tthis._element = elemRef.nativeElement;\n\t\tthis._monitorTarget = this._element;\n\t}\n\n\tngOnChanges(_: SimpleChanges): void {\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\n\t\tif (disconnected) {\n\t\t\t// defer shadow detection till dom connection event\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\n\t\t} else {\n\t\t\tthis._initOrReset();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._tearDownNodeMonitor();\n\t}\n\n\tprivate _initOrReset() {\n\t\tconst originalTarget = this._monitorTarget;\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\n\t\t\tthis._monitorTarget = this.buiSizingBy;\n\t\t} else if (this._defaultTarget) {\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\n\t\t} else if (this.buiSizingBy === 'root') {\n\t\t\tconst root = this._element.getRootNode();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\n\t\t\t} else {\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\n\t\t}\n\n\t\tif (this._monitorTarget != originalTarget) {\n\t\t\tthis._setUpNodeMonitor();\n\t\t}\n\n\t\tthis._sizingSpec = {};\n\t\tlet spec = this.buiSizing;\n\t\tif (typeof spec === 'string') {\n\t\t\tspec = spec.split(',').map(k => k.trim());\n\t\t}\n\n\t\tif (Array.isArray(spec)) {\n\t\t\tspec.forEach((c, i) => {\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\n\t\t\t});\n\t\t} else if (spec) {\n\t\t\tthis._sizingSpec = spec;\n\t\t}\n\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\n\n\t\tthis._calculateSize();\n\t}\n\n\tprivate _setUpNodeMonitor() {\n\t\tthis._tearDownNodeMonitor();\n\t\tif (this._monitorTarget) {\n\t\t\tthis._observer = new ResizeObserver(() => this._calculateSizeDebounced());\n\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\n\t\t}\n\t}\n\n\tprivate _tearDownNodeMonitor() {\n\t\tif (this._observer) {\n\t\t\tthis._observer.disconnect();\n\t\t\tthis._observer = undefined;\n\t\t}\n\t}\n\n\tprivate _calculateSizeDebounced() {\n\t\tclearTimeout(this._debounceTimer);\n\t\tthis._debounceTimer = setTimeout(() => this._calculateSize(), 20);\n\t}\n\n\tprivate _calculateSize() {\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\n\t\tif (widthChanged) {\n\t\t\tthis._width = this._monitorTarget.clientWidth;\n\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\n\t\t\tlet found = false;\n\t\t\tfor (const key of bks) {\n\t\t\t\tconst classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);\n\t\t\t\tthis._removeClassesOrStyles(classesOrStyles);\n\t\t\t\tconst expectedWidth = this._toNumber(key);\n\t\t\t\tif (this._width <= expectedWidth && !found) {\n\t\t\t\t\tthis._applyClassesOrStyles(classesOrStyles);\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (widthChanged || heightChanged) {\n\t\t\tthis._height = this._monitorTarget.clientHeight;\n\t\t\tif (this.buiFixedHeight) {\n\t\t\t\tthis._reflowFrameCount = 0;\n\t\t\t\tthis._reflowHeight();\n\t\t\t}\n\t\t\tsetTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));\n\t\t}\n\t}\n\n\tprivate _applyClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop, val] = s.split(':');\n\t\t\t\tthis._element.style.setProperty(prop.trim(), val.trim());\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.add(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _removeClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop] = s.split(':');\n\t\t\t\tthis._element.style.removeProperty(prop);\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.remove(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _reflowHeight() {\n\t\tconst cnt = this._reflowFrameCount;\n\t\tif (cnt < 15) {\n\t\t\trequestAnimationFrame(this._reflowHeight.bind(this));\n\n\t\t\tif (cnt === 0) {\n\t\t\t\tthis._element.style.height = '0';\n\t\t\t} else if (cnt === 14) {\n\t\t\t\tconst gt = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tconst gb = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\n\t\t\t}\n\t\t}\n\t\tthis._reflowFrameCount++;\n\t}\n\n\tprivate _toNumber(s: string) {\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tComponentFactory,\n\tComponentFactoryResolver,\n\tComponentRef,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tInject,\n\tInput,\n\tOptional,\n\tViewContainerRef\n} from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { Subscription } from 'rxjs';\n\n/**\n * Use this directive on a `MatButton` element to provide an alternative view when an sync operation is in progress.\n *\n * For example:\n *\n * ```\n * <button (click)=\"submit();\" [buiAwait]=\"submitSubscription\" buiAwaitAriaLabel=\"submitting\">Submit</button>\n * ```\n *\n * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)\n * for more details of integrating circular spinner component with action buttons.\n *\n * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to\n *\n * - `true`; or\n * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n *\n * When in progress\n *\n * - the button's caption will be hidden;\n * - a `<mat-progress-spinner>` will be displayed in place of the caption;\n * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.\n */\n@Directive({\n\tselector: '[buiAwait]'\n})\nexport class AwaitDirective implements AfterViewInit, DoCheck {\n\t/**\n\t * Indicates the `in progress` status of an async operation.\n\t *\n\t * The operation is considered 'in progress' when the property evaluates to\n\t *\n\t * - `true`; or\n\t * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n\t *\n\t */\n\t@Input()\n\tbuiAwait: null | undefined | boolean | Subscription;\n\n\t/** The ARIA label to be put on the spinner. The default value is `\"In progress\"`. */\n\t@Input()\n\tbuiAwaitAriaLabel = 'In progress';\n\n\t/** The diameter of the in-progress spinner. The default value is `20`. */\n\t@Input()\n\tbuiAwaitDiameter = 20;\n\n\tprivate _overlayEl: HTMLDivElement | undefined;\n\tprivate _processing = false;\n\tprivate _factory: ComponentFactory<MatProgressSpinner> | undefined;\n\tprivate _spinnerRef: ComponentRef<MatProgressSpinner> | undefined;\n\tprivate _captionWrapper: HTMLElement | undefined;\n\n\tconstructor(\n\t\tprivate readonly _eRef: ElementRef<HTMLElement>,\n\t\t@Optional() private readonly button: MatButton,\n\t\t@Inject(DOCUMENT) private readonly doc: Document,\n\t\tfactoryResolver: ComponentFactoryResolver,\n\t\tprivate _viewCont: ViewContainerRef\n\t) {\n\t\tif (!button) {\n\t\t\tconsole.error('[buiAwait] can only be used on a MatButton');\n\t\t\treturn;\n\t\t}\n\t\tthis._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);\n\t}\n\n\t/** @ignore */\n\tngAfterViewInit(): void {\n\t\tif (this.button) {\n\t\t\tthis._overlayEl = this.doc.createElement('div');\n\t\t\tthis._eRef.nativeElement.appendChild(this._overlayEl);\n\t\t\tthis._overlayEl.classList.add('bui-await-overlay');\n\t\t\tthis._overlayEl.style.cssText =\n\t\t\t\t'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';\n\t\t\tthis._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label') as HTMLElement;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngDoCheck(): void {\n\t\tconst inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait!.closed);\n\t\tif (inProgress !== this._processing) {\n\t\t\tthis._processing = inProgress;\n\t\t\tthis._statusChanged();\n\t\t}\n\t}\n\n\tprivate _statusChanged() {\n\t\tif (this.button) {\n\t\t\tthis.button.disabled = this._processing;\n\n\t\t\tif (this._processing) {\n\t\t\t\tthis._spinnerRef = this._viewCont.createComponent(this._factory!);\n\t\t\t\tconst c = this._spinnerRef.instance;\n\t\t\t\tc.diameter = this.buiAwaitDiameter;\n\t\t\t\tc.mode = 'indeterminate';\n\t\t\t\tc.color = this.button.color;\n\t\t\t\tconst e: HTMLElement = this._spinnerRef.location.nativeElement;\n\t\t\t\te.setAttribute('aria-label', this.buiAwaitAriaLabel);\n\t\t\t\tthis._overlayEl!.appendChild(e);\n\t\t\t\tthis._captionWrapper!.style.visibility = 'hidden';\n\t\t\t} else {\n\t\t\t\tthis._captionWrapper!.style.visibility = '';\n\t\t\t\tthis._spinnerRef!.destroy();\n\t\t\t\tthis._overlayEl!.innerHTML = '';\n\t\t\t}\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SizingDirective } from './sizing.directive';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\nimport { AwaitDirective } from './await.directive';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n/**\n * For functionality that cannot be easily achieved via CSS.\n */\n@NgModule({\n\tdeclarations: [SizingDirective, SizingMonitorDirective, AwaitDirective],\n\timports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],\n\texports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule]\n})\nexport class BehaviorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SizingMonitorDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravura-ui-behavior.mjs","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/await.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n/**\n * Use this directive to designate a target HTML element, based on which the child elements'\n * `[buiSizing]` directives will calculate the sizes.\n *\n * ```html\n * <div [buiSizingMonitor]>\n * <div [buiSizing]=\"...\">\n * </div>\n * <div>\n * <div [buiSizing]=\"...\">\n * </div>\n * </div>\n * <div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizingMonitor]'\n})\nexport class SizingMonitorDirective {\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOptional,\n\tOutput,\n\tSimpleChanges\n} from '@angular/core';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style\n * classes and/or inline styles to the current element dynamically.\n *\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\n *\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\n * that do not implement ResizeObserver API.\n *\n * Examples:\n *\n * ```html\n * <div #parentElement>\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [buiSizingBy]=\"parentElement\"></div>\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [buiSizingBy]=\"'root'\"></div>\n * <div [buiSizing]=\"{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}\" [buiSizingBy]=\"parentElement\"></div>\n * </div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'\n})\nexport class SizingDirective implements OnChanges, OnDestroy {\n\t/**\n\t * @ignore\n\t */\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\n\n\t/**\n\t * Specifies the breakpoint widths and the style classes.\n\t *\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\n\t *\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\n\t */\n\t@Input()\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\n\n\t/**\n\t * The alias of `buiSizingBy`.\n\t * @default 'root'\n\t * @deprecated\n\t * @ignore\n\t */\n\t@Input()\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\n\n\t/**\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\n\t *\n\t * - `root` specifies the document root or the enclosing shadow host. This is the default value.\n\t * - `parent` specifies the parent element.\n\t *\n\t * @default 'root'\n\t * @alias sizingBy\n\t */\n\t@Input()\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\n\t\treturn this.sizingBy;\n\t}\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\n\t\tthis.sizingBy = target;\n\t}\n\n\t/**\n\t * Emits `{width, height}` when the monitor target element resizes.\n\t *\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\n\t */\n\t@Output()\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\n\n\t/**\n\t * Recalculate the height of this element according to the height of the monitored target.\n\t */\n\t@Input()\n\tbuiFixedHeight = false;\n\n\tprivate _monitorTarget: HTMLElement;\n\tprivate _observer: ResizeObserver | undefined;\n\tprivate _sizingSpec: { [key: string]: string } = {};\n\tprivate _width = 0;\n\tprivate _height = 0;\n\tprivate _reflowFrameCount = 0;\n\tprivate _element: HTMLElement;\n\tprivate _debounceTimer: any;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\n\t\telemRef: ElementRef<HTMLElement>,\n\t\tprivate _zone: NgZone\n\t) {\n\t\tthis._element = elemRef.nativeElement;\n\t\tthis._monitorTarget = this._element;\n\t}\n\n\tngOnChanges(_: SimpleChanges): void {\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\n\t\tif (disconnected) {\n\t\t\t// defer shadow detection till dom connection event\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\n\t\t} else {\n\t\t\tthis._initOrReset();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._tearDownNodeMonitor();\n\t}\n\n\tprivate _initOrReset() {\n\t\tconst originalTarget = this._monitorTarget;\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\n\t\t\tthis._monitorTarget = this.buiSizingBy;\n\t\t} else if (this._defaultTarget) {\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\n\t\t} else if (this.buiSizingBy === 'root') {\n\t\t\tconst root = this._element.getRootNode();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\n\t\t\t} else {\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\n\t\t}\n\n\t\tif (this._monitorTarget != originalTarget) {\n\t\t\tthis._setUpNodeMonitor();\n\t\t}\n\n\t\tthis._sizingSpec = {};\n\t\tlet spec = this.buiSizing;\n\t\tif (typeof spec === 'string') {\n\t\t\tspec = spec.split(',').map(k => k.trim());\n\t\t}\n\n\t\tif (Array.isArray(spec)) {\n\t\t\tspec.forEach((c, i) => {\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\n\t\t\t});\n\t\t} else if (spec) {\n\t\t\tthis._sizingSpec = spec;\n\t\t}\n\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\n\n\t\tthis._calculateSize();\n\t}\n\n\tprivate _setUpNodeMonitor() {\n\t\tthis._tearDownNodeMonitor();\n\t\tif (this._monitorTarget) {\n\t\t\tthis._observer = new ResizeObserver(() => this._calculateSizeDebounced());\n\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\n\t\t}\n\t}\n\n\tprivate _tearDownNodeMonitor() {\n\t\tif (this._observer) {\n\t\t\tthis._observer.disconnect();\n\t\t\tthis._observer = undefined;\n\t\t}\n\t}\n\n\tprivate _calculateSizeDebounced() {\n\t\tclearTimeout(this._debounceTimer);\n\t\tthis._debounceTimer = setTimeout(() => this._calculateSize(), 20);\n\t}\n\n\tprivate _calculateSize() {\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\n\t\tif (widthChanged) {\n\t\t\tthis._width = this._monitorTarget.clientWidth;\n\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\n\t\t\tlet found = false;\n\t\t\tfor (const key of bks) {\n\t\t\t\tconst classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);\n\t\t\t\tthis._removeClassesOrStyles(classesOrStyles);\n\t\t\t\tconst expectedWidth = this._toNumber(key);\n\t\t\t\tif (this._width <= expectedWidth && !found) {\n\t\t\t\t\tthis._applyClassesOrStyles(classesOrStyles);\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (widthChanged || heightChanged) {\n\t\t\tthis._height = this._monitorTarget.clientHeight;\n\t\t\tif (this.buiFixedHeight) {\n\t\t\t\tthis._reflowFrameCount = 0;\n\t\t\t\tthis._reflowHeight();\n\t\t\t}\n\t\t\tsetTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));\n\t\t}\n\t}\n\n\tprivate _applyClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop, val] = s.split(':');\n\t\t\t\tthis._element.style.setProperty(prop.trim(), val.trim());\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.add(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _removeClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop] = s.split(':');\n\t\t\t\tthis._element.style.removeProperty(prop);\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.remove(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _reflowHeight() {\n\t\tconst cnt = this._reflowFrameCount;\n\t\tif (cnt < 15) {\n\t\t\trequestAnimationFrame(this._reflowHeight.bind(this));\n\n\t\t\tif (cnt === 0) {\n\t\t\t\tthis._element.style.height = '0';\n\t\t\t} else if (cnt === 14) {\n\t\t\t\tconst gt = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tconst gb = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\n\t\t\t}\n\t\t}\n\t\tthis._reflowFrameCount++;\n\t}\n\n\tprivate _toNumber(s: string) {\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tComponentRef,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tHost,\n\tInject,\n\tInput,\n\tOptional,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatButton,\n\tMatFabAnchor,\n\tMatFabButton,\n\tMatIconAnchor,\n\tMatIconButton,\n\tMatMiniFabAnchor,\n\tMatMiniFabButton\n} from '@angular/material/button';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { Subscription } from 'rxjs';\n\n/**\n * Use this directive on a `MatButton` element to provide an alternative view when an sync operation is in progress.\n *\n * For example:\n *\n * ```\n * <button (click)=\"submit();\" [buiAwait]=\"submitSubscription\" buiAwaitAriaLabel=\"submitting\">Submit</button>\n * ```\n *\n * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)\n * for more details of integrating circular spinner component with action buttons.\n *\n * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to\n *\n * - `true`; or\n * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n *\n * When in progress\n *\n * - the button's caption will be hidden;\n * - a `<mat-progress-spinner>` will be displayed in place of the caption;\n * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.\n */\n@Directive({\n\tselector: '[buiAwait]'\n})\nexport class AwaitDirective implements AfterViewInit, DoCheck {\n\t/**\n\t * Indicates the `in progress` status of an async operation.\n\t *\n\t * The operation is considered 'in progress' when the property evaluates to\n\t *\n\t * - `true`; or\n\t * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n\t *\n\t */\n\t@Input()\n\tbuiAwait: null | undefined | boolean | Subscription;\n\n\t/** The ARIA label to be put on the spinner. The default value is `\"In progress\"`. */\n\t@Input()\n\tbuiAwaitAriaLabel = 'In progress';\n\n\t/** The diameter of the in-progress spinner. The default value is `20`. */\n\t@Input()\n\tbuiAwaitDiameter = 20;\n\n\tprivate _overlayEl: HTMLDivElement | undefined;\n\tprivate _processing = false;\n\tprivate _spinnerRef: ComponentRef<MatProgressSpinner> | undefined;\n\tprivate _captionWrapper: HTMLElement | undefined;\n\tprivate button:\n\t\t| MatButton\n\t\t| MatIconButton\n\t\t| MatIconAnchor\n\t\t| MatFabButton\n\t\t| MatFabAnchor\n\t\t| MatMiniFabButton\n\t\t| MatMiniFabAnchor\n\t\t| undefined;\n\n\tconstructor(\n\t\tprivate readonly _eRef: ElementRef<HTMLElement>,\n\t\t@Optional() readonly _button: MatButton,\n\t\t@Optional() readonly _iconButton: MatIconButton,\n\t\t@Optional() readonly _iconAnchor: MatIconAnchor,\n\t\t@Optional() readonly _fab: MatFabButton,\n\t\t@Optional() readonly _fabAnchor: MatFabAnchor,\n\t\t@Optional() readonly _miniFab: MatMiniFabButton,\n\t\t@Optional() readonly _miniFabAnchor: MatMiniFabAnchor,\n\t\t@Inject(DOCUMENT) private readonly doc: Document,\n\t\tprivate _viewCont: ViewContainerRef\n\t) {\n\t\tthis.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;\n\t\tif (!this.button) {\n\t\t\tconsole.error('[buiAwait] can only be used on a Material button.');\n\t\t\treturn;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngAfterViewInit(): void {\n\t\tif (this.button) {\n\t\t\tthis._overlayEl = this.doc.createElement('div');\n\t\t\tthis._eRef.nativeElement.appendChild(this._overlayEl);\n\t\t\tthis._overlayEl.classList.add('bui-await-overlay');\n\t\t\tthis._overlayEl.style.cssText =\n\t\t\t\t'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';\n\t\t\tthis._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon') as HTMLElement;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngDoCheck(): void {\n\t\tconst inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait!.closed);\n\t\tif (inProgress !== this._processing) {\n\t\t\tthis._processing = inProgress;\n\t\t\tthis._statusChanged();\n\t\t}\n\t}\n\n\tprivate _statusChanged() {\n\t\tif (this.button) {\n\t\t\tthis.button.disabled = this._processing;\n\n\t\t\tif (this._processing) {\n\t\t\t\tthis._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);\n\t\t\t\tconst c = this._spinnerRef.instance;\n\t\t\t\tc.diameter = this.buiAwaitDiameter;\n\t\t\t\tc.mode = 'indeterminate';\n\t\t\t\tc.color = this.button.color;\n\t\t\t\tconst e: HTMLElement = this._spinnerRef.location.nativeElement;\n\t\t\t\te.setAttribute('aria-label', this.buiAwaitAriaLabel);\n\t\t\t\tthis._overlayEl!.appendChild(e);\n\t\t\t\tthis._captionWrapper!.style.visibility = 'hidden';\n\t\t\t} else {\n\t\t\t\tthis._captionWrapper!.style.visibility = '';\n\t\t\t\tthis._spinnerRef!.destroy();\n\t\t\t\tthis._overlayEl!.innerHTML = '';\n\t\t\t}\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SizingDirective } from './sizing.directive';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\nimport { AwaitDirective } from './await.directive';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n/**\n * For functionality that cannot be easily achieved via CSS.\n */\n@NgModule({\n\tdeclarations: [SizingDirective, SizingMonitorDirective, AwaitDirective],\n\timports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],\n\texports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule]\n})\nexport class BehaviorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SizingMonitorDirective"],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ class TooltipComponent extends TooltipComponent$1 {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: BUI_TOOLTIP_TEMPLATE_REF }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" }, properties: { "style.zoom": "isVisible() ? 1 : null" }, classAttribute: "bui-tooltip-component bui-host" }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }, { propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
37
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" }, properties: { "style.zoom": "isVisible() ? 1 : null" }, classAttribute: "bui-tooltip-component bui-host" }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }, { propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px;background-color:var(--mdc-plain-tooltip-container-color, #fff);color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{ selector: 'bui-tooltip-component', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [matTooltipAnimations.tooltipState], host: {
|
|
@@ -44,7 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
44
44
|
'[style.zoom]': 'isVisible() ? 1 : null',
|
|
45
45
|
'(mouseleave)': '_handleMouseLeave($event)',
|
|
46
46
|
'aria-hidden': 'true'
|
|
47
|
-
}, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"] }]
|
|
47
|
+
}, template: "<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-size: inherit;padding:8px;border-radius:4px;background-color:var(--mdc-plain-tooltip-container-color, #fff);color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-400{max-width:400px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-500{max-width:500px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-600{max-width:600px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-700{max-width:700px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-800{max-width:800px!important}.bui-tooltip.mat-mdc-tooltip.bui-tooltip-900{max-width:900px!important}\n"] }]
|
|
48
48
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
49
49
|
type: Inject,
|
|
50
50
|
args: [BUI_TOOLTIP_TEMPLATE_REF]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravura-ui-tooltip.mjs","sources":["../../../projects/ui/tooltip/tooltip.component.ts","../../../projects/ui/tooltip/tooltip.component.html","../../../projects/ui/tooltip/tooltip.directive.ts","../../../projects/ui/tooltip/tooltip.module.ts","../../../projects/ui/tooltip/bravura-ui-tooltip.ts"],"sourcesContent":["import {\n\tANIMATION_MODULE_TYPE,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInject,\n\tInjectionToken,\n\tOptional,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { matTooltipAnimations, TooltipComponent as MatTooltipComponent } from '@angular/material/tooltip';\nimport { getTextWidth } from '@bravura/ui/common';\n\n/**\n * @ignore\n */\ninterface TooltipTemplateContainer {\n\ttemplate?: TemplateRef<any>;\n}\n\n/**\n * @ignore\n */\nexport const BUI_TOOLTIP_TEMPLATE_REF = new InjectionToken<TooltipTemplateContainer>(\n\t'@bravura/ui/tooltip/templateContainer'\n);\n\n@Component({\n\tselector: 'bui-tooltip-component',\n\ttemplateUrl: './tooltip.component.html',\n\tstyleUrls: ['./tooltip.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [matTooltipAnimations.tooltipState],\n\thost: {\n\t\tclass: 'bui-tooltip-component bui-host',\n\t\t// Forces the element to have a layout in IE and Edge. This fixes issues where the element\n\t\t// won't be rendered if the animations are disabled or there is no web animations polyfill.\n\t\t'[style.zoom]': 'isVisible() ? 1 : null',\n\t\t'(mouseleave)': '_handleMouseLeave($event)',\n\t\t'aria-hidden': 'true'\n\t}\n})\nexport class TooltipComponent extends MatTooltipComponent {\n\tprivate _messageCopy = '';\n\n\t@ViewChild('tooltip', { static: true })\n\t_tooltip!: ElementRef<HTMLElement>;\n\n\t@ViewChild('tooltipDiv', { static: true })\n\tprivate tooltipDiv!: ElementRef<HTMLDivElement>;\n\n\tconstructor(\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\t@Inject(BUI_TOOLTIP_TEMPLATE_REF) public _tooltipInst: TooltipTemplateContainer,\n\t\t@Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string\n\t) {\n\t\tsuper(changeDetectorRef, elementRef, animationMode);\n\t}\n\n\tshow(delay: number): void {\n\t\tif (this._messageCopy !== this.message && !this._tooltipInst.template) {\n\t\t\tthis.tooltipDiv.nativeElement.innerHTML = this.message;\n\t\t\tthis._messageCopy = this.message;\n\t\t\tconst width = Math.max(Math.sqrt(getTextWidth(this.message) * 40), 360);\n\t\t\tthis._tooltip.nativeElement.style.maxWidth = `${width}px`;\n\t\t}\n\t\tsuper.show(delay);\n\t}\n}\n\n(TooltipComponent as any).ɵcmp.styles.push(...(MatTooltipComponent as any).ɵcmp.styles);\n","<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n","import { AriaDescriber, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tHostListener,\n\tInject,\n\tInput,\n\tNgZone,\n\tOptional,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatTooltipDefaultOptions,\n\tMAT_TOOLTIP_DEFAULT_OPTIONS,\n\tMAT_TOOLTIP_SCROLL_STRATEGY,\n\tTooltipPosition,\n\t_MatTooltipBase\n} from '@angular/material/tooltip';\nimport { BUI_TOOLTIP_TEMPLATE_REF, TooltipComponent } from './tooltip.component';\n\n/**\n * This directive extends [Angular Material tooltip](https://material.angular.io/components/tooltip/overview), with the additional capability of displaying\n * HTML content in the overlay area.\n *\n * All the other features are identical as those in Angular Material tooltip.\n */\n@Directive({\n\tselector: '[buiTooltip]',\n\texportAs: 'buiTooltip',\n\thost: {\n\t\tclass: 'mat-tooltip-trigger bui-tooltip-trigger'\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: BUI_TOOLTIP_TEMPLATE_REF,\n\t\t\tuseExisting: forwardRef(() => TooltipDirective)\n\t\t}\n\t]\n})\nexport class TooltipDirective extends _MatTooltipBase<TooltipComponent> {\n\tprotected readonly _tooltipComponent = TooltipComponent;\n\tprivate _templateRef?: TemplateRef<any>;\n\n\tconstructor(\n\t\toverlay: Overlay,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\tscrollDispatcher: ScrollDispatcher,\n\t\tviewContainerRef: ViewContainerRef,\n\t\tngZone: NgZone,\n\t\tplatform: Platform,\n\t\tariaDescriber: AriaDescriber,\n\t\tfocusMonitor: FocusMonitor,\n\t\t@Inject(MAT_TOOLTIP_SCROLL_STRATEGY) scrollStrategy: any,\n\t\t@Optional() dir: Directionality,\n\t\t@Optional() @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS) defaultOptions: MatTooltipDefaultOptions,\n\t\t@Inject(DOCUMENT) _document: any\n\t) {\n\t\tsuper(\n\t\t\toverlay,\n\t\t\telementRef,\n\t\t\tscrollDispatcher,\n\t\t\tviewContainerRef,\n\t\t\tngZone,\n\t\t\tplatform,\n\t\t\tariaDescriber,\n\t\t\tfocusMonitor,\n\t\t\tscrollStrategy,\n\t\t\tdir,\n\t\t\tdefaultOptions,\n\t\t\t_document\n\t\t);\n\t\tthis.touchGestures = 'off';\n\t\tconst element = elementRef.nativeElement;\n\t\telement.setAttribute('aria-hidden', 'false');\n\t\tif (element.tabIndex === -1) {\n\t\t\telement.tabIndex = 0;\n\t\t\telement.setAttribute('aria-roledescription', 'tooltip');\n\t\t}\n\t}\n\n\t/** Allows the user to define the position of the tooltip relative to the parent element */\n\t@Input()\n\tget buiTooltipPosition(): TooltipPosition {\n\t\treturn this.position;\n\t}\n\tset buiTooltipPosition(value: TooltipPosition) {\n\t\tthis.position = value;\n\t}\n\n\t/** Disables the display of the tooltip. */\n\t@Input()\n\tget buiTooltipDisabled(): boolean {\n\t\treturn this.disabled;\n\t}\n\tset buiTooltipDisabled(value) {\n\t\tthis.disabled = value;\n\t}\n\n\t/** The message to be displayed in the tooltip. */\n\t@Input()\n\tget buiTooltip(): string | TemplateRef<any> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else {\n\t\t\tthis._templateRef = value;\n\t\t\tif (value) {\n\t\t\t\tthis.message = '[bui-tooltip-template]';\n\t\t\t} else {\n\t\t\t\tthis._templateRef = undefined;\n\t\t\t\tthis.message = '';\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @ignore */\n\tget template(): TemplateRef<any> | undefined {\n\t\treturn this._templateRef;\n\t}\n\n\t/** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n\t@Input()\n\tget buiTooltipClass() {\n\t\treturn this.tooltipClass;\n\t}\n\tset buiTooltipClass(value: string | string[] | Set<string> | { [key: string]: any }) {\n\t\tthis.tooltipClass = value;\n\t}\n\n\t/** @ignore */\n\t@HostListener('click')\n\tclicked() {\n\t\tthis.toggle();\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n\timports: [A11yModule, CommonModule, OverlayModule, MatCommonModule],\n\texports: [TooltipDirective, MatCommonModule, CdkScrollableModule],\n\tdeclarations: [TooltipDirective, TooltipComponent],\n\tproviders: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MatTooltipComponent","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravura-ui-tooltip.mjs","sources":["../../../projects/ui/tooltip/tooltip.component.ts","../../../projects/ui/tooltip/tooltip.component.html","../../../projects/ui/tooltip/tooltip.directive.ts","../../../projects/ui/tooltip/tooltip.module.ts","../../../projects/ui/tooltip/bravura-ui-tooltip.ts"],"sourcesContent":["import {\n\tANIMATION_MODULE_TYPE,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInject,\n\tInjectionToken,\n\tOptional,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { matTooltipAnimations, TooltipComponent as MatTooltipComponent } from '@angular/material/tooltip';\nimport { getTextWidth } from '@bravura/ui/common';\n\n/**\n * @ignore\n */\ninterface TooltipTemplateContainer {\n\ttemplate?: TemplateRef<any>;\n}\n\n/**\n * @ignore\n */\nexport const BUI_TOOLTIP_TEMPLATE_REF = new InjectionToken<TooltipTemplateContainer>(\n\t'@bravura/ui/tooltip/templateContainer'\n);\n\n@Component({\n\tselector: 'bui-tooltip-component',\n\ttemplateUrl: './tooltip.component.html',\n\tstyleUrls: ['./tooltip.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [matTooltipAnimations.tooltipState],\n\thost: {\n\t\tclass: 'bui-tooltip-component bui-host',\n\t\t// Forces the element to have a layout in IE and Edge. This fixes issues where the element\n\t\t// won't be rendered if the animations are disabled or there is no web animations polyfill.\n\t\t'[style.zoom]': 'isVisible() ? 1 : null',\n\t\t'(mouseleave)': '_handleMouseLeave($event)',\n\t\t'aria-hidden': 'true'\n\t}\n})\nexport class TooltipComponent extends MatTooltipComponent {\n\tprivate _messageCopy = '';\n\n\t@ViewChild('tooltip', { static: true })\n\t_tooltip!: ElementRef<HTMLElement>;\n\n\t@ViewChild('tooltipDiv', { static: true })\n\tprivate tooltipDiv!: ElementRef<HTMLDivElement>;\n\n\tconstructor(\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\t@Inject(BUI_TOOLTIP_TEMPLATE_REF) public _tooltipInst: TooltipTemplateContainer,\n\t\t@Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string\n\t) {\n\t\tsuper(changeDetectorRef, elementRef, animationMode);\n\t}\n\n\tshow(delay: number): void {\n\t\tif (this._messageCopy !== this.message && !this._tooltipInst.template) {\n\t\t\tthis.tooltipDiv.nativeElement.innerHTML = this.message;\n\t\t\tthis._messageCopy = this.message;\n\t\t\tconst width = Math.max(Math.sqrt(getTextWidth(this.message) * 40), 360);\n\t\t\tthis._tooltip.nativeElement.style.maxWidth = `${width}px`;\n\t\t}\n\t\tsuper.show(delay);\n\t}\n}\n\n(TooltipComponent as any).ɵcmp.styles.push(...(MatTooltipComponent as any).ɵcmp.styles);\n","<div\n\t#tooltip\n\tclass=\"mdc-tooltip mdc-tooltip--shown mat-mdc-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t(animationend)=\"_handleAnimationEnd($event)\"\n\t[class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n","import { AriaDescriber, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tHostListener,\n\tInject,\n\tInput,\n\tNgZone,\n\tOptional,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatTooltipDefaultOptions,\n\tMAT_TOOLTIP_DEFAULT_OPTIONS,\n\tMAT_TOOLTIP_SCROLL_STRATEGY,\n\tTooltipPosition,\n\t_MatTooltipBase\n} from '@angular/material/tooltip';\nimport { BUI_TOOLTIP_TEMPLATE_REF, TooltipComponent } from './tooltip.component';\n\n/**\n * This directive extends [Angular Material tooltip](https://material.angular.io/components/tooltip/overview), with the additional capability of displaying\n * HTML content in the overlay area.\n *\n * All the other features are identical as those in Angular Material tooltip.\n */\n@Directive({\n\tselector: '[buiTooltip]',\n\texportAs: 'buiTooltip',\n\thost: {\n\t\tclass: 'mat-tooltip-trigger bui-tooltip-trigger'\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: BUI_TOOLTIP_TEMPLATE_REF,\n\t\t\tuseExisting: forwardRef(() => TooltipDirective)\n\t\t}\n\t]\n})\nexport class TooltipDirective extends _MatTooltipBase<TooltipComponent> {\n\tprotected readonly _tooltipComponent = TooltipComponent;\n\tprivate _templateRef?: TemplateRef<any>;\n\n\tconstructor(\n\t\toverlay: Overlay,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\tscrollDispatcher: ScrollDispatcher,\n\t\tviewContainerRef: ViewContainerRef,\n\t\tngZone: NgZone,\n\t\tplatform: Platform,\n\t\tariaDescriber: AriaDescriber,\n\t\tfocusMonitor: FocusMonitor,\n\t\t@Inject(MAT_TOOLTIP_SCROLL_STRATEGY) scrollStrategy: any,\n\t\t@Optional() dir: Directionality,\n\t\t@Optional() @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS) defaultOptions: MatTooltipDefaultOptions,\n\t\t@Inject(DOCUMENT) _document: any\n\t) {\n\t\tsuper(\n\t\t\toverlay,\n\t\t\telementRef,\n\t\t\tscrollDispatcher,\n\t\t\tviewContainerRef,\n\t\t\tngZone,\n\t\t\tplatform,\n\t\t\tariaDescriber,\n\t\t\tfocusMonitor,\n\t\t\tscrollStrategy,\n\t\t\tdir,\n\t\t\tdefaultOptions,\n\t\t\t_document\n\t\t);\n\t\tthis.touchGestures = 'off';\n\t\tconst element = elementRef.nativeElement;\n\t\telement.setAttribute('aria-hidden', 'false');\n\t\tif (element.tabIndex === -1) {\n\t\t\telement.tabIndex = 0;\n\t\t\telement.setAttribute('aria-roledescription', 'tooltip');\n\t\t}\n\t}\n\n\t/** Allows the user to define the position of the tooltip relative to the parent element */\n\t@Input()\n\tget buiTooltipPosition(): TooltipPosition {\n\t\treturn this.position;\n\t}\n\tset buiTooltipPosition(value: TooltipPosition) {\n\t\tthis.position = value;\n\t}\n\n\t/** Disables the display of the tooltip. */\n\t@Input()\n\tget buiTooltipDisabled(): boolean {\n\t\treturn this.disabled;\n\t}\n\tset buiTooltipDisabled(value) {\n\t\tthis.disabled = value;\n\t}\n\n\t/** The message to be displayed in the tooltip. */\n\t@Input()\n\tget buiTooltip(): string | TemplateRef<any> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else {\n\t\t\tthis._templateRef = value;\n\t\t\tif (value) {\n\t\t\t\tthis.message = '[bui-tooltip-template]';\n\t\t\t} else {\n\t\t\t\tthis._templateRef = undefined;\n\t\t\t\tthis.message = '';\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @ignore */\n\tget template(): TemplateRef<any> | undefined {\n\t\treturn this._templateRef;\n\t}\n\n\t/** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n\t@Input()\n\tget buiTooltipClass() {\n\t\treturn this.tooltipClass;\n\t}\n\tset buiTooltipClass(value: string | string[] | Set<string> | { [key: string]: any }) {\n\t\tthis.tooltipClass = value;\n\t}\n\n\t/** @ignore */\n\t@HostListener('click')\n\tclicked() {\n\t\tthis.toggle();\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n\timports: [A11yModule, CommonModule, OverlayModule, MatCommonModule],\n\texports: [TooltipDirective, MatCommonModule, CdkScrollableModule],\n\tdeclarations: [TooltipDirective, TooltipComponent],\n\tproviders: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MatTooltipComponent","i1"],"mappings":"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"}
|