primeng 22.1.4 → 22.1.5
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/LICENSE.md +2 -0
- package/fesm2022/primeng-accordion.mjs +23 -23
- package/fesm2022/primeng-animateonscroll.mjs +7 -7
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +54 -30
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +14 -14
- package/fesm2022/primeng-base.mjs +3 -3
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-baseeditableholder.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs +3 -3
- package/fesm2022/primeng-basemodelholder.mjs +3 -3
- package/fesm2022/primeng-bind.mjs +7 -7
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-breadcrumb.mjs +14 -14
- package/fesm2022/primeng-button.mjs +19 -19
- package/fesm2022/primeng-buttongroup.mjs +14 -14
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs +31 -31
- package/fesm2022/primeng-cascadeselect.mjs +13 -13
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +10 -10
- package/fesm2022/primeng-chip.mjs +10 -10
- package/fesm2022/primeng-classnames.mjs +7 -7
- package/fesm2022/primeng-colorpicker.mjs +10 -10
- package/fesm2022/primeng-commandmenu.mjs +10 -10
- package/fesm2022/primeng-compare.mjs +19 -19
- package/fesm2022/primeng-config.mjs +7 -7
- package/fesm2022/primeng-confirmdialog.mjs +10 -10
- package/fesm2022/primeng-confirmpopup.mjs +10 -10
- package/fesm2022/primeng-contextmenu.mjs +13 -13
- package/fesm2022/primeng-dataview.mjs +10 -10
- package/fesm2022/primeng-datepicker.mjs +13 -11
- package/fesm2022/primeng-dialog.mjs +10 -10
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +10 -10
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +14 -14
- package/fesm2022/primeng-dynamicdialog.mjs +16 -16
- package/fesm2022/primeng-editor.mjs +10 -10
- package/fesm2022/primeng-fieldset.mjs +10 -10
- package/fesm2022/primeng-fileupload.mjs +13 -13
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -10
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-galleria.mjs +22 -22
- package/fesm2022/primeng-gallery.mjs +75 -73
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-image.mjs +10 -10
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inputcolor.mjs +43 -43
- package/fesm2022/primeng-inputgroup.mjs +14 -14
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputmask.mjs +13 -13
- package/fesm2022/primeng-inputnumber.mjs +10 -10
- package/fesm2022/primeng-inputotp.mjs +10 -10
- package/fesm2022/primeng-inputpassword.mjs +10 -10
- package/fesm2022/primeng-inputtags.mjs +22 -18
- package/fesm2022/primeng-inputtext.mjs +10 -10
- package/fesm2022/primeng-isolation.mjs +9 -9
- package/fesm2022/primeng-keyfilter.mjs +7 -7
- package/fesm2022/primeng-knob.mjs +10 -10
- package/fesm2022/primeng-label.mjs +10 -10
- package/fesm2022/primeng-listbox.mjs +46 -34
- package/fesm2022/primeng-megamenu.mjs +13 -13
- package/fesm2022/primeng-menu.mjs +30 -24
- package/fesm2022/primeng-menubar.mjs +20 -20
- package/fesm2022/primeng-message.mjs +12 -10
- package/fesm2022/primeng-metergroup.mjs +13 -13
- package/fesm2022/primeng-motion.mjs +13 -13
- package/fesm2022/primeng-multiselect.mjs +61 -29
- package/fesm2022/primeng-orderlist.mjs +12 -10
- package/fesm2022/primeng-organizationchart.mjs +129 -31
- package/fesm2022/primeng-overlay.mjs +10 -10
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +16 -12
- package/fesm2022/primeng-panel.mjs +10 -10
- package/fesm2022/primeng-panelmenu.mjs +36 -28
- package/fesm2022/primeng-password.mjs +20 -20
- package/fesm2022/primeng-picklist.mjs +14 -10
- package/fesm2022/primeng-popover.mjs +10 -10
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-radiobutton.mjs +13 -13
- package/fesm2022/primeng-rating.mjs +10 -10
- package/fesm2022/primeng-ripple.mjs +14 -14
- package/fesm2022/primeng-scrollarea.mjs +25 -25
- package/fesm2022/primeng-scroller.mjs +16 -12
- package/fesm2022/primeng-scrollpanel.mjs +14 -14
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-select.mjs +66 -36
- package/fesm2022/primeng-selectbutton.mjs +12 -10
- package/fesm2022/primeng-sidebar.mjs +83 -83
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +10 -10
- package/fesm2022/primeng-speeddial.mjs +10 -10
- package/fesm2022/primeng-splitbutton.mjs +10 -10
- package/fesm2022/primeng-splitter.mjs +13 -13
- package/fesm2022/primeng-stepper.mjs +47 -47
- package/fesm2022/primeng-steps.mjs +10 -10
- package/fesm2022/primeng-styleclass.mjs +7 -7
- package/fesm2022/primeng-table.mjs +191 -105
- package/fesm2022/primeng-tabs.mjs +50 -34
- package/fesm2022/primeng-tag.mjs +10 -10
- package/fesm2022/primeng-terminal.mjs +15 -15
- package/fesm2022/primeng-textarea.mjs +10 -10
- package/fesm2022/primeng-tieredmenu.mjs +13 -13
- package/fesm2022/primeng-timeline.mjs +24 -18
- package/fesm2022/primeng-toast.mjs +13 -13
- package/fesm2022/primeng-togglebutton.mjs +14 -14
- package/fesm2022/primeng-toggleswitch.mjs +10 -10
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-tooltip.mjs +94 -80
- package/fesm2022/primeng-tree.mjs +131 -33
- package/fesm2022/primeng-treeselect.mjs +10 -10
- package/fesm2022/primeng-treetable.mjs +84 -62
- package/fesm2022/primeng-useid.mjs +3 -3
- package/fesm2022/primeng-usestyle.mjs +6 -6
- package/package.json +20 -20
- package/types/primeng-api.d.ts +7 -2
- package/types/primeng-motion.d.ts +0 -15
- package/types/primeng-scroller.d.ts +1 -0
- package/types/primeng-select.d.ts +3 -2
- package/types/primeng-stepper.d.ts +0 -95
- package/types/primeng-table.d.ts +2 -0
- package/types/primeng-tabs.d.ts +3 -76
- package/types/primeng-tooltip.d.ts +18 -7
- package/types/primeng-types-select.d.ts +4 -0
- package/types/primeng-utils.d.ts +0 -1
- package/types/primeng.d.ts +1 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { isPlatformBrowser } from "@angular/common";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import { Directive, Injectable, InjectionToken, NgModule, ViewContainerRef, booleanAttribute, computed, effect, inject, input, numberAttribute, untracked } from "@angular/core";
|
|
4
|
-
import { appendChild, createElement, fadeIn, findSingle, getOuterHeight, getOuterWidth, getViewport, getWindowScrollLeft, getWindowScrollTop, hasClass, removeChild } from "@primeuix/utils";
|
|
5
|
-
import { BaseComponent
|
|
3
|
+
import { Directive, Injectable, InjectionToken, NgModule, NgZone, ViewContainerRef, booleanAttribute, computed, effect, inject, input, numberAttribute, untracked } from "@angular/core";
|
|
4
|
+
import { appendChild, createElement, fadeIn, findSingle, getActiveElement, getOuterHeight, getOuterWidth, getViewport, getWindowScrollLeft, getWindowScrollTop, hasClass, isPrefersReducedMotion, removeChild } from "@primeuix/utils";
|
|
5
|
+
import { BaseComponent } from "primeng/basecomponent";
|
|
6
6
|
import { BindModule } from "primeng/bind";
|
|
7
7
|
import { ConnectedOverlayScrollHandler, getEventTarget } from "primeng/dom";
|
|
8
8
|
import { ZIndexUtils } from "primeng/utils";
|
|
@@ -19,7 +19,7 @@ var TooltipStyle = class TooltipStyle extends BaseStyle {
|
|
|
19
19
|
classes = classes;
|
|
20
20
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
21
21
|
minVersion: "12.0.0",
|
|
22
|
-
version: "22.2.
|
|
22
|
+
version: "22.2.5",
|
|
23
23
|
ngImport: i0,
|
|
24
24
|
type: TooltipStyle,
|
|
25
25
|
deps: null,
|
|
@@ -27,14 +27,14 @@ var TooltipStyle = class TooltipStyle extends BaseStyle {
|
|
|
27
27
|
});
|
|
28
28
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
29
29
|
minVersion: "12.0.0",
|
|
30
|
-
version: "22.2.
|
|
30
|
+
version: "22.2.5",
|
|
31
31
|
ngImport: i0,
|
|
32
32
|
type: TooltipStyle
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({
|
|
36
36
|
minVersion: "12.0.0",
|
|
37
|
-
version: "22.2.
|
|
37
|
+
version: "22.2.5",
|
|
38
38
|
ngImport: i0,
|
|
39
39
|
type: TooltipStyle,
|
|
40
40
|
decorators: [{ type: Injectable }]
|
|
@@ -46,6 +46,9 @@ var TooltipClasses;
|
|
|
46
46
|
TooltipClasses["text"] = "p-tooltip-text";
|
|
47
47
|
})(TooltipClasses || (TooltipClasses = {}));
|
|
48
48
|
const TOOLTIP_INSTANCE = new InjectionToken("TOOLTIP_INSTANCE");
|
|
49
|
+
function isTemplateRef(value) {
|
|
50
|
+
return typeof value?.createEmbeddedView === "function";
|
|
51
|
+
}
|
|
49
52
|
var Tooltip = class Tooltip extends BaseComponent {
|
|
50
53
|
componentName = "Tooltip";
|
|
51
54
|
$pcTooltip = inject(TOOLTIP_INSTANCE, {
|
|
@@ -109,33 +112,39 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
109
112
|
appendTo = input(void 0, ...ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []);
|
|
110
113
|
$appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []);
|
|
111
114
|
tooltipId = this.$useId.next("pn_id_") + "_tooltip";
|
|
112
|
-
_tooltipOptions = computed(() =>
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
115
|
+
_tooltipOptions = computed(() => {
|
|
116
|
+
const options = Object.fromEntries(Object.entries(this.tooltipOptions() ?? {}).filter(([, value]) => value !== void 0));
|
|
117
|
+
return {
|
|
118
|
+
tooltipLabel: this.content(),
|
|
119
|
+
tooltipPosition: this.tooltipPosition() ?? "right",
|
|
120
|
+
tooltipEvent: this.tooltipEvent(),
|
|
121
|
+
appendTo: this.appendTo() ?? "body",
|
|
122
|
+
positionStyle: this.positionStyle(),
|
|
123
|
+
tooltipStyleClass: this.tooltipStyleClass(),
|
|
124
|
+
tooltipZIndex: this.tooltipZIndex() ?? "auto",
|
|
125
|
+
escape: this.escape(),
|
|
126
|
+
showDelay: this.showDelay(),
|
|
127
|
+
hideDelay: this.hideDelay(),
|
|
128
|
+
life: this.life(),
|
|
129
|
+
positionTop: this.positionTop() ?? 0,
|
|
130
|
+
positionLeft: this.positionLeft() ?? 0,
|
|
131
|
+
autoHide: this.autoHide(),
|
|
132
|
+
hideOnEscape: this.hideOnEscape(),
|
|
133
|
+
fitContent: this.fitContent(),
|
|
134
|
+
showOnEllipsis: this.showOnEllipsis(),
|
|
135
|
+
disabled: this.tooltipDisabled(),
|
|
136
|
+
...options,
|
|
137
|
+
id: this.tooltipId
|
|
138
|
+
};
|
|
139
|
+
}, ...ngDevMode ? [{ debugName: "_tooltipOptions" }] : /* istanbul ignore next */ []);
|
|
133
140
|
container = null;
|
|
134
141
|
styleClass;
|
|
135
142
|
tooltipText = null;
|
|
136
143
|
rootPTClasses = "";
|
|
137
144
|
showTimeout = null;
|
|
138
145
|
hideTimeout = null;
|
|
146
|
+
fadeInCancel;
|
|
147
|
+
alignTimeout = null;
|
|
139
148
|
active;
|
|
140
149
|
mouseEnterListener;
|
|
141
150
|
mouseLeaveListener;
|
|
@@ -153,6 +162,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
153
162
|
pTooltipPT = input(...ngDevMode ? [void 0, { debugName: "pTooltipPT" }] : /* istanbul ignore next */ []);
|
|
154
163
|
pTooltipUnstyled = input(...ngDevMode ? [void 0, { debugName: "pTooltipUnstyled" }] : /* istanbul ignore next */ []);
|
|
155
164
|
viewContainer = inject(ViewContainerRef);
|
|
165
|
+
zone = inject(NgZone);
|
|
156
166
|
constructor() {
|
|
157
167
|
super();
|
|
158
168
|
effect(() => {
|
|
@@ -199,7 +209,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
199
209
|
});
|
|
200
210
|
}
|
|
201
211
|
onAfterViewInit() {
|
|
202
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
212
|
+
if (isPlatformBrowser(this.platformId)) this.zone.runOutsideAngular(() => {
|
|
203
213
|
const tooltipEvent = this.getOption("tooltipEvent");
|
|
204
214
|
if (tooltipEvent === "hover" || tooltipEvent === "both") {
|
|
205
215
|
this.mouseEnterListener = this.onMouseEnter.bind(this);
|
|
@@ -221,10 +231,10 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
221
231
|
target.addEventListener("focus", this.focusListener);
|
|
222
232
|
target.addEventListener("blur", this.blurListener);
|
|
223
233
|
}
|
|
224
|
-
}
|
|
234
|
+
});
|
|
225
235
|
}
|
|
226
236
|
isAutoHide() {
|
|
227
|
-
return this.getOption("autoHide");
|
|
237
|
+
return !!this.getOption("autoHide");
|
|
228
238
|
}
|
|
229
239
|
onMouseEnter(e) {
|
|
230
240
|
if (!this.container && !this.showTimeout) this.activate();
|
|
@@ -264,6 +274,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
264
274
|
this.deactivate();
|
|
265
275
|
}
|
|
266
276
|
onInputClick(e) {
|
|
277
|
+
if (this.getOption("tooltipEvent") === "both" && this.el.nativeElement.contains(getActiveElement(this.el.nativeElement))) return;
|
|
267
278
|
this.deactivate();
|
|
268
279
|
}
|
|
269
280
|
hasEllipsis() {
|
|
@@ -310,6 +321,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
310
321
|
this.remove();
|
|
311
322
|
}
|
|
312
323
|
const container = createElement("div", {
|
|
324
|
+
id: this.getOption("id"),
|
|
313
325
|
class: this.cx("root"),
|
|
314
326
|
"p-bind": this.ptm("root"),
|
|
315
327
|
"data-pc-section": "root"
|
|
@@ -329,13 +341,14 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
329
341
|
this.container = container;
|
|
330
342
|
this.tooltipText = tooltipText;
|
|
331
343
|
this.updateText();
|
|
332
|
-
|
|
344
|
+
const positionStyle = this.getOption("positionStyle");
|
|
345
|
+
if (positionStyle) container.style.position = positionStyle;
|
|
333
346
|
container.appendChild(tooltipText);
|
|
334
347
|
if (this.getOption("appendTo") === "body") this.$overlayParent(document.body, container).appendChild(container);
|
|
335
348
|
else if (this.getOption("appendTo") === "target") appendChild(container, this.el.nativeElement);
|
|
336
349
|
else appendChild(this.$overlayParent(this.getOption("appendTo"), container), container);
|
|
337
350
|
container.style.display = "none";
|
|
338
|
-
if (this.fitContent
|
|
351
|
+
if (this.getOption("fitContent")) container.style.width = "fit-content";
|
|
339
352
|
if (this.isAutoHide()) container.style.pointerEvents = "none";
|
|
340
353
|
else {
|
|
341
354
|
container.style.pointerEvents = "unset";
|
|
@@ -349,7 +362,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
349
362
|
}
|
|
350
363
|
unbindContainerMouseleaveListener() {
|
|
351
364
|
if (this.containerMouseleaveListener) {
|
|
352
|
-
this.
|
|
365
|
+
this.containerMouseleaveListener();
|
|
353
366
|
this.containerMouseleaveListener = null;
|
|
354
367
|
}
|
|
355
368
|
}
|
|
@@ -357,21 +370,24 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
357
370
|
if (!this.getOption("tooltipLabel") || this.getOption("disabled")) return;
|
|
358
371
|
this.create();
|
|
359
372
|
const container = this.container;
|
|
360
|
-
if (this.el.nativeElement.closest("p-dialog")) setTimeout(() => {
|
|
373
|
+
if (this.el.nativeElement.closest("p-dialog")) this.alignTimeout = setTimeout(() => {
|
|
361
374
|
if (this.container) {
|
|
362
375
|
this.container.style.display = "inline-block";
|
|
363
376
|
this.align();
|
|
377
|
+
if (!isPrefersReducedMotion()) this.fadeInCancel = fadeIn(this.container, 250);
|
|
364
378
|
}
|
|
365
379
|
}, 100);
|
|
366
380
|
else {
|
|
367
381
|
container.style.display = "inline-block";
|
|
368
382
|
this.align();
|
|
383
|
+
if (!isPrefersReducedMotion()) this.fadeInCancel = fadeIn(container, 250);
|
|
369
384
|
}
|
|
370
|
-
fadeIn(container, 250);
|
|
371
385
|
if (this.getOption("tooltipZIndex") === "auto") ZIndexUtils.set("tooltip", container, this.config.zIndex.tooltip);
|
|
372
|
-
else container.style.zIndex = this.getOption("tooltipZIndex");
|
|
386
|
+
else container.style.zIndex = String(this.getOption("tooltipZIndex"));
|
|
373
387
|
this.bindDocumentResizeListener();
|
|
374
388
|
this.bindScrollListener();
|
|
389
|
+
const target = this.getTarget(this.el.nativeElement);
|
|
390
|
+
if (target && !target.getAttribute("aria-describedby")) target.setAttribute("aria-describedby", container.id);
|
|
375
391
|
}
|
|
376
392
|
hide() {
|
|
377
393
|
if (this.getOption("tooltipZIndex") === "auto") ZIndexUtils.clear(this.container);
|
|
@@ -380,14 +396,14 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
380
396
|
updateText() {
|
|
381
397
|
if (!this.tooltipText) return;
|
|
382
398
|
const content = this.getOption("tooltipLabel");
|
|
383
|
-
if (content
|
|
399
|
+
if (isTemplateRef(content)) {
|
|
384
400
|
const embeddedViewRef = this.viewContainer.createEmbeddedView(content);
|
|
385
401
|
embeddedViewRef.detectChanges();
|
|
386
402
|
embeddedViewRef.rootNodes.forEach((node) => this.tooltipText.appendChild(node));
|
|
387
403
|
} else if (this.getOption("escape")) {
|
|
388
|
-
this.tooltipText.
|
|
389
|
-
this.tooltipText.appendChild(document.createTextNode(content));
|
|
390
|
-
} else this.tooltipText.innerHTML = content;
|
|
404
|
+
this.tooltipText.textContent = "";
|
|
405
|
+
this.tooltipText.appendChild(document.createTextNode(content ?? ""));
|
|
406
|
+
} else this.tooltipText.innerHTML = content ?? "";
|
|
391
407
|
}
|
|
392
408
|
align() {
|
|
393
409
|
const position = this.getOption("tooltipPosition");
|
|
@@ -423,7 +439,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
423
439
|
}
|
|
424
440
|
getHostOffset() {
|
|
425
441
|
if (this.getOption("appendTo") === "body" || this.getOption("appendTo") === "target") {
|
|
426
|
-
let offset = this.
|
|
442
|
+
let offset = this.anchorElement.getBoundingClientRect();
|
|
427
443
|
return {
|
|
428
444
|
left: offset.left + getWindowScrollLeft(),
|
|
429
445
|
top: offset.top + getWindowScrollTop()
|
|
@@ -436,6 +452,11 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
436
452
|
get activeElement() {
|
|
437
453
|
return this.el.nativeElement.nodeName.startsWith("P-") ? findSingle(this.el.nativeElement, this.psel(".p-component")) : this.el.nativeElement;
|
|
438
454
|
}
|
|
455
|
+
get anchorElement() {
|
|
456
|
+
const host = this.el.nativeElement;
|
|
457
|
+
const { width, height } = host.getBoundingClientRect();
|
|
458
|
+
return width === 0 && height === 0 ? this.activeElement ?? host : host;
|
|
459
|
+
}
|
|
439
460
|
alignRight() {
|
|
440
461
|
this.preAlign("right");
|
|
441
462
|
const el = this.activeElement;
|
|
@@ -454,7 +475,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
454
475
|
this.preAlign("left");
|
|
455
476
|
let arrowElement = this.getArrowElement();
|
|
456
477
|
let offsetLeft = getOuterWidth(this.container);
|
|
457
|
-
let offsetTop = (getOuterHeight(this.
|
|
478
|
+
let offsetTop = (getOuterHeight(this.anchorElement) - getOuterHeight(this.container)) / 2;
|
|
458
479
|
this.alignTooltip(-offsetLeft, offsetTop);
|
|
459
480
|
if (arrowElement) {
|
|
460
481
|
arrowElement.style.top = "50%";
|
|
@@ -468,7 +489,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
468
489
|
let arrowElement = this.getArrowElement();
|
|
469
490
|
let hostOffset = this.getHostOffset();
|
|
470
491
|
let elementWidth = getOuterWidth(this.container);
|
|
471
|
-
let offsetLeft = (getOuterWidth(this.
|
|
492
|
+
let offsetLeft = (getOuterWidth(this.anchorElement) - getOuterWidth(this.container)) / 2;
|
|
472
493
|
let offsetTop = getOuterHeight(this.container);
|
|
473
494
|
this.alignTooltip(offsetLeft, -offsetTop);
|
|
474
495
|
let elementRelativeCenter = hostOffset.left - this.getHostOffset().left + elementWidth / 2;
|
|
@@ -487,8 +508,8 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
487
508
|
let arrowElement = this.getArrowElement();
|
|
488
509
|
let elementWidth = getOuterWidth(this.container);
|
|
489
510
|
let hostOffset = this.getHostOffset();
|
|
490
|
-
let offsetLeft = (getOuterWidth(this.
|
|
491
|
-
let offsetTop = getOuterHeight(this.
|
|
511
|
+
let offsetLeft = (getOuterWidth(this.anchorElement) - getOuterWidth(this.container)) / 2;
|
|
512
|
+
let offsetTop = getOuterHeight(this.anchorElement);
|
|
492
513
|
this.alignTooltip(offsetLeft, offsetTop);
|
|
493
514
|
let elementRelativeCenter = hostOffset.left - this.getHostOffset().left + elementWidth / 2;
|
|
494
515
|
if (arrowElement) {
|
|
@@ -502,8 +523,8 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
502
523
|
let hostOffset = this.getHostOffset();
|
|
503
524
|
let left = hostOffset.left + offsetLeft;
|
|
504
525
|
let top = hostOffset.top + offsetTop;
|
|
505
|
-
this.container.style.left = left + this.getOption("positionLeft") + "px";
|
|
506
|
-
this.container.style.top = top + this.getOption("positionTop") + "px";
|
|
526
|
+
this.container.style.left = left + (this.getOption("positionLeft") ?? 0) + "px";
|
|
527
|
+
this.container.style.top = top + (this.getOption("positionTop") ?? 0) + "px";
|
|
507
528
|
}
|
|
508
529
|
getOption(option) {
|
|
509
530
|
return this._tooltipOptions()[option];
|
|
@@ -567,6 +588,8 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
567
588
|
this.unbindDocumentResizeListener();
|
|
568
589
|
}
|
|
569
590
|
remove() {
|
|
591
|
+
const target = this.getTarget(this.el.nativeElement);
|
|
592
|
+
if (this.container && target?.getAttribute("aria-describedby") === this.container.id) target.removeAttribute("aria-describedby");
|
|
570
593
|
if (this.container && this.container.parentElement) {
|
|
571
594
|
if (this.$styleScope.isolated && this.getOption("appendTo") !== "target") this.container.remove();
|
|
572
595
|
else if (this.getOption("appendTo") === "body") document.body.removeChild(this.container);
|
|
@@ -578,6 +601,8 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
578
601
|
this.unbindContainerMouseleaveListener();
|
|
579
602
|
this.unbindDocumentTouchListener();
|
|
580
603
|
this.clearTimeouts();
|
|
604
|
+
this.fadeInCancel?.();
|
|
605
|
+
this.fadeInCancel = null;
|
|
581
606
|
this.container = null;
|
|
582
607
|
this.scrollHandler = null;
|
|
583
608
|
}
|
|
@@ -593,23 +618,26 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
593
618
|
this.hideTimeout = null;
|
|
594
619
|
}
|
|
595
620
|
}
|
|
621
|
+
clearAlignTimeout() {
|
|
622
|
+
if (this.alignTimeout) {
|
|
623
|
+
clearTimeout(this.alignTimeout);
|
|
624
|
+
this.alignTimeout = null;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
596
627
|
clearTimeouts() {
|
|
597
628
|
this.clearShowTimeout();
|
|
598
629
|
this.clearHideTimeout();
|
|
630
|
+
this.clearAlignTimeout();
|
|
599
631
|
}
|
|
600
632
|
onDestroy() {
|
|
601
633
|
this.unbindEvents();
|
|
602
634
|
if (this.container) ZIndexUtils.clear(this.container);
|
|
603
635
|
this.remove();
|
|
604
|
-
if (this.scrollHandler) {
|
|
605
|
-
this.scrollHandler.destroy();
|
|
606
|
-
this.scrollHandler = null;
|
|
607
|
-
}
|
|
608
636
|
if (this.documentEscapeListener) this.documentEscapeListener();
|
|
609
637
|
}
|
|
610
638
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
611
639
|
minVersion: "12.0.0",
|
|
612
|
-
version: "22.2.
|
|
640
|
+
version: "22.2.5",
|
|
613
641
|
ngImport: i0,
|
|
614
642
|
type: Tooltip,
|
|
615
643
|
deps: [],
|
|
@@ -617,7 +645,7 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
617
645
|
});
|
|
618
646
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
619
647
|
minVersion: "17.1.0",
|
|
620
|
-
version: "22.2.
|
|
648
|
+
version: "22.2.5",
|
|
621
649
|
type: Tooltip,
|
|
622
650
|
isStandalone: true,
|
|
623
651
|
selector: "[pTooltip]",
|
|
@@ -770,24 +798,17 @@ var Tooltip = class Tooltip extends BaseComponent {
|
|
|
770
798
|
transformFunction: null
|
|
771
799
|
}
|
|
772
800
|
},
|
|
773
|
-
providers: [
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
useExisting: Tooltip
|
|
778
|
-
},
|
|
779
|
-
{
|
|
780
|
-
provide: PARENT_INSTANCE,
|
|
781
|
-
useExisting: Tooltip
|
|
782
|
-
}
|
|
783
|
-
],
|
|
801
|
+
providers: [TooltipStyle, {
|
|
802
|
+
provide: TOOLTIP_INSTANCE,
|
|
803
|
+
useExisting: Tooltip
|
|
804
|
+
}],
|
|
784
805
|
usesInheritance: true,
|
|
785
806
|
ngImport: i0
|
|
786
807
|
});
|
|
787
808
|
};
|
|
788
809
|
i0.ɵɵngDeclareClassMetadata({
|
|
789
810
|
minVersion: "12.0.0",
|
|
790
|
-
version: "22.2.
|
|
811
|
+
version: "22.2.5",
|
|
791
812
|
ngImport: i0,
|
|
792
813
|
type: Tooltip,
|
|
793
814
|
decorators: [{
|
|
@@ -795,17 +816,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
795
816
|
args: [{
|
|
796
817
|
selector: "[pTooltip]",
|
|
797
818
|
standalone: true,
|
|
798
|
-
providers: [
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
useExisting: Tooltip
|
|
803
|
-
},
|
|
804
|
-
{
|
|
805
|
-
provide: PARENT_INSTANCE,
|
|
806
|
-
useExisting: Tooltip
|
|
807
|
-
}
|
|
808
|
-
]
|
|
819
|
+
providers: [TooltipStyle, {
|
|
820
|
+
provide: TOOLTIP_INSTANCE,
|
|
821
|
+
useExisting: Tooltip
|
|
822
|
+
}]
|
|
809
823
|
}]
|
|
810
824
|
}],
|
|
811
825
|
ctorParameters: () => [],
|
|
@@ -983,7 +997,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
983
997
|
var TooltipModule = class TooltipModule {
|
|
984
998
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
985
999
|
minVersion: "12.0.0",
|
|
986
|
-
version: "22.2.
|
|
1000
|
+
version: "22.2.5",
|
|
987
1001
|
ngImport: i0,
|
|
988
1002
|
type: TooltipModule,
|
|
989
1003
|
deps: [],
|
|
@@ -991,7 +1005,7 @@ var TooltipModule = class TooltipModule {
|
|
|
991
1005
|
});
|
|
992
1006
|
static ɵmod = i0.ɵɵngDeclareNgModule({
|
|
993
1007
|
minVersion: "14.0.0",
|
|
994
|
-
version: "22.2.
|
|
1008
|
+
version: "22.2.5",
|
|
995
1009
|
ngImport: i0,
|
|
996
1010
|
type: TooltipModule,
|
|
997
1011
|
imports: [Tooltip, BindModule],
|
|
@@ -999,7 +1013,7 @@ var TooltipModule = class TooltipModule {
|
|
|
999
1013
|
});
|
|
1000
1014
|
static ɵinj = i0.ɵɵngDeclareInjector({
|
|
1001
1015
|
minVersion: "12.0.0",
|
|
1002
|
-
version: "22.2.
|
|
1016
|
+
version: "22.2.5",
|
|
1003
1017
|
ngImport: i0,
|
|
1004
1018
|
type: TooltipModule,
|
|
1005
1019
|
imports: [BindModule, BindModule]
|
|
@@ -1007,7 +1021,7 @@ var TooltipModule = class TooltipModule {
|
|
|
1007
1021
|
};
|
|
1008
1022
|
i0.ɵɵngDeclareClassMetadata({
|
|
1009
1023
|
minVersion: "12.0.0",
|
|
1010
|
-
version: "22.2.
|
|
1024
|
+
version: "22.2.5",
|
|
1011
1025
|
ngImport: i0,
|
|
1012
1026
|
type: TooltipModule,
|
|
1013
1027
|
decorators: [{
|