@bravura/ui 3.3.2 → 3.4.1

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change history
2
2
 
3
+ ## <small>3.4.1 (2023-03-19)</small>
4
+
5
+ * fix(tooltip): export an injection token for greater ability to customise ([9568292](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/9568292))
6
+
7
+ ## 3.4.0 (2023-03-16)
8
+
9
+ * feat(tooltip): support Observable as tooltip message ([449db13](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/449db13))
10
+
3
11
  ## <small>3.3.2 (2023-03-14)</small>
4
12
 
5
13
  * fix(panel): correct border radius for better customisation ([a350a5f](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/a350a5f))
@@ -1,3 +1,4 @@
1
1
  export * from './tooltip.module';
2
2
  export * from './tooltip.directive';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Rvb2x0aXAvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHRpcC5kaXJlY3RpdmUnO1xuIl19
3
+ export { BUI_TOOLTIP_TEMPLATE_REF } from './tooltip.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Rvb2x0aXAvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQlVJX1RPT0xUSVBfVEVNUExBVEVfUkVGIH0gZnJvbSAnLi90b29sdGlwLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { Directive, forwardRef, HostListener, Inject, Input, Optional } from '@angular/core';
2
+ import { Directive, forwardRef, HostListener, Inject, Input, Optional, TemplateRef } from '@angular/core';
3
3
  import { MAT_TOOLTIP_DEFAULT_OPTIONS, MAT_TOOLTIP_SCROLL_STRATEGY, _MatTooltipBase } from '@angular/material/tooltip';
4
+ import { Observable, Subject } from 'rxjs';
4
5
  import { BUI_TOOLTIP_TEMPLATE_REF, TooltipComponent } from './tooltip.component';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/cdk/overlay";
