@lucca-front/ng 22.0.0-rc.1 → 22.0.0-rc.2
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/fesm2022/lucca-front-ng-a11y.mjs +4 -4
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-activity-feed.mjs +18 -18
- package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +121 -196
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs +4 -4
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +7 -7
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +10 -10
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-icon.mjs +11 -11
- package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-illustration.mjs +9 -9
- package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +75 -71
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +15 -15
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +14 -15
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-code.mjs +4 -4
- package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-color.mjs +7 -7
- package/fesm2022/lucca-front-ng-color.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +30 -30
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +7 -7
- package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +33 -49
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs +21 -15
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +15 -15
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +6 -6
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +39 -39
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +212 -306
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +30 -19
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +74 -74
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +138 -162
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +142 -154
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +27 -25
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +77 -46
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +11 -13
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +72 -75
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +35 -35
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-error-page.mjs +8 -8
- package/fesm2022/lucca-front-ng-error-page.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +80 -114
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +10 -10
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +63 -64
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +60 -70
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +10 -10
- package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +74 -76
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-header.mjs +4 -4
- package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-label.mjs +12 -12
- package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form.mjs +5 -5
- package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +59 -58
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +20 -20
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +93 -91
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +146 -145
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +19 -19
- package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-grid.mjs +23 -23
- package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +16 -16
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +11 -11
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +60 -60
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +7 -7
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +24 -23
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +12 -12
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +26 -26
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +19 -19
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs +8 -8
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +9 -9
- package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -4
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +32 -36
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +150 -173
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +4 -4
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +17 -21
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs +7 -7
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +12 -12
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +158 -165
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +9 -9
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +12 -11
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +7 -7
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +138 -253
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +50 -78
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +10 -10
- package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-bar.mjs +7 -7
- package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-stepper.mjs +12 -12
- package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +17 -17
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-resource-card.mjs +21 -21
- package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll-box.mjs +6 -6
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +8 -8
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +16 -16
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control.mjs +13 -13
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +88 -135
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +31 -30
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +54 -50
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +84 -0
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-software-icon.mjs +23 -12
- package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sortable-list.mjs +14 -14
- package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs +7 -7
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-table-of-content.mjs +7 -7
- package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +12 -12
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-text-flow.mjs +3 -3
- package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +75 -76
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-title.mjs +10 -10
- package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +13 -13
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +187 -130
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tree-select.mjs +16 -16
- package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +29 -33
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +133 -167
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +27 -27
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
- package/package.json +11 -5
- package/types/lucca-front-ng-api.d.ts +62 -62
- package/types/lucca-front-ng-callout.d.ts +6 -2
- package/types/lucca-front-ng-clear.d.ts +3 -2
- package/types/lucca-front-ng-core-select-api.d.ts +23 -23
- package/types/lucca-front-ng-core-select-department.d.ts +4 -0
- package/types/lucca-front-ng-core-select-user.d.ts +1 -1
- package/types/lucca-front-ng-core-select.d.ts +142 -141
- package/types/lucca-front-ng-core.d.ts +8 -3
- package/types/lucca-front-ng-date.d.ts +28 -26
- package/types/lucca-front-ng-dialog.d.ts +13 -2
- package/types/lucca-front-ng-divider.d.ts +1 -1
- package/types/lucca-front-ng-dropdown.d.ts +5 -4
- package/types/lucca-front-ng-establishment.d.ts +18 -19
- package/types/lucca-front-ng-file-upload.d.ts +4 -3
- package/types/lucca-front-ng-filter-pills.d.ts +4 -4
- package/types/lucca-front-ng-form-field.d.ts +6 -6
- package/types/lucca-front-ng-forms-rich-text-input.d.ts +1 -0
- package/types/lucca-front-ng-forms.d.ts +25 -14
- package/types/lucca-front-ng-input.d.ts +1 -1
- package/types/lucca-front-ng-modal.d.ts +2 -2
- package/types/lucca-front-ng-multi-select.d.ts +37 -38
- package/types/lucca-front-ng-option.d.ts +12 -12
- package/types/lucca-front-ng-popover.d.ts +52 -46
- package/types/lucca-front-ng-popover2.d.ts +13 -11
- package/types/lucca-front-ng-select.d.ts +30 -28
- package/types/lucca-front-ng-simple-select.d.ts +4 -3
- package/types/lucca-front-ng-skeleton.d.ts +5 -1
- package/types/lucca-front-ng-software-icon-wrapper.d.ts +31 -0
- package/types/lucca-front-ng-software-icon.d.ts +10 -4
- package/types/lucca-front-ng-time.d.ts +2 -1
- package/types/lucca-front-ng-tooltip.d.ts +2 -2
- package/types/lucca-front-ng-user-popover.d.ts +4 -3
- package/types/lucca-front-ng-user.d.ts +20 -20
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject, DestroyRef, signal, ChangeDetectionStrategy, Component, Injectable, ElementRef, Renderer2, Injector, input, linkedSignal, numberAttribute, booleanAttribute, computed, effect, Directive, NgModule } from '@angular/core';
|
|
4
|
-
import { Subject,
|
|
3
|
+
import { inject, DestroyRef, signal, ChangeDetectionStrategy, Component, Injectable, ElementRef, Renderer2, Injector, input, linkedSignal, numberAttribute, booleanAttribute, computed, effect, afterRenderEffect, Directive, NgModule } from '@angular/core';
|
|
4
|
+
import { Subject, timer, startWith } from 'rxjs';
|
|
5
5
|
import { Overlay, OverlayModule } from '@angular/cdk/overlay';
|
|
6
6
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
7
|
-
import { toSignal, toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
|
-
import { isNotNil, ɵeffectWithDeps as _effectWithDeps } from '@lucca-front/ng/core';
|
|
9
|
-
import { debounceTime, filter, debounce, tap, map } from 'rxjs/operators';
|
|
10
7
|
import { DOCUMENT } from '@angular/common';
|
|
8
|
+
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
9
|
+
import { isNotNil, ɵeffectWithDeps as _effectWithDeps } from '@lucca-front/ng/core';
|
|
10
|
+
import { filter, debounce, tap, map } from 'rxjs/operators';
|
|
11
11
|
|
|
12
12
|
const luTransformTooltip = trigger('transformTooltip', [
|
|
13
13
|
state('enter', style({
|
|
@@ -29,8 +29,8 @@ class LuTooltipPanelComponent {
|
|
|
29
29
|
this.destroyRef = inject(DestroyRef);
|
|
30
30
|
this.mouseEnter$ = new Subject();
|
|
31
31
|
this.mouseLeave$ = new Subject();
|
|
32
|
-
this.content = signal(null, ...(ngDevMode ? [{ debugName: "content" }] : []));
|
|
33
|
-
this.contentPositionClasses = signal({}, ...(ngDevMode ? [{ debugName: "contentPositionClasses" }] : []));
|
|
32
|
+
this.content = signal(null, ...(ngDevMode ? [{ debugName: "content" }] : /* istanbul ignore next */ []));
|
|
33
|
+
this.contentPositionClasses = signal({}, ...(ngDevMode ? [{ debugName: "contentPositionClasses" }] : /* istanbul ignore next */ []));
|
|
34
34
|
}
|
|
35
35
|
setPanelPosition(posX, posY) {
|
|
36
36
|
this.contentPositionClasses.set({
|
|
@@ -40,10 +40,10 @@ class LuTooltipPanelComponent {
|
|
|
40
40
|
'is-below': posY === 'top',
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: LuTooltipPanelComponent, isStandalone: true, selector: "lu-tooltip-panel", host: { attributes: { "role": "tooltip" }, listeners: { "mouseenter": "mouseEnter$.next()", "mouseleave": "mouseLeave$.next()" } }, ngImport: i0, template: "@if (content(); as content) {\n\t<div class=\"tooltip\" [class]=\"contentPositionClasses()\" [innerHtml]=\"content\"></div>\n}\n", styles: ["@layer components{.tooltip{--components-tooltip-background-color: var(--palettes-neutral-900);--components-tooltip-color: var(--pr-t-color-text-reverse);--components-tooltip-max-width: 15rem;--components-tooltip-transformOrigin: center;--components-tooltip-margin: 0;background-color:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding-block:var(--pr-t-spacings-50);padding-inline:var(--pr-t-spacings-100);max-inline-size:var(--components-tooltip-max-width);border-radius:var(--pr-t-border-radius-default);font:var(--pr-t-font-body-XS);transform-origin:var(--components-tooltip-transformOrigin);margin:var(--components-tooltip-margin);text-align:center;inline-size:fit-content;animation-name:scaleIn;animation-duration:var(--commons-animations-durations-fast);animation-iteration-count:1;overflow-wrap:break-word}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.tooltip:empty{display:none}@supports (background-image: -webkit-named-image(i)){@media(hover:hover){[luTooltipWhenEllipsis]:after{content:\"\";display:block}}}}@layer mods{.tooltip.is-above{--components-tooltip-transformOrigin: bottom center}.tooltip.is-below{--components-tooltip-transformOrigin: top center}.tooltip.is-before{--components-tooltip-transformOrigin: center right}.tooltip.is-before.is-above{--components-tooltip-transformOrigin: bottom right}.tooltip.is-before.is-below{--components-tooltip-transformOrigin: top right}.tooltip.is-after{--components-tooltip-transformOrigin: center left}.tooltip.is-after.is-above{--components-tooltip-transformOrigin: bottom left}.tooltip.is-after.is-below{--components-tooltip-transformOrigin: top left}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipPanelComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{ selector: 'lu-tooltip-panel', host: {
|
|
49
49
|
role: 'tooltip',
|
|
@@ -52,84 +52,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
52
52
|
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (content(); as content) {\n\t<div class=\"tooltip\" [class]=\"contentPositionClasses()\" [innerHtml]=\"content\"></div>\n}\n", styles: ["@layer components{.tooltip{--components-tooltip-background-color: var(--palettes-neutral-900);--components-tooltip-color: var(--pr-t-color-text-reverse);--components-tooltip-max-width: 15rem;--components-tooltip-transformOrigin: center;--components-tooltip-margin: 0;background-color:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding-block:var(--pr-t-spacings-50);padding-inline:var(--pr-t-spacings-100);max-inline-size:var(--components-tooltip-max-width);border-radius:var(--pr-t-border-radius-default);font:var(--pr-t-font-body-XS);transform-origin:var(--components-tooltip-transformOrigin);margin:var(--components-tooltip-margin);text-align:center;inline-size:fit-content;animation-name:scaleIn;animation-duration:var(--commons-animations-durations-fast);animation-iteration-count:1;overflow-wrap:break-word}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.tooltip:empty{display:none}@supports (background-image: -webkit-named-image(i)){@media(hover:hover){[luTooltipWhenEllipsis]:after{content:\"\";display:block}}}}@layer mods{.tooltip.is-above{--components-tooltip-transformOrigin: bottom center}.tooltip.is-below{--components-tooltip-transformOrigin: top center}.tooltip.is-before{--components-tooltip-transformOrigin: center right}.tooltip.is-before.is-above{--components-tooltip-transformOrigin: bottom right}.tooltip.is-before.is-below{--components-tooltip-transformOrigin: top right}.tooltip.is-after{--components-tooltip-transformOrigin: center left}.tooltip.is-after.is-above{--components-tooltip-transformOrigin: bottom left}.tooltip.is-after.is-below{--components-tooltip-transformOrigin: top left}}\n"] }]
|
|
53
53
|
}] });
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Single, shared IntersectionObserver used by every tooltip to defer its first ellipsis
|
|
57
|
+
* measurement until the host element is near the viewport.
|
|
58
|
+
*
|
|
59
|
+
* One observer for the whole page is far cheaper than one IntersectionObserver per tooltip when
|
|
60
|
+
* many tooltips are created at once (e.g. a large table being (re)rendered): the browser then
|
|
61
|
+
* delivers a single batched callback instead of one per element.
|
|
62
|
+
*/
|
|
63
|
+
class TooltipVisibilityObserver {
|
|
64
|
+
#observer;
|
|
65
|
+
#callbacks = new WeakMap();
|
|
66
|
+
/** Calls `onVisible` once — the first time `element` comes near the viewport — then stops observing it. */
|
|
67
|
+
observeOnce(element, onVisible) {
|
|
68
|
+
this.#callbacks.set(element, onVisible);
|
|
69
|
+
this.#getObserver().observe(element);
|
|
62
70
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
* We used to do this using scrollWidth but the thing is, it's a rounded value. Sometimes,
|
|
67
|
-
* you'd get true while it should be false and vice-versa, because of rounding.
|
|
68
|
-
*
|
|
69
|
-
* So we duplicate the properties we're interested in on the element to be tested to calculate its ideal size,
|
|
70
|
-
* which we then compare with its current size.
|
|
71
|
-
*/
|
|
72
|
-
async hasEllipsis(element) {
|
|
73
|
-
await this.#nextFrame();
|
|
74
|
-
const elementStyle = getComputedStyle(element);
|
|
75
|
-
const bodyStyle = getComputedStyle(this.#document.body);
|
|
76
|
-
if (elementStyle.textOverflow !== 'ellipsis') {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
const { padding, borderWidth, borderStyle, boxSizing, fontFamily, fontWeight, fontStyle } = elementStyle;
|
|
80
|
-
const fontSize = (Number(elementStyle.fontSize.replace('px', '')) / Number(bodyStyle.fontSize.replace('px', ''))).toString() + 'rem';
|
|
81
|
-
await this.#nextFrame();
|
|
82
|
-
const elementCloned = this.#document.createElement('div');
|
|
83
|
-
Object.assign(elementCloned.style, {
|
|
84
|
-
inlineSize: 'fit-content',
|
|
85
|
-
whiteSpace: 'nowrap',
|
|
86
|
-
position: 'absolute',
|
|
87
|
-
visibility: 'hidden',
|
|
88
|
-
padding,
|
|
89
|
-
borderWidth,
|
|
90
|
-
borderStyle,
|
|
91
|
-
boxSizing,
|
|
92
|
-
fontFamily,
|
|
93
|
-
fontWeight,
|
|
94
|
-
fontStyle,
|
|
95
|
-
fontSize,
|
|
96
|
-
});
|
|
97
|
-
this.#parentMasked.appendChild(elementCloned);
|
|
98
|
-
elementCloned.innerHTML = element.innerHTML;
|
|
99
|
-
try {
|
|
100
|
-
const clonedElementWidth = elementCloned.getBoundingClientRect().width.toFixed(3);
|
|
101
|
-
const elementWidth = element.getBoundingClientRect().width.toFixed(3);
|
|
102
|
-
return parseFloat(clonedElementWidth) > parseFloat(elementWidth);
|
|
103
|
-
}
|
|
104
|
-
catch {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
finally {
|
|
108
|
-
this.#parentMasked.removeChild(elementCloned);
|
|
109
|
-
}
|
|
71
|
+
unobserve(element) {
|
|
72
|
+
this.#callbacks.delete(element);
|
|
73
|
+
this.#observer?.unobserve(element);
|
|
110
74
|
}
|
|
111
|
-
|
|
112
|
-
|
|
75
|
+
// Created lazily so the observer is only instantiated in the browser, on first use.
|
|
76
|
+
#getObserver() {
|
|
77
|
+
return (this.#observer ??= new IntersectionObserver((entries) => {
|
|
78
|
+
for (const entry of entries) {
|
|
79
|
+
if (!entry.isIntersecting) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const onVisible = this.#callbacks.get(entry.target);
|
|
83
|
+
this.unobserve(entry.target);
|
|
84
|
+
onVisible?.();
|
|
85
|
+
}
|
|
86
|
+
}, { rootMargin: '100px' }));
|
|
113
87
|
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
115
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TooltipVisibilityObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
89
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TooltipVisibilityObserver, providedIn: 'root' }); }
|
|
116
90
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TooltipVisibilityObserver, decorators: [{
|
|
118
92
|
type: Injectable,
|
|
119
93
|
args: [{ providedIn: 'root' }]
|
|
120
|
-
}]
|
|
94
|
+
}] });
|
|
121
95
|
|
|
122
96
|
let nextId = 0;
|
|
123
97
|
class LuTooltipTriggerDirective {
|
|
124
98
|
#overlay;
|
|
125
99
|
#host;
|
|
126
100
|
#renderer;
|
|
127
|
-
#
|
|
101
|
+
#document;
|
|
128
102
|
#injector;
|
|
129
103
|
#destroyRef;
|
|
130
|
-
#
|
|
131
|
-
|
|
104
|
+
#visibilityObserver;
|
|
105
|
+
// 0 until the element first appears; bumped for the initial measurement and on every real
|
|
106
|
+
// size/content change. Scrolling in and out of view does NOT bump it (see #armMeasurementObservers).
|
|
107
|
+
#measureTrigger;
|
|
108
|
+
// guards the one-time setup of the persistent resize/mutation observers
|
|
109
|
+
#measurementObserversArmed;
|
|
110
|
+
// the IntersectionObserver callback can fire after the view is destroyed; avoid touching
|
|
111
|
+
// the destroyed injector (NG0911) when that happens
|
|
112
|
+
#destroyed;
|
|
113
|
+
// written only from the `read` phase of the afterRenderEffect below
|
|
132
114
|
#hasEllipsis;
|
|
115
|
+
// reusable hidden clone, one per directive, used to measure the unconstrained width
|
|
116
|
+
#clone;
|
|
133
117
|
#action;
|
|
134
118
|
#realAction;
|
|
135
119
|
#effectRef;
|
|
@@ -137,36 +121,39 @@ class LuTooltipTriggerDirective {
|
|
|
137
121
|
this.#overlay = inject(Overlay);
|
|
138
122
|
this.#host = inject(ElementRef);
|
|
139
123
|
this.#renderer = inject(Renderer2);
|
|
140
|
-
this.#
|
|
124
|
+
this.#document = inject(DOCUMENT);
|
|
141
125
|
this.#injector = inject(Injector);
|
|
142
126
|
this.#destroyRef = inject(DestroyRef);
|
|
143
|
-
this
|
|
144
|
-
this.
|
|
145
|
-
this.
|
|
146
|
-
this.
|
|
147
|
-
this.
|
|
148
|
-
this.
|
|
149
|
-
this.
|
|
150
|
-
this.
|
|
151
|
-
this.
|
|
152
|
-
this.
|
|
153
|
-
this.
|
|
127
|
+
this.#visibilityObserver = inject(TooltipVisibilityObserver);
|
|
128
|
+
this.luTooltipInput = input('', { ...(ngDevMode ? { debugName: "luTooltipInput" } : /* istanbul ignore next */ {}), alias: 'luTooltip' });
|
|
129
|
+
this.luTooltip = linkedSignal(() => this.luTooltipInput(), ...(ngDevMode ? [{ debugName: "luTooltip" }] : /* istanbul ignore next */ []));
|
|
130
|
+
this.luTooltipEnterDelay = input(300, { ...(ngDevMode ? { debugName: "luTooltipEnterDelay" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
131
|
+
this.luTooltipLeaveDelay = input(100, { ...(ngDevMode ? { debugName: "luTooltipLeaveDelay" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
132
|
+
this.luTooltipDisabled = input(false, { ...(ngDevMode ? { debugName: "luTooltipDisabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
133
|
+
this.luTooltipOnlyForDisplay = input(false, { ...(ngDevMode ? { debugName: "luTooltipOnlyForDisplay" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
134
|
+
this.luTooltipPosition = input('above', ...(ngDevMode ? [{ debugName: "luTooltipPosition" }] : /* istanbul ignore next */ []));
|
|
135
|
+
this.luTooltipWhenEllipsisInput = input(false, { ...(ngDevMode ? { debugName: "luTooltipWhenEllipsisInput" } : /* istanbul ignore next */ {}), alias: 'luTooltipWhenEllipsis', transform: booleanAttribute });
|
|
136
|
+
this.luTooltipWhenEllipsis = linkedSignal(() => this.luTooltipWhenEllipsisInput(), ...(ngDevMode ? [{ debugName: "luTooltipWhenEllipsis" }] : /* istanbul ignore next */ []));
|
|
137
|
+
this.luTooltipAnchor = input(this.#host, ...(ngDevMode ? [{ debugName: "luTooltipAnchor" }] : /* istanbul ignore next */ []));
|
|
138
|
+
this.id = input(`${this.#host.nativeElement.tagName.toLowerCase()}-tooltip-${nextId++}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
154
139
|
this.ariaDescribedBy = computed(() => {
|
|
155
140
|
if (this.luTooltipDisabled() || this.luTooltipWhenEllipsis() || this.luTooltipOnlyForDisplay()) {
|
|
156
141
|
return null;
|
|
157
142
|
}
|
|
158
143
|
return `${this.id()}-panel`;
|
|
159
|
-
}, ...(ngDevMode ? [{ debugName: "ariaDescribedBy" }] : []));
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
this.#
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
this.#
|
|
144
|
+
}, ...(ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []));
|
|
145
|
+
// 0 until the element first appears; bumped for the initial measurement and on every real
|
|
146
|
+
// size/content change. Scrolling in and out of view does NOT bump it (see #armMeasurementObservers).
|
|
147
|
+
this.#measureTrigger = signal(0, ...(ngDevMode ? [{ debugName: "#measureTrigger" }] : /* istanbul ignore next */ []));
|
|
148
|
+
// guards the one-time setup of the persistent resize/mutation observers
|
|
149
|
+
this.#measurementObserversArmed = false;
|
|
150
|
+
// the IntersectionObserver callback can fire after the view is destroyed; avoid touching
|
|
151
|
+
// the destroyed injector (NG0911) when that happens
|
|
152
|
+
this.#destroyed = false;
|
|
153
|
+
// written only from the `read` phase of the afterRenderEffect below
|
|
154
|
+
this.#hasEllipsis = signal(false, ...(ngDevMode ? [{ debugName: "#hasEllipsis" }] : /* istanbul ignore next */ []));
|
|
155
|
+
this.#action = signal(null, ...(ngDevMode ? [{ debugName: "#action" }] : /* istanbul ignore next */ []));
|
|
156
|
+
this.#realAction = linkedSignal({ ...(ngDevMode ? { debugName: "#realAction" } : /* istanbul ignore next */ {}), source: this.#action,
|
|
170
157
|
computation: (action, previous) => {
|
|
171
158
|
if (!action || action === 'close') {
|
|
172
159
|
return action;
|
|
@@ -181,6 +168,7 @@ class LuTooltipTriggerDirective {
|
|
|
181
168
|
}
|
|
182
169
|
return 'open';
|
|
183
170
|
} });
|
|
171
|
+
this.#destroyRef.onDestroy(() => (this.#destroyed = true));
|
|
184
172
|
// Action debounce pipeline — kept as Observable since signals can't debounce
|
|
185
173
|
toObservable(this.#realAction)
|
|
186
174
|
.pipe(filter(isNotNil), debounce((action) => timer(action === 'open' ? this.luTooltipEnterDelay() : this.luTooltipLeaveDelay())), tap((event) => {
|
|
@@ -200,32 +188,101 @@ class LuTooltipTriggerDirective {
|
|
|
200
188
|
this.setAccessibilityProperties(null);
|
|
201
189
|
}
|
|
202
190
|
});
|
|
191
|
+
// Defer the first measurement until the element is near the viewport, then stop tracking
|
|
192
|
+
// visibility: scrolling must not re-measure, so we arm the resize/mutation observers once.
|
|
193
|
+
// A single shared IntersectionObserver handles every tooltip (see TooltipVisibilityObserver).
|
|
203
194
|
effect((onCleanup) => {
|
|
204
|
-
if (!this.luTooltipWhenEllipsis() || this.luTooltipDisabled()) {
|
|
205
|
-
this.#isVisible.set(false);
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
const observer = new IntersectionObserver((entries) => this.#isVisible.set(entries.some((e) => e.isIntersecting)), { rootMargin: '100px' });
|
|
209
|
-
observer.observe(this.#host.nativeElement);
|
|
210
|
-
onCleanup(() => observer.disconnect());
|
|
211
|
-
});
|
|
212
|
-
effect((onCleanup) => {
|
|
213
|
-
if (!this.#isVisible() || !this.luTooltipWhenEllipsis() || this.luTooltipDisabled()) {
|
|
195
|
+
if (!this.luTooltipWhenEllipsis() || this.luTooltipDisabled() || this.#measurementObserversArmed) {
|
|
214
196
|
return;
|
|
215
197
|
}
|
|
216
198
|
const el = this.#host.nativeElement;
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
199
|
+
this.#visibilityObserver.observeOnce(el, () => this.#armMeasurementObservers());
|
|
200
|
+
onCleanup(() => this.#visibilityObserver.unobserve(el));
|
|
201
|
+
});
|
|
202
|
+
// Ellipsis measurement, split across afterRenderEffect phases so that — across every tooltip
|
|
203
|
+
// on the page — all DOM writes happen together, then all geometry reads happen together.
|
|
204
|
+
// This keeps the whole batch to a single forced reflow instead of one reflow per element.
|
|
205
|
+
afterRenderEffect({
|
|
206
|
+
earlyRead: () => {
|
|
207
|
+
// reading the trigger registers the dependency; 0 means "not measured yet"
|
|
208
|
+
const measured = this.#measureTrigger() > 0;
|
|
209
|
+
const shouldMeasure = measured && !this.luTooltipDisabled() && this.luTooltipWhenEllipsis();
|
|
210
|
+
if (!shouldMeasure) {
|
|
211
|
+
return { measure: false };
|
|
212
|
+
}
|
|
213
|
+
const host = this.#host.nativeElement;
|
|
214
|
+
const hostStyle = getComputedStyle(host);
|
|
215
|
+
if (hostStyle.textOverflow !== 'ellipsis') {
|
|
216
|
+
return { measure: false };
|
|
217
|
+
}
|
|
218
|
+
return { measure: true, host, hostStyle };
|
|
219
|
+
},
|
|
220
|
+
write: (earlyReadResult) => {
|
|
221
|
+
const snapshot = earlyReadResult();
|
|
222
|
+
if (!snapshot.measure) {
|
|
223
|
+
return { measure: false };
|
|
224
|
+
}
|
|
225
|
+
const clone = (this.#clone ??= this.#createClone());
|
|
226
|
+
this.#applyClonedStyles(clone, snapshot.hostStyle);
|
|
227
|
+
clone.innerHTML = snapshot.host.innerHTML;
|
|
228
|
+
return { measure: true, host: snapshot.host, clone };
|
|
229
|
+
},
|
|
230
|
+
read: (writeResult) => {
|
|
231
|
+
const measurement = writeResult();
|
|
232
|
+
if (!measurement.measure) {
|
|
233
|
+
this.#hasEllipsis.set(false);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
const cloneWidth = measurement.clone.getBoundingClientRect().width;
|
|
237
|
+
const hostWidth = measurement.host.getBoundingClientRect().width;
|
|
238
|
+
// rounded to 3 decimals to ignore sub-pixel noise
|
|
239
|
+
this.#hasEllipsis.set(Math.round(cloneWidth * 1000) > Math.round(hostWidth * 1000));
|
|
240
|
+
},
|
|
228
241
|
});
|
|
242
|
+
this.#destroyRef.onDestroy(() => this.#clone?.remove());
|
|
243
|
+
}
|
|
244
|
+
// Set up — once — the observers that ask for a re-measurement on real size/content changes.
|
|
245
|
+
// They stay connected for the directive lifetime (even off-screen), so scrolling never
|
|
246
|
+
// re-measures; only an actual resize/mutation does.
|
|
247
|
+
#armMeasurementObservers() {
|
|
248
|
+
if (this.#measurementObserversArmed || this.#destroyed) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
this.#measurementObserversArmed = true;
|
|
252
|
+
const el = this.#host.nativeElement;
|
|
253
|
+
const bump = () => this.#measureTrigger.update((v) => v + 1);
|
|
254
|
+
const resizeObserver = new ResizeObserver(() => bump());
|
|
255
|
+
resizeObserver.observe(el);
|
|
256
|
+
const mutationObserver = new MutationObserver(() => bump());
|
|
257
|
+
mutationObserver.observe(el, { characterData: true, subtree: true, childList: true });
|
|
258
|
+
this.#destroyRef.onDestroy(() => {
|
|
259
|
+
resizeObserver.disconnect();
|
|
260
|
+
mutationObserver.disconnect();
|
|
261
|
+
});
|
|
262
|
+
// initial measurement now that the element has appeared
|
|
263
|
+
bump();
|
|
264
|
+
}
|
|
265
|
+
#createClone() {
|
|
266
|
+
const clone = this.#document.createElement('div');
|
|
267
|
+
clone.setAttribute('aria-hidden', 'true');
|
|
268
|
+
Object.assign(clone.style, {
|
|
269
|
+
inlineSize: 'fit-content',
|
|
270
|
+
whiteSpace: 'nowrap',
|
|
271
|
+
// `fixed` + pinned origin keeps the (potentially very wide) clone out of the
|
|
272
|
+
// document's scrollable overflow, so measuring never flashes a scrollbar.
|
|
273
|
+
position: 'fixed',
|
|
274
|
+
insetBlockStart: '0',
|
|
275
|
+
insetInlineStart: '0',
|
|
276
|
+
visibility: 'hidden',
|
|
277
|
+
pointerEvents: 'none',
|
|
278
|
+
contain: 'layout',
|
|
279
|
+
});
|
|
280
|
+
this.#document.body.appendChild(clone);
|
|
281
|
+
return clone;
|
|
282
|
+
}
|
|
283
|
+
#applyClonedStyles(clone, hostStyle) {
|
|
284
|
+
const { padding, borderWidth, borderStyle, boxSizing, fontFamily, fontWeight, fontStyle, fontSize } = hostStyle;
|
|
285
|
+
Object.assign(clone.style, { padding, borderWidth, borderStyle, boxSizing, fontFamily, fontWeight, fontStyle, fontSize });
|
|
229
286
|
}
|
|
230
287
|
onMouseEnter() {
|
|
231
288
|
this.#action.set('open');
|
|
@@ -415,10 +472,10 @@ class LuTooltipTriggerDirective {
|
|
|
415
472
|
}
|
|
416
473
|
return x;
|
|
417
474
|
}
|
|
418
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
419
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
475
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
476
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuTooltipTriggerDirective, isStandalone: true, selector: "[luTooltip]", inputs: { luTooltipInput: { classPropertyName: "luTooltipInput", publicName: "luTooltip", isSignal: true, isRequired: false, transformFunction: null }, luTooltipEnterDelay: { classPropertyName: "luTooltipEnterDelay", publicName: "luTooltipEnterDelay", isSignal: true, isRequired: false, transformFunction: null }, luTooltipLeaveDelay: { classPropertyName: "luTooltipLeaveDelay", publicName: "luTooltipLeaveDelay", isSignal: true, isRequired: false, transformFunction: null }, luTooltipDisabled: { classPropertyName: "luTooltipDisabled", publicName: "luTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, luTooltipOnlyForDisplay: { classPropertyName: "luTooltipOnlyForDisplay", publicName: "luTooltipOnlyForDisplay", isSignal: true, isRequired: false, transformFunction: null }, luTooltipPosition: { classPropertyName: "luTooltipPosition", publicName: "luTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, luTooltipWhenEllipsisInput: { classPropertyName: "luTooltipWhenEllipsisInput", publicName: "luTooltipWhenEllipsis", isSignal: true, isRequired: false, transformFunction: null }, luTooltipAnchor: { classPropertyName: "luTooltipAnchor", publicName: "luTooltipAnchor", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.aria-describedby": "ariaDescribedBy()", "attr.id": "id()" } }, exportAs: ["luTooltip"], ngImport: i0 }); }
|
|
420
477
|
}
|
|
421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipTriggerDirective, decorators: [{
|
|
422
479
|
type: Directive,
|
|
423
480
|
args: [{
|
|
424
481
|
selector: '[luTooltip]',
|
|
@@ -435,14 +492,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
435
492
|
}], ctorParameters: () => [], propDecorators: { luTooltipInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltip", required: false }] }], luTooltipEnterDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltipEnterDelay", required: false }] }], luTooltipLeaveDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltipLeaveDelay", required: false }] }], luTooltipDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltipDisabled", required: false }] }], luTooltipOnlyForDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltipOnlyForDisplay", required: false }] }], luTooltipPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltipPosition", required: false }] }], luTooltipWhenEllipsisInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltipWhenEllipsis", required: false }] }], luTooltipAnchor: [{ type: i0.Input, args: [{ isSignal: true, alias: "luTooltipAnchor", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
436
493
|
|
|
437
494
|
/**
|
|
438
|
-
* @deprecated use `LuTooltipTriggerDirective
|
|
495
|
+
* @deprecated use `LuTooltipTriggerDirective` instead
|
|
439
496
|
*/
|
|
440
497
|
class LuTooltipTriggerModule {
|
|
441
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
442
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
443
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
498
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
499
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipTriggerModule, imports: [LuTooltipTriggerDirective, OverlayModule], exports: [LuTooltipTriggerDirective] }); }
|
|
500
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipTriggerModule, imports: [OverlayModule] }); }
|
|
444
501
|
}
|
|
445
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
502
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipTriggerModule, decorators: [{
|
|
446
503
|
type: NgModule,
|
|
447
504
|
args: [{
|
|
448
505
|
imports: [LuTooltipTriggerDirective, OverlayModule],
|
|
@@ -451,14 +508,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
451
508
|
}] });
|
|
452
509
|
|
|
453
510
|
/**
|
|
454
|
-
* @deprecated use `LuTooltipTriggerDirective,
|
|
511
|
+
* @deprecated use `LuTooltipTriggerDirective, LuTooltipPanelComponent` instead
|
|
455
512
|
*/
|
|
456
513
|
class LuTooltipModule {
|
|
457
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
458
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
459
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
514
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
515
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipModule, imports: [LuTooltipTriggerModule, LuTooltipPanelComponent], exports: [LuTooltipTriggerModule, LuTooltipPanelComponent] }); }
|
|
516
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipModule, imports: [LuTooltipTriggerModule, LuTooltipTriggerModule] }); }
|
|
460
517
|
}
|
|
461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
518
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuTooltipModule, decorators: [{
|
|
462
519
|
type: NgModule,
|
|
463
520
|
args: [{
|
|
464
521
|
imports: [LuTooltipTriggerModule, LuTooltipPanelComponent],
|