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.
- package/docs/documentation/components/DatePicker.html +61 -75
- package/docs/documentation/components/PopoverContent.html +215 -11
- package/docs/documentation/components/Toggletip.html +843 -460
- package/docs/documentation/components/Tooltip.html +1057 -607
- package/docs/documentation/components/TooltipDefinition.html +977 -538
- package/docs/documentation/coverage.html +20 -20
- package/docs/documentation/dependencies.html +3 -1
- package/docs/documentation/directives/PopoverContainer.html +1019 -638
- package/docs/documentation/images/coverage-badge-documentation.svg +1 -1
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/miscellaneous/typealiases.html +21 -0
- package/docs/documentation/modules/ThemeModule/dependencies.svg +15 -15
- package/docs/documentation/modules/ThemeModule.html +15 -15
- package/docs/documentation/modules/TilesModule/dependencies.svg +99 -99
- package/docs/documentation/modules/TilesModule.html +99 -99
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TimePickerModule.html +4 -4
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +37 -37
- package/docs/documentation/modules/ToggletipModule.html +37 -37
- package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TooltipModule.html +4 -4
- package/docs/documentation/modules/TreeviewModule/dependencies.svg +38 -38
- package/docs/documentation/modules/TreeviewModule.html +38 -38
- package/docs/documentation.json +1611 -837
- package/docs/storybook/1562.1e6a79b6.iframe.bundle.js +1 -0
- package/docs/storybook/4578.c90d4756.iframe.bundle.js +1 -0
- package/docs/storybook/datepicker-datepicker-stories.1d3d1000.iframe.bundle.js +1 -0
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/index.json +1 -1
- package/docs/storybook/main.css +1156 -571
- package/docs/storybook/main.fbe9a501.iframe.bundle.js +1 -0
- package/docs/storybook/popover-popover-stories.db1735d2.iframe.bundle.js +1 -0
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/runtime~main.e6146719.iframe.bundle.js +1 -0
- package/docs/storybook/stories.json +1 -1
- package/docs/storybook/toggletip-toggletip-stories.7265233d.iframe.bundle.js +1 -0
- package/docs/storybook/tooltip-definition-tooptip-stories.af38c73f.iframe.bundle.js +1 -0
- package/docs/storybook/tooltip-tooltip-stories.65d7c699.iframe.bundle.js +1 -0
- package/esm2020/datepicker/datepicker.component.mjs +2 -9
- package/esm2020/popover/popover-content.component.mjs +33 -13
- package/esm2020/popover/popover.directive.mjs +216 -97
- package/esm2020/toggletip/toggletip.component.mjs +8 -6
- package/esm2020/tooltip/definition-tooptip.component.mjs +14 -15
- package/esm2020/tooltip/tooltip.component.mjs +13 -8
- package/fesm2015/carbon-components-angular-datepicker.mjs +1 -8
- package/fesm2015/carbon-components-angular-datepicker.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-popover.mjs +248 -108
- package/fesm2015/carbon-components-angular-popover.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-toggletip.mjs +7 -5
- package/fesm2015/carbon-components-angular-toggletip.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-tooltip.mjs +25 -21
- package/fesm2015/carbon-components-angular-tooltip.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-datepicker.mjs +1 -8
- package/fesm2020/carbon-components-angular-datepicker.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-popover.mjs +247 -108
- package/fesm2020/carbon-components-angular-popover.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-toggletip.mjs +7 -5
- package/fesm2020/carbon-components-angular-toggletip.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-tooltip.mjs +25 -21
- package/fesm2020/carbon-components-angular-tooltip.mjs.map +1 -1
- package/package.json +3 -2
- package/popover/popover-content.component.d.ts +7 -1
- package/popover/popover.directive.d.ts +74 -29
- package/toggletip/toggletip.component.d.ts +6 -5
- package/tooltip/definition-tooptip.component.d.ts +7 -8
- package/tooltip/tooltip.component.d.ts +6 -3
- package/docs/storybook/4578.93dc52a7.iframe.bundle.js +0 -1
- package/docs/storybook/datepicker-datepicker-stories.96effc6c.iframe.bundle.js +0 -1
- package/docs/storybook/main.d4ed0d37.iframe.bundle.js +0 -1
- package/docs/storybook/popover-popover-stories.cc1684df.iframe.bundle.js +0 -1
- package/docs/storybook/runtime~main.2883decf.iframe.bundle.js +0 -1
- package/docs/storybook/toggletip-toggletip-stories.22e37008.iframe.bundle.js +0 -1
- package/docs/storybook/tooltip-definition-tooptip-stories.2e1a211c.iframe.bundle.js +0 -1
- package/docs/storybook/tooltip-tooltip-stories.6a4a1383.iframe.bundle.js +0 -1
|
@@ -1,19 +1,18 @@
|
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Directive,
|
|
3
|
+
import { EventEmitter, Directive, Input, Output, HostBinding, Component, ViewChild, NgModule } from '@angular/core';
|
|
4
|
+
import { autoUpdate, computePosition, offset, flip, arrow } from '@floating-ui/dom';
|
|
5
|
+
import * as i1 from '@angular/common';
|
|
3
6
|
import { CommonModule } from '@angular/common';
|
|
4
7
|
|
|
5
|
-
/**
|
|
6
|
-
* Applies popover container styling to the element it is applied to. Get started with importing the module:
|
|
7
|
-
*
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { PopoverModule } from 'carbon-components-angular';
|
|
10
|
-
* ```
|
|
11
|
-
*
|
|
12
|
-
* [See demo](../../?path=/story/components-popover--basic)
|
|
13
|
-
*/
|
|
14
8
|
class PopoverContainer {
|
|
15
|
-
constructor(changeDetectorRef) {
|
|
9
|
+
constructor(elementRef, ngZone, renderer, changeDetectorRef) {
|
|
10
|
+
this.elementRef = elementRef;
|
|
11
|
+
this.ngZone = ngZone;
|
|
12
|
+
this.renderer = renderer;
|
|
16
13
|
this.changeDetectorRef = changeDetectorRef;
|
|
14
|
+
this._align = "bottom";
|
|
15
|
+
this.alignmentClassPrefix = "cds--popover--";
|
|
17
16
|
/**
|
|
18
17
|
* Emits an event when the dialog is closed
|
|
19
18
|
*/
|
|
@@ -26,110 +25,229 @@ class PopoverContainer {
|
|
|
26
25
|
* Emits an event when the state of `isOpen` changes. Allows `isOpen` to be double bound
|
|
27
26
|
*/
|
|
28
27
|
this.isOpenChange = new EventEmitter();
|
|
28
|
+
/**
|
|
29
|
+
* Show caret at the alignment position
|
|
30
|
+
*/
|
|
29
31
|
this.caret = true;
|
|
32
|
+
/**
|
|
33
|
+
* Enable drop shadow around the popover container
|
|
34
|
+
*/
|
|
30
35
|
this.dropShadow = true;
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Enable high contrast for popover container
|
|
38
|
+
*/
|
|
39
|
+
this.highContrast = true;
|
|
40
|
+
/**
|
|
41
|
+
* **Experimental**: Use floating-ui to position the tooltip
|
|
42
|
+
* This is not toggleable - should be sent once
|
|
43
|
+
*/
|
|
44
|
+
this.autoAlign = false;
|
|
33
45
|
this.containerClass = true;
|
|
34
|
-
this.
|
|
35
|
-
}
|
|
36
|
-
// Top
|
|
37
|
-
get alignmentTopClass() {
|
|
38
|
-
return this.align === "top";
|
|
39
|
-
}
|
|
40
|
-
get alignmentTopLeftClass() {
|
|
41
|
-
return this.align === "top-left";
|
|
42
|
-
}
|
|
43
|
-
get alignmentTopRightClass() {
|
|
44
|
-
return this.align === "top-right";
|
|
45
|
-
}
|
|
46
|
-
// Bottom
|
|
47
|
-
get alignmentBottomClass() {
|
|
48
|
-
return this.align === "bottom";
|
|
49
|
-
}
|
|
50
|
-
get alignmentBottomLeftClass() {
|
|
51
|
-
return this.align === "bottom-left";
|
|
52
|
-
}
|
|
53
|
-
get alignmentBottomRightClass() {
|
|
54
|
-
return this.align === "bottom-right";
|
|
55
|
-
}
|
|
56
|
-
// Left
|
|
57
|
-
get alignmentLeftClass() {
|
|
58
|
-
return this.align === "left";
|
|
59
|
-
}
|
|
60
|
-
get alignmentLeftTopClass() {
|
|
61
|
-
return this.align === "left-top";
|
|
62
|
-
}
|
|
63
|
-
get alignmentLeftBottomClass() {
|
|
64
|
-
return this.align === "left-bottom";
|
|
65
|
-
}
|
|
66
|
-
// Right
|
|
67
|
-
get alignmentRightClass() {
|
|
68
|
-
return this.align === "right";
|
|
69
|
-
}
|
|
70
|
-
get alignmentRightTopClass() {
|
|
71
|
-
return this.align === "right-top";
|
|
46
|
+
this.isOpen = false;
|
|
72
47
|
}
|
|
73
|
-
|
|
74
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Set alignment of popover
|
|
50
|
+
* As of v5, `oldPlacements` are now deprecated in favor of Placements
|
|
51
|
+
*
|
|
52
|
+
* When `autoAlign` is set to `true`, alignment may change for best placement
|
|
53
|
+
*/
|
|
54
|
+
set align(alignment) {
|
|
55
|
+
// If alignment is not passed, the default value will be `undefined`.
|
|
56
|
+
if (!alignment) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const previousAlignment = this._align;
|
|
60
|
+
switch (alignment) {
|
|
61
|
+
case "top-left":
|
|
62
|
+
this._align = "top-start";
|
|
63
|
+
break;
|
|
64
|
+
case "top-right":
|
|
65
|
+
this._align = "top-end";
|
|
66
|
+
break;
|
|
67
|
+
case "bottom-left":
|
|
68
|
+
this._align = "bottom-start";
|
|
69
|
+
break;
|
|
70
|
+
case "bottom-right":
|
|
71
|
+
this._align = "bottom-end";
|
|
72
|
+
break;
|
|
73
|
+
case "left-top":
|
|
74
|
+
this._align = "left-start";
|
|
75
|
+
break;
|
|
76
|
+
case "left-bottom":
|
|
77
|
+
this._align = "left-end";
|
|
78
|
+
break;
|
|
79
|
+
case "right-top":
|
|
80
|
+
this._align = "right-start";
|
|
81
|
+
break;
|
|
82
|
+
case "right-bottom":
|
|
83
|
+
this._align = "right-end";
|
|
84
|
+
break;
|
|
85
|
+
default:
|
|
86
|
+
this._align = alignment;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
this.updateAlignmentClass(this._align, previousAlignment);
|
|
75
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Handles emitting open/close event
|
|
93
|
+
* @param open - Is the popover container open
|
|
94
|
+
* @param event - Event
|
|
95
|
+
*/
|
|
76
96
|
handleChange(open, event) {
|
|
77
|
-
|
|
97
|
+
// We only emit the event when parameter has an event to keep existing behavior
|
|
98
|
+
if ((this.isOpen !== open) && event) {
|
|
78
99
|
this.isOpenChange.emit(open);
|
|
79
100
|
}
|
|
80
101
|
if (open) {
|
|
81
|
-
|
|
102
|
+
if (event) {
|
|
103
|
+
this.onOpen.emit(event);
|
|
104
|
+
}
|
|
105
|
+
// when auto alignment is enabled, use auto update to set the placement for the element
|
|
106
|
+
if (this.autoAlign) {
|
|
107
|
+
if (this.caretRef) {
|
|
108
|
+
// Get caret offset/height property
|
|
109
|
+
// Getting computed styles once every open, otherwise expensive.
|
|
110
|
+
const computedStyle = getComputedStyle(this.caretRef);
|
|
111
|
+
const offset = computedStyle.getPropertyValue("--cds-popover-offset");
|
|
112
|
+
const height = computedStyle.getPropertyValue("--cds-popover-caret-height");
|
|
113
|
+
this.caretOffset = ((offset === null || offset === void 0 ? void 0 : offset.includes("px")) ? Number(offset.split("px", 1)[0]) : Number(offset.split("rem", 1)[0]) * 16) || 10;
|
|
114
|
+
this.caretHeight = ((height === null || height === void 0 ? void 0 : height.includes("px")) ? Number(height.split("px", 1)[0]) : Number(height.split("rem", 1)[0]) * 16) || 6;
|
|
115
|
+
}
|
|
116
|
+
if (this.elementRef.nativeElement && this.popoverContentRef) {
|
|
117
|
+
this.unmountFloatingElement = autoUpdate(this.elementRef.nativeElement, this.popoverContentRef, this.recomputePosition.bind(this));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
82
120
|
}
|
|
83
121
|
else {
|
|
84
|
-
this.
|
|
122
|
+
this.cleanUp();
|
|
123
|
+
if (event) {
|
|
124
|
+
this.onClose.emit(event);
|
|
125
|
+
}
|
|
85
126
|
}
|
|
86
127
|
this.isOpen = open;
|
|
87
128
|
this.changeDetectorRef.markForCheck();
|
|
88
129
|
}
|
|
130
|
+
roundByDPR(value) {
|
|
131
|
+
const dpr = window.devicePixelRatio || 1;
|
|
132
|
+
return Math.round(value * dpr) / dpr;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Compute position of tooltip when autoAlign is enabled
|
|
136
|
+
*/
|
|
137
|
+
recomputePosition() {
|
|
138
|
+
// Run outside of angular zone to avoid unnecessary change detection and rely on floating-ui
|
|
139
|
+
this.ngZone.runOutsideAngular(() => __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
const { x, y, placement, middlewareData } = yield computePosition(this.elementRef.nativeElement, this.popoverContentRef, {
|
|
141
|
+
placement: this._align,
|
|
142
|
+
strategy: "fixed",
|
|
143
|
+
middleware: [
|
|
144
|
+
offset(this.caretOffset),
|
|
145
|
+
flip({ fallbackAxisSideDirection: "start" }),
|
|
146
|
+
arrow({ element: this.caretRef })
|
|
147
|
+
]
|
|
148
|
+
});
|
|
149
|
+
const previousAlignment = this._align;
|
|
150
|
+
this._align = placement;
|
|
151
|
+
this.updateAlignmentClass(this._align, previousAlignment);
|
|
152
|
+
// Using CSSOM to manipulate CSS to avoid content security policy inline-src
|
|
153
|
+
// https://github.com/w3c/webappsec-csp/issues/212
|
|
154
|
+
Object.assign(this.popoverContentRef.style, {
|
|
155
|
+
position: "fixed",
|
|
156
|
+
top: "0",
|
|
157
|
+
left: "0",
|
|
158
|
+
// Using transform instead of top/left position to improve performance
|
|
159
|
+
transform: `translate(${this.roundByDPR(x)}px,${this.roundByDPR(y)}px)`
|
|
160
|
+
});
|
|
161
|
+
if (middlewareData.arrow) {
|
|
162
|
+
const { x: arrowX, y: arrowY } = middlewareData.arrow;
|
|
163
|
+
const staticSide = {
|
|
164
|
+
top: "bottom",
|
|
165
|
+
right: "left",
|
|
166
|
+
bottom: "top",
|
|
167
|
+
left: "right"
|
|
168
|
+
}[placement.split("-")[0]];
|
|
169
|
+
this.caretRef.style.left = arrowX != null ? `${arrowX}px` : "";
|
|
170
|
+
this.caretRef.style.top = arrowY != null ? `${arrowY}px` : "";
|
|
171
|
+
this.caretRef.style.right = "";
|
|
172
|
+
this.caretRef.style.bottom = "";
|
|
173
|
+
if (staticSide) {
|
|
174
|
+
this.caretRef.style[staticSide] = `${-this.caretHeight}px`;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Close the popover and reopen it with updated values without emitting an event
|
|
181
|
+
* @param changes
|
|
182
|
+
*/
|
|
183
|
+
ngOnChanges(changes) {
|
|
184
|
+
// Close and reopen the popover, handle alignment/programmatic open/close
|
|
185
|
+
const originalState = this.isOpen;
|
|
186
|
+
this.handleChange(false);
|
|
187
|
+
// Ignore first change since content is not initialized
|
|
188
|
+
if (changes.autoAlign && !changes.autoAlign.firstChange) {
|
|
189
|
+
// Reset the inline styles
|
|
190
|
+
this.popoverContentRef = this.elementRef.nativeElement.querySelector(".cds--popover-content");
|
|
191
|
+
this.popoverContentRef.setAttribute("style", "");
|
|
192
|
+
this.caretRef = this.elementRef.nativeElement.querySelector("span.cds--popover-caret");
|
|
193
|
+
}
|
|
194
|
+
this.handleChange(originalState);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Handle initialization of element
|
|
198
|
+
*/
|
|
199
|
+
ngAfterViewInit() {
|
|
200
|
+
this.initializeReferences();
|
|
201
|
+
}
|
|
202
|
+
initializeReferences() {
|
|
203
|
+
this.updateAlignmentClass(this._align);
|
|
204
|
+
// Initialize html references since they will not change and are required for popover components
|
|
205
|
+
this.popoverContentRef = this.elementRef.nativeElement.querySelector(".cds--popover-content");
|
|
206
|
+
this.caretRef = this.elementRef.nativeElement.querySelector("span.cds--popover-caret");
|
|
207
|
+
// Handle initial isOpen
|
|
208
|
+
this.handleChange(this.isOpen);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Clean up
|
|
212
|
+
*/
|
|
213
|
+
ngOnDestroy() {
|
|
214
|
+
this.cleanUp();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Clean up `autoUpdate` if auto alignment is enabled
|
|
218
|
+
*/
|
|
219
|
+
cleanUp() {
|
|
220
|
+
if (this.unmountFloatingElement) {
|
|
221
|
+
this.unmountFloatingElement();
|
|
222
|
+
}
|
|
223
|
+
this.unmountFloatingElement = undefined;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Replace existing previous alignment class with new
|
|
227
|
+
* @param previousAlignment
|
|
228
|
+
*/
|
|
229
|
+
updateAlignmentClass(newAlignment, previousAlignment) {
|
|
230
|
+
if (this.elementRef.nativeElement && previousAlignment !== newAlignment) {
|
|
231
|
+
const regexp = new RegExp("right|top|left|bottom");
|
|
232
|
+
// Since we are constantly switching, it's safer to delete all matching class names
|
|
233
|
+
this.elementRef.nativeElement.classList.forEach(className => {
|
|
234
|
+
if (regexp.test(className)) {
|
|
235
|
+
this.renderer.removeClass(this.elementRef.nativeElement, `${className}`);
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
this.renderer.addClass(this.elementRef.nativeElement, `${this.alignmentClassPrefix}${newAlignment}`);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
89
241
|
}
|
|
90
|
-
PopoverContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContainer, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
-
PopoverContainer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: PopoverContainer, selector: "[cdsPopover], [ibmPopover]", inputs: { caret: "caret", dropShadow: "dropShadow", highContrast: "highContrast",
|
|
242
|
+
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 });
|
|
243
|
+
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 });
|
|
92
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContainer, decorators: [{
|
|
93
245
|
type: Directive,
|
|
94
246
|
args: [{
|
|
95
247
|
selector: "[cdsPopover], [ibmPopover]"
|
|
96
248
|
}]
|
|
97
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
98
|
-
type:
|
|
99
|
-
args: ["class.cds--popover--top"]
|
|
100
|
-
}], alignmentTopLeftClass: [{
|
|
101
|
-
type: HostBinding,
|
|
102
|
-
args: ["class.cds--popover--top-left"]
|
|
103
|
-
}], alignmentTopRightClass: [{
|
|
104
|
-
type: HostBinding,
|
|
105
|
-
args: ["class.cds--popover--top-right"]
|
|
106
|
-
}], alignmentBottomClass: [{
|
|
107
|
-
type: HostBinding,
|
|
108
|
-
args: ["class.cds--popover--bottom"]
|
|
109
|
-
}], alignmentBottomLeftClass: [{
|
|
110
|
-
type: HostBinding,
|
|
111
|
-
args: ["class.cds--popover--bottom-left"]
|
|
112
|
-
}], alignmentBottomRightClass: [{
|
|
113
|
-
type: HostBinding,
|
|
114
|
-
args: ["class.cds--popover--bottom-right"]
|
|
115
|
-
}], alignmentLeftClass: [{
|
|
116
|
-
type: HostBinding,
|
|
117
|
-
args: ["class.cds--popover--left"]
|
|
118
|
-
}], alignmentLeftTopClass: [{
|
|
119
|
-
type: HostBinding,
|
|
120
|
-
args: ["class.cds--popover--left-top"]
|
|
121
|
-
}], alignmentLeftBottomClass: [{
|
|
122
|
-
type: HostBinding,
|
|
123
|
-
args: ["class.cds--popover--left-bottom"]
|
|
124
|
-
}], alignmentRightClass: [{
|
|
125
|
-
type: HostBinding,
|
|
126
|
-
args: ["class.cds--popover--right"]
|
|
127
|
-
}], alignmentRightTopClass: [{
|
|
128
|
-
type: HostBinding,
|
|
129
|
-
args: ["class.cds--popover--right-top"]
|
|
130
|
-
}], alignmentRightBottomClass: [{
|
|
131
|
-
type: HostBinding,
|
|
132
|
-
args: ["class.cds--popover--right-bottom"]
|
|
249
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { align: [{
|
|
250
|
+
type: Input
|
|
133
251
|
}], onClose: [{
|
|
134
252
|
type: Output
|
|
135
253
|
}], onOpen: [{
|
|
@@ -151,47 +269,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
151
269
|
args: ["class.cds--popover--high-contrast"]
|
|
152
270
|
}, {
|
|
153
271
|
type: Input
|
|
154
|
-
}],
|
|
272
|
+
}], autoAlign: [{
|
|
155
273
|
type: HostBinding,
|
|
156
|
-
args: ["class.cds--popover--
|
|
274
|
+
args: ["class.cds--popover--auto-align"]
|
|
157
275
|
}, {
|
|
158
276
|
type: Input
|
|
159
277
|
}], containerClass: [{
|
|
160
278
|
type: HostBinding,
|
|
161
279
|
args: ["class.cds--popover-container"]
|
|
162
|
-
}],
|
|
280
|
+
}], isOpen: [{
|
|
163
281
|
type: Input
|
|
282
|
+
}, {
|
|
283
|
+
type: HostBinding,
|
|
284
|
+
args: ["class.cds--popover--open"]
|
|
164
285
|
}] } });
|
|
165
286
|
|
|
166
287
|
/**
|
|
167
288
|
* [See demo](../../?path=/story/components-popover--basic)
|
|
168
289
|
*/
|
|
169
290
|
class PopoverContent {
|
|
170
|
-
constructor() {
|
|
291
|
+
constructor(changeDetectorRef) {
|
|
292
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
171
293
|
this.popoverClass = true;
|
|
294
|
+
this.autoAlign = false;
|
|
295
|
+
}
|
|
296
|
+
ngAfterViewInit() {
|
|
297
|
+
if (this.popoverContent) {
|
|
298
|
+
// Check we are in a popover with autoAlign enabled
|
|
299
|
+
this.autoAlign = !!this.popoverContent.nativeElement.closest(".cds--popover--auto-align");
|
|
300
|
+
// Run change detection manually to resolve ExpressionHasChanged
|
|
301
|
+
this.changeDetectorRef.detectChanges();
|
|
302
|
+
}
|
|
172
303
|
}
|
|
173
304
|
}
|
|
174
|
-
PopoverContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
-
PopoverContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PopoverContent, selector: "cds-popover-content, ibm-popover-content", host: { properties: { "class.cds--popover": "this.popoverClass" } }, ngImport: i0, template: `
|
|
176
|
-
<span class="cds--popover-content">
|
|
177
|
-
<
|
|
305
|
+
PopoverContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
+
PopoverContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PopoverContent, selector: "cds-popover-content, ibm-popover-content", host: { properties: { "class.cds--popover": "this.popoverClass" } }, viewQueries: [{ propertyName: "popoverContent", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
|
|
307
|
+
<span class="cds--popover-content" #content>
|
|
308
|
+
<div>
|
|
309
|
+
<ng-content></ng-content>
|
|
310
|
+
</div>
|
|
311
|
+
<span *ngIf="autoAlign" class="cds--popover-caret cds--popover--auto-align"></span>
|
|
178
312
|
</span>
|
|
179
|
-
<span class="cds--popover-caret"></span>
|
|
180
|
-
`, isInline: true });
|
|
313
|
+
<span *ngIf="!autoAlign" class="cds--popover-caret"></span>
|
|
314
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
181
315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PopoverContent, decorators: [{
|
|
182
316
|
type: Component,
|
|
183
317
|
args: [{
|
|
184
318
|
selector: "cds-popover-content, ibm-popover-content",
|
|
185
319
|
template: `
|
|
186
|
-
<span class="cds--popover-content">
|
|
187
|
-
<
|
|
320
|
+
<span class="cds--popover-content" #content>
|
|
321
|
+
<div>
|
|
322
|
+
<ng-content></ng-content>
|
|
323
|
+
</div>
|
|
324
|
+
<span *ngIf="autoAlign" class="cds--popover-caret cds--popover--auto-align"></span>
|
|
188
325
|
</span>
|
|
189
|
-
<span class="cds--popover-caret"></span>
|
|
326
|
+
<span *ngIf="!autoAlign" class="cds--popover-caret"></span>
|
|
190
327
|
`
|
|
191
328
|
}]
|
|
192
|
-
}], propDecorators: { popoverClass: [{
|
|
329
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { popoverClass: [{
|
|
193
330
|
type: HostBinding,
|
|
194
331
|
args: ["class.cds--popover"]
|
|
332
|
+
}], popoverContent: [{
|
|
333
|
+
type: ViewChild,
|
|
334
|
+
args: ["content"]
|
|
195
335
|
}] } });
|
|
196
336
|
|
|
197
337
|
class PopoverModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-popover.mjs","sources":["../../src/popover/popover.directive.ts","../../src/popover/popover-content.component.ts","../../src/popover/popover.module.ts","../../src/popover/carbon-components-angular-popover.ts"],"sourcesContent":["import {\n\tChangeDetectorRef,\n\tDirective,\n\tEventEmitter,\n\tHostBinding,\n\tInput,\n\tOutput\n} from \"@angular/core\";\n\n/**\n * Applies popover container styling to the element it is applied to. Get started with importing the module:\n *\n * ```typescript\n * import { PopoverModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-popover--basic)\n */\n@Directive({\n\tselector: \"[cdsPopover], [ibmPopover]\"\n})\nexport class PopoverContainer {\n\t// Top\n\t@HostBinding(\"class.cds--popover--top\") get alignmentTopClass() {\n\t\treturn this.align === \"top\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--top-left\") get alignmentTopLeftClass() {\n\t\treturn this.align === \"top-left\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--top-right\") get alignmentTopRightClass() {\n\t\treturn this.align === \"top-right\";\n\t}\n\n\t// Bottom\n\t@HostBinding(\"class.cds--popover--bottom\") get alignmentBottomClass() {\n\t\treturn this.align === \"bottom\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--bottom-left\") get alignmentBottomLeftClass() {\n\t\treturn this.align === \"bottom-left\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--bottom-right\") get alignmentBottomRightClass() {\n\t\treturn this.align === \"bottom-right\";\n\t}\n\n\t// Left\n\t@HostBinding(\"class.cds--popover--left\") get alignmentLeftClass() {\n\t\treturn this.align === \"left\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--left-top\") get alignmentLeftTopClass() {\n\t\treturn this.align === \"left-top\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--left-bottom\") get alignmentLeftBottomClass() {\n\t\treturn this.align === \"left-bottom\";\n\t}\n\n\t// Right\n\t@HostBinding(\"class.cds--popover--right\") get alignmentRightClass() {\n\t\treturn this.align === \"right\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--right-top\") get alignmentRightTopClass() {\n\t\treturn this.align === \"right-top\";\n\t}\n\n\t@HostBinding(\"class.cds--popover--right-bottom\") get alignmentRightBottomClass() {\n\t\treturn this.align === \"right-bottom\";\n\t}\n\n\t/**\n\t * Emits an event when the dialog is closed\n\t */\n\t@Output() onClose: EventEmitter<Event> = new EventEmitter();\n\t/**\n\t * Emits an event when the dialog is opened\n\t */\n\t@Output() onOpen: EventEmitter<Event> = new EventEmitter();\n\t/**\n\t * Emits an event when the state of `isOpen` changes. Allows `isOpen` to be double bound\n\t */\n\t@Output() isOpenChange = new EventEmitter<boolean>();\n\n\t@HostBinding(\"class.cds--popover--caret\") @Input() caret = true;\n\t@HostBinding(\"class.cds--popover--drop-shadow\") @Input() dropShadow = true;\n\t@HostBinding(\"class.cds--popover--high-contrast\") @Input() highContrast = false;\n\t@HostBinding(\"class.cds--popover--open\") @Input() isOpen = false;\n\n\t@HostBinding(\"class.cds--popover-container\") containerClass = true;\n\t@Input() align: \"top\" | \"top-left\" | \"top-right\" |\n\t\t\"bottom\" | \"bottom-left\" | \"bottom-right\" |\n\t\t\"left\" | \"left-bottom\" | \"left-top\" |\n\t\t\"right\" | \"right-bottom\" | \"right-top\" = \"bottom\";\n\n\tconstructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n\thandleChange(open: boolean, event: Event) {\n\t\tif (this.isOpen !== open) {\n\t\t\tthis.isOpenChange.emit(open);\n\t\t}\n\n\t\tif (open) {\n\t\t\tthis.onOpen.emit(event);\n\t\t} else {\n\t\t\tthis.onClose.emit(event);\n\t\t}\n\t\tthis.isOpen = open;\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n/**\n * [See demo](../../?path=/story/components-popover--basic)\n */\n@Component({\n\tselector: \"cds-popover-content, ibm-popover-content\",\n\ttemplate: `\n\t\t<span class=\"cds--popover-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</span>\n\t\t<span class=\"cds--popover-caret\"></span>\n\t`\n})\nexport class PopoverContent {\n\t@HostBinding(\"class.cds--popover\") popoverClass = true;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PopoverContainer } from \"./popover.directive\";\nimport { PopoverContent } from \"./popover-content.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tPopoverContainer,\n\t\tPopoverContent\n\t],\n\texports: [\n\t\tPopoverContainer,\n\t\tPopoverContent\n\t],\n\timports: [CommonModule]\n})\nexport class PopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-popover.mjs","sources":["../../src/popover/popover.directive.ts","../../src/popover/popover-content.component.ts","../../src/popover/popover.module.ts","../../src/popover/carbon-components-angular-popover.ts"],"sourcesContent":["import {\n\tAfterViewInit,\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tHostBinding,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOutput,\n\tRenderer2,\n\tSimpleChanges\n} from \"@angular/core\";\nimport {\n\tarrow,\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement\n} from \"@floating-ui/dom\";\n\n// Deprecated popover alignments\ntype oldPlacement = \"top-left\"\n\t| \"top-right\"\n\t| \"bottom-left\"\n\t| \"bottom-right\"\n\t| \"left-bottom\"\n\t| \"left-top\"\n\t| \"right-bottom\"\n\t| \"right-top\";\n\n@Directive({\n\tselector: \"[cdsPopover], [ibmPopover]\"\n})\nexport class PopoverContainer implements AfterViewInit, OnChanges, OnDestroy {\n\t/**\n\t * Set alignment of popover\n\t * As of v5, `oldPlacements` are now deprecated in favor of Placements\n\t *\n\t * When `autoAlign` is set to `true`, alignment may change for best placement\n\t */\n\t@Input() set align(alignment: oldPlacement | Placement) {\n\t\t// If alignment is not passed, the default value will be `undefined`.\n\t\tif (!alignment) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst previousAlignment = this._align;\n\t\tswitch (alignment) {\n\t\t\tcase \"top-left\":\n\t\t\t\tthis._align = \"top-start\";\n\t\t\t\tbreak;\n\t\t\tcase \"top-right\":\n\t\t\t\tthis._align = \"top-end\";\n\t\t\t\tbreak;\n\t\t\tcase \"bottom-left\":\n\t\t\t\tthis._align = \"bottom-start\";\n\t\t\t\tbreak;\n\t\t\tcase \"bottom-right\":\n\t\t\t\tthis._align = \"bottom-end\";\n\t\t\t\tbreak;\n\t\t\tcase \"left-top\":\n\t\t\t\tthis._align = \"left-start\";\n\t\t\t\tbreak;\n\t\t\tcase \"left-bottom\":\n\t\t\t\tthis._align = \"left-end\";\n\t\t\t\tbreak;\n\t\t\tcase \"right-top\":\n\t\t\t\tthis._align = \"right-start\";\n\t\t\t\tbreak;\n\t\t\tcase \"right-bottom\":\n\t\t\t\tthis._align = \"right-end\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis._align = alignment as Placement;\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.updateAlignmentClass(this._align, previousAlignment);\n\t}\n\n\t_align: Placement = \"bottom\";\n\treadonly alignmentClassPrefix = \"cds--popover--\";\n\n\t/**\n\t * Emits an event when the dialog is closed\n\t */\n\t@Output() onClose: EventEmitter<Event> = new EventEmitter();\n\t/**\n\t * Emits an event when the dialog is opened\n\t */\n\t@Output() onOpen: EventEmitter<Event> = new EventEmitter();\n\t/**\n\t * Emits an event when the state of `isOpen` changes. Allows `isOpen` to be double bound\n\t */\n\t@Output() isOpenChange = new EventEmitter<boolean>();\n\t/**\n\t * Show caret at the alignment position\n\t */\n\t@HostBinding(\"class.cds--popover--caret\") @Input() caret = true;\n\t/**\n\t * Enable drop shadow around the popover container\n\t */\n\t@HostBinding(\"class.cds--popover--drop-shadow\") @Input() dropShadow = true;\n\t/**\n\t * Enable high contrast for popover container\n\t */\n\t@HostBinding(\"class.cds--popover--high-contrast\") @Input() highContrast = true;\n\t/**\n\t * **Experimental**: Use floating-ui to position the tooltip\n\t * This is not toggleable - should be sent once\n\t */\n\t@HostBinding(\"class.cds--popover--auto-align\") @Input() autoAlign = false;\n\t@HostBinding(\"class.cds--popover-container\") containerClass = true;\n\t@Input() @HostBinding(\"class.cds--popover--open\") isOpen = false;\n\n\tprotected popoverContentRef: HTMLElement;\n\tprotected caretRef: HTMLElement;\n\tprotected caretOffset: number;\n\tprotected caretHeight: number;\n\tprotected unmountFloatingElement: Function;\n\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected ngZone: NgZone,\n\t\tprotected renderer: Renderer2,\n\t\tprotected changeDetectorRef: ChangeDetectorRef\n\t) {}\n\n\t/**\n\t * Handles emitting open/close event\n\t * @param open - Is the popover container open\n\t * @param event - Event\n\t */\n\thandleChange(open: boolean, event?: Event) {\n\t\t// We only emit the event when parameter has an event to keep existing behavior\n\t\tif ((this.isOpen !== open) && event) {\n\t\t\tthis.isOpenChange.emit(open);\n\t\t}\n\n\t\tif (open) {\n\t\t\tif (event) {\n\t\t\t\tthis.onOpen.emit(event);\n\t\t\t}\n\n\t\t\t// when auto alignment is enabled, use auto update to set the placement for the element\n\t\t\tif (this.autoAlign) {\n\t\t\t\tif (this.caretRef) {\n\t\t\t\t\t// Get caret offset/height property\n\t\t\t\t\t// Getting computed styles once every open, otherwise expensive.\n\t\t\t\t\tconst computedStyle = getComputedStyle(this.caretRef);\n\t\t\t\t\tconst offset = computedStyle.getPropertyValue(\"--cds-popover-offset\");\n\t\t\t\t\tconst height = computedStyle.getPropertyValue(\"--cds-popover-caret-height\");\n\t\t\t\t\tthis.caretOffset = (offset?.includes(\"px\") ? Number(offset.split(\"px\", 1)[0]) : Number(offset.split(\"rem\", 1)[0]) * 16) || 10;\n\t\t\t\t\tthis.caretHeight = (height?.includes(\"px\") ? Number(height.split(\"px\", 1)[0]) : Number(height.split(\"rem\", 1)[0]) * 16) || 6;\n\t\t\t\t}\n\t\t\t\tif (this.elementRef.nativeElement && this.popoverContentRef) {\n\t\t\t\t\tthis.unmountFloatingElement = autoUpdate(\n\t\t\t\t\t\tthis.elementRef.nativeElement,\n\t\t\t\t\t\tthis.popoverContentRef,\n\t\t\t\t\t\tthis.recomputePosition.bind(this)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.cleanUp();\n\t\t\tif (event) {\n\t\t\t\tthis.onClose.emit(event);\n\t\t\t}\n\t\t}\n\t\tthis.isOpen = open;\n\t\tthis.changeDetectorRef.markForCheck();\n\t}\n\n\troundByDPR(value) {\n\t\tconst dpr = window.devicePixelRatio || 1;\n\t\treturn Math.round(value * dpr) / dpr;\n\t}\n\n\t/**\n\t * Compute position of tooltip when autoAlign is enabled\n\t */\n\trecomputePosition() {\n\t\t// Run outside of angular zone to avoid unnecessary change detection and rely on floating-ui\n\t\tthis.ngZone.runOutsideAngular(async () => {\n\t\t\tconst { x, y, placement, middlewareData } = await computePosition(\n\t\t\t\tthis.elementRef.nativeElement,\n\t\t\t\tthis.popoverContentRef,\n\t\t\t\t{\n\t\t\t\t\tplacement: this._align,\n\t\t\t\t\tstrategy: \"fixed\",\n\t\t\t\t\tmiddleware: [\n\t\t\t\t\t\toffset(this.caretOffset),\n\t\t\t\t\t\tflip({ fallbackAxisSideDirection: \"start\" }),\n\t\t\t\t\t\tarrow({ element: this.caretRef })\n\t\t\t\t\t]\n\t\t\t\t});\n\n\t\t\tconst previousAlignment = this._align;\n\t\t\tthis._align = placement;\n\t\t\tthis.updateAlignmentClass(this._align, previousAlignment);\n\n\t\t\t// Using CSSOM to manipulate CSS to avoid content security policy inline-src\n\t\t\t// https://github.com/w3c/webappsec-csp/issues/212\n\t\t\tObject.assign(this.popoverContentRef.style, {\n\t\t\t\tposition: \"fixed\",\n\t\t\t\ttop: \"0\",\n\t\t\t\tleft: \"0\",\n\t\t\t\t// Using transform instead of top/left position to improve performance\n\t\t\t\ttransform: `translate(${this.roundByDPR(x)}px,${this.roundByDPR(y)}px)`\n\t\t\t});\n\n\t\t\tif (middlewareData.arrow) {\n\t\t\t\tconst { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n\t\t\t\tconst staticSide = {\n\t\t\t\t\ttop: \"bottom\",\n\t\t\t\t\tright: \"left\",\n\t\t\t\t\tbottom: \"top\",\n\t\t\t\t\tleft: \"right\"\n\t\t\t\t}[placement.split(\"-\")[0]];\n\n\t\t\t\tthis.caretRef.style.left = arrowX != null ? `${arrowX}px` : \"\";\n\t\t\t\tthis.caretRef.style.top = arrowY != null ? `${arrowY}px` : \"\";\n\t\t\t\tthis.caretRef.style.right = \"\";\n\t\t\t\tthis.caretRef.style.bottom = \"\";\n\n\t\t\t\tif (staticSide) {\n\t\t\t\t\tthis.caretRef.style[staticSide] = `${-this.caretHeight}px`;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Close the popover and reopen it with updated values without emitting an event\n\t * @param changes\n\t */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\t// Close and reopen the popover, handle alignment/programmatic open/close\n\t\tconst originalState = this.isOpen;\n\t\tthis.handleChange(false);\n\n\t\t// Ignore first change since content is not initialized\n\t\tif (changes.autoAlign && !changes.autoAlign.firstChange) {\n\t\t\t// Reset the inline styles\n\t\t\tthis.popoverContentRef = this.elementRef.nativeElement.querySelector(\".cds--popover-content\");\n\t\t\tthis.popoverContentRef.setAttribute(\"style\", \"\");\n\t\t\tthis.caretRef = this.elementRef.nativeElement.querySelector(\"span.cds--popover-caret\");\n\t\t}\n\n\t\tthis.handleChange(originalState);\n\t}\n\n\t/**\n\t * Handle initialization of element\n\t */\n\tngAfterViewInit(): void {\n\t\tthis.initializeReferences();\n\t}\n\n\tinitializeReferences(): void {\n\t\tthis.updateAlignmentClass(this._align);\n\n\t\t// Initialize html references since they will not change and are required for popover components\n\t\tthis.popoverContentRef = this.elementRef.nativeElement.querySelector(\".cds--popover-content\");\n\t\tthis.caretRef = this.elementRef.nativeElement.querySelector(\"span.cds--popover-caret\");\n\n\t\t// Handle initial isOpen\n\t\tthis.handleChange(this.isOpen);\n\t}\n\n\t/**\n\t * Clean up\n\t */\n\tngOnDestroy(): void {\n\t\tthis.cleanUp();\n\t}\n\n\t/**\n\t * Clean up `autoUpdate` if auto alignment is enabled\n\t */\n\tcleanUp() {\n\t\tif (this.unmountFloatingElement) {\n\t\t\tthis.unmountFloatingElement();\n\t\t}\n\t\tthis.unmountFloatingElement = undefined;\n\t}\n\n\t/**\n\t * Replace existing previous alignment class with new\n\t * @param previousAlignment\n\t */\n\tupdateAlignmentClass(newAlignment: string, previousAlignment?: string) {\n\t\tif (this.elementRef.nativeElement && previousAlignment !== newAlignment) {\n\t\t\tconst regexp = new RegExp(\"right|top|left|bottom\");\n\t\t\t// Since we are constantly switching, it's safer to delete all matching class names\n\t\t\tthis.elementRef.nativeElement.classList.forEach(className => {\n\t\t\t\tif (regexp.test(className)) {\n\t\t\t\t\tthis.renderer.removeClass(this.elementRef.nativeElement, `${className}`);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.renderer.addClass(this.elementRef.nativeElement, `${this.alignmentClassPrefix}${newAlignment}`);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tViewChild,\n\tElementRef,\n\tAfterViewInit,\n\tChangeDetectorRef\n} from \"@angular/core\";\n\n/**\n * [See demo](../../?path=/story/components-popover--basic)\n */\n@Component({\n\tselector: \"cds-popover-content, ibm-popover-content\",\n\ttemplate: `\n\t\t<span class=\"cds--popover-content\" #content>\n\t\t\t<div>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t\t<span *ngIf=\"autoAlign\" class=\"cds--popover-caret cds--popover--auto-align\"></span>\n\t\t</span>\n\t\t<span *ngIf=\"!autoAlign\" class=\"cds--popover-caret\"></span>\n\t`\n})\nexport class PopoverContent implements AfterViewInit {\n\t@HostBinding(\"class.cds--popover\") popoverClass = true;\n\t@ViewChild(\"content\") popoverContent: ElementRef;\n\tautoAlign = false;\n\n\tconstructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n\tngAfterViewInit(): void {\n\t\tif (this.popoverContent) {\n\t\t\t// Check we are in a popover with autoAlign enabled\n\t\t\tthis.autoAlign = !!this.popoverContent.nativeElement.closest(\".cds--popover--auto-align\");\n\t\t\t// Run change detection manually to resolve ExpressionHasChanged\n\t\t\tthis.changeDetectorRef.detectChanges();\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PopoverContainer } from \"./popover.directive\";\nimport { PopoverContent } from \"./popover-content.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tPopoverContainer,\n\t\tPopoverContent\n\t],\n\texports: [\n\t\tPopoverContainer,\n\t\tPopoverContent\n\t],\n\timports: [CommonModule]\n})\nexport class PopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -93,11 +93,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
93
93
|
* [See demo](../../?path=/story/components-toggletip--basic)
|
|
94
94
|
*/
|
|
95
95
|
class Toggletip extends PopoverContainer {
|
|
96
|
-
constructor(hostElement, renderer,
|
|
97
|
-
super(
|
|
96
|
+
constructor(hostElement, ngZone, renderer, changeDetectorRef) {
|
|
97
|
+
super(hostElement, ngZone, renderer, changeDetectorRef);
|
|
98
98
|
this.hostElement = hostElement;
|
|
99
|
+
this.ngZone = ngZone;
|
|
99
100
|
this.renderer = renderer;
|
|
100
|
-
this.
|
|
101
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
101
102
|
this.id = `tooltip-${Toggletip.toggletipCounter++}`;
|
|
102
103
|
this.toggletipClass = true;
|
|
103
104
|
this.isOpen = false;
|
|
@@ -106,6 +107,7 @@ class Toggletip extends PopoverContainer {
|
|
|
106
107
|
this.dropShadow = false;
|
|
107
108
|
}
|
|
108
109
|
ngAfterViewInit() {
|
|
110
|
+
this.initializeReferences();
|
|
109
111
|
// Listen for click events on trigger
|
|
110
112
|
fromEvent(this.btn.nativeElement, "click")
|
|
111
113
|
.subscribe((event) => {
|
|
@@ -146,7 +148,7 @@ class Toggletip extends PopoverContainer {
|
|
|
146
148
|
}
|
|
147
149
|
}
|
|
148
150
|
Toggletip.toggletipCounter = 0;
|
|
149
|
-
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 });
|
|
151
|
+
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 });
|
|
150
152
|
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: `
|
|
151
153
|
<ng-content select="[cdsToggletipButton]"></ng-content>
|
|
152
154
|
<cds-popover-content>
|
|
@@ -165,7 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
165
167
|
</cds-popover-content>
|
|
166
168
|
`
|
|
167
169
|
}]
|
|
168
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
170
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
169
171
|
type: Input
|
|
170
172
|
}], toggletipClass: [{
|
|
171
173
|
type: HostBinding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carbon-components-angular-toggletip.mjs","sources":["../../src/toggletip/toggletip-action.directive.ts","../../src/toggletip/toggletip-button.directive.ts","../../src/toggletip/toggletip-content.directive.ts","../../src/toggletip/toggletip-label.directive.ts","../../src/toggletip/toggletip.component.ts","../../src/toggletip/toggletip.module.ts","../../src/toggletip/carbon-components-angular-toggletip.ts"],"sourcesContent":["import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipAction], [ibmToggletipAction]\"\n})\nexport class ToggletipAction {\n\t@HostBinding(\"class.cds--toggletip-actions\") toggleTipActions = true;\n}\n","import {\n\tDirective,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipButton], [ibmToggletipButton]\"\n})\nexport class ToggletipButton {\n\t@HostBinding(\"class.cds--toggletip-button\") toggletipButton = true;\n\t@HostBinding(\"attr.type\") toggletipButtonType = \"button\";\n\t@HostBinding(\"attr.aria-label\") @Input() ariaLabel = \"Show information\";\n}\n","import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipContent], [ibmToggletipContent]\"\n})\nexport class ToggletipContent {\n\t@HostBinding(\"class.cds--toggletip-content\") toggletipContent = true;\n}\n","import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipLabel], [ibmToggletipLabel]\"\n})\nexport class ToggletipLabel {\n\t@HostBinding(\"class.cds--toggletip-label\") toggleTipLabel = true;\n}\n","import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tElementRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tRenderer2\n} from \"@angular/core\";\nimport { fromEvent } from \"rxjs\";\nimport { PopoverContainer } from \"carbon-components-angular/popover\";\nimport { ToggletipButton } from \"./toggletip-button.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { ToggletipModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-toggletip--basic)\n */\n@Component({\n\tselector: \"cds-toggletip, ibm-toggletip\",\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<ng-content select=\"[cdsToggletipButton]\"></ng-content>\n\t\t<cds-popover-content>\n\t\t\t<ng-content select=\"[cdsToggletipContent]\"></ng-content>\n\t\t</cds-popover-content>\n\t`\n})\nexport class Toggletip extends PopoverContainer implements AfterViewInit {\n\tstatic toggletipCounter = 0;\n\n\t@Input() id = `tooltip-${Toggletip.toggletipCounter++}`;\n\n\t@HostBinding(\"class.cds--toggletip\") toggletipClass = true;\n\t@HostBinding(\"class.cds--toggletip--open\") @Input() isOpen = false;\n\n\t@ContentChild(ToggletipButton, { read: ElementRef }) btn!: ElementRef;\n\n\tdocumentClick = this.handleFocusOut.bind(this);\n\n\tconstructor(private hostElement: ElementRef, private renderer: Renderer2, private ref: ChangeDetectorRef) {\n\t\tsuper(ref);\n\t\tthis.highContrast = true;\n\t\tthis.dropShadow = false;\n\t}\n\n\tngAfterViewInit(): void {\n\t\t// Listen for click events on trigger\n\t\tfromEvent(this.btn.nativeElement, \"click\")\n\t\t\t.subscribe((event: Event) => {\n\t\t\t\t// Add/Remove event listener based on isOpen to improve performance when there\n\t\t\t\t// are a lot of toggletips\n\t\t\t\tif (this.isOpen) {\n\t\t\t\t\tdocument.removeEventListener(\"click\", this.documentClick);\n\t\t\t\t} else {\n\t\t\t\t\tdocument.addEventListener(\"click\", this.documentClick);\n\t\t\t\t}\n\n\t\t\t\tthis.handleExpansion(!this.isOpen, event);\n\t\t\t});\n\n\t\t// Toggletip is open on initial render, add 'click' event listener to document so users can close\n\t\tif (this.isOpen) {\n\t\t\tdocument.addEventListener(\"click\", this.documentClick);\n\t\t}\n\n\t\tif (this.btn) {\n\t\t\tthis.renderer.setAttribute(this.btn.nativeElement, \"aria-controls\", this.id);\n\t\t}\n\t}\n\n\t@HostListener(\"keyup\", [\"$event\"])\n\thostkeys(event: KeyboardEvent) {\n\t\tif (open && event.key === \"Escape\") {\n\t\t\tevent.stopPropagation();\n\t\t\tthis.handleExpansion(false, event);\n\t\t}\n\t}\n\n\thandleFocusOut(event) {\n\t\tif (!this.hostElement.nativeElement.contains(event.target)) {\n\t\t\tthis.handleExpansion(false, event);\n\t\t}\n\t}\n\n\tprivate handleExpansion(state = false, event: Event) {\n\t\tthis.handleChange(state, event);\n\t\tif (this.btn) {\n\t\t\tthis.renderer.setAttribute(this.btn.nativeElement, \"aria-expanded\", this.isOpen.toString());\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PopoverModule } from \"carbon-components-angular/popover\";\n\nimport { ToggletipLabel } from \"./toggletip-label.directive\";\nimport { ToggletipAction } from \"./toggletip-action.directive\";\nimport { Toggletip } from \"./toggletip.component\";\nimport { ToggletipButton } from \"./toggletip-button.directive\";\nimport { ToggletipContent } from \"./toggletip-content.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tToggletip,\n\t\tToggletipLabel,\n\t\tToggletipAction,\n\t\tToggletipButton,\n\t\tToggletipContent\n\t],\n\texports: [\n\t\tToggletip,\n\t\tToggletipLabel,\n\t\tToggletipAction,\n\t\tToggletipButton,\n\t\tToggletipContent\n\t],\n\timports: [CommonModule, PopoverModule]\n})\nexport class ToggletipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carbon-components-angular-toggletip.mjs","sources":["../../src/toggletip/toggletip-action.directive.ts","../../src/toggletip/toggletip-button.directive.ts","../../src/toggletip/toggletip-content.directive.ts","../../src/toggletip/toggletip-label.directive.ts","../../src/toggletip/toggletip.component.ts","../../src/toggletip/toggletip.module.ts","../../src/toggletip/carbon-components-angular-toggletip.ts"],"sourcesContent":["import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipAction], [ibmToggletipAction]\"\n})\nexport class ToggletipAction {\n\t@HostBinding(\"class.cds--toggletip-actions\") toggleTipActions = true;\n}\n","import {\n\tDirective,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipButton], [ibmToggletipButton]\"\n})\nexport class ToggletipButton {\n\t@HostBinding(\"class.cds--toggletip-button\") toggletipButton = true;\n\t@HostBinding(\"attr.type\") toggletipButtonType = \"button\";\n\t@HostBinding(\"attr.aria-label\") @Input() ariaLabel = \"Show information\";\n}\n","import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipContent], [ibmToggletipContent]\"\n})\nexport class ToggletipContent {\n\t@HostBinding(\"class.cds--toggletip-content\") toggletipContent = true;\n}\n","import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[cdsToggletipLabel], [ibmToggletipLabel]\"\n})\nexport class ToggletipLabel {\n\t@HostBinding(\"class.cds--toggletip-label\") toggleTipLabel = true;\n}\n","import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tElementRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tNgZone,\n\tRenderer2\n} from \"@angular/core\";\nimport { fromEvent } from \"rxjs\";\nimport { PopoverContainer } from \"carbon-components-angular/popover\";\nimport { ToggletipButton } from \"./toggletip-button.directive\";\n\n/**\n * Get started with importing the module:\n *\n * ```typescript\n * import { ToggletipModule } from 'carbon-components-angular';\n * ```\n *\n * [See demo](../../?path=/story/components-toggletip--basic)\n */\n@Component({\n\tselector: \"cds-toggletip, ibm-toggletip\",\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<ng-content select=\"[cdsToggletipButton]\"></ng-content>\n\t\t<cds-popover-content>\n\t\t\t<ng-content select=\"[cdsToggletipContent]\"></ng-content>\n\t\t</cds-popover-content>\n\t`\n})\nexport class Toggletip extends PopoverContainer implements AfterViewInit {\n\tstatic toggletipCounter = 0;\n\n\t@Input() id = `tooltip-${Toggletip.toggletipCounter++}`;\n\n\t@HostBinding(\"class.cds--toggletip\") toggletipClass = true;\n\t@HostBinding(\"class.cds--toggletip--open\") @Input() isOpen = false;\n\n\t@ContentChild(ToggletipButton, { read: ElementRef }) btn!: ElementRef;\n\n\tdocumentClick = this.handleFocusOut.bind(this);\n\n\tconstructor(\n\t\tprotected hostElement: ElementRef,\n\t\tprotected ngZone: NgZone,\n\t\tprotected renderer: Renderer2,\n\t\tprotected changeDetectorRef: ChangeDetectorRef\n\t) {\n\t\tsuper(hostElement, ngZone, renderer, changeDetectorRef);\n\t\tthis.highContrast = true;\n\t\tthis.dropShadow = false;\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.initializeReferences();\n\n\t\t// Listen for click events on trigger\n\t\tfromEvent(this.btn.nativeElement, \"click\")\n\t\t\t.subscribe((event: Event) => {\n\t\t\t\t// Add/Remove event listener based on isOpen to improve performance when there\n\t\t\t\t// are a lot of toggletips\n\t\t\t\tif (this.isOpen) {\n\t\t\t\t\tdocument.removeEventListener(\"click\", this.documentClick);\n\t\t\t\t} else {\n\t\t\t\t\tdocument.addEventListener(\"click\", this.documentClick);\n\t\t\t\t}\n\n\t\t\t\tthis.handleExpansion(!this.isOpen, event);\n\t\t\t});\n\n\t\t// Toggletip is open on initial render, add 'click' event listener to document so users can close\n\t\tif (this.isOpen) {\n\t\t\tdocument.addEventListener(\"click\", this.documentClick);\n\t\t}\n\n\t\tif (this.btn) {\n\t\t\tthis.renderer.setAttribute(this.btn.nativeElement, \"aria-controls\", this.id);\n\t\t}\n\t}\n\n\t@HostListener(\"keyup\", [\"$event\"])\n\thostkeys(event: KeyboardEvent) {\n\t\tif (open && event.key === \"Escape\") {\n\t\t\tevent.stopPropagation();\n\t\t\tthis.handleExpansion(false, event);\n\t\t}\n\t}\n\n\thandleFocusOut(event) {\n\t\tif (!this.hostElement.nativeElement.contains(event.target)) {\n\t\t\tthis.handleExpansion(false, event);\n\t\t}\n\t}\n\n\tprivate handleExpansion(state = false, event: Event) {\n\t\tthis.handleChange(state, event);\n\t\tif (this.btn) {\n\t\t\tthis.renderer.setAttribute(this.btn.nativeElement, \"aria-expanded\", this.isOpen.toString());\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PopoverModule } from \"carbon-components-angular/popover\";\n\nimport { ToggletipLabel } from \"./toggletip-label.directive\";\nimport { ToggletipAction } from \"./toggletip-action.directive\";\nimport { Toggletip } from \"./toggletip.component\";\nimport { ToggletipButton } from \"./toggletip-button.directive\";\nimport { ToggletipContent } from \"./toggletip-content.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tToggletip,\n\t\tToggletipLabel,\n\t\tToggletipAction,\n\t\tToggletipButton,\n\t\tToggletipContent\n\t],\n\texports: [\n\t\tToggletip,\n\t\tToggletipLabel,\n\t\tToggletipAction,\n\t\tToggletipButton,\n\t\tToggletipContent\n\t],\n\timports: [CommonModule, PopoverModule]\n})\nexport class ToggletipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|