carbon-components-angular 5.22.0 → 5.23.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.
Files changed (74) hide show
  1. package/docs/documentation/components/DatePicker.html +61 -75
  2. package/docs/documentation/components/PopoverContent.html +215 -11
  3. package/docs/documentation/components/Toggletip.html +843 -460
  4. package/docs/documentation/components/Tooltip.html +1057 -607
  5. package/docs/documentation/components/TooltipDefinition.html +977 -538
  6. package/docs/documentation/coverage.html +20 -20
  7. package/docs/documentation/dependencies.html +3 -1
  8. package/docs/documentation/directives/PopoverContainer.html +1019 -638
  9. package/docs/documentation/images/coverage-badge-documentation.svg +1 -1
  10. package/docs/documentation/js/search/search_index.js +2 -2
  11. package/docs/documentation/miscellaneous/typealiases.html +21 -0
  12. package/docs/documentation/modules/ThemeModule/dependencies.svg +15 -15
  13. package/docs/documentation/modules/ThemeModule.html +15 -15
  14. package/docs/documentation/modules/TilesModule/dependencies.svg +99 -99
  15. package/docs/documentation/modules/TilesModule.html +99 -99
  16. package/docs/documentation/modules/TimePickerModule/dependencies.svg +4 -4
  17. package/docs/documentation/modules/TimePickerModule.html +4 -4
  18. package/docs/documentation/modules/ToggletipModule/dependencies.svg +37 -37
  19. package/docs/documentation/modules/ToggletipModule.html +37 -37
  20. package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
  21. package/docs/documentation/modules/TooltipModule.html +4 -4
  22. package/docs/documentation/modules/TreeviewModule/dependencies.svg +38 -38
  23. package/docs/documentation/modules/TreeviewModule.html +38 -38
  24. package/docs/documentation.json +1611 -837
  25. package/docs/storybook/1562.1e6a79b6.iframe.bundle.js +1 -0
  26. package/docs/storybook/4578.c90d4756.iframe.bundle.js +1 -0
  27. package/docs/storybook/datepicker-datepicker-stories.1d3d1000.iframe.bundle.js +1 -0
  28. package/docs/storybook/iframe.html +2 -2
  29. package/docs/storybook/index.json +1 -1
  30. package/docs/storybook/main.css +1156 -571
  31. package/docs/storybook/main.fbe9a501.iframe.bundle.js +1 -0
  32. package/docs/storybook/popover-popover-stories.db1735d2.iframe.bundle.js +1 -0
  33. package/docs/storybook/project.json +1 -1
  34. package/docs/storybook/runtime~main.e6146719.iframe.bundle.js +1 -0
  35. package/docs/storybook/stories.json +1 -1
  36. package/docs/storybook/toggletip-toggletip-stories.7265233d.iframe.bundle.js +1 -0
  37. package/docs/storybook/tooltip-definition-tooptip-stories.af38c73f.iframe.bundle.js +1 -0
  38. package/docs/storybook/tooltip-tooltip-stories.65d7c699.iframe.bundle.js +1 -0
  39. package/esm2020/datepicker/datepicker.component.mjs +2 -9
  40. package/esm2020/popover/popover-content.component.mjs +33 -13
  41. package/esm2020/popover/popover.directive.mjs +216 -97
  42. package/esm2020/toggletip/toggletip.component.mjs +8 -6
  43. package/esm2020/tooltip/definition-tooptip.component.mjs +14 -15
  44. package/esm2020/tooltip/tooltip.component.mjs +13 -8
  45. package/fesm2015/carbon-components-angular-datepicker.mjs +1 -8
  46. package/fesm2015/carbon-components-angular-datepicker.mjs.map +1 -1
  47. package/fesm2015/carbon-components-angular-popover.mjs +248 -108
  48. package/fesm2015/carbon-components-angular-popover.mjs.map +1 -1
  49. package/fesm2015/carbon-components-angular-toggletip.mjs +7 -5
  50. package/fesm2015/carbon-components-angular-toggletip.mjs.map +1 -1
  51. package/fesm2015/carbon-components-angular-tooltip.mjs +25 -21
  52. package/fesm2015/carbon-components-angular-tooltip.mjs.map +1 -1
  53. package/fesm2020/carbon-components-angular-datepicker.mjs +1 -8
  54. package/fesm2020/carbon-components-angular-datepicker.mjs.map +1 -1
  55. package/fesm2020/carbon-components-angular-popover.mjs +247 -108
  56. package/fesm2020/carbon-components-angular-popover.mjs.map +1 -1
  57. package/fesm2020/carbon-components-angular-toggletip.mjs +7 -5
  58. package/fesm2020/carbon-components-angular-toggletip.mjs.map +1 -1
  59. package/fesm2020/carbon-components-angular-tooltip.mjs +25 -21
  60. package/fesm2020/carbon-components-angular-tooltip.mjs.map +1 -1
  61. package/package.json +3 -2
  62. package/popover/popover-content.component.d.ts +7 -1
  63. package/popover/popover.directive.d.ts +74 -29
  64. package/toggletip/toggletip.component.d.ts +6 -5
  65. package/tooltip/definition-tooptip.component.d.ts +7 -8
  66. package/tooltip/tooltip.component.d.ts +6 -3
  67. package/docs/storybook/4578.93dc52a7.iframe.bundle.js +0 -1
  68. package/docs/storybook/datepicker-datepicker-stories.96effc6c.iframe.bundle.js +0 -1
  69. package/docs/storybook/main.d4ed0d37.iframe.bundle.js +0 -1
  70. package/docs/storybook/popover-popover-stories.cc1684df.iframe.bundle.js +0 -1
  71. package/docs/storybook/runtime~main.2883decf.iframe.bundle.js +0 -1
  72. package/docs/storybook/toggletip-toggletip-stories.22e37008.iframe.bundle.js +0 -1
  73. package/docs/storybook/tooltip-definition-tooptip-stories.2e1a211c.iframe.bundle.js +0 -1
  74. package/docs/storybook/tooltip-tooltip-stories.6a4a1383.iframe.bundle.js +0 -1
@@ -1,17 +1,14 @@
1
1
  import { Directive, EventEmitter, HostBinding, Input, Output } from "@angular/core";
2
+ import { arrow, autoUpdate, computePosition, flip, offset } from "@floating-ui/dom";
2
3
  import * as i0 from "@angular/core";