@@ -17,6 +18,7 @@ export class TooltipDirective extends _MatTooltipBase {
17
18
  constructor(overlay, elementRef, scrollDispatcher, viewContainerRef, ngZone, platform, ariaDescriber, focusMonitor, scrollStrategy, dir, defaultOptions, _document) {
18
19
  super(overlay, elementRef, scrollDispatcher, viewContainerRef, ngZone, platform, ariaDescriber, focusMonitor, scrollStrategy, dir, defaultOptions, _document);
19
20
  this._tooltipComponent = TooltipComponent;
21
+ this._contentSub = new Subject().subscribe();
20
22
  this.touchGestures = 'off';
21
23
  const element = elementRef.nativeElement;
22
24
  element.setAttribute('aria-hidden', 'false');
@@ -44,10 +46,12 @@ export class TooltipDirective extends _MatTooltipBase {
44
46
  return this._templateRef || this.message;
45
47
  }
46
48
  set buiTooltip(value) {
49
+ this._contentSub.unsubscribe();
50
+ this._contentObs = undefined;
47
51
  if (typeof value === 'string') {
48
52
  this.message = value;
49
53
  }
50
- else {
54
+ else if (value instanceof TemplateRef) {
51
55
  this._templateRef = value;
52
56
  if (value) {
53
57
  this.message = '[bui-tooltip-template]';
@@ -57,6 +61,10 @@ export class TooltipDirective extends _MatTooltipBase {
57
61
  this.message = '';
58
62
  }
59
63
  }
64
+ else if (value instanceof Observable) {
65
+ this.message = '...';
66
+ this._contentObs = value;
67
+ }
60
68
  }
61
69
  /** @ignore */
62
70
  get template() {
@@ -73,6 +81,23 @@ export class TooltipDirective extends _MatTooltipBase {
73
81
  clicked() {
74
82
  this.toggle();
75
83
  }
84
+ /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */
85
+ show(delay = this.showDelay, origin) {
86
+ if (this._contentObs) {
87
+ this._contentSub.unsubscribe();
88
+ this._contentSub = this._contentObs.subscribe(c => {
89
+ this.message = c;
90
+ this._contentSub.unsubscribe();
91
+ super.show(delay, origin);
92
+ });
93
+ }
94
+ else {
95
+ super.show(delay, origin);
96
+ }
97
+ }
98
+ ngOnDestroy() {
99
+ this._contentSub.unsubscribe();
100
+ }
76
101
  }
77
102
  TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i2.Platform }, { token: i3.AriaDescriber }, { token: i3.FocusMonitor }, { token: MAT_TOOLTIP_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: MAT_TOOLTIP_DEFAULT_OPTIONS, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
78
103
  TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: TooltipDirective, selector: "[buiTooltip]", inputs: { buiTooltipPosition: "buiTooltipPosition", buiTooltipDisabled: "buiTooltipDisabled", buiTooltip: "buiTooltip", buiTooltipClass: "buiTooltipClass" }, host: { listeners: { "click": "clicked()" }, classAttribute: "mat-tooltip-trigger bui-tooltip-trigger" }, providers: [
@@ -121,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
121
146
  type: HostListener,
122
147
  args: ['click']
123
148
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ04sU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVOLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFFM0IsZUFBZSxFQUNmLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQUVqRjs7Ozs7R0FLRztBQWNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFpQztJQUl0RSxZQUNDLE9BQWdCLEVBQ2hCLFVBQW1DLEVBQ25DLGdCQUFrQyxFQUNsQyxnQkFBa0MsRUFDbEMsTUFBYyxFQUNkLFFBQWtCLEVBQ2xCLGFBQTRCLEVBQzVCLFlBQTBCLEVBQ1csY0FBbUIsRUFDNUMsR0FBbUIsRUFDa0IsY0FBd0MsRUFDdkUsU0FBYztRQUVoQyxLQUFLLENBQ0osT0FBTyxFQUNQLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixRQUFRLEVBQ1IsYUFBYSxFQUNiLFlBQVksRUFDWixjQUFjLEVBQ2QsR0FBRyxFQUNILGNBQWMsRUFDZCxTQUFTLENBQ1QsQ0FBQztRQTlCZ0Isc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUErQnZELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDekMsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUs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Y3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0Zm9yd2FyZFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHROZ1pvbmUsXG5cdE9wdGlvbmFsLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdE1hdFRvb2x0aXBEZWZhdWx0T3B0aW9ucyxcblx0TUFUX1RPT0xUSVBfREVGQVVMVF9PUFRJT05TLFxuXHRNQVRfVE9PTFRJUF9TQ1JPTExfU1RSQVRFR1ksXG5cdFRvb2x0aXBQb3NpdGlvbixcblx0X01hdFRvb2x0aXBCYXNlXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQlVJX1RPT0xUSVBfVEVNUExBVEVfUkVGLCBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwLmNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgZXh0ZW5kcyBbQW5ndWxhciBNYXRlcmlhbCB0b29sdGlwXShodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy90b29sdGlwL292ZXJ2aWV3KSwgd2l0aCB0aGUgYWRkaXRpb25hbCBjYXBhYmlsaXR5IG9mIGRpc3BsYXlpbmdcbiAqIEhUTUwgY29udGVudCBpbiB0aGUgb3ZlcmxheSBhcmVhLlxuICpcbiAqIEFsbCB0aGUgb3RoZXIgZmVhdHVyZXMgYXJlIGlkZW50aWNhbCBhcyB0aG9zZSBpbiBBbmd1bGFyIE1hdGVyaWFsIHRvb2x0aXAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tidWlUb29sdGlwXScsXG5cdGV4cG9ydEFzOiAnYnVpVG9vbHRpcCcsXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ21hdC10b29sdGlwLXRyaWdnZXIgYnVpLXRvb2x0aXAtdHJpZ2dlcidcblx0fSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogQlVJX1RPT0xUSVBfVEVNUExBVEVfUkVGLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVG9vbHRpcERpcmVjdGl2ZSlcblx0XHR9XG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBleHRlbmRzIF9NYXRUb29sdGlwQmFzZTxUb29sdGlwQ29tcG9uZW50PiB7XG5cdHByb3RlY3RlZCByZWFkb25seSBfdG9vbHRpcENvbXBvbmVudCA9IFRvb2x0aXBDb21wb25lbnQ7XG5cdHByaXZhdGUgX3RlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRvdmVybGF5OiBPdmVybGF5LFxuXHRcdGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG5cdFx0dmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0XHRuZ1pvbmU6IE5nWm9uZSxcblx0XHRwbGF0Zm9ybTogUGxhdGZvcm0sXG5cdFx0YXJpYURlc2NyaWJlcjogQXJpYURlc2NyaWJlcixcblx0XHRmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcblx0XHRASW5qZWN0KE1BVF9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3k6IGFueSxcblx0XHRAT3B0aW9uYWwoKSBkaXI6IERpcmVjdGlvbmFsaXR5LFxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX1RPT0xUSVBfREVGQVVMVF9PUFRJT05TKSBkZWZhdWx0T3B0aW9uczogTWF0VG9vbHRpcERlZmF1bHRPcHRpb25zLFxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55XG5cdCkge1xuXHRcdHN1cGVyKFxuXHRcdFx0b3ZlcmxheSxcblx0XHRcdGVsZW1lbnRSZWYsXG5cdFx0XHRzY3JvbGxEaXNwYXRjaGVyLFxuXHRcdFx0dmlld0NvbnRhaW5lclJlZixcblx0XHRcdG5nWm9uZSxcblx0XHRcdHBsYXRmb3JtLFxuXHRcdFx0YXJpYURlc2NyaWJlcixcblx0XHRcdGZvY3VzTW9uaXRvcixcblx0XHRcdHNjcm9sbFN0cmF0ZWd5LFxuXHRcdFx0ZGlyLFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRfZG9jdW1lbnRcblx0XHQpO1xuXHRcdHRoaXMudG91Y2hHZXN0dXJlcyA9ICdvZmYnO1xuXHRcdGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0ZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ2ZhbHNlJyk7XG5cdFx0aWYgKGVsZW1lbnQudGFiSW5kZXggPT09IC0xKSB7XG5cdFx0XHRlbGVtZW50LnRhYkluZGV4ID0gMDtcblx0XHRcdGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLXJvbGVkZXNjcmlwdGlvbicsICd0b29sdGlwJyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEFsbG93cyB0aGUgdXNlciB0byBkZWZpbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgZWxlbWVudCAqL1xuXHRASW5wdXQoKVxuXHRnZXQgYnVpVG9vbHRpcFBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XG5cdFx0cmV0dXJuIHRoaXMucG9zaXRpb247XG5cdH1cblx0c2V0IGJ1aVRvb2x0aXBQb3NpdGlvbih2YWx1ZTogVG9vbHRpcFBvc2l0aW9uKSB7XG5cdFx0dGhpcy5wb3NpdGlvbiA9IHZhbHVlO1xuXHR9XG5cblx0LyoqIERpc2FibGVzIHRoZSBkaXNwbGF5IG9mIHRoZSB0b29sdGlwLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgYnVpVG9vbHRpcERpc2FibGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmRpc2FibGVkO1xuXHR9XG5cdHNldCBidWlUb29sdGlwRGlzYWJsZWQodmFsdWUpIHtcblx0XHR0aGlzLmRpc2FibGVkID0gdmFsdWU7XG5cdH1cblxuXHQvKiogVGhlIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIGluIHRoZSB0b29sdGlwLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgYnVpVG9vbHRpcCgpOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5fdGVtcGxhdGVSZWYgfHwgdGhpcy5tZXNzYWdlO1xuXHR9XG5cdHNldCBidWlUb29sdGlwKHZhbHVlKSB7XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdHRoaXMubWVzc2FnZSA9IHZhbHVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLl90ZW1wbGF0ZVJlZiA9IHZhbHVlO1xuXHRcdFx0aWYgKHZhbHVlKSB7XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9ICdbYnVpLXRvb2x0aXAtdGVtcGxhdGVdJztcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuX3RlbXBsYXRlUmVmID0gdW5kZWZpbmVkO1xuXHRcdFx0XHR0aGlzLm1lc3NhZ2UgPSAnJztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3RlbXBsYXRlUmVmO1xuXHR9XG5cblx0LyoqIENsYXNzZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSB0b29sdGlwLiBTdXBwb3J0cyB0aGUgc2FtZSBzeW50YXggYXMgYG5nQ2xhc3NgLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgYnVpVG9vbHRpcENsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLnRvb2x0aXBDbGFzcztcblx0fVxuXHRzZXQgYnVpVG9vbHRpcENsYXNzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IFNldDxzdHJpbmc+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuXHRcdHRoaXMudG9vbHRpcENsYXNzID0gdmFsdWU7XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRASG9zdExpc3RlbmVyKCdjbGljaycpXG5cdGNsaWNrZWQoKSB7XG5cdFx0dGhpcy50b2dnbGUoKTtcblx0fVxufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ04sU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsV0FBVyxFQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBRTNCLGVBQWUsRUFDZixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBRWpGOzs7OztHQUtHO0FBY0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWlDO0lBTXRFLFlBQ0MsT0FBZ0IsRUFDaEIsVUFBbUMsRUFDbkMsZ0JBQWtDLEVBQ2xDLGdCQUFrQyxFQUNsQyxNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsYUFBNEIsRUFDNUIsWUFBMEIsRUFDVyxjQUFtQixFQUM1QyxHQUFtQixFQUNrQixjQUF3QyxFQUN2RSxTQUFjO1FBRWhDLEtBQUssQ0FDSixPQUFPLEVBQ1AsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLFFBQVEsRUFDUixhQUFhLEVBQ2IsWUFBWSxFQUNaLGNBQWMsRUFDZCxHQUFHLEVBQ0gsY0FBYyxFQUNkLFNBQVMsQ0FDVCxDQUFDO1FBaENnQixzQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUVoRCxnQkFBVyxHQUFpQixJQUFJLE9BQU8sRUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFD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Q0FBQztTQUNIO2FBQU07WUFDTixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtJQUNGLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs2R0FqSVcsZ0JBQWdCLDBPQWVuQiwyQkFBMkIsMkRBRWYsMkJBQTJCLDZCQUN2QyxRQUFRO2lHQWxCTCxnQkFBZ0IsK1NBUGpCO1FBQ1Y7WUFDQyxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7U0FDL0M7S0FDRDsyRkFFVyxnQkFBZ0I7a0JBYjVCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLHlDQUF5QztxQkFDaEQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSx3QkFBd0I7NEJBQ2pDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3lCQUMvQztxQkFDRDtpQkFDRDs7MEJBZ0JFLE1BQU07MkJBQUMsMkJBQTJCOzswQkFDbEMsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywyQkFBMkI7OzBCQUM5QyxNQUFNOzJCQUFDLFFBQVE7NENBMkJiLGtCQUFrQjtzQkFEckIsS0FBSztnQkFVRixrQkFBa0I7c0JBRHJCLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO2dCQThCRixlQUFlO3NCQURsQixLQUFLO2dCQVVOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJpYURlc2NyaWJlciwgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBPdmVybGF5LCBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRmb3J3YXJkUmVmLFxuXHRIb3N0TGlzdGVuZXIsXG5cdEluamVjdCxcblx0SW5wdXQsXG5cdE5nWm9uZSxcblx0T3B0aW9uYWwsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0TWF0VG9vbHRpcERlZmF1bHRPcHRpb25zLFxuXHRNQVRfVE9PTFRJUF9ERUZBVUxUX09QVElPTlMsXG5cdE1BVF9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSxcblx0VG9vbHRpcFBvc2l0aW9uLFxuXHRfTWF0VG9vbHRpcEJhc2Vcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJVSV9UT09MVElQX1RFTVBMQVRFX1JFRiwgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIGV4dGVuZHMgW0FuZ3VsYXIgTWF0ZXJpYWwgdG9vbHRpcF0oaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2NvbXBvbmVudHMvdG9vbHRpcC9vdmVydmlldyksIHdpdGggdGhlIGFkZGl0aW9uYWwgY2FwYWJpbGl0eSBvZiBkaXNwbGF5aW5nXG4gKiBIVE1MIGNvbnRlbnQgaW4gdGhlIG92ZXJsYXkgYXJlYS5cbiAqXG4gKiBBbGwgdGhlIG90aGVyIGZlYXR1cmVzIGFyZSBpZGVudGljYWwgYXMgdGhvc2UgaW4gQW5ndWxhciBNYXRlcmlhbCB0b29sdGlwLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpVG9vbHRpcF0nLFxuXHRleHBvcnRBczogJ2J1aVRvb2x0aXAnLFxuXHRob3N0OiB7XG5cdFx0Y2xhc3M6ICdtYXQtdG9vbHRpcC10cmlnZ2VyIGJ1aS10b29sdGlwLXRyaWdnZXInXG5cdH0sXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IEJVSV9UT09MVElQX1RFTVBMQVRFX1JFRixcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRvb2x0aXBEaXJlY3RpdmUpXG5cdFx0fVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgZXh0ZW5kcyBfTWF0VG9vbHRpcEJhc2U8VG9vbHRpcENvbXBvbmVudD4ge1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3Rvb2x0aXBDb21wb25lbnQgPSBUb29sdGlwQ29tcG9uZW50O1xuXHRwcml2YXRlIF90ZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XG5cdHByaXZhdGUgX2NvbnRlbnRTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCkuc3Vic2NyaWJlKCk7XG5cdHByaXZhdGUgX2NvbnRlbnRPYnM/OiBPYnNlcnZhYmxlPHN0cmluZz47XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0b3ZlcmxheTogT3ZlcmxheSxcblx0XHRlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRzY3JvbGxEaXNwYXRjaGVyOiBTY3JvbGxEaXNwYXRjaGVyLFxuXHRcdHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG5cdFx0bmdab25lOiBOZ1pvbmUsXG5cdFx0cGxhdGZvcm06IFBsYXRmb3JtLFxuXHRcdGFyaWFEZXNjcmliZXI6IEFyaWFEZXNjcmliZXIsXG5cdFx0Zm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG5cdFx0QEluamVjdChNQVRfVE9PTFRJUF9TQ1JPTExfU1RSQVRFR1kpIHNjcm9sbFN0cmF0ZWd5OiBhbnksXG5cdFx0QE9wdGlvbmFsKCkgZGlyOiBEaXJlY3Rpb25hbGl0eSxcblx0XHRAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9UT09MVElQX0RFRkFVTFRfT1BUSU9OUykgZGVmYXVsdE9wdGlvbnM6IE1hdFRvb2x0aXBEZWZhdWx0T3B0aW9ucyxcblx0XHRASW5qZWN0KERPQ1VNRU5UKSBfZG9jdW1lbnQ6IGFueVxuXHQpIHtcblx0XHRzdXBlcihcblx0XHRcdG92ZXJsYXksXG5cdFx0XHRlbGVtZW50UmVmLFxuXHRcdFx0c2Nyb2xsRGlzcGF0Y2hlcixcblx0XHRcdHZpZXdDb250YWluZXJSZWYsXG5cdFx0XHRuZ1pvbmUsXG5cdFx0XHRwbGF0Zm9ybSxcblx0XHRcdGFyaWFEZXNjcmliZXIsXG5cdFx0XHRmb2N1c01vbml0b3IsXG5cdFx0XHRzY3JvbGxTdHJhdGVneSxcblx0XHRcdGRpcixcblx0XHRcdGRlZmF1bHRPcHRpb25zLFxuXHRcdFx0X2RvY3VtZW50XG5cdFx0KTtcblx0XHR0aGlzLnRvdWNoR2VzdHVyZXMgPSAnb2ZmJztcblx0XHRjb25zdCBlbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICdmYWxzZScpO1xuXHRcdGlmIChlbGVtZW50LnRhYkluZGV4ID09PSAtMSkge1xuXHRcdFx0ZWxlbWVudC50YWJJbmRleCA9IDA7XG5cdFx0XHRlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1yb2xlZGVzY3JpcHRpb24nLCAndG9vbHRpcCcpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBBbGxvd3MgdGhlIHVzZXIgdG8gZGVmaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCByZWxhdGl2ZSB0byB0aGUgcGFyZW50IGVsZW1lbnQgKi9cblx0QElucHV0KClcblx0Z2V0IGJ1aVRvb2x0aXBQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xuXHRcdHJldHVybiB0aGlzLnBvc2l0aW9uO1xuXHR9XG5cdHNldCBidWlUb29sdGlwUG9zaXRpb24odmFsdWU6IFRvb2x0aXBQb3NpdGlvbikge1xuXHRcdHRoaXMucG9zaXRpb24gPSB2YWx1ZTtcblx0fVxuXG5cdC8qKiBEaXNhYmxlcyB0aGUgZGlzcGxheSBvZiB0aGUgdG9vbHRpcC4gKi9cblx0QElucHV0KClcblx0Z2V0IGJ1aVRvb2x0aXBEaXNhYmxlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5kaXNhYmxlZDtcblx0fVxuXHRzZXQgYnVpVG9vbHRpcERpc2FibGVkKHZhbHVlKSB7XG5cdFx0dGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuXHR9XG5cblx0LyoqIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdG9vbHRpcC4gKi9cblx0QElucHV0KClcblx0Z2V0IGJ1aVRvb2x0aXAoKTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IE9ic2VydmFibGU8c3RyaW5nPiB7XG5cdFx0cmV0dXJuIHRoaXMuX3RlbXBsYXRlUmVmIHx8IHRoaXMubWVzc2FnZTtcblx0fVxuXHRzZXQgYnVpVG9vbHRpcCh2YWx1ZSkge1xuXHRcdHRoaXMuX2NvbnRlbnRTdWIudW5zdWJzY3JpYmUoKTtcblx0XHR0aGlzLl9jb250ZW50T2JzID0gdW5kZWZpbmVkO1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHR0aGlzLm1lc3NhZ2UgPSB2YWx1ZTtcblx0XHR9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcblx0XHRcdHRoaXMuX3RlbXBsYXRlUmVmID0gdmFsdWU7XG5cdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0dGhpcy5tZXNzYWdlID0gJ1tidWktdG9vbHRpcC10ZW1wbGF0ZV0nO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5fdGVtcGxhdGVSZWYgPSB1bmRlZmluZWQ7XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9ICcnO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG5cdFx0XHR0aGlzLm1lc3NhZ2UgPSAnLi4uJztcblx0XHRcdHRoaXMuX2NvbnRlbnRPYnMgPSB2YWx1ZTtcblx0XHR9XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3RlbXBsYXRlUmVmO1xuXHR9XG5cblx0LyoqIENsYXNzZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSB0b29sdGlwLiBTdXBwb3J0cyB0aGUgc2FtZSBzeW50YXggYXMgYG5nQ2xhc3NgLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgYnVpVG9vbHRpcENsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLnRvb2x0aXBDbGFzcztcblx0fVxuXHRzZXQgYnVpVG9vbHRpcENsYXNzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IFNldDxzdHJpbmc+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuXHRcdHRoaXMudG9vbHRpcENsYXNzID0gdmFsdWU7XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRASG9zdExpc3RlbmVyKCdjbGljaycpXG5cdGNsaWNrZWQoKSB7XG5cdFx0dGhpcy50b2dnbGUoKTtcblx0fVxuXG5cdC8qKiBTaG93cyB0aGUgdG9vbHRpcCBhZnRlciB0aGUgZGVsYXkgaW4gbXMsIGRlZmF1bHRzIHRvIHRvb2x0aXAtZGVsYXktc2hvdyBvciAwbXMgaWYgbm8gaW5wdXQgKi9cblx0c2hvdyhcblx0XHRkZWxheTogbnVtYmVyID0gdGhpcy5zaG93RGVsYXksXG5cdFx0b3JpZ2luPzpcblx0XHRcdHwge1xuXHRcdFx0XHRcdHg6IG51bWJlcjtcblx0XHRcdFx0XHR5OiBudW1iZXI7XG5cdFx0XHQgIH1cblx0XHRcdHwgdW5kZWZpbmVkXG5cdCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9jb250ZW50T2JzKSB7XG5cdFx0XHR0aGlzLl9jb250ZW50U3ViLnVuc3Vic2NyaWJlKCk7XG5cdFx0XHR0aGlzLl9jb250ZW50U3ViID0gdGhpcy5fY29udGVudE9icy5zdWJzY3JpYmUoYyA9PiB7XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGM7XG5cdFx0XHRcdHRoaXMuX2NvbnRlbnRTdWIudW5zdWJzY3JpYmUoKTtcblx0XHRcdFx0c3VwZXIuc2hvdyhkZWxheSwgb3JpZ2luKTtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdXBlci5zaG93KGRlbGF5LCBvcmlnaW4pO1xuXHRcdH1cblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMuX2NvbnRlbnRTdWIudW5zdWJzY3JpYmUoKTtcblx0fVxufVxuIl19
@@ -6,10 +6,11 @@ import { CdkScrollableModule } from '@angular/cdk/scrolling';
6
6
  import * as i1 from '@angular/common';
7
7
  import { DOCUMENT, CommonModule } from '@angular/common';
8
8
  import * as i0 from '@angular/core';
9
- import { InjectionToken, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, ViewChild, forwardRef, Directive, Input, HostListener, NgModule } from '@angular/core';
9
+ import { InjectionToken, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, ViewChild, TemplateRef, forwardRef, Directive, Input, HostListener, NgModule } from '@angular/core';
10
10
  import { MatCommonModule } from '@angular/material/core';
11
11
  import { TooltipComponent as TooltipComponent$1, matTooltipAnimations, _MatTooltipBase, MAT_TOOLTIP_SCROLL_STRATEGY, MAT_TOOLTIP_DEFAULT_OPTIONS, MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';
12
12
  import { getTextWidth } from '@bravura/ui/common';
13
+ import { Subject, Observable } from 'rxjs';
13
14
  import * as i2 from '@angular/cdk/platform';
14
15
  import * as i4 from '@angular/cdk/bidi';
15
16
 
@@ -74,6 +75,7 @@ class TooltipDirective extends _MatTooltipBase {
74
75
  constructor(overlay, elementRef, scrollDispatcher, viewContainerRef, ngZone, platform, ariaDescriber, focusMonitor, scrollStrategy, dir, defaultOptions, _document) {
75
76
  super(overlay, elementRef, scrollDispatcher, viewContainerRef, ngZone, platform, ariaDescriber, focusMonitor, scrollStrategy, dir, defaultOptions, _document);
76
77
  this._tooltipComponent = TooltipComponent;
78
+ this._contentSub = new Subject().subscribe();
77
79
  this.touchGestures = 'off';
78
80
  const element = elementRef.nativeElement;
79
81
  element.setAttribute('aria-hidden', 'false');
@@ -101,10 +103,12 @@ class TooltipDirective extends _MatTooltipBase {
101
103
  return this._templateRef || this.message;
102
104
  }
103
105
  set buiTooltip(value) {
106
+ this._contentSub.unsubscribe();
107
+ this._contentObs = undefined;
104
108
  if (typeof value === 'string') {
105
109
  this.message = value;
106
110
  }
107
- else {
111
+ else if (value instanceof TemplateRef) {
108
112
  this._templateRef = value;
109
113
  if (value) {
110
114
  this.message = '[bui-tooltip-template]';
@@ -114,6 +118,10 @@ class TooltipDirective extends _MatTooltipBase {
114
118
  this.message = '';
115
119
  }
116
120
  }
121
+ else if (value instanceof Observable) {
122
+ this.message = '...';
123
+ this._contentObs = value;
124
+ }
117
125
  }
118
126
  /** @ignore */
119
127
  get template() {
@@ -130,6 +138,23 @@ class TooltipDirective extends _MatTooltipBase {
130
138
  clicked() {
131
139
  this.toggle();
132
140
  }
141
+ /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */
142
+ show(delay = this.showDelay, origin) {
143
+ if (this._contentObs) {
144
+ this._contentSub.unsubscribe();
145
+ this._contentSub = this._contentObs.subscribe(c => {
146
+ this.message = c;
147
+ this._contentSub.unsubscribe();
148
+ super.show(delay, origin);
149
+ });
150
+ }
151
+ else {
152
+ super.show(delay, origin);
153
+ }
154
+ }
155
+ ngOnDestroy() {
156
+ this._contentSub.unsubscribe();
157
+ }
133
158
  }
134
159
  TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i1$1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i2.Platform }, { token: i3.AriaDescriber }, { token: i3.FocusMonitor }, { token: MAT_TOOLTIP_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: MAT_TOOLTIP_DEFAULT_OPTIONS, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
135
160
  TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: TooltipDirective, selector: "[buiTooltip]", inputs: { buiTooltipPosition: "buiTooltipPosition", buiTooltipDisabled: "buiTooltipDisabled", buiTooltip: "buiTooltip", buiTooltipClass: "buiTooltipClass" }, host: { listeners: { "click": "clicked()" }, classAttribute: "mat-tooltip-trigger bui-tooltip-trigger" }, providers: [
@@ -200,6 +225,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
200
225
  * Generated bundle index. Do not edit.
201
226
  */
202
227
 
203
- export { TooltipDirective, TooltipModule };
228
+ export { BUI_TOOLTIP_TEMPLATE_REF, TooltipDirective, TooltipModule };
204
229
  //# sourceMappingURL=bravura-ui-tooltip.mjs.map
205
230
  //# sourceMappingURL=bravura-ui-tooltip.mjs.map
@@ -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 { Observable, Subject, Subscription } from 'rxjs';\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\tprivate _contentSub: Subscription = new Subject<void>().subscribe();\n\tprivate _contentObs?: Observable<string>;\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> | Observable<string> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tthis._contentSub.unsubscribe();\n\t\tthis._contentObs = undefined;\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else if (value instanceof TemplateRef) {\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} else if (value instanceof Observable) {\n\t\t\tthis.message = '...';\n\t\t\tthis._contentObs = value;\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\t/** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */\n\tshow(\n\t\tdelay: number = this.showDelay,\n\t\torigin?:\n\t\t\t| {\n\t\t\t\t\tx: number;\n\t\t\t\t\ty: number;\n\t\t\t }\n\t\t\t| undefined\n\t): void {\n\t\tif (this._contentObs) {\n\t\t\tthis._contentSub.unsubscribe();\n\t\t\tthis._contentSub = this._contentObs.subscribe(c => {\n\t\t\t\tthis.message = c;\n\t\t\t\tthis._contentSub.unsubscribe();\n\t\t\t\tsuper.show(delay, origin);\n\t\t\t});\n\t\t} else {\n\t\t\tsuper.show(delay, origin);\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis._contentSub.unsubscribe();\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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"}
@@ -6,10 +6,11 @@ import { CdkScrollableModule } from '@angular/cdk/scrolling';
6
6
  import * as i1 from '@angular/common';
7
7
  import { DOCUMENT, CommonModule } from '@angular/common';
8
8
  import * as i0 from '@angular/core';
9
- import { InjectionToken, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, ViewChild, forwardRef, Directive, Input, HostListener, NgModule } from '@angular/core';
9
+ import { InjectionToken, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, ViewChild, TemplateRef, forwardRef, Directive, Input, HostListener, NgModule } from '@angular/core';
10
10
  import { MatCommonModule } from '@angular/material/core';
11
11
  import { TooltipComponent as TooltipComponent$1, matTooltipAnimations, _MatTooltipBase, MAT_TOOLTIP_SCROLL_STRATEGY, MAT_TOOLTIP_DEFAULT_OPTIONS, MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';
12
12
  import { getTextWidth } from '@bravura/ui/common';
13
+ import { Subject, Observable } from 'rxjs';
13
14
  import * as i2 from '@angular/cdk/platform';
14
15
  import * as i4 from '@angular/cdk/bidi';
15
16
 
@@ -72,6 +73,7 @@ class TooltipDirective extends _MatTooltipBase {
72
73
  constructor(overlay, elementRef, scrollDispatcher, viewContainerRef, ngZone, platform, ariaDescriber, focusMonitor, scrollStrategy, dir, defaultOptions, _document) {
73
74
  super(overlay, elementRef, scrollDispatcher, viewContainerRef, ngZone, platform, ariaDescriber, focusMonitor, scrollStrategy, dir, defaultOptions, _document);
74
75
  this._tooltipComponent = TooltipComponent;
76
+ this._contentSub = new Subject().subscribe();
75
77
  this.touchGestures = 'off';
76
78
  const element = elementRef.nativeElement;
77
79
  element.setAttribute('aria-hidden', 'false');
@@ -99,10 +101,12 @@ class TooltipDirective extends _MatTooltipBase {
99
101
  return this._templateRef || this.message;
100
102
  }
101
103
  set buiTooltip(value) {
104
+ this._contentSub.unsubscribe();
105
+ this._contentObs = undefined;
102
106
  if (typeof value === 'string') {
103
107
  this.message = value;
104
108
  }
105
- else {
109
+ else if (value instanceof TemplateRef) {
106
110
  this._templateRef = value;
107
111
  if (value) {
108
112
  this.message = '[bui-tooltip-template]';
@@ -112,6 +116,10 @@ class TooltipDirective extends _MatTooltipBase {
112
116
  this.message = '';
113
117
  }
114
118
  }
119
+ else if (value instanceof Observable) {
120
+ this.message = '...';
121
+ this._contentObs = value;
122
+ }
115
123
  }
116
124
  /** @ignore */
117
125
  get template() {
@@ -128,6 +136,23 @@ class TooltipDirective extends _MatTooltipBase {
128
136
  clicked() {
129
137
  this.toggle();
130
138
  }
139
+ /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */
140
+ show(delay = this.showDelay, origin) {
141
+ if (this._contentObs) {
142
+ this._contentSub.unsubscribe();
143
+ this._contentSub = this._contentObs.subscribe(c => {
144
+ this.message = c;
145
+ this._contentSub.unsubscribe();
146
+ super.show(delay, origin);
147
+ });
148
+ }
149
+ else {
150
+ super.show(delay, origin);
151
+ }
152
+ }
153
+ ngOnDestroy() {
154
+ this._contentSub.unsubscribe();
155
+ }
131
156
  }
132
157
  TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i1$1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i2.Platform }, { token: i3.AriaDescriber }, { token: i3.FocusMonitor }, { token: MAT_TOOLTIP_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: MAT_TOOLTIP_DEFAULT_OPTIONS, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
133
158
  TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: TooltipDirective, selector: "[buiTooltip]", inputs: { buiTooltipPosition: "buiTooltipPosition", buiTooltipDisabled: "buiTooltipDisabled", buiTooltip: "buiTooltip", buiTooltipClass: "buiTooltipClass" }, host: { listeners: { "click": "clicked()" }, classAttribute: "mat-tooltip-trigger bui-tooltip-trigger" }, providers: [
@@ -196,6 +221,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
196
221
  * Generated bundle index. Do not edit.
197
222
  */
198
223
 
199
- export { TooltipDirective, TooltipModule };
224
+ export { BUI_TOOLTIP_TEMPLATE_REF, TooltipDirective, TooltipModule };
200
225
  //# sourceMappingURL=bravura-ui-tooltip.mjs.map
201
226
  //# sourceMappingURL=bravura-ui-tooltip.mjs.map
@@ -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 { Observable, Subject, Subscription } from 'rxjs';\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\tprivate _contentSub: Subscription = new Subject<void>().subscribe();\n\tprivate _contentObs?: Observable<string>;\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> | Observable<string> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tthis._contentSub.unsubscribe();\n\t\tthis._contentObs = undefined;\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else if (value instanceof TemplateRef) {\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} else if (value instanceof Observable) {\n\t\t\tthis.message = '...';\n\t\t\tthis._contentObs = value;\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\t/** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */\n\tshow(\n\t\tdelay: number = this.showDelay,\n\t\torigin?:\n\t\t\t| {\n\t\t\t\t\tx: number;\n\t\t\t\t\ty: number;\n\t\t\t }\n\t\t\t| undefined\n\t): void {\n\t\tif (this._contentObs) {\n\t\t\tthis._contentSub.unsubscribe();\n\t\t\tthis._contentSub = this._contentObs.subscribe(c => {\n\t\t\t\tthis.message = c;\n\t\t\t\tthis._contentSub.unsubscribe();\n\t\t\t\tsuper.show(delay, origin);\n\t\t\t});\n\t\t} else {\n\t\t\tsuper.show(delay, origin);\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis._contentSub.unsubscribe();\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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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bravura/ui",
3
3
  "description": "Bravura UI Components for Angular applications",
4
- "version": "3.3.2",
4
+ "version": "3.4.1",
5
5
  "keywords": [
6
6
  "Angular",
7
7
  "Angular Material",
@@ -1,2 +1,3 @@
1
1
  export * from './tooltip.module';
2
2
  export * from './tooltip.directive';
3
+ export { BUI_TOOLTIP_TEMPLATE_REF } from './tooltip.component';
@@ -4,6 +4,7 @@ import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';
4
4
  import { Platform } from '@angular/cdk/platform';
5
5
  import { ElementRef, NgZone, TemplateRef, ViewContainerRef } from '@angular/core';
6
6
  import { MatTooltipDefaultOptions, TooltipPosition, _MatTooltipBase } from '@angular/material/tooltip';
7
+ import { Observable } from 'rxjs';
7
8
  import { TooltipComponent } from './tooltip.component';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
@@ -15,6 +16,8 @@ import * as i0 from "@angular/core";
15
16
  export declare class TooltipDirective extends _MatTooltipBase<TooltipComponent> {
16
17
  protected readonly _tooltipComponent: typeof TooltipComponent;
17
18
  private _templateRef?;
19
+ private _contentSub;
20
+ private _contentObs?;
18
21
  constructor(overlay: Overlay, elementRef: ElementRef<HTMLElement>, scrollDispatcher: ScrollDispatcher, viewContainerRef: ViewContainerRef, ngZone: NgZone, platform: Platform, ariaDescriber: AriaDescriber, focusMonitor: FocusMonitor, scrollStrategy: any, dir: Directionality, defaultOptions: MatTooltipDefaultOptions, _document: any);
19
22
  /** Allows the user to define the position of the tooltip relative to the parent element */
20
23
  get buiTooltipPosition(): TooltipPosition;
@@ -23,8 +26,8 @@ export declare class TooltipDirective extends _MatTooltipBase<TooltipComponent>
23
26
  get buiTooltipDisabled(): boolean;
24
27
  set buiTooltipDisabled(value: boolean);
25
28
  /** The message to be displayed in the tooltip. */
26
- get buiTooltip(): string | TemplateRef<any>;
27
- set buiTooltip(value: string | TemplateRef<any>);
29
+ get buiTooltip(): string | TemplateRef<any> | Observable<string>;
30
+ set buiTooltip(value: string | TemplateRef<any> | Observable<string>);
28
31
  /** @ignore */
29
32
  get template(): TemplateRef<any> | undefined;
30
33
  /** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */
@@ -36,6 +39,12 @@ export declare class TooltipDirective extends _MatTooltipBase<TooltipComponent>
36
39
  });
37
40
  /** @ignore */
38
41
  clicked(): void;
42
+ /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */
43
+ show(delay?: number, origin?: {
44
+ x: number;
45
+ y: number;
46
+ } | undefined): void;
47
+ ngOnDestroy(): void;
39
48
  static ɵfac: i0.ɵɵFactoryDeclaration<TooltipDirective, [null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, null]>;
40
49
  static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[buiTooltip]", ["buiTooltip"], { "buiTooltipPosition": "buiTooltipPosition"; "buiTooltipDisabled": "buiTooltipDisabled"; "buiTooltip": "buiTooltip"; "buiTooltipClass": "buiTooltipClass"; }, {}, never, never, false, never>;
41
50
  }