@agorapulse/ui-components 15.1.19 → 15.1.21
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/agorapulse-ui-components-15.1.21.tgz +0 -0
- package/directives/truncate-tooltip.directive.d.ts +6 -6
- package/esm2020/directives/truncate-tooltip.directive.mjs +17 -18
- package/esm2020/index.mjs +2 -2
- package/esm2020/labels/label.component.mjs +5 -7
- package/esm2020/src/lib/agorapulse-ui-components.module.mjs +6 -9
- package/esm2020/tooltip/agorapulse-ui-components-tooltip.mjs +5 -0
- package/esm2020/tooltip/public_api.mjs +2 -0
- package/esm2020/tooltip/tooltip.directive.mjs +355 -0
- package/esm2020/tooltip/tooltip.service.mjs +29 -0
- package/fesm2015/agorapulse-ui-components-directives.mjs +16 -14
- package/fesm2015/agorapulse-ui-components-directives.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-labels.mjs +4 -6
- package/fesm2015/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-tooltip.mjs +388 -0
- package/fesm2015/agorapulse-ui-components-tooltip.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components.mjs +6 -9
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-directives.mjs +16 -17
- package/fesm2020/agorapulse-ui-components-directives.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-labels.mjs +4 -6
- package/fesm2020/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-tooltip.mjs +388 -0
- package/fesm2020/agorapulse-ui-components-tooltip.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components.mjs +6 -9
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +8 -8
- package/src/lib/agorapulse-ui-components.module.d.ts +2 -2
- package/{tooltip-neo → tooltip}/index.d.ts +1 -1
- package/tooltip/public_api.d.ts +1 -0
- package/tooltip/tooltip.directive.d.ts +54 -0
- package/tooltip/tooltip.service.d.ts +11 -0
- package/agorapulse-ui-components-15.1.19.tgz +0 -0
- package/directives/truncate-tooltip.model.d.ts +0 -5
- package/esm2020/directives/truncate-tooltip.model.mjs +0 -2
- package/esm2020/tooltip-neo/agorapulse-ui-components-tooltip-neo.mjs +0 -5
- package/esm2020/tooltip-neo/public_api.mjs +0 -4
- package/esm2020/tooltip-neo/tooltip-neo.component.mjs +0 -47
- package/esm2020/tooltip-neo/tooltip-neo.const.mjs +0 -67
- package/esm2020/tooltip-neo/tooltip-neo.directive.mjs +0 -157
- package/esm2020/tooltip-neo/tooltip-neo.model.mjs +0 -2
- package/esm2020/tooltip-neo/tooltip-neo.service.mjs +0 -17
- package/fesm2015/agorapulse-ui-components-tooltip-neo.mjs +0 -287
- package/fesm2015/agorapulse-ui-components-tooltip-neo.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-tooltip-neo.mjs +0 -286
- package/fesm2020/agorapulse-ui-components-tooltip-neo.mjs.map +0 -1
- package/tooltip-neo/public_api.d.ts +0 -3
- package/tooltip-neo/tooltip-neo.component.d.ts +0 -17
- package/tooltip-neo/tooltip-neo.const.d.ts +0 -4
- package/tooltip-neo/tooltip-neo.directive.d.ts +0 -37
- package/tooltip-neo/tooltip-neo.model.d.ts +0 -13
- package/tooltip-neo/tooltip-neo.service.d.ts +0 -7
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, inject, ElementRef, NgZone, ViewContainerRef, TemplateRef, Directive, Input } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class TooltipService {
|
|
5
|
+
static getOuterWidth(el) {
|
|
6
|
+
return el.offsetWidth;
|
|
7
|
+
}
|
|
8
|
+
static getOuterHeight(el) {
|
|
9
|
+
return el.offsetHeight;
|
|
10
|
+
}
|
|
11
|
+
static getViewport() {
|
|
12
|
+
const win = window, d = document, e = d.documentElement, g = d.getElementsByTagName('body')[0], w = win.innerWidth || e.clientWidth || g.clientWidth, h = win.innerHeight || e.clientHeight || g.clientHeight;
|
|
13
|
+
return { width: w, height: h };
|
|
14
|
+
}
|
|
15
|
+
static getWindowScrollLeft() {
|
|
16
|
+
const doc = document.documentElement;
|
|
17
|
+
return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
|
|
18
|
+
}
|
|
19
|
+
static getWindowScrollTop() {
|
|
20
|
+
const doc = document.documentElement;
|
|
21
|
+
return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
TooltipService.defaultOffset = 12;
|
|
25
|
+
TooltipService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
TooltipService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TooltipService });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TooltipService, decorators: [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}] });
|
|
30
|
+
|
|
31
|
+
class TooltipDirective {
|
|
32
|
+
constructor() {
|
|
33
|
+
this.elementRef = inject(ElementRef);
|
|
34
|
+
this.zone = inject(NgZone);
|
|
35
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
36
|
+
this.apTooltipPosition = 'top';
|
|
37
|
+
this.apTooltipShowDelay = 80;
|
|
38
|
+
this.nativeElement = this.elementRef.nativeElement;
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewInit() {
|
|
41
|
+
this.zone.runOutsideAngular(() => {
|
|
42
|
+
this.mouseEnterListener = this.onMouseEnter.bind(this);
|
|
43
|
+
this.mouseLeaveListener = this.onMouseLeave.bind(this);
|
|
44
|
+
this.clickListener = this.onInputClick.bind(this);
|
|
45
|
+
this.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);
|
|
46
|
+
this.nativeElement.addEventListener('click', this.clickListener);
|
|
47
|
+
this.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
ngOnDestroy() {
|
|
51
|
+
this.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);
|
|
52
|
+
this.nativeElement.removeEventListener('click', this.clickListener);
|
|
53
|
+
this.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);
|
|
54
|
+
this.mouseEnterListener = undefined;
|
|
55
|
+
this.mouseLeaveListener = undefined;
|
|
56
|
+
this.clickListener = undefined;
|
|
57
|
+
}
|
|
58
|
+
onMouseEnter() {
|
|
59
|
+
if (!this.container) {
|
|
60
|
+
this.activate();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
onMouseLeave() {
|
|
64
|
+
this.deactivate();
|
|
65
|
+
}
|
|
66
|
+
onInputClick() {
|
|
67
|
+
this.deactivate();
|
|
68
|
+
}
|
|
69
|
+
activate() {
|
|
70
|
+
this.clearHideTimeout();
|
|
71
|
+
if (this.apTooltipShowDelay) {
|
|
72
|
+
this.showTimeout = window.setTimeout(() => {
|
|
73
|
+
this.show();
|
|
74
|
+
}, this.apTooltipShowDelay);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this.show();
|
|
78
|
+
}
|
|
79
|
+
if (this.apTooltipDuration) {
|
|
80
|
+
const duration = this.apTooltipShowDelay ? this.apTooltipDuration + this.apTooltipShowDelay : this.apTooltipDuration;
|
|
81
|
+
this.hideTimeout = window.setTimeout(() => {
|
|
82
|
+
this.remove();
|
|
83
|
+
}, duration);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
deactivate() {
|
|
87
|
+
this.clearShowTimeout();
|
|
88
|
+
if (this.apTooltipHideDelay) {
|
|
89
|
+
this.clearHideTimeout();
|
|
90
|
+
this.hideTimeout = window.setTimeout(() => {
|
|
91
|
+
this.remove();
|
|
92
|
+
}, this.apTooltipHideDelay);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.remove();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
show() {
|
|
99
|
+
if (!this.content || this.apTooltipDisabled) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this.create();
|
|
103
|
+
this.align();
|
|
104
|
+
}
|
|
105
|
+
create() {
|
|
106
|
+
if (this.container) {
|
|
107
|
+
this.clearHideTimeout();
|
|
108
|
+
this.remove();
|
|
109
|
+
}
|
|
110
|
+
this.container = document.createElement('div');
|
|
111
|
+
this.container.setAttribute('role', 'tooltip');
|
|
112
|
+
const contentContainer = document.createElement('div');
|
|
113
|
+
contentContainer.classList.add('ap-content-container');
|
|
114
|
+
const svgNamespace = 'http://www.w3.org/2000/svg';
|
|
115
|
+
const arrowSvg = document.createElementNS(svgNamespace, 'svg');
|
|
116
|
+
arrowSvg.classList.add('ap-tooltip-arrow');
|
|
117
|
+
arrowSvg.setAttribute('xmlns', svgNamespace);
|
|
118
|
+
arrowSvg.setAttribute('viewBox', '0 0 16 8');
|
|
119
|
+
arrowSvg.setAttribute('fill', 'none');
|
|
120
|
+
const path = document.createElementNS(svgNamespace, 'path');
|
|
121
|
+
path.setAttribute('d', 'M6.68299 1.15238C7.43705 0.492586 8.56296 0.492588 9.31701 1.15238L16 7L0 7L6.68299 1.15238Z');
|
|
122
|
+
arrowSvg.appendChild(path);
|
|
123
|
+
this.tooltipText = document.createElement('div');
|
|
124
|
+
this.tooltipText.className = 'ap-tooltip-text';
|
|
125
|
+
this.updateText();
|
|
126
|
+
contentContainer.appendChild(this.tooltipText);
|
|
127
|
+
contentContainer.appendChild(arrowSvg);
|
|
128
|
+
this.container.appendChild(contentContainer);
|
|
129
|
+
document.body.appendChild(this.container);
|
|
130
|
+
this.container.classList.add('ap-tooltip');
|
|
131
|
+
if (this.content instanceof TemplateRef) {
|
|
132
|
+
this.container.classList.add('ap-tooltip-custom-template');
|
|
133
|
+
}
|
|
134
|
+
this.setCssVariables();
|
|
135
|
+
}
|
|
136
|
+
align() {
|
|
137
|
+
switch (this.apTooltipPosition) {
|
|
138
|
+
case 'top-left':
|
|
139
|
+
this.alignTopLeft();
|
|
140
|
+
if (this.isOutOfBounds()) {
|
|
141
|
+
this.alignBottom();
|
|
142
|
+
if (this.isOutOfBounds()) {
|
|
143
|
+
this.alignRight();
|
|
144
|
+
if (this.isOutOfBounds()) {
|
|
145
|
+
this.alignLeft();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
break;
|
|
150
|
+
case 'top-right':
|
|
151
|
+
this.alignTopRight();
|
|
152
|
+
if (this.isOutOfBounds()) {
|
|
153
|
+
this.alignBottom();
|
|
154
|
+
if (this.isOutOfBounds()) {
|
|
155
|
+
this.alignRight();
|
|
156
|
+
if (this.isOutOfBounds()) {
|
|
157
|
+
this.alignLeft();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
break;
|
|
162
|
+
case 'top':
|
|
163
|
+
this.alignTop();
|
|
164
|
+
if (this.isOutOfBounds()) {
|
|
165
|
+
this.alignBottom();
|
|
166
|
+
if (this.isOutOfBounds()) {
|
|
167
|
+
this.alignRight();
|
|
168
|
+
if (this.isOutOfBounds()) {
|
|
169
|
+
this.alignLeft();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
break;
|
|
174
|
+
case 'bottom':
|
|
175
|
+
this.alignBottom();
|
|
176
|
+
if (this.isOutOfBounds()) {
|
|
177
|
+
this.alignTop();
|
|
178
|
+
if (this.isOutOfBounds()) {
|
|
179
|
+
this.alignRight();
|
|
180
|
+
if (this.isOutOfBounds()) {
|
|
181
|
+
this.alignLeft();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
break;
|
|
186
|
+
case 'bottom-left':
|
|
187
|
+
this.alignBottomLeft();
|
|
188
|
+
if (this.isOutOfBounds()) {
|
|
189
|
+
this.alignTop();
|
|
190
|
+
if (this.isOutOfBounds()) {
|
|
191
|
+
this.alignRight();
|
|
192
|
+
if (this.isOutOfBounds()) {
|
|
193
|
+
this.alignLeft();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
break;
|
|
198
|
+
case 'bottom-right':
|
|
199
|
+
this.alignBottomRight();
|
|
200
|
+
if (this.isOutOfBounds()) {
|
|
201
|
+
this.alignTop();
|
|
202
|
+
if (this.isOutOfBounds()) {
|
|
203
|
+
this.alignRight();
|
|
204
|
+
if (this.isOutOfBounds()) {
|
|
205
|
+
this.alignLeft();
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
break;
|
|
210
|
+
case 'left':
|
|
211
|
+
this.alignLeft();
|
|
212
|
+
if (this.isOutOfBounds()) {
|
|
213
|
+
this.alignRight();
|
|
214
|
+
if (this.isOutOfBounds()) {
|
|
215
|
+
this.alignTop();
|
|
216
|
+
if (this.isOutOfBounds()) {
|
|
217
|
+
this.alignBottom();
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
case 'right':
|
|
223
|
+
this.alignRight();
|
|
224
|
+
if (this.isOutOfBounds()) {
|
|
225
|
+
this.alignLeft();
|
|
226
|
+
if (this.isOutOfBounds()) {
|
|
227
|
+
this.alignTop();
|
|
228
|
+
if (this.isOutOfBounds()) {
|
|
229
|
+
this.alignBottom();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
alignRight() {
|
|
237
|
+
this.preAlign('right');
|
|
238
|
+
const hostOffset = this.getHostOffset();
|
|
239
|
+
const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) + TooltipService.defaultOffset;
|
|
240
|
+
const top = hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;
|
|
241
|
+
this.container.style.left = left + 'px';
|
|
242
|
+
this.container.style.top = top + 'px';
|
|
243
|
+
}
|
|
244
|
+
alignLeft() {
|
|
245
|
+
this.preAlign('left');
|
|
246
|
+
const hostOffset = this.getHostOffset();
|
|
247
|
+
const left = hostOffset.left - TooltipService.getOuterWidth(this.container) - TooltipService.defaultOffset;
|
|
248
|
+
const top = hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;
|
|
249
|
+
this.container.style.left = left + 'px';
|
|
250
|
+
this.container.style.top = top + 'px';
|
|
251
|
+
}
|
|
252
|
+
alignTop() {
|
|
253
|
+
this.preAlign('top');
|
|
254
|
+
const hostOffset = this.getHostOffset();
|
|
255
|
+
const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;
|
|
256
|
+
const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
|
|
257
|
+
this.container.style.left = left + 'px';
|
|
258
|
+
this.container.style.top = top + 'px';
|
|
259
|
+
}
|
|
260
|
+
alignTopLeft() {
|
|
261
|
+
this.preAlign('top-left');
|
|
262
|
+
const hostOffset = this.getHostOffset();
|
|
263
|
+
const left = hostOffset.left;
|
|
264
|
+
const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
|
|
265
|
+
this.container.style.left = left + 'px';
|
|
266
|
+
this.container.style.top = top + 'px';
|
|
267
|
+
}
|
|
268
|
+
alignTopRight() {
|
|
269
|
+
this.preAlign('top-right');
|
|
270
|
+
const hostOffset = this.getHostOffset();
|
|
271
|
+
const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container);
|
|
272
|
+
const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;
|
|
273
|
+
this.container.style.left = left + 'px';
|
|
274
|
+
this.container.style.top = top + 'px';
|
|
275
|
+
}
|
|
276
|
+
alignBottom() {
|
|
277
|
+
this.preAlign('bottom');
|
|
278
|
+
const hostOffset = this.getHostOffset();
|
|
279
|
+
const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;
|
|
280
|
+
const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
|
|
281
|
+
this.container.style.left = left + 'px';
|
|
282
|
+
this.container.style.top = top + 'px';
|
|
283
|
+
}
|
|
284
|
+
alignBottomLeft() {
|
|
285
|
+
this.preAlign('bottom-left');
|
|
286
|
+
const hostOffset = this.getHostOffset();
|
|
287
|
+
const left = hostOffset.left;
|
|
288
|
+
const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
|
|
289
|
+
this.container.style.left = left + 'px';
|
|
290
|
+
this.container.style.top = top + 'px';
|
|
291
|
+
}
|
|
292
|
+
alignBottomRight() {
|
|
293
|
+
this.preAlign('bottom-right');
|
|
294
|
+
const hostOffset = this.getHostOffset();
|
|
295
|
+
const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container));
|
|
296
|
+
const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;
|
|
297
|
+
this.container.style.left = left + 'px';
|
|
298
|
+
this.container.style.top = top + 'px';
|
|
299
|
+
}
|
|
300
|
+
preAlign(position) {
|
|
301
|
+
this.container.style.left = -999 + 'px';
|
|
302
|
+
this.container.style.top = -999 + 'px';
|
|
303
|
+
const defaultClassName = 'ap-tooltip-' + position;
|
|
304
|
+
this.container.classList.add(defaultClassName);
|
|
305
|
+
}
|
|
306
|
+
getHostOffset() {
|
|
307
|
+
const offset = this.nativeElement.getBoundingClientRect();
|
|
308
|
+
const targetLeft = offset.left + TooltipService.getWindowScrollLeft();
|
|
309
|
+
const targetTop = offset.top + TooltipService.getWindowScrollTop();
|
|
310
|
+
return { left: targetLeft, top: targetTop };
|
|
311
|
+
}
|
|
312
|
+
isOutOfBounds() {
|
|
313
|
+
const offset = this.container.getBoundingClientRect();
|
|
314
|
+
const targetTop = offset.top;
|
|
315
|
+
const targetLeft = offset.left;
|
|
316
|
+
const width = TooltipService.getOuterWidth(this.container);
|
|
317
|
+
const height = TooltipService.getOuterHeight(this.container);
|
|
318
|
+
const viewport = TooltipService.getViewport();
|
|
319
|
+
return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;
|
|
320
|
+
}
|
|
321
|
+
remove() {
|
|
322
|
+
if (this.container && this.container.parentElement) {
|
|
323
|
+
document.body.removeChild(this.container);
|
|
324
|
+
}
|
|
325
|
+
this.clearTimeouts();
|
|
326
|
+
this.container = null;
|
|
327
|
+
}
|
|
328
|
+
clearShowTimeout() {
|
|
329
|
+
if (this.showTimeout) {
|
|
330
|
+
clearTimeout(this.showTimeout);
|
|
331
|
+
this.showTimeout = null;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
clearHideTimeout() {
|
|
335
|
+
if (this.hideTimeout) {
|
|
336
|
+
clearTimeout(this.hideTimeout);
|
|
337
|
+
this.hideTimeout = null;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
clearTimeouts() {
|
|
341
|
+
this.clearShowTimeout();
|
|
342
|
+
this.clearHideTimeout();
|
|
343
|
+
}
|
|
344
|
+
updateText() {
|
|
345
|
+
if (this.content instanceof TemplateRef) {
|
|
346
|
+
const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.content);
|
|
347
|
+
embeddedViewRef.context = this.apTooltipTemplateContext;
|
|
348
|
+
embeddedViewRef.detectChanges();
|
|
349
|
+
embeddedViewRef.rootNodes.forEach(node => this.tooltipText.appendChild(node));
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
this.tooltipText.innerHTML = this.content;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
setCssVariables() {
|
|
356
|
+
if (this.container) {
|
|
357
|
+
this.container.style.setProperty('--ap-tooltip-height', this.container.offsetHeight + 'px');
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
362
|
+
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: TooltipDirective, isStandalone: true, selector: "[apTooltip]", inputs: { apTooltipPosition: "apTooltipPosition", content: ["apTooltip", "content"], apTooltipShowDelay: "apTooltipShowDelay", apTooltipHideDelay: "apTooltipHideDelay", apTooltipDuration: "apTooltipDuration", apTooltipDisabled: "apTooltipDisabled", apTooltipTemplateContext: "apTooltipTemplateContext" }, ngImport: i0 });
|
|
363
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
364
|
+
type: Directive,
|
|
365
|
+
args: [{ selector: '[apTooltip]', standalone: true }]
|
|
366
|
+
}], propDecorators: { apTooltipPosition: [{
|
|
367
|
+
type: Input
|
|
368
|
+
}], content: [{
|
|
369
|
+
type: Input,
|
|
370
|
+
args: ['apTooltip']
|
|
371
|
+
}], apTooltipShowDelay: [{
|
|
372
|
+
type: Input
|
|
373
|
+
}], apTooltipHideDelay: [{
|
|
374
|
+
type: Input
|
|
375
|
+
}], apTooltipDuration: [{
|
|
376
|
+
type: Input
|
|
377
|
+
}], apTooltipDisabled: [{
|
|
378
|
+
type: Input
|
|
379
|
+
}], apTooltipTemplateContext: [{
|
|
380
|
+
type: Input
|
|
381
|
+
}] } });
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Generated bundle index. Do not edit.
|
|
385
|
+
*/
|
|
386
|
+
|
|
387
|
+
export { TooltipDirective };
|
|
388
|
+
//# sourceMappingURL=agorapulse-ui-components-tooltip.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-tooltip.mjs","sources":["../../../libs/ui-components/tooltip/src/tooltip.service.ts","../../../libs/ui-components/tooltip/src/tooltip.directive.ts","../../../libs/ui-components/tooltip/src/agorapulse-ui-components-tooltip.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\n\n@Injectable()\nexport class TooltipService {\n static readonly defaultOffset = 12;\n\n static getOuterWidth(el: HTMLElement): number {\n return el.offsetWidth;\n }\n\n static getOuterHeight(el: HTMLElement): number {\n return el.offsetHeight;\n }\n\n static getViewport(): any {\n const win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n\n return {width: w, height: h};\n }\n\n static getWindowScrollLeft(): number {\n const doc = document.documentElement;\n return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n }\n\n static getWindowScrollTop(): number {\n const doc = document.documentElement;\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input, NgZone, OnDestroy, TemplateRef, ViewContainerRef, inject } from '@angular/core';\nimport { TooltipService } from './tooltip.service';\n\n@Directive({ selector: '[apTooltip]', standalone: true })\nexport class TooltipDirective implements AfterViewInit, OnDestroy {\n private readonly elementRef: ElementRef = inject(ElementRef);\n private readonly zone: NgZone = inject(NgZone);\n private readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);\n\n @Input() apTooltipPosition:\n | 'right'\n | 'left'\n | 'top'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'top-left'\n | 'top-right'\n | undefined = 'top';\n\n @Input('apTooltip') content: string | TemplateRef<HTMLElement> | undefined;\n\n @Input() apTooltipShowDelay: number | undefined = 80;\n\n @Input() apTooltipHideDelay: number | undefined;\n\n @Input() apTooltipDuration: number | undefined;\n\n @Input() apTooltipDisabled: boolean | undefined;\n\n @Input() apTooltipTemplateContext: any | undefined;\n\n clickListener: () => void | undefined;\n\n container: HTMLElement;\n\n hideTimeout: number | undefined;\n\n mouseEnterListener: () => void | undefined;\n\n mouseLeaveListener: () => void | undefined;\n\n nativeElement: HTMLElement = this.elementRef.nativeElement;\n\n showTimeout: number | undefined;\n\n tooltipText: HTMLElement | undefined;\n\n ngAfterViewInit(): void {\n this.zone.runOutsideAngular(() => {\n this.mouseEnterListener = this.onMouseEnter.bind(this);\n this.mouseLeaveListener = this.onMouseLeave.bind(this);\n this.clickListener = this.onInputClick.bind(this);\n this.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\n this.nativeElement.addEventListener('click', this.clickListener);\n this.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\n });\n }\n\n ngOnDestroy(): void {\n this.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\n this.nativeElement.removeEventListener('click', this.clickListener);\n this.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\n this.mouseEnterListener = undefined;\n this.mouseLeaveListener = undefined;\n this.clickListener = undefined;\n }\n\n onMouseEnter() {\n if (!this.container) {\n this.activate();\n }\n }\n\n onMouseLeave() {\n this.deactivate();\n }\n\n onInputClick() {\n this.deactivate();\n }\n\n activate(): void {\n this.clearHideTimeout();\n if (this.apTooltipShowDelay) {\n this.showTimeout = window.setTimeout(() => {\n this.show();\n }, this.apTooltipShowDelay);\n } else {\n this.show();\n }\n\n if (this.apTooltipDuration) {\n const duration = this.apTooltipShowDelay ? this.apTooltipDuration + this.apTooltipShowDelay : this.apTooltipDuration;\n this.hideTimeout = window.setTimeout(() => {\n this.remove();\n }, duration);\n }\n }\n\n deactivate(): void {\n this.clearShowTimeout();\n if (this.apTooltipHideDelay) {\n this.clearHideTimeout();\n this.hideTimeout = window.setTimeout(() => {\n this.remove();\n }, this.apTooltipHideDelay);\n } else {\n this.remove();\n }\n }\n\n show(): void {\n if (!this.content || this.apTooltipDisabled) {\n return;\n }\n\n this.create();\n this.align();\n }\n\n create(): void {\n if (this.container) {\n this.clearHideTimeout();\n this.remove();\n }\n\n this.container = document.createElement('div');\n this.container.setAttribute('role', 'tooltip');\n const contentContainer = document.createElement('div');\n contentContainer.classList.add('ap-content-container');\n\n const svgNamespace = 'http://www.w3.org/2000/svg';\n const arrowSvg = document.createElementNS(svgNamespace, 'svg');\n arrowSvg.classList.add('ap-tooltip-arrow');\n arrowSvg.setAttribute('xmlns', svgNamespace);\n arrowSvg.setAttribute('viewBox', '0 0 16 8');\n arrowSvg.setAttribute('fill', 'none');\n const path = document.createElementNS(svgNamespace, 'path');\n path.setAttribute('d', 'M6.68299 1.15238C7.43705 0.492586 8.56296 0.492588 9.31701 1.15238L16 7L0 7L6.68299 1.15238Z');\n arrowSvg.appendChild(path);\n\n this.tooltipText = document.createElement('div');\n this.tooltipText.className = 'ap-tooltip-text';\n this.updateText();\n\n contentContainer.appendChild(this.tooltipText);\n contentContainer.appendChild(arrowSvg);\n this.container.appendChild(contentContainer);\n document.body.appendChild(this.container);\n this.container.classList.add('ap-tooltip');\n\n if (this.content instanceof TemplateRef) {\n this.container.classList.add('ap-tooltip-custom-template');\n }\n this.setCssVariables();\n }\n\n align(): void {\n switch (this.apTooltipPosition) {\n case 'top-left':\n this.alignTopLeft();\n if (this.isOutOfBounds()) {\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignRight();\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n case 'top-right':\n this.alignTopRight();\n if (this.isOutOfBounds()) {\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignRight();\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n case 'top':\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'bottom':\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'bottom-left':\n this.alignBottomLeft();\n if (this.isOutOfBounds()) {\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'bottom-right':\n this.alignBottomRight();\n if (this.isOutOfBounds()) {\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'left':\n this.alignLeft();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignTop();\n\n if (this.isOutOfBounds()) {\n this.alignBottom();\n }\n }\n }\n break;\n\n case 'right':\n this.alignRight();\n if (this.isOutOfBounds()) {\n this.alignLeft();\n\n if (this.isOutOfBounds()) {\n this.alignTop();\n\n if (this.isOutOfBounds()) {\n this.alignBottom();\n }\n }\n }\n break;\n }\n }\n\n alignRight(): void {\n this.preAlign('right');\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) + TooltipService.defaultOffset;\n const top =\n hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n alignLeft(): void {\n this.preAlign('left');\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left - TooltipService.getOuterWidth(this.container) - TooltipService.defaultOffset;\n const top =\n hostOffset.top + (TooltipService.getOuterHeight(this.nativeElement) - TooltipService.getOuterHeight(this.container)) / 2;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n alignTop(): void {\n this.preAlign('top');\n const hostOffset = this.getHostOffset();\n const left =\n hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;\n const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n alignTopLeft(): void {\n this.preAlign('top-left');\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left;\n const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n alignTopRight(): void {\n this.preAlign('top-right');\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left + TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container);\n const top = hostOffset.top - TooltipService.getOuterHeight(this.container) - TooltipService.defaultOffset;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n alignBottom(): void {\n this.preAlign('bottom');\n const hostOffset = this.getHostOffset();\n const left =\n hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container)) / 2;\n const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n alignBottomLeft(): void {\n this.preAlign('bottom-left');\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left;\n const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n alignBottomRight(): void {\n this.preAlign('bottom-right');\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left + (TooltipService.getOuterWidth(this.nativeElement) - TooltipService.getOuterWidth(this.container));\n const top = hostOffset.top + TooltipService.getOuterHeight(this.nativeElement) + TooltipService.defaultOffset;\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n }\n\n preAlign(position: string) {\n this.container.style.left = -999 + 'px';\n this.container.style.top = -999 + 'px';\n\n const defaultClassName = 'ap-tooltip-' + position;\n this.container.classList.add(defaultClassName);\n }\n\n getHostOffset() {\n const offset = this.nativeElement.getBoundingClientRect();\n const targetLeft = offset.left + TooltipService.getWindowScrollLeft();\n const targetTop = offset.top + TooltipService.getWindowScrollTop();\n\n return { left: targetLeft, top: targetTop };\n }\n\n isOutOfBounds(): boolean {\n const offset = this.container.getBoundingClientRect();\n const targetTop = offset.top;\n const targetLeft = offset.left;\n const width = TooltipService.getOuterWidth(this.container);\n const height = TooltipService.getOuterHeight(this.container);\n const viewport = TooltipService.getViewport();\n\n return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;\n }\n\n remove(): void {\n if (this.container && this.container.parentElement) {\n document.body.removeChild(this.container);\n }\n\n this.clearTimeouts();\n this.container = null;\n }\n\n clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n clearTimeouts() {\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n updateText() {\n if (this.content instanceof TemplateRef) {\n const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.content);\n embeddedViewRef.context = this.apTooltipTemplateContext;\n embeddedViewRef.detectChanges();\n embeddedViewRef.rootNodes.forEach(node => this.tooltipText.appendChild(node));\n } else {\n this.tooltipText.innerHTML = this.content;\n }\n }\n\n setCssVariables(): void {\n if (this.container) {\n this.container.style.setProperty('--ap-tooltip-height', this.container.offsetHeight + 'px');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -38,8 +38,8 @@ import { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-th
|
|
|
38
38
|
export { CodeStatus, SnackbarTypeValues, SnackbarsThreadComponent, SnackbarsThreadService, generateCodeStatus } from '@agorapulse/ui-components/snackbars-thread';
|
|
39
39
|
import { StepperComponent } from '@agorapulse/ui-components/stepper';
|
|
40
40
|
export { StepperComponent } from '@agorapulse/ui-components/stepper';
|
|
41
|
-
import {
|
|
42
|
-
export {
|
|
41
|
+
import { TooltipDirective } from '@agorapulse/ui-components/tooltip';
|
|
42
|
+
export { TooltipDirective } from '@agorapulse/ui-components/tooltip';
|
|
43
43
|
import * as i0 from '@angular/core';
|
|
44
44
|
import { NgModule } from '@angular/core';
|
|
45
45
|
import { MAT_LEGACY_TABS_CONFIG } from '@angular/material/legacy-tabs';
|
|
@@ -79,7 +79,6 @@ AgorapulseUiComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.
|
|
|
79
79
|
PaginatorButtonComponent,
|
|
80
80
|
SlideToggleComponent,
|
|
81
81
|
SnackbarsThreadComponent,
|
|
82
|
-
TooltipNeoComponent,
|
|
83
82
|
// Directives
|
|
84
83
|
DefaultImageDirective,
|
|
85
84
|
FrozenGifDirective,
|
|
@@ -87,7 +86,7 @@ AgorapulseUiComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.
|
|
|
87
86
|
EqualValidatorDirective,
|
|
88
87
|
MultiStyleTextDirective,
|
|
89
88
|
TruncateTooltipDirective,
|
|
90
|
-
|
|
89
|
+
TooltipDirective,
|
|
91
90
|
AddCommentComponent,
|
|
92
91
|
AutosizeTextareaDirective,
|
|
93
92
|
// Pipes
|
|
@@ -124,7 +123,7 @@ AgorapulseUiComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.
|
|
|
124
123
|
EqualValidatorDirective,
|
|
125
124
|
MultiStyleTextDirective,
|
|
126
125
|
TruncateTooltipDirective,
|
|
127
|
-
|
|
126
|
+
TooltipDirective,
|
|
128
127
|
// Modules
|
|
129
128
|
PopmenuModule
|
|
130
129
|
] });
|
|
@@ -154,7 +153,6 @@ AgorapulseUiComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
|
|
|
154
153
|
PaginatorButtonComponent,
|
|
155
154
|
SlideToggleComponent,
|
|
156
155
|
SnackbarsThreadComponent,
|
|
157
|
-
TooltipNeoComponent,
|
|
158
156
|
SlideToggleComponent,
|
|
159
157
|
AddCommentComponent,
|
|
160
158
|
// Modules
|
|
@@ -186,7 +184,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
186
184
|
PaginatorButtonComponent,
|
|
187
185
|
SlideToggleComponent,
|
|
188
186
|
SnackbarsThreadComponent,
|
|
189
|
-
TooltipNeoComponent,
|
|
190
187
|
// Directives
|
|
191
188
|
DefaultImageDirective,
|
|
192
189
|
FrozenGifDirective,
|
|
@@ -194,7 +191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
194
191
|
EqualValidatorDirective,
|
|
195
192
|
MultiStyleTextDirective,
|
|
196
193
|
TruncateTooltipDirective,
|
|
197
|
-
|
|
194
|
+
TooltipDirective,
|
|
198
195
|
AddCommentComponent,
|
|
199
196
|
AutosizeTextareaDirective,
|
|
200
197
|
// Pipes
|
|
@@ -232,7 +229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
232
229
|
EqualValidatorDirective,
|
|
233
230
|
MultiStyleTextDirective,
|
|
234
231
|
TruncateTooltipDirective,
|
|
235
|
-
|
|
232
|
+
TooltipDirective,
|
|
236
233
|
// Modules
|
|
237
234
|
PopmenuModule,
|
|
238
235
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["// Modules\nimport {AddCommentComponent} from '@agorapulse/ui-components/add-comment';\nimport {AvatarComponent} from '@agorapulse/ui-components/avatar';\nimport {ConfirmModalComponent} from '@agorapulse/ui-components/confirm-modal';\nimport {DatepickerComponent} from '@agorapulse/ui-components/datepicker';\nimport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n} from '@agorapulse/ui-components/directives';\nimport {DotsStepperComponent} from '@agorapulse/ui-components/dots-stepper';\nimport {InfoboxComponent} from '@agorapulse/ui-components/infobox';\nimport {LabelComponent, LabelListComponent} from '@agorapulse/ui-components/labels';\nimport {LabelsSelectorComponent} from '@agorapulse/ui-components/labels-selector';\nimport {MediaDisplayOverlayDialogComponent} from '@agorapulse/ui-components/media-display-overlay';\nimport {ModalComponent} from '@agorapulse/ui-components/modal';\nimport {DayDisabledPipe, NeoDatepickerComponent} from '@agorapulse/ui-components/neo-datepicker';\nimport {NotificationComponent} from '@agorapulse/ui-components/notification';\nimport {PaginatorButtonComponent, PaginatorComponent} from '@agorapulse/ui-components/paginator';\nimport {PasswordInputComponent} from '@agorapulse/ui-components/password-input';\nimport {PopmenuModule} from '@agorapulse/ui-components/popmenu';\nimport {SlideToggleComponent} from '@agorapulse/ui-components/slide-toggle';\nimport {SnackBarComponent} from '@agorapulse/ui-components/snackbar';\nimport {SnackbarsThreadComponent} from '@agorapulse/ui-components/snackbars-thread';\nimport {StepperComponent} from '@agorapulse/ui-components/stepper';\nimport {TooltipNeoComponent, TooltipNeoDirective} from '@agorapulse/ui-components/tooltip-neo';\nimport {NgModule} from '@angular/core';\nimport {MAT_LEGACY_TABS_CONFIG as MAT_TABS_CONFIG} from '@angular/material/legacy-tabs';\n\n\n/**\n * @deprecated for better tree-shaking, use standalone component import instead\n */\n@NgModule({\n declarations: [],\n imports: [\n // Components\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelListComponent,\n LabelsSelectorComponent,\n NeoDatepickerComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n SnackBarComponent,\n LabelComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n TooltipNeoComponent,\n // Directives\n DefaultImageDirective,\n FrozenGifDirective,\n SlideToggleComponent,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n AddCommentComponent,\n AutosizeTextareaDirective,\n // Pipes\n DayDisabledPipe,\n ],\n exports: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n NeoDatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelComponent,\n LabelListComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n SnackBarComponent,\n LabelsSelectorComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Pipes\n DayDisabledPipe,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n // Modules\n PopmenuModule,\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n {provide: MAT_TABS_CONFIG, useValue: {animationDuration: '0ms'}},\n ],\n})\nexport class AgorapulseUiComponentsModule {}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport {AgorapulseUiComponentsModule} from './src/lib/agorapulse-ui-components.module';\nexport {PopmenuModule} from '@agorapulse/ui-components/popmenu';\n\n// Directive\nexport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n} from '@agorapulse/ui-components/directives';\nexport {PopmenuDirective} from '@agorapulse/ui-components/popmenu';\nexport {TooltipNeoDirective} from '@agorapulse/ui-components/tooltip-neo';\n\n// Component\nexport {AddCommentComponent} from '@agorapulse/ui-components/add-comment';\nexport {AvatarComponent} from '@agorapulse/ui-components/avatar';\nexport {StepperComponent} from '@agorapulse/ui-components/stepper';\nexport {ConfirmModalComponent} from '@agorapulse/ui-components/confirm-modal';\nexport {DatepickerComponent, DatepickerMode, I18nDatePicker, Period} from '@agorapulse/ui-components/datepicker';\nexport {\n NeoDatepickerComponent,\n NeoDatePickerStartsOn,\n NeoDatePickerMode,\n NeoDatePickerLocale,\n DayDisabledPipe,\n} from '@agorapulse/ui-components/neo-datepicker';\nexport {DotsStepperComponent} from '@agorapulse/ui-components/dots-stepper';\nexport {InfoboxComponent} from '@agorapulse/ui-components/infobox';\nexport {LabelComponent} from '@agorapulse/ui-components/labels';\nexport {LabelListComponent} from '@agorapulse/ui-components/labels';\nexport {LabelsSelectorComponent} from '@agorapulse/ui-components/labels-selector';\nexport {MediaDisplayOverlayDialogComponent} from '@agorapulse/ui-components/media-display-overlay';\nexport {ModalComponent, ModalConfig} from '@agorapulse/ui-components/modal';\nexport {PaginatorComponent} from '@agorapulse/ui-components/paginator';\nexport {PasswordInputComponent} from '@agorapulse/ui-components/password-input';\nexport {PopmenuComponent} from '@agorapulse/ui-components/popmenu';\nexport {SnackBarComponent} from '@agorapulse/ui-components/snackbar';\nexport {NotificationComponent} from '@agorapulse/ui-components/notification';\nexport {PaginatorButtonComponent} from '@agorapulse/ui-components/paginator';\nexport {SlideToggleComponent} from '@agorapulse/ui-components/slide-toggle';\nexport {SnackbarsThreadComponent} from '@agorapulse/ui-components/snackbars-thread';\nexport {CheckboxComponent} from '@agorapulse/ui-components/checkbox';\nexport {IconButtonComponent} from '@agorapulse/ui-components/icon-button';\nexport {ToggleComponent} from '@agorapulse/ui-components/toggle';\nexport {ButtonComponent} from '@agorapulse/ui-components/button';\nexport {SocialButtonComponent} from '@agorapulse/ui-components/social-button';\nexport {RadioComponent} from '@agorapulse/ui-components/radio';\n\n// Service\nexport {SnackbarsThreadService} from '@agorapulse/ui-components/snackbars-thread';\n\n// Model\nexport {Step} from '@agorapulse/ui-components/stepper';\nexport {ConfirmModalTexts} from '@agorapulse/ui-components/confirm-modal';\nexport {\n generateCodeStatus,\n CodeStatus,\n SnackbarsThreadBase,\n SnackbarTypeValues,\n externalSnackbarTypeAllowed,\n} from '@agorapulse/ui-components/snackbars-thread';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["MAT_TABS_CONFIG"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["// Modules\nimport {AddCommentComponent} from '@agorapulse/ui-components/add-comment';\nimport {AvatarComponent} from '@agorapulse/ui-components/avatar';\nimport {ConfirmModalComponent} from '@agorapulse/ui-components/confirm-modal';\nimport {DatepickerComponent} from '@agorapulse/ui-components/datepicker';\nimport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n} from '@agorapulse/ui-components/directives';\nimport {DotsStepperComponent} from '@agorapulse/ui-components/dots-stepper';\nimport {InfoboxComponent} from '@agorapulse/ui-components/infobox';\nimport {LabelComponent, LabelListComponent} from '@agorapulse/ui-components/labels';\nimport {LabelsSelectorComponent} from '@agorapulse/ui-components/labels-selector';\nimport {MediaDisplayOverlayDialogComponent} from '@agorapulse/ui-components/media-display-overlay';\nimport {ModalComponent} from '@agorapulse/ui-components/modal';\nimport {DayDisabledPipe, NeoDatepickerComponent} from '@agorapulse/ui-components/neo-datepicker';\nimport {NotificationComponent} from '@agorapulse/ui-components/notification';\nimport {PaginatorButtonComponent, PaginatorComponent} from '@agorapulse/ui-components/paginator';\nimport {PasswordInputComponent} from '@agorapulse/ui-components/password-input';\nimport {PopmenuModule} from '@agorapulse/ui-components/popmenu';\nimport {SlideToggleComponent} from '@agorapulse/ui-components/slide-toggle';\nimport {SnackBarComponent} from '@agorapulse/ui-components/snackbar';\nimport {SnackbarsThreadComponent} from '@agorapulse/ui-components/snackbars-thread';\nimport {StepperComponent} from '@agorapulse/ui-components/stepper';\nimport {TooltipDirective} from '@agorapulse/ui-components/tooltip';\nimport {NgModule} from '@angular/core';\nimport {MAT_LEGACY_TABS_CONFIG as MAT_TABS_CONFIG} from '@angular/material/legacy-tabs';\n\n/**\n * @deprecated for better tree-shaking, use standalone component import instead\n */\n@NgModule({\n declarations: [],\n imports: [\n // Components\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelListComponent,\n LabelsSelectorComponent,\n NeoDatepickerComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n SnackBarComponent,\n LabelComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Directives\n DefaultImageDirective,\n FrozenGifDirective,\n SlideToggleComponent,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipDirective,\n AddCommentComponent,\n AutosizeTextareaDirective,\n // Pipes\n DayDisabledPipe,\n ],\n exports: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n NeoDatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelComponent,\n LabelListComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n SnackBarComponent,\n LabelsSelectorComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Pipes\n DayDisabledPipe,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipDirective,\n // Modules\n PopmenuModule,\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n {provide: MAT_TABS_CONFIG, useValue: {animationDuration: '0ms'}},\n ],\n})\nexport class AgorapulseUiComponentsModule {}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport {AgorapulseUiComponentsModule} from './src/lib/agorapulse-ui-components.module';\nexport {PopmenuModule} from '@agorapulse/ui-components/popmenu';\n\n// Directive\nexport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n} from '@agorapulse/ui-components/directives';\nexport {PopmenuDirective} from '@agorapulse/ui-components/popmenu';\nexport {TooltipDirective} from '@agorapulse/ui-components/tooltip';\n\n// Component\nexport {AddCommentComponent} from '@agorapulse/ui-components/add-comment';\nexport {AvatarComponent} from '@agorapulse/ui-components/avatar';\nexport {StepperComponent} from '@agorapulse/ui-components/stepper';\nexport {ConfirmModalComponent} from '@agorapulse/ui-components/confirm-modal';\nexport {DatepickerComponent, DatepickerMode, I18nDatePicker, Period} from '@agorapulse/ui-components/datepicker';\nexport {\n NeoDatepickerComponent,\n NeoDatePickerStartsOn,\n NeoDatePickerMode,\n NeoDatePickerLocale,\n DayDisabledPipe,\n} from '@agorapulse/ui-components/neo-datepicker';\nexport {DotsStepperComponent} from '@agorapulse/ui-components/dots-stepper';\nexport {InfoboxComponent} from '@agorapulse/ui-components/infobox';\nexport {LabelComponent} from '@agorapulse/ui-components/labels';\nexport {LabelListComponent} from '@agorapulse/ui-components/labels';\nexport {LabelsSelectorComponent} from '@agorapulse/ui-components/labels-selector';\nexport {MediaDisplayOverlayDialogComponent} from '@agorapulse/ui-components/media-display-overlay';\nexport {ModalComponent, ModalConfig} from '@agorapulse/ui-components/modal';\nexport {PaginatorComponent} from '@agorapulse/ui-components/paginator';\nexport {PasswordInputComponent} from '@agorapulse/ui-components/password-input';\nexport {PopmenuComponent} from '@agorapulse/ui-components/popmenu';\nexport {SnackBarComponent} from '@agorapulse/ui-components/snackbar';\nexport {NotificationComponent} from '@agorapulse/ui-components/notification';\nexport {PaginatorButtonComponent} from '@agorapulse/ui-components/paginator';\nexport {SlideToggleComponent} from '@agorapulse/ui-components/slide-toggle';\nexport {SnackbarsThreadComponent} from '@agorapulse/ui-components/snackbars-thread';\nexport {CheckboxComponent} from '@agorapulse/ui-components/checkbox';\nexport {IconButtonComponent} from '@agorapulse/ui-components/icon-button';\nexport {ToggleComponent} from '@agorapulse/ui-components/toggle';\nexport {ButtonComponent} from '@agorapulse/ui-components/button';\nexport {SocialButtonComponent} from '@agorapulse/ui-components/social-button';\nexport {RadioComponent} from '@agorapulse/ui-components/radio';\n\n// Service\nexport {SnackbarsThreadService} from '@agorapulse/ui-components/snackbars-thread';\n\n// Model\nexport {Step} from '@agorapulse/ui-components/stepper';\nexport {ConfirmModalTexts} from '@agorapulse/ui-components/confirm-modal';\nexport {\n generateCodeStatus,\n CodeStatus,\n SnackbarsThreadBase,\n SnackbarTypeValues,\n externalSnackbarTypeAllowed,\n} from '@agorapulse/ui-components/snackbars-thread';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["MAT_TABS_CONFIG"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Directive, HostListener, inject, ElementRef, ChangeDetectorRef, Input,
|
|
|
3
3
|
import { NG_VALIDATORS } from '@angular/forms';
|
|
4
4
|
import DOMPurify from 'dompurify';
|
|
5
5
|
import { fromEvent } from 'rxjs';
|
|
6
|
-
import * as i1 from '@agorapulse/ui-components/tooltip
|
|
6
|
+
import * as i1 from '@agorapulse/ui-components/tooltip';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* expand textarea to fit content. Doesn't shrink.
|
|
@@ -440,37 +440,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
440
440
|
|
|
441
441
|
// Angular
|
|
442
442
|
class TruncateTooltipDirective {
|
|
443
|
-
constructor(
|
|
444
|
-
this.
|
|
443
|
+
constructor(tooltip, elementRef) {
|
|
444
|
+
this.tooltip = tooltip;
|
|
445
445
|
this.elementRef = elementRef;
|
|
446
|
+
this.displayOnlyOnTruncate = false;
|
|
446
447
|
}
|
|
447
448
|
updateTruncateState() {
|
|
448
449
|
const element = this.elementRef.nativeElement;
|
|
449
450
|
const truncated = element.scrollWidth > element.clientWidth;
|
|
450
|
-
let defaultTooltip = '';
|
|
451
451
|
// In case a default tooltip content exists, even not truncated, the tooltip stay displayed
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
}
|
|
458
|
-
this.tooltipNeo.apTooltipNeo = truncated ? this.truncateTooltip : defaultTooltip;
|
|
452
|
+
this.tooltip.content = truncated
|
|
453
|
+
? this.truncateTooltip
|
|
454
|
+
: this.displayOnlyOnTruncate
|
|
455
|
+
? null
|
|
456
|
+
: this.truncateTooltip;
|
|
459
457
|
}
|
|
460
458
|
ngOnInit() {
|
|
461
|
-
this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover')
|
|
462
|
-
.subscribe(() => this.updateTruncateState());
|
|
459
|
+
this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover').subscribe(() => this.updateTruncateState());
|
|
463
460
|
}
|
|
464
461
|
ngOnDestroy() {
|
|
465
462
|
this.elementRefMouseOver$.unsubscribe();
|
|
466
463
|
}
|
|
467
464
|
}
|
|
468
|
-
TruncateTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruncateTooltipDirective, deps: [{ token: i1.
|
|
469
|
-
TruncateTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: TruncateTooltipDirective, isStandalone: true, selector: "[
|
|
465
|
+
TruncateTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruncateTooltipDirective, deps: [{ token: i1.TooltipDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
466
|
+
TruncateTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: TruncateTooltipDirective, isStandalone: true, selector: "[apTooltip][truncateTooltip]", inputs: { truncateTooltip: "truncateTooltip", displayOnlyOnTruncate: "displayOnlyOnTruncate" }, ngImport: i0 });
|
|
470
467
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruncateTooltipDirective, decorators: [{
|
|
471
468
|
type: Directive,
|
|
472
|
-
args: [{ selector: '[
|
|
473
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
469
|
+
args: [{ selector: '[apTooltip][truncateTooltip]', standalone: true }]
|
|
470
|
+
}], ctorParameters: function () { return [{ type: i1.TooltipDirective }, { type: i0.ElementRef }]; }, propDecorators: { truncateTooltip: [{
|
|
471
|
+
type: Input
|
|
472
|
+
}], displayOnlyOnTruncate: [{
|
|
474
473
|
type: Input
|
|
475
474
|
}] } });
|
|
476
475
|
|