3
- /**
4
- * Applies popover container styling to the element it is applied to. Get started with importing the module:
5
- *
6
- * ```typescript
7
- * import { PopoverModule } from 'carbon-components-angular';
8
- * ```
9
- *
10
- * [See demo](../../?path=/story/components-popover--basic)
11
- */
12
4
  export class PopoverContainer {
13
- constructor(changeDetectorRef) {
5
+ constructor(elementRef, ngZone, renderer, changeDetectorRef) {
6
+ this.elementRef = elementRef;
7
+ this.ngZone = ngZone;
8
+ this.renderer = renderer;
14
9
  this.changeDetectorRef = changeDetectorRef;
10
+ this._align = "bottom";
11
+ this.alignmentClassPrefix = "cds--popover--";
15
12
  /**
16
13
  * Emits an event when the dialog is closed
17
14
  */
@@ -24,110 +21,229 @@ export class PopoverContainer {
24
21
  * Emits an event when the state of `isOpen` changes. Allows `isOpen` to be double bound
25
22
  */
26
23
  this.isOpenChange = new EventEmitter();
24
+ /**
25
+ * Show caret at the alignment position
26
+ */
27
27
  this.caret = true;
28
+ /**
29
+ * Enable drop shadow around the popover container
30
+ */
28
31
  this.dropShadow = true;
29
- this.highContrast = false;
30
- this.isOpen = false;
32
+ /**
33
+ * Enable high contrast for popover container
34
+ */
35
+ this.highContrast = true;
36
+ /**
37
+ * **Experimental**: Use floating-ui to position the tooltip
38
+ * This is not toggleable - should be sent once
39
+ */
40
+ this.autoAlign = false;
31
41
  this.containerClass = true;
32
- this.align = "bottom";
33
- }
34
- // Top
35
- get alignmentTopClass() {
36
- return this.align === "top";
37
- }
38
- get alignmentTopLeftClass() {
39
- return this.align === "top-left";
40
- }
41
- get alignmentTopRightClass() {
42
- return this.align === "top-right";
43
- }
44
- // Bottom
45
- get alignmentBottomClass() {
46
- return this.align === "bottom";
47
- }
48
- get alignmentBottomLeftClass() {
49
- return this.align === "bottom-left";
50
- }
51
- get alignmentBottomRightClass() {
52
- return this.align === "bottom-right";
53
- }
54
- // Left
55
- get alignmentLeftClass() {
56
- return this.align === "left";
57
- }
58
- get alignmentLeftTopClass() {
59
- return this.align === "left-top";
60
- }
61
- get alignmentLeftBottomClass() {
62
- return this.align === "left-bottom";
63
- }
64
- // Right
65
- get alignmentRightClass() {
66
- return this.align === "right";
67
- }
68
- get alignmentRightTopClass() {
69
- return this.align === "right-top";
42
+ this.isOpen = false;
70
43
  }
71
- get alignmentRightBottomClass() {
72
- return this.align === "right-bottom";
44
+ /**
45
+ * Set alignment of popover
46
+ * As of v5, `oldPlacements` are now deprecated in favor of Placements
47
+ *
48
+ * When `autoAlign` is set to `true`, alignment may change for best placement
49
+ */
50
+ set align(alignment) {
51
+ // If alignment is not passed, the default value will be `undefined`.
52
+ if (!alignment) {
53
+ return;
54
+ }
55
+ const previousAlignment = this._align;
56
+ switch (alignment) {
57
+ case "top-left":
58
+ this._align = "top-start";
59
+ break;
60
+ case "top-right":
61
+ this._align = "top-end";
62
+ break;
63
+ case "bottom-left":
64
+ this._align = "bottom-start";
65
+ break;
66
+ case "bottom-right":
67
+ this._align = "bottom-end";
68
+ break;
69
+ case "left-top":
70
+ this._align = "left-start";
71
+ break;
72
+ case "left-bottom":
73
+ this._align = "left-end";
74
+ break;
75
+ case "right-top":
76
+ this._align = "right-start";
77
+ break;
78
+ case "right-bottom":
79
+ this._align = "right-end";
80
+ break;
81
+ default:
82
+ this._align = alignment;
83
+ break;
84
+ }
85
+ this.updateAlignmentClass(this._align, previousAlignment);
73
86
  }
87
+ /**
88
+ * Handles emitting open/close event
89
+ * @param open - Is the popover container open
90
+ * @param event - Event
91
+ */
74
92
  handleChange(open, event) {
75
- if (this.isOpen !== open) {
93
+ // We only emit the event when parameter has an event to keep existing behavior
94
+ if ((this.isOpen !== open) && event) {
76
95
  this.isOpenChange.emit(open);
77
96
  }
78
97
  if (open) {
79
- this.onOpen.emit(event);
98
+ if (event) {
99
+ this.onOpen.emit(event);
100
+ }
101
+ // when auto alignment is enabled, use auto update to set the placement for the element
102
+ if (this.autoAlign) {
103
+ if (this.caretRef) {
104
+ // Get caret offset/height property
105
+ // Getting computed styles once every open, otherwise expensive.
106
+ const computedStyle = getComputedStyle(this.caretRef);
107
+ const offset = computedStyle.getPropertyValue("--cds-popover-offset");
108
+ const height = computedStyle.getPropertyValue("--cds-popover-caret-height");
109
+ this.caretOffset = (offset?.includes("px") ? Number(offset.split("px", 1)[0]) : Number(offset.split("rem", 1)[0]) * 16) || 10;
110
+ this.caretHeight = (height?.includes("px") ? Number(height.split("px", 1)[0]) : Number(height.split("rem", 1)[0]) * 16) || 6;
111
+ }
112
+ if (this.elementRef.nativeElement && this.popoverContentRef) {
113
+ this.unmountFloatingElement = autoUpdate(this.elementRef.nativeElement, this.popoverContentRef, this.recomputePosition.bind(this));
114
+ }
115
+ }
80
116
  }
81
117
  else {
82
- this.onClose.emit(event);
118
+ this.cleanUp();
119
+ if (event) {
120
+ this.onClose.emit(event);
121
+ }
83
122
  }
84
123
  this.isOpen = open;
85
124
  this.changeDetectorRef.markForCheck();
86
125
  }
126
+ roundByDPR(value) {
127
+ const dpr = window.devicePixelRatio || 1;
128
+ return Math.round(value * dpr) / dpr;
129
+ }
130
+ /**
131
+ * Compute position of tooltip when autoAlign is enabled
132
+ */
133
+ recomputePosition() {
134
+ // Run outside of angular zone to avoid unnecessary change detection and rely on floating-ui
135
+ this.ngZone.runOutsideAngular(async () => {
136
+ const { x, y, placement, middlewareData } = await computePosition(this.elementRef.nativeElement, this.popoverContentRef, {
137
+ placement: this._align,
138
+ strategy: "fixed",
139
+ middleware: [
140
+ offset(this.caretOffset),
141
+ flip({ fallbackAxisSideDirection: "start" }),
142
+ arrow({ element: this.caretRef })
143
+ ]
144
+ });
145
+ const previousAlignment = this._align;
146
+ this._align = placement;
147
+ this.updateAlignmentClass(this._align, previousAlignment);
148
+ // Using CSSOM to manipulate CSS to avoid content security policy inline-src
149
+ // https://github.com/w3c/webappsec-csp/issues/212
150
+ Object.assign(this.popoverContentRef.style, {
151
+ position: "fixed",
152
+ top: "0",
153
+ left: "0",
154
+ // Using transform instead of top/left position to improve performance
155
+ transform: `translate(${this.roundByDPR(x)}px,${this.roundByDPR(y)}px)`
156
+ });
157
+ if (middlewareData.arrow) {
158
+ const { x: arrowX, y: arrowY } = middlewareData.arrow;
159
+ const staticSide = {
160
+ top: "bottom",
161
+ right: "left",
162
+ bottom: "top",
163
+ left: "right"
164
+ }[placement.split("-")[0]];
165
+ this.caretRef.style.left = arrowX != null ? `${arrowX}px` : "";
166
+ this.caretRef.style.top = arrowY != null ? `${arrowY}px` : "";
167
+ this.caretRef.style.right = "";
168
+ this.caretRef.style.bottom = "";
169
+ if (staticSide) {
170
+ this.caretRef.style[staticSide] = `${-this.caretHeight}px`;
171
+ }
172
+ }
173
+ });
174
+ }
175
+ /**
176
+ * Close the popover and reopen it with updated values without emitting an event
177
+ * @param changes
178
+ */
179
+ ngOnChanges(changes) {
180
+ // Close and reopen the popover, handle alignment/programmatic open/close
181
+ const originalState = this.isOpen;
182
+ this.handleChange(false);
183
+ // Ignore first change since content is not initialized
184
+ if (changes.autoAlign && !changes.autoAlign.firstChange) {
185
+ // Reset the inline styles
186
+ this.popoverContentRef = this.elementRef.nativeElement.querySelector(".cds--popover-content");
187
+ this.popoverContentRef.setAttribute("style", "");
188
+ this.caretRef = this.elementRef.nativeElement.querySelector("span.cds--popover-caret");
189
+ }
190
+ this.handleChange(originalState);
191
+ }
192
+ /**
193
+ * Handle initialization of element
194
+ */
195
+ ngAfterViewInit() {
196
+ this.initializeReferences();
197
+ }
198
+ initializeReferences() {
199
+ this.updateAlignmentClass(this._align);
200
+ // Initialize html references since they will not change and are required for popover components
201
+ this.popoverContentRef = this.elementRef.nativeElement.querySelector(".cds--popover-content");
202
+ this.caretRef = this.elementRef.nativeElement.querySelector("span.cds--popover-caret");
203
+ // Handle initial isOpen
204
+ this.handleChange(this.isOpen);
205
+ }
206
+ /**
207
+ * Clean up
208
+ */
209
+ ngOnDestroy() {
210
+ this.cleanUp();
211
+ }
212
+ /**
213
+ * Clean up `autoUpdate` if auto alignment is enabled
214
+ */
215
+ cleanUp() {
216
+ if (this.unmountFloatingElement) {
217
+ this.unmountFloatingElement();
218
+ }
219
+ this.unmountFloatingElement = undefined;
220
+ }
221
+ /**
222
+ * Replace existing previous alignment class with new
223
+ * @param previousAlignment
224
+ */
225
+ updateAlignmentClass(newAlignment, previousAlignment) {
226
+ if (this.elementRef.nativeElement && previousAlignment !== newAlignment) {
227
+ const regexp = new RegExp("right|top|left|bottom");
228
+ // Since we are constantly switching, it's safer to delete all matching class names
229
+ this.elementRef.nativeElement.classList.forEach(className => {
230
+ if (regexp.test(className)) {
231
+ this.renderer.removeClass(this.elementRef.nativeElement, `${className}`);
232
+ }
233
+ });
234
+ this.renderer.addClass(this.elementRef.nativeElement, `${this.alignmentClassPrefix}${newAlignment}`);
235
+ }
236
+ }
87
237
  }
88
- PopoverContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContainer, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
89
- PopoverContainer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: PopoverContainer, selector: "[cdsPopover], [ibmPopover]", inputs: { caret: "caret", dropShadow: "dropShadow", highContrast: "highContrast", isOpen: "isOpen", align: "align" }, outputs: { onClose: "onClose", onOpen: "onOpen", isOpenChange: "isOpenChange" }, host: { properties: { "class.cds--popover--top": "this.alignmentTopClass", "class.cds--popover--top-left": "this.alignmentTopLeftClass", "class.cds--popover--top-right": "this.alignmentTopRightClass", "class.cds--popover--bottom": "this.alignmentBottomClass", "class.cds--popover--bottom-left": "this.alignmentBottomLeftClass", "class.cds--popover--bottom-right": "this.alignmentBottomRightClass", "class.cds--popover--left": "this.alignmentLeftClass", "class.cds--popover--left-top": "this.alignmentLeftTopClass", "class.cds--popover--left-bottom": "this.alignmentLeftBottomClass", "class.cds--popover--right": "this.alignmentRightClass", "class.cds--popover--right-top": "this.alignmentRightTopClass", "class.cds--popover--right-bottom": "this.alignmentRightBottomClass", "class.cds--popover--caret": "this.caret", "class.cds--popover--drop-shadow": "this.dropShadow", "class.cds--popover--high-contrast": "this.highContrast", "class.cds--popover--open": "this.isOpen", "class.cds--popover-container": "this.containerClass" } }, ngImport: i0 });
238
+ PopoverContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContainer, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
239
+ PopoverContainer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: PopoverContainer, selector: "[cdsPopover], [ibmPopover]", inputs: { align: "align", caret: "caret", dropShadow: "dropShadow", highContrast: "highContrast", autoAlign: "autoAlign", isOpen: "isOpen" }, outputs: { onClose: "onClose", onOpen: "onOpen", isOpenChange: "isOpenChange" }, host: { properties: { "class.cds--popover--caret": "this.caret", "class.cds--popover--drop-shadow": "this.dropShadow", "class.cds--popover--high-contrast": "this.highContrast", "class.cds--popover--auto-align": "this.autoAlign", "class.cds--popover-container": "this.containerClass", "class.cds--popover--open": "this.isOpen" } }, usesOnChanges: true, ngImport: i0 });
90
240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContainer, decorators: [{
91
241
  type: Directive,
92
242
  args: [{
93
243
  selector: "[cdsPopover], [ibmPopover]"
94
244
  }]
95
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { alignmentTopClass: [{
96
- type: HostBinding,
97
- args: ["class.cds--popover--top"]
98
- }], alignmentTopLeftClass: [{
99
- type: HostBinding,
100
- args: ["class.cds--popover--top-left"]
101
- }], alignmentTopRightClass: [{
102
- type: HostBinding,
103
- args: ["class.cds--popover--top-right"]
104
- }], alignmentBottomClass: [{
105
- type: HostBinding,
106
- args: ["class.cds--popover--bottom"]
107
- }], alignmentBottomLeftClass: [{
108
- type: HostBinding,
109
- args: ["class.cds--popover--bottom-left"]
110
- }], alignmentBottomRightClass: [{
111
- type: HostBinding,
112
- args: ["class.cds--popover--bottom-right"]
113
- }], alignmentLeftClass: [{
114
- type: HostBinding,
115
- args: ["class.cds--popover--left"]
116
- }], alignmentLeftTopClass: [{
117
- type: HostBinding,
118
- args: ["class.cds--popover--left-top"]
119
- }], alignmentLeftBottomClass: [{
120
- type: HostBinding,
121
- args: ["class.cds--popover--left-bottom"]
122
- }], alignmentRightClass: [{
123
- type: HostBinding,
124
- args: ["class.cds--popover--right"]
125
- }], alignmentRightTopClass: [{
126
- type: HostBinding,
127
- args: ["class.cds--popover--right-top"]
128
- }], alignmentRightBottomClass: [{
129
- type: HostBinding,
130
- args: ["class.cds--popover--right-bottom"]
245
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { align: [{
246
+ type: Input
131
247
  }], onClose: [{
132
248
  type: Output
133
249
  }], onOpen: [{
@@ -149,15 +265,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
149
265
  args: ["class.cds--popover--high-contrast"]
150
266
  }, {
151
267
  type: Input
152
- }], isOpen: [{
268
+ }], autoAlign: [{
153
269
  type: HostBinding,
154
- args: ["class.cds--popover--open"]
270
+ args: ["class.cds--popover--auto-align"]
155
271
  }, {
156
272
  type: Input
157
273
  }], containerClass: [{
158
274
  type: HostBinding,
159
275
  args: ["class.cds--popover-container"]
160
- }], align: [{
276
+ }], isOpen: [{
161
277
  type: Input
278
+ }, {
279
+ type: HostBinding,
280
+ args: ["class.cds--popover--open"]
162
281
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkU1QixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXhCeEQ7O1dBRUc7UUFDTyxZQUFPLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQ7O1dBRUc7UUFDTyxXQUFNLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0Q7O1dBRUc7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFRixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ1AsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUM5QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzFELFVBQUssR0FHNEIsUUFBUSxDQUFDO0lBRVEsQ0FBQztJQTVFNUQsTUFBTTtJQUNOLElBQTRDLGlCQUFpQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFpRCxxQkFBcUI7UUFDckUsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBa0Qsc0JBQXNCO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVM7SUFDVCxJQUErQyxvQkFBb0I7UUFDbEUsT0FBTyxJQUFJLENBQUMsS0FBSyxL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QkFBOEI7Z0JBQ2xDLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHREaXJlY3RpdmUsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0LFxuXHRPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBBcHBsaWVzIHBvcG92ZXIgY29udGFpbmVyIHN0eWxpbmcgdG8gdGhlIGVsZW1lbnQgaXQgaXMgYXBwbGllZCB0by4gR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBbU2VlIGRlbW9dKC4uLy4uLz9wYXRoPS9zdG9yeS9jb21wb25lbnRzLXBvcG92ZXItLWJhc2ljKVxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6IFwiW2Nkc1BvcG92ZXJdLCBbaWJtUG9wb3Zlcl1cIlxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyQ29udGFpbmVyIHtcblx0Ly8gVG9wXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci0tdG9wXCIpIGdldCBhbGlnbm1lbnRUb3BDbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5hbGlnbiA9PT0gXCJ0b3BcIjtcblx0fVxuXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci0tdG9wLWxlZnRcIikgZ2V0IGFsaWdubWVudFRvcExlZnRDbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5hbGlnbiA9PT0gXCJ0b3AtbGVmdFwiO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS10b3AtcmlnaHRcIikgZ2V0IGFsaWdubWVudFRvcFJpZ2h0Q2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYWxpZ24gPT09IFwidG9wLXJpZ2h0XCI7XG5cdH1cblxuXHQvLyBCb3R0b21cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS1ib3R0b21cIikgZ2V0IGFsaWdubWVudEJvdHRvbUNsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmFsaWduID09PSBcImJvdHRvbVwiO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS1ib3R0b20tbGVmdFwiKSBnZXQgYWxpZ25tZW50Qm90dG9tTGVmdENsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmFsaWduID09PSBcImJvdHRvbS1sZWZ0XCI7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXBvcG92ZXItLWJvdHRvbS1yaWdodFwiKSBnZXQgYWxpZ25tZW50Qm90dG9tUmlnaHRDbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5hbGlnbiA9PT0gXCJib3R0b20tcmlnaHRcIjtcblx0fVxuXG5cdC8vIExlZnRcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS1sZWZ0XCIpIGdldCBhbGlnbm1lbnRMZWZ0Q2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYWxpZ24gPT09IFwibGVmdFwiO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS1sZWZ0LXRvcFwiKSBnZXQgYWxpZ25tZW50TGVmdFRvcENsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmFsaWduID09PSBcImxlZnQtdG9wXCI7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXBvcG92ZXItLWxlZnQtYm90dG9tXCIpIGdldCBhbGlnbm1lbnRMZWZ0Qm90dG9tQ2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYWxpZ24gPT09IFwibGVmdC1ib3R0b21cIjtcblx0fVxuXG5cdC8vIFJpZ2h0XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci0tcmlnaHRcIikgZ2V0IGFsaWdubWVudFJpZ2h0Q2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYWxpZ24gPT09IFwicmlnaHRcIjtcblx0fVxuXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci0tcmlnaHQtdG9wXCIpIGdldCBhbGlnbm1lbnRSaWdodFRvcENsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmFsaWduID09PSBcInJpZ2h0LXRvcFwiO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS1yaWdodC1ib3R0b21cIikgZ2V0IGFsaWdubWVudFJpZ2h0Qm90dG9tQ2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYWxpZ24gPT09IFwicmlnaHQtYm90dG9tXCI7XG5cdH1cblxuXHQvKipcblx0ICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgZGlhbG9nIGlzIGNsb3NlZFxuXHQgKi9cblx0QE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cdC8qKlxuXHQgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkXG5cdCAqL1xuXHRAT3V0cHV0KCkgb25PcGVuOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXHQvKipcblx0ICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgc3RhdGUgb2YgYGlzT3BlbmAgY2hhbmdlcy4gQWxsb3dzIGBpc09wZW5gIHRvIGJlIGRvdWJsZSBib3VuZFxuXHQgKi9cblx0QE91dHB1dCgpIGlzT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXBvcG92ZXItLWNhcmV0XCIpIEBJbnB1dCgpIGNhcmV0ID0gdHJ1ZTtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS1kcm9wLXNoYWRvd1wiKSBASW5wdXQoKSBkcm9wU2hhZG93ID0gdHJ1ZTtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLS1oaWdoLWNvbnRyYXN0XCIpIEBJbnB1dCgpIGhpZ2hDb250cmFzdCA9IGZhbHNlO1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXBvcG92ZXItLW9wZW5cIikgQElucHV0KCkgaXNPcGVuID0gZmFsc2U7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1wb3BvdmVyLWNvbnRhaW5lclwiKSBjb250YWluZXJDbGFzcyA9IHRydWU7XG5cdEBJbnB1dCgpIGFsaWduOiBcInRvcFwiIHwgXCJ0b3AtbGVmdFwiIHwgXCJ0b3AtcmlnaHRcIiB8XG5cdFx0XCJib3R0b21cIiB8IFwiYm90dG9tLWxlZnRcIiB8IFwiYm90dG9tLXJpZ2h0XCIgfFxuXHRcdFwibGVmdFwiIHwgXCJsZWZ0LWJvdHRvbVwiIHwgXCJsZWZ0LXRvcFwiIHxcblx0XHRcInJpZ2h0XCIgfCBcInJpZ2h0LWJvdHRvbVwiIHwgXCJyaWdodC10b3BcIiA9IFwiYm90dG9tXCI7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cblx0aGFuZGxlQ2hhbmdlKG9wZW46IGJvb2xlYW4sIGV2ZW50OiBFdmVudCkge1xuXHRcdGlmICh0aGlzLmlzT3BlbiAhPT0gb3Blbikge1xuXHRcdFx0dGhpcy5pc09wZW5DaGFuZ2UuZW1pdChvcGVuKTtcblx0XHR9XG5cblx0XHRpZiAob3Blbikge1xuXHRcdFx0dGhpcy5vbk9wZW4uZW1pdChldmVudCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub25DbG9zZS5lbWl0KGV2ZW50KTtcblx0XHR9XG5cdFx0dGhpcy5pc09wZW4gPSBvcGVuO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdH1cbn1cbiJdfQ==
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR04sU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ04sS0FBSyxFQUNMLFVBQVUsRUFDVixlQUFlLEVBQ2YsSUFBSSxFQUNKLE1BQU0sRUFFTixNQUFNLGtCQUFrQixDQUFDOztBQWUxQixNQUFNLE9BQU8sZ0JBQWdCO0lBdUY1QixZQUNXLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxRQUFtQixFQUNuQixpQkFBb0M7UUFIcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBN0MvQyxXQUFNLEdBQWMsUUFBUSxDQUFDO1FBQ3BCLHlCQUFvQixHQUFHLGdCQUFnQixDQUFDO1FBRWpEOztXQUVHO1FBQ08sWUFBTyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVEOztXQUVHO1FBQ08sV0FBTSxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNEOztXQUVHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3JEOztXQUVHO1FBQ2dELFVBQUssR0FBRyxJQUFJLENBQUM7UUFDaEU7O1dBRUc7UUFDc0QsZUFBVSxHQUFHLElBQUksQ0FBQztRQUMzRTs7V0FFRztRQUN3RCxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUMvRTs7O1dBR0c7UUFDcUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBYTlE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RixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMzRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDekU7WUFDRixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDckc7SUFDRixDQUFDOzs2R0E3UVcsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNEJBQTRCO2lCQUN0Qzs4S0FRYSxLQUFLO3NCQUFqQixLQUFLO2dCQTZDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUlHLE1BQU07c0JBQWYsTUFBTTtnQkFJRyxZQUFZO3NCQUFyQixNQUFNO2dCQUk0QyxLQUFLO3NCQUF2RCxXQUFXO3VCQUFDLDJCQUEyQjs7c0JBQUcsS0FBSztnQkFJUyxVQUFVO3NCQUFsRSxXQUFXO3VCQUFDLGlDQUFpQzs7c0JBQUcsS0FBSztnQkFJSyxZQUFZO3NCQUF0RSxXQUFXO3VCQUFDLG1DQUFtQzs7c0JBQUcsS0FBSztnQkFLQSxTQUFTO3NCQUFoRSxXQUFXO3VCQUFDLGdDQUFnQzs7c0JBQUcsS0FBSztnQkFDUixjQUFjO3NCQUExRCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFDTyxNQUFNO3NCQUF2RCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0LFxuXHROZ1pvbmUsXG5cdE9uQ2hhbmdlcyxcblx0T25EZXN0cm95LFxuXHRPdXRwdXQsXG5cdFJlbmRlcmVyMixcblx0U2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcblx0YXJyb3csXG5cdGF1dG9VcGRhdGUsXG5cdGNvbXB1dGVQb3NpdGlvbixcblx0ZmxpcCxcblx0b2Zmc2V0LFxuXHRQbGFjZW1lbnRcbn0gZnJvbSBcIkBmbG9hdGluZy11aS9kb21cIjtcblxuLy8gRGVwcmVjYXRlZCBwb3BvdmVyIGFsaWdubWVudHNcbnR5cGUgb2xkUGxhY2VtZW50ID0gXCJ0b3AtbGVmdFwiXG5cdHwgXCJ0b3AtcmlnaHRcIlxuXHR8IFwiYm90dG9tLWxlZnRcIlxuXHR8IFwiYm90dG9tLXJpZ2h0XCJcblx0fCBcImxlZnQtYm90dG9tXCJcblx0fCBcImxlZnQtdG9wXCJcblx0fCBcInJpZ2h0LWJvdHRvbVwiXG5cdHwgXCJyaWdodC10b3BcIjtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiBcIltjZHNQb3BvdmVyXSwgW2libVBvcG92ZXJdXCJcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbnRhaW5lciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblx0LyoqXG5cdCAqIFNldCBhbGlnbm1lbnQgb2YgcG9wb3ZlclxuXHQgKiBBcyBvZiB2NSwgYG9sZFBsYWNlbWVudHNgIGFyZSBub3cgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBQbGFjZW1lbnRzXG5cdCAqXG5cdCAqIFdoZW4gYGF1dG9BbGlnbmAgaXMgc2V0IHRvIGB0cnVlYCwgYWxpZ25tZW50IG1heSBjaGFuZ2UgZm9yIGJlc3QgcGxhY2VtZW50XG5cdCAqL1xuXHRASW5wdXQoKSBzZXQgYWxpZ24oYWxpZ25tZW50OiBvbGRQbGFjZW1lbnQgfCBQbGFjZW1lbnQpIHtcblx0XHQvLyBJZiBhbGlnbm1lbnQgaXMgbm90IHBhc3NlZCwgdGhlIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSBgdW5kZWZpbmVkYC5cblx0XHRpZiAoIWFsaWdubWVudCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHByZXZpb3VzQWxpZ25tZW50ID0gdGhpcy5fYWxpZ247XG5cdFx0c3dpdGNoIChhbGlnbm1lbnQpIHtcblx0XHRcdGNhc2UgXCJ0b3AtbGVmdFwiOlxuXHRcdFx0XHR0aGlzLl9hbGlnbiA9IFwidG9wLXN0YXJ0XCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcInRvcC1yaWdodFwiOlxuXHRcdFx0XHR0aGlzLl9hbGlnbiA9IFwidG9wLWVuZFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJib3R0b20tbGVmdFwiOlxuXHRcdFx0XHR0aGlzLl9hbGlnbiA9IFwiYm90dG9tLXN0YXJ0XCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcImJvdHRvbS1yaWdodFwiOlxuXHRcdFx0XHR0aGlzLl9hbGlnbiA9IFwiYm90dG9tLWVuZFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJsZWZ0LXRvcFwiOlxuXHRcdFx0XHR0aGlzLl9hbGlnbiA9IFwibGVmdC1zdGFydFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJsZWZ0LWJvdHRvbVwiOlxuXHRcdFx0XHR0aGlzLl9hbGlnbiA9IFwibGVmdC1lbmRcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwicmlnaHQtdG9wXCI6XG5cdFx0XHRcdHRoaXMuX2FsaWduID0gXCJyaWdodC1zdGFydFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJyaWdodC1ib3R0b21cIjpcblx0XHRcdFx0dGhpcy5fYWxpZ24gPSBcInJpZ2h0LWVuZFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRoaXMuX2FsaWduID0gYWxpZ25tZW50IGFzIFBsYWNlbWVudDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdHRoaXMudXBkYXRlQWxpZ25tZW50Q2xhc3ModGhpcy5fYWxpZ24sIHByZXZpb3VzQWxpZ25tZW50KTtcblx0fVxuXG5cdF9hbGlnbjogUGxhY2VtZW50ID0gXCJib3R0b21cIjtcblx0cmVhZG9ubHkgYWxpZ25tZW50Q2xhc3NQcmVmaXggPSBcImNkcy0tcG9wb3Zlci0tXCI7XG5cblx0LyoqXG5cdCAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWRcblx0ICovXG5cdEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXHQvKipcblx0ICogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZFxuXHQgKi9cblx0QE91dHB1dCgpIG9uT3BlbjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0LyoqXG5cdCAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIHN0YXRlIG9mIGBpc09wZW5gIGNoYW5nZXMuIEFsbG93cyBgaXNPcGVuYCB0byBiZSBkb3VibGUgYm91bmRcblx0ICovXG5cdEBPdXRwdXQoKSBpc09wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cdC8qKlxuXHQgKiBTaG93IGNhcmV0IGF0IHRoZSBhbGlnbm1lbnQgcG9zaXRpb25cblx0ICovXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci0tY2FyZXRcIikgQElucHV0KCkgY2FyZXQgPSB0cnVlO1xuXHQvKipcblx0ICogRW5hYmxlIGRyb3Agc2hhZG93IGFyb3VuZCB0aGUgcG9wb3ZlciBjb250YWluZXJcblx0ICovXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci0tZHJvcC1zaGFkb3dcIikgQElucHV0KCkgZHJvcFNoYWRvdyA9IHRydWU7XG5cdC8qKlxuXHQgKiBFbmFibGUgaGlnaCBjb250cmFzdCBmb3IgcG9wb3ZlciBjb250YWluZXJcblx0ICovXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci0taGlnaC1jb250cmFzdFwiKSBASW5wdXQoKSBoaWdoQ29udHJhc3QgPSB0cnVlO1xuXHQvKipcblx0ICogKipFeHBlcmltZW50YWwqKjogVXNlIGZsb2F0aW5nLXVpIHRvIHBvc2l0aW9uIHRoZSB0b29sdGlwXG5cdCAqIFRoaXMgaXMgbm90IHRvZ2dsZWFibGUgLSBzaG91bGQgYmUgc2VudCBvbmNlXG5cdCAqL1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXBvcG92ZXItLWF1dG8tYWxpZ25cIikgQElucHV0KCkgYXV0b0FsaWduID0gZmFsc2U7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tcG9wb3Zlci1jb250YWluZXJcIikgY29udGFpbmVyQ2xhc3MgPSB0cnVlO1xuXHRASW5wdXQoKSBASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXBvcG92ZXItLW9wZW5cIikgaXNPcGVuID0gZmFsc2U7XG5cblx0cHJvdGVjdGVkIHBvcG92ZXJDb250ZW50UmVmOiBIVE1MRWxlbWVudDtcblx0cHJvdGVjdGVkIGNhcmV0UmVmOiBIVE1MRWxlbWVudDtcblx0cHJvdGVjdGVkIGNhcmV0T2Zmc2V0OiBudW1iZXI7XG5cdHByb3RlY3RlZCBjYXJldEhlaWdodDogbnVtYmVyO1xuXHRwcm90ZWN0ZWQgdW5tb3VudEZsb2F0aW5nRWxlbWVudDogRnVuY3Rpb247XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG5cdFx0cHJvdGVjdGVkIG5nWm9uZTogTmdab25lLFxuXHRcdHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxuXHRcdHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcblx0KSB7fVxuXG5cdC8qKlxuXHQgKiBIYW5kbGVzIGVtaXR0aW5nIG9wZW4vY2xvc2UgZXZlbnRcblx0ICogQHBhcmFtIG9wZW4gLSBJcyB0aGUgcG9wb3ZlciBjb250YWluZXIgb3BlblxuXHQgKiBAcGFyYW0gZXZlbnQgLSBFdmVudFxuXHQgKi9cblx0aGFuZGxlQ2hhbmdlKG9wZW46IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpIHtcblx0XHQvLyBXZSBvbmx5IGVtaXQgdGhlIGV2ZW50IHdoZW4gcGFyYW1ldGVyIGhhcyBhbiBldmVudCB0byBrZWVwIGV4aXN0aW5nIGJlaGF2aW9yXG5cdFx0aWYgKCh0aGlzLmlzT3BlbiAhPT0gb3BlbikgJiYgZXZlbnQpIHtcblx0XHRcdHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQob3Blbik7XG5cdFx0fVxuXG5cdFx0aWYgKG9wZW4pIHtcblx0XHRcdGlmIChldmVudCkge1xuXHRcdFx0XHR0aGlzLm9uT3Blbi5lbWl0KGV2ZW50KTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gd2hlbiBhdXRvIGFsaWdubWVudCBpcyBlbmFibGVkLCB1c2UgYXV0byB1cGRhdGUgdG8gc2V0IHRoZSBwbGFjZW1lbnQgZm9yIHRoZSBlbGVtZW50XG5cdFx0XHRpZiAodGhpcy5hdXRvQWxpZ24pIHtcblx0XHRcdFx0aWYgKHRoaXMuY2FyZXRSZWYpIHtcblx0XHRcdFx0XHQvLyBHZXQgY2FyZXQgb2Zmc2V0L2hlaWdodCBwcm9wZXJ0eVxuXHRcdFx0XHRcdC8vIEdldHRpbmcgY29tcHV0ZWQgc3R5bGVzIG9uY2UgZXZlcnkgb3Blbiwgb3RoZXJ3aXNlIGV4cGVuc2l2ZS5cblx0XHRcdFx0XHRjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmNhcmV0UmVmKTtcblx0XHRcdFx0XHRjb25zdCBvZmZzZXQgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoXCItLWNkcy1wb3BvdmVyLW9mZnNldFwiKTtcblx0XHRcdFx0XHRjb25zdCBoZWlnaHQgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoXCItLWNkcy1wb3BvdmVyLWNhcmV0LWhlaWdodFwiKTtcblx0XHRcdFx0XHR0aGlzLmNhcmV0T2Zmc2V0ID0gKG9mZnNldD8uaW5jbHVkZXMoXCJweFwiKSA/IE51bWJlcihvZmZzZXQuc3BsaXQoXCJweFwiLCAxKVswXSkgOiBOdW1iZXIob2Zmc2V0LnNwbGl0KFwicmVtXCIsIDEpWzBdKSAqIDE2KSB8fCAxMDtcblx0XHRcdFx0XHR0aGlzLmNhcmV0SGVpZ2h0ID0gKGhlaWdodD8uaW5jbHVkZXMoXCJweFwiKSA/IE51bWJlcihoZWlnaHQuc3BsaXQoXCJweFwiLCAxKVswXSkgOiBOdW1iZXIoaGVpZ2h0LnNwbGl0KFwicmVtXCIsIDEpWzBdKSAqIDE2KSB8fCA2O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCAmJiB0aGlzLnBvcG92ZXJDb250ZW50UmVmKSB7XG5cdFx0XHRcdFx0dGhpcy51bm1vdW50RmxvYXRpbmdFbGVtZW50ID0gYXV0b1VwZGF0ZShcblx0XHRcdFx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHRcdFx0dGhpcy5wb3BvdmVyQ29udGVudFJlZixcblx0XHRcdFx0XHRcdHRoaXMucmVjb21wdXRlUG9zaXRpb24uYmluZCh0aGlzKVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jbGVhblVwKCk7XG5cdFx0XHRpZiAoZXZlbnQpIHtcblx0XHRcdFx0dGhpcy5vbkNsb3NlLmVtaXQoZXZlbnQpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aGlzLmlzT3BlbiA9IG9wZW47XG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHJvdW5kQnlEUFIodmFsdWUpIHtcblx0XHRjb25zdCBkcHIgPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuXHRcdHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogZHByKSAvIGRwcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb21wdXRlIHBvc2l0aW9uIG9mIHRvb2x0aXAgd2hlbiBhdXRvQWxpZ24gaXMgZW5hYmxlZFxuXHQgKi9cblx0cmVjb21wdXRlUG9zaXRpb24oKSB7XG5cdFx0Ly8gUnVuIG91dHNpZGUgb2YgYW5ndWxhciB6b25lIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGNoYW5nZSBkZXRlY3Rpb24gYW5kIHJlbHkgb24gZmxvYXRpbmctdWlcblx0XHR0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB7IHgsIHksIHBsYWNlbWVudCwgbWlkZGxld2FyZURhdGEgfSA9IGF3YWl0IGNvbXB1dGVQb3NpdGlvbihcblx0XHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMucG9wb3ZlckNvbnRlbnRSZWYsXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRwbGFjZW1lbnQ6IHRoaXMuX2FsaWduLFxuXHRcdFx0XHRcdHN0cmF0ZWd5OiBcImZpeGVkXCIsXG5cdFx0XHRcdFx0bWlkZGxld2FyZTogW1xuXHRcdFx0XHRcdFx0b2Zmc2V0KHRoaXMuY2FyZXRPZmZzZXQpLFxuXHRcdFx0XHRcdFx0ZmxpcCh7IGZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb246IFwic3RhcnRcIiB9KSxcblx0XHRcdFx0XHRcdGFycm93KHsgZWxlbWVudDogdGhpcy5jYXJldFJlZiB9KVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fSk7XG5cblx0XHRcdGNvbnN0IHByZXZpb3VzQWxpZ25tZW50ID0gdGhpcy5fYWxpZ247XG5cdFx0XHR0aGlzLl9hbGlnbiA9IHBsYWNlbWVudDtcblx0XHRcdHRoaXMudXBkYXRlQWxpZ25tZW50Q2xhc3ModGhpcy5fYWxpZ24sIHByZXZpb3VzQWxpZ25tZW50KTtcblxuXHRcdFx0Ly8gVXNpbmcgQ1NTT00gdG8gbWFuaXB1bGF0ZSBDU1MgdG8gYXZvaWQgY29udGVudCBzZWN1cml0eSBwb2xpY3kgaW5saW5lLXNyY1xuXHRcdFx0Ly8gaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJhcHBzZWMtY3NwL2lzc3Vlcy8yMTJcblx0XHRcdE9iamVjdC5hc3NpZ24odGhpcy5wb3BvdmVyQ29udGVudFJlZi5zdHlsZSwge1xuXHRcdFx0XHRwb3NpdGlvbjogXCJmaXhlZFwiLFxuXHRcdFx0XHR0b3A6IFwiMFwiLFxuXHRcdFx0XHRsZWZ0OiBcIjBcIixcblx0XHRcdFx0Ly8gVXNpbmcgdHJhbnNmb3JtIGluc3RlYWQgb2YgdG9wL2xlZnQgcG9zaXRpb24gdG8gaW1wcm92ZSBwZXJmb3JtYW5jZVxuXHRcdFx0XHR0cmFuc2Zvcm06IGB0cmFuc2xhdGUoJHt0aGlzLnJvdW5kQnlEUFIoeCl9cHgsJHt0aGlzLnJvdW5kQnlEUFIoeSl9cHgpYFxuXHRcdFx0fSk7XG5cblx0XHRcdGlmIChtaWRkbGV3YXJlRGF0YS5hcnJvdykge1xuXHRcdFx0XHRjb25zdCB7IHg6IGFycm93WCwgeTogYXJyb3dZIH0gPSBtaWRkbGV3YXJlRGF0YS5hcnJvdztcblxuXHRcdFx0XHRjb25zdCBzdGF0aWNTaWRlID0ge1xuXHRcdFx0XHRcdHRvcDogXCJib3R0b21cIixcblx0XHRcdFx0XHRyaWdodDogXCJsZWZ0XCIsXG5cdFx0XHRcdFx0Ym90dG9tOiBcInRvcFwiLFxuXHRcdFx0XHRcdGxlZnQ6IFwicmlnaHRcIlxuXHRcdFx0XHR9W3BsYWNlbWVudC5zcGxpdChcIi1cIilbMF1dO1xuXG5cdFx0XHRcdHRoaXMuY2FyZXRSZWYuc3R5bGUubGVmdCA9IGFycm93WCAhPSBudWxsID8gYCR7YXJyb3dYfXB4YCA6IFwiXCI7XG5cdFx0XHRcdHRoaXMuY2FyZXRSZWYuc3R5bGUudG9wID0gYXJyb3dZICE9IG51bGwgPyBgJHthcnJvd1l9cHhgIDogXCJcIjtcblx0XHRcdFx0dGhpcy5jYXJldFJlZi5zdHlsZS5yaWdodCA9IFwiXCI7XG5cdFx0XHRcdHRoaXMuY2FyZXRSZWYuc3R5bGUuYm90dG9tID0gXCJcIjtcblxuXHRcdFx0XHRpZiAoc3RhdGljU2lkZSkge1xuXHRcdFx0XHRcdHRoaXMuY2FyZXRSZWYuc3R5bGVbc3RhdGljU2lkZV0gPSBgJHstdGhpcy5jYXJldEhlaWdodH1weGA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbG9zZSB0aGUgcG9wb3ZlciBhbmQgcmVvcGVuIGl0IHdpdGggdXBkYXRlZCB2YWx1ZXMgd2l0aG91dCBlbWl0dGluZyBhbiBldmVudFxuXHQgKiBAcGFyYW0gY2hhbmdlc1xuXHQgKi9cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdC8vIENsb3NlIGFuZCByZW9wZW4gdGhlIHBvcG92ZXIsIGhhbmRsZSBhbGlnbm1lbnQvcHJvZ3JhbW1hdGljIG9wZW4vY2xvc2Vcblx0XHRjb25zdCBvcmlnaW5hbFN0YXRlID0gdGhpcy5pc09wZW47XG5cdFx0dGhpcy5oYW5kbGVDaGFuZ2UoZmFsc2UpO1xuXG5cdFx0Ly8gSWdub3JlIGZpcnN0IGNoYW5nZSBzaW5jZSBjb250ZW50IGlzIG5vdCBpbml0aWFsaXplZFxuXHRcdGlmIChjaGFuZ2VzLmF1dG9BbGlnbiAmJiAhY2hhbmdlcy5hdXRvQWxpZ24uZmlyc3RDaGFuZ2UpIHtcblx0XHRcdC8vIFJlc2V0IHRoZSBpbmxpbmUgc3R5bGVzXG5cdFx0XHR0aGlzLnBvcG92ZXJDb250ZW50UmVmID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jZHMtLXBvcG92ZXItY29udGVudFwiKTtcblx0XHRcdHRoaXMucG9wb3ZlckNvbnRlbnRSZWYuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgXCJcIik7XG5cdFx0XHR0aGlzLmNhcmV0UmVmID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcInNwYW4uY2RzLS1wb3BvdmVyLWNhcmV0XCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuaGFuZGxlQ2hhbmdlKG9yaWdpbmFsU3RhdGUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZSBpbml0aWFsaXphdGlvbiBvZiBlbGVtZW50XG5cdCAqL1xuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0aWFsaXplUmVmZXJlbmNlcygpO1xuXHR9XG5cblx0aW5pdGlhbGl6ZVJlZmVyZW5jZXMoKTogdm9pZCB7XG5cdFx0dGhpcy51cGRhdGVBbGlnbm1lbnRDbGFzcyh0aGlzLl9hbGlnbik7XG5cblx0XHQvLyBJbml0aWFsaXplIGh0bWwgcmVmZXJlbmNlcyBzaW5jZSB0aGV5IHdpbGwgbm90IGNoYW5nZSBhbmQgYXJlIHJlcXVpcmVkIGZvciBwb3BvdmVyIGNvbXBvbmVudHNcblx0XHR0aGlzLnBvcG92ZXJDb250ZW50UmVmID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jZHMtLXBvcG92ZXItY29udGVudFwiKTtcblx0XHR0aGlzLmNhcmV0UmVmID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcInNwYW4uY2RzLS1wb3BvdmVyLWNhcmV0XCIpO1xuXG5cdFx0Ly8gSGFuZGxlIGluaXRpYWwgaXNPcGVuXG5cdFx0dGhpcy5oYW5kbGVDaGFuZ2UodGhpcy5pc09wZW4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIENsZWFuIHVwXG5cdCAqL1xuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsZWFuVXAoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbGVhbiB1cCBgYXV0b1VwZGF0ZWAgaWYgYXV0byBhbGlnbm1lbnQgaXMgZW5hYmxlZFxuXHQgKi9cblx0Y2xlYW5VcCgpIHtcblx0XHRpZiAodGhpcy51bm1vdW50RmxvYXRpbmdFbGVtZW50KSB7XG5cdFx0XHR0aGlzLnVubW91bnRGbG9hdGluZ0VsZW1lbnQoKTtcblx0XHR9XG5cdFx0dGhpcy51bm1vdW50RmxvYXRpbmdFbGVtZW50ID0gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlcGxhY2UgZXhpc3RpbmcgcHJldmlvdXMgYWxpZ25tZW50IGNsYXNzIHdpdGggbmV3XG5cdCAqIEBwYXJhbSBwcmV2aW91c0FsaWdubWVudFxuXHQgKi9cblx0dXBkYXRlQWxpZ25tZW50Q2xhc3MobmV3QWxpZ25tZW50OiBzdHJpbmcsIHByZXZpb3VzQWxpZ25tZW50Pzogc3RyaW5nKSB7XG5cdFx0aWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICYmIHByZXZpb3VzQWxpZ25tZW50ICE9PSBuZXdBbGlnbm1lbnQpIHtcblx0XHRcdGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoXCJyaWdodHx0b3B8bGVmdHxib3R0b21cIik7XG5cdFx0XHQvLyBTaW5jZSB3ZSBhcmUgY29uc3RhbnRseSBzd2l0Y2hpbmcsIGl0J3Mgc2FmZXIgdG8gZGVsZXRlIGFsbCBtYXRjaGluZyBjbGFzcyBuYW1lc1xuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmZvckVhY2goY2xhc3NOYW1lID0+IHtcblx0XHRcdFx0aWYgKHJlZ2V4cC50ZXN0KGNsYXNzTmFtZSkpIHtcblx0XHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBgJHtjbGFzc05hbWV9YCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgYCR7dGhpcy5hbGlnbm1lbnRDbGFzc1ByZWZpeH0ke25ld0FsaWdubWVudH1gKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
@@ -14,11 +14,12 @@ import * as i1 from "carbon-components-angular/popover";
14
14
  * [See demo](../../?path=/story/components-toggletip--basic)
15
15
  */
16
16
  export class Toggletip extends PopoverContainer {
17
- constructor(hostElement, renderer, ref) {
18
- super(ref);
17
+ constructor(hostElement, ngZone, renderer, changeDetectorRef) {
18
+ super(hostElement, ngZone, renderer, changeDetectorRef);
19
19
  this.hostElement = hostElement;
20
+ this.ngZone = ngZone;
20
21
  this.renderer = renderer;
21
- this.ref = ref;
22
+ this.changeDetectorRef = changeDetectorRef;
22
23
  this.id = `tooltip-${Toggletip.toggletipCounter++}`;
23
24
  this.toggletipClass = true;
24
25
  this.isOpen = false;
@@ -27,6 +28,7 @@ export class Toggletip extends PopoverContainer {
27
28
  this.dropShadow = false;
28
29
  }
29
30
  ngAfterViewInit() {
31
+ this.initializeReferences();
30
32
  // Listen for click events on trigger
31
33
  fromEvent(this.btn.nativeElement, "click")
32
34
  .subscribe((event) => {
@@ -67,7 +69,7 @@ export class Toggletip extends PopoverContainer {
67
69
  }
68
70
  }
69
71
  Toggletip.toggletipCounter = 0;
70
- Toggletip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Toggletip, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
72
+ Toggletip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Toggletip, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
71
73
  Toggletip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: Toggletip, selector: "cds-toggletip, ibm-toggletip", inputs: { id: "id", isOpen: "isOpen" }, host: { listeners: { "keyup": "hostkeys($event)" }, properties: { "class.cds--toggletip": "this.toggletipClass", "class.cds--toggletip--open": "this.isOpen" } }, queries: [{ propertyName: "btn", first: true, predicate: ToggletipButton, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
72
74
  <ng-content select="[cdsToggletipButton]"></ng-content>
73
75
  <cds-popover-content>
@@ -86,7 +88,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
86
88
  </cds-popover-content>
87
89
  `
88
90
  }]
89
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
91
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
90
92
  type: Input
91
93
  }], toggletipClass: [{
92
94
  type: HostBinding,
@@ -103,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
103
105
  type: HostListener,
104
106
  args: ["keyup", ["$event"]]
105
107
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xldGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2dnbGV0aXAvdG9nZ2xldGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFFL0Q7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sU0FBVSxTQUFRLGdCQUFnQjtJQVk5QyxZQUFvQixXQUF1QixFQUFVLFFBQW1CLEVBQVUsR0FBc0I7UUFDdkcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRFEsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUL0YsT0FBRSxHQUFHLFdBQVcsU0FBUyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztRQUVuQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUNQLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJbkUsa0JBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUk5QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNkLHFDQUFxQztRQUNyQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQ3hDLFNBQVMsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzNCLDhFQUE4RTtZQUM5RSwwQkFBMEI7WUFDMUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNoQixRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxRDtpQkFBTTtnQkFDTixRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN2RDtZQUVELElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUosaUdBQWlHO1FBQ2pHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDN0U7SUFDRixDQUFDO0lBR0QsUUFBUSxDQUFDLEtBQW9CO1FBQzVCLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNuQztJQUNGLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNuQztJQUNGLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxLQUFZO1FBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDNUY7SUFDRixDQUFDOztBQTdETSwwQkFBZ0IsR0FBRyxDQUFDLENBQUM7c0dBRGhCLFNBQVM7MEZBQVQsU0FBUywrU0FRUCxlQUFlLDJCQUFVLFVBQVUsb0RBZnZDOzs7OztFQUtUOzJGQUVXLFNBQVM7a0JBVnJCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRTs7Ozs7RUFLVDtpQkFDRDt5SkFJUyxFQUFFO3NCQUFWLEtBQUs7Z0JBRStCLGNBQWM7c0JBQWxELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNpQixNQUFNO3NCQUF6RCxXQUFXO3VCQUFDLDRCQUE0Qjs7c0JBQUcsS0FBSztnQkFFSSxHQUFHO3NCQUF2RCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBb0NuRCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QWZ0ZXJWaWV3SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdENvbnRlbnRDaGlsZCxcblx0RWxlbWVudFJlZixcblx0SG9zdEJpbmRpbmcsXG5cdEhvc3RMaXN0ZW5lcixcblx0SW5wdXQsXG5cdFJlbmRlcmVyMlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFBvcG92ZXJDb250YWluZXIgfSBmcm9tIFwiY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhci9wb3BvdmVyXCI7XG5pbXBvcnQgeyBUb2dnbGV0aXBCdXR0b24gfSBmcm9tIFwiLi90b2dnbGV0aXAtYnV0dG9uLmRpcmVjdGl2ZVwiO1xuXG4vKipcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgVG9nZ2xldGlwTW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBbU2VlIGRlbW9dKC4uLy4uLz9wYXRoPS9zdG9yeS9jb21wb25lbnRzLXRvZ2dsZXRpcC0tYmFzaWMpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtdG9nZ2xldGlwLCBpYm0tdG9nZ2xldGlwXCIsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltjZHNUb2dnbGV0aXBCdXR0b25dXCI+PC9uZy1jb250ZW50PlxuXHRcdDxjZHMtcG9wb3Zlci1jb250ZW50PlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Nkc1RvZ2dsZXRpcENvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuXHRcdDwvY2RzLXBvcG92ZXItY29udGVudD5cblx0YFxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGV0aXAgZXh0ZW5kcyBQb3BvdmVyQ29udGFpbmVyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cdHN0YXRpYyB0b2dnbGV0aXBDb3VudGVyID0gMDtcblxuXHRASW5wdXQoKSBpZCA9IGB0b29sdGlwLSR7VG9nZ2xldGlwLnRvZ2dsZXRpcENvdW50ZXIrK31gO1xuXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tdG9nZ2xldGlwXCIpIHRvZ2dsZXRpcENsYXNzID0gdHJ1ZTtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS10b2dnbGV0aXAtLW9wZW5cIikgQElucHV0KCkgaXNPcGVuID0gZmFsc2U7XG5cblx0QENvbnRlbnRDaGlsZChUb2dnbGV0aXBCdXR0b24sIHsgcmVhZDogRWxlbWVudFJlZiB9KSBidG4hOiBFbGVtZW50UmVmO1xuXG5cdGRvY3VtZW50Q2xpY2sgPSB0aGlzLmhhbmRsZUZvY3VzT3V0LmJpbmQodGhpcyk7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblx0XHRzdXBlcihyZWYpO1xuXHRcdHRoaXMuaGlnaENvbnRyYXN0ID0gdHJ1ZTtcblx0XHR0aGlzLmRyb3BTaGFkb3cgPSBmYWxzZTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHQvLyBMaXN0ZW4gZm9yIGNsaWNrIGV2ZW50cyBvbiB0cmlnZ2VyXG5cdFx0ZnJvbUV2ZW50KHRoaXMuYnRuLm5hdGl2ZUVsZW1lbnQsIFwiY2xpY2tcIilcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuXHRcdFx0XHQvLyBBZGQvUmVtb3ZlIGV2ZW50IGxpc3RlbmVyIGJhc2VkIG9uIGlzT3BlbiB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gdGhlcmVcblx0XHRcdFx0Ly8gYXJlIGEgbG90IG9mIHRvZ2dsZXRpcHNcblx0XHRcdFx0aWYgKHRoaXMuaXNPcGVuKSB7XG5cdFx0XHRcdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZG9jdW1lbnRDbGljayk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZG9jdW1lbnRDbGljayk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmhhbmRsZUV4cGFuc2lvbighdGhpcy5pc09wZW4sIGV2ZW50KTtcblx0XHRcdH0pO1xuXG5cdFx0Ly8gVG9nZ2xldGlwIGlzIG9wZW4gb24gaW5pdGlhbCByZW5kZXIsIGFkZCAnY2xpY2snIGV2ZW50IGxpc3RlbmVyIHRvIGRvY3VtZW50IHNvIHVzZXJzIGNhbiBjbG9zZVxuXHRcdGlmICh0aGlzLmlzT3Blbikge1xuXHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZG9jdW1lbnRDbGljayk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuYnRuKSB7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmJ0bi5uYXRpdmVFbGVtZW50LCBcImFyaWEtY29udHJvbHNcIiwgdGhpcy5pZCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImtleXVwXCIsIFtcIiRldmVudFwiXSlcblx0aG9zdGtleXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAob3BlbiAmJiBldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0dGhpcy5oYW5kbGVFeHBhbnNpb24oZmFsc2UsIGV2ZW50KTtcblx0XHR9XG5cdH1cblxuXHRoYW5kbGVGb2N1c091dChldmVudCkge1xuXHRcdGlmICghdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcblx0XHRcdHRoaXMuaGFuZGxlRXhwYW5zaW9uKGZhbHNlLCBldmVudCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVFeHBhbnNpb24oc3RhdGUgPSBmYWxzZSwgZXZlbnQ6IEV2ZW50KSB7XG5cdFx0dGhpcy5oYW5kbGVDaGFuZ2Uoc3RhdGUsIGV2ZW50KTtcblx0XHRpZiAodGhpcy5idG4pIHtcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuYnRuLm5hdGl2ZUVsZW1lbnQsIFwiYXJpYS1leHBhbmRlZFwiLCB0aGlzLmlzT3Blbi50b1N0cmluZygpKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xldGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2dnbGV0aXAvdG9nZ2xldGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFFL0Q7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sU0FBVSxTQUFRLGdCQUFnQjtJQVk5QyxZQUNXLFdBQXVCLEVBQ3ZCLE1BQWMsRUFDZCxRQUFtQixFQUNuQixpQkFBb0M7UUFFOUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFMOUMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWJ0QyxPQUFFLEdBQUcsV0FBVyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1FBRW5CLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ1AsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUluRSxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBUzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFNUIscUNBQXFDO1FBQ3JDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDeEMsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDM0IsOEVBQThFO1lBQzlFLDBCQUEwQjtZQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzFEO2lCQUFNO2dCQUNOLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3ZEO1lBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFSixpR0FBaUc7UUFDakcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM3RTtJQUNGLENBQUM7SUFHRCxRQUFRLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDbkMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0YsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0YsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLEtBQVk7UUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUM1RjtJQUNGLENBQUM7O0FBcEVNLDBCQUFnQixHQUFHLENBQUMsQ0FBQztzR0FEaEIsU0FBUzswRkFBVCxTQUFTLCtTQVFQLGVBQWUsMkJBQVUsVUFBVSxvREFmdkM7Ozs7O0VBS1Q7MkZBRVcsU0FBUztrQkFWckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFOzs7OztFQUtUO2lCQUNEOzhLQUlTLEVBQUU7c0JBQVYsS0FBSztnQkFFK0IsY0FBYztzQkFBbEQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ2lCLE1BQU07c0JBQXpELFdBQVc7dUJBQUMsNEJBQTRCOztzQkFBRyxLQUFLO2dCQUVJLEdBQUc7c0JBQXZELFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkEyQ25ELFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0Q29udGVudENoaWxkLFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0QmluZGluZyxcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0Tmdab25lLFxuXHRSZW5kZXJlcjJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvcG9wb3ZlclwiO1xuaW1wb3J0IHsgVG9nZ2xldGlwQnV0dG9uIH0gZnJvbSBcIi4vdG9nZ2xldGlwLWJ1dHRvbi5kaXJlY3RpdmVcIjtcblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IFRvZ2dsZXRpcE1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy10b2dnbGV0aXAtLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLXRvZ2dsZXRpcCwgaWJtLXRvZ2dsZXRpcFwiLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbY2RzVG9nZ2xldGlwQnV0dG9uXVwiPjwvbmctY29udGVudD5cblx0XHQ8Y2RzLXBvcG92ZXItY29udGVudD5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltjZHNUb2dnbGV0aXBDb250ZW50XVwiPjwvbmctY29udGVudD5cblx0XHQ8L2Nkcy1wb3BvdmVyLWNvbnRlbnQ+XG5cdGBcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xldGlwIGV4dGVuZHMgUG9wb3ZlckNvbnRhaW5lciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXHRzdGF0aWMgdG9nZ2xldGlwQ291bnRlciA9IDA7XG5cblx0QElucHV0KCkgaWQgPSBgdG9vbHRpcC0ke1RvZ2dsZXRpcC50b2dnbGV0aXBDb3VudGVyKyt9YDtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXRvZ2dsZXRpcFwiKSB0b2dnbGV0aXBDbGFzcyA9IHRydWU7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tdG9nZ2xldGlwLS1vcGVuXCIpIEBJbnB1dCgpIGlzT3BlbiA9IGZhbHNlO1xuXG5cdEBDb250ZW50Q2hpbGQoVG9nZ2xldGlwQnV0dG9uLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgYnRuITogRWxlbWVudFJlZjtcblxuXHRkb2N1bWVudENsaWNrID0gdGhpcy5oYW5kbGVGb2N1c091dC5iaW5kKHRoaXMpO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByb3RlY3RlZCBob3N0RWxlbWVudDogRWxlbWVudFJlZixcblx0XHRwcm90ZWN0ZWQgbmdab25lOiBOZ1pvbmUsXG5cdFx0cHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG5cdFx0cHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuXHQpIHtcblx0XHRzdXBlcihob3N0RWxlbWVudCwgbmdab25lLCByZW5kZXJlciwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXHRcdHRoaXMuaGlnaENvbnRyYXN0ID0gdHJ1ZTtcblx0XHR0aGlzLmRyb3BTaGFkb3cgPSBmYWxzZTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmluaXRpYWxpemVSZWZlcmVuY2VzKCk7XG5cblx0XHQvLyBMaXN0ZW4gZm9yIGNsaWNrIGV2ZW50cyBvbiB0cmlnZ2VyXG5cdFx0ZnJvbUV2ZW50KHRoaXMuYnRuLm5hdGl2ZUVsZW1lbnQsIFwiY2xpY2tcIilcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuXHRcdFx0XHQvLyBBZGQvUmVtb3ZlIGV2ZW50IGxpc3RlbmVyIGJhc2VkIG9uIGlzT3BlbiB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIHdoZW4gdGhlcmVcblx0XHRcdFx0Ly8gYXJlIGEgbG90IG9mIHRvZ2dsZXRpcHNcblx0XHRcdFx0aWYgKHRoaXMuaXNPcGVuKSB7XG5cdFx0XHRcdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZG9jdW1lbnRDbGljayk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZG9jdW1lbnRDbGljayk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmhhbmRsZUV4cGFuc2lvbighdGhpcy5pc09wZW4sIGV2ZW50KTtcblx0XHRcdH0pO1xuXG5cdFx0Ly8gVG9nZ2xldGlwIGlzIG9wZW4gb24gaW5pdGlhbCByZW5kZXIsIGFkZCAnY2xpY2snIGV2ZW50IGxpc3RlbmVyIHRvIGRvY3VtZW50IHNvIHVzZXJzIGNhbiBjbG9zZVxuXHRcdGlmICh0aGlzLmlzT3Blbikge1xuXHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZG9jdW1lbnRDbGljayk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuYnRuKSB7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmJ0bi5uYXRpdmVFbGVtZW50LCBcImFyaWEtY29udHJvbHNcIiwgdGhpcy5pZCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImtleXVwXCIsIFtcIiRldmVudFwiXSlcblx0aG9zdGtleXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAob3BlbiAmJiBldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0dGhpcy5oYW5kbGVFeHBhbnNpb24oZmFsc2UsIGV2ZW50KTtcblx0XHR9XG5cdH1cblxuXHRoYW5kbGVGb2N1c091dChldmVudCkge1xuXHRcdGlmICghdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcblx0XHRcdHRoaXMuaGFuZGxlRXhwYW5zaW9uKGZhbHNlLCBldmVudCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVFeHBhbnNpb24oc3RhdGUgPSBmYWxzZSwgZXZlbnQ6IEV2ZW50KSB7XG5cdFx0dGhpcy5oYW5kbGVDaGFuZ2Uoc3RhdGUsIGV2ZW50KTtcblx0XHRpZiAodGhpcy5idG4pIHtcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuYnRuLm5hdGl2ZUVsZW1lbnQsIFwiYXJpYS1leHBhbmRlZFwiLCB0aGlzLmlzT3Blbi50b1N0cmluZygpKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
@@ -12,14 +12,13 @@ import * as i1 from "@angular/common";
12
12
  * [See demo](../../?path=/story/components-tooltip-definition--basic)
13
13
  */
14
14
  export class TooltipDefinition extends PopoverContainer {
15
- constructor(ref) {
16
- super(ref);
17
- this.ref = ref;
15
+ constructor(elementRef, ngZone, renderer, changeDetectorRef) {
16
+ super(elementRef, ngZone, renderer, changeDetectorRef);
17
+ this.elementRef = elementRef;
18
+ this.ngZone = ngZone;
19
+ this.renderer = renderer;
20
+ this.changeDetectorRef = changeDetectorRef;
18
21
  this.id = `tooltip-definition-${TooltipDefinition.tooltipCount++}`;
19
- /**
20
- * Override alignment options
21
- */
22
- this.align = "bottom";
23
22
  this.highContrast = true;
24
23
  this.dropShadow = false;
25
24
  }
@@ -43,8 +42,8 @@ export class TooltipDefinition extends PopoverContainer {
43
42
  }
44
43
  }
45
44
  TooltipDefinition.tooltipCount = 0;
46
- TooltipDefinition.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipDefinition, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
47
- TooltipDefinition.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TooltipDefinition, selector: "cds-tooltip-definition, ibm-tooltip-definition", inputs: { id: "id", align: "align", description: "description" }, host: { listeners: { "keyup": "hostkeys($event)", "mouseleave": "mouseleave($event)" } }, usesInheritance: true, ngImport: i0, template: `
45
+ TooltipDefinition.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipDefinition, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
46
+ TooltipDefinition.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TooltipDefinition, selector: "cds-tooltip-definition, ibm-tooltip-definition", inputs: { id: "id", description: "description" }, host: { listeners: { "keyup": "hostkeys($event)", "mouseleave": "mouseleave($event)" } }, usesInheritance: true, ngImport: i0, template: `
48
47
  <button
49
48
  class="cds--definition-term"
50
49
  [attr.aria-controls]="id"
@@ -63,8 +62,9 @@ TooltipDefinition.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
63
62
  <span class="cds--popover-content cds--definition-tooltip">
64
63
  <ng-container *ngIf="!isTemplate(description)">{{description}}</ng-container>
65
64
  <ng-template *ngIf="isTemplate(description)" [ngTemplateOutlet]="description"></ng-template>
65
+ <span *ngIf="autoAlign" class="cds--popover-caret cds--popover--auto-align"></span>
66
66
  </span>
67
- <span class="cds--popover-caret"></span>
67
+ <span *ngIf="!autoAlign" class="cds--popover-caret"></span>
68
68
  </span>
69
69
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipDefinition, decorators: [{
@@ -91,14 +91,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
91
91
  <span class="cds--popover-content cds--definition-tooltip">
92
92
  <ng-container *ngIf="!isTemplate(description)">{{description}}</ng-container>
93
93
  <ng-template *ngIf="isTemplate(description)" [ngTemplateOutlet]="description"></ng-template>
94
+ <span *ngIf="autoAlign" class="cds--popover-caret cds--popover--auto-align"></span>
94
95
  </span>
95
- <span class="cds--popover-caret"></span>
96
+ <span *ngIf="!autoAlign" class="cds--popover-caret"></span>
96
97
  </span>
97
98
  `
98
99
  }]
99
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
100
- type: Input
101
- }], align: [{
100
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
102
101
  type: Input
103
102
  }], description: [{
104
103
  type: Input
@@ -109,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
109
108
  type: HostListener,
110
109
  args: ["mouseleave", ["$event"]]
111
110
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbi10b29wdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29sdGlwL2RlZmluaXRpb24tdG9vcHRpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxXQUFXLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUVyRTs7Ozs7Ozs7R0FRRztBQTRCSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBZ0J0RCxZQUFvQixHQUFzQjtRQUN6QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEUSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWJqQyxPQUFFLEdBQUcsc0JBQXNCLGlCQUFpQixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7UUFFdkU7O1dBRUc7UUFDTSxVQUFLLEdBQ2lDLFFBQVEsQ0FBQztRQVN2RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVk7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHRCxRQUFRLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNoQztJQUNGLENBQUM7SUFHRCxVQUFVLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBSztRQUN0QixPQUFPLEtBQUssWUFBWSxXQUFXLENBQUM7SUFDckMsQ0FBQzs7QUE1Q00sOEJBQVksR0FBRyxDQUFDLENBQUM7OEdBRFosaUJBQWlCO2tHQUFqQixpQkFBaUIseVFBeEJuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXNCVDsyRkFFVyxpQkFBaUI7a0JBM0I3QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnREFBZ0Q7b0JBQzFELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzQlQ7aUJBQ0Q7d0dBSVMsRUFBRTtzQkFBVixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQWlCTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNqQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEhvc3RMaXN0ZW5lcixcblx0SW5wdXQsXG5cdFRlbXBsYXRlUmVmXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvcG9wb3ZlclwiO1xuXG4vKipcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy10b29sdGlwLWRlZmluaXRpb24tLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLXRvb2x0aXAtZGVmaW5pdGlvbiwgaWJtLXRvb2x0aXAtZGVmaW5pdGlvblwiLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0dGVtcGxhdGU6IGBcblx0XHQ8YnV0dG9uXG5cdFx0XHRjbGFzcz1cImNkcy0tZGVmaW5pdGlvbi10ZXJtXCJcblx0XHRcdFthdHRyLmFyaWEtY29udHJvbHNdPVwiaWRcIlxuXHRcdFx0W2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW5cIlxuXHRcdFx0KGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuXHRcdFx0KGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCI+XG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0PC9idXR0b24+XG5cdFx0PHNwYW5cblx0XHRcdCpuZ0lmPVwiZGVzY3JpcHRpb25cIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLXBvcG92ZXJcIlxuXHRcdFx0W2lkXT1cImlkXCJcblx0XHRcdFthdHRyLmFyaWEtaGlkZGVuXT1cImlzT3BlblwiXG5cdFx0XHRyb2xlPVwidG9vbHRpcFwiPlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJjZHMtLXBvcG92ZXItY29udGVudCBjZHMtLWRlZmluaXRpb24tdG9vbHRpcFwiPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoZGVzY3JpcHRpb24pXCI+e3tkZXNjcmlwdGlvbn19PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUoZGVzY3JpcHRpb24pXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVzY3JpcHRpb25cIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9zcGFuPlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJjZHMtLXBvcG92ZXItY2FyZXRcIj48L3NwYW4+XG5cdFx0PC9zcGFuPlxuXHRgXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEZWZpbml0aW9uIGV4dGVuZHMgUG9wb3ZlckNvbnRhaW5lciB7XG5cdHN0YXRpYyB0b29sdGlwQ291bnQgPSAwO1xuXG5cdEBJbnB1dCgpIGlkID0gYHRvb2x0aXAtZGVmaW5pdGlvbi0ke1Rvb2x0aXBEZWZpbml0aW9uLnRvb2x0aXBDb3VudCsrfWA7XG5cblx0LyoqXG5cdCAqIE92ZXJyaWRlIGFsaWdubWVudCBvcHRpb25zXG5cdCAqL1xuXHRASW5wdXQoKSBhbGlnbjogXCJ0b3BcIiB8IFwidG9wLWxlZnRcIiB8IFwidG9wLXJpZ2h0XCJcblx0XHR8IFwiYm90dG9tXCIgfCBcImJvdHRvbS1sZWZ0XCIgfCBcImJvdHRvbS1yaWdodFwiID0gXCJib3R0b21cIjtcblxuXHQvKipcblx0ICogVGhlIHN0cmluZyBvciB0ZW1wbGF0ZSBjb250ZW50IHRvIGJlIGV4cG9zZWQgYnkgdGhlIHRvb2x0aXAuXG5cdCAqL1xuXHRASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblx0XHRzdXBlcihyZWYpO1xuXHRcdHRoaXMuaGlnaENvbnRyYXN0ID0gdHJ1ZTtcblx0XHR0aGlzLmRyb3BTaGFkb3cgPSBmYWxzZTtcblx0fVxuXG5cdG9uQmx1cihldmVudDogRXZlbnQpIHtcblx0XHR0aGlzLmhhbmRsZUNoYW5nZShmYWxzZSwgZXZlbnQpO1xuXHR9XG5cblx0b25DbGljayhldmVudDogRXZlbnQpIHtcblx0XHR0aGlzLmhhbmRsZUNoYW5nZSghdGhpcy5pc09wZW4sIGV2ZW50KTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJrZXl1cFwiLCBbXCIkZXZlbnRcIl0pXG5cdGhvc3RrZXlzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuaXNPcGVuICYmIGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xuXHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHR0aGlzLmhhbmRsZUNoYW5nZShmYWxzZSwgZXZlbnQpO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsIFtcIiRldmVudFwiXSlcblx0bW91c2VsZWF2ZShldmVudCkge1xuXHRcdHRoaXMuaGFuZGxlQ2hhbmdlKGZhbHNlLCBldmVudCk7XG5cdH1cblxuXHRwdWJsaWMgaXNUZW1wbGF0ZSh2YWx1ZSkge1xuXHRcdHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuXHR9XG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbi10b29wdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29sdGlwL2RlZmluaXRpb24tdG9vcHRpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxXQUFXLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUVyRTs7Ozs7Ozs7R0FRRztBQTZCSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBVXRELFlBQ1csVUFBc0IsRUFDdEIsTUFBYyxFQUNkLFFBQW1CLEVBQ25CLGlCQUFvQztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUw3QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFYdEMsT0FBRSxHQUFHLHNCQUFzQixpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1FBY3RFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBWTtRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUdELFFBQVEsQ0FBQyxLQUFvQjtRQUM1QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDMUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO0lBQ0YsQ0FBQztJQUdELFVBQVUsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFLO1FBQ3RCLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztJQUNyQyxDQUFDOztBQTNDTSw4QkFBWSxHQUFHLENBQUMsQ0FBQzs4R0FEWixpQkFBaUI7a0dBQWpCLGlCQUFpQix5UEF6Qm5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVCVDsyRkFFVyxpQkFBaUI7a0JBNUI3QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnREFBZ0Q7b0JBQzFELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBdUJUO2lCQUNEOzhLQUlTLEVBQUU7c0JBQVYsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQXNCTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNqQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3RMaXN0ZW5lcixcblx0SW5wdXQsXG5cdE5nWm9uZSxcblx0UmVuZGVyZXIyLFxuXHRUZW1wbGF0ZVJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lciB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL3BvcG92ZXJcIjtcblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtdG9vbHRpcC1kZWZpbml0aW9uLS1iYXNpYylcbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy10b29sdGlwLWRlZmluaXRpb24sIGlibS10b29sdGlwLWRlZmluaXRpb25cIixcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGJ1dHRvblxuXHRcdFx0Y2xhc3M9XCJjZHMtLWRlZmluaXRpb24tdGVybVwiXG5cdFx0XHRbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkXCJcblx0XHRcdFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcblx0XHRcdChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcblx0XHRcdChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuXHRcdFx0dHlwZT1cImJ1dHRvblwiPlxuXHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdDwvYnV0dG9uPlxuXHRcdDxzcGFuXG5cdFx0XHQqbmdJZj1cImRlc2NyaXB0aW9uXCJcblx0XHRcdGNsYXNzPVwiY2RzLS1wb3BvdmVyXCJcblx0XHRcdFtpZF09XCJpZFwiXG5cdFx0XHRbYXR0ci5hcmlhLWhpZGRlbl09XCJpc09wZW5cIlxuXHRcdFx0cm9sZT1cInRvb2x0aXBcIj5cblx0XHRcdDxzcGFuIGNsYXNzPVwiY2RzLS1wb3BvdmVyLWNvbnRlbnQgY2RzLS1kZWZpbml0aW9uLXRvb2x0aXBcIj5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKGRlc2NyaXB0aW9uKVwiPnt7ZGVzY3JpcHRpb259fTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGRlc2NyaXB0aW9uKVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlc2NyaXB0aW9uXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PHNwYW4gKm5nSWY9XCJhdXRvQWxpZ25cIiBjbGFzcz1cImNkcy0tcG9wb3Zlci1jYXJldCBjZHMtLXBvcG92ZXItLWF1dG8tYWxpZ25cIj48L3NwYW4+XG5cdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8c3BhbiAqbmdJZj1cIiFhdXRvQWxpZ25cIiBjbGFzcz1cImNkcy0tcG9wb3Zlci1jYXJldFwiPjwvc3Bhbj5cblx0XHQ8L3NwYW4+XG5cdGBcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERlZmluaXRpb24gZXh0ZW5kcyBQb3BvdmVyQ29udGFpbmVyIHtcblx0c3RhdGljIHRvb2x0aXBDb3VudCA9IDA7XG5cblx0QElucHV0KCkgaWQgPSBgdG9vbHRpcC1kZWZpbml0aW9uLSR7VG9vbHRpcERlZmluaXRpb24udG9vbHRpcENvdW50Kyt9YDtcblxuXHQvKipcblx0ICogVGhlIHN0cmluZyBvciB0ZW1wbGF0ZSBjb250ZW50IHRvIGJlIGV4cG9zZWQgYnkgdGhlIHRvb2x0aXAuXG5cdCAqL1xuXHRASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcblx0XHRwcm90ZWN0ZWQgbmdab25lOiBOZ1pvbmUsXG5cdFx0cHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG5cdFx0cHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuXHQpIHtcblx0XHRzdXBlcihlbGVtZW50UmVmLCBuZ1pvbmUsIHJlbmRlcmVyLCBjaGFuZ2VEZXRlY3RvclJlZik7XG5cdFx0dGhpcy5oaWdoQ29udHJhc3QgPSB0cnVlO1xuXHRcdHRoaXMuZHJvcFNoYWRvdyA9IGZhbHNlO1xuXHR9XG5cblx0b25CbHVyKGV2ZW50OiBFdmVudCkge1xuXHRcdHRoaXMuaGFuZGxlQ2hhbmdlKGZhbHNlLCBldmVudCk7XG5cdH1cblxuXHRvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuXHRcdHRoaXMuaGFuZGxlQ2hhbmdlKCF0aGlzLmlzT3BlbiwgZXZlbnQpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImtleXVwXCIsIFtcIiRldmVudFwiXSlcblx0aG9zdGtleXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAodGhpcy5pc09wZW4gJiYgZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSB7XG5cdFx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHRcdHRoaXMuaGFuZGxlQ2hhbmdlKGZhbHNlLCBldmVudCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcIm1vdXNlbGVhdmVcIiwgW1wiJGV2ZW50XCJdKVxuXHRtb3VzZWxlYXZlKGV2ZW50KSB7XG5cdFx0dGhpcy5oYW5kbGVDaGFuZ2UoZmFsc2UsIGV2ZW50KTtcblx0fVxuXG5cdHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG5cdH1cbn1cbiJdfQ==